PT09IHJlbGVhc2UgMS4xMC4xID09PQoKMjAxNi0xMS0xNyAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjEwLjEKCjIwMTYtMTEtMTcgMTQ6NDY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9reS5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMTEtMTcgMTQ6MjE6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGFwcGxlbWVkaWE6IGVycm9yIG91dCBpZiB0aGUgdXJpIHByb3BlcnR5IGlzIG5vdCBzZXQKCSAgRml4ZXM6CgkgIFRlcm1pbmF0aW5nIGFwcCBkdWUgdG8gdW5jYXVnaHQgZXhjZXB0aW9uICdOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsIHJlYXNvbjogJyoqKiArW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOl06IE5VTEwgY1N0cmluZwoJICBpbiB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgoyMDE2LTExLTE2IDIwOjQxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jZGVjOiBTYW5pdHktY2hlY2sgd2lkdGgvaGVpZ2h0IGJlZm9yZSB1c2luZyBpdAoJICBXZSB3aWxsIGFsbG9jYXRlIGEgc2NyZWVuIGFyZWEgb2Ygd2lkdGgqaGVpZ2h0KmJwcCBieXRlcywgaG93ZXZlciB0aGlzCgkgIGNhbGN1bGF0aW9uIGNhbiBlYXNpbHkgb3ZlcmZsb3cgaWYgdG9vIGhpZ2ggd2lkdGggb3IgaGVpZ2h0IGFyZSBnaXZlbgoJICBpbnNpZGUgdGhlIHN0cmVhbS4gTm9uZXRoZWxlc3Mgd2Ugd291bGQganVzdCBhc3N1bWUgdGhhdCBlbm91Z2ggbWVtb3J5CgkgIHdhcyBhbGxvY2F0ZWQsIHRyeSB0byBmaWxsIGl0IGFuZCBvdmVyd3JpdGUgYXMgbXVjaCBtZW1vcnkgYXMgd2FudGVkLgoJICBBbHNvIGFsbG9jYXRlIHRoZSBzY3JlZW4gYXJlYSBmaWxsZWQgd2l0aCB6ZXJvZXMgdG8gZW5zdXJlIHRoYXQgd2Ugc3RhcnQKCSAgd2l0aCBmdWxsLWJsYWNrIGFuZCBub3QgYW55IHJhbmRvbSAob3Igbm90IHNvIHJhbmRvbSkgZGF0YS4KCSAgaHR0cHM6Ly9zY2FyeWJlYXN0c2VjdXJpdHkuYmxvZ3Nwb3QuZ3IvMjAxNi8xMS8wZGF5LXBvYy1yaXNreS1kZXNpZ24tZGVjaXNpb25zLWluLmh0bWwKCSAgSWRlYWxseSB3ZSBzaG91bGQganVzdCByZW1vdmUgdGhpcyBwbHVnaW4gaW4gZmF2b3VyIG9mIHRoZSBvbmUgaW4KCSAgZ3N0LWxpYmF2LCB3aGljaCBnZW5lcmFsbHkgc2VlbXMgdG8gYmUgb2YgYmV0dGVyIGNvZGUgcXVhbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUzMwoKMjAxNi0xMS0xNSAxODoxMDoyNCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiB1c2UgZ190aHJlYWRfdW5yZWYoKSB0byByZWxlYXNlIG5hdmlnYXRpb24gdGhyZWFkCgkgIHVzZSBnX3RocmVhZF91bnJlZigpIHRvIHJlbGVhc2UgbmF2aWdhdGlvbiB0aHJlYWQgdG8gYXZvaWQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQ2MgoKMjAxNi0xMS0xNCAxMTozMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJICBkdGxzY2VydGlmaWNhdGU6IEZpeCBlcnJvciBjaGVja2luZyBpbiBSU0FfZ2VuZXJhdGVfa2V5X2V4KCkgdXNhZ2UKCSAgV2FzIGJyb2tlbiBkdXJpbmcgdGhlIHBvcnQgZm9yIE9wZW5TU0wgMS4xLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MzI4CgoyMDE2LTExLTEyIDEwOjM4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIHdoZW4gY2hlY2tpbmcgaWYgdGhlcmUgaXMgYSBuZXh0IGZyYWdtZW50CgkgIFRoYW5rcyB0byBBbGVrc2FuZHIgPHR1bWFsZWtzYW5kckB5YW5kZXgudWE+IGZvciByZXBvcnRpbmcgYW5kCgkgIHN1Z2dlc3RpbmcgdGhlIGZpeC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI4NwoKMjAxNi0xMS0wNyAxMjozMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogQWxsb3cgcmVnaXN0ZXJpbmcgY29kZWNzLCBjYW1lcmEgb3Igc2Vuc29ycyBpZiBhbnkgb2YgdGhlIG90aGVycyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDA0OAoKMjAxNi0xMS0wNyAxMjoyNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtc2Vuc29yLmM6CgkgIGFoczogRG9uJ3QgYXNzZXJ0IG9uIGRlaW5pdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWQgYmVmb3JlCgkgIEluaXRpYWxpemF0aW9uIGZhaWx1cmUgaXMgaGFuZGxlZCBjb3JyZWN0bHkgYnkganVzdCBub3QgcmVnaXN0ZXJpbmcgdGhlCgkgIGFoc3NyYyBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MDQ4CgoyMDE2LTExLTAyIDE2OjEyOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFsc28gc3RvcCBzY2hlZHVsZWQgcGxheWJhY2sgd2hlbiBnc3RfZWxlbWVudF9sb3N0X3N0YXRlKCkgaXMgY2FsbGVkCgkgIFVuZm9ydHVuYXRlbHkgdGhpcyBkb2VzIG5vdCBnbyB0aHJvdWdoIHRoZSBub3JtYWwgc3RhdGUgY2hhbmdlCgkgIG1hY2hpbmVyeSwgc28gd2UgZG9uJ3QgZ2V0IG5vdGlmaWVkIGFib3V0IHRoaXMgaW4gY2hhbmdlX3N0YXRlKCkuCgkgIEhvd2V2ZXIgd2UgbmVlZCB0byBzdG9wIHNjaGVkdWxlZCBwbGF5YmFjaywgc28gdGhhdCBvbmNlIFBMQVlJTkcgaXMKCSAgcmVhY2hlZCBhZ2FpbiB3ZSBjYW4gc3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIHdpdGggdGhlIGNvcnJlY3QgdGltZS4KCSAgV2l0aG91dCB0aGlzLCBmbHVzaGluZyBzZWVrcyBpbiBQTEFZSU5HIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5OgoJICBkZWNrbGlua3ZpZGVvc2luayB3aWxsIHdhaXQgYmVmb3JlIHNob3dpbmcgdGhlIG5ldyBmcmFtZXMgZm9yIHRoZSBhbW91bnQKCSAgb2YgdGltZSB0aGUgcGlwZWxpbmUgd2FzIGluIFBMQVlJTkcgYmVmb3JlLgoKMjAxNi0xMS0wMiAxNDowNDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBvcGVuc3NsIDEuMSBvciBuZXdlcgoJICAtIERUTFN2MV9tZXRob2QoKSBpcyBkZXByZWNhdGVkLCBhbmQgc2luY2UgMS4wLjIgcmVwbGFjZWQgYnkKCSAgRFRMU19tZXRob2QoKS4KCSAgLSBDUllQVE9fc2V0X2xvY2tpbmdfY2FsbGJhY2soKSBhbmQgQ1JZUFRPX3NldF9pZF9jYWxsYmFjaygpIGFyZQoJICBuby1vcHMgKGVtcHR5IG1hY3Jvcykgc2luY2UgMS4xIGFuZCBhcmUgbm90IHN1cHBvc2VkIHRvIGJlIHVzZWQKCSAgYW55bW9yZS4KCSAgZ3N0ZHRsc2FnZW50LmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9kdGxzX2FnZW50X2luaXTigJk6CgkgIGdzdGR0bHNhZ2VudC5jOjE3MzozOiBlcnJvcjog4oCYRFRMU3YxX21ldGhvZOKAmSBpcyBkZXByZWNhdGVkIFstV2Vycm9yPWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQoJICBwcml2LT5zc2xfY29udGV4dCA9IFNTTF9DVFhfbmV3IChEVExTdjFfbWV0aG9kICgpKTsKCSAgXn5+fgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL29wZW5zc2wvY3QuaDoxMzowLAoJICBmcm9tIC91c3IvaW5jbHVkZS9vcGVuc3NsL3NzbC5oOjYxLAoJICBmcm9tIGdzdGR0bHNhZ2VudC5jOjQwOgoJICAvdXNyL2luY2x1ZGUvb3BlbnNzbC9zc2wuaDoxNjE0OjE6IG5vdGU6IGRlY2xhcmVkIGhlcmUKCSAgREVQUkVDQVRFRElOXzFfMV8wKF9fb3d1ciBjb25zdCBTU0xfTUVUSE9EICpEVExTdjFfbWV0aG9kKHZvaWQpKSAvKiBEVExTdjEuMCAqLwoJICBeCgkgIEF0IHRvcCBsZXZlbDoKCSAgZ3N0ZHRsc2FnZW50LmM6MTAzOjE6IGVycm9yOiDigJhzc2xfdGhyZWFkX2lkX2Z1bmN0aW9u4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KCSAgc3NsX3RocmVhZF9pZF9mdW5jdGlvbiAodm9pZCkKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RkdGxzYWdlbnQuYzo3MzoxOiBlcnJvcjog4oCYc3NsX2xvY2tpbmdfZnVuY3Rpb27igJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQoJICBzc2xfbG9ja2luZ19mdW5jdGlvbiAoZ2ludCBtb2RlLCBnaW50IGxvY2tfbnVtLCBjb25zdCBnY2hhciAqIGZpbGUsIGdpbnQgbGluZSkKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTYtMTAtMjEgMTQ6MDE6MTEgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBJZ25vcmUgY2hhbm5lbC1tYXNrIHdoZW4gY2hlY2tpbmcgc2V0X2NhcHMgY29tcGF0aWJpbGl0eQoJICBjaGFubmVsLW1hc2sgZG9lc24ndCBtYXR0ZXIgaW4gZGVja2xpbmthdWRpb3NyYywgYW5kIGRpZmZlcmVuY2VzIGluIGl0CgkgIGNhbiBjYXVzZSBjYXBzIG5lZ290aWF0aW9ucyB0byBmYWlsIHdpdGhvdXQgYSByZWFsIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzMxMwoKMjAxNi0wMS0wOCAyMTo0MTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogZml4IHN0cmlkZSBpbmNvbnNpc3RlbmNpZXMgZm9yIG9kZCB3aWR0aHMKCSAgQ29uc2lzdGVudGx5IHVzZSBHU1RfUk9VTkRfVVBfNCh3aWR0aCkgYXMgc3RyaWRlIGZvcgoJICBiYXllciBidWZmZXJzLiBCYXllciBkYXRhIHdpbGwgdXN1YWxseSBjb21lIGluIHdpZHRocwoJICB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNCBhbnl3YXksIHNvIGhvcGVmdWxseSB0aGlzCgkgIHNob3VsZCBub3QgaGF2ZSBhbnkgYWR2ZXJzZSBpbXBhY3Qgb24gYW55b25lIGluCgkgIHByYWN0aWNlLgoJICBCZWZvcmUsIGJheWVyMnJnYiByZXF1aXJlZCBpbnB1dCBidWZmZXJzIHRvIGFyZSBzaXplZAoJICBhY2NvcmRpbmdseSwgYnV0IHRoZW4gZGlkbid0IGFjdHVhbGx5IHJvdW5kIHVwIHdoZW4KCSAgY2FsY3VsYXRpbmcgcm93IG9mZnNldHMuIHJnYjJiYXllciBkaWRuJ3QgdXNlIGEgcm91bmRlZAoJICBzdHJpZGUgbm9yIGJ1ZmZlciBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDE0CgoyMDE2LTExLTAzIDE4OjE5OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogRml4IGludmVydGVkIHByZWNvbmRpdGlvbgoJICBBIEdFcnJvciBhcmd1bWVudCBtdXN0IGVpdGhlciBiZSBudWxsIG9yIHBvaW50IHRvIGEgTlVMTCBHRXJyb3IuCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9nbGliL3N0YWJsZS9nbGliLUVycm9yLVJlcG9ydGluZy5odG1sCgoyMDE2LTExLTAzIDE2OjE0OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2wvZ2k6IHNvbWUgYW5ub3RhdGlvbiB1cGRhdGVzIGZvciBjYWxsZWQgZnVuY3Rpb25zCgkgIFdpdGggc2NvcGUsIGNsb3N1cmUsIGRlc3Ryb3kgYW5ub3RhdGlvbnMKCjIwMTYtMTEtMDMgMTY6MTI6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2wvZ2k6IGFsc28gaW5jbHVkZSBHc3RWaWRlbwoJICBSZW1vdmVzIGFsbCB0aGUgdW5rbm93biB0eXBlIEdzdFZpZGVvKiB3YXJuaW5ncyB3aGlsZSBidWlsZGluZyB0aGUgR0lSCgkgIGZpbGUuCgoyMDE2LTExLTAzIDEyOjAzOjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsL2RvY3M6IG1hc3NpdmUgdXBkYXRlCgkgIC0gYWRkIFNpbmNlOiBtYXJrZXJzIHdoZXJlIG5lY2Vzc2FyeS4KCSAgLSBkb2N1bWVudCBzdHJ1Y3RzCgkgIC0gYWRkIGRvY3VtZW50YXRpb24gaGVhZGVycyBmb3IgZWFjaCBtb2R1bGUgKHNob3J0X2Rlc2NyaXB0aW9uLAoJICBzZWVfYWxzbywgZXRjKQoJICAtIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHdhcm5pbmdzIGd0ay1kb2Mgb3V0cHV0cwoJICAtIGZpeCBzcGVsbGluZyBtaXN0YWtlcwoKMjAxNi0xMS0wMiAyMToyMTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSAgZ2wvZG9jczogZG9jdW1lbnQgbmV3IEFQSSBhZGRlZCBpbiAxLjEwCgkgIEdzdEdMUmVuZGVyYnVmZmVyCgkgIEdzdEdMRnJhbWVidWZmZXIKCSAgR3N0R0xRdWVyeQoJICBHc3RFR0xJbWFnZQoJICBHc3RHTE1lbW9yeUVHTAoKMjAxNi0xMS0wMSAxNjoxMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBnbC9kb2NzOiB1cGRhdGUgbGlzdHMgb2YgaW5jbHVkZWQgc3ltYm9scwoJICBpbiB0aGUgc2VjdGlvbnMgYW5kIHR5cGVzIGZpbGVzLgoJICBBbHNvIHJlbW92ZSBzb21lIHVubmVlZGVkIHR5cGVzIGZyb20gdGhlIGRvY3VtZW50YXRpb24gYXMgdGhleSBhcmVuJ3QKCSAgZXhwb3NlZCBhcyBwdWJsaWMgQVBJCgoyMDE2LTExLTAxIDE3OjMwOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2wuYzoKCSAgZ2xzbDogZml4ICN2ZXJzaW9uIDE1MCBub3Qgd29ya2luZyB3aXRoIHByb2ZpbGVzCgkgIFRoZSBzcGVjIGFsbG93cyB0aGUgY29yZS9jb21wYXRpYmlsaXR5IHByb2ZpbGVzIHRvIGJlIHVzZWQKCSAgd2l0aCAjdmVyc2lvbiAxNTAuCgkgIEFsc28gdGlnaHRlbiB1cCB0aGUgdGVzdHMgdG8gY2hlY2sgZm9yIGRlZmF1bHQgcHJvZmlsZXMgYmVpbmcgY2hvc2VuCgkgIGNvcnJlY3RseS4KCjIwMTYtMTEtMDEgMTk6NDM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHVwZGF0ZSB2ZXJzaW9uCgo9PT0gcmVsZWFzZSAxLjEwLjAgPT09CgoyMDE2LTExLTAxIDE3OjU4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMTAuMAoKMjAxNi0xMS0wMSAxNzo1MTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTExLTAxIDE3OjQyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8va3kucG86CgkqIHBvL3N2LnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0xMC0zMSAxOToyNjozMSArMDYwMCAgQXJ0ZW0gTWFydHlub3ZpY2ggPGFydGVtLm1hcnR5bm92aWNoQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQ29ycmVjdGx5IGNhc3QgbWl4ZXIgdG8gdWludHB0cgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzIwCgoyMDE2LTEwLTI4IDEwOjA1OjIwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHRyeSB0byBhY2Nlc3Mgbm9uLWV4aXN0YW50IGlmcmFtZSB2YXJpYW50CgkgIElmIHRoZSBwbGF5bGlzdCBkb2VzIG5vdCBjb250YWluIGFueSBpZnJhbWUgdmFyaWFudHMgdGhlbgoJICBkZW11eC0+bWFzdGVyLT5pZnJhbWVfdmFyaWFudHMgaXMgTlVMTC4gSWYgdGhlIHByZXZpb3VzIHZhcmlhbnQgaXMgYW4KCSAgaWZyYW1lIHZhcmlhbnQgdGhlbiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgaWZyYW1lIHZhcmlhbnQgYW5kCgkgIGRlbXV4LT5tYXN0ZXItPmlmcmFtZV92YXJpYW50cy0+ZGF0YSBjYW4gYmUgc2FmZWx5IHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2MzUKCjIwMTYtMTAtMjMgMTI6MDI6MDAgKzAzMDAgIHNlemVybyA8c2V6ZXJvQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogYWRkIHN1cHBvcnQgZm9yIGxpYnRpbWlkaXR5LTAuMi54CgkgIG1pZF9pc3RyZWFtX29wZW5fbWVtKCkgZG9lc24ndCBhY2NlcHQgYW4gYXV0b2ZyZWUgYXJndW1lbnQgYXMgb2YKCSAgbGlidGltaWRpdHkgPj0gMC4yLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjUwMwoKMjAxNi0xMC0yNiAxNDo1MTowMSArMDIwMCAgRGFpa2kgVWVubyA8ZHVlbm9AcmVkaGF0LmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBwb3J0IHRvIE9wZW5TU0wgMS4xLjAKCSAgQ2hhbmdlcyBhcmU6CgkgIC0gVXNlIHRoZSB3cmFwcGVyIGZ1bmN0aW9ucyB0byBhY2Nlc3Mgb3BhcXVlIGRhdGEgdHlwZXMuICBUbyBwcmVzZXJ2ZQoJICBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBkZWZpbmUgZmFsbGJhY2sgZGVmaW5pdGlvbnMKCSAgLSBSZW1vdmUgdGhlIHVzZSBvZiBpZGlvbSAicHF1ZXVlX3NpemUoc3NsLT5kMS0+c2VudF9tZXNzYWdlcykiLCBzaW5jZQoJICB0aGVyZSBpcyBubyByZXBsYWNlbWVudAoJICAtIFVzZSBSU0FfZ2VuZXJhdGVfa2V5X2V4IGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgUlNBX2dlbmVyYXRlX2tleQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTQwCgoyMDE2LTEwLTI5IDExOjMxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5jOgoJICByYXdwYXJzZTogcGFzcyBmbG93IHJldHVybnMgdXBzdHJlYW0KCSAgcmF3dmlkZW9wYXJzZSB3b3VsZG4ndCBlcnJvciBvdXQgb24gbm90LW5lZ290aWF0ZWQsCgkgIGJ1dCB3b3VsZCBqdXN0IGtlZXAgb24gZ29pbmcsIGJlY2F1c2UgaXQgZGlkbid0IHBhc3MKCSAgdGhlIGZsb3cgcmV0dXJuIHZhbHVlIGJhY2sgdG8gdGhlIHBhcmVudCBjbGFzcyBhbmQKCSAgdGh1cyB1cHN0cmVhbSwgc28gdGhlIHNvdXJjZSB3b3VsZG50JyBzdG9wIHN0cmVhbWluZy4KCjIwMTYtMTAtMjggMDc6MTc6NTYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJICBidWlsZDogQWxzbyBuZWVkIHRvIGRlZmluZSBHU1RfRVhQT1JUUyBmb3IgQXV0b3Rvb2xzCgkgIFRoZSBjaGFuZ2UgdG8gdXNlIEdTVF9FWFBPUlQgZm9yIHN5bWJvbHMgdW5kZXIgV2luZG93cyByZXF1aXJlcwoJICBHU1RfRVhQT1JUUyBmb3IgaW50ZXJuYWwgdXNlLCBhbmQgdGhhdCBpcyBhbHNvIG5lZWRlZCB1bmRlciBBdXRvdG9vbHMuCgkgIFRoZSBzYW1lIHRoaW5nIGlzIGRvbmUgZm9yIGdzdHJlYW1lci0xLjAuZGxsIGluIC1jb3JlLgoKMjAxNi0xMC0yOCAwNjoyMzowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkgIGdzdGdsOiBSZS1lbmFibGUgV0lOQVBJIG9uIF9NU0NfVkVSCgkgIFRoZSBjYWxsaW5nIGNvbnZlbnRpb24gbWF5IGJlIGRlcHJlY2F0ZWQsIGJ1dCB3ZSBzdGlsbCBuZWVkIGl0IGZvcgoJICBPcGVuR0wuIFRoZSBidWlsZCBpc3N1ZSB3YXMgY2F1c2VkIGJ5IGFuIGluY29ycmVjdCBzeW50YXggYmVpbmcgdXNlZCBmb3IKCSAgdGhlIFdJTkFQSSAoX19zdGRjYWxsKSBwcm90b3R5cGUgaW4gZnVuY3Rpb24gcG9pbnRlcnMgd2hpY2ggd2FzIGFjY2VwdGVkCgkgIGJ5IEdDQyBidXQgaXMgcmVqZWN0ZWQgYnkgTVNWQy4KCjIwMTYtMTAtMjcgMjM6MDk6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIEp1c3QgcmVtb3ZlIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWYKCSAgSXQgd2FzIGFsd2F5cyB3cm9uZyBzaW5jZSB0aGUgc3ltYm9scyBiZWluZyBleHBvcnRlZCBpbiBnc3RnbC0xLjAuZGxsCgkgIGFyZSBwbGF0Zm9ybS1zcGVjaWZpYywgYW5kIHRoZSBjaGVjayB3ZSBkbyBpbiBkaXN0IGNoZWNrcyBpdCBvbiBhbGwKCSAgcGxhdGZvcm1zICh3aGljaCB1c3VhbGx5IG1lYW5zIExpbnV4KSBhbmQgdGhlIGxpc3QgaXMgaW5zdGVhZAoJICBMaW51eC1zcGVjaWZpYyByaWdodCBub3cuCgkgIEV2ZW4gaWYgd2UgZml4IHRoYXQsIGl0IGNhbiBzdGlsbCBuZXZlciBiZSByaWdodCBiZWNhdXNlIGl0IGRlcGVuZHMgb24KCSAgeW91ciBjb25maWd1cmF0aW9uIGV2ZW4gb24gYSBzcGVjaWZpYyBwbGF0Zm9ybS4gRm9yIGluc3RhbmNlLCB3aGVuIHdlCgkgIHN0YXJ0IGJ1aWxkaW5nIEVHTCBzdXBwb3J0IG9uIFdpbmRvd3MgdXNpbmcgQU5HTEUsIHRoZSBzeW1ib2wgbGlzdCB3aWxsCgkgIGNoYW5nZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGF0IGlzIGVuYWJsZWQgb3Igbm90LgoJICBXZSBhbHNvIGRvbid0IG5lZWQgdGhpcyBhbnltb3JlIHNpbmNlIHdlIHVzZSBHU1RfRVhQT1JUIGZvciBhbGwKCSAgZnVuY3Rpb25zIGV4cG9ydGVkIG9uIFdpbmRvd3Mgbm93LgoKMjAxNi0xMC0yNyAwOToyNToyMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgcGx1Z2luczogVXNlIGV4cGxpY2l0IHR5cGUgY29udmVyc2lvbiBmcm9tIGVudW1zCgkgIE1TVkMgd2FybnMgYWJvdXQgdGhpcyBiZWNhdXNlIGl0J3MgYSBDKysgY29tcGlsZXIsIGFuZCB0aGlzIGFjdHVhbGx5CgkgIHJlc3VsdHMgaW4gdXNlZnVsIHRoaW5ncyBzdWNoIGFzIHRoZSBpbmNvcnJlY3QgJ2dib29sZWFuJyByZXR1cm4gdmFsdWUKCSAgZm9yIGZ1bmN0aW9ucyB0aGF0IHJldHVybiBHc3RGbG93UmV0dXJuLCBzbyBsZXQncyBkbyBleHBsaWNpdAoJICBjb252ZXJzaW9ucyB0byByZWR1Y2UgdGhlIG5vaXNlIGFuZCBpbmNyZWFzZSBpdHMgZWZmaWNhY3kuCgoyMDE2LTEwLTI3IDA5OjExOjI2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIEV4cGxpY2l0bHkgZGVmaW5lIGZsb2F0IGNvbnN0YW50cyBhcyBmbG9hdAoJICBXaXRoIE1TVkMsIHRoaXMgZ2l2ZXMgdGhlIGZvbGxvd2luZyB3YXJuaW5nOgoJICB3YXJuaW5nIEM0MzA1OiAnZnVuY3Rpb24nOiB0cnVuY2F0aW9uIGZyb20gJ2RvdWJsZScgdG8gJ2dmbG9hdCcKCSAgQXBwYXJlbnRseSwgTVNWQyBkb2VzIG5vdCBmaWd1cmUgb3V0IHdoYXQgdHlwZSB0byB1c2UgZm9yIGNvbnN0YW50cwoJICBiYXNlZCBvbiB0aGUgYXNzaWdubWVudC4gVGhpcyB3YXJuaW5nIGlzIHZlcnkgc3BhbW15LCBzbyBsZXQncyB0cnkgdG8KCSAgZml4IGl0LgoKMjAxNi0xMC0yNyAwOTowODo0MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgRml4IGluY29ycmVjdCByZXR1cm4gdHlwZSBpbiBzZXZlcmFsIGZ1bmN0aW9ucwoJICBBbGwgdGhlc2Ugc2hvdWxkIHJldHVybiBHc3RGbG93UmV0dXJuLCBub3QgZ2Jvb2xlYW4KCjIwMTYtMTAtMjcgMDk6MDY6MzMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogRG9uJ3Qgd2FybiBhYm91dCBDNDE0NiB3aXRoIE1TVkMKCSAgVGhlIGVycm9yIGlzOgoJICB1bmFyeSBtaW51cyBvcGVyYXRvciBhcHBsaWVkIHRvIHVuc2lnbmVkIHR5cGUsIHJlc3VsdCBzdGlsbCB1bnNpZ25lZAoJICBUaGlzIGlzIGEgY29tbW9ubHktZG9uZSBvcGVyYXRpb24gaW4gZ3N0cmVhbWVyIGFuZCBpdCdzIGRvbmUgb24gcHVycG9zZS4KCSAgSXQncyBqdXN0IG5vaXNlLgoKMjAxNi0xMC0yNyAwODoxNzo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250cm9sYmluZGluZ3Byb3h5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdzdGdsOiBBZGQgR1NUX0VYUE9SVCB0byBhbGwgc3ltYm9scyB1c2VkIG9uIFdpbmRvd3MKCSAgVGhpcyBpcyBhIHJlcXVpcmVtZW50IGZvciB0aG9zZSBzeW1ib2xzIHRvIGJlIGV4cG9ydGVkIGluIGdzdGdsLTEuMC5kbGwKCSAgd2hlbiBidWlsZGluZyB3aXRoIHRoZSBNU1ZDIGNvbXBpbGVyCgoyMDE2LTEwLTI3IDA3OjI5OjM2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgV0dMIG9uIFdpbmRvd3MKCSAgQ3VycmVudGx5IG9ubHkgdGVzdGVkIHdpdGggTVNWQy4KCjIwMTYtMTAtMjcgMDk6MTA6MDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZXh0L2dsOiBEb24ndCBkZWZpbmUgYm9vbGVhbiBvbiBXaW5kb3dzIHdpdGggTVNWQwoJICBUaGUgaGVhZGVycyB3ZSBpbmNsdWRlIGFscmVhZHkgZGVmaW5lIGJvb2xlYW4gb24gV2luZG93cyB3aXRoIE1TVkMsIGFuZAoJICBpdCBsZWFkcyB0byBhIHR5cGVkZWYgcmVkZWZpbml0aW9uIGVycm9yIHdpdGgganBlZ2xpYi5oIHdoaWNoIHRyaWVzIHRvCgkgIHJlZGVmaW5lIGl0IGluIGptb3JlY2ZnLmgKCjIwMTYtMTAtMjcgMDc6MzA6MTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnc3RnbDogUG9ydGluZyBmaXhlcyBmb3IgTVNWQyB3aXRoIE1lc29uCgkgIEdML2dsLmggbmVlZHMgd2luZG93cy5oIG9uIE1TVkMKCSAgV0lOQVBJIHNob3VsZCBub3QgYmUgdXNlZCB3aXRoIE1TVkMuIEl0IGFsc28gY2F1c2VzIGEgYnVpbGQgZXJyb3IuCgoyMDE2LTEwLTIzIDIyOjEzOjMzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGNvbGxhcHNlIG5vdGVzIG9uIGNoYW5uZWxfbmFtZSBlbmNvZGluZyBjb25mbGljdAoKMjAxNi0xMC0yMyAyMjowMDozMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiByZW5hbWUgWkFQIHBhcnNlciBmb3IgY2xhcml0eQoJICBUaGlzIGZ1bmN0aW9uIG9ubHkgZG9lcyBaQVAgcGFyc2luZy4gQWRkaXRpb25hbGx5LCByZW1vdmUgcmVkdW5kYW50CgkgIGNvbW1lbnQgd2hpbGUgYXQgaXQuCgoyMDE2LTEwLTIzIDIxOjM3OjQ2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBmaXggZ3RrLWRvYyBzeW50YXggZm9yIHdyb25nbHkgZm9ybWF0dGVkIGNvbW1lbnRzCgoyMDE2LTEwLTIxIDAwOjM3OjAzIC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGV4dC9obHMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBobHM6IE9ubHkgYnVpbGQgd2hlbiBhbnkgY3J5cHRvX2RlcCBpcyBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTIxIDAwOjM5OjMyIC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGRpcmVjdHNvdW5kOiBBZGQgb2xlMzIgbGlicmFyeSBkZXBlbmRlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMTcgMDk6MzU6NDEgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9tZXNvbi5idWlsZDoKCSAgbWVzb246IHdpbnNjcmVlbmNhcCBkZXBlbmRzIG9uIGdzdHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjEgMDA6MzU6MDkgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBSZW1vdmUgZ3N0cmVhbWVyLWNoZWNrLTEuMCBkZXBlbmRlbmN5CgkgIEl0IHdpbGwgbGF0ZXIgYmUgYWRkZWQgdW5kZXIgdGVzdHMvY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMSAxMzoxMDo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZG9uJ3QgZ2xGaW5pc2goKSBldmVyeXRpbWUgYSBzeW5jIHBvaW50IGlzIHNldAoJICBBdCBtaW5pbXVtLCB3ZSBvbmx5IG5lZWQgdG8gZ2xGbHVzaCgpIGlmIHdlIGFyZSBpbiBhIHNoYXJlZCBHTCBjb250ZXh0CgkgIGVudmlyb25tZW50LiAgTW92ZSB0aGUgZ2xGaW5pc2goKSB0byB3aGVuIHRoZSBhY3R1YWwgd2FpdCBpcyByZXF1ZXN0ZWQKCSAgd2hpY2ggbWF5IGJlIG5ldmVyLiAgSW1wcm92ZXMgdGhlIHRocm91Z2hwdXQgb24gb2xkZXIgR0wgc3lzdGVtcyB3aXRob3V0CgkgIEdMMy9HTEVTMyBhbmQvb3IgZmVuY2Ugc3luYyBvYmplY3RzLgoKMjAxNi0wNy0xNiAxNToyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZG8gbm90IHVzZSBpbnZhbGlkIHN0cmVhbSBkdXJhdGlvbgoJICBJZiBpdCBpcyBpcyB1bmtub3duLCBjb25zaWRlciBpdCBpbmZpbml0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDYwCgoyMDE2LTA3LTE2IDE1OjE1OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBwcm9wZXJseSBpbmhlcml0IHNlZ21lbnRsaXN0IGZyb20gcGVyaW9kCgkgIFJlcHJlc2VudGF0aW9uIGNhbiBpbmhlcml0IFNlZ21lbnRMaXN0IGZyb20gUGVyaW9kIGlmIG5vbmUgaXMgYXZhaWxhYmxlCgkgIGZyb20gdGhlIEFkYXB0YXRpb25TZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ2MAoKMjAxNi0xMC0xOSAxNjoxMTo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBleHQvZ2wvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJKiBtZXNvbl9vcHRpb25zLnR4dDoKCSAgbWVzb246IGdsOiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgd2l0aCBkaXNwbWFueCBvbiB0aGUgcnBpCgoyMDE2LTEwLTE4IDIyOjI5OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSAgZ2wvZWdsaW1hZ2U6IEZpeCBwYXNzaW5nIHRoZSBkZXN0cm95IGZ1bmN0aW9uIHRvIGdzdF9lZ2xfaW1hZ2VfbmV3X3dyYXBwZWQKCSAgVGhlIGZ1bmN0aW9uIHBvaW50ZXIgYW5kIHRoZSB1c2VyIGRhdGEgYXJndW1lbnRzIHdlcmUgc3dhcHBlZCBpbiBib3RoCgkgIHVzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzODIKCjIwMTYtMTAtMTggMTM6MDE6MDQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZWdtZW50Y2xpcC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIGdzdHZpZGVvIGRlcCB0byBzZWdtZW50Y2xpcAoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8uaDoyNzowLAoJICBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9nc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOjI1OgoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC92aWRlby92aWRlby1mb3JtYXQuaDoyNzozOTogZmF0YWwgZXJyb3I6IGdzdC92aWRlby92aWRlby1lbnVtdHlwZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8Z3N0L3ZpZGVvL3ZpZGVvLWVudW10eXBlcy5oPgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci1tZXNvbi8yNjkvY29uc29sZQoKMjAxNi0xMC0xMSAxNzowNjoyMyArMDUzMCAgTXVuZXogPG11bmV6Ym4uZGV2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJICBJbXBsZW1lbnRlZCBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfd2luZG93X2hhbmRsZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2MDgKCjIwMTYtMTAtMTggMTQ6MTE6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGdsOiBmaXggZGV0ZWN0aW9uIG9mIGdseCB3aXRob3V0IGdsCgkgIFdlIG5lZWQgdG8gY2hlY2sgZm9yIGxpYkdMIGlmIHdlIG1heSB1c2UgZGVza3RvcCBPcGVuR0wgKm9yKiBHTFguCgoyMDE2LTEwLTE4IDE0OjEwOjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBnbDogZml4IGluY29ycmVjdCBlcnJvciBzdHJpbmcKCSAgVXNlIHRoZSB3aW5zeXMgdmFyaWFibGUgZm9yIGFuIGluY29ycmVjdCB3aW5zeXMgcHJvdmlkZWQKCjIwMTYtMTAtMTYgMTI6NDA6MjIgKzAyMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSAgcXQ6IEZpeCBmYWlsaW5nIGJ1aWxkIG9uIFJQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMDI2CgoyMDE2LTEwLTExIDE2OjU4OjQ4ICswNTMwICBNdW5leiA8bXVuZXpibi5kZXZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogZWdsX3Nob3cgc2hvdWxkIHJlc2l6ZSB0aGUgd2luZG93IG9ubHkgaWYgdGhlcmUgaXMgbm8gcmVuZGVyIHJlY3RhbmdsZSBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjY5OQoKMjAxNi0xMC0xMSAxNjo1NToxNyArMDUzMCAgTXVuZXogPG11bmV6Ym4uZGV2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IEZpeCBzZXRfcmVuZGVyX3JlY3RhbmdsZSB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2OTgKCjIwMTYtMDMtMTggMTQ6MDk6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBidWZmZXIgc2l6ZSBtaXNtYXRjaCBpbiBNMlRTIG1vZGUKCSAgSW4gTTJUUyBtb2RlLCB3ZSBuZWVkIGFuIGV4dHJhIDQgYnl0ZXMgaW4gdGhlIGJ1ZmZlciwgc28gbmVlZAoJICB0byBlbnN1cmUgdGhlIGJ1ZmZlciBjYW4gY29udGFpbiB0aGVzZS4gVGhlIGFsbG9jYXRpb24gc2l0ZQoJICBkb2VzIG5vdCBrbm93IHRoZSBtb2RlLCBzbyB0aGlzIGlzIGRvbmUgaW4gYWxsIGNhc2VzLgoKMjAxNi0xMC0xNSAyMjoxOTowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEb24ndCBzZXQgY19zdGQgdG8gZ251OTkKCSAgVXNlIHRoZSBkZWZhdWx0IGZvciBlYWNoIGNvbXBpbGVyIG9uIGV2ZXJ5IHBsYXRmb3JtIGluc3RlYWQuIFRoaXMKCSAgaW1wcm92ZXMgb3VyIGNvbXBhdGliaWxpdHkgd2l0aCBjb21waWxlcnMgdGhhdCBkb24ndCBoYXZlIGdudTk5IGFzCgkgIGEgY19zdGQuCgoyMDE2LTEwLTE0IDE0OjQxOjQyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCAnZGVsaXZlcnkgc3lzdGVtJy1yZWxhdGVkIG1lc3NhZ2VzCgkgICogUmVwaHJhc2UgdHVuZSBlcnJvciB0byBiZSBkZWxzeXMtbmV1dHJhbAoJICAqIFJlZmVyIHRvIHRoZSBhY3R1YWwgY2hlY2sgaW4gdGhlICdtaXNzaW5nIHNhbml0eSBjaGVjaycgd2FybmluZ3MKCSAgKiBVc2UgIkRlbGl2ZXJ5IHN5c3RlbSIgaW5zdGVhZCBvZiAnZGVsc3lzJy4gVGhlCgkgIGxhdHRlciBpcyBPSyBhcyBhIHNob3J0aGFuZCBpbiB0aGUgY29kZSBidXQgbm90CgkgIGV2ZW4gYSByZWFsIHdvcmQKCjIwMTYtMTAtMTEgMTg6NDg6MDYgKzAyMDAgIEpvYW4gUGF1IEJlbHRyYW4gPGpvYW5wYXUuYmVsdHJhbkBzb2NpYi5jYXQ+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgYmF5ZXI6IGZpeCBfdHJhbnNmb3JtX2NhcHMgbWV0aG9kIHRvIHByZXNlcnZlIGZpZWxkcyBpbiBnaXZlbiBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg3MTcKCjIwMTYtMDktMjkgMTI6NDk6MzkgLTA0MDAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBQcm9wZXJseSBjb25maWd1cmUgaW50ZXJuYWwgcG9vbAoJICBUaGVyZSB3YXMgYSBzbWFsbCBvbWlzc2lvbiBpbiB0aGUgY29kZS4gSXQgc3RpbGwgd29ya2VkLCBidXQgdGhlIHBvb2wKCSAgY29uZmlndXJhdGlvbiBtYXkgbm90IGhhdmUgYmVlbiBvcHRpbWltYWwuCgoyMDE2LTEwLTEyIDE4OjIwOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IHN5bmMgdG8gbGF0ZXN0IHJldmlzaW9uCgkgIEZpeGVzIGFjY2lkZW50YWwgY29tbW9uIGNoYW5nZSB3aGVuIGNvbW1pdCBwYXRjaC4KCjIwMTYtMTAtMTEgMTE6MTE6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSW1wbGVtZW50IGVmZmljaWVudCBwcm9ncmFtIHVwZGF0ZXMKCSAgSWYgdGhlIHBhcmVudCBiaW4gY2FuIGhhbmRsZSBpdCwgb25seSBhZGQvcmVtb3ZlIHRoZSBuZXcvZ29uZSBzdHJlYW0KCSAgaW5zdGVhZCBvZiByZS1hZGRpbmcvcmUtbW92aW5nIGV2ZXJ5dGhpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mjc0MgoKMjAxNi0xMC0xMiAxNDozNToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBFbnN1cmUgd2UgYWx3YXlzIGdldCBhbiB1cHN0cmVhbSBzdHJlYW0taWQKCSAgVGhpcyB3YXMgYSByZWdyZXNzaW9uLgoJICBXZSBvbmx5IGhhdmUgYSB1cHN0cmVhbS1pZCB2aWEgU1RSRUFNX1NUQVJUIGlmIHdlIHdlcmUgaW4gcHVzaC1tb2RlLgoJICBJbiBwdWxsLW1vZGUgd2UgbmVlZCB0byBjcmVhdGUgb25lLgoJICBOb3RlOiBJdCB3b3VsZCBiZSBnb29kIHRvIGV2ZW50dWFsbHkgaGF2ZSB0aGF0IG1ldGhvZCAoY29waWVkIGZyb20KCSAgZ3N0X3BhZF9nZXRfc3RyZWFtX2lkX2ludGVybmFsKCkpIHB1YmxpYyBpbiB0aGUgZnV0dXJlCgoyMDE2LTEwLTExIDE2OjQ3OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBpc3N1ZXMgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcKCSAgU29tZSB2YXJpYWJsZXMgd2VyZSBoaWRkZW4gb3IgdW51c2VkCgoyMDE1LTA3LTI5IDE1OjUyOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN3aXRjaCB0byB1c2luZyBHc3RTdHJlYW0vR3N0U3RyZWFtQ29sbGVjdGlvbgoJICBGb3IgZWFjaCBNcGVnVFNCYXNlU3RyZWFtLCB3ZSBoYXZlIGEgR3N0U3RyZWFtIG9iamVjdCB3aGljaAoJICBzdWJjbGFzc2VzIGNhbiBleHRlbmQgd2l0aCBpbmZvcm1hdGlvbi4KCSAgRm9yIGVhY2ggcHJvZ3JhbSBhIEdzdFN0cmVhbUNvbGxlY3Rpb24gaXMgY3JlYXRlZCB3aXRoIGFsbAoJICBHc3RTdHJlYW0gZnJvbSBlYWNoIHN0cmVhbS4KCjIwMTYtMTAtMTEgMTA6NTA6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgZHVwbGljYXRlZCBjb2RlCgkgIEp1c3QgaGF2ZSBvbmUgZnVuY3Rpb24gdG8gY2hlY2sgZm9yIHByaXZhdGUgc2VjdGlvbiBzdHJlYW1zCgoyMDE2LTEwLTEwIDE3OjAwOjM5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGJ1ZmZlciBzaXplIHByaW50IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNzA2CgoyMDE2LTEwLTEwIDE2OjUyOjU4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGNvbW1vbjoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogZml4IGhscyBkZW11eCBzdHJlYW0gdHlwZSBpbmhlcml0YW5jZQoJICBHc3RITFNEZW11eFN0cmVhbSBpbmhlcml0cyBHc3RBZGFwdGl2ZURlbXV4U3RyZWFtLCBub3QKCSAgR3N0QWRhcHRpdmVEZW11eC4gRml4ZXMgbWVtb3J5IGNvcnJ1cHRpb24gaXNzdWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNzA0CgoyMDE2LTEwLTA5IDA2OjQyOjMwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHBhcnNlIGd1YXJkIGludGVydmFsIGFzIGEgZnJhY3Rpb24KCSAgRml4ZXMgd3JvbmcgZGVmYXVsdCBmYWlsb3ZlciB3aGVuIHBhcnNpbmcgbGliZHZidjUgZm9ybWF0dGVkCgkgIGNoYW5uZWwgY29uZmlndXJhdGlvbiBmaWxlcy4KCjIwMTYtMTAtMDkgMDM6MjM6MTkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogYWRkIHByb3RvdHlwZXMgYW5kIHJlb3JnYW5pemUgZm9yIGNsYXJpdHkKCjIwMTYtMTAtMDggMDc6MTg6MTUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBVcGRhdGUgbXkgZW1haWwgYWRkcmVzcwoKMjAxNi0xMC0wOCAwNTozMzozNCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9jYW0uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSAgZHZiOiBkcm9wIHRyYWlsaW5nIHdoaXRlc3BhY2UgYW5kIGMmcCBsZWZ0b3ZlcnMKCjIwMTYtMTAtMDggMDU6MjA6NDcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogcGFyc2UgRFZCLVQgaGllcmFyY2h5IGZyb20gdjUgY29uZmlnIGZpbGUKCSAgQXZvaWRzIHJlbHlpbmcgb24gdGhlIEgvVyBkZWZhdWx0IHdoZW4gdGhlIGluZm9ybWF0aW9uCgkgIGNhbiBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlLgoKMjAxNi0xMC0wOCAwNDo1NToyMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBwYXJzZSBEVkItVCBscCBhbmQgaHAgY29kZSByYXRlcwoKMjAxNi0xMC0wOCAxNDowODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0czogQWxzbyBjbGVhciBwYWNrZXRpemVyIG9uIFRJTUUgRElTQ09OVAoJICBXaGVuIGRlYWxpbmcgd2l0aCBUSU1FLWJhc2VkIGlucHV0LCB0aGUgaW5jb21pbmcgc3RyZWFtIGNvdWxkIGhhdmUKCSAgcG90ZW50aWFsbHkgY2hhbmdlZCBjb21wbGV0ZWx5LgoJICBJbiBvcmRlciB0byBjaGVjayB3aGV0aGVyIGl0IGRpZCBvciBub3QsIHdlIG5lZWQgdG8gcmUtY2hlY2sgYWxsIHNlY3Rpb25zCgkgIChQQVQsIFBNVC4uLikuIElmIGl0IGRpZG4ndCwgd2Ugd2lsbCBrZWVwIHVzaW5nIHRoZSBleGlzdGluZyBzdHJlYW1zL3BhZCwKCSAgYW5kIGlmIGl0IGRpZCB3ZSB3aWxsIGFjdCBhcyBpZiB0aGVyZSB3YXMgYSBwcm9ncmFtIHN3aXRjaC4KCSAgRml4ZXMgSExTIHN0cmVhbWluZyB3aXRoIGRlY29kZWJpbjMvcGxheWJpbjMKCjIwMTYtMTAtMDIgMDk6MzQ6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQ2FsY3VsYXRlIHZhbHVlcyBiZWZvcmUgcXVldWUyCgkgIEluIG9yZGVyIHRvIGNhbGN1bGF0ZSB0aGUgKmFjdHVhbCogYml0cmF0ZSBmb3IgZG93bmxvYWRpbmcgYSBmcmFnbWVudAoJICB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSB0aW1lIHNpbmNlIHdlIHJlcXVlc3RlZCB0aGUgZnJhZ21lbnQuCgkgIFdpdGhvdXQgdGhpcywgdGhlIGJpdHJhdGUgY2FsY3VsYXRpb25zIChwcmV2aW91c2x5IHJlcG9ydGVkIGJ5IHF1ZXVlMikKCSAgd291bGQgYmUgYmlhc2VkIHNpbmNlIHRoZXkgd291bGRuJ3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIHJlcXVlc3QgbGF0ZW5jeQoJICAodGhhdCBpcyB0aGUgdGltZSBiZXR3ZWVuIHRoZSBtb21lbnQgd2UgcmVxdWVzdCBhIHNwZWNpZmljIFVSSSBhbmQgdGhlCgkgIG1vbWVudCB3ZSByZWNlaXZlIHRoZSBmaXJzdCBieXRlIG9mIHRoYXQgcmVxdWVzdCkuCgkgIFN1Y2ggZXhhbXBsZXMgd2VyZSBpdCB3b3VsZCBiZSBiaWFzZWQgd291bGQgYmUgaGlnaC1iYW5kd2l0aCBidXQgaGlnaC1sYXRlbmN5CgkgIG5ldHdvcmtzLiBJZiB5b3UgZG93bmxvYWQgNU1CIGluIDUwMG1zLCBidXQgaXQgdGFrZXMgMjAwbXMgdG8gZ2V0IHRoZSBmaXJzdAoJICBieXRlLCBxdWV1ZTIgd291bGQgcmVwb3J0IDgwTWJpdC9zICg1TWIgaW4gNTAwbXMpICwgYnV0IHRha2luZyB0aGUgcmVxdWVzdAoJICBpbnRvIGFjY291bnQgaXQgaXMgb25seSA1N01iaXQvcyAoNU1iIGluIDcwMG1zKS4KCSAgV2hpbGUgdGhpcyB3b3VsZCBub3QgY2F1c2UgdG9vIG11Y2ggaXNzdWVzIGlmIHRoZSBhYm92ZSBmcmFnbWVudCByZXByZXNlbnRlZAoJICBhIG11Y2ggbG9uZ2VyIGR1cmF0aW9uICg1cyBvZiBjb250ZW50KSwgaXQgd291bGQgY2F1c2UgaXNzdWVzIHdpdGggc2hvcnQKCSAgb25lcyAoc2F5IDFzLCBvciB3aGVuIGRvaW5nIGtleWZyYW1lLW9ubHkgcmVxdWVzdHMgd2hpY2ggYXJlIGV2ZW4gc2hvcnRlcikKCSAgd2hlcmUgdGhlIGNvZGUgd291bGQgZXhwZWN0IHRvIGJlIGFibGUgdG8gZG93bmxvYWQgdXAgdG8gODBNYml0L3MgLi4uIHdoZXJlYXMKCSAgaWYgd2UgdGFrZSB0aGUgcmVxdWVzdCB0aW1lIGludG8gYWNjb3VudCBpdCdzIG11Y2ggbG93ZXIgKGFuZCB3ZSB3b3VsZAoJICB0aGVyZWZvcmUgZW5kIHVwIGRvaW5nIGxhdGUgcmVxdWVzdHMpLgoJICBBbHNvIGNhbGN1bGF0ZSB0aGUgcmVxdWVzdCBsYXRlbmN5IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgYW5kIGZ1cnRoZXIKCSAgdXNhZ2UgKGl0IGNvdWxkIGFsbG93IHVzIHRvIGZpZ3VyZSBvdXQgdGhlIG1heGltdW0gcmVxdWVzdCByYXRlIGZvcgoJICBleGFtcGxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk1OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMzMwCgoyMDE2LTEwLTA2IDE1OjU0OjAwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSAgb3BlbmN2OiBGaXggbWVtb3J5IGxlYWsgYnkgZ3N0X2NhcHNfdG9fc3RyaW5nCgkgIGdzdF9jYXBzX3RvX3N0cmluZyBmdW5jdGlvbiByZXR1cm5lZCBhbGxvY2F0ZWQgbWVtb3J5LgoJICBTbywgSXQgc2hvdWxkIGJlIGZyZWVkIHVzaW5nIGdfZnJlZSBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjQ5OQoKMjAxNi0xMC0wNSAxODozMjowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBkb24ndCB1c2UgZ190aHJlYWRfam9pbigpIHRvIGpvaW4gdGhlIG5hdmlnYXRpb24gdGhyZWFkCgkgIFVzaW5nIGdfdGhyZWFkX2pvaW4oKSBpbiBfZmluYWxpemUoKSBoYW5kbGVycyBtYXkgcmVzdWx0IGluIGEgZGVhZGxvY2sKCSAgam9pbmluZyB0aGUgY3VycmVudCB0aHJlYWQgd2hlbiB0aGUgbGFzdCByZWZlcmVuY2UgaXMgaGVsZCBieSBhIHNpZ25hbAoJICBoYW5kbGVyLgoJICBlLmcuOgoJICBlcnJvciAnUmVzb3VyY2UgZGVhZGxvY2sgYXZvaWRlZCcgZHVyaW5nICdwdGhyZWFkX2pvaW4gKHB0LT5zeXN0ZW1fdGhyZWFkLCBOVUxMKScKCSAgVGhlIGJhY2t0cmFjZSBsb29rcyBsaWtlIHRoaXM6CgkgIFsuLi5dCgkgIGdfdGhyZWFkX2pvaW4gKCkKCSAgZ3N0X2dsX3dpbmRvd19maW5hbGl6ZSAoKQoJICBnc3RfZ2xfd2luZG93X3gxMV9maW5hbGl6ZSAoKQoJICBnX29iamVjdF91bnJlZiAoKQoJICBnX3ZhbHVlX3Vuc2V0ICgpCgkgIGdfc2lnbmFsX2VtaXRfdmFsaXN0ICgpCgkgIGdfc2lnbmFsX2VtaXQgKCkKCSAgZ3N0X2dsX3dpbmRvd19zZW5kX21vdXNlX2V2ZW50ICgpCgkgIGdzdF9nbF93aW5kb3dfbW91c2VfZXZlbnRfY2IgKCkKCSAgZ19tYWluX2Rpc3BhdGNoICgpCgkgIFsuLl0KCSAgZ19tYWluX2xvb3BfcnVuICgpCgkgIGdzdF9nbF93aW5kb3dfbmF2aWdhdGlvbl90aHJlYWQgKCkKCSAgZ190aHJlYWRfcHJveHkgKCkKCSAgc3RhcnRfdGhyZWFkICgpCgkgIGNsb25lICgpCgoyMDE2LTEwLTA1IDE4OjI4OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogZml4IGxlYWsgb2YgdXBsb2FkIGxpYnJhcnkgb2JqZWN0CgkgIFdoZW4gb25seSBsaW5raW5nIHRoZSBlbGVtZW50LCB0aGUgdXBsb2FkIG9iamVjdCB3aWxsIGJlIGNyZWF0ZWQgZnJvbQoJICBfdHJhbnNmb3JtX2NhcHMoKSBidXQgd2lsbCBuZXZlciBiZSB1bnJlZmZlZCBhcyB0aGUgb25seSBjYXNlIGlzIGluIF9zdG9wKCkuCgkgIEFkZCBhbiB1bnJlZiBpZiBub24tTlVMTCB0byBhIG5ldyBmaW5hbGl6ZSBoYW5kbGVyIGZvciB0aGlzIGNhc2UuCgoyMDE2LTEwLTA1IDEyOjExOjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJICB2a2Rpc3BsYXk6IGhvbGQgYSB3ZWFrcmVmIG9uIHRoZSBsaXN0IG9mIHdpbmRvd3MKCSAgSXQncyBwb3NzaWJsZSB0aGF0IHRoZSB3aW5kb3cgbWF5IGhhdmUgYmVlbiBkZXN0cm95ZWQgd2hlbiBhIHdpbnN5cwoJICBldmVudCBjb21lcyBpbiBmb3IgaXQuCgkgIEZpeGVzIGFuIGFzc2VydGlvbiBpbiBtYWtlIC1DIHRlc3RzL2NoZWNrIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgoyMDE2LTEwLTA1IDExOjM3OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZrZGV2aWNlOiBvbmx5IHVucmVmIHRoZSBnc3Rjb250ZXh0IHF1ZXJ5IGlmIG5vbi1OVUxMCgkgIEZpeGVzIGFuIGFzc2VydGlvbiBpbiBtYWtlIC1DIHRlc3RzL2NoZWNrIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgoyMDE2LTA5LTI5IDExOjQ1OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHMvZ2w6IG1ha2Ugc3VyZSBhbGwgR0wgY29tbWFuZHMgYXJlIGV4ZWN1dGVkIG9uIHRoZSBHTCB0aHJlYWQKCSAgZS5nLiB0aGUgZmluYWwgZ2xHZXRFcnJvcigpIG11c3QgYWxzbyBiZSBjb21wbGV0ZWQgb24gdGhlIEdMIHRocmVhZAoKMjAxNi0wOS0yOCAxODowNDoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSAgZ2wvd2luMzI6IHJlbW92ZSBlZ2wgaW1wbGVtZW50YXRpb24KCSAgSXQgaGFzbid0IGJlZW4gdXNlZCBpbiBhZ2VzIGFuZCBpcyBkZWFkIGNvZGUuCgoyMDE2LTA5LTEzIDIyOjA3OjA1ICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bC5sZWVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIGNvbmRpdGlvbnMgdG8gaWRlbnRpZnkgQVRTQyBFQUMzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1MjgKCjIwMTYtMDktMjYgMTU6MjM6NTIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogbWFrZSBwYXJzaW5nIGVycm9ycyBkZWxzeXMtbmV1dHJhbAoJICBEVkIgaXMgYSBncm91cCBvZiBkZWxpdmVyeSBzdGFuZGFyZHMgYnV0IHdlIHN1cHBvcnQKCSAgc2V2ZXJhbCBvdGhlcnMuIFdoaWxlIGF0IHRoaXMsIG1ha2UgbWVzc2FnZSBmb3JtYXRpbmcKCSAgbW9yZSBjb25ncnVlbnQuCgoyMDE2LTA5LTMwIDExOjM1OjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGhvb2tzL3ByZS1jb21taXQuaG9vazoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBTZXR1cCBwcmUtY29tbWl0IGhvb2tzIHdoZW4gY29uZmlndXJpbmcKCjIwMTYtMDktMzAgMTE6NDE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHVwZGF0ZSB2ZXJzaW9uCgoyMDE2LTA5LTMwIDEzOjQyOjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBSZW1vdmUgUmV0dXJuIGRvY3VtZW50YXRpb24gZm9yIGZ1bmN0aW9uIHJldHVybmluZyB2b2lkCgo9PT0gcmVsZWFzZSAxLjkuOTAgPT09CgoyMDE2LTA5LTMwIDEzOjAyOjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0Z3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Y2RzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuOTAKCjIwMTYtMDktMzAgMTI6MTk6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wOS0zMCAxMTo0NDo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2t5LnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDktMjkgMjE6NDI6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEFjdHVhbGx5IHVzZSBidWZmZXIgcG9vbCBjb25maWcgYWZ0ZXIgc2V0dGluZyBpdCB1cAoJICBDSUQ6IDEzNzM0MjAKCjIwMTYtMDktMjkgMTM6MzY6MTEgKzAzMDAgIFNlcmdleSBNYW1vbm92IDxzYW1hbW9ub3ZAZ21haWwuY29tPgoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSAgZml4IGZvciBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxODcxCgoyMDE2LTA5LTI5IDIxOjQ1OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBhMmRwc2luazogRHJvcCBzb21lIGRlYWQtY29kZQoJICBMZWZ0IG92ZXIgZnJvbSB0aGUgbGFzdCBjbGVhbnVwLgoJICBDSUQ6IDEzNzM0MTgKCjIwMTYtMDktMjkgMTQ6MzI6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuYzoKCSAgZmRrYWFjZW5jOiBmaXggYWNjZXNzaW5nIGZyZWVkIG1lbW9yeQoJICBUaGUgYnVmZmVyIGRhdGEgaXMgbm90IGFsd2F5cyBjb3BpZWQgaW4gX0ZpbGwsIGFuZCB3aWxsIGJlCgkgIHJlYWQgaW4gX0RlY29kZUZyYW1lLiBXZSB1bm1hcCBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiwKCSAgd2hldGhlciB3ZSBnZXQgdGhlcmUgdmlhIGZhaWx1cmUgb3IgZWFybHkgb3V0LCBhbmQga2VlcCBhCgkgIHJlZiB0byB0aGUgYnVmZmVyIHRvIGVuc3VyZSB3ZSBjYW4gdXNlIGl0IHRvIHVubWFwIHRoZQoJICBtZW1vcnkgZXZlbiBhZnRlciBfZmluaXNoX2ZyYW1lIGlzIGNhbGxlZCwgYXMgaXQgdW5yZWZzCgkgIHRoZSBidWZmZXIuCgkgIE5vdGUgdGhhdCB0aGVyZSBpcyBhbiBhY2Nlc3MgYmV5b25kIHRoZSBhbGxvY2F0ZWQgYnVmZmVyLAoJICB3aGljaCBpcyBvbmx5IGFwcGFyZW50IHdoZW4gcGxheWluZyBmcm9tIHNvdXBodHRwc3JjIChpZSwKCSAgbm90IGZyb20gZmlsZXNyYykuIFRoaXMgYXBwZWFycyB0byBiZSBhIGJ1ZyBpbiB0aGUgYml0CgkgIHJlYWRpbmcgY29kZSBpbiBsaWJmZGthYWMgQUZBSUNULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTg2CgoyMDE2LTA5LTI5IDE0OjMxOjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmM6CgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmg6CgkgIGZka2FhY2RlYzogYXZvaWQgbWVtb3J5IGNvcnJ1cHRpb24gb24gZGVjb2RpbmcgZXJyb3IKCSAgVGhlIGJ1ZmZlciBzaXplIGlzIGV4cGVjdGVkIHRvIGJlIGluIG11bHRpcGxlcyBvZiB0aGUgc2FtcGxlIHNpemUsCgkgIG5vdCBpbiBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE4NgoKMjAxNi0wOS0yOSAxNDoyOTo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5jOgoJICBmZGthYWNlbmM6IGZpeCBidWZmZXIgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTg2CgoyMDE2LTA5LTI4IDA5OjQ0OjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZW5jLmM6CgkgIGZka2FhY2VuYzogc2V0IGZyYW1lZD10cnVlIG9uIHNyYyBjYXBzCgkgIFRoaXMgZml4ZXMgbXV4aW5nIGluIE1QRUcgVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxMDgKCjIwMTYtMDUtMDUgMTU6NTM6NTcgKzA5MDAgIEd3YW5nIFlvb24gSHdhbmcgPHlvb25AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJICBnbC9kaXNwbWFueDogSW1wbGVtZW50cyBzZXRfcmVuZGVyX3JlY3RhbmdsZSB0byBhZGp1c3QgdGhlIHBvc2l0aW9uIG9mIHdpbmRvdwoJICBXZSBjYW5ub3Qgc2V0IHRoZSB4LCB5IGNvb3JkaW5hdGUgb2YgdGhlIHZpZGVvIGZyYW1lIGF0IHRoZSBkaXNwbWFueCBhdAoJICB0aGlzIHBvaW50LiBXZSBuZWVkIHRvIHRlYWNoIGRpc3BtYW54IGJhY2tlbmQgdG8gdW5kZXJzdGFuZCBhYm91dAoJICBzZXRfcmVuZGVyX3JlY3RhbmdsZSBBUEkgdG8gZHJhdyBhIHZpZGVvIHdpdGggb3RoZXIgVUkuCgkgIFRoaXMgcGF0Y2gga2VlcHMgdGhlIGN1cnJlbnQgYmVoYXZpb3Igd2hpY2ggcGxhY2VzIHZpZGVvIGZyYW1lIGF0IHRoZQoJICBjZW50ZXIgb2YgdGhlIGRpc3BsYXkgaWYgdGhlcmUgaXMgbm8gc2V0X3JlbmRlcl9yZWN0YW5nbGUgY2FsbCB0byB0aGUKCSAgZGlzcG1hbnggd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDE4CgoyMDE2LTA5LTI4IDE1OjIwOjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2w6IGFkZCBuZWNlc3NhcnkgcGFkZGluZyBieXRlcyB0byBhbGwgcHVibGljIHN0cnVjdHMKCjIwMTYtMDktMjcgMTY6MTc6MDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNlbmMuYzoKCSAgZmRrYWFjZW5jOiBzZXQgdHJhbnNtdXggb24gdGhlIGZka2FhYyBsaWIKCSAgTm90IGRvaW5nIHNvIHdpbGwgZmFpbCB0byBkZWNvZGUgaW4gYSBzaW1wbGUgZmRrYWFjZW5jICEgZmRrYWFjZGVjCgkgIHBpcGVsaW5lLCB0aG91Z2ggd291bGQgd29yayBpZiB0aGlzIGdvZXMgdGhyb3VnaCBhIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIwNjcKCjIwMTYtMDktMjcgMTY6MTU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuYzoKCSAgZmRrYWFjZGVjOiBkbyBub3QgZXJyb3Igb3V0IG9mIG91dCBvZiBzeW5jIHJldHVybgoJICBUaGUgZG9jcyBzYXkgd2Ugc2hvdWxkIGNvbnRpbnVlIGZlZWRpbmcgaW4gZGF0YSBhbmQgZGVjb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjA2NwoKMjAxNi0wOS0yNyAwOTowODo1MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJICBmZGthYWM6IGZpeCBlcnJvciB3aXRoIEFPVF9NUDJfQUFDX0xDIHJlbW92ZWQgZnJvbSBsaWJmZGthYWMgQVBJCgkgIEFPVF9NUDJfQUFDX0xDIGlzIGEgInBzZXVkbyBBT1QiIHdoaWNoIGdvdCByZW1vdmVkIGFmdGVyIDAuMS40LAoJICBhbmQgbWFwcyB0byBBT1RfQUFDX0xDLgoJICBSZW1vdmUgbXBlZ3ZlcnNpb24gMiBmcm9tIHRoIGNhcHMgdG8gbWF0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIwNjcKCjIwMTYtMDktMjYgMTY6MzA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYmx1ZXovbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBibHVlejogZml4IGJ1aWxkCgoyMDE2LTA5LTI2IDE2OjM4OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSVR5cGVzLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVN0cmVhbWluZy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSAgZGVja2xpbms6IFVwZGF0ZSB0byBTREsgMTAuOAoJICBPU1ggYW5kIExpbnV4IG9ubHksIFdpbmRvd3MgbmVlZHMgc29tZW9uZSBvbiBXaW5kb3dzIHRvIGNvbnZlcnQgdGhlIC5pZGwKCSAgZmlsZXMgdG8gQyBzb3VyY2UgY29kZS4KCjIwMTYtMDktMjYgMTE6NDE6NDIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmM6CgkgIGZka2FhYzogZml4IG1peHVwIHNldHRpbmcgaW50ZXJsZWF2ZWQgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA0NTUKCjIwMTYtMDktMjYgMTM6MjY6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IE9ubHkgcmVwb3J0IHRoZSBpbml0aWFsIGR1cmF0aW9uIGlmIHRoZSBxdWVyeSB3YXMgc3VjY2Vzc2Z1bAoKMjAxNi0wOS0yNiAxMToxNToyNSArMDkwMCAgS3l1bmd5b25nIEtpbSA8a3l1bmd5b25nLmtpbUBsZ2UuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggcGFyc2luZyBvZiBtdWx0aXBsZSBOQUxzIGluIHRoZSBodmNDIGJveAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxOTcwCgoyMDE2LTA5LTI1IDE3OjM4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJICBibHVlejogZGlzdCBuZXcgaGVhZGVyIGZpbGUKCSAgRml4ZXMgZGlzdGNoZWNrLgoKMjAxNi0wOS0yNCAyMjozOTozOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBhMmRwc2luazogRG9uJ3QgdHJ5IHRvIHNldCBkZXZpY2UgY2FwcyBvbiBhdmR0cHNpbmsKCSAgV2UgY2FuJ3QgYWN0dWFsbHkgY29uZmlndXJlIHRoZSB0cmFuc3BvcnQsIHNvIHdlIHNob3VsZCBvbmx5IGJlIHdvcmtpbmcKCSAgd2l0aCB3aGF0ZXZlciB3ZSBnZXQuCgoyMDE2LTA5LTIzIDE2OjMxOjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGF2ZHRwc2luazogQ2hhaW4gZXZlbnQgaGFuZGxpbmcgdXAgdG8gYmFzZXNpbmsKCjIwMTYtMDktMjMgMTY6MDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IENsZWFuIHVwIGFuZCBtYWtlIGEyZHBzaW5rIGZ1bmN0aW9uYWwgYWdhaW4KCSAgV2FzIGNyYXNoaW5nLCBhbmQgaGFkIGEgbG90IG9mIGNydWZ0IChsaWtlIGEgY2Fwc2ZpbHRlciBhbmQgYSBmYWtlc2luaykKCSAgdGhhdCB3YXMgbm8gbG9uZ2VyIHJlcXVpcmVkLgoKMjAxNi0wOS0xNSAxNzo0OToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdnJjcHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2cmNwdXRpbC5oOgoJKiBzeXMvYmx1ZXovb3JnLmJsdWV6LnhtbDoKCSAgYXZkdHBzcmM6IEFkZCBzdXBwb3J0IGZvciBBVlJDUCBtZXRhZGF0YQoJICBNZXRhZGF0YSBmcm9tIEFWUkNQIGlzIGVtaXR0ZWQgYXMgdGFncywgYW5kIHRoZSBkdXJhdGlvbiBmcm9tIEFWUkNQIGlzCgkgIHVzZWQgaW4gcXVlcmllcyBieSBhdmR0cHNyYy4KCjIwMTYtMDktMjQgMTA6NDk6MTAgLTA0MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IFByb3Blcmx5IG9mZnNldCBhbmQgc2hpZnQgZm9yIGFsbCBmb3JtYXRzIHdoZW4gY29udmVydGluZwoJICBBbmQgd2hpbGUgYXQgaXQsIGFsc28gY2xlYW4gdXAgc29tZSBjb2RlLgoKMjAxNi0wOS0yNCAxMDowNToxNiAtMDQwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJICBqcGVnMjAwMHBhcnNlOiBEb24ndCBwYXNzIE5VTEwgc3RyaW5ncyB0byB0aGUgY29sb3JzcGFjZSAvIHNhbXBsaW5nIHBhcnNpbmcgZnVuY3Rpb25zCgkgIFRoZXkgYXNzZXJ0IG9uIE5VTEwuCgoyMDE2LTA5LTIzIDE1OjQ5OjIxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRG9uJ3QgbGVhayBHVmFsdWVzIGluIGdldGNhcHMKCjIwMTYtMDktMjIgMTg6NTU6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBVcGRhdGUgb3VyIHdpbmRvdyBzaXplIG9uIGNvbmZpZ3VyZSBldmVudAoJICBUaGlzIGlzIHNwZWNpZmljIHRvIHdoZW4gdGhlIHdheWxhbmRzaW5rIGlzIG5vdCBiZWluZyBlbWJlZGRlZC4gSW4KCSAgdGhpcyBwYXRjaCB3ZSBwYXNzIHRoZSByZW5kZXIgbG9jayB0byB0aGUgd2luZG93IHNvIGl0IGNhbiBzYWZlbHkKCSAgY2FsbCBnc3Rfd2xfd2luZG93X3NldF9yZW5kZXJfcmVjdGFuZ2xlKCkgd2l0aCB0aGUgbmV3IHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzNDMKCjIwMTYtMDktMjIgMTg6NTM6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBSZW1vdmUgYXRvbWljIG9wZXJhdGlvbgoJICBXZSBhbHJlYWR5IHRha2UgdGhlIHJlbmRlciBsb2NrIGZyb20gdGhlIHdscXVldWUgdGhyZWFkIGluIHNvbWUgb3RoZXIKCSAgcGxhY2Ugd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgbm8gdXNlIG9mIHRoaXMgYXRvbWljIGluc3RlYWQgb2YKCSAgYSBwcm9wZXIgbG9ja2luZyBtZWNoYW5pc20uCgoyMDE2LTA5LTIyIDE1OjM3OjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRG8gbm90IHByZS1jb25maWd1cmUgcHJvcG9zZWQgcG9vbAoJICBVcHN0cmVhbSBtdXN0IGNvbmZpZ3VyZSB0aGUgcG9vbCBiZWZvcmUgdXNpbmcgaXQuIFByZS1jb25maWd1cmluZwoJICB0aGUgcHJvcG9zZWQgcG9vbCBjb3VsZCBoaWRlIGJ1Z3MgaW4gdXBzdHJlYW0gZWxlbWVudHMuCgoyMDE2LTA5LTIyIDE1OjM1OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogUHJvcGVybHkgZHJhdyBibGFjayBib3JkZXIgaW4gYWJzZW5jZSBvZiB2aWV3cG9ydGVyCgkgIFdoZW4gd2UgZG9uJ3QgaGF2ZSBhIHZpZXdwb3J0ZXIgKHNjYWxpbmcgc3VwcG9ydCksIHdlIGNhbid0IHVzZSB0aGUKCSAgMXgxIHNjYWxldXAgaW1hZ2UgdHJpY2suIEluc3RlYWQsIHdlIG5lZWQgdG8gYWxsb2NhdGUgYSBidWZmZXIgd2l0aAoJICB0aGUgc2FtZSBzaXplIGFzIHRoZSBhcmVhIHRoYXQgbmVlZCB0byBoYXZlIGJsYWNrIGJhY2tncm91bmQuCgoyMDE2LTA5LTIyIDEwOjU1OjAzICswMjAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgZHg5c2NyZWVuY2Fwc3JjOiB0aHJvdyBlcnJvciBmb3IgaW52YWxpZCBzY3JlZW4gaW5kZXgKCSAgQ3VycmVudGx5IGR4OXNjcmVlbmNhcHNyYyBwcmludHMgYSB2ZXJib3NlIHdhcm5pbmcgaW4gY2FzZSB0aGUgc2NyZWVuCgkgIGluZGV4IGlzIG91dCBvZiByYW5nZSBmb3IgdGhlIGN1cnJlbnQgbnVtYmVyIG9mIGRldGVjdGVkIG1vbml0b3JzLiBUaGlzCgkgIHZhbHVlIGlzIHRoZW4gZHJvcHBlZC4KCSAgSG93ZXZlciB0aGVyZSBpcyBubyBpbml0aWFsIGluZGljYXRpb24gKGJlc2lkZSB0aGUgY29uc29sZSBwcmludCkgaWYgaXQKCSAgd29ya2VkIG9yIG5vdC4gVGhpcyBtYXkgcmVzdWx0IGluIGNhcHR1cmluZyBhbiB1bndhbnRlZCBzY3JlZW4gYXMgaXQKCSAgd291bGQgY2FwdHVyZSB0aGUgbGFzdCBzZXQgaW5kZXggdGhhdCB3YXMgbm90IHJlamVjdGVkLgoJICBUaGlzIHBhdGNoIHNldHMgdGhlIGluZGV4IHJlZ2FyZGxlc3MuIEluc3RlYWQsIHRoZSBlbGVtZW50IHRocm93cyBhbgoJICBlcnJvciB3aGVuIGl0IHRyaWVzIHRvIHJ1biBvciBnZXR0aW5nIGNhcHMgZm9yIGFuIGludmFsaWQgaW5kZXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE4MTcKCjIwMTYtMDktMjIgMTg6MTk6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBhbHNvIGZyZWUgdGhlIEdXZWFrUmVmIHdoZW4gcmVtb3ZpbmcgZGVhZCBjb250ZXh0cwoJICBPdGhlcndpc2Ugd2UgbGVhayBHV2Vha1JlZidzLgoJICBGb3VuZCB3aXRoIG1ha2UgLUMgdGVzdHMvY2hlY2sgbGlicy9nc3RnbGNvbnRleHQudmFsZ3JpbmQKCjIwMTYtMDktMjEgMTU6NTE6NTIgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQvTWFrZWZpbGUuYW06IGFkZCBtaXNzaW5nIGxpYnMKCSAgbGliZ3N0d2F5bGFuZCBpcyBtaXNzaW5nIGEgZGVwZW5kZW5jeSBvbiAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUyksIHNvIGFkZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTc5NAoKMjAxNi0wOS0yMSAxNTowNzo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rOiBEZXN0cm95IHZpZXdwb3J0ZXIgd2hlbiBkb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwNzkKCjIwMTYtMDktMjEgMTE6MzM6MTggLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgbWlzc2luZyAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykKCSAgVGhlIGxpbmtlciBmbGFncyBmb3Igc2V2ZXJhbCBwbHVnaW5zIChkYXNoZGVtdXgsIG1zc2RlbXV4LCBobHNkZW11eCkgYXJlIG1pc3NpbmcKCSAgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpLCBzbyBhZGQgdGhlbSBzbyB0aGV5IGNhbiBmaW5kIC1sZ3N0dGFnIGFuZCAtbGdzdGFwcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTc4MAoKMjAxNi0wOS0xOSAxMjoxMTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFBvcnQgdG8gdm1ldGEgYW5kIEdzdFZpZGVvRnJhbWUKCSAgVGhpcyBhZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIHN0cmlkZXMgdG8gYmUgdXNlZC4gTm90ZSB0aGF0CgkgIHNvbWUgZXh0cmEgd29yayBpcyBuZWVkZWQgZm9yIG11bHRpLXBsYW5lIGZvcm1hdCB3aGljaCBtYXkgaGF2ZQoJICBhIGRpZmZlcmVudCBHc3RNZW1vcnkgb2JqZWN0IHBlciBwbGFuZS4gVGhpcyBpcyBub3QgY3VycmVudGx5IGEKCSAgcHJvYmxlbSBzaW5jZSBTSE0gaW50ZXJmYWNlIGlzIGxpbWl0ZWQgdG8gMSBtZW1vcnkuCgoyMDE2LTA5LTE5IDEyOjA4OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRG9uJ3QgcHJvcG9zZSBtdWx0aXBsZSB0aW1lIHRoZSBzYW1lIGJ1ZmZlciBwb29sCgkgIFRoZSBidWZmZXIgcG9vbCBBUEkgZG9lcyBub3QgYWxsb3cgbXVsdGlwbGUgb2Ygb3duZXIuIFRoaXMgb3RoZXJ3aXNlCgkgIGxlYWQgdG8gZXJyb3Igd2hlbiByZW5lZ290aWF0aW9uIHRha2UgcGxhY2UuIEFzbyBjb25zaWRlciB0aGUKCSAgYWxsb2NhdGlvbiBxdWVyeSAibmVlZF9wb29sIiBib29sZWFuLgoKMjAxNi0wOS0xOSAxMjowNjoxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFByb21vdGUgZGVidWcgdHJhY2UgaW50byBlcnJvciB0cmFjZQoJICBPdGhlcndpc2UgdGhvc2UgZXJyb3IgbWF5IGdvIHVuc2VlbiBtYWtpbmcgZGVidWdnaW5nIG11Y2gKCSAgaGFyZGVyLgoKMjAxNi0wOS0xOSAxMjowNDo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZhY3Rvci1vdXQgdGhlIHBvb2wgY3JlYXRpb24KCjIwMTYtMDktMTYgMTU6NDE6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbnNpbms6IEltcGxlbWVudCBfc2hvd19mcmFtZSgpCgkgIFRoaXMgZml4ZXMgdGhlIHByb3BlcnR5IHNob3ctcHJlcm9sbC1mcmFtZSBleHBvc2UgYnkgdGhlIFZpZGVvU2luayBiYXNlCgkgIGNsYXNzIGFuZCByZW1vdmVzIHJlZHVuZGFudCBjb2RlLgoKMjAxNi0wOS0yMSAxNTowOToyNiArMDIwMCAgSm9ha2ltIEpvaGFuc3NvbiA8am9ha2ltakBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBVcGRhdGUgdW5pdCB0ZXN0cyBhZnRlciBjaGFuZ2luZyBkZWZhdWx0IHZhbHVlIG9mIEQtYml0CgkgIFRoZSBEIGJpdCBzaGFsbCBhbHdheXMgYmUgc2V0IHRvIHRydWUgZm9yIHRoZSBmaXJzdCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAyMjEKCjIwMTYtMDktMjEgMDk6MzE6MjMgLTA0MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IFByaW50IHRoZSBEZWNrbGluayBBUEkgZXJyb3IgcmV0dXJuIHZhbHVlcyBpbiBkZWJ1ZyBvdXRwdXQgaW4gYWxsIHBsYWNlcwoKMjAxNi0wOS0yMCAxODoyODoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kOiBmaXggZGlzdGNoZWNrIHNvbWUgbW9yZQoKMjAxNi0wOS0xMyAxMToxODoyNyArMDIwMCAgSm9ha2ltIEpvaGFuc3NvbiA8am9ha2ltakBheGlzLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogQ2hhbmdlIGRlZmF1bHQgdmFsdWUgb2YgRC1iaXQKCSAgVGhlIGRlZmF1bHQgdmFsdWUgb2YgRC1iaXQgaXMgY2hhbmdlZCB0byBUUlVFIHNvIGRpc2NvbnRpbnVpdHkKCSAgaXMgc2V0IGZvciBpbml0aWFsIHJlcXVlc3QgYW5kIHNlZWsgcmVxdWVzdCBhcyB3ZWxsLgoJICBPbmx5IHNldCB0aGUgZV9iaXQgZmxhZyBmb3IgdGhlIENVU1RPTV9ET1dOU1RSRUFNIGV2ZW50IGlmCgkgIGEgY2FjaGVkIGJ1ZmZlciBleGlzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAyMjEKCjIwMTYtMDktMTkgMTA6MTg6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoJICBjb25kaXRpb25hbCAiVVNFX1ZVTEtBTiIgd2FzIG5ldmVyIGRlZmluZWQKCjIwMTYtMDktMTkgMTY6NTQ6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJICBnbGNvbG9yYmFsYW5jZTogcmVjb25maWd1cmUgb24gcGFzc3Rocm91Z2ggY2hhbmdlcwoJICBGaXhlcyBhbiBhc3NlcnRpb24gd2hlbiBtb3ZpbmcgZnJvbSBwYXNzdGhyb3VnaCB0byBub24tcGFzc3Rocm91Z2gKCSAgV2l0aG91dCBhbiBleHBsaWNpdCByZWNvbmZpZ3VyZSwgZ2xmaXRlciB3b24ndCBoYXZlIGNyZWF0ZWQgdGhlIEdMCgkgIHJlc291cmNlcyBzdWNoIGFzIHRoZSBGQk8sIEdMIGJ1ZmZlcnBvb2wsIGV0YyBhbmQgYmFzZXRyYW5zZm9ybSB3aWxsCgkgIGFsbG9jYXRlIHN5c21lbSBidWZmZXJzIGluc3RlYWQuCgoyMDE2LTA5LTE2IDEzOjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBSZW1vdmUgc29tZSBsZWZ0b3ZlcnMgZnJvbSBleHRlcm5hbCBHc3RQbGF5ZXIKCjIwMTYtMDktMTcgMTQ6MTI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZDogZml4IGRpc3RjaGVjayB3aGVuIHdheWxhbmQtc2Nhbm5lciBpcyBub3QgaW5zdGFsbGVkCgoyMDE2LTA5LTE1IDE0OjEwOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IE1ha2Ugd2xfdmlld3BvcnRlciBvcHRpb25hbAoJICBUaGlzIG1ha2VzIHRoZSB2aWV3cG9ydGVyIGludGVyZmFjZSBvcHRpb25hbC4gVGhlIGVuZCByZXN1bHQgaXMKCSAgb2J2aW91c2x5IGZhciBmcm9tIG9wdGltYWwsIHRob3VnaCBpdCBncmVhdGx5IGhlbHBzIHRlc3Rpbmcgb24gb2xkZXIKCSAgY29tcG9zdGl0b3JzIG9yIGdub21lLXdheWxhbmQuIFdlIGNhbiBtYWtlIGl0IHN0cmljdGx5IG5lZWRlZCBsYXRlciB3aGVuCgkgIHRoaXMgbmV3IGludGVyZmFjZSBnZXQgd2lkZWx5IGFkb3B0ZWQuCgoyMDE2LTA2LTE0IDE2OjM0OjM1IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL3NjYWxlci54bWw6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZDogVXBkYXRlIGZyb20gc2NhbGVyIHRvIHZpZXdwb3J0ZXIgcHJvdG9jb2wKCSAgU2lnbmVkLW9mZi1ieTogU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc2NzEKCjIwMTYtMDktMTUgMTQ6NTg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBwbGF5ZXI6IEZpeCB1bml0IHRlc3QgZm9yIG1pbm9yIEFQSSBjaGFuZ2UKCjIwMTYtMDktMTUgMTM6MTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJICBwbGF5ZXI6IFJlbW92ZSBib29sZWFuIHJldHVybiBmcm9tIHNldF9zdWJ0aXRsZV91cmkoKQoJICBJdCBjYW4ndCBmYWlsIHN5bmNocm9ub3VzbHkgYW5kIGlzIGluY29uc2lzdGVudCB3aXRoIHNldF91cmkoKS4KCjIwMTYtMDktMTQgMTg6MDc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IERvbid0IGNoYW5nZSBzdGF0ZSB0byBQTEFZSU5HIGltbWVkaWF0ZWx5IGlmIGEgc2VlayBpcyBwZW5kaW5nCgkgIFdlIGZpcnN0IGhhdmUgdG8gZmluaXNoIHRoZSBzZWVrIChpbiBQQVVTRUQpIGFuZCBtb3ZlIHRvIFBMQVlJTkcgb25jZQoJICB0aGUgc2VlayBpcyBhY3R1YWxseSBmaW5pc2hlZCAodW5sZXNzIGEgbmV3IG9uZSBpcyBwZW5kaW5nIHRoZW4pLgoKMjAxNi0wOS0xNCAxMTozMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXBlbmQgb24gZ3N0cmVhbWVyIDEuOS4yLjEKCjIwMTYtMDktMDggMTE6NTc6NTIgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IG1hcCB3aXRoIFJFQURXUklURSBmb3Igb3ZlcmxheSBibGVuZAoJICBKdXN0IGFzIGluIGJhc2V0ZXh0b3ZlcmxheSBbMV0sIHRoZSBmcmFtZSB0byBibGVuZCB3aXRoIHRoZSBzdWJ0aXRsZXMgb3ZlcmxheQoJICBzaG91bGQgYmUgbWFwcGVkIHdpdGggZmxhZ3MgR1NUX01BUF9SRUFEV1JJVEUsIGJlY2F1c2UKCSAgZ3N0X3ZpZGVvX292ZXJsYXlfY29tcG9zaXRpb25fYmxlbmQoKSBkb2VzIGJvdGggb3BlcmF0aW9ucy4KCSAgMS4gaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFzZS9jb21taXQvP2lkPTEzOTZmODA0CgkgIFNpZ25lZC1vZmYtYnk6IFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMzgyCgoyMDE2LTA5LTEzIDIwOjA4OjE5ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAga21zc2luazogdXBkYXRlIGxpYmRybSBkZXBlbmRlbmN5IHRvIDIuNC41NQoJICBUaGUgbGF0ZXN0IGxpYmRybSBmZWF0dXJlIHN1cHBvcnRlZCBieSBrbXNzaW5rIGlzIHRoZSB1bml2ZXJzYWwgcGxhbmUsIHdoaWNoCgkgIHdhcyBhZGRlZCBpbiAyLjQuNTUuIExldCdzIHVwZGF0ZSB0aGUgZGVwZW5kZW5jeSB0byB0aGF0IHZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAxNDYKCjIwMTYtMDktMTEgMDA6MDY6NTIgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogaGFuZGxlIGEgTlVMTCBuYW1lIGluIERWQiBzaG9ydCBldmVudCBkZXNjcmlwdG9yCgkgIFJlc29sdmVzIHRoZSB3YXJuaW5nOgoJICBHU3RyZWFtZXItV0FSTklORyAqKjogVHJ5aW5nIHRvIHNldCBOVUxMIHN0cmluZyBvbiBmaWVsZCAndGl0bGUnIG9uIHRhZ2xpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzExOTgKCjIwMTYtMDktMTIgMTg6Mzg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFsc28gbmV2ZXIgaGF2ZSB0aGUgU0lOSyBmbGFnIHNldCBvbiBhZGFwdGl2ZWRlbXV4CgoyMDE2LTA5LTEyIDEyOjE5OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgUmV2ZXJ0ICJkZWNrbGlua3ZpZGVvc2luazogU2NhbGUgZG93biBzY2hlZHVsZWQgZnJhbWUgdGltZXMgdG8gbWlsbGlzZWNvbmRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNiN2UwZDdkZTMyZjA3MjgyNTlkNjAxZGFhMTNiOWVlZWMzZGQzY2UuCgkgIEl0IHdhcyBhIGJ1ZyBpbiB0aGUgZHJpdmVyIGFuZCBpcyBzdXBwb3NlZCB0byBiZSBmaXhlZCB3aXRoIDEwLjggYW5kIG5ld2VyLgoKMjAxNi0wOS0xMCAxNjo0MToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCB0eXBvIGluIG5ldyBBUEkKCSAgRml4ZXMgc3VwcmVzc2VkIC0+IHN1cHByZXNzZWQgdHlwbyBpbiBwcmV2aW91cyBjb21taXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDYyNwoKMjAxNi0wOS0wNSAxMDozMTo0MCArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWwubGVlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHByZXZlbnQgdG8gcHJvcGFnYXRlIHNvdXJjZSBmbGFnIHRvIGl0c2VsZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNjI3CgoyMDE2LTA5LTEwIDIwOjUxOjI3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjE4ZDgyMCB0byBmOTgwZmQ5CgoyMDE2LTA5LTEwIDA5OjU0OjA5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmMzMTY5MCB0byBiMThkODIwCgoyMDE2LTA5LTA5IDIzOjI0OjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uL2dsOiB1c2Ugc2VwYXJhdGUgZGVwcyBmb3IgZ2wgYW5kIGdseAoJICBlLmcuIHBhc3Npbmcgd2l0aF9nbF9hcGk9Z2xlczIgd291bGQgc3RpbGwgYnVpbGQgdGhlIGdseCBjb2RlIGJ1dCBub3QgYmUKCSAgbGlua2luZyBhZ2FpbnN0IHRoZSBsaWJHTCBsaWJyYXJ5IHdoaWNoIGlzIHdoZXJlIHRoZSBnbFgqIGZ1bmN0aW9ucyBhcmUKCSAgbG9jYXRlZCBhbmQgd291bGQgcmVzdWx0IGluIGEgbGlua2VyIGVycm9yLgoJICBTb2x2ZWQgYnkgY2hlY2tpbmcgZm9yIHRoZSBsaWJHTCBsaWJyYXJ5IGlmIGVpdGhlciBvcGVuZ2wgb3IgZ2x4IG1heSBiZQoJICBuZWVkZWQgYW5kIHRoZW4gZGlzYWJsaW5nIHRoZSBjb3JyZXNwb25kaW5nIGRlcHMgYXMgcmVxdWVzdGVkLgoKMjAxNi0wOS0wOSAxNjo1NToyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvdnVsa2FuL21lc29uLmJ1aWxkOgoJKiBleHQvdnVsa2FuL3ZrY29uZmlnLmgubWVzb246CgkgIG1lc29uOiBhZGQgYnVpbGQgZmlsZXMgZm9yIHZ1bGthbgoKMjAxNi0wOS0wOSAxNjozNjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkIGJ1aWxkIGZpbGVzIGZvciB0aGUgZ3RrIHBsdWdpbgoKMjAxNi0wOS0wOSAxMTowODo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbmZpZy5oLm1lc29uOgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCBzb21lIHN0YXJ0aW5nIGJ1aWxkIGZpbGVzIGZvciBHTAoJICBDdXJyZW50bHkgb25seSB3b3JrcyBvbiBsaW51eCB3aXRoIGVnbC9nbHggKyB3YXlsYW5kL3gxMSBidXQgdGhlIGdlbmVyYWwKCSAgcHJpbmNpcGFscyBoYXZlIGJlZW4gbGF5ZWQgb3V0IGZvciBhZGRpbmcgdGhlIG90aGVyIEdMIHBsYXRmb3Jtcy93aW5zeXMnLgoKMjAxNi0wOS0wOCAxMToyMzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IFNjYWxlIHVwIHRvIHRoZSBzY3JlZW4gZGltZW5zaW9uCgkgIEluIG1vc3QgZGlzcGxheSBzaW5rLCB0aGUgbG9naWMgaXMgdG8gdXNlIGFzIG11Y2ggYXMgcG9zc2libGUKCSAgb2YgdGhlIGdpdmVuIHdpbmRvdy4gSW4gdGhpcyBjYXNlLCB0aGUgd2luZG93IGlzIHRoZSBzY3JlZW4sCgkgIGhlbmNlIGl0J3MgbG9naWNhbCB0byBzY2FsZSB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQyMgoKMjAxNi0wOS0wOCAxMToyMTowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IEZpeCBzZWxlY3Rpb24gb2Ygc291cmNlIHJlZ2lvbgoJICBUaGUgc291cmNlIHJlZ2lvbiB3YXMgc2NhbGVkIGZvciBkaXNwbGF5IGJlZm9yZSBiZWluZyBwYXNzZWQKCSAgdG8gZHJtTW9kZVNldFBsYW5lLCB3aGljaCByZXN1bHRlZCBpbiBhIHBvcnRpb24gb2YgdGhlIHZpZGVvCgkgIGJlaW5nIGNyb3BwZWQuIFdoaWxlIHdoZW4gY3JvcCBtZXRhIHdhcyBwcmVzZW50LCB0aGUgcmVjdGFuZ2xlCgkgIHdhcyBub3QgY2VudGVyZWQgc2luY2Ugd2Ugd2hlcmUgdXNpbmcgdW5zY2FsZWQgd2lkdGgvaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDIyCgoyMDE2LTA5LTA4IDA4OjQwOjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkgIGdzdHBsYXllcjogcmVtb3ZlIGxlZnRvdmVyIHVwZGF0ZV9pbnRlcnZhbCBhcGkKCSAgb2xkOiBnc3RfcGxheWVyX3NldF9wb3NpdGlvbl91cGRhdGVfaW50ZXJ2YWwKCSAgbmV3OiBnc3RfcGxheWVyX2NvbmZpZ19zZXRfcG9zaXRpb25fdXBkYXRlX2ludGVydmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkxNDQKCjIwMTYtMDktMDEgMTk6NDY6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSAgdmt1cGxvYWQ6IGFkZCB2aWRlby94LXJhdyB0byB0aGUgVnVsa2FuQnVmZmVyIHVwbG9hZGVyCgkgIEFsbG93cyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IHVzZSBvdXIgbWVtb3J5IHRvIHBhc3N0aHJvdWdoIHdpdGhvdXQgY29weWluZy4KCjIwMTYtMDktMDEgMTk6NDM6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJICB2a3V0aWxzOiBzZXQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgbGF5ZXIgYXJyYXkgdG8gTlVMTAoJICBnX3N0cnYqIGZ1bmN0aW9ucyByZXF1aXJlIHRoaXMgdG8gbm90IHJlYWQgb2ZmIHRoZSBlbmQgb2YgdGhlIGFycmF5LgoKMjAxNi0wOS0wNyAyMDoxMTo1NSArMDEwMCAgQWxpc3RhaXIgQnV4dG9uIDxhLmouYnV4dG9uQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGVzOiBSZWFsbHkgcmVtb3ZlIHJlZmVyZW5jZXMgdG8gJChHU1RfUExVR0lOU19HTF8qKS4KCSAgVGhlc2Ugc2VlbSB0byBoYXZlIGJlZW4gbWlzc2VkIGluIHRoZSBwcmV2aW91cyBjb21taXQgdG8gdGhpcyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMDIzCgoyMDE2LTA5LTA3IDIwOjA3OjI2ICswMTAwICBBbGlzdGFpciBCdXh0b24gPGEuai5idXh0b25AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogUmVtb3ZlIGR1cGxpY2F0ZSBHTF9DRkxBR1MgaW4gTWFrZWZpbGUuYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEwMjEKCjIwMTYtMDgtMDUgMTg6MTc6MzIgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSAga21zc2luazogb3ZlcnJpZGUgc3RyaWRlIGlmIGRlZmluZWQgaW4gZHJpdmVyCgkgIFNvbWUga21zIGRyaXZlcnMgZGVtYW5kcyBzcGVjaWZpYyBwaXRjaGVzIG92ZXIgdGhlIG9uZXMgY2FsY3VsYXRlZCBieQoJICBHc3RWaWRlb0luZm8uIEZvciBleGFtcGxlLCBpbnRlbCBkcml2ZXIgZGVtYW5kcyBzdHJpZGVzIHJvdW5kIHVwIDY0LgoJICBUaGlzIHBhdGNoIHF1ZXJpZXMgdGhlIGRyaXZlciBmb3IgdGhlIHByZWZlcmVkIHBpdGNoIGFuZCBvdmVyd3JpdGVzIGl0CgkgIGluIHRoZSBwb29sJ3MgR3N0VmlkZW9JbmZvIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ0NgoKMjAxNi0wOS0wNiAxNjowNTo1MyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSB0aGUgZXZlbnRfZnVsbCBmdW5jdGlvbiBmb3IgR3N0QWdncmVnYXRvclBhZHMKCSAgQWxsb3dpbmcgdXMgdG8gdGVsbCBHc3RQYWQgd2h5IHdlIGFyZSBmYWlsaW5nIGFuIGV2ZW50LCB3aGljaCBtaWdodAoJICBiZSBiZWNhdXNlIHdlIGFyZSAnZmx1c2hpbmcnIGV2ZW4gaWYgdGhlIHNpbmtwYWQgaXMgbm90IGluIGZsdXNoIHN0YXRlCgkgIGF0IHRoYXQgcG9pbnQuCgoyMDE2LTA5LTA2IDEzOjEzOjM5ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSAgcW1sZ2xzaW5rOiBjaGVjayBxdF9jb250ZXh0XyBmaXJzdCBpbiBHc3RRU0dUZXh0dXJlOjpiaW5kKCkKCSAgV2hlbiBzdGFydCBxbWxnbHNpbmsgYXBwLCBpdCB3aWxsIHNldCBOVUxMIGJ1ZmZlciB0byBHc3RRU0dUZXh0dXJlCgkgIGluIHdoaWNoIGNhc2UgdGhhdCBxdF9jb250ZXh0XyB3aWxsIGJlIGEgcmFuZG9tIHZhbHVlIGFuZCBjYXVzZQoJICBnc3RfZ2xfY29udGV4dF9hY3RpdmF0ZSgpIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5MjUKCjIwMTYtMDktMDYgMjA6MDA6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQvdnVsa2FuOiBmaXggd2luc3lzIGRldGVjdGlvbiBiYXNlZCBvbiB0aGUgcHJldmlvdXNseSBzZXQgdmFyaWFibGVzCgkgIFRoZSBYMTEvV2F5bGFuZCB3aW5zeXMgY2hlY2tzIHdlcmVuJ3QgYmVpbmcgdXNlZCB0byBlbmFibGUgdGhlIHZ1bGthbiBlbGVtZW50LgoJICBVc2UgdGhlbS4KCjIwMTYtMDktMDYgMTE6MDI6MDYgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IHByZXZlbnQgZGVhZGxvY2sgaW4gY3JlYXRlX3Nlc3Npb24KCSAgVGVtcG9yYXJpbHkgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgd2hpY2ggaXMgbmVlZGVkIHRvIHBvc3QgZXJyb3IKCSAgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDkzMwoKMjAxNi0wOS0wNSAyMjozMDowMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IEZpeCBidWlsZGluZyB3aXRoIG1lc29uIDAuMzQgd2hlbiB1c2luZyBzdWJwcm9qZWN0cwoJICBXaGVuIHVzaW5nIHN1YnByb2plY3QgbWVzb24uc291cmNlX3Jvb3QoKSByZXR1cm5zIHRoZSByb290CgkgIGRpcmVjdG9yeSBvZiB0aGUgdG9wbGV2ZWwgcHJvamVjdCB3aGljaCBicmVhayBidWlsZC4KCSAgVXBzdHJlYW0gbWVzb24gYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9pc3N1ZXMvNzIyCgoyMDE2LTA5LTA1IDEyOjIyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogQnVtcCB2ZXJzaW9uIHRvIDEuOS4yCgoyMDE2LTA5LTA1IDE0OjQ0OjI0ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IGNyZWF0ZSB0aGUgR3N0R0xVcGxvYWQgb2JqZWN0IGluIDo6dHJhbnNmb3JtX2NhcHMKCSAgUHJldmlvdXNseSBpdCB3YXMgY3JlYXRlZCBpbiB0aGUgaW5pdCBmdW5jdGlvbiBhbmQgZGVzdHJveWVkIGluIDo6c3RvcCwgd2hpY2gKCSAgbGVhZCB0byBzZWdmYXVsdHMgd2hlbiByZXVzaW5nIHRoZSBlbGVtZW50LgoJICBOb3cgdGhlIHVwbG9hZCBvYmplY3QgaXMgY3JlYXRlZCBpbiA6OnRyYW5zZm9ybV9jYXBzIGlmIGl0IGlzIE5VTEwsIHdoaWNoIGlzIHRoZQoJICBlYXJsaWVzdCB3ZSBuZWVkIGl0LiBUaGUgb3RoZXIgdmZ1bmNzIGFscmVhZHkgYmFpbCBvdXQgaWYgdGhlIHVwbG9hZCBvYmplY3QgaXMKCSAgTlVMTCwgd2hpY2ggbWVhbnMgdGhhdCBuZWdvdGlhdGlvbiB3YXNuJ3QgZG9uZS4KCjIwMTYtMDgtMjkgMTE6NDA6NTQgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFN1cHBvcnQgQVRTQyBFQUMzCgkgIEVBQzMgYml0IHN0cmVhbXMgc2hhbGwgYmUgaWRlbnRpZmllZCB3aXRoIGEgc3RyZWFtX3R5cGUgdmFsdWUgb2YgMHg4NyB3aGVuCgkgIHRyYW5zbWl0dGVkIGFzIFBFUyBzdHJlYW1zIGNvbmZvcm1pbmcgdG8gQVRTQy1wdWJsaXNoZWQgc3RhbmRhcmRzLiBJdCBpcyBzcGVjaWZpZWQKCSAgaW4gQVRTQyBTdGFuZGFyZCBBLzUyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNTI4CgoyMDE2LTA5LTAxIDE0OjI1OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogRml4LXVwIGxhc3QgY29tbWl0IHRoYXQgd2FzIG5vdCBtZWFudCB0byBiZSBwdXNoZWQgeWV0CgoyMDE2LTA5LTAxIDE0OjE4OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wOS0wMSAxNDoxNzo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IFJlcXVpcmUgYSBjbG9jayB3aGVuIGdvaW5nIGZyb20gUEFVU0VEX1RPX1BMQVlJTkcgYW5kIGRvbid0IGNyYXNoIGlmIHRoZXJlIGlzIG5vbmUKCSAgQWxzbyB3aGVuIGdvaW5nIGZyb20gUExBWUlOR19UT19QQVVTRUQsIHRoZSBjbG9jayBtaWdodCd2ZSBiZWVuIHVuc2V0IGluIHRoZQoJICBtZWFudGltZSwgZS5nLiBiZWNhdXNlIHRoZSBlbGVtZW50IHdhcyByZW1vdmVkIGZyb20gaXRzIHN1cnJvdW5kaW5nIGJpbi4KCjIwMTYtMDktMDEgMTI6Mjg6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOS4yID09PQoKMjAxNi0wOS0wMSAxMjoyNzo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0Z3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Y2RzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuMgoKMjAxNi0wOS0wMSAxMToyNDozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wOC0zMCAxNjoyMToyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBDb25kaXRpb25hbGx5IGNvbXBpbGUgcXRraXR2aWRlb3NyYwoJICBUaGUgQVBJIHdhcyBkZXByZWNhdGVkIGluIDEwLjkgYW5kIGFwcGFyZW50bHkgZG9lcyBub3QgZXhpc3QgaW4gdGhlIFNESyBmb3IKCSAgbWFjT1MgU2llcnJhIGFueW1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1ODcKCjIwMTYtMDgtMzEgMDQ6MjY6NDMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSAgZ2w6IFJlbW92ZSBleHRyYSBkdXBsaWNhdGUgdHlwZWRlZiBvZiBHc3RHTEZyYW1lYnVmZmVyCgkgIEl0J3MgdHJpZ2dlcmluZyBhIHdhcm5pbmcgYnVpbGRpbmcgZ2l0IG1hc3RlciBvbiBPU1gKCjIwMTYtMDgtMjkgMTY6NTc6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHMvZ2x1cGxvYWQ6IHN1cHBvcnQgb3BlbmdsMyBwcm9wZXJseSBpbnN0ZWFkIG9mIHNwZXdpbmcgR0wgZXJyb3JzCgoyMDE2LTA4LTI5IDE2OjUyOjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBnbC9wa2djb25maWc6IGFkZCB0aGUgbGliIGluY2x1ZGUgZGlyIHRvIHRoZSBsaXN0IG9mIGluY2x1ZGVzCgkgIDcxNGQ4YWEgaW4gY29yZSByZW1vdmVkIHRoaXMgaW5jbHVkZSBkaXIgZnJvbSBpdCdzIHBrZ2NvbmZpZyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNTIzCgoyMDE2LTA4LTI5IDE1OjQzOjEwICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggdGVzdHMgYW5kIGNoZWNrIGZvciB0aGUgbmV3IFJFQ09ORklHVVJFIGJlaGF2aW91cgoJICBUaGUgdGVzdHMgd2VyZSBicm9rZW4gc2luY2UgOTFmZWEzMCwgd2hpY2ggY2hhbmdlZCBnbHVwbG9hZCB0byByZXR1cm4KCSAgR1NUX0dMX1VQTE9BRF9SRUNPTkZJR1VSRSBpZiB0aGUgdGV4dHVyZSB0YXJnZXQgaW4gdGhlIGlucHV0IGJ1ZmZlcnMgZG9lc24ndAoJICBtYXRjaCB0aGUgdGV4dHVyZS10YXJnZXQgY29uZmlndXJlZCBpbiB0aGUgb3V0cHV0IGNhcHMuCgkgIFRoaXMgY29tbWl0IGZpeGVzIHRoYXQgYW5kIGFkZHMgbW9yZSBjaGVja3MgZm9yIHRoZSBuZXcgYmVoYXZpb3VyLgoKMjAxNi0wOC0xOSAxMToxMjoxMCAtMDcwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgVXNlIHRoZSBuZXcgQVBJIHRvIHBvc3QgZmxvdyBFUlJPUiBtZXNzYWdlcyBvbiB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAxNTgKCjIwMTYtMDgtMjYgMjA6MTI6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoOiBGaXggYnVpbGQgb2YgdW5pdCB0ZXN0CgoyMDE2LTA4LTI1IDIwOjUwOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IG1heGltdW0gYWxsb3dlZCB3aWR0aC9oZWlnaHQgYW5kIGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNDA4CgoyMDE2LTA4LTI2IDE2OjA0OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbmthdWRpb3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TIFgKCSAgV2hpbGUgZ2ludDY0IGFuZCBpbnQ2NF90IGFyZSBhbHdheXMgdGhlIHNhbWUsIGNsYW5nIGRvZXMgbm90IGFncmVlIHdpdGggdGhhdC4KCSAgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL3Vzci9iaW4vbWFrZSAtQyBkZWNrbGluawoJICBDWFggICAgICBsaWJnc3RkZWNrbGlua19sYS1nc3RkZWNrbGlua2F1ZGlvc2luay5sbwoJICBnc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6Njc1Ojc5OiBlcnJvcjogY2Fubm90IGluaXRpYWxpemUgYSBwYXJhbWV0ZXIgb2YgdHlwZSAnaW50NjRfdCAqJyAoYWthICdsb25nIGxvbmcgKicpIHdpdGggYW4gcnZhbHVlIG9mIHR5cGUgJ2dpbnQ2NCAqJyAoYWthICdsb25nIConKQoJICByZXQgPSBidWYtPm91dHB1dC0+YXR0cmlidXRlcy0+R2V0SW50IChCTUREZWNrTGlua01heGltdW1BdWRpb0NoYW5uZWxzLCAmbWF4X2NoYW5uZWxzKTsKCSAgXn5+fn5+fn5+fn5+fgoJICAuL2xpbnV4L0RlY2tMaW5rQVBJLmg6NjkyOjg3OiBub3RlOiBwYXNzaW5nIGFyZ3VtZW50IHRvIHBhcmFtZXRlciAndmFsdWUnIGhlcmUKCSAgdmlydHVhbCBIUkVTVUxUIEdldEludCAoLyogaW4gKi8gQk1ERGVja0xpbmtBdHRyaWJ1dGVJRCBjZmdJRCwgLyogb3V0ICovIGludDY0X3QgKnZhbHVlKSA9IDA7CgkgIF4KCjIwMTYtMDgtMjYgMjI6NTE6NDggKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5LmM6CgkgIGFwcGxlbWVkaWE6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE2LTA4LTI2IDE1OjQ4OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFNjYWxlIGRvd24gc2NoZWR1bGVkIGZyYW1lIHRpbWVzIHRvIG1pbGxpc2Vjb25kcwoJICBTY2FsZSBkb3duIHRvIG1pbGxpc2Vjb25kcywgb3RoZXJ3aXNlIGF0IGxlYXN0IHNvbWUgaGFyZHdhcmUgaGFzIHByb2JsZW1zCgkgIHNjaGVkdWxpbmcgdGhlIGZyYW1lcyAob3Igc2NoZWR1bGVzIHRoZW0gdG9vIHNsb3cpIGFuZCB3ZSBydW4gb3V0IG9mIGF2YWlsYWJsZQoJICBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAyODIKCjIwMTYtMDgtMjYgMTQ6MDg6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbmthdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciA4IGFuZCAxNiBjaGFubmVscwoKMjAxNi0wOC0yNiAxNzozNzo1NCArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9tZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zZ2xtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zZ2xtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGNoYW5nZXMgdG8gbWFrZSBHTCBtZW1vcnkgbWFwcGFibGUgb24gQ1BVIG9uIGlPUwoJICBUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIElPU0dMTWVtb3J5IHdoaWNoIGlzIGEgR0xNZW1vcnkgdGhhdCBmYWxscyBiYWNrIHRvCgkgIEdzdEFwcGxlQ29yZVZpZGVvTWVtb3J5IGZvciBDUFUgYWNjZXNzLiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIHVudGlsCgkgIElPU3VyZmFjZSBnZXRzIGV4cG9zZWQgYXMgYSBwdWJsaWMgZnJhbWV3b3JrIG9uIGlPUyBhbmQgc28gd2UgY2FuIHVzZQoJICBJT1N1cmZhY2VNZW1vcnkgb24gYm90aCBNYWNPUyBhbmQgaU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MjEwCgoyMDE2LTA4LTIyIDE3OjE4OjI3ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnc3RnbHVwbG9hZDogbWFrZSB0aGUgR0xNZW1vcnlVcGxvYWQgbWV0aG9kIG91dHB1dCB0aGUgY29ycmVjdCB0ZXh0dXJlLXRhcmdldAoJICBOb3cgd2hlbiB1c2VkIHdpdGggdmlkZW8veC1yYXcgYXMgaW5wdXQsIHRoZSBHTE1lbW9yeVVwbG9hZCBtZXRob2QgY2hlY2tzIGZvcgoJICAtPnRleF90YXJnZXQgaW4gaW5wdXQgR0xNZW1vcnkoZXMpIGFuZCBzZXRzIHRoZSBvdXRwdXQgdGV4dHVyZS10YXJnZXQKCSAgYWNjb3JkaW5nbHkuCgkgIEZpeGVzIHZpZGVvIGNvcnJ1cHRpb24gd2l0aCBhIHBpcGVsaW5lIGxpa2UgYXZmdmlkZW9zcmMgISB2aWRlby94LXJhdyAhCgkgIGdsaW1hZ2VzaW5rIHdoZXJlIG9uIG1hY29zIGF2ZnZpZGVvc3JjIHB1c2hlcyBSRUNUQU5HTEUgdGV4dHVyZXMgYnV0IGdsdXBsb2FkCgkgIHdhcyBjb25maWd1cmluZyB0ZXh0dXJlLXRhcmdldD0yRCBhcyBvdXRwdXQuCgoyMDE2LTA4LTI0IDA5OjQxOjA4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0c19lbnVtLnB5OgoJKiBnc3QvbXBlZ3RzZGVtdXgvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogTWFrZSBtcGVndHMgbGliIGJ1aWxkIHdoZW4gdXNpbmcgc3VicHJvamVjdHMKCSAgVGhlIGhlYWRlcnMgcGFzc2VkIGFzIHBhcmFtZXR0ZXIgYXJlIHJlbGF0aXZlIHRvIHRoZSBidWlsZCBkaXIKCSAgYmFzaWNhbGx5ICIuLi9zdWJwcm9qZWN0L2dzdC1wbHVnaW5zLWJhZC9nc3QtbGlicy9nc3QvbXBlZ3RzL1hYWC5oIgoJICBidXQgdGhhdCBkb2VzIG5vdCBtYXRjaCB3aGF0IGlzIG5lZWRlZCBhdCBidWlsZCB0aW1lIHdoZW4gYnVpbGRpbmcgYXMKCSAgc3VicHJvamVjdCwgYWxzbyB3ZSBhbHdheXMgYWRkIGN1cnJlbnQgZGlyIGFzIGluY2x1ZGVfZGlyIHNvIHdlIGFyZQoJICBzYWZlIGluY2x1ZGluZyBkaXJlY3RseS4KCSAgQW5kIGxpbmsgbXBlZ3RzZGVtdXggYWdhaW5zdCB0aGUgJ21hdGgnIGxpYnJhcnkgYXMgaXQgaXMgbmVlZGVkLgoKMjAxNi0wOC0yNiAwMzo0NjozOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiBFeHBvc2UgdGhlIG9wZW5nbCBwbHVnaW4gYW5kIGVsZW1lbnQgZG9jcwoKMjAxNi0wOC0yNiAwMjoyMDoxMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogSGFuZGxlIGlmIHVwZGF0ZV9jYXBzKCkgcmV0dXJucyBFTVBUWQoJICBEb24ndCBhc3N1bWUgdGhlIHJldHVybmVkIGNhcHMgZnJvbSB1cGRhdGVfY2FwcygpIGlzCgkgIG5vbi1lbXB0eS4KCjIwMTYtMDgtMjYgMDI6MDc6MjcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogVXBkYXRlIGdsdmlkZW9taXhlciBkb2MKCjIwMTYtMDgtMjYgMDI6MDY6MDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiBBZGQvdXBkYXRlIGRvY3MgZm9yIGdsdmlld2NvbnZlcnQsIGdsc3RlcmVvbWl4CgkgIEFkZCBzb21lIGV4YW1wbGUgcGlwZWxpbmVzIGZvciBnbHN0ZXJlb21peCwgYW5kIGZpeCB1cAoJICB0aGUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIGdsdmlld2NvbnZlcnQKCjIwMTYtMDgtMjYgMDA6Mjk6MzQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJICBnbHN0ZXJlb21peDogRml4IGNhcHMgbmVnb3RpYXRpb24KCSAgVGhlIHZpZGVvYWdncmVnYXRvciBuZWdvdGlhdGlvbiBzZXF1ZW5jZSBjaGFuZ2VkIHNvbWUgdGltZQoJICBiYWNrIGFuZCBicm9rZSBnbHN0ZXJlb21peC4gSW5zdGVhZCBvZiBkb2luZyBuZWdvIGluY29ycmVjdGx5CgkgIGluIHRoZSBmaW5kX2Jlc3RfZm9ybWF0KCkgdmZ1bmMsIGRvIGl0IGRpcmVjdGx5IGluIHRoZQoJICB1cGRhdGVfY2FwcygpIG1ldGhvZC4KCjIwMTYtMDgtMjUgMTU6MjY6NDkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogRml4IHRleHR1cmUgdGFyZ2V0IGZpeGF0aW9uCgkgIERvbid0IHNldCB0aGUgY2hvc2VuIHRleHR1cmUtdGFyZ2V0IGludG8gdGhlIHdyb25nIHN0cnVjdHVyZS4KCSAgVGhlIGlucHV0IGNhcHMgbWF5IG5vdCBiZSB3cml0YWJsZSwgYW5kIGluIGFueSBjYXNlIC0gdGhlCgkgIGludGVudGlvbiB3YXMgdG8gY29uZmlndXJlIHRoZSBvdGhlcmNhcHMuIEFsc28sIHJlbW92ZSBhbgoJICBleHRyYSB1bnJlZiAtIHRoZSBvdGhlcmNhcHMgcmVmIGlzIGNvbnN1bWVkIGJ5CgkgIGdzdF9jYXBzX21ha2Vfd3JpdGFibGUgYWxyZWFkeS4KCjIwMTYtMDgtMjUgMTk6MzU6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRW5hYmxlIGJpdHJhdGUgc2VsZWN0aW9uIGZvciB0cmljayBtb2RlIHN0cmVhbWluZyBhZ2FpbgoJICBBbmQgc2NhbGUgdGhlIGJpdHJhdGUgd2l0aCB0aGUgYWJzb2x1dGUgcmF0ZSAoaWYgaXQncyBiaWdnZXIgdGhhbiAxLjApIHRvIGdldAoJICB0byB0aGUgcmVhbCBiaXRyYXRlIGR1ZSB0byBmYXN0ZXIgcGxheWJhY2suCgkgIFRoaXMgYWxsb3dlZCBpbiBteSB0ZXN0cyB0byBwbGF5IGEgc3RyZWFtIHdpdGggMTB4IHNwZWVkIHdpdGhvdXQgYnVmZmVyaW5nIGFzCgkgIHRoZSBsb3dlc3QgYml0cmF0ZSBpcyBjaG9zZW4sIGluc3RlYWQgb2Ygc3RheWluZy9zZWxlY3RpbmcgdGhlIGhpZ2hlc3QgYml0cmF0ZQoJICBhbmQgdGhlbiBidWZmZXJpbmcgYWxsIHRoZSB0aW1lLgoJICBJdCB3YXMgcHJldmlvdXNseSBkaXNhYmxlZCBmb3Igbm90IHZlcnkgd2VsbCBzcGVjaWZpZWQgcmVhc29ucywgd2hpY2ggc2VlbSB0bwoJICBiZSBub3QgdmFsaWQgYW55bW9yZSBub3dhZGF5cy4KCjIwMTYtMDgtMjUgMTY6MzM6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogYWRkIG1pc3NpbmcgZGFzaF9pc29mZiBmaWxlCgoyMDE2LTA4LTI1IDEyOjQ1OjMzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBnc3QtdW5pbnN0YWxsZWQgYnVpbGQgaW4gb3N4CgkgIEZpeGVzIGNsYW5nOiBlcnJvcjogYXJndW1lbnQgdW51c2VkIGR1cmluZyBjb21waWxhdGlvbjogJy1wdGhyZWFkJwoJICB3aGVuIGJ1aWxkaW5nIHRoZSB0ZXN0IHByb2dyYW1zLgoKMjAxNi0wOC0yNSAxNDozNTo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVuY29uZGl0aW9uYWxseSBjaGVjayBmb3IgdmlkZW8sIGF1ZGlvIGFuZCBwYnV0aWxzIG1vZHVsZXMKCSAgQ2hlY2sgZm9yIG1vZHVsZXMgaW4gY29uZmlndXJlIGFuZCB1c2UgR1NUXypfTElCUyB2YXJzIHRvIGxpbmsgd2l0aAoJICB0aGUgbGlicmFyaWVzIGluc3RlYWQgb2YgaGFyZGNvZGluZyB0aGVtLgoKMjAxNi0wNy0yNiAxOTo1NToxMyArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkgIGdsdmlkZW9mbGlwOiBpbXBsZW1lbnQgR3N0VmlkZW9EaXJlY3Rpb24gaW50ZXJmYWNlCgkgIEl0IGltcGxlbWVudHMgbm93IHRoaXMgaW50ZXJmYWNlIHdpdGggaXRzIHZpZGVvLWRpcmVjdGlvbgoJICBwcm9wZXJ0eS4gVmFsdWVzIGFyZSBjaGFuZ2VkIHRvIEdzdFZpZGVvT3JpZW50YXRpb25NZXRob2QgYnV0IHRoZXkgaGF2ZQoJICB0aGUgc2FtZSB2YWx1ZSB0aGFuIHRoZSBvcmlnaW5hbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2ODcKCjIwMTYtMDgtMjQgMTk6NDM6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJICBmZGthYWNlbmM6IEltcGxlbWVudCBzb21lIGF1dG9tYXRpYyBiaXRyYXRlIHNlbGVjdGlvbgoJICBCYXNlZCBvbiBzYW1wbGUgcmF0ZSBhbmQgY2hhbm5lbCBjb3VudCwgc2VlCgkgIGh0dHA6Ly93aWtpLmh5ZHJvZ2VuYXVkLmlvL2luZGV4LnBocD90aXRsZT1GcmF1bmhvZmVyX0ZES19BQUMjUmVjb21tZW5kZWRfU2FtcGxpbmdfUmF0ZV9hbmRfQml0cmF0ZV9Db21iaW5hdGlvbnMKCjIwMTYtMDgtMjQgMTQ6MTU6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IE9uIHJlZGlyZWN0cywgcmVtZW1iZXIgdGhlIHJlZGlyZWN0IFVSSSBzZXBhcmF0ZWx5IGFuZCBkb24ndCBjb25zaWRlciB0aGlzIGFuIFVSSSBwcm9wZXJ0eSBjaGFuZ2UKCSAgVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IGtub3cgYW55dGhpbmcgYWJvdXQgdGhlIHJlZGlyZWN0LCBhbmQgY2hhbmdpbmcgaXRzCgkgIFVSSSBpbnRlcm5hbGx5IHdpbGwgY2F1c2UgY29uZnVzaW9uLgoJICBBbHNvIGRvbid0IHJlc2V0IHRoZSBzdWJ0aXRsZSBVUkkuCgoyMDE2LTA4LTI0IDE0OjEwOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBEb24ndCByZXBvcnQgc3B1cmlvdXMgU1RPUFBFRCBzdGF0ZSBjaGFuZ2VzIHdoZW4gZG9pbmcgdHJhbnNpZW50IGNoYW5nZXMgdGhlcmUKCjIwMTYtMDgtMjQgMTM6MDE6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IEVuc3VyZSB0aGF0IHJhdGUgaXMgaW5pdGlhbGl6ZWQgdG8gMS4wCgoyMDE2LTA4LTI0IDEwOjE2OjAwICswMDAwICBGcmVkcmlrIEZvcm53YWxsIDxmcmVkcmlrQGZvcm53YWxsLm5ldD4KCgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSAgb3BlbnNsZXM6IEFkZCBvcGVuc2xlcy5oIHRvIG5vaW5zdF9IRUFERVJTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzMjYKCjIwMTYtMDgtMjMgMTQ6Mzc6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IERlLWR1cGxpY2F0ZSByYXRlIHNldHRpbmcgY29kZSBhbmQgYWx3YXlzIHVzZSB0aGUgcHJvcGVydHkKCjIwMTYtMDgtMjMgMTQ6MzM6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IFByb3RlY3Qgc2V0dGVyL2dldHRlciBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCBhIG11dGV4CgoyMDE2LTA4LTIzIDE0OjMyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSAgcGxheWVyOiBNb3ZlIHN1YnRpdGxlIFVSSSBzZXR0ZXIgbmV4dCB0byB0aGUgdXJpIHNldHRlcgoJICBJdCdzIGNvbmZ1c2luZyB0byBoYXZlIHRoZW0gYSBjb3VwbGUgb2YgaHVuZHJlZCBsaW5lcyBhcGFydC4KCjIwMTYtMDgtMTcgMTk6NTk6MTcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZml4IE1QRUctMiB2aWRlbyBjYXBzCgkgIEFkZCBzeXN0ZW1zdHJlYW09ZmFsc2UgdG8gY2Fwcywgb3RoZXJ3aXNlIHRoZSBkZWNvZGVyCgkgIG1heSBiZSBwaWNrZWQgZm9yIE1QRUctUFMgZmlsZXMuIEFsc28gcGFyc2VkPXRydWUsCgkgIGFzIHZpZGVvIHRvb2xib3ggZXhwZWN0cyBlbnRpcmUgZnJhbWUgaW4KCSAgVlREZWNvbXByZXNzaW9uU2Vzc2lvbkRlY29kZUZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMDQ5CgoyMDE2LTA4LTIzIDAyOjEzOjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYy5yZWo6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L3NldF9zdGF0ZV9rZWVwLnBhdGNoOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggdGhlIHByZXZpb3VzIGNvbW1pdAoJICBSZW1vdmUgZXh0cmEgZmlsZXMgdGhhdCB3ZXJlIG5vdCBtZWFudCB0byBiZSBhZGRlZCB0byB0aGUgY29tbWl0CgoyMDE2LTA4LTIzIDAxOjU3OjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jLnJlajoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvc2V0X3N0YXRlX2tlZXAucGF0Y2g6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBicm9rZW4gdXBkYXRlcyBsb29wIG9uIGxpdmUgc3RyZWFtcwoJICBQcmV2ZW50IHRoZSBtYW5pZmVzdCB1cGRhdGUgbG9vcCBmcm9tIGxvb3BpbmcgZW5kbGVzc2x5CgkgIGFmdGVyIGEgc2VlayBldmVudCwgYnkgY2xlYXJpbmcgdGhlIHZhcmlhYmxlIHRoYXQgdGVsbHMKCSAgdGhlIHRhc2sgZnVuY3Rpb24gbm90IHRvIGltbWVkaWF0ZWx5IGV4aXQuCgoyMDE2LTA4LTE4IDEwOjA2OjI3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHN0cmVhbSBleHBvc3VyZSBjb25kaXRpb24KCSAgVGhlIG5ldyBzdHJlYW1zIHNob3VsZCBub3QgYmUgZXhwb3NlZCB1bnRpbCBhbGwgc3RyZWFtcyBhcmUgZG9uZSB3aXRoIHRoZQoJICBjdXJyZW50IGZyYWdtZW50LiBUaGUgb2xkIGNvZGUgaXMgaW5jb3JyZWN0IGFuZCBhY3R1YWxseSBvbmx5IGNoZWNrZWQgdGhlCgkgIGN1cnJlbnQgc3RyZWFtLiBGaXggdGhpcyBieSBwcm9wZXJseSBjaGVja2luZyBhbGwgc3RyZWFtcy4KCSAgQWxzbywgaWdub3JlIHRoZSBjdXJyZW50IHN0cmVhbS4gVGhlIGNvZGUgaXMgb25seSByZWFjaGVkIHdoZW4gdGhlIGN1cnJlbnQKCSAgc3RyZWFtIGZpbmlzaGVkIGRvd25sb2FkaW5nIGFuZCBzaW5jZQoJICAwN2Y0OWYxNWIxMTk2Y2M5ZmEwZDQ1YWY5MTE0OWEzNWZjZTEyM2I5ICgiYWRhcHRpdmVkZW11eDogT24gRU9TLCBoYW5kbGUgaXQKCSAgYmVmb3JlIHdha2luZyBkb3dubG9hZCBsb29wIikgZG93bmxvYWRfZmluaXNoZWQgaXMgc2V0IGFmdGVyCgkgIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fYWR2YW5jZV9mcmFnbWVudF91bmxvY2tlZCgpIGlzIGNhbGxlZC4KCSAgV2l0aG91dCB0aGlzIEhMUyBwbGF5YmFjayB3aXRoIG11bHRpcGxlIHN0cmVhbXMgaXMgYnJva2VuLCBiZWNhdXNlIHRoZSBuZXcKCSAgc3RyZWFtcyBhcmUgbmV2ZXIgZXhwb3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDA3NQoKMjAxNi0wOC0yMSAxNjoyMTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiByZW1vdmUgdW51c2VkIG1wZzEyMyBidWlsZCBmaWxlCgkgIG1wZzEyMyB3YXMgbW92ZWQgdG8gdWdseS4KCjIwMTYtMDgtMTIgMjE6MjE6NDUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZy5oLm1lc29uOgoJKiBleHQvYXNzcmVuZGVyL21lc29uLmJ1aWxkOgoJKiBleHQvYnoyL21lc29uLmJ1aWxkOgoJKiBleHQvY2hyb21hcHJpbnQvbWVzb24uYnVpbGQ6CgkqIGV4dC9jdXJsL21lc29uLmJ1aWxkOgoJKiBleHQvZGFzaC9tZXNvbi5idWlsZDoKCSogZXh0L2RpcmVjdGZiL21lc29uLmJ1aWxkOgoJKiBleHQvZHRscy9tZXNvbi5idWlsZDoKCSogZXh0L2R0cy9tZXNvbi5idWlsZDoKCSogZXh0L2ZhYWMvbWVzb24uYnVpbGQ6CgkqIGV4dC9mYWFkL21lc29uLmJ1aWxkOgoJKiBleHQvZmxpdGUvbWVzb24uYnVpbGQ6CgkqIGV4dC9mbHVpZHN5bnRoL21lc29uLmJ1aWxkOgoJKiBleHQvaGxzL21lc29uLmJ1aWxkOgoJKiBleHQva2F0ZS9tZXNvbi5idWlsZDoKCSogZXh0L2xpYmRlMjY1L21lc29uLmJ1aWxkOgoJKiBleHQvbGlibW1zL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC9tcGcxMjMvbWVzb24uYnVpbGQ6CgkqIGV4dC9vcGVuaDI2NC9tZXNvbi5idWlsZDoKCSogZXh0L29wZW5qcGVnL21lc29uLmJ1aWxkOgoJKiBleHQvb3B1cy9tZXNvbi5idWlsZDoKCSogZXh0L3Jlc2luZHZkL21lc29uLmJ1aWxkOgoJKiBleHQvcnN2Zy9tZXNvbi5idWlsZDoKCSogZXh0L3J0bXAvbWVzb24uYnVpbGQ6CgkqIGV4dC9zYmMvbWVzb24uYnVpbGQ6CgkqIGV4dC9zY2hyb2VkaW5nZXIvbWVzb24uYnVpbGQ6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvbWVzb24uYnVpbGQ6CgkqIGV4dC9zb3VuZHRvdWNoL21lc29uLmJ1aWxkOgoJKiBleHQvc3BhbmRzcC9tZXNvbi5idWlsZDoKCSogZXh0L3NydHAvbWVzb24uYnVpbGQ6CgkqIGV4dC9zcnRwL3NydHBfbWtlbnVtLnB5OgoJKiBleHQvdm9hYWNlbmMvbWVzb24uYnVpbGQ6CgkqIGV4dC93ZWJwL21lc29uLmJ1aWxkOgoJKiBleHQveDI2NS9tZXNvbi5idWlsZDoKCSogZXh0L3piYXIvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9iYXNlL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29uZmlnLmgubWVzb246CgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvYnVpbGRfbWtlbnVtLnB5OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0c19lbnVtLnB5OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9tZXNvbi5idWlsZDoKCSogZ3N0L2FjY3VyaXAvbWVzb24uYnVpbGQ6CgkqIGdzdC9hZHBjbWRlYy9tZXNvbi5idWlsZDoKCSogZ3N0L2FkcGNtZW5jL21lc29uLmJ1aWxkOgoJKiBnc3QvYWlmZi9tZXNvbi5idWlsZDoKCSogZ3N0L2FzZm11eC9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvYnVmZmVyL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9meGJhZC9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvbWl4ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL21lc29uLmJ1aWxkOgoJKiBnc3QvYXV0b2NvbnZlcnQvbWVzb24uYnVpbGQ6CgkqIGdzdC9iYXllci9tZXNvbi5idWlsZDoKCSogZ3N0L2NhbWVyYWJpbjIvbWVzb24uYnVpbGQ6CgkqIGdzdC9jZHhhcGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9jb2xvcmVmZmVjdHMvbWVzb24uYnVpbGQ6CgkqIGdzdC9jb21wb3NpdG9yL21lc29uLmJ1aWxkOgoJKiBnc3QvZGF0YXVyaXNyYy9tZXNvbi5idWlsZDoKCSogZ3N0L2RjY3AvbWVzb24uYnVpbGQ6CgkqIGdzdC9kZWJ1Z3V0aWxzL21lc29uLmJ1aWxkOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9tZXNvbi5idWlsZDoKCSogZ3N0L2R2ZHNwdS9tZXNvbi5idWlsZDoKCSogZ3N0L2ZhY2VvdmVybGF5L21lc29uLmJ1aWxkOgoJKiBnc3QvZmVzdGl2YWwvbWVzb24uYnVpbGQ6CgkqIGdzdC9maWVsZGFuYWx5c2lzL21lc29uLmJ1aWxkOgoJKiBnc3QvZnJlZXZlcmIvbWVzb24uYnVpbGQ6CgkqIGdzdC9mcmVpMHIvbWVzb24uYnVpbGQ6CgkqIGdzdC9nYW1lcy9tZXNvbi5idWlsZDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9tZXNvbi5idWlsZDoKCSogZ3N0L2dkcC9tZXNvbi5idWlsZDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9tZXNvbi5idWlsZDoKCSogZ3N0L2hkdnBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QvaWQzdGFnL21lc29uLmJ1aWxkOgoJKiBnc3QvaW50ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9pbnRlcmxhY2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9pdmZwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L2l2dGMvbWVzb24uYnVpbGQ6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL21lc29uLmJ1aWxkOgoJKiBnc3QvanBlZ2Zvcm1hdC9tZXNvbi5idWlsZDoKCSogZ3N0L2xpYnJmYi9tZXNvbi5idWlsZDoKCSogZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QvbWlkaS9tZXNvbi5idWlsZDoKCSogZ3N0L21peG1hdHJpeC9tZXNvbi5idWlsZDoKCSogZ3N0L21wZWcxc3lzL21lc29uLmJ1aWxkOgoJKiBnc3QvbXBlZ2RlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvbXBlZ3BzbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9tcGVndHNtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9tdmUvbWVzb24uYnVpbGQ6CgkqIGdzdC9teGYvbWVzb24uYnVpbGQ6CgkqIGdzdC9udXZkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L29udmlmL21lc29uLmJ1aWxkOgoJKiBnc3Qvb3ZlcmxheS9tZXNvbi5idWlsZDoKCSogZ3N0L3BhdGNoZGV0ZWN0L21lc29uLmJ1aWxkOgoJKiBnc3QvcGNhcHBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QvcG5tL21lc29uLmJ1aWxkOgoJKiBnc3QvcmF3cGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9yZWFsL21lc29uLmJ1aWxkOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9tZXNvbi5idWlsZDoKCSogZ3N0L3J0anBlZy9tZXNvbi5idWlsZDoKCSogZ3N0L3NkaS9tZXNvbi5idWlsZDoKCSogZ3N0L3NkcC9tZXNvbi5idWlsZDoKCSogZ3N0L3NlZ21lbnRjbGlwL21lc29uLmJ1aWxkOgoJKiBnc3Qvc2lyZW4vbWVzb24uYnVpbGQ6CgkqIGdzdC9zbW9vdGgvbWVzb24uYnVpbGQ6CgkqIGdzdC9zcGVlZC9tZXNvbi5idWlsZDoKCSogZ3N0L3N0ZXJlby9tZXNvbi5idWlsZDoKCSogZ3N0L3N1YmVuYy9tZXNvbi5idWlsZDoKCSogZ3N0L3R0YS9tZXNvbi5idWlsZDoKCSogZ3N0L3ZiaWRlYy9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvc2lnbmFsL21lc29uLmJ1aWxkOgoJKiBnc3Qvdm1uYy9tZXNvbi5idWlsZDoKCSogZ3N0L3k0bS9tZXNvbi5idWlsZDoKCSogZ3N0L3lhZGlmL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSogc3lzL2JsdWV6L21lc29uLmJ1aWxkOgoJKiBzeXMvZDNkdmlkZW9zaW5rL21lc29uLmJ1aWxkOgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkqIHN5cy9kdmIvbWVzb24uYnVpbGQ6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL3dhc2FwaS9tZXNvbi5idWlsZDoKCSogc3lzL3dpbmtzL21lc29uLmJ1aWxkOgoJKiBzeXMvd2luc2NyZWVuY2FwL21lc29uLmJ1aWxkOgoJICBBZGQgc3VwcG9ydCBmb3IgTWVzb24gYXMgYWx0ZXJuYXRpdmUvcGFyYWxsZWwgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoJICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoJICBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPiAob3JpZ2luYWwgcG9ydCkKCSAgSGlnaGxpZ2h0cyBvZiB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYXJlOgoJICAqIEZhc3RlciBidWlsZHMgb24gTGludXggKH40MC01MCUgZmFzdGVyKQoJICAqIFRoZSBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggTVNWQyBvbiBXaW5kb3dzCgkgICogR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzCgkgICogR2VuZXJhdGUgWENvZGUgcHJvamVjdCBmaWxlcwoJICAqIE11Y2ggZmFzdGVyIGJ1aWxkcyBvbiBXaW5kb3dzIChvbi1wYXIgd2l0aCBMaW51eCkKCSAgKiBTZXJpb3VzbHkgZmFzdCBjb25maWd1cmUgYW5kIGJ1aWxkaW5nIG9uIGVtYmVkZGVkCgkgIC4uLiBhbmQgbWFueSBtb3JlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNS9nc3RyZWFtZXItYW5kLW1lc29uLW5ldy1ob3BlLmh0bWwKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNy9idWlsZGluZy1hbmQtZGV2ZWxvcGluZy1nc3RyZWFtZXItdXNpbmcuaHRtbAoJICBCdWlsZGluZyB3aXRoIE1lc29uIHNob3VsZCB3b3JrIG9uIGJvdGggTGludXggYW5kIFdpbmRvd3MsIGJ1dCBtYXkKCSAgbmVlZCBhIGZldyBtb3JlIHR3ZWFrcyBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMTYtMDgtMTggMTc6NDY6MTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICBwbHVnaW5zOiBVc2Ugc3RkaW50LmggaW5zdGVhZCBvZiBfc3RkaW50LmgKCSAgX3N0ZGludC5oIGlzIGdlbmVyYXRlZCBieSBBdXRvdG9vbHMgYW5kIHdlIGRvbid0IHJlYWxseSBuZWVkIGl0LiBBbGwKCSAgc3VwcG9ydGVkIHBsYXRmb3JtcyBub3cgc2hpcCB3aXRoIHN0ZGludC5oLiBUaGUgb25seSBzdGlja2xlciB3YXMgTVNWQywKCSAgYW5kIHNpbmNlIFZpc3VhbCBTdHVkaW8gMjAxNSBpdCBhbHNvIHNoaXBzIHN0ZGludC5oIG5vdy4KCjIwMTYtMDgtMTIgMjE6NTE6MTcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIHdpbjMyOiBVcGRhdGUgbGliZ3N0Z2wuZGVmCgoyMDE2LTAzLTAyIDAwOjUzOjQ0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVlay5jaGF1aGFuQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSAgY29kZWNwYXJzZXJzOiBFeHBsaWNpdGx5IGV4cG9ydCBmdW5jdGlvbnMgbWFya2VkIGlubGluZQoJICBPbiBNU1ZDLCBpbmxpbmUgZnVuY3Rpb25zIGFyZSBub3QgYXZhaWxhYmxlIG91dHNpZGUgb2YgYSBmaWxlIHVubGVzcwoJICBleHBsaWNpdGx5IGV4cG9ydGVkCgoyMDE2LTA4LTE5IDEyOjI0OjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3dmlkZW9wYXJzZTogZml4IHR5cG8gaW4gY29tbWVudAoJICBTbWFsbCB0eXBvIGluIHRoZSBjb21tZW50IGV4cGxhaW5pbmcgdGhlIGNvZGUgZml4ZWQgYnkgdGhlIHByZXZpb3VzIGNvbW1pdC4KCSAgRml4aW5nIGl0LgoKMjAxNi0wOC0xOSAxNDoxOTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3ZpZGVvcGFyc2U6IFJldmVydCBsYXN0IGNvbW1pdCBhbmQgYWN0dWFsbHkgcmVtZW1iZXIgdGhlIHBoeXNpY2FsbHkgbGFzdCBwbGFuZQoJICBJbnN0ZWFkIG9mIGp1c3QgYWx3YXlzIHRha2luZyB0aGUgbGFzdCBvbmUgYXMgYmVmb3JlLgoKMjAxNi0wOC0xOSAxMTo1NzozMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3ZpZGVvcGFyc2U6IHJlbW92ZSB1bnVzZWQgYXNzaWdubWVudAoJICBWYWx1ZSBpbiBsYXN0X3BsYW5lIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYmVmb3JlIHVzZWQsIHJlbW92ZSB1bnVzZWQKCSAgYXNpZ25tZW50LgoJICBGaXhlcyBjb21taXQgOTFjZjVhYzY5ZjljOTlmZTQxZDYwZjQyYjQxNzQ5MTVkZDEzNWU3YgoJICBDSUQgMTM3MTQ2MgoKMjAxNi0wOC0xOCAxODo1NTo0MSArMDIwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkgIGRhYWxhOiBmaXggdHlwbyByZWxhdGVkIGNvbXBpbGF0aW9uIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAxMDIKCjIwMTYtMDgtMTkgMTE6MDI6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IHJlbW92ZSBiaXRyb3R0ZW4gcGx1Z2luIHRoYXQncyBubyBsb25nZXIgbmVlZGVkCgoyMDE2LTA4LTE5IDE5OjQ2OjI0ICsxMDAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFjY291bnQgZm9yIHJldGluYSBkaXNwbGF5cyB3aGVuIGNhcHR1cmluZyBzY3JlZW5zCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMDMwCgoyMDE2LTA4LTE5IDE3OjExOjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBidW1wIGdyYXBoZW5lIHJlcXVpcmVtZW50IHRvIDEuNAoKMjAxNi0wOC0xOSAxNTozNTo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogcmV3cml0ZSB0aGUgaW52ZXJzZSB0cmFuc2Zvcm1hdGlvbiBsb2dpYwoJICBJdCBub3cgcmV0dXJucyB0aGUgY29ycmVjdCB2YWx1ZXMgZm9yIGJvdGggb3J0aG9ncmFwaGljIGFuZCBwZXJzcGVjdGl2ZQoJICBwcm9qZWN0aW9ucyBhbmQgdGFrZXMgaW50byBhY2NvdW50IHRoZSBhc3BlY3QgcmF0aW8gb2YgdGhlIHZpZGVvLCBoYW5kbGVzCgkgIHRoZSBZLWZsaXBwaW5nIGluIEdMIGFuZCBieSB1cyBhbmQgdXNlcyBzb21lIG1vcmUgaGVscGVycyBmcm9tIGdyYXBoZW5lLgoKMjAxNi0wNy0wMSAxNjoxODo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBtYXJzaGFsIGdzdF9nbF93aW5kb3dfcmVzaXplIHRocm91Z2ggdGhlIHdpbmRvdyBsb29wCgkgIHNhdmVzIGhhdmluZyBldmVyeSBjYWxsZXIgZG8gaXQgdGhlbXNlbHZlcy4KCjIwMTYtMDYtMzAgMjM6MDY6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IHVzZSBtdWx0aS10aHJlYWRlZCBzYWZlIGV2ZW50IHdheWxhbmQgQVBJCgkgIE11bHRpcGxlIHRocmVhZHMgbWF5IGJlIGFjY2Vzc2luZyB0aGUgd2F5bGFuZCBmZCBhdCB0aGUgc2FtZSB0aW1lIHdoaWNoCgkgIHJlcXVpcmVzIHRoZSB1c2Ugb2Ygc3BlY2lhbCB3YXlsYW5kIEFQSSB0byBkZWFsIHdpdGggdG8gZW5zdXJlIG5vYm9keQoJICB3aWxsIHN0ZWFsIHJlYWRzIGFuZCBjYXVzZSBhIHN0YWxsIGZvciBhbnlvbmUgZWxzZS4KCjIwMTYtMDctMDEgMDA6MTU6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIGdsL2V4YW1wbGVzL2Z4dGVzdDogZml4IHVwIGZvciB3YXlsYW5kIHN1cHBvcnQKCSAgLSBQYXNzIHRoZSB3YXlsYW5kIGRpc3BsYXkgdG8gZ3N0CgkgIC0gUmVkcmF3aW5nIG9uIHJlc2l6ZSBpcyBubyBsb25nZXIgbmVlZGVkLgoKMjAxNi0wOC0xNyAxNjoyMTozNCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiB3YXJuIG9uIGlnbm9yZWQga2V5L3ZhbHVlIHBhaXJzCgkgIE90aGVyd2lzZSBhdCBydW50aW5lLCB1c2VycyBnZXQgdGhlIG1pc2xlYWRpbmcKCSAgcGFyc2luZy1PSyBtZXNzYWdlIHdpdGggbm8gaW5mbyBvbiwgZm9yIGV4YW1wbGUsCgkgIHByb3BlcnRpZXMgdGhhdCBmYWlsZWQgdG8gbWFwIGJlY2F1c2Ugb2YgYSB0eXBvLgoKMjAxNi0wOC0xNiAxNTozNTozOSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBoYW5kbGUgcHJvYmxlbXMgcGFyc2luZyBkdmJ2NSBjb25maWcga2V5cwoKMjAxNi0wOC0xOCAxNToyODozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IERvbid0IHN0YXJ0IHRhc2sgKHlldC9hZ2Fpbikgb24gcGFkIHJlbGVhc2UgaWYgd2UncmUgaW4gUkVBRFkgb3IgTlVMTAoJICBGaXhlcyBzcHVyaW91cyBzZWdmYXVsdCBpbiB1bml0IHRlc3QsIHdoZXJlIHRoZSB0YXNrIHdhcyBzdGFydGVkIGFnYWluIGR1cmluZwoJICBzaHV0ZG93biB3aGVuIGFsbCBwYWRzIHdlcmUgcmVtb3ZlZC4uLiBhbmQgd2FzIHRoZW4gc3RpbGwgcnVubmluZyB3aGlsZSB0aGUKCSAgZWxlbWVudCB3YXMgZmluYWxpemVkLgoKMjAxNi0wOC0xOCAxMzoyMTo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEluIEtFWV9VTklUUyB0cmljayBtb2RlLCBkb3dubG9hZCBhbGwgSS1mcmFtZXMgYW5kIG5vdCBvbmx5IElEUgoKMjAxNi0wOC0wOCAxNzo1NDo0NiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmF3YXVkaW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBGaXggYW5kIGV4dGVuZCB1bml0IHRlc3RzCgkgICogQWRkIGNhcHMgY2hhbmdlIHRlc3QgdG8gdW5pdCB0ZXN0cwoJICAqIENsZWFudXAgbGVmdG92ZXIgYnVmZmVycyBhZnRlciBlYWNoIHVuaXQgdGVzdAoJICAqIEFkZCBtaXNzaW5nIHJhd3ZpZGVvcGFyc2UgZW50cnkgaW4gLmdpdGlnbm9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NjM3CgoyMDE2LTA4LTE2IDA5OjMxOjQwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3ZpZGVvcGFyc2U6IENvbXB1dGUgcGxhbmUgb2Zmc2V0cyAmIHN0cmlkZXMgaWYgbm8gY3VzdG9tIG9uZXMgYXJlIHNldAoJICBUaGlzIGlzIHVzZWZ1bCB0byBlbnN1cmUgdGhhdCB0aGUgb2Zmc2V0cyBhbmQgc3RyaWRlcyBhcmUgY29tcHV0ZWQgaWYKCSAgb25seSB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQgZXRjLiBpbiB0aGUgcHJvcGVydHkgY29uZmlnIGFyZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3OTcKCjIwMTYtMDgtMTYgMTg6NDY6NDkgKzAzMDAgIFNlcmdlaSBTYXZlbGlldiA8c2F2ZWxpZXYuc2VyZ2VpQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGF2ZmFzc2V0c3JjOiBEb24ndCBlc2NhcGUgdGhlIFVSSSBhbm90aGVyIHRpbWUgaW4gYW5vdGhlciBsb2NhdGlvbiB0b28KCSAgT25lIGxvY2F0aW9uIHdhcyBmb3Jnb3R0ZW4gaW4gYTkxM2EwYjk2NzlkZDU4OTQ1YWQxMDVkMjQwZGI0NTU5NWZkYWJhNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDkyCgoyMDE2LTA4LTE2IDIwOjMzOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJICBnbC9lZ2w6IGZpeCBpbnZlcnRlZCB0eXBlZGVmCgkgIDJiNjg0MWQgaGFkIGFuIGludmVydGVkIHR5cGVkZWYgZGVmaW5pbmcgZ2lucHRyIGFuZCBFR0xBdHRyaWIuICBGaXggdGhhdC4KCjIwMTYtMDgtMTYgMTA6Mzc6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IEZpeCBjb21waWxhdGlvbiB3aXRoIHdpbGRtaWRpIDAuNAoJICBPbGQgdmVyc2lvbnMgdXNlZCBjaGFyKiBmb3IgdGhlIGRhdGEsIG5ldyB2ZXJzaW9ucyB1c2UgaW50OF90Ki4gVGhleSdyZSBvZnRlbgoJICBub3QgdGhlIHNhbWUgYW5kIGRpZmZlciBpbiBzaWduZWRuZXNzLgoKMjAxNi0wOC0xNiAxNjo1MTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJICBnbC9idWlsZDogYWRkIGNvbmZpZ3VyZSBjaGVjayBmb3IgcG9zc2libHkgbWlzc2luZyBFR0xBdHRyaWIKCSAgRml4ZXMgdGhlIGJ1aWxkIG9uIG9sZGVyIGFuZHJvaWQgdGFyZ2V0cy4KCjIwMTYtMDctMTMgMTc6MTU6NDQgKzA4MDAgIFNvbmcgQmluZyA8YmluZy5zb25nQG54cC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJICBnbC9lZ2wvZG1hYnVmOiBXcm9uZyBhdHRyaWJ1dGUgbGlzdCB0eXBlIGZvciBFR0wgMS41CgkgIEZvciBFR0wgMS41IHNwZWMsIHRoZSBhdHRyaWJ1dGUgbGlzdCB0eXBlIHNob3VsZCBiZSBFR0xBdHRyaWIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2MDIKCjIwMTYtMDgtMTUgMTY6MTQ6MjUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCByYWNlIGpvaW5pbmcgdGhyZWFkIG9uIGZpbmFsaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk5MzkKCjIwMTYtMDgtMTYgMDA6NDA6NTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxdDogVXNlIHdnbFNoYXJlTGlzdHMoKSB3b3JrYXJvdW5kIHVuY29uZGl0aW9uYWxseS4KCSAgU29tZXRpbWVzIHdnbENyZWF0ZUNvbnRleHRBdHRyaWJzQVJCKCkgZXhpc3RzLCBidXQKCSAgaXNuJ3QgZnVuY3Rpb25hbCAoc29tZSBJbnRlbCBkcml2ZXJzKSwgc28gaXQncwoJICBlYXNpZXN0IHRvIGRvIHRoZSB3b3JrYXJvdW5kIHVuY29uZGl0aW9uYWxseS4KCjIwMTYtMDgtMTUgMTY6Mzc6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICB3aW5rczogRml4IFJHQiBmcmFtZSBmbGlwcGluZyBhbmQgcG9zdHByb2Nlc3NpbmcKCSAgVW5jb21wcmVzc2VkIFJHQiBmcmFtZXMgY2FuIGJlICh1c3VhbGx5IGFyZSkgYm90dG9tLXVwCgkgIGxheW91dCBpbiBEaXJlY3RTaG93LCBhbmQgdGhlIGNvZGUgdG8gZmxpcCB0aGVtIHdhc24ndAoJICBwcm9wZXJseSBwb3J0ZWQgZnJvbSAwLjEwLiBGaXggaXQuCgkgIEZpeCBwb3N0LXByb2Nlc3Npbmcgb2YgUkdCIGJ1ZmZlcnMuIFdlIG5lZWQgYSB3cml0YWJsZQoJICBidWZmZXIsIGJ1dCB0aGUgcmVxdWVzdHMgcG9vbCBpcyBob2xkaW5nIGFuIGV4dHJhIHJlZi4KCSAgVGhpcyBjb3VsZCB1c2UgbW9yZSBmaXhpbmcgdG8gdXNlIGEgYnVmZmVyIHBvb2wKCjIwMTYtMDgtMTIgMjI6MTc6MjUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IEdpdmUgdGhlIGtzdmlkZW9zcmMgUFJJTUFSWSByYW5rCgkgIEl0J3MgdGhlIHByaW1hcnkgdmlkZW8gc291cmNlIG9uIFdpbmRvd3MsIHNvIGdpdmUgaXQgYQoJICByYW5rIGZvciBhdXRvcGx1Z2dpbmcgYnkgY2FtZXJhYmluIGFuZCBmcmllbmRzCgoyMDE2LTA4LTEyIDIyOjE2OjMzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogRml4IHN3YXBwZWQgUkdCeC9SR0IgY2FwcyBtYXBwaW5nLCBhbmQgZW5kaWFubmVzcy4KCSAgVGhlIFJHQnggYW5kIFJHQiBmb3JtYXQgbWFwcGluZ3Mgd2VyZSByZXZlcnNlZC4KCSAgV2hhdCBXaW5kb3dzIGNhbGxzIFJHQiBhcmUgbGFpZCBvdXQgYXMgQkdSIGluIG91ciBwYXJsYW5jZSwgc28KCSAgc3dpdGNoIHRoYXQgdG9vCgoyMDE2LTA4LTA4IDEzOjQxOjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IE1vdmUgZGVidWcgc3RhdGVtZW50IHRvIGFmdGVyIHRoZSBjYXRlZ29yeSBpbml0CgkgIERvbid0IG91dHB1dCBkZWJ1ZyB0byBhbiB1bmluaXRpYWxpc2VkIGRlYnVnIGNhdGVnb3J5LgoKMjAxNi0wOC0xMSAxMjoxOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkYXNoZGVtdXg6IERpc2FibGUgdW5pdCB0ZXN0IGZvciB0aGUgdGltZSBiZWluZwoJICBJdCB1c2VzIHJhbmRvbSBkYXRhIHN0cmVhbXMgYnV0IGRhc2hkZW11eCBub3dhZGF5cyBhY3R1YWxseSBsb29rcyBpbnRvIHRoZQoJICBzdHJlYW1zIGFuZCBkb2Vzbid0IGxpa2UgcmFuZG9tbmVzcyB2ZXJ5IG11Y2guIFRoZSB0ZXN0cyBzaG91bGQgcHJvYmFibHkganVzdAoJICBiZWNvbWUgdmFsaWRhdGUgdGVzdHMgb24gcmVhbCBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NTUzCgoyMDE2LTA4LTExIDEyOjExOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJkYXNoZGVtdXg6IFdoZW4gZG9pbmcgU0lEWCBzZWVraW5nLCByZXR1cm4gaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSB0aW1lc3RhbXAgd2l0aCAwIGZyb20gdGhlIE1QRCBzZWVraW5nIG1ldGhvZCIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWVhMmMxM2ZjMTY3MmE3MjYwNjc5ZDcwNmQwYTA4NGEzNGJhNzUzMS4KCjIwMTYtMDgtMDQgMTQ6NDc6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBXaGVuIGRvaW5nIGNodW5rZWQgZG93bmxvYWRpbmcgb24gU0lEWCwgY2xpcCByZXF1ZXN0cyBvbiB0aGUgU0lEWCBlbnRyeSBib3VuZGFyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDgtMDIgMDg6NDc6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogQ29sbGVjdCBhdmVyYWdlIG1vb2YgYW5kIGZpcnN0IHN5bmMgc2FtcGxlIHNpemVzCgkgIEFuZCBhbHdheXMgcmVxdWVzdCB0aG9zZSBpbiB0aGUgYmVnaW5uaW5nIHNvIHRoYXQgaWRlYWxseSB3ZSBnZXQgdGhlIG1vb2YgYW5kCgkgIHRoZSBmaXJzdCBzeW5jIHNhbXBsZSBhbGwgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QgSFRUUCByZXF1ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA4LTAyIDA4OjM1OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IERvd25sb2FkIGFueSBzeW5jLXNhbXBsZSBmb2xsb3dpbmcgdGhlIG1vb2YgZGlyZWN0bHkgaW4ga2V5LXVuaXRzIG9ubHkgbW9kZQoJICBXZSBkb24ndCBoYXZlIHRvIGRvIHlldCBhbm90aGVyIGFkZGl0aW9uYWwgcmVxdWVzdCBidXQgY2FuIGp1c3QgZG93bmxvYWQgdGhlCgkgIGRhdGEgZGlyZWN0bHkuCgkgIEFsc28gdW5pZnkgdGhlIGtleS11bml0IG9ubHkgbW9kZSBidWZmZXIgcHVzaGluZyBhbmQgZXh0cmFjdCBpdCBpbnRvIGl0cyBvd24KCSAgZnVuY3Rpb24gbm93IHRoYXQgaXQgYmVjYW1lIG1vcmUgY29tcGxpY2F0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDctMjkgMTI6NTA6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBJZiBhIGZyYWdtZW50IGNvbnRhaW5zIG5vIHN5bmMgc2FtcGxlcywgZGlzYWJsZSBrZXktdW5pdCBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDctMjkgMTI6MzI6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtZW1iZXIgaWYgZm9yIGEgc3RyZWFtIHdlIGNvdWxkIGRvIGtleS11bml0cyBvbmx5IG1vZGUKCSAgVGhpcyBtYWtlcyBzdXJlIHdlIGRvbid0IGV2ZW4gdHJ5IGdvaW5nIGludG8gdGhhdCBtb2RlIGlmIHdlIHByZXZpb3VzbHkgc2F3CgkgIHRoYXQgdGhlIHN0cmVhbSBkb2VzIG5vdCBoYXZlIHRoZSBzdWl0YWJsZSBtZXRhZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNy0yOSAxMTo1NDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFsc28gYWxsb3cga2V5LXVuaXQgb25seSBtb2RlIGlmIChzb21lKSBzYW1wbGUgZmxhZ3MgYXJlIGdpdmVuIGJ5IHRyZXggYnV0IHdlIGNhbiBzdGlsbCBmaW5kIHN5bmMgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDctMTIgMjA6MDk6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVc2UgY2h1bmtlZCBkb3dubG9hZGluZyBmb3IgdGhlIG1vb2YgaW4gS0VZX1VOSVRTIG1vZGUKCSAgQWxsb3dzIHVzIHRvIHJldXNlIHRoZSBIVFRQIGNvbm5lY3Rpb24gYW5kIHJlZHVjZSBsYXRlbmNpZXMgYSBsb3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDctMTIgMTA6MjI6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQWRkIEFQSSBmb3IgYWxsb3dpbmcgc3ViY2xhc3NlcyB0byBkb3dubG9hZCBVUkxzIGluIGNodW5rcwoJICBUaGlzIGFsbG93cyB0byBncmFkdWFsbHkgZG93bmxvYWQgcGFydCBvZiBhIGZyYWdtZW50IHdoZW4gdGhlIGZpbmFsIHNpemUgaXMKCSAgbm90IGtub3duIGFuZCBvbmx5IGEgcGFydCBvZiBpdCBzaG91bGQgYmUgZG93bmxvYWRlZC4gRm9yIGV4YW1wbGUgd2hlbiBvbmx5CgkgIHRoZSBtb29mIHNob3VsZCBiZSBwYXJzZWQgYW5kL29yIGEgc2luZ2xlIGtleWZyYW1lIHNob3VsZCBiZSBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA2LTAxIDE0OjAyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFyayBldmVyeSBmaXJzdCBidWZmZXIgb2YgbW9vdiwgc2lkeCwgbW9vZiBhbmQgbWRhdCBhcyBESVNDT05UIGluIGtleWZyYW1lLW9ubHkgbW9kZQoJICBXZSBuZWVkIHRvIG1hcmsgZXZlcnkgZmlyc3QgYnVmZmVyIG9mIGEga2V5IHVuaXQgYXMgZGlzY29udCwgYW5kIGFsc28gZXZlcnkKCSAgZmlyc3QgYnVmZmVyIG9mIGEgbW9vdiBhbmQgbW9vZi4gVGhpcyBlbnN1cmVzIHRoYXQgcXRkZW11eCB0YWtlcyBub3RlIG9mIG91cgoJICBidWZmZXIgb2Zmc2V0cyBmb3IgZWFjaCBvZiB0aG9zZSBidWZmZXJzIGluc3RlYWQgb2Yga2VlcGluZyB0cmFjayBvZiB0aGVtCgkgIGl0c2VsZiBmcm9tIHRoZSBmaXJzdCBidWZmZXIuIFdlIG5lZWQgb2Zmc2V0cyB0byBiZSBjb25zaXN0ZW50IGJldHdlZW4gbW9vZgoJICBhbmQgbWRhdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA3LTI4IDEwOjUzOjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogT25seSBlbmFibGUga2V5LXVuaXQgdHJpY2sgbW9kZSBmb3IgdmlkZW8gc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA1LTMxIDE1OjEyOjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogT25seSBkbyBrZXlmcmFtZS1vbmx5IHBsYXliYWNrIGlmIHRoZSBjb3JyZXNwb25kaW5nIHNlZWsgZmxhZyBpcyBnaXZlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA1LTMwIDEyOjA5OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBkb3dubG9hZGluZyBvZiBvbmx5IHN5bmMgc2FtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA1LTMwIDExOjE1OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFN0b3JlIHBhcnNlZCBtb29mIGFuZCBleHRyYWN0IG9mZnNldHMgb2Ygc3luYyBzYW1wbGVzIGluIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDUtMDIgMTc6MTE6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9pc29mZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2lzb2ZmLmg6CgkgIGRhc2g6IEFkZCB0ZXN0IGZvciBwYXJzaW5nIGEgbW9vZiBib3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNS0wMiAxNjowMzo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2lzb2ZmLmM6CgkgIGRhc2g6IEFkZCB1bml0IHRlc3QgZm9yIElTT0JGRiBib3ggaGVhZGVyIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNC0wNyAyMTozMzo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5oOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBwYXJzaW5nIG9mIG1vb2YgYm94CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDQtMDcgMTM6MzQ6NTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJICBkYXNoZGVtdXg6IE1vdmUgY29kZSBhcm91bmQgdG8ga2VlcCBhbGwgc2lkeCByZWxhdGVkIGZ1bmN0aW9ucyB0b2dldGhlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA0LTA3IDEyOjU3OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmg6CgkgIGRhc2hkZW11eDogU3RvcmUgYm94IGZvdXJjY3MgaW4gdGhlIGhlYWRlciBhdCBhIGNlbnRyYWwgcGxhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wMy0yOCAxMzo0NTozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgcGFyc2luZyBvZiBJU09CTUZGIGJveGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDMtMTYgMTM6NDg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5oOgoJICBkYXNoOiBBZGQgaGVscGVyIGZvciBwYXJzaW5nIGJveCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDgtMTAgMjI6NTA6MTIgKzAwMDAgIHhsYXpvbTAwIDx4bGF6b20wMEBnbWFpbC5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IEVuYWJsZSBhc3BlY3QgcmF0aW8KCSAgeDI2NSBlbmNvZGVyIG5lZWQgYXNwZWN0UmF0aW9JZGMgPT0gWDI2NV9FWFRFTkRFRF9TQVIgaWYgd2Ugd2FudCB0byB1c2UKCSAgc2FyV2lkdGgvc2FySGVpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3MTYKCjIwMTYtMDgtMDggMTM6MTA6MTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogdXNlIHRoZSBjb3JyZW50IGVudW1lcmF0aW9uCgkgIEZpeGVzIHRoZSBmb2xsb3dpbmcgZXJyb3Igd2hlbiBidWlsZGluZyBpbiBvc3guCgkgIGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnR3N0SlBFRzIwMDBDb2xvcnNwYWNlJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0SlBFRzIwMDBTYW1wbGluZycKCjIwMTYtMDgtMDggMTE6Mjg6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IEZpeCBjYWxsIHRvIHJlYWxsb2MoKSB0byBhbGxvY2F0ZSB0aGUgY29ycmVjdCBzaXplIG9mIGl0ZW1zCgoyMDE2LTA4LTA3IDIwOjUzOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGZka2FhYzogYWN0dWFsbHkgYnVpbGQgYW5kIGRpc3QKCjIwMTYtMDgtMDYgMjM6MzE6MjMgKzAwMDAgIHhsYXpvbTAwIDx4bGF6b20wMEBnbWFpbC5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvdGltZWNvZGUvTWFrZWZpbGUuYW06CgkgIGhscywgdGltZWNvZGU6IGZpeCBsaW5raW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NTg3CgoyMDE2LTA4LTA3IDEyOjIwOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Zka2FhYy9NYWtlZmlsZS5hbToKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuYzoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuaDoKCSogZXh0L2Zka2FhYy9wbHVnaW4uYzoKCSAgZmRrYWFjOiBBZGQgRkRLIEFBQyBiYXNlZCBkZWNvZGVyIGVsZW1lbnQKCSAgTWlzc2luZyBpcyBzdXBwb3J0IGZvciBlcnJvciBjb25jZWFsbWVudCwgZXRjLgoKMjAxNi0wOC0wNyAxMTozOTowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mZGthYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZW5jLmM6CgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZW5jLmg6CgkqIGV4dC9mZGthYWMvcGx1Z2luLmM6CgkgIGZka2FhYzogQWRkIEZESyBBQUMgYmFzZWQgZW5jb2RlciBlbGVtZW50CgkgIFRoaXMgY3VycmVudGx5IG9ubHkgaGFuZGxlcyBMQyBwcm9maWxlIGFuZCBleHBvc2VzIGEgYml0cmF0ZSBwcm9wZXJ0eSwgYnV0CgkgIGhhbmRsZXMgdXAgdG8gNy4xIGNoYW5uZWxzLiBTZWUgVE9ETyBsaXN0IGZvciBtaXNzaW5nIGZlYXR1cmVzLgoKMjAxNi0wOC0wNyAwODo1MTowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Zka2FhYy9NYWtlZmlsZS5hbToKCSogZXh0L2Zka2FhYy9wbHVnaW4uYzoKCSAgZmRrYWFjOiBJbml0aWFsIHBsdWdpbiBza2VsZXRvbgoKMjAxNi0wOC0wMSAxMTo0NTozMCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGtlZXAgZW5kX29mZnNldCB3aGVuIHNlZWtpbmcKCSAgQWZ0ZXIgc2Vla2luZyBpbiBhaWZmIGZpbGVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGF0YSBlbmQgb2Zmc2V0IGlzCgkgIGRpc2NhcmRlZCwgbGVhZGluZyB0byBhdWRpbyBhcnRpZmFjdHMgd2l0aCBtZXRhZGF0YSBjaHVua3MgYXQgdGhlIGVuZCBvZgoJICBhIGZpbGUuCgkgIFRoaXMgcGF0Y2ggcmV0YWlucyB0aGUgZW5kIG9mZnNldCBpbmZvcm1hdGlvbiBhZnRlciBhIHNlZWsgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mzc2CgoyMDE2LTA4LTA2IDE2OjE1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBkb24ndCBjcmFzaCBpZiB2aWRlbyBmcmFtZSBjb3VsZCBub3QgYmUgbWFwcGVkCgkgIEFzIG1pZ2h0IGhhcHBlbiB3aXRoIGUuZy4gdmFhcGkgYW5kIHRoZSB0ZXN0IGZpbGUgZnJvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjI3CgoyMDE2LTA4LTA1IDA5OjE2OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBXaGVuIGRvaW5nIFNJRFggc2Vla2luZywgcmV0dXJuIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIHdpdGggMCBmcm9tIHRoZSBNUEQgc2Vla2luZyBtZXRob2QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTQ3NjU2Y2ZkMjJiNzVmOTE0ZDVhYmUwYWY4MjM5Njc4N2Y2NzU2NC4KCSAgVGhpcyBtYWtlcyBhbGwgZGFzaCBzZWVraW5nIHRlc3RzIGZhaWwuIE5lZWRzIG1vcmUgdGVzdGluZyB0byBmdWxseSB1bmRlcnN0YW5kCgkgIHdoYXQncyBnb2luZyB3cm9uZy4gUmV2ZXJ0IG9rJ2QgYnkgU2ViYXN0aWFuCgoyMDE2LTA1LTMxIDE5OjIxOjE3ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9NYWtlZmlsZS5hbToKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rld2FpdC5jOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGV3YWl0Lmg6CgkqIGdzdC90aW1lY29kZS9wbHVnaW4uYzoKCSAgdGltZWNvZGV3YWl0OiBOZXcgZWxlbWVudCB0byB3YWl0IGZvciBhIHNwZWNpZmljIHRpbWVjb2RlCgkgIHRpbWVjb2Rld2FpdCByZWNlaXZlcyBhIHRpbWVjb2RlIGFzIGFuIGFyZ3VtZW50IChlaXRoZXIgYXMgc3RyaW5nIG9yIGFzCgkgIEdzdFZpZGVvVGltZUNvZGUgLSBvbmUgaXMgZ3N0LWxhdW5jaC1mcmllbmRseSBhbmQgdGhlIG90aGVyIGlzIGNvZGUtZnJpZW5kbHkpLAoJICBhbmQgaXQgd2lsbCBkcm9wIGFsbCBhdWRpbyBhbmQgdmlkZW8gYnVmZmVycyB1bnRpbCB0aGF0IHRpbWVjb2RlIGhhcyBiZWVuCgkgIHJlYWNoZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MTkKCjIwMTYtMDUtMjAgMTg6MTc6NTIgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdGltZWNvZGUvTWFrZWZpbGUuYW06CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJKiBnc3QvdGltZWNvZGUvcGx1Z2luLmM6CgkgIHRpbWVjb2Rlc3RhbXBlcjogTmV3IGVsZW1lbnQgdG8gYXR0YWNoIFNNUFRFIHRpbWVjb2RlIHRvIGJ1ZmZlcnMKCSAgVGhlIHRpbWVjb2Rlc3RhbXBlciBlbGVtZW50IGF0dGFjaGVzIGEgU01QVEUgdGltZWNvZGUgdG8gZWFjaCB2aWRlbyBidWZmZXIuCgkgIFRoaXMgdGltZWNvZGUgY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQgc3RyZWFtIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MTkKCjIwMTYtMDUtMTUgMTc6MjU6NDQgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9UaW1lQ29kZQoJICBUaGUgdGltZWNvZGUgd2lsbCBiZSBmZXRjaGVkIGZyb20gdGhlIHZpZGVvIGJ1ZmZlciBhbmQgb3V0cHV0dGVkIG9uIHRoZQoJICBkZWNrbGluayB2aWRlbyBzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDE5CgoyMDE2LTA1LTE1IDE2OjA0OjE0ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb1RpbWVDb2RlCgkgIFRoZSB0aW1lY29kZSB3aWxsIGJlIGZldGNoZWQgZnJvbSB0aGUgZGVja2xpbmsgc291cmNlIGFuZCBhdHRhY2hlZCB0byB0aGUKCSAgdmlkZW8gYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDE5CgoyMDE2LTA4LTA0IDIzOjE0OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFkZCBtaXNzaW5nIHJnYjE2IGFuZCBiZ3IxNiB2aWRlbyBmb3JtYXRzIGluIHN3aXRjaAoJICBGaXhlcyBhbiBhc3NlcnRpb24gdGhhdCBjb2RlIHNob3VsZCBub3QgYmUgcmVhY2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NDYyCgoyMDE2LTA4LTA0IDIyOjI4OjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBBdm9pZCBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLgoJICBGaXhlcyBDSUQgMTM2NDc1MwoKMjAxNi0wOC0wNCAyMjoyMToxNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBBdm9pZCBjb3Zlcml0eSB3YXJuaW5nIGFib3V0IGFjY2VzcyBvZmYgdGhlIGVuZCBvZiBhbiBhcnJheS4KCSAgRml4ZXMgQ0lEIDEzNjQ3NTUKCjIwMTYtMDgtMDQgMTQ6NDI6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBXaGVuIGRvaW5nIFNJRFggc2Vla2luZywgcmV0dXJuIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIHdpdGggMCBmcm9tIHRoZSBNUEQgc2Vla2luZyBtZXRob2QKCSAgV2UgZG9uJ3QgbmVlZCB0byBjYWxsIHRoZSBsYXR0ZXIgYXQgYWxsIGFzIHdlJ3JlIGRlZmluaXRlbHkgaW4gdGhpcyBwZXJpb2QgYW5kCgkgIHRoZSBzZWdtZW50IGlzIHNlbGVjdGVkIHZpYSB0aGUgU0lEWC4KCSAgVGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIGRvaW5nIFNOQVAgc2Vla3MsIGFzIG90aGVyd2lzZSB3ZSB3b3VsZAoJICBhbHdheXMgc3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwZXJpb2QgKHVzdWFsbHkgMCkgYWdhaW4uCgoyMDE2LTA4LTA0IDExOjA4OjMwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogbTN1ODogcmVtb3ZlIGltcG9zc2libGUgY29uZGl0aW9uCgkgIEFmdGVyIHRoZSBjaGVjayBpbiBsaW5lIDEsMTExLCAgbWVkaWEtPnVyaSBjYW4ndCBiZSBOVUxMLiBTbyB0aGUgdHdvIGNoZWNrcwoJICBmb3IgR1NUX0hMU19NRURJQV9UWVBFX0NMT1NFRF9DQVBUSU9OUyBhcmUgdGhlIHNhbWUsIHJlbW92aW5nIHRoZSByZWR1bmRhbnQKCSAgb25lIHdoaWNoIGdvZXMgdG8gY2NfdW5zdXBwb3J0ZWQuCgkgIENJRCAxMzY0NzUyCgoyMDE2LTA4LTA0IDA0OjUzOjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IG91dHB1dCBwZW5kaW5nIGRhdGEgYWZ0ZXIgZXJyb3IKCSAgSWYgdGhlIGxhc3RfcmV0IHN0YXR1cyBpcyBub3QgT0ssIHNraXAgb3V0cHV0CgkgIG9mIGFueSBwZW5kaW5nIFBDUiBzY2FuIGJ1ZmZlciwgc2ltaWxhcmx5IHRvIGhvdwoJICB0aGUgcGVuZGluZyBkZWNyeXB0aW9uIGJ1ZmZlciBpcyBoYW5kbGVkIGFib3ZlLgoKMjAxNi0wOC0wNCAwNDoyOTozOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE9uIEVPUywgaGFuZGxlIGl0IGJlZm9yZSB3YWtpbmcgZG93bmxvYWQgbG9vcAoJICBPdGhlcndpc2UsIGlmIHRoZSBkb3dubG9hZCBsb29wIHdha2VzIHRvbyBxdWlja2x5LCBpdAoJICBtaWdodCBtaXNzIHRoZSBsYXN0X3JldCB2YWx1ZSB1cGRhdGUgZnJvbSB0aGUgcHJvY2Vzc2luZwoJICB0aHJlYWQgYW5kIGxvb3AgYWdhaW4uCgoyMDE2LTA4LTA0IDAxOjUxOjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXgtdXRpbC5jOgoJICBobHNkZW11eDogSW5jbHVkZSBjb25maWcuaCBhbmQgYWRkIGhlYWRlciBpbiB1dGlscwoJICBJbiBnc3RobHNkZW11eC11dGlsLmMsIGluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueQoJICBvdGhlciBoZWFkZXJzLCBhbmQgYWRkIGEgY29weXJpZ2h0IC8gbGljZW5zZSBoZWFkZXIuCgoyMDE2LTA3LTEzIDExOjAyOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IGRyYWluaW5nIG9uIHdyb25nIHByb2dyYW1zCgkgIFdoZW4gZHJhaW5pbmcgYSBwcm9ncmFtLCB3ZSBtaWdodCBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBvbiB0aGUgcGFkcwoJICB0aGF0IGFyZSBnb2luZyB0byBiZSByZW1vdmVkIChhbmQgdGhlbiB0aGUgcGVuZGluZyBkYXRhKS4KCSAgSW4gb3JkZXIgdG8gZG8gdGhhdCwgY2FsY3VsYXRlX2FuZF9wdXNoX25ld3NlZ21lbnQoKSBuZWVkcyB0byBrbm93CgkgIHdoYXQgbGlzdCBvZiBzdHJlYW1zIGl0IHNob3VsZCB0YWtlIGludG8gYWNjb3VudCAoaW5zdGVhZCBvZiBibGluZGx5CgkgIHVzaW5nIHRoZSBjdXJyZW50IG9uZSkuCgkgIEFsbCBjYWxsZXJzIHRvIGNhbGN1bGF0ZV9hbmRfcHVzaF9uZXdzZWdtZW50KCkgYW5kIHB1c2hfcGVuZGluZ19kYXRhKCkKCSAgY2FuIG5vdyBzcGVjaWZ5IHRoZSBwcm9ncmFtIG9uIHdoaWNoIHRvIGFjdCAob3IgTlVMTCBmb3IgdGhlIGRlZmF1bHQKCSAgb25lKS4KCjIwMTYtMDctMTIgMTU6NTg6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggR0FQIHN5bmNocm9uaXphdGlvbiB3aXRob3V0IGEgdmFsaWQgUENSIFBJRAoJICBGb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSB2YWxpZCBQQ1IgUElELCB3ZSBqdXN0IHVzZSB0aGUgbGF0ZXN0CgkgIFBUUyBmcm9tIGFueSBnaXZlbiBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDgxNDgKCjIwMTYtMDUtMzEgMTM6MDk6NDMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogaGFuZGxlIHBjcl9waWQgPT0gMHgxZmZmCgkgIFN0cmVhbXMgd2l0aG91dCBQQ1IgbWFrZSBzZW5zZXMgaW4gSExTLCB3aGVyZSB0aGUgcGxheWxpc3QgdGltZXN0YW1wcwoJICBjYW4gYmUgdXNlZCB0byBzZWVrIG9yIGNhbGN1bGF0ZSB0aGUgZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDgxNDgKCjIwMTUtMDUtMTAgMjA6MTA6NDkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGRvIG5vdCBhYm9ydCBwbGF5YmFjayB3aGVuIG5vIFBDUiB3ZXJlIGZvdW5kIGR1cmluZyBpbml0aWFsIHNjYW4KCSAgU2Vla2luZyB3aWxsIG5vdCBiZSBwb3NzaWJsZSBpbiB0aG9zZSBzdHJlYW1zIGJ1dCBhdCBsZWFzdCB0aGUgY2FuIGJlCgkgIHBsYXllZC4gTm90ZSBzY2FubmluZyBpcyBvbmx5IGRvbmUgd2hlbiB0c2RlbXV4IGlzIGNvbmZpZ3VyZWQgaW4gcHVsbCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4MTQ4CgoyMDE1LTA1LTA5IDE1OjUyOjIyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBvbmx5IHdhaXQgZm9yIFBDUiB3aGVuIFBDUiBwaWQgaXMgc2V0CgkgIFN0cmVhbXMgd2l0aG91dCBQQ1IgbWFrZSBzZW5zZXMgaW4gSExTLCB3aGVyZSB0aGUgcGxheWxpc3QgdGltZXN0YW1wcwoJICBjYW4gYmUgdXNlZCB0byBzZWVrIG9yIGNhbGN1bGF0ZSB0aGUgZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDgxNDgKCjIwMTYtMDgtMDMgMDQ6MTg6MTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IEZpeCBjb21waWxlciB3YXJuaW5nIGZvciBwb3NzaWJseSB1bmluaXQgdmFyaWFibGUKCjIwMTYtMDctMjggMTQ6MjI6MDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2VlayBhbGwgc3RyZWFtcwoKMjAxNi0wNS0yNSAxMToyMzo1OSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzaW1wbGlmeSBnc3RfaGxzX2RlbXV4X3NlZWsoKQoJICBEb24ndCBpbml0aWFsaXplIGN1cnJlbnRfc2VxdWVuY2UuIEl0IGlzIGFsd2F5cyBvdmVyd3JpdHRlbiBpbiB0aGUgd2FsawoJICBsb29wLgoKMjAxNi0wNS0yNCAxNToyMzoxMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBkb3dubG9hZCB0aGUgbGFzdCBmcmFnbWVudCB3aGVuIHNlZWtpbmcgYmV5b25kIHRoZSBlbmQgb2YgdGhlIHRyYWNrCgkgIEl0J3Mgbm90IHVzZWQgYW55d2F5cy4KCjIwMTYtMDctMTIgMjM6MDU6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC11dGlsLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIElEMyB0YWcgcGFyc2luZwoJICBQYXJzZSBzdGFydCBQVFMgb3V0IG9mIHRoZSBJRDMgdGFncyBpbgoJICBhdWRpbyBmcmFnbWVudHMuIEluZm9ybWF0aW9uYWwgb25seSBmb3Igbm93LgoKMjAxNi0wMi0yNCAxNjo1NzoxNiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LXV0aWwuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBEbyBzb21lIHJlYWRpbmcgYW5kIGR1bXBpbmcgb2YgUENScwoJICBSZWFkIFBDUnMgb3V0IG9mIHRoZSBNUEVHLVRTIHN0cmVhbSBpbiBhIGJhc2ljIHdheQoJICBhbmQgKGZvciBub3cpIGp1c3QgbG9nIHRoZW0KCjIwMTYtMDMtMDUgMDM6MDg6NTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBPbmx5IHVzZSB0aGUgcHJpbWFyeSBzdHJlYW0gZm9yIGJpdHJhdGUgc2VsZWN0aW9uLgoJICBXaGVuIHBsYXlpbmcgYWx0ZXJuYXRlIHJlbmRpdGlvbiBhdXhpbGxpYXJ5IHN0cmVhbXMsIGlnbm9yZQoJICB0aGVtIGluIGJpdHJhdGUgbWVhc3VyZW1lbnQgKGZvciBub3cpLgoKMjAxNi0wNy0xNSAxNjoyNDoxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHNlbGVjdCB2aWRlbyBhbmQgYXVkaW8gc3RyZWFtcyBieSBkZWZhdWx0CgkgIElnbm9yZSBzdWJ0aXRsZSBzdHJlYW1zIGZvciBub3csIGJlY2F1c2UgdGhlCgkgIGRpZmZlcmVudCBmcmFnbWVudCBkdXJhdGlvbiBjYXVzZXMgcHJvYmxlbXMKCSAgc3dpdGNoaW5nIGJpdHJhdGVzIHcvIGRlY29kZWJpbjIgZ3JvdXAgZHJhaW5pbmcuCgoyMDE2LTAyLTI1IDAxOjU4OjI1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUHVibGlzaCBhbGwgbWVkaWEgZm9yIGFsdGVybmF0ZSByZW5kaXRpb25zLgoJICBDcmVhdGUgYW4gb3V0cHV0IHN0cmVhbSBmb3IgZWFjaCBtZWRpYSB3aGVuIGFsdGVybmF0ZSByZW5kaXRpb25zCgkgIGFyZSBwcmVzZW50LiBVcGRhdGUgdGhlIG1hbmlmZXN0cyBmb3IgYWxsIHRob3NlIHN0cmVhbXMsIGFuZAoJICBtYWtlIHN1cmUgdGhhdCB0eXBlZmluZGluZyBpcyBzdGlsbCBkb25lIGZvciBmaWxlcyBzbWFsbGVyIHRoYW4gMktCCgkgIHN1Y2ggYXMgc21hbGwgV2ViVlRUIGZpbGVzLgoKMjAxNi0wMy0wOCAwMToyNDoyMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGp1c3QgZG93bnN0cmVhbSBidWZmZXIgb2Zmc2V0cwoJICBXaGVuIGZldGNoaW5nIGEgYnl0ZS1yZWdpb24gZnJvbSBhIHNlcnZlciByZXNvdXJjZSwKCSAgYWRqdXN0IHRoZSBkb3duc3RyZWFtIGJ1ZmZlciBvZmZzZXRzIHNvIHRoYXQgZG93bnN0cmVhbQoJICBkb2Vzbid0IGtub3cuIFRoaXMgaXMgYmVjYXVzZSBpZDNkZW11eCBpbnNpc3RzIG9uIHRoZQoJICBmaXJzdCBvZmZzZXQgYmVpbmcgMC4gTGF0ZXIgd2UgbWlnaHQgc3RyaXAgSUQzIGhlYWRlcnMKCSAgZW50aXJlbHkgYW5kIHRoaXMgd2lsbCBiZSB1bm5lZWRlZC4KCjIwMTYtMDMtMDkgMDM6MDc6MjIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBDaG9vc2UgdGhlIGRlZmF1bHQgdmFyaWFudCBhbmQgdHJhY2sgaXQgd2hlbiB1cGRhdGluZwoJICBNb2RpZnkgcGxheWxpc3QgdXBkYXRpbmcgdG8gdHJhY2sgaW5mb3JtYXRpb24gYWNyb3NzIHVwZGF0ZXMKCSAgYmV0dGVyLCBhbHRob3VnaCBzdGlsbCBoYWNraXNoLgoJICBXaGVuIGNvbm5lY3Rpb25fc3BlZWQgPT0gMCwgY2hvb3NlIHRoZSBkZWZhdWx0IHZhcmlhbnQKCSAgbm90IHRoZSBmaXJzdCBvbmUgaW4gdGhlIChub3cgc29ydGVkKSB2YXJpYW50IGxpc3QsIGFzIHRoYXQKCSAgd2lsbCBoYXZlIHRoZSBsb3dlc3QgYml0cmF0ZS4KCjIwMTUtMTItMDUgMTE6MTI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtb3ZlIHZhcmlhbnQgbGlzdCBoYW5kbGluZyBvdmVyIHRvIG5ldyBtYXN0ZXIgcGxheWxpc3QgY29kZQoJICBBZGFwdCBobHNkZW11eCBmb3IgdGhlIG0zdTggcGxheWxpc3QgY2hhbmdlcy4KCjIwMTUtMTEtMjcgMTk6MjY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IFJld29yayBtM3U4IHBhcnNpbmcgYW5kIHN0b3JhZ2UuCgkgIE1ha2UgTTNVOCBhbmQgR3N0TTNVOE1lZGlhRmlsZSByZWZjb3VudGVkLiBUaGUgY29udGVudHMKCSAgb2YgaXQgYW5kIEdzdE0zVThNZWRpYUZpbGUgYXJlIHByZXR0eSBtdWNoIGltbXV0YWJsZQoJICBhbHJlYWR5LCBidXQgaWYgd2UgbWFrZSBpdCByZWZjb3VudGVkIHdlIGNhbiBqdXN0CgkgIHJldHVybiBhIHJlZiB0byB0aGUgbWVkaWEgZmlsZSBmcm9tIF9nZXRfbmV4dF9mcmFnbWVudCgpCgkgIGluc3RlYWQgb2YgY29weWluZyBvdmVyIGFsbCBmaWVsZHMgb25lLWJ5LW9uZSwgYW5kIHRoZW4KCSAgY29weWluZyB0aGVtIGFsbCBpbnRvIHRoZSBhZGFwdGl2ZSBzdHJlYW0gc3RydWN0dXJlIGZpZWxkcyBhZ2Fpbi4KCSAgTW92ZSBzdGF0ZSBmcm9tIGNsaWVudCBpbnRvIG0zdTggc3RydWN0dXJlLiAgVGhpcyB3aWxsCgkgIGJlIHVzZWZ1bCBsYXRlciB3aGVuIHdlJ2xsIGhhdmUgbXVsdGlwbGUgbWVkaWEgcGxheWxpc3RzCgkgIGJlaW5nIHN0cmVhbWVkIGF0IHRoZSBzYW1lIHRpbWUsIGFzIHdpbGwgYmUgdGhlIGNhc2Ugd2l0aAoJICBhbHRlcm5hdGl2ZSByZW5kaXRpb25zLgoJICBUaGlzIGhhcyB0aGUgZG93bnNpZGUgdGhhdCB3ZSBuZWVkIHRvIGNvcHkgb3ZlciBzb21lCgkgIHN0YXRlIHdoZW4gd2Ugc3dpdGNoIGJldHdlZW4gdmFyaWFudCBzdHJlYW1zLgoJICBUaGUgR3N0TTNVOENsaWVudCBzdHJ1Y3R1cmUgaXMgZ29uZSwgYW5kIG1haW4vY3VycmVudAoJICBsaXN0cyBhcmUgbm90IGRpcmVjdGx5IGluIGhsc2RlbXV4LiBobHNkZW11eCBoYWQgYXMKCSAgbWFueSBDTElFTlRfTE9DSy9VTkxPQ0sgYXMgdGhlIG0zdTggY29kZSBhbnl3YXkuLi4KCjIwMTYtMDctMjcgMDk6Mjg6MjMgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9wbGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9xbWwucXJjOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL2dyYWJxbWwucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL3FtbC5xcmM6CgkgIHFtbGdsc3JjOiBBZGQgcW1sZ2xzcmMgdW5pdCB0ZXN0IGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE2MAoKMjAxNi0wNy0yNyAwODoxNjo0NyArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5oOgoJKiBleHQvcXQvZ3N0cXRzcmMuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkqIGV4dC9xdC9xdHdpbmRvdy5oOgoJICBxdDogaW1wbGVtZW50IHFtbGdsc3JjIGZvciBxbWwgdmlldyBncmFiCgkgIFtNYXR0aGV3IFdhdGVyc106IGdzdC1pbmRlbnQgc291cmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTYwCgoyMDE2LTA3LTI3IDEwOjU1OjAxICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogRml4IGdsaW1hZ2VzaW5rIGNhbm5vdCBzaG93IGZyYW1lIHdoZW4gY29ubmVjdCB0byBxbWxnbHNyYwoJICBXaGVuIGNvbm5lY3QgdG8gcW1sZ2xzcmMsIHgxMSBldmVudCBsb29wIHdpbGwgYmUgcmVwbGFjZSBieSBxdCBldmVudCBsb29wCgkgIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHdpbmRvdyBjYW5ub3QgcmVjZWl2ZSBldmVudCBmcm9tIHhzZXJ2ZXIsIHN1Y2ggYXMgcmVzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxNjAKCjIwMTYtMDgtMDIgMTc6MjE6MjAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFVzZSBidWZmZXJwb29sIHRvIGFsbG9jYXRlIG5ldyBidWZmZXIgaW4gR0xUZXh0dXJlVXBsb2FkTWV0YQoJICBUbyBpbXByb3ZlIHBlcmZvcm1hY2Ugb2YgdXBsb2FkIHdpdGggR0xUZXh0dXJlVXBsb2FkTWV0YSwKCSAgdXNlIGJ1ZmZlcnBvb2wgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIG5ldyBidWZmZXIgZXZlcnkgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI5MwoKMjAxNi0wNy0yNyAxNDo0ODo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBtb3ZlIHVuc2V0dGluZyBxdWV1ZV9yZXNpemUgdG8gX3Jlc2l6ZSgpIGluc3RlYWQgb2YgX2RyYXcoKQoJICBNYWtlcyBpbmZpbml0ZWx5IG1vcmUgc2Vuc2UgYW5kIGltcGxlbWVudGF0aW9uIHdlcmUgZXhwZWN0aW5nIHRoYXQgYmVoYXZpb3VyCgkgIGFueXdheSBhbmQgd291bGQgZW50ZXIgYSByZXNpemUsIGRyYXcsIHJlc2l6ZSwgZHJhdywgLi4uIGN5Y2xlIGluc3RlYWQgb2Ygb25seQoJICByZXNpemluZyBvbmNlLgoKMjAxNi0wOC0wMyAwOToxNDowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTmV2ZXIgZXZlciBob2xkIHRoZSBtYW5pZmVzdCBsb2NrIHdoaWxlIGNoYW5naW5nIHRoZSBzb3VyY2UgZWxlbWVudCBzdGF0ZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBkZWFkbG9jayBpbiB2YXJpb3VzIHNpdHVhdGlvbnMgdGhhdCB0YWtlIHRoZSBtYW5pZmVzdCBsb2NrCgkgIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgb3Igd2hlbiBzaHV0dGluZyBkb3duIG9yIC4uLgoKMjAxNi0wOC0wMiAxNzowNzozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEluIFBVU0ggbW9kZSB3ZSB3aWxsIG5ldmVyIGdldCB0aGUgSUQzIHRhZ3MgYXMgdGhleSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZQoJICBUaGlzIHByZXZpb3VzbHkgZGlkIG5vdCBmYWlsIGFzIGJlZm9yZSB3ZSBkaWRuJ3QgZ2V0IGFueSB0YWdzIGF0IGFsbCBpbiBQVVNICgkgIG1vZGUsIG5vdyB3ZSBnZXQgdGhlIGJpdHJhdGVzLgoKMjAxNi0wOC0wMiAxMzo0ODo0MyArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEFkZCB0YWdzIGZvciBjb250YWluZXIgZm9ybWF0IGFuZCBiaXRyYXRlCgkgIFRoZSBiaXRyYXRlIGlzIGFkZGVkIHRvIGhlbHAgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSB1cmlkZWNvZGViaW4pCgkgIGZpZ3VyZSBvdXQgYSBwcm9wZXIgbmV0d29yayBidWZmZXIgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mzg5CgoyMDE2LTAxLTIwIDE2OjQyOjI0ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdGVzdCBmb3IgZ3N0X21wZF9jbGllbnRfZ2V0X21heGltdW1fc2VnbWVudF9kdXJhdGlvbgoJICBBZGQgYSB0ZXN0IG9mIHRoZSBnc3RfbXBkX2NsaWVudF9nZXRfbWF4aW11bV9zZWdtZW50X2R1cmF0aW9uKCkgZnVuY3Rpb24KCSAgdG8gY2hlY2sgdGhhdCBpdCBmaXJzdCBjaGVja3MgdGhlIE1QREBtYXhTZWdtZW50RHVyYXRpb24gYW5kIHRoZW4gZmFsbHMKCSAgYmFjayB0byBjaGVja2luZyBhbGwgb2YgdGhlIHNlZ21lbnQgZHVyYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzUxCgoyMDE2LTAyLTI0IDE1OjU0OjU0ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGluY2x1ZGUgc2VnbWVudCBkdXJhdGlvbiB3aGVuIGNhbGN1bGF0aW5nIHNlZWsgcmFuZ2UKCSAgVGhlIGdzdF9kYXNoX2RlbXV4X2dldF9saXZlX3NlZWtfcmFuZ2UgKCkgZnVuY3Rpb24gcmV0dXJucyBhIHN0b3AgdmFsdWUKCSAgdGhhdCBpcyBiZXlvbmQgdGhlIGF2YWlsYWJsZSByYW5nZS4gVGhlIGZ1bmN0aW9ucwoJICBnc3RfbXBkX2NsaWVudF9jaGVja190aW1lX3Bvc2l0aW9uKCkgYW5kCgkgIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X2VuZF90aW1lKCkgaW4KCSAgZ3N0bXBkcGFyc2VyLmMgaW5jbHVkZSB0aGUgc2VnbWVudCBkdXJhdGlvbiB3aGVuIGNoZWNraW5nIGlmIGEgc2VnbWVudAoJICBpcyBhdmFpbGFibGUuIFRoZSBnc3RfZGFzaF9kZW11eF9nZXRfbGl2ZV9zZWVrX3JhbmdlKCkgZnVuY3Rpb24KCSAgaW4gZ3N0ZGFzaGRlbXV4LmMgaWdub3JlcyB0aGUgc2VnbWVudCBkdXJhdGlvbi4KCSAgQWNjb3JkaW5nIHRvIHRoZSBEQVNIIHNwZWNpZmljYXRpb24sIGlmIG1heFNlZ21lbnREdXJhdGlvbiBpcyBub3QgcHJlc2VudCwKCSAgdGhlbiB0aGUgbWF4aW11bSBTZWdtZW50IGR1cmF0aW9uIGlzIHRoZSBtYXhpbXVtIGR1cmF0aW9uIG9mIGFueSBTZWdtZW50CgkgIGRvY3VtZW50ZWQgaW4gdGhlIE1QRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1MQoKMjAxNi0wMi0yNCAxNTo1Mjo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmV0cnkgb25jZSBvbiA0eHgvNXh4IGluIGNlcnRhaW4gY29uZGl0aW9ucwoJICBUaGlzIGhlbHBzIGNhdGNoIHRob3NlIDQwNCBzZXJ2ZXIgZXJyb3JzIGluIGxpdmUgc3RyZWFtcyB3aGVuCgkgIHNlZWtpbmcgdG8gdGhlIHZlcnkgYmVnaW5uaW5nLCBhcyB0aGUgc2VydmVyIHdpbGwgaGFuZGxlIGEKCSAgcmVxdWVzdCB3aXRoIHNvbWUgZGVsYXksIHdoaWNoIGNhbiBjYXVzZSBpdCB0byBkcm9wIHRoZSBmcmFnbWVudAoJICBiZWZvcmUgc2VuZGluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1MQoKMjAxNi0wMi0yNCAxNTo0NzowOSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBleHBvc2UgSFRUUCBzdGF0dXMKCSAgVG8gYWxsb3cgYWRhcHRpdmVkZW11eCB0byBtYWtlIHJldHJ5IGRlY2lzaW9ucywgaXQgbmVlZHMgdG8ga25vdyB3aGF0CgkgIHNvcnQgb2YgSFRUUCBlcnJvciBoYXMgb2NjdXJyZWQuIEZvciBleGFtcGxlLCB0aGUgcmV0cnkgbG9naWMgZm9yIGEKCSAgNDEwIGVycm9yIGlzIGRpZmZlcmVudCBmcm9tIGEgNTA0IGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzUxCgoyMDE2LTAzLTA3IDE3OjA0OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsb3cgc2Vla2luZyBiZWZvcmUgc3RhcnQgaW4gbGl2ZSBzdHJlYW1zCgkgIFNvbWUgZGVyaXZlZCBjbGFzc2VzIChhdCBsZWFzdCBkYXNoZGVtdXgpIGV4cG9zZSBhIHNlZWtpbmcgcmFuZ2UKCSAgYmFzZWQgb24gd2FsbCBjbG9jay4gVGhpcyBtZWFucyB0aGF0IGEgc3Vic2VxdWVudCBzZWVrIHRvIHRoZSBzdGFydAoJICBvZiB0aGlzIHJhbmdlIHdpbGwgYmUgYmVmb3JlIHRoZSBhbGxvd2VkIHJhbmdlLgoJICBUbyBzb2x2ZSB0aGlzLCBzZWVrcyB3aXRob3V0IHRoZSBBQ0NVUkFURSBmbGFnIGFyZSBhbGxvd2VkIHRvIHNlZWsKCSAgYmVmb3JlIHRoZSBzdGFydCBmb3IgbGl2ZSBzdHJlYW1zLCBpbiB3aGljaCBjYXNlIHRoZSBzZWdtZW50IGlzCgkgIHNoaWZ0ZWQgdG8gc3RhcnQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBuZXcgc2VlayByYW5nZS4gSWYgdGhlcmUgaXMKCSAgYW4gZW5kIHBvc2l0aW9uLCBpcyBpcyBzaGlmdGVkIHRvbywgdG8ga2VlcCB0aGUgZHVyYXRpb24gY29uc3RhbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTEKCjIwMTYtMDgtMDEgMTQ6MTI6MzUgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IGhvcml6b250YWwvdmVydGljYWwgZmxpcCBtYXRyaXplcwoJICBUaGV5IHdlcmUgc3dhcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM3MQoKMjAxNi0wNy0yOSAxNjozMjoyMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY0OiBBZGQgbW9yZSBzY2FsYWJsZSBwcm9maWxlcyB0byB0aGUgcHJvZmlsZSBsaXN0CgkgIEFkZGluZyBTY2FsYWJsZSBDb25zdHJhaW5lZCBIaWdoIChHLjEwLjEuMi4xKSBhbmQKCSAgU2NhbGFibGUgSGlnaCBJbnRyYShHLjEwLjEuMykgcHJvZmlsZXMgdG8gdGhlIHByb2ZpbGUgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzAzCgoyMDE2LTA4LTAxIDEwOjMwOjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1zZW5zb3IuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaHNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSdW4gZ3N0LWluZGVudCBvdmVyIGV2ZXJ5dGhpbmcgb25jZSBhZ2FpbgoKMjAxNi0wOC0wMSAxMDoyODoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogSWYgd2UgZmluZCBtdWx0aXBsZSBjb2RlY3Mgd2l0aCB0aGUgc2FtZSBuYW1lLCBqdXN0IG1lcmdlIHRoZW0KCSAgT24gdGhlIE9Ecm9pZCBDMSsgdGhlIEgyNjUgYW5kIEgyNjQgaGF2ZSB0aGUgc2FtZSBuYW1lIGJ1dCBhcmUgbGlzdGVkIGFzIHR3bwoJICBkaWZmZXJlbnQgY29kZWNzLiBXZSBoYXZlIHRvIGhhbmRsZSB0aGVtIGFzIHRoZSBzYW1lIG9uZSB0aGF0IHN1cHBvcnRzIGJvdGgsCgkgIGFzIG90aGVyd2lzZSB3ZSB3aWxsIHJlZ2lzdGVyIHRoZSBzYW1lIEdUeXBlIG5hbWUgdHdpY2Ugd2hpY2ggZmFpbHMgYW5kIHdlCgkgIHRoZW4gb25seSBoYXZlIEgyNjUgc3VwcG9ydCBhbmQgbm90IEgyNjQgc3VwcG9ydC4KCjIwMTYtMDgtMDEgMTA6MTU6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IFVzZSBhIEdRdWV1ZSBmb3IgTygxKSBhcHBlbmQgaW5zdGVhZCBvZiBhIEdMaXN0CgoyMDE2LTA3LTI5IDEyOjMxOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBbHNvIGNhbGwgcmVzZXQoKSBpbiBSRUFEWS0+UEFVU0VECgkgIFRoaXMgYWxsb3dzIHN1YmNsYXNzZXMgdG8gaGF2ZSBpbml0aWFsaXphdGlvbiBjb2RlIGluIGEgc2luZ2xlIHBsYWNlLgoKMjAxNi0wNy0yOSAxMDo0OToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdhdWRpb3BhcnNlLmM6CgkgIHJhd2F1ZGlvcGFyc2U6IFVzZSBHX0dJTlQ2NF9NT0RJRklFUiBmb3IgcG9ydGFiaWxpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI5NQoKMjAxNi0wNy0yOSAxMDowNzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWRhdWRpb3BhcnNlLmM6CgkgIHVuYWxpZ25lZGF1ZGlvcGFyc2U6IEZpeCBlbGVtZW50IGZhY3RvcnkgbmFtZSBvZiBpbm5lciBwYXJzZXIKCjIwMTYtMDctMjkgMDg6NTQ6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IFByaW50IGdlbmVyYXRlZCByYXcvZW5jb2RlZCBjYXBzIGluIGRlYnVnIGxvZ3MKCjIwMTYtMDctMjggMTE6Mjc6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogU2tpcCBhdWRpbyBzdHJlYW1zIGlmIFRSSUNLTU9ERV9OT19BVURJTyBpcyBnaXZlbiBpbiB0aGUgc2VlayBldmVudAoJICBXZSBqdXN0IGRvbid0IGV4cG9zZSBwYWRzIGZvciBhdWRpbyBzdHJlYW1zLCBvciBldmVuIGRvd25sb2FkIHRoZW0uCgoyMDE2LTA3LTI4IDExOjE2OjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUmVzZXQgbnVtYmVyIG9mIHN1YnRpdGxlIHN0cmVhbXMgY291bnRlciBvbiByZXNldCgpIHRvbwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjb250aW51ZSBpbmNyZWFzaW5nIGZvcmV2ZXIgdGhlIG51bWJlciBvZiBzdWJ0aXRsZSBzdHJlYW1zCgkgIHdoZW4gcmV1c2luZyB0aGUgZWxlbWVudCBmb3IgYW5vdGhlciBEQVNIIG1hbmlmZXN0LgoKMjAxNi0wNy0yNiAxNzowMTo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogZml4IHNpbXBsZS1sYXVuY2gtbGluZXMgd2hlbiBqcGVnIGxpYiBpc24ndCBwcmVzZW50CgkgIEpQRUcgZGV0ZWN0aW9uIGluIGNvbmZpZ3VyZS5hYyBkZWZpbmVzIEhBVkVfSlBFRyB0byAwIGlmIHRoZQoJICBqcGVnIGxpYiBpc24ndCBmb3VuZCwgcmF0aGVyIHRoZW4gbm90IGRlZmluaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MTk3CgoyMDE2LTA3LTI1IDE3OjU1OjI0ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICBkb2NzOiBVcGRhdGUgcmF3cGFyc2VyIGRvY3VtZW50YXRpb24KCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDExCgoyMDE2LTA3LTI1IDE3OjU0OjA5ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgcmF3cGFyc2U6IFJlbW92ZSBvbGQgcGFyc2VyIGNvZGUgYW5kIHdyYXAgbmV3IHBhcnNlcnMgaW4gb2xkIGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwMTEKCjIwMTYtMDctMjUgMTM6NDU6NDAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2F1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2F1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWRhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWR2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWR2aWRlb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3Jhd3BhcnNlL3VuYWxpZ25lZHZpZGVvLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IEFkZCBuZXcgcmF3IGF1ZGlvIGFuZCB2aWRlbyBwYXJzZXIgZWxlbWVudHMKCSAgVGhlIG5ldyByYXdhdWRpb3BhcnNlIGFuZCByYXd2aWRlb3BhcnNlIGVsZW1lbnRzIGFyZSBiYXNlZCBvbiBHc3RCYXNlUGFyc2UKCSAgYW5kIGNvbXBsZXRlbHkgcmVwbGFjZSBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwMTEKCjIwMTYtMDctMjYgMTY6MDE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHJlbW92ZSB1bnVzZWQgdG9fcXVpdCB2YXJpYWJsZQoJICBJdCB3YXMgYWx3YXlzIDAgYW5kIG5ldmVyIHNldCB0byBhbnl0aGluZyBtZWFuaW5nZnVsLgoKMjAxNi0wNy0yNiAxNTo1Nzo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBmb3IgR0xfREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UCgkgIEdMRVMyIGRvZXNuJ3QgaGF2ZSBpdCBkZWZpbmVkLi4uCgoyMDE2LTA3LTE1IDEzOjM5OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHBpeGVsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsZmlsdGVyOiByZXdyaXRlIHN1YmNsYXNzZXMgZm9yIGZpbHRlcl90ZXh0dXJlKCkgb2NjdXJpbmcgb24gR0wgdGhyZWFkCgkgIFRoZXJlJ3Mgbm8gbmVlZCBmb3IgdGhlIGp1bXAgdG8gYW4gZXh0cmEgdGhyZWFkIGluIG1vc3QgY2FzZXMsIGVzcGVjaWFsbHkKCSAgd2hlbiByZWx5aW5nIHNvbGVseSBvbiBhIHNoYWRlciB0byByZW5kZXIuICBXZSBjYW4gdXNlIHRoZSBwcm92aWRlZAoJICByZW5kZXJfdG9fdGFyZ2V0KCkgZnVuY3Rpb25zIHRvIHNpbXBsaWZ5IGZpbHRlciB3cml0aW5nLgoKMjAxNi0wNy0xMiAxNTozNDoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1dGlsczogcmVtb3ZlIHVudXNlZCBHc3RHTERpc3BsYXlQcm9qZWN0aW9uCgoyMDE2LTA3LTEyIDE1OjI5OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xjb250ZXh0OiByZW1vdmUgbm90IHRocmVhZC1zYWZlIGdldC9zZXRfZXJyb3IoKQoJICBVc2UgR0Vycm9yJ3MgaW5zdGVhZCBpZiBuZWNlc3NhcnkuCgoyMDE2LTA3LTEyIDEyOjU5OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogcmV3cml0ZSBmb3IgYSBtb3JlIGNvbnNpc3RlbnQgQVBJCgkgIEZhY2lsaXRpZXMgYXJlIGdpdmVuIHRvIGNyZWF0ZSBmYm8ncyBhbmQgYXR0YWNoIEdMIG1lbW9yeSAocmVuZGVyYnVmZmVycwoJICBvciB0ZXh0dXJlcykuICBJdCBhbHNvIGtlZXBzIHRyYWNrIG9mIHRoZSByZW5kZXJhYmxlIHNpemUgZm9yIHVzZSB3aXRoCgkgIGVmZmVjdGl2ZSB1c2Ugd2l0aCBnbFZpZXdwb3J0KCkuCgoyMDE2LTA3LTEyIDAwOjMwOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiB1c2UgR0xNZW1vcnkgZm9yIGFjY2Vzc2luZyB0ZXh0dXJlcyBldmVyeXdoZXJlCgkgIFRoaXMgc2ltcGxpZmllcyBhbmQgY29uc29saWRhdGVzIGEgbG90IG9mIGR1cGxpY2F0ZWQgY29kZSBjcmVhdGluZwoJICBhbmQgbW9kaWZ5aW5nIHRleHR1cmVzLgoKMjAxNi0wNy0xMSAyMjo0NDoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiByZW5hbWUgZHJhd190ZXh0dXJlIHRvIGRyYXdfZnVsbHNjcmVlbl9xdWFkCgkgIEFuZCByZW1vdmUgdW51c2VkIGFyZ3VtZW50cy4KCjIwMTYtMDctMTEgMjI6MzE6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmg6CgkgIGdsOiBhZGQgbWVtb3J5IHR5cGUgZm9yIHJlbmRlcmJ1ZmZlcidzCgkgIFNvb24gdG8gYmUgdXNlZCBmb3IgZnJhbWVidWZmZXJzIGZvciBlLmcuIGRlcHRoIGJ1ZmZlcnMgb3IgdGhyb3dhd2F5IGNvbG9yCgkgIGJ1ZmZlcnMuCgoyMDE2LTA3LTExIDIyOjI4OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkgIGdsZm9ybWF0OiBkZWZpbmUgb3VyIG93biBzZXQgb2YgZm9ybWF0cyBmcm9tIHRoZSBHTCBkZWZpbmVzCgkgIGFsc28gYWRkIHNvbWUgZGVwdGgvc3RlbmNpbCBmb3JtYXRzCgoyMDE2LTA3LTExIDIyOjI0OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogZml4IHhyYXkgdG8gdXNlIHRoZSBjb3JyZWN0IGZ1bmN0aW9uCgkgIEluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhlIHNpbiBlZmZlY3QKCjIwMTYtMDctMTEgMjE6Mjk6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbGJhc2VtZW1vcnk6IGFzc2VydCBmb3IgYSB2YWxpZCBhbGxvY2F0b3IgaW5zdGVhZCBvZiBzZWdmYXVsdGluZwoKMjAxNi0wNC0yOSAxNDo0MjozNCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIExQQ00gd2l0aCBzdHJlYW1fdHlwZSA9IDB4ODMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTgwNwoKMjAxNi0wNy0yNSAxMzowNjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkgIHBsYXllcjogQWRkIHNvbWUgJ2NvbnN0JyB0byBjb25maWcgZ2V0dGVycwoKMjAxNi0wNy0yNSAxMzowNjozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRy1JIGFubm90YXRpb24gZml4ZXMKCjIwMTYtMDctMjUgMTA6MzA6MjYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogbW92ZSAncG9zaXRpb24tdXBkYXRlLWludGVydmFsJyBzZXR0aW5nIHRvIHRoZSBjb25maWcgc3RydWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkxNDQKCjIwMTYtMDctMTkgMTQ6MzY6MjUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogYWRkIEFQSSB0byBjaGFuZ2UgaHR0cCB1c2VyIGFnZW50CgkgIEludHJvZHVjaW5nIGEgbmV3ICdjb25maWcnIEFQSSBzaW1pbGFyIHRvIEdzdEJ1ZmZlclBvb2xDb25maWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzMTQKCjIwMTYtMDctMjUgMTA6NTQ6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc3VibW9kdWxlCgkgIEZvciAnbWFrZSB1cGRhdGUtZXhwb3J0cycgY2hhbmdlcwoKMjAxNi0wNy0yMiAxNzowMDoxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLmNwcDoKCSAgcW1sOiBEb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIGFjdHVhbCBzaW5rIGVsZW1lbnQgYWZ0ZXIgc2V0dGluZyBpdCBvbiBnbHNpbmtiaW4KCjIwMTYtMDctMjIgMTY6NTc6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5jcHA6CgkgIHFtbDogVXNlIGdsc2lua2JpbiBpbnN0ZWFkIG9mIGdsdXBsb2FkIGRpcmVjdGx5CgoyMDE2LTA3LTE4IDE4OjM2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkgIG9wZW5oMjY0OiBmaXggdXAgZm9yIEFQSSBjaGFuZ2VzIGluIHYxLjYuMAoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIHYxLjYuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODc3MQoKMjAxNi0wNy0xOCAxNzo0MzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsOiB3YXlsYW5kOiBpbXByb3ZlIGRlYnVnIG1lc3NhZ2Ugd2hlbiBjb25uZWN0aW5nIHRvIGRpc3BsYXkKCSAgQW5kIGFub3RoZXIgY29weSduJ3Bhc3RlLW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg5MjkKCjIwMTYtMDctMTkgMDI6MTE6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGNsZWFyaW5nIG9mIGRlY3J5cHRpb24gc3RhdGUKCSAgRG9uJ3QgY2xlYXIgZGVjcnlwdGlvbiBzdGF0ZSBpbW1lZGlhdGVseSBhZnRlcgoJICBpbml0aWFsaXNpbmcgaXQgaW4gdGhlIHN0YXJ0X2ZyYWdtZW50LiBEb24ndCBjbGVhcgoJICB0aGUgc3RhdGUgb2YgYWxsIHN0cmVhbXMgd2hlbiB3ZSB3YW50IHRvIG9ubHkgY2xlYXIKCSAgdGhlIGN1cnJlbnQgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc2ODc1NwoKMjAxNi0wNy0xNSAxMDozMTozNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGZpeCBidXMgbGVhawoJICBnc3RfYnVzX3JlbW92ZV9zaWduYWxfd2F0Y2goKSBoYXMgdG8gYmUgY2FsbGVkIHRvIHJlbGVhc2UgdGhlIHJlZgoJICB0YWtlbiBieSBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2goKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODg0MwoKMjAxNi0wNy0xNSAxMTo0ODoyNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbnByZXZpZXc6IGZpeCBidXMgbGVhawoJICBXZSB3ZXJlIG5ldmVyIHJlbW92aW5nIHRoZSB3YXRjaCBpbnRyb2R1Y2VkIGluCgkgIGdzdF9jYW1lcmFiaW5fY3JlYXRlX3ByZXZpZXdfcGlwZWxpbmUoKSBzbyBpdHMgZXh0cmEgcmVmIG9uIHRoZSBidXMgd2FzCgkgIG5ldmVyIHJlbGVhc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODM4CgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBtYWtlIGRlY3J5cHRpb24ga2V5IGhhbmRsaW5nIHBlci1zdHJlYW0KCSAgQWRkIGRlbXV4ZXIgaW5zdGFuY2Utd2lkZSBkZWNyeXB0aW9uIGtleSBjYWNoZS4gVGhlIGN1cnJlbnQgYW5kCgkgIGxhc3Qga2V5IHVybCBhcmUgcGVyLXN0cmVhbSwgc28gbWFrZSBhIHNoYXJlZCBjYWNoZS4gTW92ZSB0aGUKCSAgZGVjcnlwdGlvbiBoYW5kbGluZyBpbnRvIHRoZSBzdHJlYW0gb2JqZWN0LCBhbmQgdXNlIHRoZSBzaGFyZWQKCSAgY2FjaGUgZm9yIHRoZSBrZXlzLgoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGFkZCBobHNkZW11eC1zcGVjaWZpYyBBZGFwdGl2ZURlbXV4U3RyZWFtIHN1YmNsYXNzCgkgIFByZXBhcmUgaGxzZGVtdXggZm9yIG1vcmUgdGhhbiBvbmUgc2luZ2xlIHN0cmVhbS4gQ3VycmVudGx5IGhsc2RlbXV4CgkgIGFzc3VtZXMgdGhlcmUnbGwgb25seSBldmVyIGJlIG9uZSBzdHJlYW0gYW5kIG1vc3Qgb2YgdGhlIHN0cmVhbS1zcGVjaWZpYwoJICBzdGF0ZSBpcyBhY3R1YWxseSBpbiB0aGUgaGxzZGVtdXggc3RydWN0dXJlLiBBZGQgYSBzdHJlYW0gc3ViY2xhc3MKCSAgaW5zdGVhZCBhbmQgbW92ZSBzb21lIHN0cmVhbS1zcGVjaWZpYyBtZW1iZXJzIHRoZXJlIGluc3RlYWQuCgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBBZGQgbW9yZSBzYWZlZ3VhcmRzIGFyb3VuZCBzdGF0ZSBjaGFuZ2VzLgoJICBNYWtlIHN0YXRlIGNoYW5nZXMgb2YgaW50ZXJuYWwgZWxlbWVudHMgbW9yZSByZWxpYWJsZSBieSBsb2NraW5nCgkgIHRoZWlyIHN0YXRlLCBhbmQgZW5zdXJpbmcgdGhhdCB0aGV5IGFyZW4ndCBibG9ja2VkIHB1c2hpbmcgZGF0YQoJICBkb3duc3RyZWFtIGJlZm9yZSB0cnlpbmcgdG8gc2V0IHRoZWlyIHN0YXRlLgoJICBBZGQgYSBib29sZWFuIHRvIGF2b2lkIHN0YXJ0aW5nIHRhc2tzIHdoZW4gdGhlIG1haW4KCSAgdGhyZWFkIGlzIGJ1c3kgdHJ5aW5nIHRvIHNodXQgdGhlIGVsZW1lbnQgZG93bi4KCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBZGQgZGVidWcgY29kZSB0byBjaGFuZ2UgYml0cmF0ZS4KCSAgQWRkIHNvbWUgZGlzYWJsZWQtYnktZGVmYXVsdCBkZWJ1Z2dpbmcgY29kZSB0aGF0IGZvcmNlcwoJICBiaXRyYXRlIGNoYW5nZXMgYnkgbW9kdWxhdGluZyB0aGUgbWVhc3VyZWQgYml0cmF0ZSBldmVyeQoJICBmZXcgZnJhZ21lbnRzCgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTW9yZSBsb2NraW5nL3N3aXRjaGluZyBmaXhlcwoJICBUcnkgaGFyZGVyIHRvIG1ha2Ugc3dpdGNoaW5nIHBhZHMgd29yayBiZXR0ZXIgYnkKCSAgbWFraW5nIHN1cmUgY29uY3VycmVudCBkb3dubG9hZHMgYXJlIGZpbmlzaGVkIGJlZm9yZSBleHBvc2luZwoJICBhIG5ldyBzZXQgb2YgcGFkcy4KCSAgUmVsZWFzZSB0aGUgbWFuaWZlc3QgbG9jayB3aGVuIHNpZ25hbGxpbmcgbm8tbW9yZS1wYWRzLCBhcwoJICB0aGF0IGNhbiBjYWxsIGJhY2sgaW50byBhZGFwdGl2ZWRlbXV4IGFnYWluCgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRG9uJ3Qgc3dpdGNoIHN0cmVhbXMgYW5kIGV4cG9zZSBwYWRzIHdoaWxlIGRvd25sb2FkaW5nLgoJICBJZiBvdGhlciBzdHJlYW0gZnJhZ21lbnRzIGFyZSBzdGlsbCBkb3dubG9hZGluZyBidXQgbmV3IHN0cmVhbXMKCSAgaGF2ZSBiZWVuIHNjaGVkdWxlZCwgZG9uJ3QgZXhwb3NlIHRoZW0geWV0IC0gd2FpdCB1bnRpbCB0aGUgbGFzdAoJICBvbmUgZmluaXNoZXMuIE90aGVyd2lzZSwgd2UgY2FuIGNhbmNlbCBhIHBhcnRpYWxseSBkb3dubG9hZGVkCgkgIGF1eGlsbGlhcnkgc3RyZWFtIGFuZCBjYXVzZSBhIGdhcC4KCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEcm9wIHRoZSBtYW5pZmVzdCBsb2NrIGR1cmluZyBvdXRib3VuZCBhY3Rpb25zCgkgIERyb3AgdGhlIG1hbmlmZXN0IGxvY2sgd2hlbiBwZXJmb3JtaW5nIGFjdGlvbnMgdGhhdCBtaWdodAoJICBjYWxsIGJhY2sgaW50byBhZGFwdGl2ZWRlbXV4IGFuZCB0cmlnZ2VyIGRlYWRsb2Nrcywgc3VjaAoJICBhcyBhZGRpbmcvcmVtb3ZpbmcgcGFkcyBvciBzZW5kaW5nIGluLWJhbmQgZXZlbnRzIChFT1MpLgoJICBVbmxvY2sgdGhlIG1hbmlmZXN0IGxvY2sgd2hlbiBjaGFuZ2luZyB0aGUgY2hpbGQgYmluIHN0YXRlIHRvCgkgIE5VTEwsIGFzIGl0IG1pZ2h0IGNhbGwgYmFjayB0byBhY3F1aXJlIHRoZSBtYW5pZmVzdCBsb2NrIHdoZW4KCSAgc2h1dHRpbmcgZG93biBwYWRzLgoJICBEcm9wIHRoZSBtYW5pZmVzdCBsb2NrIHdoaWxlIHB1c2hpbmcgZXZlbnRzLgoKMjAxNi0wNy0xMiAxNDo1MTo0NyAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLXNlbnNvci5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLXNlbnNvci5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoc3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoc3NyYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdHNlbnNvcnMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBaHNDYWxsYmFjay5qYXZhOgoJICBuZXcgcGx1Z2luOiBBbmRyb2lkIGhhcmR3YXJlIHNlbnNvciBzb3VyY2UKCSAgYWhzc3JjIGlzIGEgbmV3IHBsdWdpbiB0aGF0IGVuYWJsZXMgR3N0cmVhbWVyIHRvIHJlYWQgZnJvbSB0aGUKCSAgYW5kcm9pZC5oYXJkd2FyZS5TZW5zb3IgQW5kcm9pZCBzZW5zb3JzLiBUaGVzZSBzZW5zb3JzIGFyZSB0cmVhdGVkIGFzCgkgIGJ1ZmZlcnMgYW5kIGNhbiBiZSBwYXNzZWQgdGhyb3VnaCBhbmQgbWFuaXB1bGF0ZWQgYnkgdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTEwCgoyMDE2LTA3LTE0IDE5OjM4OjI2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IG1ha2UgaXQgYnVpbGQgd2l0aCBvbGRlciBsaWx2CgkgIEltcGxlbWVudGluZyB0aGUgcmVtb3ZhbCBvZiBwcmVzZXRzIGlzIHVuZm9ydHVuYXRlbHkgbm90IGZlYXNpYmxhIHdpdGgKCSAgdmVyc2lvbnMgPCAwLjIyLgoJICBGaXhlcyAjNzY4NTk1CgoyMDE2LTA3LTEzIDIzOjAwOjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZWNob3Byb2JlLmNwcDoKCSAgd2VicnRjZHNwOiBBZGQgZGVsYXktYWdub3N0aWMgcHJvcGVydHkKCSAgSW4gdGhpcyBtb2RlLCB3ZSBsZXQgV2ViUlRDIEF1ZGlvIFByb2Nlc3NpbmcgZmlndXJlLW91dCB0aGUgZGVsYXkuIFRoaXMKCSAgaXMgdXNlZnVsIHdoZW4gdGhlIGxhdGVuY3kgcmVwb3J0ZWQgYnkgdGhlIHN0YWNrIGNhbm5vdCBiZSB0cnVzdGVkLiBOb3RlCgkgIHRoYXQgaW4gdGhpcyBtb2RlLCB0aGUgbGVha2luZyBvZiBlY2hvIGR1cmluZyBwYWNrZXQgbG9zdCBpcyBtdWNoIHdvcnN0LgoJICBJdCBpcyByZWNvbW1hbmRlZCB0byB1c2UgUExDIChlLmcuIHNwYW5wbGMsIG9yIG9wdXMgYnVpbHQtaW4gcGxjKS4KCSAgSW4gdGhpcyBtb2RlLCB3ZSBkb24ndCBkbyBhbnkgc3luY2hyb25pemF0aW9uLiBJbnN0ZWFkLCB3ZSBzaW1wbHkgcHJvY2VzcyBhbGwKCSAgdGhlIGF2YWlsYWJsZSByZXZlcnNlIHN0cmVhbSBkYXRhIGFzIGl0IGNvbWVzLgoKMjAxNi0wNy0xMiAwMDowMjo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJICBqcGVnMjAwMHBhcnNlOiBVc2UgY29ycmVjdCBlbnVtIHR5cGUKCSAgR1NUX0pQRUcyMDAwX1NBTVBMSU5HX1JHQiBpbnN0ZWFkIG9mIEdTVF9KUEVHMjAwMF9DT0xPUlNQQUNFX1JHQgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4Njk2CgoyMDE2LTA3LTExIDIxOjEzOjU4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMzYzYjMyIHRvIGY0OWM1NWUKCjIwMTYtMDctMTEgMTE6NTg6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmg6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBGaXggb2Zmc2V0cyBoYW5kbGluZwoJICBUaGUgY2FsY3VsYXRpb24gb2YgdGhlIG9mZnNldCB0YWJsZSB3YXMgZG9uZSBiYXNlIG9uIGEgcGxhbmUgc2l6ZQoJICBlc3RpbWF0aW9uLiBUaGlzIGRvZXMgbm90IGFsd2F5cyB3b3JrLiBJbnN0ZWFkLCB1c2UgbWVtb3J5IG9mZnNldCB0aGUKCSAgc2FtZSB3ZSBhcyBpdCdzIGltcGxlbWVudCBpbiBHc3RWaWRlb01ldGEgbWFwIGZ1bmN0aW9ucy4KCjIwMTYtMDctMTEgMTk6MjE6MTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIEZpeCB2YXJpb3VzIGdib29sZWFuIHZzIEdzdEZsb3dSZXR1cm4gcHJvYmxlbXMKCSAgQ2F1Z2h0IGJ5IGJ1aWxkaW5nIHdpdGggTVNWQyB3aGljaCBnYXZlIHdhcm5pbmdzIGZvciB0aGVzZQoKMjAxNi0wNy0wOCAxOTowMzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC9idWlsZDogZml4IGNvbmZpZ3VyZSB3aGVuIC0tZW5hYmxlLWNvY29hIGlzIHBhc3NlZCBvbiBPUyBYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg1NTMKCjIwMTYtMDctMTAgMjA6NDM6MTcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgbHYyOiBwbGFubmluZyB1cGRhdGUKCjIwMTYtMDctMTAgMjA6NDI6NDIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiBrZWVwIHdvcmtpbmcgd2l0aCBvbGRlciB2ZXJzaW9ucwoJICBQcm92aWRlIGEgZmFsbGJhY2sgaW1wbC4gZm9yIHRoZSBvbmx5IG5ldyBmdW5jdGlvbiB3ZSB3ZXJlIHVzaW5nIGZyb20gMC4yMi4KCSAgRml4ZXMgIzc2ODU5NQoKMjAxNi0wNy0wOCAxNDo0MjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgZG9jcyBzZWN0aW9uCgoyMDE2LTA3LTA3IDEzOjIyOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQ2xlYW51cCB1bnVzZWQgdmFyaWFibGUKCSAgV2Ugb25seSBjaGVjayBmb3IgYSBoZWFkZXIsIG5vIG5lZWQgZm9yIG92ZXJyaWRpbmcgTERGTEFHUy4KCjIwMTYtMDctMDcgMTc6MjQ6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaTogZml4IGRvY3VtZW50YXRpb24gd2FybmluZyBpbiBHc3RHYXVzc2lhbkJsdXIKCSAgRml4aW5nIHRoZSBmb2xsb3dpbmcgd2FybmluZyB3aGVuIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbjoKCSAgeG1sL2VsZW1lbnQtZ2F1c3NpYW5ibHVyLnhtbDo3MjogZWxlbWVudCByZWZzZWN0MjogdmFsaWRpdHkgZXJyb3IgOgoJICBJRCBHc3RHYXVzc2lhbkJsdXIgYWxyZWFkeSBkZWZpbmVkCgkgIDxyZWZzZWN0MiBpZD0iR3N0R2F1c3NpYW5CbHVyIiByb2xlPSJ0eXBlZGVmIj4KCSAgXgoJICBXYXJuaW5nOiBtdWx0aXBsZSAiSURzIiBmb3IgY29uc3RyYWludCBsaW5rZW5kOiBHc3RHYXVzc2lhbkJsdXIuCgkgIERPQyAgIEZpeGluZyBjcm9zcy1yZWZlcmVuY2VzCgoyMDE2LTA3LTA3IDE3OjE2OjQ3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJICBnYXVkaTogZml4IGRvY3VtZW50YXRpb24gd2FybmluZyBpbiBHc3RDaHJvbWl1bQoJICBGaXhpbmcgdGhlIGZvbGxvd2luZyB3YXJuaW5nIHdoZW4gZ2VuZXJhdGluZyBkb2N1bWVudGF0aW9uOgoJICB4bWwvZWxlbWVudC1jaHJvbWl1bS54bWw6NzQ6IGVsZW1lbnQgcmVmc2VjdDI6IHZhbGlkaXR5IGVycm9yIDoKCSAgSUQgR3N0Q2hyb21pdW0gYWxyZWFkeSBkZWZpbmVkCgkgIDxyZWZzZWN0MiBpZD0iR3N0Q2hyb21pdW0iIHJvbGU9InR5cGVkZWYiPgoJICBeCgkgIFdhcm5pbmc6IG11bHRpcGxlICJJRHMiIGZvciBjb25zdHJhaW50IGxpbmtlbmQ6IEdzdENocm9taXVtLgoJICBET0MgICBGaXhpbmcgY3Jvc3MtcmVmZXJlbmNlcwoKMjAxNi0wNy0wNyAxMjozMToyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB3ZWJydGNkc3A6IFJlbGF4IEMrKzExIGNoZWNrCgkgIFRoZSBsaWJyYXJ5IGRvZXMgbm90IHJlcXVpcmUgYW55IFNUTCBDKysxMSBzcGVjaWZpYyBoZWFkZXJzLgoJICBUaGlzIGZpeGVzIG91ciBPU1ggYnVpbGQgYXMgd2UgdGFyZ2V0IGEgU0RLIHZlcnNpb24gdGhhdCBkb2VzIG5vdAoJICBzdXBwb3J0IEMrKzExIFNUTC4KCjIwMTYtMDctMDcgMTI6MzE6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2VicnRjZHNwOiBBZGQgQW5kcm9pZCBHTlVTVEwgc3VwcG9ydAoKMjAxNi0wNy0wNyAxMjoyMDo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB3ZWJydGNkc3A6IFNldCBVU0VfV0VCUlRDRFNQIHdoZW4gZGlzYWJsZWQKCjIwMTYtMDctMDcgMTc6MjA6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFsc28gY29uc2lkZXIgbW9yZSBzZWVrIGZsYWdzIGFzICJzbmFwIiBzZWVrcwoJICBJbiB0aGUgY2FzZSBvZiBLRVlfVU5JVCBhbmQgVFJJQ0tNT0RFX0tFWV9VTklUUyBzZWVrcywgd2Ugd2FudCB0bwoJICAic25hcCIgdG8gdGhlIGNsb3Nlc3QgZnJhZ21lbnQuCgkgIFdpdGhvdXQgdGhpcywgd2UgZW5kIHVwIHB1c2hpbmcgb3V0IGEgc2VnbWVudCB3aGljaCBkb2VzIG5vdCBtYXRjaAoJICB0aGUgZmlyc3QgZnJhZ21lbnQgdGltZXN0YW1wIGJlaW5nIHB1c2hlZCBvdXQsIHJlc3VsdGluZyBpbiBvbmUgb3IKCSAgbW9yZSBidWZmZXJzIGJlaW5nIGV2ZW50dWFsbHkgZHJvcHBlZCBiZWNhdXNlIHRoZXkgYXJlIG91dCBvZiBzZWdtZW50LgoKMjAxNi0wNy0wNiAxNDoyOTowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2VicnRjZHNwOiBBbHNvIGFsbG93IHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nIDAuMwoJICBJdCBzZWVtcyB0byB3b3JrIGFuZCBpcyB0aGUgdmVyc2lvbiBhdmFpbGFibGUgaW4gRGViaWFuLgoKMjAxNi0wNy0wNiAxMjoxMjo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICBtdXNlcGFja2RlY2s6IHVuc2lnbmVkIGNhbid0IGJlIGxlc3MgdGhhbiB6ZXJvCgkgIExlc3MtdGhhbi16ZXJvIGNvbXBhcmlzb24gb2YgYW4gdW5zaWduZWQgdmFsdWUsIGd1aW50NjQsIGlzIG5ldmVyIHRydWUKCSAgQ0lEIDEzNjMzMzQKCjIwMTYtMDctMDYgMTM6NTE6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOS4xID09PQoKMjAxNi0wNy0wNiAxMzowNzoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjEKCjIwMTYtMDctMDYgMTE6NTI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wNy0wNiAxMDoxOToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wNy0wNSAwOToyMTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IFdvcmthcm91bmQgR0NDL01pbmdXIDQuNyBsaW1pdGF0aW9ucwoJICBJdCByZWZ1c2VzIHRvIGluaXRpYWxpemUgYSBjbGFzc2VzIHVzaW5nIGJyYWNrZXRzIG5vdGF0aW9uLiBUaGlzIGlzCgkgIHRvIGFsbG93IGJ1aWxkaW5nIHVzaW5nIG91ciBtaW5ndyB2ZXJzaW9uLgoKMjAxNi0wNy0wNCAxNDo1NzoxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBtaXNzaW5nIGRvdWJsZSBxdW90ZXMKCSAgVGhhdCBhZmZlY3RhdGlvbiB3YXMgaWdub3JlZC4gVGhpcyB3b3JrZWQgb24gcmVjZW50IEdDQyBhcyBDKysxMSBpcwoJICBlbmFibGVkIGJ5IGRlZmF1bHQgbm93LgoKMjAxNi0wNy0wMiAxMDoyNDo1MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5oOgoJICBsdjI6IGFkZCBzdXBwb3J0IGZvciBzYXZpbmcgcHJlc2V0cwoJICBQbHVnbnMgc3VwcG9ydGluZyB0aGUgc3RhdGUgaW50ZXJmYWNlIGNhbiBub3cgc2F2ZSB0aGVpciBwcmVzZXRzIHVuZGVyICcubHYyJy4KCjIwMTYtMDYtMTUgMjI6MjI6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmg6CgkgIGx2Mjogc3VwcG9ydCBmb3IgbG9hZGluZyBwcmVzZXRzCgkgIERldGVjdCBpZiBwbHVnaW5zIGNhbiBkbyBwcmVzZXRzLiBMYXppbHkgcmVhZCBhIGxpc3Qgb2YgcHJlc2V0cyBhbmQgYWRkIHN1cHBvcnQKCSAgZm9yIGxvYWRpbmcuCgoyMDE2LTA3LTA0IDE2OjU0OjUzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJICBtdXNlcGFja2RlYzogcG9ydCB0byAxLjAKCjIwMTYtMDctMDQgMTI6MTk6MzYgKzAyMDAgIE1hcmNpbiBMZXdhbmRvd3NraSA8bWFyY2luQHJhZGlva2l0Lm9yZz4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogRG8gbm90IGNhbGwgZ3N0X3BvbGxfcmVtb3ZlX2ZkIHVwb24gc3RvcCBpZiByZWFkaW5nIHdhcyBuZXZlciBzdGFydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgzNjUKCjIwMTYtMDctMDEgMTQ6NTA6MjcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogaW1wcm92ZSBwYXJzaW5nLXN1Y2Nlc3MgbWVzc2FnZQoJICAqIEZpeCB0eXBvCgkgICogR2l2ZSBpbmZvcm1hdGlvbiBvbiB3aGF0IHdhcyBhY3R1YWxseSBwYXJzZWQKCjIwMTYtMDctMDEgMTQ6Mzc6MzcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogZG9uJ3QgdXNlIGRlZmF1bHQgY29uZiBmaWxlbmFtZSBmb3IgbWVzc2FnZXMKCSAgVGhlIGZpbGUgbmFtZSBjYW4gYmUgdXNlci1kZWZpbmVkLgoKMjAxNi0wNy0wMSAxOToyMjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogZml4IGJ1aWxkIHNvbWUgbW9yZSB3aGVuIFFQQSBpcyBub3QgYXZhaWxhYmxlCgkgIENvbXBpbGVyIHdvdWxkIGNvbXBsYWluIGFib3V0IGluY2x1ZGUgZGlyZWN0b3J5IHRoYXQgZGlkbid0CgkgIGV4aXN0IGJlY2F1c2UgUVBBX0lOQ0xVREVfUEFUSCBnZXRzIHN1YnN0LWVkIHJlZ2FyZGxlc3MKCSAgKGFuZCBpZiBpdCBkaWRuJ3Qgd2UnZCBoYXZlIGp1c3QgYW4gZW1wdHkgLUkgYXJndW1lbnQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTUzCgoyMDE2LTA3LTAxIDE0OjA1OjQ5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkgIGdzdGpwZWcyMDAwcGFyc2U6IG5vIG5lZWQgZm9yIGVsc2UgYWZ0ZXIgYSBnb3RvCgkgIGVsc2UgY2xhdXNlIGlzIHJlZHVuZGFudCB3aGVuIHRoZSBlbmQgb2YgdGhlIGlmIHN0YXRlbWVudCBpcyBhIGp1bXAuCgkgIElmIHdlIGhhdmVuJ3QgZ29uZSB0byB0aGUgYmVhY2gsIHdlIGFyZSBpbiB0aGUgZmFsc2UgYnJhbmNoLgoKMjAxNi0wNi0zMCAwNzo0Nzo1MCAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkgIGdzdGpwZWcyMDAwcGFyc2U6IGltcHJvdmVkIHBhcnNpbmcgb2YganBjIG1hZ2ljIGFuZCBqMmMgYm94CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1MTIKCjIwMTYtMDUtMjUgMTY6MDE6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQWRkIGN1c3RvbSBmbG93IHJldHVybiBmb3IgYWxsb3dpbmcgc3ViY2xhc3NlcyB0byBzcGVjaWZ5IHdoZW4gYSBmcmFnbWVudCBpcyBmaW5pc2hlZAoJICBJZiBpdCBpcyBmaW5pc2hlZCBiZWZvcmUgdXBzdHJlYW0gZ29pbmcgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MzY1CgoyMDE2LTA1LTI3IDE2OjA4OjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBTSURYIHRyYWNraW5nIGJhc2VkIG9uIGJ1ZmZlciBvZmZzZXQKCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGJ1dCBhbHNvIHJlbW92ZXMgYSBidWcgd2l0aCB0cmFja2luZyBvZiB0aGUgcmVtYWluaW5nCgkgIHNpemUgZm9yIHRoZSBpbml0aWFsIHN1YmZyYWdtZW50OiB3ZSB3ZXJlIG5vdCBjb25zaWRlcmluZyB0aGUgc2l6ZSBiZXR3ZWVuIHRoZQoJICBpbmRleCBhbmQgdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBtb29mIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2ODQKCjIwMTYtMDMtMzEgMTM6Mzk6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkga2VlcCB0cmFjayBvZiBjdXJyZW50IG9mZnNldAoJICBHc3RBZGFwdGVyIGRvZXMgbm90IGd1YXJhbnRlZSB0byBwYXNzIHRocm91Z2ggYWxsIHRoZSBvZmZzZXRzLCB3ZSBoYXZlIHRvIGtlZXAKCSAgdHJhY2sgb2YgaXQgb3Vyc2VsdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njg0CgoyMDE2LTAzLTMxIDEzOjM5OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb2Zmc2V0CgkgIEdzdEFkYXB0ZXIgZG9lcyBub3QgZ3VhcmFudGVlIHRvIHBhc3MgdGhyb3VnaCBhbGwgdGhlIG9mZnNldHMsIHdlIGhhdmUgdG8ga2VlcAoJICB0cmFjayBvZiBpdCBvdXJzZWx2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2ODQKCjIwMTYtMDMtMzEgMTM6MDE6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBDbGVhciBwZW5kaW5nIGRhdGEgd2hlbiBuZWVkZWQKCSAgV2hlbiBzd2l0Y2hpbmcgZnJhZ21lbnRzIHdlIGRvbid0IHdhbnQgdG8ga2VlcCBhbnkgZGF0YSBhcm91bmQgZnJvbSB0aGUgbGFzdAoJICBvbmUsIGFuZCBhbHNvIGZvcmdldCBhYm91dCBhbGwgZGF0YSB3aGVuIGRvaW5nIGZsdXNoaW5nIHNlZWtzIG9yIHNlbGVjdGluZyBuZXcKCSAgYml0cmF0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2ODQKCjIwMTYtMDMtMjggMTM6NDU6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogR2V0IHJpZCBvZiBpbnRlcm5hbCBzdHJlYW0gYWRhcHRlciBhbmQgbGV0IHN1YmNsYXNzZXMgaGFuZGxlIHRoaXMgZGlyZWN0bHkKCSAgVGhpcyBhbGxvd3Mgc3ViY2xhc3NlcyB0byBoYXZlIG1vcmUgY29udHJvbCBhbmQgZXNwZWNpYWxseSBlbnN1cmUgdGhhdCB0aGV5CgkgIHB1c2ggZGF0YSBkb3duc3RyZWFtIHdpdGggdGhlIGNvcnJlY3Qgb2Zmc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDY4NAoKMjAxNi0wNy0wMSAxMjoyMDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWcyMDAwOiBkb24ndCBhbGxvdyAwIHZhbHVlIGZvciBhcnJheSBhY2Nlc3Mgd2l0aCBpLTEKCjIwMTYtMDctMDEgMTI6MTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnMjAwMDogZml4IHBvc3NpYmxlIG91dC1vZi1ib3VuZHMgYXJyYXkgYWNjZXNzCgkgIHNpemVvZihhcnJheSkgIT0gR19OX0VMRU1FTlRTKGFycmF5KS4KCSAgQ0lEIDEzNjI5MDAKCjIwMTYtMDYtMzAgMjM6Mzg6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogU2V0IGZyYW1lIHRpbWVzdGFtcHMgYmVmb3JlIHNlbmRpbmcgdG8gdGhlIGVuY29kZXIKCjIwMTYtMDYtMzAgMjM6MzU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogRml4IGluaXRpYWwgdGltZS1wZXItZnJhbWUgY2FsY3VsYXRpb24KCjIwMTYtMDYtMzAgMjM6MzM6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuaDoKCSAgb3BlbmgyNjRlbmM6IFJlbW92ZSBtZWFuaW5nbGVzcyBkcm9wIGJpdHJhdGUgaGFuZGxpbmcKCSAgVGhpcyBkb2Vzbid0IGV2ZW4gaGF2ZSBhIHByb3BlcnR5LgoKMjAxNi0wNi0zMCAyMzoyOToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJICBvcGVuaDI2NGVuYzogRXhwb3NlIG1heGltdW0gYml0cmF0ZSBzZXR0aW5nCgoyMDE2LTA2LTMwIDIzOjE5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFjdHVhbGx5IGhvb2sgdXAgdGhlIHJhdGUtY29udHJvbCBwcm9wZXJ0eQoKMjAxNi0wNi0zMCAyMzowNjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBVc2UgYSBjb25zdGFudCBTUFMvUFBTIElEIG5vIG1hdHRlciBpZiBvcGVuaDI2NCBvbGRlciBvciBuZXdlciB0aGFuIDEuNCBpcyB1c2VkCgoyMDE2LTA2LTMwIDIzOjAyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IE1ha2Ugc2xpY2Ugc2V0dGluZ3MgbW9yZSBleHBsaWNpdCBhbmQgZG9uJ3Qgc2V0IGFueSBudW1iZXIgaWYgbm90IGEgZml4ZWQgbnVtYmVyIG9mIHNsaWNlcyBpcyBzZWxlY3RlZAoKMjAxNi0wNi0yOSAxNTo1Njo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2VjaG9wcm9iZS5jcHA6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZWNob3Byb2JlLmg6CgkgIHdlYnJ0Y2RzcDogUmV3cml0ZSBlY2hvIGRhdGEgc3luY2hyb25pemF0aW9uCgkgIFRoZSBwcmV2aW91cyBjb2RlIHdvdWxkIHJ1biBvdXQgb2Ygc3luYyBpZiB0aGVyZSB3YXMgcGFja2V0IGxvc3QKCSAgb3IgY2xvY2sgc2tld3MuIFdoZW4gdGhhdCBoYXBwZW5lZCwgdGhlIGVjaG8gY2FuY2VsbGF0aW9uIGZlYXR1cmUgd291bGQKCSAgY29tcGxldGVseSBzdG9wIHdvcmtpbmcuIEFzIHRoaXMgaXMgY3J1Y2lhbCBmb3IgYXVkaW8gY2FsbHMsIHRoaXMgcGF0Y2gKCSAgcmUtaW1wbGVtZW50IHN5bmNocm9uaXphdGlvbiBjb21wbGV0ZWx5LgoJICBJbnN0ZWFkIG9mIGxldHRpbmcgaXQgZHJpZnQgdW50aWwgbmV4dCBkaXNjb250LCB3ZSBub3cgc3luY2hyb25pemUKCSAgYWdhaW5zdCB0aGUgcmVjb3JkIGRhdGEgYXQgZXZlcnkgaXRlcmF0aW9uLiBUaGlzIHdheSB3ZSBzaW1wbHkgbmV2ZXIKCSAgbGV0IHRoZSBzdHJlYW0gZHJpZnQgZm9yIGxvbmdlciB0aGVuIDEwbXMgcGVyaW9kLiBXZSBhbHNvIHNob3J0ZXIgdGhlCgkgIGRlbGF5IGJ5IHVzaW5nIHRoZSBsYXRlbmN5IHVwIHRoZSBwcm9iZSAoYmFzaWNhbGx5IGV4Y2x1ZGluZyB0aGUgc2luawoJICBsYXRlbmN5LiBUaGlzIGlzIGEgZGVjZW50IGRlbGF5IHRvIGF2b2lkIHN0YXJ2aW5nIGluIHRoZSBwcm9iZSBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODAwOQoKMjAxNi0wNi0yOSAxNTo1NToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IFdlIG5vdyBmYWlsIGlmIHRoZXJlIGlzIG5vIGVjaG8gcHJvYmUKCSAgV2hlbiBlY2hvIGNhbmNlbCBpcyBlbmFibGVkLCB3ZSBub3cgZmFpbCB0aGUgcGlwZWxpbmUgaWYgdGhlcmUgaXMKCSAgbm90IGVjaG8gcHJvYmUuIEZvciB0aGlzIHJlYXNvbiB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGlmIHByb2JlCgkgIHBvaW50ZXIgaXMgc2V0IGFueW1vcmUuCgoyMDE2LTA2LTMwIDIxOjUwOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBmaXggdHJhbnNmb3JtYXRpb24gbWF0cml4IHVzYWdlCgkgIENhbGxpbmcgZ2xVbmlmb3JtTWF0cml4IGJlZm9yZSB0aGUgc2hhZGVyIGlzIGJvdW5kIGlzIGludmFsaWQgYW5kCgkgIHdvdWxkIHJlc3VsdCBpbiBlcnJvcnMgbGlrZToKCSAgR0xfSU5WQUxJRF9PUEVSQVRJT04gaW4gZ2xVbmlmb3JtTWF0cml4KHByb2dyYW0gbm90IGxpbmtlZCkKCSAgTW92ZSBnbFVuaWZvcm1NYXRyaXgoKSB0byBhZnRlciB0aGUgZ3N0X2dsX3NoYWRlcl91c2UoKSBjYWxsLgoKMjAxNi0wNi0yOCAxNjowNzo0MyAtMDQwMCAgSmF2aWVyIE1hcnRpbmV6IENhbmlsbGFzIDxqYXZpZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGZhbGxiYWNrIHRvIHVuaXZlcnNhbCBwbGFuZXMgaWYgbm8gb3ZlcmxheSBwbGFuZSBpcyBmb3VuZAoJICBXaXRob3V0IHNldHRpbmcgdGhlIERSTV9DTElFTlRfQ0FQX1VOSVZFUlNBTF9QTEFORVMgY2FwYWJpbGl0eSBiaXQsIG9ubHkKCSAgb3ZlcmxheSBwbGFuZXMgYXJlIG1hZGUgYXZhaWxhYmxlIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5IGNsaWVudHMuCgkgIEJ1dCBpZiBhIENSVEMgZG9lc24ndCBoYXZlIGFuIG92ZXJsYXkgcGxhbmUgYXNzb2NpYXRlZCwgdGhlbiBrbXNzaW5rIGlzCgkgIG5vdCBhYmxlIHRvIGZpbmQgYSBwbGFuZSBmb3IgdGhlIENSVEMgYW5kIHRoZSBwaXBlbGluZSB3aWxsIGZhaWwsIGkuZToKCSAgRVJST1IgICAgICAgICAgICAgICAga21zc2luayBnc3RrbXNzaW5rLmM6NDgyOmdzdF9rbXNfc2lua19zdGFydDo8a21zc2luazA+IENvdWxkIG5vdCBmaW5kIGEgcGxhbmUgZm9yIGNydGMKCSAgSWYgbm8gb3ZlcmxheSBwbGFuZXMgd2VyZSBmb3VuZCBmb3IgYSBnaXZlbiBDUlRDLCBmYWxsYmFjayB0byB1bml2ZXJzYWwKCSAgcGxhbmVzIHNvIERSTSB3aWxsIGFsc28gcmV0dXJuIHByaW1hcnkgcGxhbmVzIHRoYXQgY2FuIGJlIHVzZWQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE4MwoJICBTaWduZWQtb2ZmLWJ5OiBKYXZpZXIgTWFydGluZXogQ2FuaWxsYXMgPGphdmllckBvc2cuc2Ftc3VuZy5jb20+CgoyMDE2LTA2LTI4IDIwOjUxOjU2IC0wNDAwICBKYXZpZXIgTWFydGluZXogQ2FuaWxsYXMgPGphdmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGFkZCBhIHBsYW5lLWlkIHByb3BlcnR5CgkgIFdpdGhvdXQgc2V0dGluZyB0aGUgRFJNX0NMSUVOVF9DQVBfVU5JVkVSU0FMX1BMQU5FUyBjYXBhYmlsaXR5IGJpdCwgb25seQoJICBvdmVybGF5IHBsYW5lcyBhcmUgbWFkZSBhdmFpbGFibGUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY2xpZW50cy4KCSAgQnV0IGlmIGEgQ1JUQyBkb2Vzbid0IGhhdmUgYW4gb3ZlcmxheSBwbGFuZSBhc3NvY2lhdGVkLCB0aGVuIGttc3NpbmsgaXMKCSAgbm90IGFibGUgdG8gZmluZCBhIHBsYW5lIGZvciB0aGUgQ1JUQyBhbmQgdGhlIHBpcGVsaW5lIHdpbGwgZmFpbCwgaS5lOgoJICBFUlJPUiAgICAgICAgICAgICAgICBrbXNzaW5rIGdzdGttc3NpbmsuYzo0ODI6Z3N0X2ttc19zaW5rX3N0YXJ0OjxrbXNzaW5rMD4gQ291bGQgbm90IGZpbmQgYSBwbGFuZSBmb3IgY3J0YwoJICBUaGlzIHBhdGNoIGFkZHMgYSBwbGFuZS1pZCBwcm9wZXJ0eSB0byB0aGUga21zc2luayBlbGVtZW50IHNvIGEgc3BlY2lmaWMKCSAgcGxhbmUgY2FuIGJlIHVzZWQgaW4gY2FzZSB0aGF0IGEgQ1JUQyBoYXMgb25seSBhIHByaW1hcnkgcGxhbmUgYXNzb2NpYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE4MwoKMjAxNi0wNi0zMCAxMDozMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBSZW1vdmUgYnJva2VuIGJ5dGUtc3RyZWFtIHRvIGF2YyBjb252ZXJzaW9uIGFuZCBqdXN0IG91dHB1dCBieXRlLXN0cmVhbSBhcyBnZW5lcmF0ZWQgYnkgdGhlIGVuY29kZXIKCSAgVGhlIGJ5dGUtc3RyZWFtIHRvIGF2YyBjb252ZXJzaW9uIGRpZCBub3QgY29uc2lkZXIgTkFMIHNpemVzIGJpZ2dlciB0aGFuIDJeMTYsCgkgIG11bHRpcGxlIGxheWVycywgbXVsdGlwbGUgTkFMcyBwZXIgbGF5ZXIsIGFuZCB2YXJpb3VzIG90aGVyIHRoaW5ncy4gVGhpcwoJICBjYXVzZWQgY29ycnVwdGVkIHN0cmVhbXMgaW4gaGlnaGVyIGJpdHJhdGVzIGFuZCBvdGhlciBjaXJjdW1zdGFuY2VzLgoJICBMZXQncyBqdXN0IGZvcndhcmQgYnl0ZS1zdHJlYW0gYXMgZ2VuZXJhdGVkIGJ5IHRoZSBlbmNvZGVyIGFuZCBsZXQgaDI2NHBhcnNlCgkgIGhhbmRsZSBjb252ZXJzaW9uIHRvIGF2YyBpZiBuZWVkZWQuIFRoYXQgd2F5IHdlIG9ubHkgaGF2ZSB0byBrZWVwIGFyb3VuZCBvbmUKCSAgdmVyc2lvbiBvZiB0aGUgY29udmVyc2lvbiBhbmQgZG9uJ3QgaGF2ZSB0byBmaXggaXQgaW4gbXVsdGlwbGUgcGxhY2VzLgoKMjAxNi0wNi0yOSAxODozNjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRHJvcCBmaWxsZXIgZGF0YQoJICBXaGVuIHNraXBwaW5nIGRhdGEsIGNoZWNrIGlmIHRoZXkgYXJlIGZpbGxlciBieXRlcy4gSWYgc28sIGRyb3AgdGhlCgkgIGRhdGEgaW5zdGVhZCBvZiBza2lwcGluZy4gV2UgZG9uJ3Qgd2FudCB0byBvdXRwdXQgZmlsbGVyIGJ5dGVzLCBidXQgdGhleQoJICBzaG91bGRuJ3QgY2F1c2UgYSBkaXNjb250aW51aXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTI1CgoyMDE2LTA2LTMwIDA4OjMxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IFVzZSBhIG5vbi10aW1lciBHc3RQb2xsCgkgIHNldF9mbHVzaGluZygpIGNhdXNlcyBpbmNvbnNpc3RlbnQgc3RhdGVzIG9uIHRpbWVyIHBvbGxzIGFuZCBhbHNvIHNpZ25hbHMgYQoJICBnX2NyaXRpY2FsKCkgbm93YWRheXMgYmVjYXVzZSBvZiB0aGF0LgoKMjAxNi0wNi0zMCAxNDowNDozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggcmF3IGRhdGEgdXBsb2FkZXIgd2l0aCBhZGRpdGlvbiBvZiBHc3RWaWRlb0dMVGV4dHVyZVR5cGUKCSAgRml4ZXMgcmVncmVzc2lvbiBmcm9tIDk4OTIwMDgyMGQ0M2M3OGZiMTc5ZDc5ODQ4Mjc4MDBkODM3ODczOTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODIxNwoKMjAxNi0wNi0yOSAyMzo1NToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbHZpZGVvY29udmVydDogUkcvTEEgaXMgYXZhaWxhYmxlIGluIE9wZW5HTCBFUyAzLCBzbyBsZXQgdGhhdCB0aHJvdWdoCgoyMDE2LTA2LTI5IDE4OjM1OjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICB2dGRlYzogdXNlIEwvTEEgdGV4dHVyZXMgb24gR0xFUzIgYXMgd2VsbAoKMjAxNi0wNi0yNCAxMzo0MToxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsL2VhZ2w6IHRyeSBnZXR0aW5nIGEgZ2xlczMgY29udGV4dCIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWIxNDI3MzYzMTg0NjNlNmU1NTNjMjE3MDdiYTBkNzE2Zjg1YTQ2Zi4KCSAgdnRkZWMgbm93IHN1Y2Nlc3NmdWxseSBvdXRwdXRzIHRleHR1cmVzIHRoYXQgY2FuIGJlIGNvbnZlcnRlZCBieQoJICBnbGNvbG9yY29udmVydCBpbiBHTEVTMyBjb250ZXh0cy4KCjIwMTYtMDYtMjUgMDA6MDU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIHZ0ZGVjOiBhZGQgc3VwcG9ydCBmb3IgemVyb2NvcHkgZGVjb2Rpbmcgd2l0aCBHTEVTIDMueAoJICBJdCBzZWVtcyB0aGF0IFJlZC9SRyB0ZXh0dXJlcyBhcmVuJ3Qgc3VwcG9ydGVkIGFueW1vcmUgZm9yIHplcm9jb3B5IGRlY29kaW5nCgkgIHdpdGggR0xFUyAzLnguICBJbnN0ZWFkIHVzZSBMdW1pbmFuY2UvTHVtaW5hbmNlIEFscGhhIHRleHR1cmVzIHdoaWNoIGFyZS4KCjIwMTYtMDYtMjggMTM6NTE6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsbWVtb3J5OiBhZGQgdGhlIHRleHR1cmUgdHlwZSB0byBhbGxvY2F0ZSB0byBwYXJhbWV0ZXJzCgkgIFJhdGhlciB0aGFuIGFzc3VtaW5nIHNvbWV0aGluZy4gIGUuZy4gemVyb2NvcHkgb24gaU9TIHdpdGggR0xFUzMgcmVxdWlyZXMKCSAgdGhlIHVzZSBvZiBMdW1pbmFuY2UvTHVtaW5hbmNlIEFscGhhIGZvcm1hdHMgYW5kIGRvZXMgbm90IHdvcmsgd2l0aAoJICBSZWQvUkcgdGV4dHVyZXMuCgoyMDE2LTA2LTI4IDEzOjA5OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGRvbid0IGFzc3VtZSBSZWQvUkcgdGV4dHVyZXMgd2lsbCBiZSB1c2VkCgkgIFRha2UgdGhlIHVzZWQgdGV4dHVyZSB0eXBlIGZyb20gdGhlIG1lbW9yeSBpbnN0ZWFkLgoJICBGaXhlcyBjb252ZXJzaW9uIGZyb20gbXVsdGktcGxhbmFyIFlVViBmb3JtYXRzIHdpdGggdHdvIGNvbXBvbmVudHMgcGVyIHBsYW5lCgkgIChOVjEyLCBOVjIxLCBZVVkyLCBVWVZZLCBHUkFZMTZfKiwgZXRjKSB3aXRoIEx1bWluYW5jZSBBbHBoYSBpbnB1dCB0ZXh0dXJlcy4KCSAgVGhpcyBpcyBhbHNvIG5lZWRlZCBmb3IgemVyb2NvcHkgZGVjb2Rpbmcgb24gaU9TIHdpdGggR0xFUyAzLnguCgoyMDE2LTA2LTI4IDEzOjAyOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogY29ycmVjdCBwcmVjb25kaXRpb24gZm9yIGdldF9nbF92ZXJzaW9uCgkgIFRoZSBpbnRlbnRpb24gd2FzIHRvIGFzc2VydCBpZiBib3RoIG1haiBhbmQgbWluIHdlcmUgTlVMTCAoYXMgdGhlcmUgd291bGQgYmUgbm8KCSAgcG9pbnQgY2FsbGluZyB0aGUgZnVuY3Rpb24pLiAgSW5zdGVhZCBpZiBlaXRoZXIgbWFqIG9yIG1pbiB3ZXJlIE5VTEwsIHRoZSBhc3NlcnQKCSAgd291bGQgb2NjdXIuCgkgIEZpeCB0aGF0LgoKMjAxNi0wNi0yOCAxOToyNjoyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlcGxhY2Ugc29tZSBtb3JlIGdzdF9jYXBzX3RvX3N0cmluZygpIHdpdGggR1NUX1BUUl9GT1JNQVQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE0NgoKMjAxNi0wNi0yOCAxMTo1MDo1OSAtMDQwMCAgSm9uYXRoYW4gUm95IDxqcm95QGFkZXRlbGdyb3VwLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogbGVhayBvbiBjYXBzIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTQ2CgoyMDE2LTA2LTI4IDExOjA4OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmM6CgkgIGpwZWcyMDAwcGFyc2U6IGZpeCB0eXBvIGluIHNhbXBsaW5nIGNoZWNrCgkgIEZpeGluZyBzbWFsbCB0eXBvIHRoYXQgY2hhbmdlcyB0aGUgdmFsdWUgb2YgdGhlIHJldHVybi4KCjIwMTYtMDYtMjcgMjE6MzY6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IElnbm9yZSBrbXNzaW5rIGZvciBzdGF0ZSBjaGFuZ2UgdGVzdAoJICBJdCBjYW4gb25seSBiZSBwdXQgdG8gUkVBRFkgaWYgdGhlIERSTSBzdHVmZiBpcyBhdmFpbGFibGUuCgoyMDE2LTA2LTI3IDE4OjE1OjA4ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogRml4IGJ1aWxkIGVycm9yIHdoZW4gZG9uJ3QgaGF2ZSBRUEEgaW5zdGFsbGVkLgoJICBDaGVjayBoZWFkZXIgZmlsZSBleGlzdGFuY2UgYW5kIHdyYXAgdGhlIGhlYWRlciBmaWxlIGluY2x1ZGUKCSAgaW4gdGhlIG5lY2Vzc2FyeSAjaWZkZWYgdG8gYXZvaWQgYnVpbGQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1NTMKCjIwMTYtMDYtMjQgMTg6MTQ6MDYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBtYWtlIHN1cmUgd2UgaGF2ZSBhbiBlcnJvciBpbiBjYXNlIG9mIHBhcnNpbmcgZmFpbHVyZQoJICBEcm9wIGEgcmVkdW5kYW50IGNvbW1lbnQgYW5kIHJlbGxvY2F0ZSBhbm90aGVyIG9uZSB3aGlsZSBhdCBpdC4KCjIwMTYtMDYtMjIgMTY6MTQ6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogaW1wbGVtZW50IGNoYW5uZWxzLmNvbmYgZm9ybWF0IGF1dG9kZXRlY3Rpb24KCSAgU2ltcGxlIGF1dG9kZXRlY3Rpb24gYXZvaWRzIGhhdmluZyB0byBjYWxsIHRoZSBwYXJzZXJzCgkgIG9uZSBhZnRlciB0aGUgb3RoZXIuCgoyMDE2LTA2LTIxIDE2OjA4OjU3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHJlbmFtZSB2NS96YXAgcGFyc2VycyBmb3IgY29uZ3J1ZW5jeQoJICBBZGQgZnVuY3Rpb24gcHJvdG90eXBlcyB3aGlsZSBhdCBpdC4KCjIwMTYtMDQtMTIgMjE6MDQ6MjUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogZml4IG1vZHVsYXRpb24gbmFtZXMKCSAgU29tZSBuYW1lcyB3ZXJlIGluY29ycmVjdC4gQXV0aG9yaXRhdGl2ZSBzb3VyY2UgZm9yCgkgIHRoZSBkdmJ2NSBmb3JtYXQgdGFrZW4gZnJvbSB2NGwtdXRpbHMnIGxpYi9saWJkdmJ2NS9kdmItdjUuYwoJICBBZGl0aW9uYWxseSwgYWRkIHRoZSBtaXNzaW5nIHNldHRlciBtYXBwaW5nIGZvciB0aGUKCSAgbW9kdWxhdGlvbiBwYXJhbS4KCSAgVGhpcyBjaGFuZ2UgbWFrZXMgQVRTQyB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTU3CgoyMDE2LTAyLTI0IDIxOjQ0OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogYWxzbyBhY2NlcHQgRFZCdjUgY2hhbm5lbHMuY29uZiBmb3JtYXQKCSAgQ29uZmlybWVkIHdvcmtpbmcgd2l0aCBJU0RCLVQgJiBBVFNDIGNvbmYgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5NTcKCjIwMTYtMDYtMjEgMTE6NDg6MzYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IElTREItVCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMKCSAgRHJvcCBzb21lIHN0YWxlIHRyYWlsaW5nIHdoaXRlc3BhY2Ugd2hpbGUgYXQgaXQuCgoyMDE2LTA2LTIxIDExOjMyOjA3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBtaXNwbGFjZWQgc3BhY2Ugb24gZG9jIGJsb2NrCgoyMDE2LTA1LTEwIDAzOjMyOjU5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogV2hlbiBpbnB1dCBhbGlnbm1lbnQ9QVUsIGFsd2F5cyBkcmFpbiBlYWNoIHBhY2tldC4KCSAgSWYgdGhlIGlucHV0IGFsaWdubWVudCBjbGFpbXMgQVUgYWxpZ25tZW50LCBlYWNoIHJlY2VpdmVkCgkgIGJ1ZmZlciBzaG91bGQgY29udGFpbiBhIGNvbXBsZXRlIHZpZGVvIGZyYW1lLCBzbyBuZXZlciBob2xkIG92ZXIgcGFydHMKCSAgb2YgYnVmZmVycyBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4gQWxzbyByZWR1Y2VzIGxhdGVuY3ksIGFzIHBhY2tldHMKCSAgYXJlIHBhcnNlZC9jb252ZXJ0ZWQgYW5kIG91dHB1dCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIDEgYnVmZmVyCgkgIGxhdGVyLgoJICBGaXhlcyBhIHByb2JsZW0gd2hlcmUgYW4gKGFyZ3VhYmx5IGRpc2FsbG93ZWQpIHBhZGRpbmcgYnl0ZSBvbiB0aGUKCSAgZW5kIG9mIGEgYnVmZmVyIGlzIGRldGVjdGVkIGFzIGFuIGV4dHJhIGJ5dGUgaW4gdGhlIGZvbGxvd2luZwoJICBzdGFydCBjb2RlLCBhbmQgbWVzc2VzIHVwIHRoZSB0aW1lc3RhbXBpbmcgdGhhdCBzaG91bGQgYXBwbHkgdG8KCSAgdGhhdCBzdGFydCBjb2RlLgoKMjAxNi0wNi0yNCAxMzowNToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIGNvZGVjcGFyc2VycyAuZGVmIGZpbGUgZm9yIG5ldyBzeW1ib2xzCgoyMDE2LTA2LTI0IDA5OjQxOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBmaXggbW9yZSBicm9rZW4gaW5jbHVkZXMKCjIwMTYtMDYtMjQgMDk6Mzk6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuaDoKCSAgdmlkZW9wYXJzZXJzOiBmaXggYnJva2VuIGluY2x1ZGUKCjIwMTYtMDYtMjEgMTI6NDE6NDYgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5oOgoJICBqcGVnMjAwMHBhcnNlOiB1c2UgZW51bXMgZm9yIGNvbG9yc3BhY2UgYW5kIHNhbXBsaW5nLCByYXRoZXIgdGhhbiBzdHJpbmdzCgkgIEFsc28sIG1vdmUgZ3N0anBlZzIwMDBzYW1wbGluZyB0byBjb2RlY3BhcnNlcnMgcHJvamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3OTA4CgoyMDE2LTA2LTI0IDAxOjU3OjEzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTmVlZCB0byBhZGQgLURHU1RfU1RBVElDX0NPTVBJTEFUSU9OIHdoZW4gYnVpbGRpbmcgb25seSBzdGF0aWNhbGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0NjMKCjIwMTYtMDYtMjMgMTU6NTc6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkgIGVnbGltYWdlOiBPbmx5IHJlZ2lzdGVyIGRlYnVnIGNhdGVnb3J5IGlmIGRtYWJ1ZiBzdXBwb3J0IGlzIGVuYWJsZWQKCSAgSXQncyBub3QgdXNlZCBvdGhlcndpc2UgY3VycmVudGx5IGFuZCBjYXVzZXMgY29tcGlsZXIgd2FybmluZ3MuCgoyMDE2LTA2LTIyIDIyOjI4OjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0Y2RzcDogT2Zmc2V0IHRpbWVzdGFtcCB3aXRoIGR1cmF0aW9uCgkgIFRoZSBzYXZlZCB0aW1lc3RhbXAgaXMgdXNlZCB0byBjb21wdXRlIHRoZSBkZWxheSBvZiB0aGUgcHJvYmUgZGF0YS4KCSAgQXMgaXQncyB1c2VkIGF0IHRoZSBmb2xsb3dpbmcgaW5jb21pbmcgYnVmZmVyLCBpdCBuZWVkcyB0byBiZSBvZmZzZXQKCSAgd2l0aCB0aGUgZHVyYXRpb24gb2YgdGhlIGJ1ZmZlciB0byByZXByZXNlbnQgdGhlIGVuZCBwb3NpdGlvbi4gQWxzbywKCSAgcHJvcGVybHkgaW5pdGlhbGl6ZSB0aGUgc2F2ZWQgdGltZXN0YW1wIGFuZCBwcm90ZWN0IGFnYWluc3QgVElNRV9OT05FLgoKMjAxNi0wNi0yMiAyMTo1NDoxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IFN5bmNocm9uaXplIHdpdGggZGVsYXlzCgkgIFVudGlsIG5vdywgd2Ugd2VyZSBzeW5jaHJvbml6aW5nIGJvdGggRFNQIGFuZCBQcm9iZSBhZGFwdGVyIGJ5CgkgIHdhaXRpbmcgYW5kIGNsaXBwaW5nIHRoZSBwcm9iZSBhZGFwdGVyIGRhdGEuIFRoaXMgaW5jcmVhc2VzIHRoZSBDUFUKCSAgdXNhZ2UsIGNhbiBjYXVzZSBjb3BpZXMgaWYgdGhlIGF1ZGlvIGlzIG5vdCAxMG1zIGFsaWduZWQgYW5kIHRoZSB3b3JzdAoJICBpcyB0aGF0IGl0IHByZXZlbnRzIHRoZSBwcm9jZXNzaW5nIGZyb20gY29tcGVuc2F0aW5nIGZvciBpbmFjY3VyYXRlCgkgIGxhdGVuY3kuIFRoaXMgaXMgYWxzbyBhIHN0ZXAgZm9yd2FyZCB0b3dhcmQgc3VwcG9ydGluZyBwbGF5YmFjawoJICBmaWx0ZXJzLgoKMjAxNi0wNi0yMiAyMTo0NTowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGRzcDogUmVtb3ZlIHJlc3RyaWN0aW9uIG9uIGNoYW5uZWxzIG51bWJlcgoJICBVbmxpa2UgMC4xLCBpbiAwLjIgdGhlIHJldmVyc2Ugc3RyZWFtIGNhbiBoYXZlIGRpZmZlcmVudCBudW1iZXIgb2YKCSAgY2hhbm5lbHMuIFJlbW92ZSB0aGUgY2hlY2sgdGhhdCByZXN0cmljdCBpdC4KCjIwMTYtMDYtMjIgMjE6NDQ6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSAgd2VicnRjZHNwOiBTdHlsZSBmaXgKCjIwMTYtMDYtMTYgMTQ6MTg6MTggKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IG1pbmltaXplIHJlbmVnb3RpYXRpb24gdG8gbWFrZSBodyBkZWNvZGluZyBtb3JlIHJlbGlhYmxlCgkgIFRoZSBoYXJkd2FyZSBkZWNvZGVyIGNhbiBiZWNvbWUgKHRlbXBvcmFyaWx5KSB1bmF2YWlsYWJsZSBhY3Jvc3MKCSAgVlREZWNvbXByZXNzaW9uU2Vzc2lvbkNyZWF0ZS9EZXN0cm95IGNhbGxzLiBEdXJpbmcgbmVnb3RpYXRpb24gaWYgdGhlIGN1cnJlbnRseQoJICBjb25maWd1cmVkIGNhcHMgYXJlIHN0aWxsIGFjY2VwdGVkIGJ5IGRvd25zdHJlYW0gd2Uga2VlcCB1c2luZyB0aGVtIHNvIHdlIGRvbid0CgkgIGhhdmUgdG8gZGVzdHJveSBhbmQgcmVjcmVhdGUgdGhlIGRlY29kaW5nIHNlc3Npb24uCgkgIFRoaXMgaW5kaXJlY3RseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDI5LCBieQoJICBtYWtpbmcgdnRkZWMgc3RpY2sgdG8gR0xNZW1vcnkuCgoyMDE2LTA2LTE2IDE1OjEzOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRwbHVnaW4ucHJvOgoJICBxbWxnbHNpbms6IGFkZCB3aW4zMiBzdXBwb3J0CgkgIFRoZSBjdXJyZW50IHN0YXRlIG9mIGMrKyBBQkkncyBvbiBXaW5kb3cncyBhbmQgR3N0J3MvUXQncyBjb25mbGljdGluZwoJICBtaW5ndyBidWlsZHMgbWVhbnMgdGhhdCB3ZSBjYW5ub3QgdXNlIG1pbmd3IGZvciBidWlsZGluZyB0aGUgcXQgcGx1Z2luLgoJICBJbnN0ZWFkLCBhIHFtYWtlIC5wcm8gZmlsZSBpcyBwcm92aWRlZCB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIHVzZWQgd2l0aCB0aGUKCSAgbXN2YyBiaW5hcmllcyBwcm92aWRlZCBieSBRdCBsaWtlIHNvOgoJICAod2l0aCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBwYXRoIHRvIHRoZSBxdCBiaW5pYXJpZXMKCSAgYW5kIFBLR19DT05GSUdfUEFUSCBjb250YWluaW5nIHRoZSBwYXRoIHRvIEdTdHJlYW1lciBtb2R1bGVzKQoJICBjZCAvcGF0aC90by9zb3VyY2VzL2dzdC1wbHVnaW5zLWJhZC9leHQvcXQKCSAgcW1ha2UgLXRwIHZjCgkgIFRoZW4gb3BlbiB0aGUgcmVzdWx0aW5nIFZTIHByb2plY3QgYW5kIGJ1aWxkIHRoZSBsaWJyYXJ5LiAgVGhlbgoJICBjcCBkZWJ1Zy9saWJnc3RxdHNpbmsuZGxsIC9wYXRoL3RvL3ByZWZpeC9saWIvZ3N0cmVhbWVyLTEuMC9saWJnc3RxdHNpbmsuY2xsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyNjAKCjIwMTYtMDYtMjEgMTE6NDA6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIEFkZCBtaXNzaW5nIGZpbGUgdG8gZ2l0aWdub3JlCgoyMDE2LTA2LTIwIDE4OjUyOjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFuZHJvaWRjYW1lcmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta21zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGNkc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgZG9jOiBBdXRvbWF0aWMgdXBkYXRlCgkgIFRoaXMgaXMgYW4gYXV0b21hdGljIHVwZGF0ZSB3aXRoIG1hbnVhbCBtZXJnZXMgb2YgcnVubmluZwoJICAibWFrZSB1cGRhdGUiIGluIHRoZSBkb2MvcGx1Z2lucyBkaXJlY3RvcnkuIFRoaXMgc2hvdWxkIGhlbHAKCSAgbGF0ZXIgbWFpbnRlbmFuY2Ugb2YgdGhlIHBsdWdpbnMgZG9jLiBBIGxvdCBvZiBwbHVnaW4gYXJlCgkgIG5vdCByZWZlcmVuY2VkIHlldCBpbiB0aGUgZG9jLiBXaWxsIGNvbWUgbGF0ZXIuCgoyMDE2LTA2LTIwIDE2OjMwOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvYzogQWRkIC5jcHAgZmlsZXMgdG8gZG9jIHBhcnNlcgoJICBBbHNvLCBjb21wbGV0ZSB0aGUgbGlzdCBvZiBkaXJlY3RvcnkgdGhhdCBuZWVkIHRvIGJlIHZpc2l0ZWQuCgoyMDE2LTA2LTA2IDE1OjEwOjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnJ0Y2RzcC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5oOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2VjaG9wcm9iZS5jcHA6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZWNob3Byb2JlLmg6CgkgIHdlYnJ0Y2RzcDogQWRkIFdlYlJUQyBBdWRpbyBQcm9jZXNzaW5nIHN1cHBvcnQKCSAgVGhpcyBEU1AgbGlicmFyeSBjYW4gYmUgdXNlZCB0byBlbmhhbmNlIHZvaWNlIHNpZ25hbCBmb3IgcmVhbCB0aW1lCgkgIGNvbW11bmljYXRpb24gY2FsbC4gSW4gaW1wbGVtZW50cyBtdWx0aXBsZSBmaWx0ZXJzIGxpa2Ugbm9pc2UgcmVkdWN0aW9uLAoJICBoaWdoIHBhc3MgZmlsdGVyLCBlY2hvIGNhbmNlbGxhdGlvbiwgYXV0b21hdGljIGdhaW4gY29udHJvbCwgZXRjLgoJICBUaGUgd2VicnRjZHNwIGVsZW1lbnQgY2FuIGJlIHVzZWQgYWxvbmcsIG9yIHdpdGggdGhlIGhlbHAgb2YgdGhlCgkgIHdlYnJ0Y2VjaG9wcm9iZSBpZiBlY2hvIGNhbmNlbGxhdGlvbiBpcyBlbmFibGVkLiBUaGUgZWNobyBwcm9iZSBzaG91bGQKCSAgYmUgcGxhY2VkIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSBhdWRpbyBzaW5rLCB3aGlsZSB0aGUgRFNQIGlzCgkgIGdlbmVyYWxseSBwbGFjZSBjbG9zZSB0byB0aGUgYXVkaW8gY2FwdHVyZS4gRm9yIGxvY2FsIHRlc3RpbmcsIG9uZSBjYW4KCSAgdXNlIGFuIGVjaG8gbG9vcCBwaXBlbGluZSBsaWtlIHRoZSBmb2xsb3dpbmc6CgkgIGF1dG9hdWRpb3NyYyAhIHdlYnJ0Y2RzcCAhIHdlYnJ0Y2VjaG9wcm9iZSAhIGF1dG9hdWRpb3NpbmsKCSAgVGhpcyBwaXBlbGluZSBzaG91bGQgcHJvZHVjZSBhIHNpbmdsZSBlY2hvIHJhdGhlciB0aGVuIHJlcGVhdGVkIGVjaG8uCgkgIFRob3NlIGVsZW1lbnRzIHdvcmtzIGlmIHRoZXkgYXJlIHBsYWNlZCBpbiB0aGUgc2FtZSB0b3AgbGV2ZWwgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc4MDAKCjIwMTYtMDYtMjEgMTE6NDY6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWMyZjY0NyB0byBmMzYzYjMyCgoyMDE2LTAzLTIyIDE2OjUxOjUzICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSAgZ2xjb250ZXh0L3dnbDogdHJ5IHdnbENyZWF0ZUNvbnRleHRBdHRyaWJzQVJCIGV2ZW4gbm90IGdsMyBjb3JlIHByb2ZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDAxOAoKMjAxNi0wNi0yMSAxODoyODo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCBnZXRfY3VycmVudF9nbF9hcGkoKSBvbiB3aW4zMgoJICBBbm90aGVyIGNhc2Ugb2YgaW5jb3JyZWN0IGNhbGxpbmcgY29udmVudGlvbnMuCgkgIFVzaW5nIHRoaXMgZnVuY3Rpb24gb24gd2luMzIgd291bGQgY29ycnVwdCB0aGUgc3RhY2sgcG9pbnRlciBhbmQgZW5kIGluCgkgIG1hc3NpdmUgaGlsYXJpdHkuCgoyMDE2LTA2LTE1IDEyOjQ3OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHNsOiBmaXh1cCBleHRlcm5hbC1vZXMgc2hhZGVycyBieSBtYW5nbGluZyB0aGUgcmVxdWlyZWQgZXh0ZW5zaW9uCgkgIE5ld2VyIGRldmljZXMgcmVxdWlyZSB1c2luZyBhIGRpZmZlcmVudCBHTFNMIGV4dGVuc2lvbiBmb3IgYWNjZXNzaW5nCgkgIGV4dGVybmFsLW9lcyB0ZXh0dXJlcyBpbiBhIHNoYWRlciB1c2luZyB0aGUgdGV4dHVyZSgpIGZ1bmN0aW9ucy4KCSAgV2hpbGUgdGhlIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWxfZXNzbDMgc2hvdWxkIHN1cHBvc2VkbHkgYmUgc3VwcG9ydGVkCgkgIG9uIGEgYW55IEdMRVMzIGFuZHJvaWQgZGV2aWNlLCB0aGUgZXh0ZW5zaW9uIHdhcyBkZWZpbmVkIGFmdGVyIGEgbG90IG9mIHRoZQoJICBvbGRlciBkcml2ZXJzIHdlcmUgYnVpbHQgc28gdGhleSB3aWxsIG5vdCBrbm93IGFib3V0IGl0LiAgVGh1cyB0aGVyZSBhcmUgdHdvCgkgIHBvc3NpYmxlIGludGVycHJldGF0aW9ucyBvZiB3aGljaCBvZiB0ZXh0dXJlWzJEXSgpIHNob3VsZCBiZSBzdXBwb3J0ZWQgZm9yCgkgIGV4dGVybmFsLW9lcyB0ZXh0dXJlcy4gIFN0cmljdCBhZGhlcmVuY2UgdG8gdGhlIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWwKCSAgZXh0ZW5zaW9uIHNwZWMgd2hpY2ggdXNlcyB0ZXh0dXJlMkQoKSBvciBmb2xsb3dpbmcgR0xFUzMncyBwYXR0ZXJuLCBhbHNvCgkgIGFsbG93aW5nIHRleHR1cmUoKSBhcyBhIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgkgIFRoaXMgYWRkcyBhbm90aGVyIG1hbmdsaW5nIHBhc3MgdG8gY29udmVydAoJICAjZXh0ZW5zaW9uIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWwgOiAuLi4KCSAgaW50bwoJICAjZXh0ZW5zaW9uIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWxfZXNzbDMgOiAuLi4KCSAgb24gR0xFUzMgYW5kIHdoZW4gdGhlIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWxfZXNzbDMgZXh0ZW5zaW9uIGlzIHN1cHBvcnRlZC4KCSAgT25seSB1c2VzIHRleHR1cmUoKSB3aGVuIHRoZSBHTEVTMyBhbmQgdGhlIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWxfZXNzbDMKCSAgZXh0ZW5zaW9uIGlzIHN1cHBvcnRlZCBmb3IgZXh0ZXJuYWwtb2VzIHRleHR1cmVzLgoJICBVc2VzIEdMRVMyICsgdGV4dHVyZTJEKCkgKyBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsIGluIGFsbCBvdGhlciBleHRlcm5hbC1vZXMKCSAgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5OTMKCjIwMTYtMDUtMjQgMTY6MjY6MjQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9rc2RldmljZXByb3ZpZGVyLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJICB3aW5rczogUG9ydCB0byBNU1ZDIGFuZCBwcmV0ZW5kIHRvIGJlIFdpbmRvd3MgWFAKCSAgc3RyY2FzZWNtcCBpcyBub3QgZGVmaW5lZCBvbiBNU1ZDLCBzbyBqdXN0IHVzZSB0aGUgZ2xpYiB3cmFwcGVyLiBBbHNvIHByZXRlbmQgdG8KCSAgYmUgV2luZG93cyBYUCBleHBsaWNpdGx5IHNpbmNlIHRoZSBBUEkgd2UgdXNlIHdhcyBkZXByZWNhdGVkIGFuZCByZW1vdmVkCgkgIChpZmRlZi1lZCkgZnJvbSB0aGUgU0RLIGFmdGVyIHRoaXMgdmVyc2lvbiBvZiBXaW5kb3dzLiBUaGlzIHdpbGwgYmUgZXNwZWNpYWxseQoJICByZWxldmFudCBvbmNlIHdlIHN0b3Agc3VwcG9ydGluZyBXaW5kb3dzIFhQIHNvb246CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NjYKCjIwMTYtMDMtMDIgMDI6MTc6NTQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RhZGFwdGl2ZWRlbXV4LmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZGF1ZGlvLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZGJhc2UuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0YmFkdmlkZW8uZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0YmFzZWNhbWVyYWJpbnNyYy5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RpbnNlcnRiaW4uZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0bXBlZ3RzLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdHVyaWRvd25sb2FkZXIuZGVmOgoJICB3aW4zMjogQWRkIG1pc3NpbmcgZGVmIGZpbGVzIGZvciBsaWJyYXJpZXMKCjIwMTYtMDMtMDIgMDA6NTU6MTUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGJ1aWxkOiBGYWN0b3Igb3V0IGVuZGlhbi1vcmRlciBSR0IgZm9ybWF0cwoJICBNU1ZDIHNlZW1zIHRvIGlnbm9yZSBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWxzIGluc2lkZSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAxNi0wNi0xMyAyMjoyOTozOSAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJICBvcGVuanBlZ2RlYzogdXNlIHNhbXBsaW5nIGZpZWxkIHRvIGRldGVybWluZSBSR0IgY2hhbm5lbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDAyCgoyMDE2LTA2LTAyIDEzOjUzOjM4ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogZml4IGJ1ZmZlciBsZWFrIGluIHRlc3QKCSAgTmVlZCB0byBjYWxsIGdzdF9jaGVja19kcm9wX2J1ZmZlcnMoKSB0byB1bnJlZiB0aGUgYnVmZmVycyBleGNoYW5nZWQKCSAgZHVyaW5nIHRoZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU5CgoyMDE2LTA1LTE5IDEzOjMxOjU2ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggcXVlcnkgbGVhayBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTM6Mjk6MTUgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHByb3Blcmx5IHNldHVwL3RlYXJkb3duIHRlc3RzCgkgIHRjYXNlX2FkZF9jaGVja2VkX2ZpeHR1cmUoKSBpcyBzdXBwb3NlIHRvIGNhbGwgdGhlIHNldHVwIGFuZCB0ZWFyZG93bgoJICBmdW5jdGlvbnMgc28gdGhlIHRlc3RzIGRvbid0IGhhdmUgdG8gZG8gaXQgbWFudWFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTM6MDk6NDEgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IHNoYWRlciBsZWFrIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMjo1MToxNyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgdXZjaDI2NGRlbXV4OiBmaXggYnVmZmVyIGxlYWtzIGluIHRlc3QKCSAgVGhlIG1vY2sgY2hhaW4gZnVuY3Rpb25zIGFyZW4ndCB1bnJlZmZpbmcgdGhlIGJ1ZmZlcnMgc28gdGhlIGNhbGxlcgoJICBzaG91bGQgZG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTI6MzY6NDIgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGVsZW1lbnQgbGVhayBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTE6MTk6NTcgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgZml4IGJ1ZmZlciBsZWFrcyBpbiB0ZXN0cwoJICBnc3RfY2hlY2tfZHJvcF9idWZmZXJzKCkgcmVsZWFzZSB0aGUgYnVmZmVycyBleGNoYW5nZWQgZHVyaW5nIHRoZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDExOjE5OjIwICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBmaXggZXZlbnQgbGVha3MgaW4gdGVzdHMKCSAgVGhlIGV2ZW50cyBhcmUgc3VwcG9zZWQgdG8gYmUgdW5yZWZmZWQgd2hlbiBmaW5pc2hpbmcgdGhlIHRlc3QsIG5vdAoJICByZWZmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTE6MTk6MDEgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogZml4IG1lc3NhZ2UgbGVha3MgYnkgZmx1c2hpbmcgdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDExOjE2OjM3ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBmaXggYnVmZmVyIGxlYWsKCSAgSWYgdGhlIHBhZCB3YXMgc3RpbGwgb3duaW5nIGEgYnVmZmVyIHdoZW4gYmVpbmcgZGVzdHJveWVkIGl0IHdhcyBsZWFrZWQuCgkgIEZpeCBhIGxlYWsgd2l0aCB0aGUgdGVzdF9mbHVzaF9zdGFydF9mbHVzaF9zdG9wIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTggMTY6NTg6NDQgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGZpeCBmYWN0b3JpZXMgbGVhayBpbiB0ZXN0CgkgIFRoZSBmYWN0b3JpZXMgcmV0dXJuZWQgYnkgZ3N0X3JlZ2lzdHJ5X2ZpbmRfZmVhdHVyZSgpIGhhdmUgdG8gYmUKCSAgdW5yZWZmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDYtMTcgMTQ6NTg6NDQgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZml4IGRlZmF1bHQgdGltZV9vZmZzZXRfbGVuZ3RoCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aW1lX29mZnNldF9sZW5ndGggc2hvdWxkIGJlIDI0LCBzZWUKCSAgc2VjdGlvbiBFMi4yIG9mIHRoZSBIMjY0IHNwZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3OTIKCjIwMTYtMDYtMTcgMTQ6MzE6NDIgKzAyMDAgIEpvYW4gUGF1IEJlbHRyYW4gPGpvYW5wYXUuYmVsdHJhbkBzb2NpYi5jYXQ+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NHNyYy5jOgoJICBkYzEzOTRzcmM6IGNoZWNrIGZvciBkaXNhYmxlZCB0cmFuc21pc3Npb24gaW4gX3N0b3BfY2FtCgkgIEZvciBzeW1ldHJ5IHdpdGggX3N0YXJ0X2NhbSwgY2hlY2sgdGhhdCB0aGUgdHJhbnNtaXNzaW9uCgkgIGlzIGVmZmVjdGl2ZWx5IGRpc2FibGVkIGluIF9zdG9wX2NhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAyNgoKMjAxNi0wNi0xNyAxNTozMjowOCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkbyBub3QgcmVseSBvbiB0ZW1wIHZhciBmb3IgZmFpbCBkZXRlY3Rpb24KCSAgVXNlIGVycm5vIGluc3RlYWQgYXMgbG9jYWwgdmFyIG1pZ2h0IGJlIG92ZXJ3cml0dGVuCgkgIGJlZm9yZSB0aGUgY2hlY2suCgoyMDE2LTA2LTE0IDE1OjI5OjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJld29yayBzZXRfcGlkcygpCgkgIC0gUmVmbG93IHRvIGF2b2lkIHVubmVlZGVkIG5lc3RpbmcKCSAgLSBGcmVlIGF1eCBwaWRzIGFycmF5IGVhcmxpZXIKCSAgLSBBZGp1c3QgZGVidWcgb3V0cHV0IHRvIGRlbGl2ZXIgbW9yZSBtZWFuaW5nZnVsIGluZm9ybWF0aW9uCgoyMDE2LTA2LTE0IDE0OjI0OjM1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgcG9pbnRsZXNzIGRlYnVnIG1zZwoKMjAxNi0wNi0wOSAxNjowNTozOSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZHJvcCBhbGwgb3RoZXJ3aXplcwoKMjAxNi0wNi0xMiAxMzo1MzoxOCAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5oOgoJICBqcGVnMjAwMHBhcnNlOiBzdXBwb3J0IGoyYyBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzUxMgoKMjAxNi0wNi0xNiAwMTo1NDoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzL2dsY29udGV4dDogbGluayBhZ2FpbnN0IGdzdHZpZGVvIGZvciBnc3RfdmlkZW9faW5mb18qCgkgIGZpeGVzIG1ha2UgZGlzdGNoZWNrIGNvbXBsYWluaW5nIGFib3V0IGl0LgoKMjAxNi0wNC0xNCAxODoxNDozMiArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJICBxbWw6IEVuYWJsZSBxbWxnbHNpbmsgZm9yIGVnbGZzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNDQKCjIwMTYtMDYtMTYgMDA6NDQ6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogcHJvcGFnYXRlIEdMIGNvbnRleHQgY3JlYXRpb24gZmFpbHVyZSB1cHdhcmRzCgkgIE90aGVyd2lzZSBhbiBhcHBsaWNhdGlvbiBjYW5ub3Qga25vdyBpZiB0aGUgcW1sZ2xzaW5rIHdpbGwgYmUgZGlzcGxheWluZyBmcmFtZXMKCSAgaW5jb3JyZWN0bHkvYXQgYWxsLgoKMjAxNi0wNi0xNiAwMDo0NDoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sZ2xzaW5rOiBhbHNvIGFsbG93IHdheWxhbmQtZWdsIGFzIGEgcGxhdGZvcm0gbmFtZQoKMjAxNi0wNi0xMiAxNTozNToyOCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogQWRkIFdheWxhbmQgc3VwcG9ydAoJICBEb24ndCB1c2UgZ3N0Z2xkaXNwbGF5IHRvIGdldCB3YXlsYW5kIGRpc3BsYXkuIFNob3VsZCB1c2UgUVBBIG9uIHdheWxhbmQKCSAgdG8gZ2V0IHdheWxhbmQgZGlzcGxheSBmb3IgUVQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1NTMKCjIwMTYtMDYtMTYgMDA6NDY6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzL2dsY29udGV4dDogdXBkYXRlIHRlc3QgZm9yIGdlbixkZWxfdGV4dHVyZSByZW1vdmFsCgoyMDE2LTA2LTE0IDIyOjEyOjE4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBzaW1wbGlmeSByZWdpc3RyeSBjYWNoZSBzdHJ1Y3R1cmUgY3JlYXRpb24KCSAgQ3JlYXRlIGFuZCBmaWxsIHN0cnVjdHVyZSBpbiBvbmUgZ28uCgoyMDE2LTA2LTE0IDEzOjQ4OjA5ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogZml4IGxpdHRsZSByZWN0YW5nbGUgdGhhdCBhcHBlYXJzIGF0IHRoZSBjZW50ZXIgb2Ygc3F1ZWV6ZSBhbmQgdHVubmVsIGVmZmVjdHMKCSAgVGhlc2UgdHdvIHNoYWRlciB3aWxsIGNhbGN1bGF0ZSB0aGUgdmVjdG9yIGxlbmd0aCBhbmQgdXNlIGl0IGFzIGRlbm9taW5hdG9yLgoJICBCdXQgbGVuZ3RoIGNvdWxkIGJlIHplcm8gd2hpY2ggd2lsbCBjYXVzZSB1bmRlZmluZSBiZWhhdmlvdXIuIEFkZCBwcm90ZWN0aW9uIGZvcgoJICB0aGlzIGNvbmRpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NjM1CgoyMDE2LTA2LTE1IDE4OjEwOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJICBnbHNsOiBhZGQgc29tZSBkZWJ1Z2dpbmcKCjIwMTYtMDYtMTUgMTY6MDg6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXRpbHM6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGZvciB0ZXh0dXJlIGNyZWF0aW9uL2RlbGV0aW9uCgkgIEV2ZXJ5b25lIHVzZXMgR3N0R0xNZW1vcnkgbm93IGFuZCBhbnkgZnV0dXJlIGNvZGUgc2hvdWxkIGFzIHdlbGwuCgoyMDE2LTA2LTE1IDE1OjQ3OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IHJlbW92ZSB1bnVzZWQgY2xhc3MgZmllbGRzIGluL291dF90ZXhfaWQKCSAgVGhlIGZ1bmN0aW9uYWxpdHkgaXMgbm90IHVzZWQgYnkgYW55IHN1YmNsYXNzIG5vciBhcmUgdGhlIHZhbHVlcyBzZXQgYW55d2hlcmUuCgoyMDE2LTA2LTE1IDE1OjA4OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBnbGRlaW50ZXJsYWNlOiByZW1vdmUgZGVhZCBjb2RlIGFjY2Vzc2luZyBmaWx0ZXItPmluX3RleF9pZAoJICBJdCdzIG5vdCBzZXQgYnkgYW55b25lIG9yIGFueXRoaW5nIGFuZCBnbGRlaW50ZXJsYWNlIGlzIHRoZSBvbmx5IHVzZXIgb2YgaXQgbm93LgoKMjAxNi0wNi0xNSAxNDo0MDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZC9tZXRhOiByZW1vdmUgdW5uZWVkZWQgdGV4dHVyZSBkZWxldGlvbgoJICBUaGUgdGV4dHVyZXMgYXJlIG1hbmFnZWQgYnkgdGhlIEdzdEdMTWVtb3J5IGluc2lkZSB0aGUgb3V0cHV0IGJ1ZmZlci4gIEZyZWVpbmcKCSAgdGhlbSBwcmVtYXR1cmVseSBtYXkgcmVzdWx0IGluIGEgdXNlLWFmdGVyLWZyZWUuCgoyMDE2LTA1LTMwIDE0OjEwOjIzICswMjAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiByZW1vdmUgZ2V0LXJvbGxvdmVyLWNvdW50ZXIgc2lnbmFsIGFuZCBhZGQgc3RhdHMgcHJvcGVydHkKCSAgV2UgcmVtb3ZlIGdldC1yb2xsb3Zlci1jb3VudGVyIHNpZ25hbCBpbiBmYXZvciBvZiB0aGUgInN0YXRzIgoJICBwcm9wZXJ0eS4gVGhlICJzdGF0cyIgcHJvcGVydHkgaXMgYSBHc3RTdHJ1Y3R1cmUgd2l0aCBjYXBzCgkgIGFwcGxpY2F0aW9uL3gtc3J0cC1lbmNvZGVyLXN0YXRzIHRoYXQgY29udGFpbnMgYW4gYXJyYXkgb2YKCSAgc3RydWN0dXJlcyB3aXRoIGNhcHMgYXBwbGljYXRpb24veC1zcnRwLXN0cmVhbS4KCSAgRWFjaCBzdHJlYW0gc3RydWN0dXJlIGNvbnRhaW5zICJzc3JjIiBhbmQgInJvYyIgZmllbGRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjY1CgoyMDE2LTA1LTI1IDEyOjU1OjM2ICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzdXBwb3J0IGZvciBoYW5kbGluZyBvZiBjb25maWctaW50ZXJ2YWwgPSAtMQoJICBBZGRlZCBzdXBwb3J0IGZvciBoYW5kbGluZyBvZiBjb25maWctaW50ZXJ2YWwgPSAtMS4KCSAgY29uZmlnLWludGV2YWwgPSAtMSByZXByZXNlbnRzIHJlc2VuZGluZyBTUFMgYW5kIFBQUyBmb3IgZWFjaAoJICBJLS9JRFItZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4MDMKCjIwMTYtMDUtMjUgMTI6NDU6MTcgKzAyMDAgIE1hdHMgTGluZGVzdGFtIDxtYXRzbG1AYXhpcy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlZmFjdG9yZWQgaGFuZGxpbmcgb2YgU1BTL1BQUyB3aGVuIHB1c2hpbmcgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4MDMKCjIwMTYtMDUtMjUgMTE6NTQ6NTUgKzAyMDAgIE1hdHMgTGluZGVzdGFtIDxtYXRzbG1AYXhpcy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGNoYW5nZSAiY29uZmlnLWludGVydmFsIiBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgU28gd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlIGxpa2UgaW4gcnRwaDI2NHBheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjgwMwoKMjAxNi0wNi0xMyAwOToyMDoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGF2ZmFzc2V0c3JjOiBEb24ndCBlc2NhcGUgdGhlIFVSSSBiZWZvcmUgcGFzc2luZyBpdCB0byBOU1VSTAoJICBUaGUgVVJJIG11c3QgYWxyZWFkeSBiZSBlc2NhcGVkIGJ5IHRoZSBjYWxsZXIsIHdlIGRvbid0IHN1cHBvcnQgcGFzc2luZyBhcm91bmQKCSAgaW52YWxpZCAodW5lc2NhcGVkKSBVUklzIHZpYSB0aGUgR3N0VVJJSGFuZGxlciBpbnRlcmZhY2UuCgkgIEFsc28gaXQgd2lsbCBlc2NhcGUgdG9vIG11Y2ggb2YgdGhlIFVSSSBpbiB0aGlzIGNhc2UsIGUuZy4KCSAgaXBvZC1saWJyYXJ5Oi8vaXRlbS9pdGVtLm00YT9pZD0zMTQzMzM4Mzk1MTczODYyOTUxCgkgIGJlY29tZXMKCSAgaXBvZC1saWJyYXJ5Oi8vaXRlbS9pdGVtLm00YSUzRmlkJTNEMzE0MzMzODM5NTE3Mzg2Mjk1MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDkyCgoyMDE2LTA2LTEzIDA5OjIwOjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSAgaW9zYXNzZXRzcmM6IFByaW50IHRoZSBjb3JyZWN0IFVSSSBpZiBpdCB3YXMgcmVqZWN0ZWQKCSAgV2Ugd2VyZSBwcmludGluZyB0aGUgcHJldmlvdXNseSBzZXQgVVJJIGluc3RlYWQgb2YgdGhlIG5ldyBvbmUuCgoyMDE2LTA2LTA5IDAxOjIwOjM2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IExvY2sgYW5kIGRvbid0IHNlbmQgZmluYWwgYm91bmRhcnkgdXBvbiBlcnJvcgoJICBQcmV2aW91c2x5IEdzdEN1cmxTbXRwU2luayBjb3VsZCBjYXVzZSB0aGUgcGlwZWxpbmUgdGhyZWFkIHRvIGVuZCB1cAoJICB3YWl0aW5nIGZvciBhIHN0b3BwZWQgdGhyZWFkIHRvIHBlcmZvcm0gd29yay4KCSAgVGhlIHNjZW5hcmlvIHdhcyB0aGF0IHRoZSBzaW5rIGNvdWxkIGJlIHJlbmRlcmluZyBhIGJ1ZmZlciBhbmQgd2FpdGluZwoJICBmb3IgdGhlIGN1cmwgdHJhbnNmZXIgdGhyZWFkIHRvIGhhdmUgc2VudCB0aGUgZGF0YS4gQXMgc29vbiBhcyB0aGUKCSAgdHJhbnNmZXIgdGhyZWFkIGhhcyBjb3BpZWQgYWxsIGRhdGEgdG8gY3VybCdzIGRhdGEgYnVmZmVyIGluCgkgIGdzdF9jdXJsX2Jhc2Vfc2lua190cmFuc2Zlcl9yZWFkX2NiKCkgdGhlbiB0aGUgcmVuZGVyIGNhbGwgd291bGQgc3RvcAoJICB3YWl0aW5nIGFuZCByZXR1cm4gR1NUX0ZMT1dfT0suIFdoaWxlIHRoaXMgdGFrZXMgcGxhY2UgdGhlIHRyYW5zZmVyCgkgIHRocmVhZCBtYXkgc3VmZmVyIGZyb20gYW4gZXJyb3IgZS5nLiBkdWUgZ3N0X3BvbGxfd2FpdCgpIHRpbWluZyBvdXQuCgkgIFRoaXMgY2F1c2VzIHRoZSB0cmFuc2ZlciB0aHJlYWQgdG8gcmVjb3JkIHRoZSBlcnJvciwgY2xhaW0gKGl0IGlzIG5vdAoJICByZWFsbHkgdHJ1ZSBzaW5jZSB0aGVyZSB3YXMgYW4gZXJyb3IpIHRoYXQgdGhlIGRhdGEgaGFzIGJlZW4gc2VudCBhbmQKCSAgdGhhdCBhIHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IHRyeWluZyB0byBzaWduYWwgdGhlIHBpcGVsaW5lCgkgIHRocmVhZCAoYnV0IHRoaXMgaGFzIGFscmVhZHkgc3RvcHBlZCB3YWl0aW5nKS4gRmluYWxseSB0aGUgdHJhbnNmZXIKCSAgdGhyZWFkIHN0b3BzIGl0c2VsZi4gQSBzaG9ydCB3aGlsZSBsYXRlciB0aGUgcGlwZWxpbmUgdGhyZWFkIG1heSBhdHRlbXB0CgkgIHRvIHB1c2ggYW4gRU9TIGV2ZW50IGludG8gR3N0Q3VybFNtdHBTaW5rLiBTaW5jZSB0aGVyZSBpcyBubyBjaGVjayBpbgoJICBnc3RfY3VybF9zbXRwX3NpbmtfZXZlbnQoKSB0byBjaGVjayBpZiB0aGUgc2luayBoYXMgc3VmZmVyZWQgZnJvbSBhbnkKCSAgZXJyb3IgaXQgbWF5IGF0dGVtcHQgdG8gYWRkIGEgZmluYWwgYm91bmRhcnkgYW5kIGFzayB0aGUsIG5vdyBkZWNlYXNlZCwKCSAgdHJhbnNmZXIgdGhyZWFkIHRvIHRyYW5zZmVyIHRoZSBuZXcgZGF0YS4gTmV4dCB0aGUgc2luayBlbGVtZW50IHdvdWxkCgkgIGhhdmUgd2FpdGVkIGZvciB0aGUgdHJhbnNmZXIgdG8gY29tcGxldGUgKHVzaW5nIGEgZGlmZmVyZW50IG1lY2hhbmlzbQoJICB0aGFuIG5vcm1hbCB0cmFuc2ZlcnMgdGhyb3VnaCBHc3RDdXJsQmFzZVNpbmspLiBJbiB0aGlzIGNhc2UgdGhlcmUgd2FzCgkgIGFuIGVycm9yIGNoZWNrIHRvIGF2b2lkIHdhaXRpbmcgaWYgYW4gZXJyb3IgaGFkIGFscmVhZHkgYmVlbiBzZWVuLgoJICBGaW5hbGx5IEdzdEN1cmxTbXRwU2luayB3b3VsZCBjaGFpbiB1cCB0byBHc3RDdXJsQmFzZVNpbmsgd2hpY2ggd291bGQKCSAgdGhlbiBibG9jayB3YWl0aW5nIGZvciBhIHJlc3BvbnNlIChub3JtYWxseSB0aGlzIHdvdWxkIGJlIHByZXZlbnRlZCBieQoJICB0aGUgdHJhbnNmZXIgdGhyZWFkIHN1ZmZlcmluZyB0aGUgZXJyb3IgY2xhaW1pbmcgdGhhdCBpdCBoYWQgYmVlbgoJICByZWNlaXZlZCwgYnV0IEdzdEN1cmxTbXRwU2luayBjbG9iYmVyZWQgdGhpcyBmbGFnIGFmdGVyIHRoZSBmYWN0KS4KCSAgTm93IEdzdEN1cmxTbXRwU2luayBhdm9pZHMgdGhpcyBieSBsb2NraW5nIG92ZXIgdGhlIGVudGlyZSBldmVudCBoYW5kaW5nCgkgIChwcmV2ZW50aW5nIHNpbXVsdGFuZW91cyBjaGFuZ2VzIHRvIGZsYWdzIGJ5IHRoZSB0d28gdGhyZWFkcykgYW5kIGFsc28KCSAgYnkgYXZvaWRpbmcgdG8gaW5pdGlhdGUgdHJhbnNmZXIgb2YgZmluYWwgYm91bmRhcnkgaWYgYW4gZXJyb3IgaGFzCgkgIGFscmVhZHkgYmVlbiBzZWVuLgoJICBBbHNvIGFkZCBHU1RfRklYTUUoKSBmb3IgcmVtYWluaW5nIHNpbWlsYXIgaXNzdWUgd2hlcmUgdGhlIHBpcGVsaW5lCgkgIHRocmVhZCBtYXkgYmxvY2sgaW5kZWZpbml0ZWx5IHdhaXRpbmcgZm9yIHRyYW5zZmVyIHRocmVhZCB0byB0cmFuc2ZlcgoJICBkYXRhIGJ1dCB0aGUgdHJhbnNmZXIgdGhyZWFkIGVycm9ycyBvdXQgYW5kIGZhaWxzIHRvIG5vdGlmeSB0aGUgcGlwZWxpbmUKCSAgdGhyZWFkIHRoYXQgdGhlIHRyYW5zZmVyIGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzUwMQoKMjAxNi0wNi0wOCAxMTozMjoyOCAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuaDoKCSAganBlZzIwMDBwYXJzZTogUmVxdWlyZSBlaXRoZXIgY29sb3JzcGFjZSBvciBzYW1wbGluZyBmaWVsZCBpbiBzaW5rIGNhcHMKCSAgQW5kIGFsd2F5cyBzZXQgdGhlIHNhbXBsaW5nIGZpZWxkIG9uIHRoZSBzcmMgY2FwcywgaWYgbmVjZXNzYXJ5IGd1ZXNzaW5nIGEKCSAgY29ycmVjdCB2YWx1ZSBmb3IgaXQgZnJvbSB0aGUgY29sb3JzcGFjZSBmaWVsZC4KCSAgQWxzbywgZGlkIHNvbWUgY2xlYW51cDogcmVtb3ZlZCBzYW1wbGluZyBlbnVtIC0gcmVkdW5kYW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MjM2CgoyMDE2LTA2LTEwIDExOjMyOjQ2ICswMzAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggY2xhbmcgMy44CgkgIFVzZSBuYW1lc3BhY2Ugb25seSBhZnRlciBpdCB3YXMgYWN0dWFsbHkgZGVmaW5lZCBieSBhIGhlYWRlci4KCSAgZ3N0ZmFjZWRldGVjdC5jcHA6Nzk6MTc6IGVycm9yOiB1c2luZyBkaXJlY3RpdmUgcmVmZXJzIHRvIGltcGxpY2l0bHktZGVmaW5lZCBuYW1lc3BhY2UgJ3N0ZCcgWy1XZXJyb3JdCgkgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CgkgIF4KCjIwMTYtMDYtMDYgMTY6MzU6MTUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdW5pZnkgZXhpdCBwYXRocyBvbiBfc3RhcnQoKQoKMjAxNi0wNi0wNiAxNTozMTozMSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1c2UgcHJvcGVyIGFjcm9ueW0gZm9yIFBJRCAoUGFja2V0IElkZW50aWZpZXIpCgkgIERyb3AgZm9ybWF0dGluZyB0YWIgZnJvbSBtZXNzYWdlIHdoaWxlIGF0IGl0LgoKMjAxNi0wNi0wNiAxMjoyNToyMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzZXQgY29tbW9uIFBFUyBmaWx0ZXIgcGFyYW1zIG9uY2UgYW5kIHJldXNlCgkgIEF2b2lkIHNldHRpbmcgdGhlIHNhbWUgaGFyY29kZWQgdmFsdWVzIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDE2LTA2LTA5IDIyOjAxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTRzcmMuYzoKCSAgZGMxMzk0c3JjOiBtaW5vciBjbGVhbi11cAoJICBXZSBhbHdheXMgY2FsbCBfcGFyc2VfY2FwcygpIHdpdGggbm9uLU5VTEwgb3V0IHZhcnMuCgoyMDE2LTA2LTA5IDIyOjAxOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTRzcmMuYzoKCSAgZGMxMzk0c3JjOiBmaXggc29tZSBtb3JlIGM5OS1pc21zCgoyMDE2LTA2LTA5IDIxOjQ3OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggZm9yIHJlbmFtZWQgZGMxMzk0IHNvdXJjZSBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMjYKCjIwMTYtMDYtMDcgMTU6NTA6NTAgKzAyMDAgIEpvYW4gUGF1IEJlbHRyYW4gPGpvYW5wYXUuYmVsdHJhbkBzb2NpYi5jYXQ+CgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NHNyYy5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NHNyYy5oOgoJICBkYzEzOTRzcmM6IHByZWZpeCBhbmQgZmlsZSBuYW1lcyBhY2NvcmRpbmcgdG8gR3N0cmVhbWVyIGNvbnZlbnRpb25zCgkgIFJlcGxhY2UgdGhlIHR5cGUgYW5kIGZ1bmN0aW9uIHByZWZpeCB0byBmb2xsb3cgdGhlIGNvbnZlbnRpb25zOgoJICAtIFVzZSBgR1NUX1RZUEVfREMxMzk0X1NSQ2AgaW5zdGVhZCBvZiBgR1NUX1RZUEVfREMxMzk0YC4KCSAgLSBVc2UgYEdzdERDMTM5NFNyY2AgYW5kIGBHc3REQzEzOTRTcmNDbGFzc2AgaW5zdGVhZCBvZgoJICBgR3N0RGMxMzk0YCBhbmQgYEdzdERjMTM5NENsYXNzYC4KCSAgLSBVc2UgYGdzdF9kYzEzOTRfc3JjYCBpbnN0ZWFkIG9mIGBnc3RfZGMxMzk0YC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAyNgoKMjAxNi0wNS0xMCAxODozMDozNSArMDIwMCAgSm9hbiBQYXUgQmVsdHJhbiA8am9hbnBhdS5iZWx0cmFuQHNvY2liLmNhdD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgZGMxMzk0c3JjOiBwb3J0IHRvIDEuWAoJICBUaGUgZGMxMzk0c3JjIGlzIGEgUHVzaFNyYyBlbGVtZW50IGZvciBJSURDIGNhbWVyYXMgYmFzZWQgb24gbGliZGMxMzk0LgoJICBUaGUgaW1wbGVtZW50YXRpb24gZnJvbSB0aGUgMC54IHNlcmllcyBpcyBkZWZmZWN0aXZlOgoJICBjYXBzIG5lZ290aWF0aW9uIGRvZXMgbm90IHdvcmssIGFuZCBzb21lIHZpZGVvIGZvcm1hdHMKCSAgcHJvdmlkZWQgYnkgdGhlIGNhbWVyYSBhcmUgbm90IHN1cHBvcnRlZC4KCSAgUmVmYWN0b3IgdGhlIGNvZGUgdG8gcG9ydCBpdCB0byAxLlggYW5kIGVuaGFuY2UgdGhlIHN1cHBvcnQKCSAgZm9yIHRoZSBmdWxsIHNldCBvZiB2aWRlbyBvcHRpb25zIG9mIElJREMgY2FtZXJhczoKCSAgLSBUaGUgSUlEQyBzcGVjaWZpY2F0aW9uIGluY2x1ZGVzIGEgc2V0IG9mIGNhbWVyYSB2aWRlbyBtb2RlcwoJICAodmlkZW8gZm9ybWF0LCBmcmFtZSBzaXplLCBhbmQgZnJhbWUgcmF0ZXMpLgoJICBUaGV5IGRvIG5vdCBtYXAgcGVyZmVjdGx5IHRvIEdzdHJlYW1lciBmb3JtYXRzLCBidXQgdGhvc2UgdGhhdAoJICBkbyBub3QgbWF0Y2ggYXJlIHZlcnkgcmFyZSAoaWYgdXNlZCBhdCBhbGwgYnkgYW55IGNhbWVyYSkuCgkgIEluIGFkZGl0aW9uLCBhbHRob3VnaCB0aGUgc3BlY2lmaWNhdGlvbiBpbmNsdWRlcyBhIHJhdyBmb3JtYXQsCgkgIHNvbWUgY2FtZXJhcyB1c2UgbW9ubyB2aWRlbyBmb3JtYXRzIHRvIGNhcHR1cmUgaW4gQmF5ZXIgZm9ybWF0LgoJICBNYXAgY29ycmVzcG9uZGluZyB2aWRlbyBtb2RlcyB0byBHc3RyZWFtZXIgZm9ybWF0cyBpbiBjYXBhYmlsaXRpZXMsCgkgIGFsbG93aW5nIGJvdGggZ3JheSByYXcgYW5kIEJheWVyIHZpZGVvIGZvcm1hdHMgZm9yIG1vbm8gdmlkZW8gbW9kZXMuCgkgIC0gVGhlIHNwZWNpZmljYXRpb24gaW5jbHVkZXMgc2NhbGFibGUgdmlkZW8gbW9kZXMgKEZvcm1hdDcpLAoJICB3aGVyZSB0aGUgZnJhbWUgc2l6ZSBhbmQgcmF0ZSBjYW4gYmUgc2V0IHRvIGFyYml0cmFyeSB2YWx1ZXMKCSAgKHdpdGhpbiB0aGUgbGltaXRzIG9mIHRoZSBjYW1lcmEgYW5kIHRoZSBidXMgdHJhbnNwb3J0KS4KCSAgQWxsb3cgdGhlIHVzZSBvZiBzdWNoIG1vZGUsIHVzaW5nIHRoZSBmcmFtZSBzaXplIGFuZCByYXRlCgkgIGZyb20gdGhlIG5lZ290aWF0aWVkIGNhcHMsIGFuZCBzZXQgdGhlIGNhbWVyYSBmcmFtZSByYXRlCgkgIGFkanVzdGluZyB0aGUgcGFja2V0IHNpemUgYXMgaW46CgkgIDxodHRwOi8vZGFtaWVuLmRvdXhjaGFtcHMubmV0L2llZWUxMzk0L2xpYmRjMTM5NC9mYXEvI0hvd19kb19JX3NldF90aGVfZnJhbWVfcmF0ZT4KCSAgVGhlIHNjYWxhYmxlIG1vZGVzIGFsc28gYWxsb3cgZm9yIGEgY3VzdG9tIFJPSSBvZmZzZXQuCgkgIFN1cHBvcnQgZm9yIGl0IGNhbiBiZSBlYXNpbHkgYWRkZWQgbGF0ZXIgdXNpbmcgcHJvcGVydGllcy4KCSAgLSBDYW1lcmEgb3BlcmF0aW9uIHVzaW5nIGxpYmRjMTM5NCBpcyBhcyBmb2xsb3dzOgoJICAxLiBFbnVtZXJhdGUgY2FtZXJhcyBvbiB0aGUgc3lzdGVtIGFuZCBvcGVuIHRoZSBjYW1lcmEKCSAgaWRlbnRpZmllZCB0aGUgZW51bWVyYXRpb24gaW5kZXggb3IgYnkgYSBHVUlEICg2NGJpdCBoZXggY29kZSkuCgkgIDIuIFF1ZXJ5IHRoZSB2aWRlbyBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgY2FtZXJhLgoJICAzLiBDb25maWd1cmUgdGhlIGNhbWVyYSBmb3IgdGhlIGRlc2lyZWQgdmlkZW8gZm9ybWF0LgoJICA0LiBTZXR1cCB0aGUgY2FwdHVyZSByZXNvdXJjZXMgZm9yIHRoZSBjb25maWd1cmVkIHZpZGVvIGZvcm1hdAoJICBhbmQgc3RhcnQgdGhlIGNhbWVyYSB0cmFuc21pc3Npb24uCgkgIDUuIENhcHR1cmUgZnJhbWVzIGZyb20gdGhlIGNhbWVyYSBhbmQgcmVsZWFzZSB0aGVtIHdoZW4gbm90IHVzZWQuCgkgIDYuIFN0b3AgdGhlIGNhbWVyYSB0cmFuc21pc3Npb24gYW5kIGNsZWFyIHRoZSBjYXB0dXJlIHJlc291cmNlcy4KCSAgNy4gQ2xvc2UgdGhlIGNhbWVyYSBmcmVlaW5nIGl0cyByZXNvdXJjZXMuCgkgIERvIHN0ZXBzIDIgYW5kIDMgd2hlbiBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBjYXBzIHJlc3BlY3RpdmVseS4KCSAgSWRlYWxseSA0IGFuZCA2IHdvdWxkIGJlIGRvbmUgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBQTEFZSU5HCgkgIGFuZCB2aWNldmVyc2EsIGJ1dCBzaW5jZSBjYXBzIG1pZ2h0IG5vdCBiZSBzZXQgeWV0LCB0aGUgdmlkZW8gbW9kZQoJICBpcyBub3QgcHJvcGVybHkgY29uZmlndXJlZCBsZWF2aW5nIHRoZSBjYW1lcmEgaW4gYSBicm9rZW4gc3RhdGUuCgkgIEhlbmNlLCBzZXR1cCBjYXB0dXJlIGFuZCBzdGFydCB0cmFuc21pc3Npb24gaW4gdGhlIHNldCBjYXBzIG1ldGhvZCwKCSAgYW5kIGNvbnNlcXVlbnRseSBjbGVhciB0aGUgY2FwdHVyZSBhbmQgc3RvcCB0aGUgdHJhbnNtaXNzaW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgKGluc3RlYWQgb2YgUExBWUlORyB0byBQQVVTRUQpLgoJICBTeW1tZXRyeWNhbGx5LCBvcGVuIHRoZSBjYW1lcmEgd2hlbiBnb2luZyBmcm9tIFJFQURZIHRvIFBBVVNFRCwKCSAgYWxsb3dpbmcgdG8gcHJvYmUgdGhlIGNhbWVyYSBjYXBzIGluIHRoZSBuZWdvdGlhdGlvbiBzdGFnZS4KCSAgSW1wbGVtZW50IHRoYXQgdXNpbmcgdGhlIGBzdGFydGAgYW5kIGBzdG9wYCBtZXRob2RzIG9mIGBHc3RCYXNlU3JjYCwKCSAgaW5zdGVhZCBvZiB0aGUgYGNoYW5nZS1zdGF0ZWAgbWV0aG9kIG9mIGBHc3RFbGVtZW50YC4KCSAgU3RvcCB0aGUgY2FtZXJhIGJlZm9yZSBzZXR0aW5nIG5ldyBjYXBzIGFuZCByZXN0YXJ0aW5nIGl0IGFnYWluCgkgIHRvIGhhbmRsZSBjYXBzIHJlY29uZmlndXJhdGlvbiB3aGlsZSBpbiBQTEFZSU5HIChpdCBoYXMgbm8gZWZmZWN0CgkgIGlmIHRoZSBjYW1lcmEgaXMgbm90IHN0YXJ0ZWQpLgoJICAtIENyZWF0ZSBidWZmZXJzIGNvcHlpbmcgdGhlIGJ5dGVzIG9mIHRoZSBjYXB0dXJlZCBmcmFtZXMuCgkgIEFsdGVybmF0aXZlbHksIHRoZSBidWZmZXJzIGNvdWxkIGp1c3Qgd3JhcCB0aGUgYnl0ZXMgb2YgdGhlIGZyYW1lcywKCSAgcmVsZWFzaW5nIHRoZSBmcmFtZSBpbiB0aGUgYnVmZmVyJ3MgZGVzdHJveSBub3RpZnkgZnVuY3Rpb24sCgkgIGlmIGFsbCBidWZmZXJzIHdlcmUgZGVzdHJveWVkIGJlZm9yZSBnb2luZyBmcm9tIFBMQVlJTkcgdG8gUEFVU0VELgoJICAtIE5vIHRpbWVzdGFtcCBub3Igb2Zmc2V0IGlzIHNldCB3aGVuIGNyZWF0aW5nIGJ1ZmZlcnMuCgkgIFRpbWVzdGFtcGluZyBpcyBkZWxlZ2F0ZWQgdG8gdGhlIHBhcmVudCBjbGFzcyBCYXNlU3JjLAoJICBzZXR0aW5nIGBnc3RfYmFzZV9zcmNfc2V0X2xpdmVgIFRSVUUsIGBnc3RfYmFzZV9zcmNfc2V0X2Zvcm1hdGAKCSAgd2l0aCBHU1RfRk9STUFUX1RJTUUgYW5kIGBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcGAuCgkgIENhcHR1cmVkIGZyYW1lcyBoYXZlIGEgdGltZXN0YW1wIGZpZWxkIHdpdGggdGhlIHN5c3RlbSB0aW1lCgkgIGF0IHRoZSBjb21wbGV0aW9uIG9mIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIGZyYW1lLAoJICBidXQgaXQgaXMgbm90IHN1cmUgdGhhdCB0aGlzIGNvbWVzIGZyb20gYSBtb25vdG9uaWMgY2xvY2ssCgkgIGFuZCBpdCBzZWVtcyB0byBiZSBsZWZ0IE5VTEwgaW4gV2luZG93cy4KCSAgLSBVc2UgR1VJRCBhbmQgdW5pdCBwcm9wZXJ0aWVzIHRvIHNlbGVjdCB0aGUgY2FtZXJhIHRvIG9wZXJhdGUgb24uCgkgIFRoZSBjYW1lcmEgbnVtYmVyIHVzZWQgaW4gdmVyc2lvbiAwLlggZG9lcyBub3QgdW5pcXVlbHkgaWRlbnRpZnkKCSAgdGhlIGRldmljZSAoaXQgZGVwZW5kcyBvbiB0aGUgc2V0IG9mIGNhbWVyYXMgY3VycmVudGx5IGRldGVjdGVkKS4KCSAgU2luY2UgdGhlIEdVSUQgaXMgNjRiaXQgaWRlbnRpZmllciAoc2FtZSBhcyBNQUMgYWRkcmVzcyksCgkgIGhhbmRsZSBpdCB3aXRoIGEgc3RyaW5nIHByb3BlcnR5IHdpdGggaXRzIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uLgoJICBGb3IgcHJhY3RpY2FsaXR5LCBvcGVyYXRlIG9uIHRoZSBmaXJzdCBjYW1lcmEgYXZhaWxhYmxlIGlmIHRoZSBHVUlECgkgIGlzIG51bGwgKGRlZmF1bHQpIGFuZCBtYXRjaCBhbnkgY2FtZXJhIHVuaXQgbnVtYmVyIGlmIHVuaXQgaXMgLTEuCgkgIEFsdGVybmF0aXZlbHksIHRoZSBHVUlEIGNvdWxkIGJlIGhhbmRlZCB3aXRoIGFuIHVuc2lnbmVkIDY0IGJpdAoJICBpbnRlZ2VyIHR5cGUgcHJvcGVydHksIHVzaW5nIGAweGZmZmZmZmZmZmZmZmZmZmZgIGFzIGRlZmF1bHQgdmFsdWUKCSAgdG8gc2VsZWN0IHRoZSBmaXJzdCBjYW1lcmEgYXZhaWxhYmxlIChpdCBpcyBub3QgYSB2YWxpZCBHVUlEIHZhbHVlKS4KCSAgLSBLZWVwIG5hbWUgYEdzdERjMTM5NGAgYW5kIHByZWZpeCBgZ3N0X2RjMTM5NGAgYXMgaW4gdmVyc2lvbiAwLlgsCgkgIGFsdGhvdWdoIGBHc3REQzEzOTRTcmNgIGFuZCBgZ3N0X2RjMTM5NF9zcmNgIGFyZSBtb3JlIGRlc2NyaXB0aXZlLgoJICAtIEFkanVzdCBidWlsZCBmaWxlcyB0byByZWVuYWJsZSB0aGUgY29tcGlsYXRpb24gb2YgdGhlIHBsdWdpbi4KCSAgUmVtb3ZlIGRjMTM5NCBmcm9tIHRoZSBsaXN0IG9mIHVucG9ydGVkIHBsdWdpbnMgaW4gY29uZmlndXJlLmFjLgoJICBBZGQgdGhlIG1pc3NpbmcgZmxhZ3MgYW5kIGxpYnJhcmllcyB0byBNYWtlZmlsZS4KCSAgVXNlIGAkKClgIGZvciB2YXJpYWJsZSBzdWJzdGl0dXRpb24sIGFzIG1hbnkgcGx1Z2lucyBkbywKCSAgYWx0aG91Z2ggb3RoZXIgcGx1Z2lucyB1c2UgYEBAYCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDI2CgoyMDE2LTA2LTA4IDE4OjAyOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBNb3ZlIFNFRUsgaGFuZGxpbmcgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbgoJICBKdXN0IGZvciBjb2RlIHJlYWRhYmlsaXR5LiBEb2Vzbid0IGNoYW5nZSBiZWhhdmlvdXIKCjIwMTYtMDYtMDcgMjE6MTA6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogV2FpdCBmb3Igc2VnbWVudCBldmVudCBiZWZvcmUgY2hlY2tpbmcgaXQKCSAgVGhlIGhldXJpc3RpYyB0byBjaG9vc2UgYmV0d2VlbiBwYWNrZXRpc2Ugb3Igbm90IHdhcyBjaGFuZ2VkIHRvIHVzZSB0aGUKCSAgc2VnbWVudCBmb3JtYXQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyBjaGFuZ2UgaXMgcmVhZGluZyB0aGUgc2VnbWVudAoJICBkdXJpbmcgdGhlIGNhcHMgZXZlbnQgaGFuZGxpbmcuIFRoZSBzZWdtZW50IGV2ZW50IHdpbGwgb25seSBiZSBzZW50CgkgIGFmdGVyLiBUaGF0IHByZXZlbnRlZCB0aGUgZGVjb2RlciB0byBnbyBpbiBwYWNrZXRpemUgbW9kZSwgYW5kIGF2b2lkCgkgIHVzZWxlc3MgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNi0wNi0wNyAyMTowNDoyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jZGVjOiBXYWl0IGZvciBzZWdtZW50IGV2ZW50IGJlZm9yZSBjaGVja2luZyBpdAoJICBUaGUgaGV1cmlzdGljIHRvIGNob29zZSBiZXR3ZWVuIHBhY2tldGlzZSBvciBub3Qgd2FzIGNoYW5nZWQgdG8gdXNlIHRoZQoJICBzZWdtZW50IGZvcm1hdC4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGlzIGNoYW5nZSBpcyByZWFkaW5nIHRoZSBzZWdtZW50CgkgIGR1cmluZyB0aGUgY2FwcyBldmVudCBoYW5kbGluZy4gVGhlIHNlZ21lbnQgZXZlbnQgd2lsbCBvbmx5IGJlIHNlbnQKCSAgYWZ0ZXIuIFRoYXQgcHJldmVudGVkIHRoZSBkZWNvZGVyIHRvIGdvIGluIHBhY2tldGl6ZSBtb2RlLCBhbmQgYXZvaWQKCSAgdXNlbGVzcyBwYXJzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE2LTA2LTA3IDE0OjE1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBmaXggYnVpbGRkaXIgIT0gc3JjZGlyIGJ1aWxkLCBhbmQgZGlzdGNoZWNrCgoyMDE2LTA2LTAxIDE5OjAyOjMzIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAganBlZzIwMDBwYXJzZTogQWRkIEpQRUcyMDAwIHBhcnNlciBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyMzYKCjIwMTYtMDYtMDEgMTk6MDE6NDQgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuaDoKCSAgb3BlbmpwZWc6IHNldCBzYW1wbGluZyBpbiB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MjM2CgoyMDE2LTA1LTAyIDE3OjM4OjUwICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBTZXQgUFRTIG9uIGFsaWduZWQgYnVmZmVycwoJICBUaGlzIHdhcyBicm9rZW4gaW4gMDljMDVkZiAobWFrZSAiYWxpZ25tZW50IiBwcm9wZXJ0eSBtb3JlIHVzZWZ1bCBmb3IKCSAgcGFja2V0aXNhdGlvbikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MjYKCjIwMTYtMDYtMDcgMTc6MjI6MDEgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGFsd2F5cyBkcmFpbiBpbiA6Om5lZ290aWF0ZQoJICBNb3ZlIGNhbGxpbmcgZ3N0X3Z0ZGVjX3B1c2hfZnJhbWVzX2lmX25lZWRlZCBmcm9tIDo6c2V0X2Zvcm1hdCB0byA6Om5lZ290aWF0ZSBzbwoJICB0aGF0IHdlIGFsd2F5cyBkcmFpbiBldmVuIHdoZW4gcmVuZWdvdGlhdGlvbiBpcyB0cmlnZ2VyZWQgYnkgZG93bnN0cmVhbS4KCjIwMTYtMDYtMDcgMTY6MDA6MDEgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IHRyeSB0byBwcmVzZXJ2ZSBkb3duc3RyZWFtIGNhcHMgb3JkZXIKCSAgdnRkZWMgc3BlY2lmaWVzIHN5c21lbTsgR0xNZW1vcnkgYXMgdGVtcGxhdGUgY2Fwcy4gV2hlbiBuZWdvdGlhdGluZywgd2UgdXNlZCB0bwoJICBjYWxsIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzICguLi4sIGZpbHRlcikgd2l0aCBvdXIgdGVtcGxhdGUgY2FwcyBhcyBmaWx0ZXIuIFRoZQoJICBxdWVyeSBkb2VzIGdzdF9jYXBzX2ludGVyc2VjdCAoZmlsdGVyLCBwZWVyY2FwcykgaW50ZXJuYWxseSB3aGljaCBnaXZlcwoJICBwcmVjZWRlbmNlIHRvIHRoZSBvcmRlciBvZiB0aGUgZmlsdGVyIGNhcHMuIFdoaWxlIHdlIHdhbnQgdG8gb3V0cHV0IHN5c21lbSBieQoJICBkZWZhdWx0LCB3aGVuIG5lZ290aWF0aW5nIHdpdGggZ2xpbWFnZXNpbmsgd2hpY2ggcmV0dXJucyBHTE1lbW9yeTsgc3lzbWVtOyB3ZQoJICBkbyB3YW50IHRvIGRvIEdMLCBzbyB3ZSBub3cgcXVlcnkgdXNpbmcgYSBOVUxMIGZpbHRlciBhbmQgaW50ZXJzZWN0IHRoZSByZXN1bHQKCSAgd2l0aCBvdXIgdGVtcGxhdGUgY2FwcyBnaXZpbmcgcHJlY2VkZW5jZSB0byBkb3duc3RyZWFtJ3MgY2Fwcy4KCSAgdGw7ZHI6IG1ha2Ugc3VyZSB3ZSBlbmQgdXAgbmVnb3RpYXRpbmcgR0xNZW1vcnkgd2l0aCBnbGltYWdlc2luawoKMjAxNi0wNi0wNiAxNDowODo0MyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiBBdm9pZCBhIGRpdiBieSAwIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzMwMgoKMjAxNi0wNi0wNiAxMjozODo0NSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogRG8gbm90IGNhbGwgZ3N0X29iamVjdF91bnJlZiBvbiBHc3RDYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcyOTgKCjIwMTYtMDUtMTkgMTE6MTY6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFNldCBESVNDT05UIG9uIHN0YXJ0dXAsIHJlc3VtZSBhbmQgYWZ0ZXIgc2Vla3MKCSAgSW5pdGlhbCBidWZmZXJzIGFmdGVyIFNUUkVBTV9TVEFSVCBhbmQgc2Vla3Mgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZQoJICBESVNDT05UIGZsYWcgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjUwCgoyMDE1LTA5LTIzIDAyOjUxOjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IENoYW5nZSB0aGUgcGFkIG5hbWluZyBzY2hlbWUgdG8gaW5jbHVkZSBhIGdlbmVyYXRpb24gSUQKCSAgQSBzaW1wbGUgZml4IGZvciB0aGUgcHJvYmxlbSBvZiBjcmVhdGluZyBuZXcgcGFkcyB3aXRoIGR1cGxpY2F0ZQoJICBuYW1lcyB3aGVuIHN3aXRjaGluZyBwcm9ncmFtLCBlYXNpZXIgdGhhbiB0aGUgYWx0ZXJuYXRpdmUgb2YKCSAgdHJ5aW5nIHRvIHdvcmsgb3V0IHdoaWNoIHBhZHMgbWlnaHQgcGVyc2lzdCBhbmQgbWFuYWdlIHRoYXQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDU0CgoyMDE2LTA2LTA2IDExOjEzOjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBwYXVzZSgpIHNob3VsZCBub3QgaW5oaWJpdCBzaWduYWxzIGJ1dCB3b3JrIGV4YWN0bHkgbGlrZSBwbGF5KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYwNyNjMjMKCjIwMTYtMDYtMDMgMTU6NTg6NTIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaW1wcm92ZSBkZXNjcmlwdGlvbiBvZiBQSURzIHByb3BlcnR5CgoyMDE2LTA2LTAzIDA3OjExOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IE9ubHkgdXNlIHRoZSBPcGVuR0wgZnJhbWV3b3JrIG9uIE9TWAoJICBJdCdzIG5vdCBhdmFpbGFibGUgb24gaW9zICh1c2VzIE9wZW5HTEVTIGFscmVhZHkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5NzMKCjIwMTYtMDUtMTcgMTc6MTQ6NDkgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgZ3N0LWxpYnM6IGdsLCB2aWRlbzogdXNlIE1BWV9CRV9MRUFLRUQgZmxhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTYyCgoyMDE2LTA1LTE4IDEyOjQ4OjQ4ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBhMmRwc2luazogdW5yZWYgYXZkdHBzaW5rIGlmIHN0YXRlIHRyYW5zaXRpb24gZmFpbGVkCgkgIElmIGZvciBzb21lIHJlYXNvbiB0aGUgYXZkdHBzaW5rIGVsZW1lbnQgY2FuJ3QgZ28gUkVBRFkgdGhlbiB0aGUKCSAgZ3N0YTJkcHNpbmsgY2FuJ3QgZWl0aGVyIGFuZCBzbyBzaG91bGQgcmVsZWFzZSB0aGUgcmVzc291cmNlcyBpdAoJICBhbGxvY2F0ZXMgd2hlbiB0cnlpbmcgdG8gZG8gc28uCgkgIEZpeCBhIGxlYWsgd2l0aCB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE2MQoKMjAxNi0wNS0yOCAyMTozNDo1MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IENHTFRleEltYWdlSU9TdXJmYWNlMkQgbmVlZHMgdGhlIE9wZW5HTCBmcmFtZXdvcmsgb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5NzMKCjIwMTYtMDUtMjggMjE6Mzk6MDAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkgIGF2c2FtcGxldmlkZW9zaW5rOiBjaGVjayB3ZSBhcmUgY29tcGlsaW5nIGZvciAxMC4xIHVwIHRvIDEwLjQKCSAgVGhpcyBBUEkgd2FzIGRlcHJlY2F0ZWQgaW4gMTAuNCwgc28gZG9uJ3QgdXNlIGl0IGZvciAxMC41IGFuZCBvbndhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTczCgoyMDE2LTA2LTAxIDEzOjQzOjMyICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IHZ0ZW5jOiBSZWdpc3RlciBhIGhhcmR3YXJlLW9ubHkgdnRlbmNfaDI2NF9odyBlbGVtZW50IG9uIE9TWAoJICBTaW1pbGFyIHRvIHZ0ZGVjX2h3LCB0aGlzIGNvbW1pdCBhZGRzIGEgdnRlbmNfaDI2NF9odyBlbGVtZW50IHRoYXQgZmFpbHMKCSAgY2FwcyBuZWdvdGlhdGlvbiB1bmxlc3MgYSBoYXJkd2FyZSBlbmNvZGVyIGNvdWxkIGFjdHVhbGx5IGJlIGFjcXVpcmVkLgoJICBUaGlzIGlzIHVzZWZ1bCBpbiBzaXR1YXRpb25zIHdoZXJlIGEgZmFsbGJhY2sgdG8gYSBzb2Z0d2FyZSBlbmNvZGVyCgkgIG90aGVyIHRoYW4gdGhlIHZ0ZW5jX2gyNjQgc29mdHdhcmUgZW5jb2RlciBpcyBkZXNpcmVkIChlLmcuIHRvIHgyNjRlbmMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTA0CgoyMDE2LTA2LTAyIDE2OjMwOjAyICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBtYWtlIHZ0ZGVjX2h3IGZhbGxiYWNrIHRvIHNvZnR3YXJlIG9uIHJlbmVnb3RpYXRpb24KCSAgV2hlbiByZW5lZ290aWF0aW5nIG1pZCBzdHJlYW0gLSBmb3IgZXhhbXBsZSB3aXRoIHZhcmlhYmxlIGJpdHJhdGUKCSAgc3RyZWFtcyAtIGFuZCB0aGVyZWZvcmUgZGVzdHJveWluZyBhbmQgcmVjcmVhdGluZyBWVFNlc3Npb25zLCB0aGUKCSAgaHcgZGVjb2RlciBtaWdodCBiZWNvbWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuCgkgIFRvIGRlYWwgd2l0aCB0aGlzIGFuZCBhdm9pZCBlcnJvcmluZyBvdXQgb24gYml0cmF0ZSBjaGFuZ2VzLAoJICB2dGRlY19odyBub3cgZmFsbHMgYmFjayB0byB1c2luZyB0aGUgc29mdHdhcmUgZGVjb2RlciBpZiB0aGUgaHcKCSAgb25lIHdhcyBhdmFpbGFibGUgYXQgc29tZSBwb2ludCBidXQgaXNuJ3QgYW55bW9yZS4gQXQKCSAgcmVuZWdvdGlhdGlvbi9iaXRyYXRlIGNoYW5nZSB0aW1lLCBpdCB3aWxsIHN0aWxsIHJldHJ5IHRvIG9wZW4KCSAgdGhlIGhhcmR3YXJlIG9uZS4KCjIwMTYtMDYtMDIgMTM6MTA6NTEgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGZpeCBzd2l0Y2hpbmcgZnJvbSBHTE1lbW9yeSB0byBTeXNtZW0KCSAgV2hlbiByZW5lZ290aWF0aW5nIGZyb20gR0xNZW1vcnkgdG8gU3lzbWVtIGRvIHRlYXJkb3duIHRoZSB0ZXh0dXJlX2NhY2hlLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE5MAoKMjAxNi0wNi0wMiAxMTozNjo1NyArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogb3B0aW1pemUgcmVuZWdvdGlhdGlvbgoJICA6Om5lZ290aWF0ZSBjYW4gYmUgY2FsbGVkIHNldmVyYWwgdGltZXMgYmVmb3JlIHRoZSBDQVBTIGV2ZW50IGlzIHNlbnQgZG93bnN0cmVhbQoJICBzbyB1c2UgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIG91dHB1dCBzdGF0ZSBjYXBzIGluc3RlYWQgb2YgdGhlIHBhZCBjdXJyZW50CgkgIGNhcHMgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIHJlY3JlYXRlIHRoZSBWVFNlc3Npb24gb3Igbm90LgoJICBUaGlzIGxlYWRzIHRvIGNyZWF0aW5nL2Rlc3Ryb3lpbmcgbGVzcyBWVFNlc3Npb25zIHdoaWNoIG1ha2VzIHJlbmVnb3RpYXRpb24gbW9yZQoJICByZWxpYWJsZSBlc3BlY2lhbGx5IHdoZW4gdXNpbmcgaHcgZGVjb2RpbmcuCgoyMDE2LTA2LTAxIDEzOjUyOjEwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlbW92ZSBjb21tZW50IG9uIHNlbGYtZXhwbGFuYXRvcnkgY29kZQoKMjAxNi0wNi0wMSAxMzoxODoyMSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhdm9pZCBvdXQtYm91bmQgd3JpdGUgb24gUElEIGZpbHRlciBhcnJheQoJICBUaGVyZSdzIG5vIG5lZWQgZm9yIGFuIGVuZC1vZi1saXN0IG1hcmtlciBpbiB0aGUgZmlsdGVyCgkgIFBJRHMgYXJyYXkgaWYgZnVsbCwgYXMgdGhlIGFic29sdXRlIG1heGltdW0gbnVtYmVyIG9mCgkgIGVsZW1lbnRzIChNQVhfRklMVEVSUykgaXMga25vd24uCgkgIENJRCAjMTM2MjQ0MQoKMjAxNi0wNS0zMSAyMDo0MToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGVycm9yIGRlYnVnIG1lc3NhZ2Ugd2hlbiBjYW1lcmEgZG9lc24ndCBleGlzdAoJICBNYWtlcyBubyBzZW5zZSB0byBpbmNsdWRlIHRoZSBzeXN0ZW0gZXJyb3IgaGVyZSBzaW5jZSBlcnJubwoJICB3aWxsIGxpa2VseSBub3QgYmUgc2V0IGFuZCB0aGVuIGl0IHNheXMgJ3N5c3RlbSBlcnJvcjogc3VjY2VzcycKCSAgd2hpY2ggaXMgY29uZnVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDg3CgoyMDE2LTA1LTMxIDE4OjU4OjQzICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGNzcmM6IHJlbGVhc2UgcmVzb3VyY2VzIGluICdmaW5hbGl6ZScgZnVuY3Rpb24KCSAgSW4gZ2VuZXJhbCwgJ2Rpc3Bvc2UnIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIGRyb3BwaW5nIGFsbCByZWZlcmVuY2VzCgkgIGFuZCAnZmluYWxpemUnIGlzIGNhbGxlZCBmb3IgcmVsZWFzaW5nIGluc3RhbmNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzMwOQoKMjAxNi0wNS0yNSAxNTowMTozMSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBwbGF5ZXI6IGluaGliaXQgc2lnbmFscyBhZnRlciBnc3RfcGxheWVyX3N0b3AoKSBoYXMgYmVlbiBjYWxsZWQKCSAgQWxzbyB3YWl0IGZvciB0aGUgc3RhdGUgY2hhbmdlIHRvIFNUT1AgdG8gaGF2ZSBiZWVuIGFubm91bmNlZCBiZWZvcmUKCSAgZGVzdHJveWluZyB0aGUgcGxheWVyIHNvIGl0IHdvbid0IGFwcGVhciBhcyBsZWFrZWQgYnkgbGVhayBkZXRlY3RvcgoJICB0b29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYwNwoKMjAxNi0wNS0yNSAxMjo0ODoxMyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBwbGF5ZXI6IGhhbmRsZSB1cmktbG9hZGVkIGluIHRlc3QKCSAgSGFkIHRvIGFkYXB0IHRoZSBleGlzdGluZyB0ZXN0cyBiZWNhdXNlIG9mIHRoaXMgbmV3IGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjA3CgoyMDE2LTA1LTI1IDE2OjU3OjQ5IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRG9uJ3QgYXNzdW1lIGNvbnRpZ3VvdXMgaWQncyBpbiBtYWtlX2NvZGVjX2RhdGEKCSAgdnBzL3Nwcy9wcHMgaWQncyBhcmUgbm90IHJlcXVpcmVkIHRvIGJlIHVzZWQgY29udGlndW91c2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODkxCgoyMDE2LTA1LTI4IDAxOjIyOjMyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBzYW1wbGUgQVRTQyBsYXVuY2ggbGluZQoKMjAxNi0wNS0yOCAyMTozNjowNCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSAgZ2w6IGdscXVlcnk6IGNhc3QgdG8gc2lsZW5jZSBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5NzMKCjIwMTYtMDUtMjggMjE6MzU6MzcgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBnbHRlc3RzcmMuaCBhbHJlYWR5IGRlZmluZXMgR3N0R0xUZXN0U3JjCgkgIEFuZCByZWRlZmluaXRpb24gaXMgbm90IGFsbG93ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5NzMKCjIwMTYtMDUtMjcgMjM6MjQ6NTQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogdXNlIGNvcnJlY3QgX05PTkUgZW51bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTczCgoyMDE2LTA1LTI4IDEwOjQ0OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBtYWludGFpbiBtaW5pbWFsIEFCSSBjb21wYXQKCSAgQmVjYXVzZSB3ZSBjYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTQtMDUtMjIgMTY6MTI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bnVzZWQgZnBzX251bS9mcHNfZGVuIGZpZWxkcwoJICBJbnN0ZWFkIHRoZSBuZXdseSBhZGRlZCBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB0byBjYWxjdWxhdGUKCSAgdGhlIGZyYW1lcmF0ZSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNi0wNS0yNSAxMDo1OTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiB1cGRhdGUgZnBzIGNhbGN1bGF0aW9uIGZvciBoMjY0IGNvZGVjIHBhcnNlciBBUEkgY2hhbmdlcwoJICBVc2UgbmV3IGdzdF9oMjY0X3ZpZGVvX2NhbGN1bGF0ZV9mcmFtZXJhdGUoKSBBUEkgaW5zdGVhZCBvZiBmcHNfbi9mcHNfZAoJICBmaWVsZHMgaW4gU1BTIHN0cnVjdCB3aGljaCBhcmUgdG8gYmUgcmVtb3ZlZC4KCSAgQXBwYXJlbnRseSBIMjY0IGNvbnRlbnQgaW4gTVNTIGlzIGFsd2F5cyBub24taW50ZXJsYWNlZC9wcm9ncmVzc2l2ZSwKCSAgc28gd2UgY2FuIGp1c3QgcGFzcyAwIGZvciBmaWVsZF9waWNfZmxhZyBhbmQgZG9uJ3QgbmVlZCB0byBwYXJzZSBhbnkKCSAgc2xpY2UgaGVhZGVycyBmaXJzdCBpZiB0aGVyZSdzIG5vIGV4dGVybmFsIHNpZ25hbGxpbmcuIEJ1dCBldmVuIGlmCgkgIHRoYXQncyBub3QgdGhlIGNhc2UgdGhlIG5ldyBjb2RlIGlzIG5vdCB3b3JzZSB0aGFuIHRoZSBleGlzdGluZyBjb2RlLgoJICBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjMTg5MDgwJTI4VlMuOTUlMjkuYXNweAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE2LTA1LTI2IDEwOjI4OjE0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBzaW5nbGUgbWFya2VyIGF0IGVuZCBvZiBmaWx0ZXJpbmcgUElEIGxpc3QKCSAgQXZvaWRzIGF0IGxlYXN0IH4xMDAgdW5uZWVkZWQgYXNzaWdubWVudCBvcGVyYXRpb25zIGF0IHJ1bnRpbWUKCjIwMTYtMDUtMjMgMTY6MzE6MDUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc2ltcGxpZnkgcmVwb3J0aW5nIG9mIHNldCBwb2xhcml0eQoKMjAxNi0wNS0yMyAxNDo0MTo0MCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggYmFuZHdpZHRoLWh6IHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIEJhbmR3aWR0aCBIeiBpcyBubyBsb25nZXIgYSBEVkJULW9ubHkgcHJvcGVydHkKCjIwMTYtMDUtMjMgMTQ6MDI6MTAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVzYWdlIG9mIFBFUyAmIERWUiBhY3JvbnltcyBldmVyeXdoZXJlCgkgIEFkZGl0aW9uYWxseSwgaW1wcm92ZSBtZXNzYWdlIG9uIGdzdF9wb2xsX25ldygpIGZhaWx1cmUKCjIwMTYtMDUtMjYgMjA6MTY6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBhbHdheXMgdW5yZWYgdGhlIGNvbnRleHQgb24gYSBjb2xsaXNpb24KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgbGVhayBHc3RHTENvbnRleHQncyB3aGVuIGFkZGluZyB0aGUgc2FtZSBjb250ZXh0IG1vcmUgdGhhbgoJICBvbmNlLgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IDVmOWQxMGY2MDM2MDY4NTAyYWQyM2UxZWM4NmE3M2UzNDE4MDFhZTEgaW4gdGhlCgkgIGdzdGdsY29udGV4dCB1bml0IHRlc3QgdGhhdCBmYWlsZWQgd2l0aDoKCSAgQXNzZXJ0aW9uICd0bXAgPT0gTlVMTCcgZmFpbGVkCgoyMDE2LTA1LTI1IDEzOjM4OjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIFJldmVydCAiYWdncmVnYXRvcjogU3RhcnQgdGhlIHRhc2sgd2hlbiBsaW5rZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzAyNTgwYzM4MTUxMzZkMjk0NzljM2E4Y2FlNjExZDZlMmZmMzcwOS4KCjIwMTYtMDUtMjAgMTQ6MzQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IERvbid0IGNhY2hlIGJ1ZmZlciBwb29sCgkgIFBvb2xzIGNhbm5vdCBiZSB1c2VkIGJ5IHRoZSB0d28gZWxlbWVudHMgYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYxMQoKMjAxNi0wNC0xMyAxNjozMDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTdGFydCB0aGUgdGFzayB3aGVuIGxpbmtlZAoJICBVbnRpbCBub3cgd2Ugd291bGQgc3RhcnQgdGhlIHRhc2sgd2hlbiB0aGUgcGFkIGlzIGFjdGl2YXRlZC4gUGFydCBvZiB0aGUKCSAgYWN0aXZpYXRpb24gY29uY2lzdCBvZiB0ZXN0aW5nIGlmIHRoZSBwaXBlbGluZSBpcyBsaXZlIG9yIG5vdC4KCSAgVW5mb3J0dW5hdGx5LCB0aGlzIGlzIG9mdGVuIHRvbyBzb29uLCBhcyBpdCdzIGxpa2VseSB0aGF0IHRoZSBwYWQgZ2V0CgkgIGFjdGl2YXRlZCBiZWZvcmUgaXQgaXMgZnVsbHkgbGlua2VkIGluIGR5bmFtaWMgcGlwZWxpbmUuCgkgIEluc3RlYWQsIHN0YXJ0IHRoZSB0YXNrIHdoZW4gdGhlIGZpcnN0IHNlcmlhbGl6ZWQgZXZlbnQgYXJyaXZlLiBUaGlzIGlzCgkgIGEgc2FmZSBtb21lbnQgYXMgd2Uga25vdyB0aGF0IHRoZSB1cHN0cmVhbSBjaGFpbiBpcyBjb21wbGV0ZSBhbmQganVzdAoJICBsaWtlIHRoZSBwYWQgYWN0aXZhdGlvbiwgdGhlIHBhZHMgYXJlIGxvY2tlZCwgaGVuY2UgY2Fubm90IGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzU0OAoKMjAxNi0wNS0yNSAwOTowOTowMSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSAgZ2w6IHdpbjMyOiBBZGQgZGVidWcgY2F0ZWdvcnkgaW4gZ3N0Z2xjb250ZXh0X3dnbC5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NjcKCjIwMTYtMDUtMTYgMjA6MDI6MjggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2xpbWFnZXNpbms6IHN1cHBvcnQgdmlkZW8gcm90YXRpb24gdXNpbmcgdHJhbnNmb3JtIG1hdHJpeAoJICBBZGQgInJvdGF0ZS1tZXRob2QiIHRvIGdsaW1hZ2VzaW5rIGFuZCBhcHBseSB0cmFuc2Zvcm0gbWF0cml4CgkgIHRvIHZlcnRleCBjb29yZGluYXRlIHRvIGNvbnRyb2wgcm90YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU3OTUKCjIwMTYtMDUtMjQgMjM6Mzk6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGZpeCByYWNlIHJldHJpZXZpbmcgdGhlIEdMIGNvbnRleHQgZnJvbSB0aGUgZGlzcGxheQoJICBfZ2V0X2dsX2NvbnRleHQoKSBjYW4gYmUgY2FsbGVkIGNvbmN1cnJlbnRseSBmcm9tIGVpdGhlciBwcm9wb3NlX2FsbG9jYXRpb24oKSBvcgoJICBkZWNpZGVfYWxsb2NhdGlvbigpLiAgSWYgaXQgc28gaGFwcGVucyB0aGF0IHRoaXMgaGFwcGVucyBhdCB0aGUgc2FtZSB0aW1lLAoJICB0aGUgY2hlY2sgZm9yIHdoZXRoZXIgd2UgYWxyZWFkeSBoYWQgYSBHTCBjb250ZXh0IHdhcyBvdXRzaWRlIHRoZSBsb2NrLiAgSW5zaWRlCgkgIHRoZSBsb2NrIGFuZCBsb29wLCB0aGUgZmlyc3QgdGhpbmcgdGhhdCBoYXBwZW5zIGlzIHRoYXQgd2UgdW5yZWYgdGhlIGN1cnJlbnQgR0wKCSAgY29udGV4dCAoaWYgdmFsaWQpIGFzIGlmIHRoZXJlIHdhcyBhIGNvbmZsaWN0IGFkZGluZyBpdCB0byB0aGUgZGlzcGxheS4gIElmIHRoZQoJICB0aW1pbmcgd2FzIHVubHVja3ksIHN1YnNlcXVlbnQgdXNlIG9mIHRoZSBHTCBjb250ZXh0IHdvdWxkIGJlIHJlZmVyZW5jaW5nIGFuCgkgIGFscmVhZHkgdW5yZWZmZWQgR0wgY29udGV4dCBvYmplY3QgcmVzdWx0aW5nIGluIGEgY3JpdGljYWw6CgkgIGdfb2JqZWN0X3JlZjogYXNzZXJ0aW9uICdvYmplY3QtPnJlZl9jb3VudCA+IDAnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzAzCgoyMDE2LTA1LTI0IDIzOjM4OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogYWRkIHNvbWUgZGVidWdnaW5nIGFib3V0IHJldHJpZXZpbmcgR0wgY29udGV4dHMKCjIwMTYtMDUtMjUgMTA6MDE6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkgIGVnbGltYWdlOiBSZS1hZGQgYWNjaWRlbnRpYWxseSByZW1vdmVkIEdTVF9ERUZJTkVfTUlOSV9PQkpFQ1RfVFlQRSgpCgoyMDE2LTA1LTIzIDE1OjI0OjUzICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogZml4IHN1YnVyaSBnZXR0ZXIgZGVidWcgbWVzc2FnZQoJICBUaGUgcHJvcGVydHkgaXMgYSBzdHJpbmcsIG5vdCBhIGJvb2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MDcKCjIwMTYtMDUtMjUgMDk6NTM6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IERvbid0IHNldCBzdWJ0aXRsZSBVUkkgZGlyZWN0bHkgYnV0IGRpc3BhdGNoIHRvIHRoZSBwbGF5ZXIgdGhyZWFkCgkgIE90aGVyd2lzZSB3ZSBkbyBzdGF0ZSBjaGFuZ2VzIGFuZCBldmVyeXRoaW5nIGluIHRoZSBhcHBsaWNhdGlvbiB0aHJlYWQsIHdoaWNoCgkgIG1pZ2h0IGJsb2NrIGFuZCBtb3JlIGltcG9ydGFudCBjYW4gY2F1c2UgcmVlbnRyYW50IHNpZ25hbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MDcKCjIwMTYtMDUtMjMgMjA6MTE6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkgIGVnbGltYWdlOiBFbnN1cmUgdGhhdCB0aGUgZGVidWcgY2F0ZWdvcnkgaXMgYWx3YXlzIGluaXRhbGl6ZWQKCSAgQmVmb3JlIHRoZSBpbml0aWFsaXplciB3YXMgb25seSBydW4gaWYgZG1hYnVmIHN1cHBvcnQgd2FzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3OTQKCjIwMTYtMDUtMjQgMjM6MzA6MDkgKzEwMDAgIEFyamVuIFZlZW5odWl6ZW4gPGFyamVuLnZlZW5odWl6ZW5AdG5vLm5sPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogbWFrZSB0aGUgcGl2b3QteiBwcm9wZXJ0eSBSRUFEV1JJVEUKCSAgSW5zdGVhZCBvZiBqdXN0IGJlaW5nIFJFQURBQkxFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODE4CgoyMDE2LTA1LTIzIDEwOjQwOjU4ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBmaXggc3JjX2ltcGwgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYxCgoyMDE2LTA1LTI0IDAwOjU1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJICBnLWk6IHBhc3MgY29tcGlsZXIgZW52IHRvIGctaXItc2Nhbm5lcgoJICBJdCdzIHdoYXQgaW50cm9zcGVjdGlvbi5tYWsgZG9lcyBhcyB3ZWxsLiBTaG91bGQKCSAgZml4IHNwdXJpb3VzIGJ1aWxkIGZhaWx1cmVzIG9uIGdub21lLWNvbnRpbnVvdXMuCgoyMDE2LTA1LTI0IDA3OjE3OjIyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkgIHBubWRlYzogRml4IEFTQ0lJIHBhcnNpbmcKCSAgUGFyc2UgZ3JheTE2IHByb3Blcmx5IGluIGFzY2lpIG1vZGUsIGFuZCBmaXgKCSAgc29tZSBidWdzIGFyb3VuZCByZWFkaW5nIGRhdGEgaW4gY2h1bmtzIHdoZW4KCSAgYXNjaWkgdmFsdWVzIGNyb3NzIGNodW5rIGJvdW5kYXJpZXMKCjIwMTYtMDUtMTkgMDE6Mjg6MDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BubS5jOgoJICBwbm06IEFkZCBhIGJhc2ljIHVuaXQgdGVzdAoJICBUZXN0IHRoYXQgd2UgY2FuIHJ1biBhbiBlbmNvZGUgLyBkZWNvZGUgY3ljbGUgaW4gdmFyaW91cwoJICBmb3JtYXRzIHdpdGhvdXQgZXJyb3JzCgoyMDE2LTA1LTE5IDAxOjA0OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogTWFrZSBvdXRwdXQgY2FwcyBtYXRjaCB0aGUgc3JjcGFkIHRlbXBsYXRlCgkgIERvbid0IG91dHB1dCAnaW1hZ2UvcG5tJywgd2hpY2ggaXNuJ3QgZXZlbiBpbiB0aGUgdGVtcGxhdGUKCSAgY2Fwcy4gSW5zdGVhZCwgb3V0cHV0IGEgbWltZS10eXBlIGNvbnNpc3RlbnQgd2l0aCB3aGF0IHdlCgkgIGFyZSBlbmNvZGluZy4KCjIwMTYtMDUtMTggMTc6MTk6NDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBUaWR5IHVwIGNvZGUsIHN1cHBvcnQgQkUvTEUgR1JBWTE2IHByb3Blcmx5CgkgIFJlbW92ZSBjb2RlIHRoYXQgZGVhbHQgd2l0aCBvZGQgc3RyaWRlcyBzZXBhcmF0ZWx5IC0gdGhlcmUncwoJICBub3QgcmVhbGx5IGFueSBvdmVyaGVhZCB0byBqdXN0IHVzaW5nIDEgY29kZXBhdGggZm9yIGJvdGggbWF0Y2hlZAoJICBhbmQgdW5tYXRjaGVkIHN0cmlkZSBvdXRwdXQuCgkgIEFkZCBzZXBhcmF0ZSBjb2RlcGF0aHMgZm9yIEJFIHZzIExFIEdSQVkxNiBpbnB1dCBzbyB0aGV5J3JlCgkgIGhhbmRsZWQgcHJvcGVybHkKCjIwMTYtMDUtMTYgMjE6MjI6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSAgcG5tZGVjOiBBY3R1YWxseSBvdXRwdXQgTEUgb3IgQkUgR1JBWTE2IGFzIG5lZ290aWF0ZWQKCSAgQWRkIGNvZGVwYXRocyB0byBvdXRwdXQgR1JBWTE2IGluIGxpdHRsZSBvciBiaWcgZW5kaWFuCgkgIGFzIG5lZ290aWF0ZWQuCgkgIE1vdmUgYWxsIG91dHB1dCBmb3JtYXQgbmVnb3RpYXRpb24gaW50byBhIGNlbnRyYWwKCSAgZnVuY3Rpb24gYW5kIGNsZWFuIGl0IHVwCgoyMDE1LTEwLTIyIDE3OjA2OjAxICswMjAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tZGVjOiBJbXBsZW1lbnRhdGlvbiBvZiBHUkFZMTYgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAyMgoKMjAxNS0xMC0xOSAxNzoxNTozMCArMDIwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEltcGxlbWVudGF0aW9uIG9mIEdSQVkxNiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDIyCgoyMDE2LTA1LTIwIDE5OjI1OjU3ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zYnVmZmVycG9vbC5jOgoJICBrbXNidWZmZXJwb29sOiBlcnJvciBvbmx5IGlmIG5vIGFsbG9jYXRvcgoJICBEbyBub3QgZXhwZWN0IGFuIGFsbG9jYXRvciBmcm9tIHRoZSBjb25maWd1cmF0aW9uLCBidXQgZXhwZWN0IHRvIGhhdmUgYWxyZWFkeQoJICBvbmUgc2V0LgoKMjAxNi0wNS0xNSAxMTo1Mjo1NSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogZnJhbWUgY29weSBsb2cgaW4gcGVyZm9ybWFuY2UgY2F0ZWdvcnkKCSAgTG9nIHRoZSBtZXNzYWdlIHdoZW4gdGhlIGZyYW1lIGlzIGdvaW5nIHRvIGJlIGNvcHkgKHdvcnNlIGNhc2UpIHVuZGVyIHRoZQoJICBwZXJmb3JtYW5jZSBsb2cgY2F0ZWdvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0NjYKCjIwMTYtMDUtMTUgMTE6NTE6MjIgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IHVzZSB0cmFjZSBsZXZlbCBmb3IgYnVmZmVyIHJlbmRlciBsb2cKCSAgSW5zdGVhZCBvZiB1c2luZyBkZWJ1ZyBsZXZlbCBmb3IgbG9nZ2luZyBlYWNoIGJ1ZmZlciByZW5kZXJlZCwgdXNlIHRyYWNlCgkgIGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDY2CgoyMDE2LTA1LTIzIDE3OjAwOjIyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmM6CgkgIHBsYXllcjogRml4IGRvY3VtZW50YXRpb24gZm9yIGdzdF9wbGF5ZXJfdmlkZW9faW5mb19nZXRfZnJhbWVyYXRlKCkKCSAgRG9jdW1lbnQgb3V0IHBhcmFtZXRlcnMgYW5kIGZpeCBmdW5jdGlvbiBuYW1lLgoKMjAxNi0wNS0xOCAxNjowMDo0NyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBwbGF5ZXI6IHVzZSBnc3RfY2hlY2tfaW5pdCgpIGluIHRlc3QKCSAgQ2FsbGluZyBHU1RfREVCVUcoKSBpbiB0ZXN0IHJlbHkgb24gdGhlIGRlZmF1bHQgY2F0ZWdvcnkgdG8gYmUgZGVmaW5lZCwKCSAgd2hpY2ggaXMgZG9uZSBpbiBnc3RfY2hlY2tfaW5pdCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjA3CgoyMDE2LTA1LTIwIDE3OjI4OjUyIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IGVuYWJsZSBNQ1QgZm9yIFJHQiB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzMyCgoyMDE2LTA1LTIwIDE0OjA4OjAzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGdyb3VwIERWQi1UMiBzdWJzdHJlYW0taWQgY2hlY2sgd2l0aCBpdHMgY29ycmVzcG9uZGluZyBzZXRfcHJvcCgpCgoyMDE2LTA1LTIwIDEzOjU3OjQ1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBEVkItUzIgc3ViLXN0cmVhbSBJRCBjaGVjawoJICBEaXNhYmxlIGlmIGludmFsaWQgKD4gMjU1KSBpbnN0ZWFkIG9mIGJsaW5keSBzZXR0aW5nIHRoaXMKCSAgcHJvcGVydHkgcmVnYXJkbGVzcyBvZiBpdHMgYWN0dWFsIHZhbHVlLgoKMjAxNi0wNS0yMCAxMzo0NzowNiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBjbGFyaWZ5IGNvbnNlcXVlbmNlIG9mIHBhc3NpbmcgYSB3cm9uZyBJRCB0byB0aGUgc3Vic3RyZWFtIGZpbHRlcgoKMjAxNi0wNS0xOSAxNzowNTozMyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZml4IHNoYWRlcnMgcmVmIGNvdW50aW5nCgkgIFRoZSBnbHRlc3RzcmMgZWxlbWVudCB1c2VzIHR3byBzaGFkZXJzOiBjb2xvcl9zaGFkZXIgYW5kIHNub3dfc2hhZGVyLgoJICBUaG9zZSBhcmUgYWx0ZXJuYXRpdmVseSBhc3NpZ25lZCB0byB0aGUgU3JjU2hhZGVyLT5zaGFkZXIgcG9pbnRlciBhbmQKCSAgdGhlaXIgcmVmZXJlbmNlIHdhcyB0cmFuc2ZlcnJlZCB0byBpdC4gT25seSB0aGUgU3JjU2hhZGVyLT5zaGFkZXIgd2FzCgkgIHVucmVmZmVkIChpbiBfc3JjX3NoYWRlcl9kZWluaXQoKSkgc28gb25seSBvbmUgc2hhZGVyIHdhcyBwcm9wZXJseQoJICBmcmVlZCwgdGhlIG90aGVyIG9uZSB3YXMgbGVha2VkLgoJICBGaXhlZCB0aGlzIGJ5IGdpdmluZyBhbiBleHRyYSByZWYgdG8gU3JjU2hhZGVyLT5zaGFkZXIgYW5kIHVucmVmZmluZyB0aGUKCSAgMiBzaGFkZXJzIGluIF9zcmNfc21wdGVfZnJlZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYxCgoyMDE2LTA1LTE5IDE2OjU1OjMxICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJICBnbG1vc2FpYzogZml4IHNoYWRlciBsZWFrCgkgIGdzdF9nbF9tb3NhaWNfaW5pdF9zaGFkZXIoKSBpcyBjYWxsZWQgdHdpY2Ugd2l0aCB0ZXN0X2dsbW9zYWljIHNvIHRoZQoJICBmaXJzdCBzaGFkZXIgd2FzIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MQoKMjAxNi0wNS0xNiAxNzoxMTo1MyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogVW5wYXJlbnQgaW50ZXJuYWwgd2luZG93IGJlZm9yZSBkZXN0cm95aW5nIGl0CgkgIEZvciBzb21lIHJlYXNvbiBEZXN0cm95V2luZG93KCkgZGVhZGxvY2sgaWYgaXQncyBjYWxsZWQgZnJvbQoJICBwYXJlbnQgd2luZG93J3MgS2V5UHJlc3MgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1MzMKCjIwMTYtMDUtMTYgMTU6MjY6NTMgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IERvbid0IHN0ZWFsIHBhcmVudCBmb2N1cyB3aGVuIGNyZWF0aW5nIGludGVybmFsIHdpbmRvdwoJICBUaGlzIGZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgMGFjYzE4YzYwZjZmOTYyY2M2NTUzZjYwNDdmZGI2NDg5MWJhYjU0NC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjUyMAoKMjAxNi0wNS0xNCAxMTo1Njo1OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCB3YWl0IGlmIGlucHV0IGJ1ZmZlciBpcyBhZnRlciBvdXRwdXQKCSAgSWYgdGhlIGlucHV0IGJ1ZmZlciBpcyBhZnRlciB0aGUgZW5kIG9mIHRoZSBvdXRwdXQgYnVmZmVyLCB0aGVuIHdhaXRpbmcKCSAgZm9yIG1vcmUgZGF0YSB3b24ndCBoZWxwLiBXZSB3aWxsIG5ldmVyIGdldCBhbiBpbnB1dCBidWZmZXIgZm9yIHRoaXMgcG9pbnQuCgkgIFRoaXMgZml4ZXMgY29tcG9zaXRpbmcgb2Ygc3RyZWFtcyBmcm9tIHJ0c3BzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MjIKCjIwMTYtMDUtMTkgMDk6MjU6NTcgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBmaXggcG90ZW50aWFsIE5VTEwgZGVyZWYKCSAgVGhpcyBidWcgd2FzIGZvdW5kIHZpYSBjcHBjaGVjayBzdGF0aWMgYW5hbHlzaXMuCgkgIElmIGFuZHJvaWQuaGFyZHdhcmUuQ2FtZXJhLmdldFBhcmFtZXRlcnMgcmV0dXJucyBOVUxMLCB0aGVuIG9iamVjdCB3aWxsCgkgIGJlIE5VTEwsIGFuZCB3ZSB3b24ndCBhbGxvY2F0ZSBwYXJhbXMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgR1NUX0RFQlVHCgkgIHN0YXRlbWVudCByZWZlcmVuY2luZyBwYXJhbXMtPm9iamVjdCB3aWxsIGJlIGludmFsaWQuIEZpeCB0aGlzIGJ5CgkgIGV4aXRpbmcgZWFybHkgaWYgYW5kcm9pZC5oYXJkd2FyZS5DYW1lcmEuZ2V0UGFyYW1ldGVycyByZXR1cm5zIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MzgKCjIwMTYtMDUtMTkgMTE6MzM6NTIgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjOiBmaXggdHlwbyBpbiBkb2MgYmx1cmIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY3OQoKMjAxNi0wNS0xOCAxNjo1NTozOCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBwZW5kaW5nIHRhZ3MgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYyCgoyMDE2LTA1LTE4IDEyOjMwOjA1ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU5NwoKMjAxNi0wNS0xOCAxMjozMzo1MSAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG9wZW5jdjogdHlwbyBmaXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYzOQoKMjAxNi0wNS0xOCAyMToyOToxNSAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuaDoKCSAgbHYyOiBzdXBwb3J0IENWUG9ydHMKCSAgQ1ZQb3J0cyBhcmUgcG9ydHMgdGhhdCB0YWtlIGEgYnVmZmVyLiBGb3Igbm93IHdlIGp1c3QgZmlsbCB0aGUgYnVmZmVycyB3aXRoCgkgIHRoZSBjb250cm9sIHZhbHVlLgoKMjAxNi0wNS0xOCAyMToyNjo1MCAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkgIGx2MjogdXNlIF9PQkpFQ1QgbG9nIHZhcmlhbnRzIGFuZCBsb3dlciBsb2cgbGV2ZWwgd2hlbiBwcm9jZXNzaW5nCgoyMDE2LTA1LTE3IDE0OjMzOjA0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IG1vdmUgSVNEQi1UIGJhbmR3aWR0aCBjaGVjayB0byBfaXNfdmFsaWRfYmFuZHdpZHRoKCkKCSAgQWxsb3dzIHRlc3QgdG8gYmUgdXNlZCBmb3IgZGVsaXZlcnkgc3lzdGVtIGF1dG8tZGV0ZWN0aW9uLgoJICBBZGRpdGlvbmFsbHksIGFkZCAwIChhdXRvKSBhcyB2YWxpZCB2YWx1ZS4KCjIwMTYtMDUtMTcgMTQ6MTk6MzAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkICcwJyBhcyBhIHZhbGlkIHZhbHVlIGZvciBiYW5kd2lkdGgKCSAgVW5kZXJseWluZyBBUEkgY29uc2lkZXJzIHRoaXMgdGhlIEJBTkRXSURUSF9IWiBlcXVpdmFsZW50CgkgIHRvIHRoZSBvbGQgQkFORFdJRFRIX0FVVE8gZm9yIEJBTkRXSURUSC4KCjIwMTYtMDUtMTcgMTM6NTM6NTQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZmFjdG9yIG91dCBhbmQgcmV1c2UgRFZCLVQvVDIgYmFuZHdpZHRoIGNoZWNrcwoJICBVc2UgbmV3IHV0aWxpdHkgZnVuY3Rpb24gYXMgYW4gYWRkaXRpb25hbCBjaGVjayBmb3IgZGVsaXZlcnkKCSAgc3lzdGVtIGF1dG8tZGV0ZWN0aW9uLgoKMjAxNi0wNS0xNyAxMjowNjo0NSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiByZWNvZ25pemUgYWRkaXRpb25hbCBiYW5kd2lkdGhzIGF0IHphcCBwYXJzaW5nCgkgIFByZXZpb3VzbHkgaWdub3JlZCAxLjcxMiwgNSBhbmQgMTAgTUh6IHZhbHVlcyBhcmUgYWxzbyB2YWxpZAoKMjAxNi0wNS0xNiAxMjoyNzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogY2Fub25pY2FsaXNlIGZ1bmN0aW9uIG5hbWVzCgkgIEhhZCB0byBiZSBkb25lIGF0IHNvbWUgcG9pbnQ6CgkgIGdzdF92aWRlb2FnZ3JlZ2F0b3JfKiAtPiBnc3RfdmlkZW9fYWdncmVnYXRvcl8qCgkgIEFsc28gZml4IHVwIHNvbWUgZnVuY3Rpb24gbmFtZXMgd2l0aCB0eXBvcy4KCjIwMTYtMDUtMTUgMjM6MzE6MzMgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBsdjI6IGNsZWFudXAgdGhlIHByZWRpY2F0ZXMKCSAgVXNlIHRoZSBkZWZpbmVzIGZyb20gdGhlIGhlYWRlcnMgYW5kIGdldCByaWQgb2Ygb3VyIG93biBuYW1lc3BhY2UgZGVmaW5lcy4KCSAgUmVwbGFjZSB0aGUgJ3JvbGUnIHByb3Agd2l0aCAnZGVzaWduYXRpb24nLgoKMjAxNi0wNS0xNSAyMzoyNzoyMiAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiB0d2VhayBlbnVtIGxvZ2dpbmcKCSAgTG9nIG1vcmUgZGV0YWlscyB3aGVuIHdlIGZpbmQgYSBiYWQgc2NhbGVwb2ludCBhbmQgZG93bmdyYWRlIHRoZSBsb2dnaW5nIG9mIHRoZQoJICBnb29kIGVudW0gdmFsemVzLgoKMjAxNi0wNS0xNSAyMjowNTo0MyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogZ2VuZXJhdGUgZW51bXMgZnJvbSBzY2FsZXBvaW50cwoJICBQbHVnaW5zIGNhbiBwcm92aWRlIGEgc2V0IG9mIG5hbWVkIHZhbHVlcyBmb3IgYSBjb250cm9sIHBvcnQuIElkZWFsbHkgb25seSB0aG9zZQoJICB2YWx1ZXMgYXJlIHNldCBmb3IgdGhlIHByb3BlcnR5LiBDaGVjayBpZiBhbGwgc2NhbGVwb2ludHMgYXJlIGludGVnZXJzIGFuZCBpZiBzbwoJICBnZW5lcmF0ZSBhbiBlbnVtIHR5cGUuCgoyMDE2LTA1LTE1IDE5OjQ1OjI2IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IHJlZHVjZSBsb2cgc3BhbSBmb3IgcHJvcGVydHkgYm91bmRzCgkgIE9ubHkgY29tcGxhaW4gYWJvdXQgYmFkIGJvdW5kcywgaWYgdGhlIHBsdWdpbiBhY3R1YWxseSBzZXQgdGhvc2UuIE90aGVyd2lzZQoJICBzaWxlbnRseSBhZGp1c3Qgb3VyIGRlZmF1bHRzLgoKMjAxNi0wNS0xNSAxNzo1ODo1MSAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIGx2MjogcmVtb3ZlIGx2Ml9zeW1ib2xfcHJlZAoJICBXZSdyZSBub3QgYWN0dWFsbHkgdXNpbmcgaXQuCgoyMDE2LTA1LTE1IDE3OjU0OjA2IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSAgbHYyOiByZW1vdmUgbGVmdG92ZXIgRklNRQoKMjAxNi0wNS0xNSAwMDo0MToxMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzcGVjaWFsIGNhc2UgZGV0ZWN0aW9uIHdoZW4gRFZCLVQgYW5kIFQyIHNlZW0gdmFsaWQKCSAgVGhlcmUgaXMgbm8gd2F5IHRvIHRlbGwgb25lIG92ZXIgdGhlIG90aGVyIHdoZW4gcGFyYW1ldGVycwoJICBzZWVtIHZhbGlkIGZvciBEVkItVCBhbmQgRFZCLVQyIGFuZCB0aGUgYWRhcHRlciBzdXBwb3J0cwoJICBib3RoLiBSZWFzb24gdG8gZ28gd2l0aCB0aGUgZm9ybWVyIGhlcmUgaXMgdGhhdCwgZnJvbQoJICBleHBlcmllbmNlLCBtb3N0IERWQi1UMiBjaGFubmVscyBvdXQgdGhlcmUgc2VlbSB0byB1c2UKCSAgcGFyYW1ldGVycyB0aGF0IGFyZSBub3QgdmFsaWQgZm9yIERWQi1ULCBsaWtlIFFBTV8yNTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTczMQoKMjAxNi0wNS0xNCAyMzozMjo0OSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgdHJhbnNtaXNzaW9uIG1vZGUgY2hlY2sgZm9yIERUTUIKCjIwMTYtMDUtMTMgMDE6NTQ6NTYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogdXNlIHByb3BlciBmZV9zcGVjdHJhbF9pbnZlcnNpb24gZW51bSBpZGVudGlmaWVycwoKMjAxNi0wNS0xMyAwMToyNTowOCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBleHBsaWNpdGx5IGRpc2FibGUgc3RyZWFtIGZpbHRlciBmb3IgaW52YWxpZCBpZHMKCjIwMTYtMDUtMTMgMDA6NTA6NDUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogZG8gbm90IGFzc3VtZSBEVkItVCBmcm9tIHphcCBmaWxlIGFsb25lCgkgIERWQi1UL1QyIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcyBzbyB3ZSB3ZXJlCgkgIHdyb25nbHkgYXNzdW1pbmcgRFZCLVQgZm9yIERWQi1UMiBicm9hZGNhc3RzLiBOb3QKCSAgc2V0dGluZyB0aGUgZGVsaXZlcnkgc3lzdGVtIGhlcmUgYWxsb3dzIGZvciBkdmJzcmMKCSAgdG8gbWFrZSBhbiBpbmZvcm1lZCBndWVzcyBiYXNlZCBvbiB0aGUgY2hhbm5lbAoJICBwYXJhbWV0ZXJzLgoKMjAxNi0wNS0xMyAwMDoxMjozMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBjb25zaWRlciB0cmFuc21pc3Npb24gbW9kZSBmb3IgZGVsc3lzIGF1dG9kZXRlY3Rpb24KCjIwMTYtMDUtMTMgMDA6MDQ6MDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZmFjdG9yIG91dCB0cmFuc21pc3Npb24gbW9kZSBjaGVjayBhZ2FpbnN0IGRlbHN5cwoKMjAxNi0wNS0xMiAxNjo0MzowOSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBpbXByb3ZlIGRlbGl2ZXJ5IHN5c3RlbSBhdXRvZGV0ZWN0aW9uCgoyMDE2LTA1LTEyIDE0OjEyOjA5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtb2R1bGF0aW9uIGNoZWNrcyBmb3IgRFZCLVQgYW5kIFQyCgoyMDE2LTA1LTE1IDE0OjQ2OjQwIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiB1c2UgX09CSkVDVCBsb2cgdmFyaWFudHMgZm9yIHBsdWdpbl9pbml0CgkgIEFsc28gdHJpbSBsZWFkaW5nIHdoaXRlc3BhZS4KCjIwMTYtMDUtMTUgMTQ6NDU6MTUgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmg6CgkgIGx2MjogYWRkIHJlZ2lzdHJ5IGNhY2hpbmcKCSAgVXNlIHRoZSBwbHVnaW5fY2FjaGUgZXh0cmEgZGF0YSB0byBhdm9pZCBpbnRyb3NwZWN0aW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDE2LTA1LTE0IDEyOjM1OjE1IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiBpbXBsZW1udCB0aGUgbWFwLWV4dGVuc2lvbgoJICBUaGlzIGlzIHRoZSBtb3N0IHVzZWQgb25lIGFuZCBhdCB0aGUgc2FtZSB0aW1lIGVhc3kgdG8gaW1wbGVtZW50IHNpbmcgUUdRdWFyay4KCjIwMTYtMDUtMTQgMTI6MzQ6MTAgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuaDoKCSAgbHZzOiBhZGQgcmVxdWlyZV9mZWF0dXJlIGNoZWNrcwoJICBQbHVnaW5zIGNhbiByZXBvcnQgd2hhdCBob3N0IGZlYXR1cmVzIHRoZXkgbmVlZC4gU2luY2Ugd2Ugc3RhcnQgdG8gaW1wbGVtZW50IGhvc3QgZmVhdHVyZQoJICBjaGVjayB3aGljaCBwbHVnaW5zIHdlIGNhbiBubyBzdXVwb3J0LgoKMjAxNi0wNS0xNSAxNDozNDozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQ2hlY2sgaWYgd2UgZ2V0IGEgdmFsaWQgZGlzcGxheSByYXRpbwoJICBBcyBpcyBkb25lIGV2ZXJ5d2hlcmUgZWxzZSwgYW5kIGF2b2lkcyBzZXR0aW5nIGJvZ3VzIHZhbHVlcwoJICBBbmQgcmVtb3ZlIHVzZWxlc3MgKjx2YWw+IGNoZWNrcyAod2UgYWx3YXlzIHByb3ZpZGUgdmFsaWQgdmFsdWVzIGFuZAoJICBpdCdzIGFuIGludGVybmFsIGZ1bmN0aW9uKS4KCSAgQ0lEICMxMzIwNzAwCgoyMDE2LTA1LTE1IDE0OjE2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoJICAqIHJlYWQgaXMgb25seSB1c2VkIHdpdGhpbiB0aGUgd2hpbGUgbG9vcAoJICAqIHRvZG8gYW5kIGJzaXplIG9ubHkgbmVlZCB0byBiZSBhc3NpZ25lZCBvbmNlCgoyMDE2LTA1LTE1IDE1OjExOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBBZGQgdXJpLWxvYWRlZCBzaWduYWwgdGhhdCBpcyBmaXJlZCB3aGVuZXZlciBhIG5ldyBVUkkgaXMgYWN0dWFsbHkgbG9hZGVkCgkgIFRoaXMgYWxsb3dzIGtub3dpbmcgdGhlICJib3VuZGFyeSIgZnJvbSB3aGljaCBvbiBhbGwgZm9sbG93aW5nIHNpZ25hbHMgYXJlIGZvcgoJICB0aGUgbmV3IFVSSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjA2MgoKMjAxNi0wNS0xNCAxNzowNTo0NSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2L2ZhY2VkZXRlY3Q6IGZpeCB0aGUgYnVpbGQgd2l0aCBvcGVuY3YgMy4xLjAKCSAgLSBhZGQgdXNpbmcgbmFtZXNwYWNlIHN0ZDsgZm9yIHN0ZDo6dmVjdG9yCgkgIC0gdXNlIHRoZSBjcHAgaGVhZGVyIGltZ3Byb2MuaHBwIGZpbGUgZm9yIHRoZSBjdjo6ZWxsaXBzZSBmdW5jdGlvbiBpbnN0ZWFkIG9mCgkgIHRoZSBDIGhlYWRlcgoJICAtIE1hdCBubyBsb25nZXIgdGFrZXMgSXBsSW1hZ2UgaW4gaXQncyBjb25zdHJ1Y3RvcnMsIHVzZSB0aGUgY3ZhcnJ0b21hdCgpCgkgIGZ1bmN0aW9uIGluc3RlYWQuCgkgIEZpeGVzIGEgY291cGxlIG9mIGJ1aWxkIGVycm9yczoKCSAgZ3N0ZmFjZWRldGVjdC5jcHA6MTQwOjMwOiBlcnJvcjog4oCYdmVjdG9y4oCZIGRvZXMgbm90IG5hbWUgYSB0eXBlCgkgIHN0cnVjdHVyZV9hbmRfbWVzc2FnZSAoY29uc3QgdmVjdG9yIDwgUmVjdCA+ICZyZWN0YW5nbGVzLCBjb25zdCBnY2hhciAqIG5hbWUsCgkgIF5+fn5+fgoJICBnc3RmYWNlZGV0ZWN0LmNwcDoxNDA6Mzc6IGVycm9yOiBleHBlY3RlZCDigJgs4oCZIG9yIOKAmC4uLuKAmSBiZWZvcmUg4oCYPOKAmSB0b2tlbgoJICBzdHJ1Y3R1cmVfYW5kX21lc3NhZ2UgKGNvbnN0IHZlY3RvciA8IFJlY3QgPiAmcmVjdGFuZ2xlcywgY29uc3QgZ2NoYXIgKiBuYW1lLAoJICBeCgkgIGdzdGZhY2VkZXRlY3QuY3BwOiBJbiBmdW5jdGlvbiDigJh2b2lkIHN0cnVjdHVyZV9hbmRfbWVzc2FnZShpbnQp4oCZOgoJICBnc3RmYWNlZGV0ZWN0LmNwcDoxNDM6MTM6IGVycm9yOiDigJhyZWN0YW5nbGVz4oCZIHdhcyBub3QgZGVjbGFyZWQgaW4gdGhpcyBzY29wZQoJICBSZWN0IHNyID0gcmVjdGFuZ2xlc1swXTsKCSAgWy4uLl0KCSAgZ3N0ZmFjZWRldGVjdC5jcHA6IEluIGZ1bmN0aW9uIOKAmHZvaWQKCSAgZ3N0X2ZhY2VfZGV0ZWN0X3J1bl9kZXRlY3RvcihHc3RGYWNlRGV0ZWN0KiwgY3Y6OkNhc2NhZGVDbGFzc2lmaWVyKiwgZ2ludCwgZ2ludCwKCSAgY3Y6OlJlY3QsIHN0ZDo6dmVjdG9yPGN2OjpSZWN0XzxpbnQ+ID4mKeKAmToKCSAgZ3N0ZmFjZWRldGVjdC5jcHA6NTYyOjMxOiBlcnJvcjogbm8gbWF0Y2hpbmcgZnVuY3Rpb24gZm9yIGNhbGwgdG8KCSAg4oCYY3Y6Ok1hdDo6TWF0KElwbEltYWdlKiYsIGN2OjpSZWN0JinigJkKCSAgTWF0IHJvaSAoZmlsdGVyLT5jdkdyYXksIHIpOwoJICBbLi4uXQoJICBnc3RmYWNlZGV0ZWN0LmNwcDogSW4gZnVuY3Rpb24g4oCYR3N0Rmxvd1JldHVybgoJICBnc3RfZmFjZV9kZXRlY3RfdHJhbnNmb3JtX2lwKEdzdE9wZW5jdlZpZGVvRmlsdGVyKiwgR3N0QnVmZmVyKiwgSXBsSW1hZ2UqKeKAmToKCSAgZ3N0ZmFjZWRldGVjdC5jcHA6NTk0OjQ0OiBlcnJvcjogbm8gbWF0Y2hpbmcgZnVuY3Rpb24gZm9yIGNhbGwgdG8KCSAg4oCYY3Y6Ok1hdDo6TWF0KGN2OjpNYXQsIGJvb2wp4oCZCgkgIE1hdCBtdHhPcmcgKGN2OjpjdmFyclRvTWF0IChpbWcpLCBmYWxzZSk7CgkgIFsuLi5dCgkgIGdzdGZhY2VkZXRlY3QuY3BwOjczNDo3OTogZXJyb3I6IOKAmGVsbGlwc2XigJkgd2FzIG5vdCBkZWNsYXJlZCBpbiB0aGlzIHNjb3BlCgkgIGVsbGlwc2UgKG10eE9yZywgY2VudGVyLCBheGVzLCAwLCAwLCAzNjAsIFNjYWxhciAoY3IsIGNnLCBjYiksIDMsIDgsCgkgIDApOwoKMjAxNi0wNS0xNSAxMToyMDoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIHJlbW92ZWQgZXhhbXBsZSBkaXIgdG8gQ1JVRlRfRElSUwoKMjAxNi0wNS0xNSAxMzozMzo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxNi0wMy0wNCAyMjoxMDo0NyArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkYXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkYXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9yYXdwYXJzZS91bmFsaWduZWRhdWRpby5oOgoJICByYXdwYXJzZTogQWRkIHVuYWxpZ25lZCByYXcgYXVkaW8gcGFyc2luZyB0byBhdWRpb3BhcnNlIGFuZCBhZGQgbmV3IGVsZW1lbnQKCSAgVGhpcyBoZWxwcyBpbiBjYXNlcyB3aGVyZSByYXcgYXVkaW8gZGF0YSBpcyBiZWluZyBkZWxpdmVyZWQsIGJ1dCB0aGUKCSAgYnVmZmVycyBkbyBub3QgY29tZSBpbiBzYW1wbGUgYWxpZ25lZCBzaXplcy4gVGhlIG5ldyB1bmFsaWduZWRhdWRpb3BhcnNlCgkgIGJpbiBjYW4gYmUgYXV0b3BsdWdnZWQgYW5kIGNvbmZpZ3VyZXMgYW4gaW50ZXJuYWwgYXVkaW9wYXJzZSBlbGVtZW50IHRvCgkgIGFsaWduIHRoZSBkYXRhLiBhdWRpb3BhcnNlIGl0c2VsZiBnZXRzIHN1cHBvcnQgZm9yIGF1ZGlvL3gtdW5hbGlnbmVkLXJhdwoJICBpbnB1dCBjYXBzOyB0aGUgb3V0cHV0IGNhcHMgdGhlbiBjb250YWluIHRoZSBzYW1lIGluZm9ybWF0aW9uLCBleGNlcHQgdGhhdAoJICB0aGUgbmFtZSBpcyBjaGFuZ2VkIHRvIGF1ZGlvL3gtcmF3IChzaW5jZSBhdWRpb3BhcnNlIGFsaWducyB0aGUgZGF0YSkuCgkgIFRoaXMgZW5zdXJlcyB0aGF0IHNvdXBodHRwc3JjICEgYXVkaW9wYXJzZSBzdGlsbCB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ2MAoKMjAxNi0wNS0xNSAxMzoxNDo0MSArMDMwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGRlbW90ZSBubyBwbGF0Zm9ybSBkaXNwbGF5IGRlYnVnIHRvIGluZm8KCSAgQXZvaWRzIGNvbmZ1c2luZyBldmVyeW9uZSB3aXRoIGEgd2FybmluZyB0aGF0J3Mgbm90IGFsd2F5cyBmYXRhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjkzMwoKMjAxNi0wNS0xNSAxMjozMTozOCArMDMwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogcmVtb3ZlIG5vbi1leGlzdGVudCBkaXJlY3RvcnkKCSAgUGFydGlhbGx5IHJldmVydHMgY2RmOTFjNDU1ZDQwNTdhOWQyMzQ3NjY1MTBiZDJlOGE0NGUxZWQwNQoKMjAxNi0wNS0xNSAxOTowNTo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEhhbmRsZSBzeXN0ZW0gaGVhZGVyIHdoZW4gc2Nhbm5pbmcgZm9yIHRpbWVzdGFtcHMuCgkgIFdoZW4gc2Nhbm5pbmcgZm9yIFNDUiAvIFBUUyAvIERUUywgaGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIHRoZSBwYWNrIGhlYWRlciBpcyBmb2xsb3dlZCBieSB0aGUgb3B0aW9uYWwgc3lzdGVtIGhlYWRlciwKCSAgc28gd2UgY2FuIGNvcnJlY3RseSBjb2xsZWN0IHRpbWVzdGFtcHMgaW4gc3VjaCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzg2MAoKMjAxNi0wNS0xNSAxOTowNDoyMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCBiYWNrd2FyZCB0aW1lc3RhbXAgc2NhbiBvbiBzbWFsbCBmaWxlcy4KCSAgV2hlbiB0aGUgZmlsZSBzaXplIGlzIHNtYWxsZXIgdGhhbiB0aGUgY29uZmlndXJlZCA0TUIgc2NhbgoJICBsaW1pdCBmb3IgdGltZXN0YW1wcywgZG9uJ3QgdW5kZXJmbG93IHRoZSBndWFyZCB2YXJpYWJsZQoJICB3aGVuIGNoZWNraW5nIGlmIGl0J3MgdGltZSB0byBzdG9wLgoJICBMaW1pdCB0aGUgYmFja3dhcmQgU0NSIHNjYW4gdG8gdGhlIHNhbWUgNE1CIGFzIHRoZSBQVFMgc2Nhbi4KCSAgQWRkIHNvbWUgY29tbWVudHMuCgoyMDE2LTA1LTEzIDEzOjI3OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBkbyBib2d1cyBhZGp1c3RtZW50cyBvbiBzZWVrIGlmIHdlIGhhdmUgbm8gZmlyc3RfcHRzCgkgIEZpeGVzIGJvZ3VzIHNlZ21lbnQgYW5kIGdhcCBldmVudHMgd2l0aCBzdGFydD1HU1RfQ0xPQ0tfVElNRV9OT05FIGlmCgkgIHdlIGZhaWxlZCB0byBmaW5kIGEgZmlyc3RfcHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzODYwCgoyMDE2LTA1LTE0IDE2OjU5OjE0ICswMzAwICBBbGV4LVAuIE5hdHNpb3MgPGRyYWtldnJAMmYzMC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIHNobV9vcGVuKCkgaW4gT3BlbkJTRAoJICBJbiBPcGVuQlNEIHRoZXJlIGlzIG5vICJhY3R1YWwiIGxpYnJ0IHRoYXQgcHJvZ3JhbXMgY2FuIGxpbmsgd2l0aCwKCSAgaW5zdGVhZCB0aGUgc3lzdGVtL2Jhc2UgbGliYyBwcm92aWRlcyB0aGUgZnVuY3Rpb25zIG9uZSB3b3VsZAoJICBjdXN0b21hcmlseSBmaW5kIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDQxCgoyMDE2LTA1LTE0IDE2OjMyOjA2ICswMzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiB1c2UgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBtZXRhIGlmIGF2YWlsYWJsZSBkb3duc3RyZWFtCgkgIFdlIGNhbiBhdm9pZCBhIHJlbmRlciBwYXNzIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBtZXRhCgkgIGFuZCBpbmNyZWFzZSB0aGUgcGVyZm9ybWFuY2Ugb2Ygc29tZSBwaXBlbGluZXMgaW52b2x2aW5nIGdsdHJhbnNmb3JtYXRpb24uCgkgIEltcGxlbWVudGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIGluIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5CgkgIGZyb20gZG93bnN0cmVhbSBhbmQgY29tYmluaW5nIG91ciBtYXRyaXggd2l0aCB0aGF0IG9mIHVwc3RyZWFtJ3MgKG9yIGNyZWF0aW5nCgkgIG91ciBvd24pLgoKMjAxNi0wNS0xNCAxNjoyNzoyNiArMDMwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiB0YWtlIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gaW4gTkRDCgkgIFByb3ZpZGUgYSBmdW5jdGlvbiB0byBnZXQgdGhlIGFmZmluZSBtYXRyaXggaW4gdGhlIG1ldGEgaW4gdGVybXMgb2YgTkRDCgkgIGNvb3JkaW5hdGVzIGFuZCB1c2UgYXMgYSBzdGFuZGFyZCBvcGVuZ2wgbWF0cml4LgoJICBBbHNvIGFkdmVydGlzZSBzdXBwb3J0IGZvciB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1ldGEgaW4gdGhlIGFsbG9jYXRpb24KCSAgcXVlcnkuCgoyMDE2LTA1LTE0IDE1OjUwOjU3ICswMzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmg6CgkgIGdsYmFzZW1peGVyOiBhY3R1YWxseSBhdHRlbXB0IHRvIHByb3Bvc2UgYW4gYWxsb2NhdGlvbiB1cHN0cmVhbQoJICBXZSB3ZXJlIGFsd2F5cyBmYWlsaW5nIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IGFzIGEgZmxhZyB3YXMgbmV2ZXIgYmVpbmcgc2V0IHRvCgkgIHNpZ25hbCBhIHN1Y2Nlc3NmdWwgbmVnb3RpYXRpb24uICBGaXggYnkgc2V0dGluZyB0aGUgcmVxdWlyZWQgZmxhZyBvbiBhCgkgIHN1Y2Nlc3NmdWwgY2FwcyBldmVudCBmcm9tIHVwc3RyZWFtLgoKMjAxNi0wNS0xMiAxMDo1MjowNiAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJICBsdjI6IGFkZCBhIHNvdXJjZSBwbHVnaW4KCSAgVXBkYXRlIHRoZSByZWFkbWUgd2l0aCBhIHdvcmtpbmcgZXhhbXBsZSBhbmQgbGlzdCB3aGF0IGZlYXR1cmUgYXJlIHN1cHBvcnRlZC4KCjIwMTYtMDUtMTEgMjM6MTI6MDcgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogYWRkIHN1cHBvcnQgZm9yIGhvc3QgZmVhdHVyZXMKCSAgSW1wbGVtZW50IGEgbG9nIGhhbmRsZXIgYXMgdGhlIGZpcnN0IG9uZS4KCjIwMTYtMDUtMTMgMTU6MjQ6MzUgKzAzMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogY2hlY2sgdGhlIGVycm9yIG9mIHRoZSBwcmVzZW50YXRpb24gZm9yIG91dCBvZiBkYXRlCgkgIGFsbG93cyB1cyB0byByZXNpemUgdGhlIHN3YXBjaGFpbiBjb3JyZWN0bHkuCgoyMDE2LTA1LTEyIDE5OjQ0OjI2ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlczogdXBzdHJlYW1fbGl2ZSBhbmQgcXVlcmllZF9sYXRlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzNDMKCjIwMTYtMDUtMTEgMTU6NDU6NDcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZnJvbSBfb3Blbl9mcm9udGVuZCgpCgkgICogQ2xhcmlmeSBtZXNzYWdlIG9uIGRlbHN5cyBpbmZvIGdhdGhlcmluZwoJICAqIENvbWJpbmUgcmVkdW5kYW50IElORk8vREVCVUcgcGFpcgoKMjAxNi0wNS0xMSAxNToyNjoyNCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggaW52YWxpZCBkZXJlZmVyZW5jZSBvZiBkZWxzeXMgZGF0YQoJICBVc2UgR1BPSU5URVJfVE9fSU5UIHRvIHJlYWQgR0lOVF9UT19QT0lOVEVSIHN0b3JlZAoJICBkYXRhLgoKMjAxNi0wNS0xMSAyMzo0ODoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtY2F1ZGlvZGVjOiBTZXQgbGF5b3V0PWludGVybGVhdmVkIGluIHJhdyBhdWRpbyBjYXBzCgkgIE90aGVyd2lzZSB0aGUgR0FQIGV2ZW50IGZhbGxiYWNrIG5lZ290aWF0aW9uIHdpbGwgZmFpbCB0byBwcm9kdWNlIGNvbXBsZXRlCgkgIHNyY3BhZCBjYXBzLCBhbmQgdGh1cyBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2Mjg5CgoyMDE2LTA1LTExIDE2OjQyOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBGaXggcHJldmlvdXMgY29tbWl0CgkgIFRoZSBmcmFtZXMgcXVldWUgbWlnaHQgcmV0dXJuIG5vdGhpbmcgKGJlIGVtcHR5KSBpZiB3ZSdyZSBmbHVzaGluZy4KCSAgTW92ZSB0aGUgYXNzZXJ0aW9uIHRvIGFmdGVyIHRoZSBmbHVzaGluZyBjaGVjawoKMjAxNi0wNS0xMCAyMjowNDo0OCAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2tpcCBwbHVnaW5zIHRoYXQgbmVlZCBob3N0IGZlYXR1cmVzCgkgIFdlIGhhdmVuJ3QgaW1wbGVtZW50ZWQgdGhpcyB5ZXQgYW5kIHRob3NlIHBsdWdpbiB3b3VsZCBmYWlsIHdoZW4gd2UgaW5zdGFudGlhdGUKCSAgdGhlbS4KCjIwMTYtMDUtMTAgMjE6MTE6NDEgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogYWRkIGNsYXNzaWZpY2F0aW9uIGZyb20gbWV0YWRhdGEKCSAgVGhpcyBoZWxwcyBhcHBzIHRvIHN0cnVjdHVyZSB0aGUgZWxlbWVudCBjb2xsZWN0aW9uLgoKMjAxNi0wNC0wOCAwNzo1Mzo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5oOgoJICBsdjI6IGV4dHJhY3QgaGVscGVyIGNvZGUgaW50byBsdjJ1dGlscwoJICBUaGlzIGlzIGEgcHJlcGFyYXRvbiBmb3IgYWRkaW5nIGx2Mi1zb3VyY2VzIGFuZCAtc2lua3MuCgoyMDE2LTA1LTEwIDEyOjI0OjAzIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJICBsYWRzcGE6IGNvZGUgY2xlYW51cAoJICBXaGl0ZXNwYWNlIGNsZWFudXAgYW5kIHVuaWZ5IGNvZGVpbmcgc3R5bGUuCgoyMDE2LTA1LTEwIDEyOjIyOjA0IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJICBsYWRzcGE6IHNpbXBsaWZ5IHRoZSBjb2RlCgkgIFJlbW92ZSBhIGxvY2FsIHZhciBhbmQganVzdCB1c2UgdGhlIHBhcmFtZXRlciB2YWx1ZS4KCjIwMTYtMDUtMTAgMTg6MTQ6MzYgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogZml4IGNvcmVfdmlkZW9fbWV0YSBpbml0IHJlZ2lzdHJhdGlvbgoKMjAxNi0wNS0xMCAxNjo0Njo0MyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIHRlc3RzL2V4YW1wbGVzL2dsL2d0ayBnZW5lcmF0ZWQgZmlsZXMKCSAgQW5kIGFub3RoZXIgdGVzdCBiaW5hcnkuCgoyMDE2LTA1LTEwIDE2OjI0OjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBQb3J0IHRvIDIuMSBhbmQgcmVxdWlyZSBhIHBrZy1jb25maWcgZmlsZSBmb3IgMi4wIGFuZCAyLjEKCSAgVGhlIHBvcnQgd2FzIHRyaXZpYWwsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIE5FV1MgZmlsZSBub3RoaW5nIGVsc2UgaGFzIGNoYW5nZWQsCgkgIGJ1dCBpdCBpcyBwb3NzaWJsZSB0aGF0IG90aGVyIEFQSSB3YXMgY2hhbmdlZCB3aXRob3V0IHByb3BlciBub3RpZmljYXRpb24uCgkgIE9wZW5KUEVHIHVwc3RyZWFtIGhhcyBzaGlwcGVkIGEgcGtnLWNvbmZpZyBmaWxlIGZvciB0aGUgcGFzdCA0IHllYXJzLCBhbmQgYWxsCgkgIGRpc3Ryb3Mgc2hvdWxkIGJlIHNoaXBwaW5nIGl0IGJ5IG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjIxMwoKMjAxNi0wNS0xMCAwOTo0MDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogZml4IHVzZS1hZnRlci1mcmVlIGluIGVycm9yIGNvZGUgcGF0aAoKMjAxNi0wNS0xMCAwOTozODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrcyBmb3Igbm9uLU5VTEwgZnJhbWUKCSAgV2UgY2FuJ3QgZ2V0IGEgTlVMTCBmcmFtZSBoZXJlLgoJICBDSUQgMTM1OTkyMwoKMjAxNi0wNS0wOSAxNToyMzozMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhYm9ydCBhdCBvcGVuIGZyb250ZW5kIGZhaWx1cmUKCjIwMTYtMDUtMDkgMTI6NTA6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogU2hpcCBhbGwgaGVhZGVycyBpbiB0YXJiYWxscwoJICBTb21lIHdlcmUgbWlzc2luZyBmcm9tIG5vaW5zdF9IRUFERVJTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTYzCgoyMDE2LTA1LTA0IDE2OjMyOjE5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IHNtYXJ0ZW4tdXAgZGVsc3lzIGF1dG9kZXRlY3Rpb24gbG9naWMKCSAgV2hlbiB0aGVyZSdzIG5vIGV4cGxpY2l0IGRlbGl2ZXJ5IHN5c3RlbSBpbmZvcm1hdGlvbgoJICBmb3IgYSBjaGFubmVsIGluIHRoZSBjaGFubmVsIGNvbmZpZ3VyYXRpb24gZmlsZSBhbmQKCSAgdGhlIHVzZXIgaGFzbid0IHNlbGVjdGVkIG9uZSB2aWEgc2V0dGluZyB0aGUgZGVsc3lzCgkgIHByb3BlcnR5LCB3ZSAqZ3Vlc3NlZCogaXQgYnkgc2VsZWN0aW5nIHRoZSBsYXN0CgkgIHN1cHBvcnRlZCBkZWxzeXMgcmVwb3J0ZWQgYnkgdGhlIGRyaXZlci4gVGhpcyBjaGFuZ2UKCSAgcHJvdmlkZXMgdGhlIGJhc2lzIGZvciBzbWFydGVyIGRlbHN5cyBhdXRvIGRldGVjdGlvbgoJICBhbmQgaW1wbGVtZW50cyBhIHJ1bGUgZm9yIERWQi1UMi4gUnVsZXMgZm9yIG90aGVyCgkgIGRlbGl2ZXJ5IHN5c3RlbXMgY2FuIGJlIGFkZGVkIGluIF9ndWVzc19kZWxzeXMoKSBpbgoJICBhIHNpbWlsYXIgd2F5LgoJICBBZGRpdGlvbmFsbHk6IFN0b3JlIGxpc3Qgb2YgYWRhcHRlci1zdXBwb3J0ZWQKCSAgZGVsaXZlcnkgc3lzdGVtcyBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIHRoZSBkcml2ZXIgZWFjaAoJICB0aW1lIHRoaXMgaW5mb3JtYXRpb24gaXMgbmVlZGVkLgoJICBSZWxhdGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NzMxCgoyMDE2LTA1LTAzIDE1OjAwOjU1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlbW92ZSByZW1haW5pbmcgcG9sbGluZyBsb2dpYyBmcm9tIF90dW5lX2ZlKCkKCSAgTm8gbmVlZCB0byBkbyBhbnkgcG9sbGluZyBoZXJlLgoKMjAxNi0wNS0wNiAxMDo1MTozOSArMDIwMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgPGNnYXJjaWFAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogVGFrZSB0aGUgb3duZXJzaGlwIG9mIHRoZSBzcmMgZWxlbWVudAoJICBUaGUgVVJJIGRvd25sb2FkZXIgaXMgY3JlYXRpbmcgdGhlIHNvdXJjZSBlbGVtZW50IHdpdGgKCSAgZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCkgdGhhdCByZXR1cm5zIGEgZmxvYXRpbmcgcmVmZXJlbmNlIHRoYXQgbm9ib2R5CgkgIGlzIGNvbnN1bWluZy4gVGhpcyBpcyBjYXVzaW5nIHByb2JsZW1zIGluIFdlYktpdCwgd2hlcmUgdGhlIHNtYXJ0CgkgIHBvaW50ZXJzIHVzZWQgdG8gdGFrZSByZWZlcmVuY2VzIG9mIHRoZSBzb3VyY2UgZWxtZW50IGdldCBjb25mdXNlZCBhbmQKCSAgZW5kIHVwIGNvbnN1bWluZyB0aGUgZmxvYXRpbmcgcmVmZXJlbmNlIGFuZCB0aGVuIHJlbGVhc2luZyB0aGUgZWxlbWVudCwKCSAgd2hpY2ggdXN1YWxseSBjcmFzaGVzIGJlY2F1c2UgdGhlIFVSSSBkb3dubG9hZGVyIHN0aWxsIHRyaWVzIHRvIHVzZSBpdHMKCSAgc3JjIGVsZW1lbnQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MDQwLgoJICBUaGlzIGNvbW1pdCBhZGRzIHR3byBoZWxwZXIgZnVuY3Rpb25zIHRvIGVuc3VyZSBhbmQgZGVzdHJveSB0aGUgc291cmNlCgkgIGVsZW1lbnQsIHRvIG1ha2UgdGhlIGNvZGUgc2ltcGxlciBhbmQgbGVzcyBlcnJvciBwcm9uZS4gVGhlIGVuc3VyZQoJICBtZXRob2QgdGFrZXMgY2FyZSBvZiBjaGVja2luZyBpZiB3ZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9uZSBvciB3ZQoJICBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBvbmUsIHRha2luZyBhbHdheXMgaXRzIG93bmVyc2hpcC4gVGhlIGRlc3Ryb3kKCSAgbWV0aG9kIHNpbXBseSBhdm9pZHMgZHVwbGljYXRlZCBjb2RlIHRvIHNldCB0aGUgc291cmNlIHRvIE5VTEwgc3RhdGUgYW5kCgkgIHRoZW4gdW5yZWYgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwNTMKCjIwMTYtMDQtMjkgMTI6MzE6MDEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHRocmVhZGluZyBpc3N1ZXMgaW4gZ3N0X2FkYXB0aXZlX2RlbXV4X3dhaXRfdW50aWwgZnVuY3Rpb24KCSAgVGhlIGdzdF9hZGFwdGl2ZV9kZW11eF93YWl0X3VudGlsKCkgZnVuY3Rpb24gY2FuIGJlIHdva2VuIHVwIGVpdGhlcgoJICBieSBpdHMgZW5kX3RpbWUgYmVpbmcgcmVhY2hlZCwgb3IgZnJvbSBvdGhlciB0aHJlYWRzIHRoYXQgd2FudCB0bwoJICBpbnRlcnJ1cHQgdGhlIHdhaXRpbmcgdGhyZWFkLgoJICBJZiB0aGUgdGhyZWFkIGlzIGludGVycnVwdGVkLCBpdCBuZWVkcyB0byBjYW5jZWwgaXRzIGFzeW5jIGNsb2NrIGNhbGxiYWNrCgkgIGJ5IHVuc2NoZWR1bGluZyB0aGUgY2xvY2sgY2FsbGJhY2suIEhvd2V2ZXIsIHRoZSBjYWxsYmFjayB0YXNrIG1pZ2h0IGFscmVhZHkKCSAgaGF2ZSBiZWVuIGFjdGl2YXRlZCwgYnV0IGlzIHdhaXRpbmcgZm9yIHRoZSBtdXRleCB0byBiZWNvbWUgYXZhaWxhYmxlLiBJbiB0aGlzCgkgIGNhc2UsIHRoZSBjYWxsIHRvIHVuc2NoZWR1bGUgZG9lcyBub3Qgc3RvcCB0aGUgY2FsbGJhY2sgZnJvbSBleGVjdXRpbmcuCgkgIFRoZSBzb2x1dGlvbiB0byB0aGlzIHNlY29uZCBpc3N1ZSBpcyB0byB1c2UgYSByZWZlcmVuY2UgY291bnRlZCBvYmplY3QgdGhhdAoJICBpcyBkZWNyZW1lbnRlZCBieSBib3RoIHRoZSBnc3RfYWRhcHRpdmVfZGVtdXhfd2FpdF91bnRpbCgpIGZ1bmN0aW9uIGFuZCB0aGUKCSAgY2FsbCB0byBnc3RfY2xvY2tfaWRfd2FpdF9hc3luYyAoKS4gSW4gdGhpcyB3YXksIHRoZSBHc3RBZGFwdGl2ZURlbXV4VGltZXIKCSAgb2JqZWN0IGlzIG9ubHkgZGVsZXRlZCB3aGVuIGJvdGggdGhlIGdzdF9hZGFwdGl2ZV9kZW11eF93YWl0X3VudGlsKCkgZnVuY3Rpb24KCSAgYW5kIHRoZSBhc3luYyBjYWxsYmFjayBhcmUgZmluaXNoZWQgd2l0aCB0aGUgb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NzI4CgoyMDE2LTAzLTAzIDE1OjUwOjQ5ICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1laWRhOiByZXBsYWNlIHdpdGggbmV3IHN1cmZhY2V0ZXh0dXJlIGZvciBhaGNzcmMKCSAgR3N0QW1jU3VyZmFjZVRleHR1cmUgaXMgbW9yZSBjbGVhciBhbmQgc2ltcGxlIHRoYW4gR3N0QUdTdXJmYWNlVGV4dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA5OQoKMjAxNi0wNS0wNSAyMzo1MzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSAgdnVsa2FuL2J1aWxkOiBhZGQgdGhlIGJ1aWxkIGRpcmVjdG9yeSB0byB0aGUgbGlzdCBvZiBpbmNsdWRlcwoJICBGaXhlcyBvdXQgb2YgdHJlZSBidWlsZHMgZnJvbSB0YXJiYWxscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDc1OAoKMjAxNi0wNS0wNSAyMzoxODoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBmaXggdXAgZGlzcGxheSBzeW5jaHJvbml6YXRpb24KCSAgVXNlIHRoZSBzZW1hcGhvcmVzIGluIHRoZSBjb3JyZWN0IHBsYWNlLCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBzdWJtaXNzaW9uIGZvcgoJICBhY3F1aXJpbmcgYW5kIHByZXNlbnRpbmcgdGhlIHN3YXBjaGFpbiBidWZmZXIuCgkgIFdhaXRpbmcgb24gdGhlIGZlbmNlIHRoYXQgb25seSBzaWduYWxzIHRoZSBjb21tYW5kIGJ1ZmZlciBjb21wbGV0aW9uIHJhdGhlciB0aGFuCgkgIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBwcmVzZW50YXRpb24gaXMgcmFjeSB3aXRoIHRoZSBkZXN0cnVjdGlvbiBvZiB0aGUgdnVsa2FuCgkgIGJ1ZmZlcnMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgaW1hZ2UuICBXYWl0IG9uIHRoZSBkZXZpY2UgdG8gYmUgaWRsZSBpbnN0ZWFkIGFmdGVyCgkgIHByZXNlbnRpbmcuCgoyMDE2LTA1LTA1IDE4OjAwOjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IHVzZSBnc3RfdmlkZW9fc2lua19jZW50ZXJfcmVjdCBmb3IgcG9zaXRpb25pbmcgdGhlIHZpZGVvCgkgIERvbid0IHRyeSB0byByZWltcGxlbWVudCBpdCBiYWRseS4KCjIwMTYtMDUtMDUgMTA6NDQ6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBkZXNjcmlwdGlvbgoKMjAxNi0wNS0wNSAxMDo0MTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkgIHZpZGVvZGlmZjogZml4IHN1cHBvcnRlZCBmb3JtYXRzIGluIHRlbXBsYXRlIGNhcHMKCjIwMTYtMDUtMDUgMTA6NDA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5oOgoJICB2aWRlb2RpZmY6IGZpbGwgaW4gRklYTUUgbWV0YWRhdGEgYW5kIGRvY3Mgd2l0aCBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTg5CgoyMDE2LTA1LTA0IDEyOjE3OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvZWdsOiByZXBsYWNlIGdzdGVnbGltYWdlbWVtb3J5IHdpdGggYW4gRUdMSW1hZ2Ugd3JhcHBlcgoJICBUaGF0IGNhbiBiZSBwYXNzZWQgdG8gR3N0R0xNZW1vcnlFR0wuCgkgIFRoaXMgYWxzbyBwb3J0cyB0aGUgZG1hYnVmIHVwbG9hZGVyIHRvIEdzdEVHTEltYWdlIGFuZCBHc3RHTE1lbW9yeUVHTC4KCjIwMTYtMDEtMjEgMjI6MTg6MTcgKzA5MDAgIEd3YW5nIFlvb24gSHdhbmcgPHlvb25AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogaW1wbGVtZW50IEdzdEdMTWVtb3J5RUdMCgkgIEJlY2F1c2UgY3VycmVudCBHc3RFR0xJbWFnZU1lbW9yeSBkb2VzIG5vdCBpbmhlcml0IEdzdEdMTWVtb3J5LCBHTFVwbG9hZAoJICBhbGxvY2F0ZXMgYWRkaXRpb25hbCBHTE1lbW9yeSBhbmQgdXBsb2FkIHRoZSBkZWNvZGVkIGNvbnRlbnRzIGZyb20gdGhlIGRlY29kZXIKCSAgd2hpY2ggdXNlcyBFR0xJbWFnZSAoZS5nLiBnc3Qtb214IGluIFJQaSkuCgkgIFRoaXMgd29yayBhZGRzIEdzdEdMTWVtb3J5RUdMIHRvIGF2b2lkIHRoaXMgb3ZlcmhlYWQuIERlY29kZXJzIGFsbG9jYXRlCgkgIEdzdEdMTWVtb3J5RUdMIGFuZCBkZWNvZGUgaXRzIGNvbnRlbnRzIHRvIHRoZSBFR0xJbWFnZSBvZiBHc3RHTE1lbW9yeUVHTC4gIEFuZAoJICBHTFVwbG9hZCB1c2VzIHRoaXMgbWVtb3J5IHdpdGhvdXQgYWxsb2NhdGlvbiBvZiBhZGRpdGlvbmFsIHRleHR1cmVzIGFuZCBibGl0CgkgIG9wZXJhdGlvbnMuCgkgIFtNYXR0aGV3IFdhdGVyc106IGdzdC1pbmRlbnQgdGhlIHNvdXJjZXMgYW5kIGZpeCBhIGNyaXRpY2FsIHJldHJlaXZpbmcgdGhlIGVnbAoJICBkaXNwbGF5IGZyb20gdGhlIG1lbW9yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDkxNgoKMjAxNi0wNS0wNCAwMToxNjo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbG1lbW9yeTogYWRkIHdyYXBwZWQgZGF0YSBwb2ludGVycyB0byBzZXR1cF9idWZmZXIKCSAgQWxsb3dzIGNyZWF0aW5nIHdyYXBwZWQgbWVtb3JpZXMgd2l0aCBHc3RHTEFsbG9jYXRpb25QYXJhbXMuCgkgIFRoZSB3cmFwcGVkIHBvaW50ZXJzIHdpbGwgYmUgc2V0IGluIHRoZSBwYXJhbWV0ZXJzIGJlZm9yZSBiZWluZyBwYXNzZWQKCSAgdG8gdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGZ1bmN0aW9uLgoKMjAxNi0wNS0wNCAwMDoxOTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsYmFzZW1lbW9yeTogdGFrZSBhIHBvaW50ZXIgYXMgdGhlIHdyYXBwZWQgZ3B1IGhhbmRsZQoJICBBbGxvd3MgcGFzc2luZyBhcmJpdHJhcnkgZGF0YSB0byB3cmFwIHRoZSB0aGUgc3BlY2lmaWMgbWVtb3J5IGltcGxlbWVudGF0aW9uCgkgIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBzb21lIG1lbW9yeSBpbXBsZW1lbnRhdGlvbnMuCgoyMDE2LTA1LTA0IDExOjMwOjExICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBvdXRwdXQgc3lzbWVtIGJ5IGRlZmF1bHQKCjIwMTYtMDUtMDIgMTE6MzA6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IENvbnZlcnQgV2luZG93cyBzdHJpbmdzIHRvIFVURjggYmVmb3JlIGNvbXBhcmluZyBhZ2FpbnN0IFVURjggc3RyaW5ncwoJICBUaGUgZGV2aWNlIG5hbWUgYW5kIGRlc2NyaXB0aW9ucyByZXR1cm5lZCBhcmUgaW4gdGhlIGxvY2FsZSBlbmNvZGluZywgbm90CgkgIFVURjguIE91ciBkZXZpY2UgbmFtZSBwcm9wZXJ0eSBpcyBpbiBVVEY4IHRob3VnaCwgc28gd2UgbmVlZCB0byBjb252ZXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2OTQ4CgoyMDE2LTA1LTAzIDExOjExOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBTZXQgYmxlbmQgZnVuY3Rpb25zIGluIDo6bmVnb3RpYXRlZF9jYXBzKCkgaW5zdGVhZCBvZiA6OmZpeGF0ZV9jYXBzKCkKCSAgVGhlIGxhdHRlciBzaG91bGQgbm90IGNoYW5nZSBhbnkgc3RhdGUgYnV0IGp1c3QgZml4YXRlIHRoZSBjYXBzLCB3aGlsZSB0aGUKCSAgZm9ybWVyIGlzIGFsd2F5cyBjYWxsZWQgd2hlbiBzcmNwYWRzIGNhcHMgYXJlIGRlY2lkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzMjQKCjIwMTYtMDQtMjAgMTU6MTE6NDQgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBzd2FwcGVkIG5hbWUgYW5kIG5pY2sgaW4gR0VudW1WYWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3OAoKMjAxNi0wNC0xNCAxODoyNjozMyArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBpbml0aWFsIDEwYml0IHN1cHBvcnQgZm9yIFlVViBtb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc4CgoyMDE2LTA1LTAzIDE1OjUyOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGF0aW9uCgoyMDE2LTA1LTAzIDE5OjU4OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogZml4IGdsZXMzIGhlYWRlciB1c2FnZSBmb3Igb2xkZXIgcGxhdGZvcm1zCgkgIFNvbWUgcGxhdGZvcm1zIHByb3ZpZGUgYW4gb2xkIHZlcnNpb24gb2YgR0xFUzIvZ2wyLmggYW5kIEdMRVMyL2dsMmV4dC5oIHRoYXQKCSAgd2lsbCBmYWlsIHdoZW4gaW5jbHVkaW5nIEdMRVMzL2dsMy5oIGR1ZSB0byBtaXNzaW5nIHR5cGVkZWYncy4KCSAgU2VlbiBvbiB0aGUgUlBpLgoKMjAxNi0wNC0yOSAyMzozMjowMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhdm9pZCBwb3NzaWJsZSByYWNlIG9uIF9vdXRwdXRfZnJvbnRlbmRfc3RhdHMoKQoJICBNYWtlIHN1cmUgd2Ugc2VuZCBvdXQgb3VyIGluZm8gbWVzc2FnZSBiZWZvcmUgd2UgZ2l2ZSB1cCBvd25lcnNoaXAKCSAgb2YgdGhlIHN0cnVjdHVyZS4KCjIwMTYtMDQtMjkgMTQ6NTM6MDYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdmFyIHJlbmFtZSBpbiBfb3V0cHV0X2Zyb250ZW5kX3BhcmFtcygpCgkgIE5vdyBpdCBtYXRjaGVzIHRoZSByZXN0IG9mIGl0cyBzdGF0dXMgcGVlcnMuIFVuZGVyc2NvcmUKCSAgd2FzIGEgbGVmdG92ZXIgZnJvbSBwcmV2aW91cyB0aW1lcy4KCjIwMTYtMDQtMjkgMTQ6NDU6MjIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWx3YXlzIG91dHB1dCBrbm93biBmcm9udGVuZCBzdGF0dXMgcGFyYW1zCgkgIFRoZSBvbmx5IG1hbmRhdG9yeSBmcm9udGVuZCBpbmZvcm1hdGlvbiBmb3Igb3VyIHVzZSBjYXNlCgkgIGlzIGl0cyBzdGF0dXMuIE1ha2Ugc3VyZSB3ZSBvdXRwdXQgd2hhdCB3ZSBrbm93IGluc3RlYWQKCSAgb2YgY2hva2luZyBhdCB0aGUgZmlyc3QgZXJyb3IgZ2V0dGluZyBTTlIsIEJFUiBvciBhbnkgb2YKCSAgdGhlIG90aGVyIGluZm9ybWF0aW9uYWwgcGFyYW1ldGVycy4KCjIwMTYtMDQtMjkgMTI6MDY6NTIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVmYWN0b3Igc2lnbmFsIGxvY2tpbmcgbG9vcAoJICBHZXQgcmlkIG9mIHByZWxpbWluYXIgZnJvbnRlbmQgc3RhdHVzIGNoZWNrLgoKMjAxNi0wNC0yOSAxMToxODo1MyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHVubmVlZGVkIHBvbGxpbmcgc3RlcCBvbiBfdHVuZV9mZSgpCgkgIEFkZGl0aW9uYWwgd2FpdGluZyB3YXMgbm90IG5lZWRlZC4gU3BlY2lhbGx5IGNvbnNpZGVyaW5nCgkgIGl0IGNhbWUgYWZ0ZXIgYSBzdWNjZXNzZnVsIFJFQURfU1RBVFVTIGlvY3RsIGFuZCB3YXMKCSAgZm9sbG93ZWQgYnkgYW4gRUlOVFItcmVzaWxlbnQgcmV0cnkuCgoyMDE2LTA0LTI5IDE3OjE5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogZWZmZWN0aXZlbHkgY2hlY2sgaWYgdGhlcmUgaXMgYSBsYW5ndWFnZQoJICAnbGFuZ3VhZ2UnIGlzIGFuIGFycmF5IGFuZCBub3QgYSBwb2ludGVyLgoJICBDSUQgMTM1ODgzNQoKMjAxNi0wNC0yOSAxMzo1NDowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkgIHBsYXllcjogQWRkIHJlcXVpcmVkIHBhdGhzIHZpYSBwa2ctY29uZmlnIGZvciBnc3RyZWFtZXItYmFzZS0xLjAgYW5kIGdzdHJlYW1lci12aWRlby0xLjAgZm9yIGdvYmplY3QtaW50cm9zcGVjdGlvbgoJICBUaGUgR3N0QmFzZS0xLjAuZ2lyIGFuZCBHc3RWaWRlby0xLjAuZ2lyIGZpbGVzIGFyZSByZXF1aXJlZCBieSBHc3RQbGF5ZXIuCgkgIFVuaW5zdGFsbGVkIGJ1aWxkcyBmYWlsIGlmIHRoZXNlIGZpbGVzIGNhbm5vdCBiZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTgwNAoKMjAxNi0wNC0wOCAxNjo0NzoxNSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBlbmFibGUgZ2xkZWludGVybGFjZSBvbiBPcGVuR0wgRVMKCSAgMS5Qb3J0aW5nIHRoZSBleGlzdCBkZWludGVybGFjZSBzaGFkZXIgYW5kIE9wZW5HTCBjYWxsYmFjawoJICB0byBiZSBjb21wYXRpYmxlIHdpdGggT3BlbkdMIEVTLgoJICAyLkFkZCBhIG91ciBibHVyIHZlcnRpY2FsIHNoYWRlciB0byBnbGRlaW50ZXJsYWNlLgoJICAzLkFkZCBhIHByb3BlcnR5IG5hbWVkIOKAnG1ldGhvZOKAnSB0byBsZXQgdXNlciBjaG9vc2Ugd2hpY2gKCSAgZGVpbnRlcmxhY2UgZnVuY3Rpb24gdG8gdXNlLiBEZWZhdWx0IHRvIGNob29zZSBibHVyIHZlcnRpY2FsCgkgIG1ldGhvZCBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlLgoJICBbTWF0dGhldyBXYXRlcnNdOiBmaXggbmFtZSBvZiBncmVlZHloIGluIG1ldGhvZCBwcm9wZXJ0eSAod2FzIGdyZWVkaHkpIGFuZCBwb3J0CgkgIHRvIGdpdCBtYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ4NzMKCjIwMTYtMDQtMjggMTU6MTk6MTcgKzA1MzAgIEJhcnVuIEt1bWFyIFNpbmdoIDxiYXJ1bi5zaW5naEBzYW1zdW5nLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEFkZCBhdWRpby12aWRlby1vZmZzZXQgcHJvcGVydHkgYW5kIHNldHRlci9nZXR0ZXIgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzMTUKCjIwMTYtMDQtMTkgMTk6NDM6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBQb3J0IG1vcmUgdGhpbmdzIHRvIEdMRVMvR0wgMyBjb21wYXRpYmlsaXR5CgkgIEFuZCBtb3ZlIHRoZSBzaGFkZXIgbWFuZ2xpbmcgY29kZSBpbnRvIGEgc2luZ2xlIHBsYWNlIGluc3RlYWQgb2YgaGF2aW5nIGEgY29weQoJICBpbiBnbGNvbG9yY29udmVydCBhbmQgZ2x2aWV3Y29udmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI2NgoKMjAxNi0wNC0xOSAxOToyNzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogR0xFUzMgZGVwcmVjYXRlcyB0ZXh0dXJlMkQoKSBhbmQgaXQgZG9lcyBub3Qgd29yayBhdCBhbGwgaW4gbmV3ZXIgdmVyc2lvbnMgdGhhbiAzLjMKCSAgVXNlIHRoZSBuZXdlciB0ZXh0dXJlKCkgZnVuY3Rpb24gaW5zdGVhZC4gVGhpcyBmaXhlcyBnbGltYWdlc2luayBhbmQgb3RoZXIKCSAgdGhpbmdzIG9uIHZhcmlvdXMgQW5kcm9pZCBkZXZpY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjY2CgoyMDE2LTA0LTE5IDEwOjI3OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IHdyaXRlIGxhbmd1YWdlIGRlc2NyaXB0b3Igd2hlbiBsYW5ndWFnZSBpcyBhdmFpbGFibGUKCSAgQWRkcyBhIG5ldyBmdW5jdGlvbiB0byBtcGVndHMgbGliIHRvIGNyZWF0ZSBhIGlzbzYzOSBsYW5ndWFnZQoJICBkZXNjcmlwdG9yIGZyb20gYSBsYW5ndWFnZSBhbmQgdXNlIGl0IGluIG1wZWd0c211eCB0byBhZGQKCSAgYSBsYW5ndWFnZSBkZXNjcmlwdG9yIHRvIGF1ZGlvIHN0cmVhbXMgdGhhdCBoYXZlIGEgbGFuZ3VhZ2Ugc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNjQ3CgoyMDE2LTA0LTI2IDE2OjQ4OjU4ICswODAwICBTb25nIEJpbmcgPGJpbmcuc29uZ0BueHAuY29tPgoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgcHZyYnVmZmVycG9vbDogZml4IGdzdF9tZXRhX3JlZ2lzdGVyKCkgcGFyYW1ldGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NTgxCgoyMDE2LTA0LTIyIDEwOjE1OjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENoZWNrIGFsbCBwYWRzIGZvciBkYXRhIHdoZW4gbGl2ZQoJICBXaGVuIGxpdmUsIHdlIHN0aWxsIG5lZWQgdG8gaW5zcGVjdCBhbGwgcGFkcyBxdWV1ZSBpbiBvcmRlciB0byBkZXRlcm1pbgoJICBpZiB3ZSBoYXZlIHJlY2VpdmVkIHRoZSBmaXJzdCBidWZmZXIgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NDMxCgoyMDE2LTA0LTE1IDE2OjUxOjE3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBsb2NraW5nIHdoZW4gdXNpbmcgdGhlIGNsb2NrCgkgIFRoaXMgZml4ZXMgYSByYWNlIHdoZXJlIHdlIGNoZWNrIGlmIHRoZXJlIGlzIGEgY2xvY2ssIHRoZW4gaXQgZ2V0CgkgIHJlbW92ZWQgYW5kIHdlIGVuZHVwIGNhbGxpbmcgZ3N0X2Nsb2NrX25ld19zaW5nbGVfc2hvdF9pZCgpIHdpdGggYSBOVUxMCgkgIHBvaW50ZXIgaW5zdGVhZCBvZiBhIHZhbGlkIGNsb2NrIGFuZCBhbHNvIGNhbGxpbmcgZ3N0X29iamVjdF91bnJlZigpCgkgIHdpdGggYSBOVUxMIHBvaW50ZXIgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc1NDgKCjIwMTYtMDQtMjUgMTY6NTA6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEgyNjUgbGV2ZWwgaWRjIDAgaXMgbm90IHZhbGlkCgkgIERvbid0IHB1dCBsZXZlbD0wIGludG8gdGhlIGNhcHMsIGl0IGNvbmZ1c2VzIG90aGVyIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NTM4CgoyMDE2LTA0LTI1IDE2OjUwOjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBIMjY0IGxldmVsIGlkYyAwIGlzIG5vdCB2YWxpZAoJICBEb24ndCBwdXQgbGV2ZWw9MCBpbnRvIHRoZSBjYXBzLCBpdCBjb25mdXNlcyBvdGhlciBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTUzOAoKMjAxNi0wNC0yMiAxNDo1MTozMSArMDIwMCAgSmVyb21lIExhaGV1cnRlIDxqbGFoZXVydGVAcXVpdmlkaS5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGZpeCBEaXJlY3RTaG93IGNhcHMgbmVnb3RpYXRpb24gYW5kIHNldCBjYXB0dXJlIHBpbiBjYXBzCgkgIFNvbWUgY2FtZXJhcyAoSURTKSBoYXZlIGJyb2tlbiBEaXJlY3RTaG93IGRyaXZlcnMgd2hpY2ggaW5jb3JyZWN0bHkgZmlsbCBzb21lCgkgIGZpZWxkcyBpbiB0aGUgVklERU9JTkZPSEVBREVSIHN0cnVjdHVyZTsgY29tcGFyaXNvbiBiZXR3ZWVuIHN1Z2dlc3RlZCBhbmQKCSAgc3VwcG9ydGVkIG1lZGlhIHR5cGVzIGluIENCYXNlUmVuZGVyZXIgc2hvdWxkIGlnbm9yZSBkZXByZWNhdGVkIGFuZC9vciBub3QKCSAgZXNzZW50aWFsIGZpZWxkczsgYWRkaXRpb25hbHkgZXhwbGljaXRlbHkgc2V0dGluZyB0aGUgbWVkaWF0eXBlIGZvciB0aGUgY2FwdHVyZQoJICBwaW4gYmVmb3JlIHRyeWluZyB0byBjb25uZWN0IGl0IHdvcmtzIGFyb3VuZCBhbm90aGVyIElEUyBkcml2ZXIgYnVnLCBhbmQKCSAgc2hvdWxkIGhhdmUgYmVlbiBhbHJlYWR5IGRvbmUgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NDI4CgoyMDE2LTA0LTIyIDE0OjQ4OjQxICswMjAwICBKZXJvbWUgTGFoZXVydGUgPGpsYWhldXJ0ZUBxdWl2aWRpLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGZvciBSR0IzMiwgUkdCNTU1LCBSR0I1NjUgYW5kIFJHQjggY29sb3Igc3BhY2VzCgkgIFNvbWUgY2FtZXJhcyAoSURTKSBvbmx5IHN1cHBvcnQgdGhvc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NDI3CgoyMDE2LTA0LTIyIDE0OjQ0OjU3ICswMjAwICBKZXJvbWUgTGFoZXVydGUgPGpsYWhldXJ0ZUBxdWl2aWRpLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvQ01ha2VMaXN0cy50eHQ6CgkgIGRzaG93c3Jjd3JhcHBlcjogZml4IGluY2x1ZGUgcGF0aCBhbmQgbGluayBlcnJvcgoJICBBZGQgaW5jbHVkZSBwYXRoIHNvIHRoYXQgdGhlIGNtYWtlLWdlbmVyYXRlZCBwcm9qZWN0CgkgIGlzIGFibGUgdG8gZmluZCBnc3Rjb25maWcuaAoJICBBZGQgL1NBRkVTRUg6Tk8gdG8gTVNWQyBsaW5rZXIgb3B0aW9ucyBzbyBpdCBjYW4gbGluayB3aXRoCgkgIGdzdHJlYW1lciBsaWJyYXJpZXMgb24gV2luZG93cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NjU0MjYKCjIwMTYtMDQtMjIgMTU6MDI6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSAgdGVzdHM6IGFkYXB0aXZlZGVtdXg6IG9ubHkgY2hlY2sgZm9yIGRhdGEgbGVuZ3RoIGFmdGVyIHNlZWsKCSAgV2hlbiB0aGUgdGVzdCBpbnZvbHZlcyBkb2luZyBhIHNlZWssIG9ubHkgY2hlY2sgZm9yIGRhdGEgc2l6ZSBhZnRlcgoJICB0aGUgc2Vlay4gVGhlIGZpbmFsIHNlZ21lbnQgcmFuZ2UgYWZ0ZXIgc2VlayBtaWdodCBiZSBkaWZmZXJlbnQvc21hbGxlcgoJICB0aGFuIHRoZSB0aHJlc2hvbGQgZm9yIGRvaW5nIHRoZSBzZWVrIGFuZCBkb2luZyB0aGUgY2hlY2sgYmVmb3JlCgkgIHNlZWtpbmcgd291bGQgZmFpbC4KCjIwMTYtMDItMTYgMTQ6MjY6NTUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiB1c2UgbWFjcm8gdG8gZGVmaW5lIG5hbWVzIG9mIHJlcXVlc3QgYW5kIHJlc3BvbnNlIHN0cnVjdHMKCSAgRm9sbG93aW5nIHRoZSBEb24ndCBSZXBlYXQgWW91cnNlbGYgcHJpbmNpcGxlLCBkZWZpbmUgbWFjcm9zCgkgIGZvciB0aGUgc3RydWN0dXJlcyB0aGF0IGNvbnRhaW4gdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGhlYWRlcnMsCgkgIHNvIHRoYXQgdGhlIG5hbWUgaXMgbm90IHJlcGVhdGVkIGluIG11bHRpcGxlIHBsYWNlcyBpbiBtdWx0aXBsZSBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNjo0MiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBpbXByb3ZlZCBjaGVja3MgZm9yIGV4cGVjdGVkIGRhdGEKCSAgQ2hlY2sgdGhlIHNpemUgb2YgcmVjZWl2ZWQgZGF0YSBmb3IgZWFjaCBidWZmZXIgcmVjZWl2ZWQgYnkgQXBwU2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDExOjM3OjQ0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCBjb250ZW50IHByb3RlY3Rpb24gdGVzdAoJICBUZXN0IGNvbnRlbnQgcHJvdGVjdGlvbgoJICBDb25maWd1cmUgMyBjb250ZW50IHByb3RlY3Rpb24gc291cmNlczoKCSAgLSBhIHV1aWQgc2NoZW1lL3ZhbHVlIHBhaXIKCSAgLSBhIG5vbiB1dWlkIHNjaGVtZS92YWx1ZSBwYWlyIChkYXNoIHJlY29nbmlzZXMgb25seSB1dWlkIHNjaGVtZXMpCgkgIC0gYSBjb21wbGV4IHV1aWQgc2NoZW1lLCB3aXRoIHRyYWlsaW5nIHNwYWNlcyBhbmQgY2FwaXRhbCBsZXR0ZXJzIGluIHNjaGVtZSB1cmkKCSAgT25seSB0aGUgdXVpZCBzY2hlbWUgc2hvdWxkIGJlIHJlY29nbmlzZWQuIFdlIGV4cGVjdCB0byByZWNlaXZlIDIgY29udGVudCBwcm90ZWN0aW9uIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDY0CgoyMDE2LTA0LTIyIDE3OjA0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogc3RyaXAgbGVhZC90cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gZGVzY3JpcHRvcnR5cGUgYXR0cmlidXRlcwoJICBUaGUgc3BlYyBzYXlzIGl0IGlzIHhzOmFueVVSSSBhbmQgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZQoJICBhcmUgdG8gYmUgaWdub3JlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDY0CgoyMDE2LTAyLTE2IDE0OjI2OjA1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgbWVkaWEgZG93bmxvYWQgZXJyb3IgZm9yIGluIHN0cmVhbSBmcmFnbWVudAoJICBUZXN0ZWQgZG93bmxvYWQgZXJyb3IgZm9yIGEgZnJhZ21lbnQgdGhhdCBpcyBub3QgdGhlIGxhc3QgbWVkaWEgZnJhZ21lbnQKCSAgaW4gdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNTo0NSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIGRvd25sb2FkIGVycm9ycyBkdXJpbmcgaGVhZGVyIGRvd25sb2FkCgkgIFRlc3QgaGVhZGVyIGRvd25sb2FkIGVycm9yLgoJICBMZXQgdGhlIGFkYXB0aXZlIGRlbXV4IGRvd25sb2FkIGEgZmV3IGJ5dGVzLCB0aGVuIGluc3RydWN0IHRoZQoJICBHc3RUZXN0SFRUUFNyYyBlbGVtZW50IHRvIGdlbmVyYXRlIGFuIGVycm9yIHdoaWxlIHRoZSBmcmFnbWVudCBoZWFkZXIKCSAgaXMgc3RpbGwgYmVpbmcgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNTozMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogcmVmYWN0b3IgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvcgoJICBSZW5hbWVkIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IgdG8gdGVzdE1lZGlhRG93bmxvYWRFcnJvckxhc3RGcmFnbWVudC4KCSAgQWRkZWQgZ3N0X2FkYXB0aXZlX2RlbXV4X3Rlc3RfdW5leHBlY3RlZF9lb3MgZnVuY3Rpb24uCgkgIFJlbW92ZSB1bm5lZWRlZCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yQ2hlY2tTaXplT2ZEYXRhUmVjZWl2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjU6MDQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiB0ZXN0ZWQgbGF0ZW5jeSBxdWVyeQoJICBVcGRhdGVkIHF1ZXJ5IHRlc3QgdG8gYWxzbyBjaGVjayBpZiBkYXNoIHJlc3BvbmRzIGNvcnJlY3RseSB0byBhIGxhdGVuY3kKCSAgcXVlcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjQ6NDkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBtb3ZlZCB0ZXN0UXVlcnkgYWZ0ZXIgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvcgoJICBNb3ZlZCB0ZXN0UXVlcnkgYWZ0ZXIgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvciBzbyB0aGF0IHRlc3REb3dubG9hZEVycm9yCgkgIGFuZCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIGFyZSBncm91cGVkIHRvZ2V0aGVyLgoJICBUaGUgY29tbWl0IGp1c3QgbW92ZWQgdGhlIHRlc3RRdWVyeUNoZWNrRGF0YVJlY2VpdmVkIGFuZAoJICBHU1RfU1RBUlRfVEVTVCAodGVzdFF1ZXJ5KSBmdW5jdGlvbnMgYnV0IGdpdCBnZXRzIGNvbmZ1c2VkIGluIG1hdGNoaW5nIHRoZQoJICBsaW5lcyBhbmQgcmVwb3J0cyBhIGxvdCBvZiBjaGFuZ2VzIGluIHRoZSBwYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNDoyNiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGNyZWF0ZSBhIEdzdERhc2hEZW11eFRlc3RDYXNlIGNsYXNzCgkgIENyZWF0ZSBhIEdzdERhc2hEZW11eFRlc3RDYXNlIGNsYXNzIHRoYXQgZXh0ZW5kcyBmcm9tIEdzdEFkYXB0aXZlRGVtdXhUZXN0Q2FzZS4KCSAgVGhpcyBuZXcgY2xhc3Mgd2lsbCBjb250YWluIGFsbCB0aGUgREFTSCBzcGVjaWZpYyBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjQ6MDkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCBzdXBwb3J0IHRvIHBhc3MgdmFyaW91cyBwYXJhbWV0ZXJzIHRvIGh0dHAgc3JjIGNhbGxiYWNrcwoJICBBZGRlZCBzdXBwb3J0IHRvIHBhc3MgdmFyaW91cyBwYXJhbWV0ZXJzIHRvIGh0dHAgc3JjIGNhbGxiYWNrcyB1c2luZyBHc3RTdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDMtMDEgMTQ6NTQ6MDEgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IGFkZCAiaGFzaCIgcHJvcGVydHkgYW5kIGFsbG93IG1vcmUgY2hlY2tzdW0gdHlwZXMKCSAgTm93IGFueSBHQ2hlY2tzdW1UeXBlIGNhbiBiZSB1c2VkIGJ5IEdzdENoZWNrc3VtU2luaywgYWRkaW5nCgkgIHN1cHBvcnQgZm9yIE1ENSwgU0hBLTI1NiBhbmQgU0hBLTUxMiBpbiBhZGRpdGlvbiB0byBTSEEtMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAwNgoKMjAxNi0wNC0yMiAwODoyMDoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRml4IExEQUREL0NGTEFHUyBmb3IgcGxheWVyIHVuaXQgdGVzdAoJICBJdCBub3cgcmVxdWlyZXMgbGliZ3N0dmlkZW8KCjIwMTYtMDItMTYgMTQ6NDQ6MzkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogdXNlIGEgR3N0VGVzdENsb2NrIGFzIHRoZSBzeXN0ZW0gY2xvY2sKCSAgVG8gYWxsb3cgdGhlIGFkYXB0aXZlZGVtdXggbGl2ZSBzdHJlYW0gdGVzdHMgdG8gcnVuIGluIG5vbi1yZWFsdGltZSwgdXNlIGEKCSAgR3N0VGVzdENsb2NrIGFzIHRoZSBzeXN0ZW0gY2xvY2suIFRoaXMgYWxsb3dzIHRoZSB1bml0IHRlc3RzIHRvIGNvbXBsZXRlCgkgIG1vcmUgcXVpY2tseSB0aGFuIGlmIHRoZXkgaGFkIHRvIGNvbXBsZXRlIGluIHJlYWwgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NwoKMjAxNi0wMi0xNiAxNDo0NDoyNyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHVzZSByZWFsdGltZV9jbG9jayBmb3Igd2FpdGluZyBmb3IgYSBjb25kaXRpb24KCSAgVGhlcmUgYXJlIHNldmVyYWwgcGxhY2VzIGluIGFkYXB0aXZlZGVtdXggd2hlcmUgaXQgd2FpdHMgZm9yCgkgIHRpbWUgdG8gcGFzcywgZm9yIGV4YW1wbGUgdG8gd2FpdCB1bnRpbCBpdCBzaG91bGQgbmV4dCBkb3dubG9hZAoJICBhIGZyYWdtZW50LiBUaGUgcHJvYmxlbSB3aXRoIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCBpdCBtZWFucyB0aGF0CgkgIHVuaXQgdGVzdHMgYXJlIGZvcmNlZCB0byBleGVjdXRlIGluIHJlYWx0aW1lLgoJICBUaGlzIGNvbW1pdCByZXBsYWNlcyB0aGUgdXNlIG9mIGdfY29uZF93YWl0X3VudGlsKCkgd2l0aCBzaW5nbGUKCSAgc2hvdCBHc3RDbG9ja0lEIHRoYXQgc2lnbmFscyB0aGUgY29uZGl0aW9uIHZhcmlhYmxlLiBVbmRlciBub3JtYWwKCSAgdXNhZ2UsIHRoaXMgYmVoYXZlcyBleGFjdGx5IGFzIGJlZm9yZS4gQSB1bml0IHRlc3QgY2FuIHJlcGxhY2UgdGhlCgkgIHN5c3RlbSBjbG9jayB3aXRoIGEgR3N0VGVzdENsb2NrLCBhbGxvd2luZyB0aGUgdGVzdCB0byBjb250cm9sIHRoZQoJICB0aW1pbmcgaW4gYWRhcHRpdmVkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NwoKMjAxNi0wMi0xNiAxNDo0NDoxMCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHVzZSBHc3RTeXN0ZW1DbG9jayB0byBhbGwgcmVhbC10aW1lIGNhbGN1bGF0aW9ucwoJICBBIHJlYWx0aW1lIGNsb2NrIGlzIHVzZWQgaW4gbWFueSBwbGFjZXMsIHN1Y2ggYXMgZGVjaWRpbmcgd2hpY2gKCSAgZnJhZ21lbnQgdG8gc2VsZWN0IGF0IHN0YXJ0IHVwIGFuZCBkZWNpZGluZyBob3cgbG9uZyB0byBzbGVlcAoJICBiZWZvcmUgYSBmcmFnbWVudCBiZWNvbWVzIGF2YWlsYWJsZS4gRm9yIGV4YW1wbGUgZGFzaGRlbXV4IG5lZWRzCgkgIHNhbXBsZSB0aGUgY2xpZW50J3MgZXN0aW1hdGUgb2YgVVRDIHdoZW4gc2VsZWN0aW5nIHdoZXJlIHRvIHN0YXJ0CgkgIGluIGEgbGl2ZSBEQVNIIHN0cmVhbS4KCSAgVGhlIHByb2JsZW0gd2l0aCBkYXNoZGVtdXggY2FsY3VsYXRpbmcgdGhlIGNsaWVudCdzIGlkZWEgb2YgVVRDIGlzCgkgIHRoYXQgaXQgbWFrZXMgaXQgZGlmZmljdWx0IHRvIGNyZWF0ZSB1bml0IHRlc3RzLCBiZWNhdXNlIHRoZSBwYXNzYWdlCgkgIG9mIHRpbWUgaXMgYSBmYWN0b3IgaW4gdGhlIHRlc3QuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgZGFzaGRlbXV4IGFuZCBhZGFwdGl2ZWRlbXV4IHRvIHVzZSB0aGUKCSAgR3N0U3lzdGVtQ2xvY2ssIHNvIHRoYXQgYSB1bml0IHRlc3QgY2FuIHJlcGxhY2UgdGhlIHN5c3RlbSBjbG9jayB3aGVuCgkgIGl0IG5lZWRzIHRvIGJlIGFibGUgdG8gY29udHJvbCB0aGUgY2xvY2suCgkgIFRoaXMgY29tbWl0IG1ha2VzIG5vIGNoYW5nZSB0byB0aGUgYmVoYXZpb3VyIHVuZGVyIG5vcm1hbCB1c2FnZSwgYXMKCSAgR3N0U3lzdGVtQ2xvY2sgaXMgYmFzZWQgdXBvbiB0aGUgc3lzdGVtIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDcKCjIwMTYtMDQtMjEgMTQ6NTg6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgd2luMzI6IEFkZCBuZXcgQVBJIHRvIC5kZWYgZmlsZQoKMjAxNi0wNC0xOSAxMDo1OTo0NiArMDUzMCAgQmFydW4gS3VtYXIgU2luZ2ggPGJhcnVuLnNpbmdoQHNhbXN1bmcuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbGF5ZXItdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLnBjLmluOgoJICBwbGF5ZXI6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXZpZXcgc2V0dGluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTMwMgoKMjAxNi0wNC0yMSAxMDowNjo0MCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZW5jOiBmaXggYnVpbGQgYnJlYWsgb24gaU9TCgkgIEZpeCAnY29uZmxpY3RpbmcgdHlwZXMnIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyOTIKCjIwMTYtMDQtMjAgMTU6MzQ6NTUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHRlc3QgZm9yIGludmFsaWQgRFZCLVQyIGJhbmR3aWR0aAoKMjAxNi0wNC0yMCAxNDo0NzoyMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB3YXJuIG9uIHdyb25nIERWQi1UMiBzdHJlYW0gSUQgdmFsdWUKCSAgU3RyZWFtIElELCB1c2VkIGZvciBEVkItVDIvUzIgYW5kIElTREItUyBjYW4KCSAgbm90IGV4Y2VlZCAyNTUgZm9yIHRoZSBmb3JtZXIuIENoYW5nZSBtYWtlcyB0aGlzCgkgIGV4cGxpY2l0LgoKMjAxNi0wNC0yMCAyMTowNzoyOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZW5jOiBGaXggYSB3YXJuaW5nIGJ5IHdlYWstbGluayBzeW1ib2wKCSAgRml4IHRoaXMgd2FybmluZwoJICBhZGRyZXNzIG9mIGZ1bmN0aW9uICdWVENvbXByZXNzaW9uU2Vzc2lvblByZXBhcmVUb0VuY29kZUZyYW1lcycgd2lsbCBhbHdheXMgZXZhbHVhdGUgdG8gJ3RydWUnIFstV3BvaW50ZXItYm9vbC1jb252ZXJzaW9uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjkyCgoyMDE2LTA0LTIwIDE2OjE5OjU1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGdsOiBjYW9wZW5nbGxheWVyc2luazogZml4IGEgbWlub3Igd2FybmluZwoJICBGaXggInVudXNlZCB2YXJpYWJsZSIgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjkyCgoyMDE2LTA0LTIwIDE2OjAwOjM2ICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jb2NvYTogRml4IGluY29tcGF0aWJsZSB0eXBlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI5MgoKMjAxNi0wNC0xOSAxNDo1NzoyMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgaW5jbHVkZSBkZXByZWNhdGVkIGFuZCB1bmF2YWlsYWJsZSBkM2R4OXRleC5oCgkgIEl0J3Mgbm90IG5lZWRlZCwgbm90IG9uIG5hdGl2ZSBXaW5kb3dzIG5vciB3aXRoIG1pbmd3LCBhbmQKCSAgd2UgZG9uJ3QgdXNlIGFueXRoaW5nIGZyb20gaXQgYW55d2F5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyNTAKCjIwMTYtMDQtMTQgMTI6NDY6NTggKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IGFkZCBzeW5jIHN1cHBvcnQgZm9yIHNlY29uZGFyeSBwaXBlcwoJICBUaGUgdmJsYW5rIGV2ZW50IHJlcXVlc3QgbXVzdCBzcGVjaWZ5IHRoZSBjcnRjIGZvciB3aGljaCB0byByZXF1ZXN0CgkgIHRoZSBldmVudC4gVGhpcyBmaXhlcyBrbXNzaW5rIHN5bmNocm9uaXNhdGlvbiBmb3IgY3J0Y3Mgb3RoZXIgdGhhbgoJICB0aGUgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwNjQKCjIwMTYtMDQtMTkgMDk6MzA6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wNC0xOSAxMDo1MToxNCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBuZWVkIHRvIGNsZWFuIHdpbmRvd19pZCB3aGVuIHN0YXRlIGNoYW5nZSBmb3JtIFJFQURZIHRvIE5VTEwKCSAgV2hlbiBhcHBsaWNhdGlvbiBjaGFuZ2UgcGlwZWxpbmUgc3RhdGUgTlVMTC0+UkVBRFkgYW5kIHRoZW4gUkVBRFktPk5VTEwsCgkgIGdsaW1hZ2VzaW5rIHdpbGwgbm90IGNsZWFyIGdsc2luay0+d2luZG93X2lkLiBBZnRlciB0aGF0LCB3aGVuIGFwcGxpY2F0aW9uCgkgIGNoYW5nZSBzdGF0ZSBOVUxMLT5SRUFEWSwgdGhlIG5ld193aW5kb3dfaWQgaXMgZXF1YWwgdG8gd2luZG93X2lkLCBnbGltYWdlc2luawoJICB3aWxsIG5vdCBzZXQgd2luZG93IGhhbmRsZS4gSXQgd2lsbCB1c2UgdGhlIGludGVybmFsIHdpbmRvdyBidXQgbm90IHRoZSB3aW5kb3cKCSAgY3JlYXRlIGJ5IGFwcGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjQxCgoyMDE2LTA0LTE4IDEzOjQ2OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcGx1ZyBjYXBzIGxlYWsKCSAgSXQgd2FzIGxvc2luZyByZWYgb2YgdGhlIG9yaWdpbmFsICdyZXQnIGNhcHMgdGhhdCB3b3VsZCBiZSByZXR1cm5lZAoJICBvciByZXR1cm5pbmcgaXQgd2l0aCAyIHJlZmVyZW5jZXMgdG8gaXQuCgoyMDE2LTAzLTI4IDE1OjQ0OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBwcm9wZXJseSBoYW5kbGUgaW50ZXJsYWNlLW1vZGUgcmVzdHJpY3Rpb25zCgkgIHZpZGVvYWdncmVnYXRvciBjYW4ndCBoYW5kbGUgaW50ZXJsYWNlLW1vZGUgY2hhbmdlcyBzbyBpdCBtdXN0CgkgIGFsd2F5cyByZXN0cmljdCBpdHNlbGYgdG8gdGhlIGZpcnN0IGludGVybGFjaW5nIG1vZGUgaXQgcmVjZWl2ZXMuCgkgIFRlc3RzIGluY2x1ZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0OTUKCjIwMTYtMDEtMjIgMTY6NDk6NTcgKzAwMDAgIFJhZmZhZWxlIFJvc3NpIDxyYXJvc3NpQGNpc2NvLmNvbT4KCgkqIGV4dC9kdGxzL1JFQURNRToKCSAgZHRzbDogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTk0CgoyMDE2LTA0LTE3IDE1OjQ1OjQxICswMTAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBnbC9jYW9wZW5nbGxheWVyc2luazogQWN0dWFsbHkgdW5zZXQgY2Fwc19jaGFuZ2UgZmxhZyBhZnRlciByZXNpemUKCSAgT3RoZXJ3aXNlLCB0aGUgc2luayB3b3VsZCBleGVjdXRlICJvbl9yZXNpemUiIGZvciBlYWNoIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MTk0CgoyMDE2LTA0LTE3IDE1OjQzOjIwICswMTAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FvcGVuZ2xsYXllcjogQXBwbHkgbGF5ZXIuY29udGVudHNTY2FsZSB0byB2aWV3cG9ydCBkaW1zCgkgIEZpeGVzIGJsdXJyeSBjb250ZW50IG9uIEhpRFBJIHNjcmVlbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTE5NAoKMjAxNi0wNC0xNiAyMjozMzo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBjaGVjayBmb3IgTlVMTCBiZWZvcmUgZ19mcmVlCgoyMDE2LTA0LTE1IDEzOjIyOjUxIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgRHJvcCB1c2FnZSBvZiAnb3ZlcmxheWVkJyB0byBtZWFuICdvdmVybGFpZCcKCjIwMTYtMDQtMTUgMTM6MTA6NDEgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc2hvdyBpbnZhbGlkIGRlbHN5cy9tb2QgY29tYmluYXRpb24gaWYgZm91bmQKCjIwMTYtMDQtMTUgMTE6Mjk6NDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1vZHVsYXRpb24gY2hlY2sgZm9yIEFUU0MKCjIwMTYtMDQtMTEgMjM6NDU6MjIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG8gbm90IGF1dG9kZXRlY3QgZGVsc3lzIHR3aWNlCgkgIFRoZSBwcm9jZXNzIGlzIGRlYWx0IHdpdGggdGhlIGZpcnN0IHRpbWUgdGhlIGFkYXB0ZXIgaXMKCSAgb3BlbmVkLCB0aGVyZSBpcyBubyBuZWVkIHRvIGRvIHRoaXMgYWdhaW4uCgoyMDE2LTA0LTE0IDIyOjMyOjA1IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWNvbmNoaWxsb0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IGFsc28gY2hlY2sgZm9yICJyb2MiIGluIGNhcHMKCSAgQ3VycmVudGx5LCBnc3Rfc3J0cF9kZWNfc2lua19zZXRjYXBzIGlzIGhhcHB5IGlmIHRoZSAicm9jIiBmaWVsZCBpcyBub3QKCSAgcHJvdmlkZWQgaW4gdGhlIGNhcHMuIElmIGl0IGlzIG5vdCBwcm92aWRlZCB0aGUgc3RyZWFtIHdpbGwgYmUgcHJvcGVybHkKCSAgaW5zZXJ0ZWQgaW4gdGhlIGhhc2ggdGFibGUgd2l0aCBhIGRlZmF1bHQgInJvYyIuIFRoZW4sIHdoZW4gdGhlIGZpcnN0CgkgIGJ1ZmZlciBhcnJpdmVzIHZhbGlkYXRlX2J1ZmZlciB3aWxsIGZpbmQgYW4gZXhpc3Rpbmcgc3RyZWFtIGluIHRoZSBoYXNoCgkgIHRhYmxlIGFuZCB3aWxsIG5vdCBzaWduYWwgcmVxdWVzdC1rZXksIG5vdCBhbGxvd2luZyB0aGUgdXNlciB0byBwcm92aWRlCgkgIGEgInJvYyIuCgkgIFRoaXMgcGF0Y2ggZXhwZWN0cyAicm9jIiBpbiBnc3Rfc3J0cF9kZWNfc2lua19zZXRjYXBzLCBpZiBub3QgZm91bmQgYQoJICByZXF1ZXN0LWtleSB3aWxsIGJlIHNpZ25hbGVkIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gcHJvdmlkZSBhbGwKCSAgdGhlIHNydHAgZmllbGRzLCBpbmNsdWRpbmcgInJvYyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwNzkKCjIwMTQtMDctMjggMTI6MTQ6MDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBQYXJzZSBtb3JlIHNsaWNlIGhlYWRlciBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg3MgoKMjAxNC0wNy0yOCAxMToxNzowNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IEFkZCB2YnZfZGVsYXkgZmllbGQgdG8gUGljdHVyZUhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODcyCgoyMDE0LTA3LTI4IDExOjE0OjIyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQWRkIG1vcmUgZmllbGRzIHRvIHRoZSBHc3RNcGVnVmlkZW9TZXF1ZW5jZUhkcgoJICBBZGRlZCB0aGUgZmllbGRzIGxvYWRfbm9uX2ludHJhX3F1YW50aXNlcl9tYXRyaXggYW5kCgkgIGxvYWRfY2hyb21hX2ludHJhX3F1YW50aXNlcl9tYXRyaXggdG8gdGhlIHNlcXVlbmNlIGhlYWRlciBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NzIKCjIwMTYtMDQtMTQgMTA6MDI6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZmMmQyMDkgdG8gYWMyZjY0NwoKMjAxNi0wNC0xMyAxODoxMjoyNSArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmcmVlIHBhZF9kYXRhLT5sYW5ndWFnZSBiZWZvcmUgZ19zdHJkdXAgaW4gb3JkZXIgdG8gYXZvaWQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTAwNQoKMjAxNi0wNC0xMyAxMzoxMDoxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBHc3RDb3JlVmlkZW9NZXRhIGluIHRoZSBwbHVnaW4gdXNpbmcgb25seSBwdWJsaWMgQVBJIGhhcyBubyBjdHggbWVtYmVyCgoyMDE2LTA0LTEzIDEzOjA5OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IEdzdENvcmVNZWRpYU1ldGEgaW4gdGhlIHBsdWdpbiB1c2luZyBvbmx5IHB1YmxpYyBBUEkgaGFzIG5vIGN0eCBtZW1iZXIKCjIwMTYtMDQtMTMgMTA6MjU6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIG1ldGE6IEluaXRpYWxpemUgYWxsIHJlbWFpbmluZyBtZXRhcyBpbiB0aGVpciBpbml0IGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5MDIKCjIwMTYtMDQtMTMgMTA6MTc6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgbWV0YTogSW5pdGlhbGl6ZSBhbGwgR3N0TWV0YSBmaWVsZHMKCSAgRHVyaW5nIGFsbG9jYXRpb24gdGhleSBhcmUgbm90IGluaXRpYWxpemVkIHRvIGFsbCB6ZXJvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5MDIKCjIwMTYtMDQtMTEgMjI6MDg6MDMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYXZvaWQgcmVkdW5kYW50IGRlbHN5cyBxdWVyeWluZwoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHF1ZXJ5IHRoZSBmcm9udGVuZCBmb3IgdGhlIGxpc3QKCSAgb2Ygc3VwcG9ydGVkIGRlbGl2ZXJ5IHN5c3RlbXMgaWYgd2UgYXJlIHNlbGVjdGluZwoJICBvbmUgZnJvbSB0aGUgbGlzdCBvZiBhdXRvZGV0ZWN0ZWQgb25lcy4KCjIwMTYtMDQtMTAgMTg6NTg6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogYWRkIGluZm9ybWF0aW9uIHRvIGZpbGUgbm90IGZvdW5kIGVycm9yCgkgIEFkZHMgdXNlZnVsIGZhaWx1cmUgaW5mbyAobGlrZSBmaWxlbmFtZSkgY29tbWluZyBmcm9tCgkgIGdfZmlsZV9nZXRfY29udGVudHMoKSBhcyBkb25lIGZvciBldmVyeSBvdGhlciBlcnJvciBpbgoJICB0aGlzIGJsb2NrLgoKMjAxNi0wNC0xMyAwMDo0MzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvY29jb2EvZWFnbDogZG9uJ3QgbGVhayBHVGhyZWFkJ3Mgd2hlbiBkaXNwYXRjaGluZyBtZXNzYWdlcwoJICBnc3RfZ2xfY29udGV4dF9nZXRfdGhyZWFkKCkgcmV0dXJucyBhIHJlZmVkIHBvaW50ZXIsIHdlIG5lZWQgdG8gdW5yZWYgaXQuCgoyMDE2LTA0LTEyIDExOjE0OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGRvbid0IGRlcmVmZXJlbmNlIG51bGwgcG9pbnRlcgoJICBmdW5jcyBjYW4gYmUgTlVMTCwgaXQgaXMgb25lIG9mIHRoZSB0d28gY29uZGl0aW9ucyBvZiB0aGUgT1Igc3RhdGVtZW50CgkgIGFib3ZlLCBzbyBjb25maXJtIGl0IGlzbid0IGJlZm9yZSBkZXJlZmVyZW5jaW5nIHdpdGggZnVuY3MtPmZyZWUuCgkgIENJRCAxMzU4Mzg4CgoyMDE2LTA0LTEyIDA0OjE2OjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpeCB3aGVuIGFwcGx5aW5nIG5ldyBQTVQgd2l0aCBzYW1lIHByb2dyYW0gbnVtYmVyCgkgIFdoZW4gdGhlIHN1Yi1jbGFzcyBpcyBkZWxheWluZyBkZWFjdGl2YXRpb24gb2YgdGhlIG9sZCBwcm9ncmFtLAoJICBidXQgaXQgaGFzIHRoZSBzYW1lIHByb2dyYW0gbnVtYmVyIGFzIHRoZSBuZXcgcHJvZ3JhbSwgZG9uJ3QKCSAgb3ZlcndyaXRlIHRoZSBvbGQgcHJvZ3JhbSBpbiB0aGUgaGFzaCB0YWJsZSBhbmQgdGhlbiBzdGVhbAoJICB0aGUgbmV3IHByb2dyYW0gYmFjayBvdXQgb2YgaXQuIEluc3RlYWQsIGFkZCB0aGUgbmV3IHByb2dyYW0gdG8KCSAgdGhlIGhhc2ggdGFibGUgYWZ0ZXIgaGFuZGxpbmcgcmVtb3ZhbCBvZiB0aGUgb2xkIG9uZS4KCjIwMTYtMDQtMDYgMDQ6MTU6NDAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDoga2VlcCB0aGUgcGFyZW50IGJ1ZmZlciBhcm91bmQgd2hlbiBjb252ZXJ0aW5nIEVHTEltYWdlIHRvIDJEIHRleHR1cmVzCgkgIGUuZy4gcmVjZWl2aW5nIGFuZCByZWxlYXNpbmcgYSBidWZmZXIgZnJvbSBPTVggdG9vIGVhcmx5IHdpbGwgcG90ZW50aWFsbHkKCSAgY2F1c2UgdGV4dHVyZXMgdG8gYmUgb3ZlcndyaXR0ZW4gd2hpbGUvYmVmb3JlIHRoZXkgYXJlIGRpc3BsYXllZC4KCjIwMTYtMDQtMTEgMTY6NDM6NDUgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJICBnbGJhc2VtaXhlcjogY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBpbXBsZW1lbnRhdGlvbgoKMjAxNi0wNC0xMSAxODowNjoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2dWxrYW46IHByZXR0aWZ5IHRoZSB2YXJpb3VzIHZlcnNpb25zIGluIHRoZSBkZWJ1ZyBvdXRwdXQKCSAgb3V0cHV0IGh1bWFuIHJlYWRhYmxlIG51bWJlcnMuCgoyMDE2LTA0LTExIDIwOjIzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IG1pbm9yIGNsZWFuLXVwcwoJICBSZW1vdmUgdW51c2VkIHByb3BlcnR5IGdldHRlcnMsIHNldHRlcnM7IG91dGRhdGVkIGNvbW1lbnQuCgoyMDE2LTA0LTExIDIwOjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmg6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJICBvcGVuaDI2NDogcmVtb3ZlIHVubmVjZXNzYXJ5IGluc3RhbmNlIHByaXZhdGUgc3RydWN0dXJlcwoJICBFbGVtZW50IGluc3RhbmNlIHN0cnVjdHVyZXMgYXJlIG5vdCBwdWJsaWMgQVBJLCBzbyBubyBuZWVkCgkgIGZvciB0aGUgZXh0cmEgaW5kaXJlY3Rpb24gdG8gaGlkZSB0aGUgZGF0YS4KCjIwMTYtMDQtMTEgMjA6MDQ6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogZml4IGluZGVudGF0aW9uCgoyMDE2LTAyLTEyIDE0OjIxOjI3ICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5jOgoJICBrbXNzaW5rOiBlbmFibGUgVVlWWSwgWVVZMiwgYW5kIFlWWVUgKGludGVybGVhdmVkIFlVViA0OjI6MikgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAyLTEyIDE0OjE3OjMyICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5jOgoJICBrbXNzaW5rOiBlbmFibGUgTlYxNiAoY2hyb21hLWludGVybGVhdmVkIFlVViA0OjI6MikgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDItMTIgMTQ6MTc6MTMgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmM6CgkgIGttc3Npbms6IGVuYWJsZSBZNDJCIChwbGFuYXIgWVVWIDQ6MjoyKSBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMy0wNCAxNjo1Mzo1OCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IGtlZXAgbGFzdCByZW5kZXJlZCBidWZmZXIgaW4gbWVtb3J5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDItMjAgMjM6MTM6NTQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5oOgoJICBrbXNzaW5rOiB3YWl0IGZvciBwYWdlIGZsaXAgb3IgdmJsYW5rCgkgIFRoaXMgcGF0Y2ggcmVxdWVzdHMgZm9yIGRybU1vZGVQYWdlRmxpcCgpIGZvciB0aGUgdXNlZCBDUlRDLCBpZiB0aGUga2VybmVsCgkgIG1vZHVsZSBzdXBwcG9ydHMgYXN5bmMgcGFnZSBmbGlwLiBJZiBpdCBkb2VzIG5vdCwgdGhlIGVsZW1lbnQgcmVxdWVzdHMgZm9yIGEKCSAgdmJsYW5rIGV2ZW50LiBBIEdzdFBvbGwgd2FpdHMgZm9yIHRoZSBldmVudCB0byBoYXBwZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDItMTAgMjA6NDM6NDcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMva21zL01ha2VmaWxlLmFtOgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5oOgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IGFkZCBkbWFidWYgc3VwcG9ydAoJICBUaGlzIHBhdGNoIHdpbGwgZW5hYmxlIHRoZSBpbXBvcnQgb2YgZG1hYnVmcyBpbnRvIGEgS01TIGJ1ZmZlciB1c2luZwoJICB0aGUgUFJJTUUga2VybmVsIGludGVyZmFjZS4KCSAgSWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IHByaW1lIGltcG9ydCwgdGhlIG1ldGhvZCBpcyBza2lwcGVkLgoJICBJdCBoYXMgYmVlbiB0ZXN0ZWQgd2l0aCBhIEZyZWVzY2FsZSBJLk1YNiBib2FyZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMS0zMSAxMzoxMjozNCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5jOgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmg6CgkgIGttc3Npbms6IGNhbGN1bGF0ZSBkaXNwbGF5IHJhdGlvCgkgIEdldCB0aGUgYXNwZWN0IHJhdGlvIGdpdmVuIHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBsaWJkcm0sIGFuZCB3aXRoIGl0CgkgIGNhbGN1bGF0ZSB0aGUgZGlzcGxheSByYXRpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMS0yMCAxMjowMDo1MSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2ttcy9NYWtlZmlsZS5hbToKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuaDoKCSogc3lzL2ttcy9nc3RrbXNidWZmZXJwb29sLmM6CgkqIHN5cy9rbXMvZ3N0a21zYnVmZmVycG9vbC5oOgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuYzoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5oOgoJICBrbXNzaW5rOiBhZGQgcGx1Z2luIGFuZCBzaW5rIGVsZW1lbnQKCSAgVGhpcyBpcyBzaW1wbGUgdmlkZW8gc2luayB0aGF0IHVzZSBsaWJkcm0vbGlia21zIEFQSSB0byByZW5kZXIgZnJhbWVzLgoJICBUaGUgZWxlbWVudCB1c2VzIHBsYW5lcyB0byByZW5kZXIgdGhyb3VnaCBkcm1Nb2RlU2V0UGxhbmUoKS4KCSAgSXQgaGFzIGJlZW4gdGVzdGVkIGluIGFuIEV4eW5vczQ0MTIgYm9hcmQgYW5kIGluIGEgRnJlZXNjYWxlIEkuTVg2IGJvYXJkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTA0LTEwIDE3OjQ2OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vdmthcGkuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vd2F5bGFuZC92a2Rpc3BsYXlfd2F5bGFuZC5jOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvdmtkaXNwbGF5X3dheWxhbmQuaDoKCSogZXh0L3Z1bGthbi93YXlsYW5kL3Zrd2luZG93X3dheWxhbmQuYzoKCSogZXh0L3Z1bGthbi93YXlsYW5kL3Zrd2luZG93X3dheWxhbmQuaDoKCSogZXh0L3Z1bGthbi93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJICB2dWxrYW46IGFkZCBhIHdheWxhbmQgd2luc3lzIGltcGxlbWVudGF0aW9uCgoyMDE2LTA0LTEwIDE3OjQzOjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmg6CgkgIHZ1bGthbi94Y2I6IGdldFByb2NBZGRyZXNzIHdpbnN5cyBmdW5jdGlvbnMKCSAgVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCB0aGV5IHdpbGwgYWx3YXlzIGJlIGV4cG9zZWQgYnkgdGhlIHZ1bGthbiBsb2FkZXIuCgoyMDE2LTA0LTA5IDE3OjUyOjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkgIHZrdXBsb2FkOiBjb3B5IG5lY2Vzc2FyeSBidWZmZXIgbWV0YWRhdGEKCSAgdGltZXN0YW1wcywgZmxhZ3MsIGV0YwoKMjAxNi0wNC0xMSAwODozNDowMCArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBsaWJnc3RnbDogY29jb2EsIGVhZ2w6IHVzZSBsaWJkaXNwYXRjaCB0byBzY2hlZHVsZSBHTCBjYWxscwoJICBVc2UgbGliZGlzcGF0Y2ggaW5zdGVhZCBvZiBHTWFpbkxvb3AgdG8gZGlzcGF0Y2ggR0wgY2FsbHMuIGxpYmRpc3BhdGNoIGlzIG1vcmUKCSAgb3B0aW1pemVkIGFuZCBjdXRzIGEgbG90IG9mIHBvbGwoKS9wdGhyZWFkXyogb3ZlcmhlYWQuCgoyMDE2LTA0LTExIDA4OjAyOjQ1ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogcmVkdWNlIHRoZSBudW1iZXIgb2YgR011dGV4ZXMgYW5kIEdDb25kcyBpbiBzZW5kX21lc3NhZ2UoKQoJICBEb24ndCBjcmVhdGUgbWFueSBzaG9ydCBsaXZlZCBsb2Nrcy9jb25kcyBpbiBnc3RfZ2xfd2luZG93X3NlbmRfbWVzc2FnZS4gVGhpcyBpcwoJICBhIG1pY3JvIG9wdGltaXphdGlvbiB0byBzYXZlIGEgYnVuY2ggb2YgcHRocmVhZF8qIGNhbGxzIHdoaWNoIGFyZSBleHBlbnNpdmUgb24KCSAgT1NYL2lPUyBhbmQgcG9zc2libHkgb3RoZXIgcGxhdGZvcm1zLgoKMjAxNi0wNC0xMCAyMjoxODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgLmRlZiBmaWxlIGZvciBuZXcgZ2wgYXBpCgoyMDE2LTA0LTA4IDE4OjM0OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFkZCBuZWNlc3Nhcnkgd2FpdCBzdGFnZXMgdG8gdGhlIHN1Ym1pc3Npb24gaW5mbwoKMjAxNi0wNC0wOCAxODozMjo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhZGQgc3JnYiBmb3JtYXRzIHRvIG91ciBsaXN0IG9mIGZvcm1hdHMKCSAgaW50ZWwgcmV0dXJucyB0aGVtIGZvciB0aGVpciBzdXJmYWNlIGZvcm1hdHMuCgoyMDE2LTA0LTA4IDE4OjA5OjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdnVsa2FuOiBzaWxlbmNlIGEgdmFsaWRhdGlvbiB3YXJuaW5nIGZpbGxpbmcgb3V0IHRoZSBpbWFnZSBiYXJyaWVyCgoyMDE2LTA0LTA4IDE4OjA5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IHVzZSB0aGUgY29ycmVjdCB2YWxpZGF0aW9uIGxheWVyIG5hbWUKCSAgVGhlIHRocmVhZGluZyB2YWxpZGF0aW9uIGxheWVyIGhhcyBjaGFuZ2VkIG5hbWVzLgoKMjAxNi0wNC0wOCAxNDowNzo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBJbml0aWFsaXplIGNhcHR1cmVfdGltZSB0byBOT05FIHNvIGl0IGNhbiBiZSB1c2VkIGlmIG5vIHZpZGVvIGZyYW1lIGlzIHByb3ZpZGVkIGJ1dCBhdWRpbyBpcwoJICBDSUQgMTM1ODM5MAoKMjAxNi0wNC0wOCAxNzo1Njo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlsc19wcml2YXRlLmg6CgkgIHZ1bGthbjogb25seSB3YXJuIG9uIG5vdCBmb3VuZCBsYXllcnMKCSAgZG9uJ3QgZXJyb3Igb3V0IGNvbXBsZXRlbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDU0NQoKMjAxNi0wNC0wOCAxNzo0MTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBkb24ndCBnX2Vycm9yIHdoZW4gZmFpbGluZyB0byBmaW5kIHZhbGlkYXRpb24gbGF5ZXJzCgkgIEFib3J0aW5nIHRoZSBhcHBsaWNhdGlvbiBpcyBuZXZlciBhIGdvb2QgdGhpbmcgdG8gZG8gZm9yIHJlY292ZXJhYmxlIGVycm9ycy4KCSAgSnVzdCB3YXJuIGFuZCBlcnJvciBvdXQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDU0NQoKMjAxNi0wNC0wOCAxNDo1MTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmg6CgkgIG52ZW5jOiBhZGQgc29tZSByYXRlIGNvbnRyb2wgbW9kZXMvcHJvcGVydGllcwoJICBTdXBwb3J0ZWQgbW9kZXMgYXJlIGNvbnN0YW50IHF1YW50aXplciwgY2JyLCB2YnIgYW5kIHZiciB3aXRoIGEgbWluaW11bSBxdWFudGl6ZXIuCgoyMDE2LTA0LTA3IDIzOjI0OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuaDoKCSogc3lzL252ZW5jL2dzdG52aDI2NGVuYy5jOgoJICBudmVuYzogbW92ZSBjb2RlYyBjb25maWcgaW5pdGlhbGl6YXRpb24gZnJvbSB0aGUgaW1wbGVtZW50YXRpb24gdG8gdGhlIGJhc2UgY2xhc3MKCSAgU3VwcG9ydHMgYSBiZXR0ZXIgc2VwYXJhdGlvbiBvZiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMKCjIwMTYtMDQtMDcgMjI6NDY6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5oOgoJKiBzeXMvbnZlbmMvZ3N0bnZlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52aDI2NGVuYy5jOgoJICBudmVuYzogYWRkIHByZXNldCBzZWxlY3Rpb24KCSAgU29tZSBwcmVzZXRzIGFyZSBub3QgYWx3YXlzIHN1cHBvcnRlZCBvbiBhbGwgZGV2aWNlcyBhbmQgd2lsbCBjYXVzZSBhbiBlcnJvciBpZgoJICB1c2VkLiAgU3BlY2lmaWNhbGx5LCB0aGUgTE9TU0xFU1MgcHJlc2V0cyBhcmUga25vd24gdG8gbm90IHdvcmsgZXZlcnl3aGVyZS4KCjIwMTQtMDctMTYgMDI6NDQ6NDIgKzAyMDAgIE1hcmNpbiBLb2xueSA8bWFyY2luLmtvbG55QGdtYWlsLmNvbT4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogZW1pdCBub3RpZnk6OmZpbmdlcnByaW50IHNpZ25hbCB3aGVuIGZpbmdlcnByaW50IGlzIHJlYWR5CgkgIEluIGFkZGl0aW9uIHRvIGFkZGluZyB0aGUgZmluZ2VycHJpbnQgdG8gdGhlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMzMKCjIwMTYtMDQtMDQgMjA6NTU6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlcGVjdCB0aGUgcmVzdWx0IG9mIGZpbmRfYmVzdF9mb3JtYXQgaW4gdGhlIGRlZmF1bHQgdXBkYXRlX2NhcHMKCSAgV2Ugd2VyZW4ndCB1c2luZyB0aGUgcmVzdWx0IG9mIGZpbmRfYmVzdF9mb3JtYXQgYXQgYWxsLgoJICBBbHNvLCBtb3ZlIHRoZSBmaW5kX2Jlc3RfZm9ybWF0IHVzYWdlIHRvIHRoZSBkZWZhdWx0IHVwZGF0ZV9jYXBzKCkgdG8gbWFrZQoJICBzdXJlIHRoYXQgaXQgaXMgYWxzbyBvdmVycmlkYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDM2MwoKMjAxNi0wNC0wNSAyMTo0MDo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBGaXggZmFsbGJhY2sgdG8gR3N0VmlkZW9CdWZmZXJQb29sCgkgIFRoZSByZXBsYWNlbWVudCBwb29sIG5lZWQgdG8gYmUgYWRkZWQgdG8gdGhlIHF1ZXJ5LCBvdGhlcndpc2UgdGhlCgkgIGJhc2VjbGFzcyB3b24ndCBzZWUgaXQuIFdlIGFsc28gbmVlZCB0byBwcm9wZXJseSByZW1vdmUgdGhlIHJlamVjdGVkCgkgIHBvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDQxCgoyMDE2LTA0LTA1IDIxOjA3OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICByZmJzcmM6IEltcGxlbWVudCBkZWNpZGVfYWxsb2NhdGlvbiB2aXJ0dWFsCgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgdGhlIGJhc2UgY2xhc3MgZm9yIGJ1ZmZlciBhbGxvY2F0aW9uLCBoZW5jZSB1c2UKCSAgZmlsbCgpIGluc3RlYWQgb2YgY3JlYXRlKCkgdmlydHVhbC4gVGhpcyBhbHNvIGFkZHMgYSBzdHJpY3QgY2hlY2sgb24gdGhlCgkgIHNlbGVjdCBwb29sIGJ1ZmZlciBzaXplIGFzIHdlIGRvbid0IHN1cHBvcnQgc3RyaWRlcyBhbmQgcGFkZGluZy4KCSAgVGhpcyBpcyBiYXNlZCBvbiBpbml0aWFsIHBhdGNoIHByb3Bvc2VkIGJ5IFNlYmFzdGllbiBEcsO2Z2UsIGZyb20gd2hpY2ggSQoJICBhbHNvIGZpeGVkIGEgYnVmZmVyIHBvb2wgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQ0MQoKMjAxNi0wNC0wNSAxNTozMTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBGaXggY2FwcyBuZWdvdGlhdGlvbgoJICBBcyB3ZSBjdXJyZW50bHkgb25seSB1c2UgdGhlIHNlcnZlciByZXBvcnRlZCAibmF0dXJhbCIgZm9ybWF0LCBjYXBzCgkgIG5lZ290aWF0aW9uIHNob3VsZCBzaW1wbHkgYmUgbGltaXRlZCB0byB0ZWxsaW5nIHRoZSBiYXNlIGNsYXNzIHdoaWNoCgkgIGZvcm1hdCB0byB1c2UuIEZpeCB0aGUgbmVnb3RpYXRpb24gYnkgbW92aW5nIHRoZSBhc3NvY2lhdGVkIGNvZGUKCSAgaW50byBuZWdvdGlhdGUoKSB2aXJ0dWFsIGZ1bmN0aW9uLiBBbHNvLCB1c2UgZ3N0X2Jhc2Vfc3JjX3NldF9jYXBzKCkKCSAgcmF0aGVyIHRoZW4gc2V0dGluZyBpdCBvbiB0aGUgcGFkIGRpcmVjdGx5LiBBbHNvIHByb3RlY3QgYWdhaW5zdCB0aGlzCgkgIG1ldGhvZCBiZWluZyBjYWxsZWQgbXVsdGlwbGUgdGltZSAod2UgY2FuJ3QgcmVuZWdvdGlhdGUgZm9yIG5vdykuCgkgIFRoaXMgY2hhbmdlIGFsc28gbW92ZXMgc29tZSBuZXR3b3JrIGNvZGUgdGhhdCB3YXMgYmVpbmcgcnVuIGR1cmluZyB0aGUKCSAgYXBwbGljYXRpb24gc3RhdGUgY2hhbmdlIGNhbGwsIHRvIGJlIHJ1biBvbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU5OAoKMjAxNi0wMy0yNiAxMzozNjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBJbXBsZW1lbnQgdW5sb2NrKCkgbWV0aG9kCgkgIFRoaXMgcHJldmVudCBzdGFsbHMgd2hlbiB3ZSB0cnkgdG8gc3RvcCB0aGUgc291cmNlIHdoaWxlIHdhaXRpbmcKCSAgZm9yIHRoZSBzZXJ2ZXIgdG8gc2VuZCBtb3JlIHVwZGF0ZXMuCgoyMDE2LTAzLTI0IDE4OjI3OjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBDaGVjayBmb3IgY29ubmVjdGlvbiBiZWluZyBjbG9zZWQKCSAgQWx0aG91Z2ggaXQncyBub3QgdmVyeSB3ZWxsIGRvY3VtZW50ZWQsIGdfaW5wdXRfc3RyZWFtX3JlYWRfYWxsKCkgd2lsbAoJICBzZXQgdGhlIG51bWJlciBvZiBieXRlcyByZWFkIHRvIDAgaWYgdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkIHJhdGhlcgoJICB0aGVuIHJldHVybmluZyBhbiBlcnJvci4KCjIwMTYtMDMtMjQgMTg6MjY6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IENoZWNrIGZvciByZWFkL3dyaXRlIGVycm9yCgkgIENoZWNrIGZvciByZWFkL3dyaXRlIGVycm9yLiBUaGlzIHByZXZlbnQgdW5kZWZpbmVkIGJlaGF2aW91ciB0aGF0IHJlbHkKCSAgb24gdW5pdGlhbGl6ZWQgYnVmZmVyLgoKMjAxNi0wMy0yNCAxODoxNDoxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IEFkZCBhIGludGVybmFsIG1ldGhvZCB0byBkaXNjb25uZWN0CgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBkaXNjb25uZWN0ZWQgYm9vbGVhbiBoYWNrLgoKMjAxNi0wMy0yNCAxODoxNDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBEb24ndCBpZ25vcmUgZXJyb3JzCgkgIFRoaXMgcHJldmVudHMgcmVjdXJzaW9uIG9uIGVycm9yLiBUaGlzIHVzZWQgdG8gaGFwcGVuIGFzIHdlCgkgIGRvbid0IGNoYW5nZSB0aGUgc3RhdGUgd2hlbiBzb21ldGhpbmcgZmFpbHMuIFdlIGVuZCB1cCBydW5uaW5nCgkgIGFuZCBmYWlsaW5nIGluIHRoZSBzYW1lIHN0YXRlIGZvcmV2ZXIuCgoyMDE2LTAzLTI0IDE2OjQ2OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogU2VyaWFsaXplIHdyaXRlIG9wZXJhdGlvbnMKCSAgQ3VycmVudGx5IHdlIHNlbmQga2V5IGV2ZW50cyBmcm9tIHNlcGVyYXRlIHRocmVhZHMuIElPU3RyZWFtIGRvZXMgbm90CgkgIGFsbG93IGNvbmN1cnJlbnQgd3JpdGUgb3BlcmF0aW9ucywgc28gcHJvdGVjdCB0aGlzIG9wZXJhdGlvbiB1c2luZyBhCgkgIG11dGV4LgoKMjAxNi0wMy0xNyAxNToyNDo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogQWRkIDMuNy8zLjggc2VjdXJpdHkgdHlwZSBuZWdvdGlhdGlvbgoKMjAxNi0wMy0xNiAxODo0ODo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IFBvcnQgdG8gR1NvY2tldENsaWVudAoJICBVc2luZyBHU29ja2V0Q2xpZW50IHdlIGNhbiBzaW1wbGlmeSBhIGxvdCB0aGUgcmVhZC93cml0ZSBvcGVyYXRpb24uCgkgIFRoaXMgYWxzbyBwcm92aWRlIGFuIEdTb2NrZXRDb25uZWN0aW9uIChhIEdJT1N0cmVhbSkgd2hpY2ggY2FuIHRoZW4KCSAgYmUgdXNlZCB3aXRoIHRoZSBHVGxzQ2xpZW50Q29ubmVjdGlvbiBmb3Igc2VjdXJlIGNvbm5lY3Rpb25zLiBOb3RlCgkgIHRoYXQgd2UgdXNlIF93cml0ZV9hbGwoKSB0byBlbnN1cmUgYWxsIGJ5dGVzIGhhdmUgYmVlbiByZWFkLiBUaGlzIGlzCgkgIHRvIGZvbGxvdyB0aGUgZmFjdCB0aGUgbm9uZSBvZiB0aGUgX3NlbmQoKSBjYWxscyBjaGVjayB0aGUgcmV0dXJuCgkgIHZhbHVlLgoKMjAxNi0wMy0xNiAxNjo0OToyOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSogZ3N0L2xpYnJmYi9yZmIuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogUmVtb3ZlIHVzZWxlc3MgbGlicmFyeSB3cmFwcGluZwoJICBXZSB1c2UgYSBzaW5sZ2UgLmMgZmlsZSwgc2ltcGxpZnkgZXZlcnl0aGluZyBieSByZW1vdmluZyB0aGF0CgkgIHN0YXRpYyBsaWJyYXJ5LgoKMjAxNi0wMy0xNiAxNjo0OTowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9yZmIuYzoKCSogZ3N0L2xpYnJmYi9yZmIuaDoKCSogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSogZ3N0L2xpYnJmYi9yZmJjb250ZXh0Lmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgcmZic3JjOiBDbGVhbnVwIGRlYWQgY29kZQoJICBSZW1vdmUgYWxsIHRoZSB1bnVzZWQgc3R1ZmYsIHRoZSBpbmNsdWRlIGhlYWRlciwgZGVmaW5pdGlvbiBhbmQgQyBjb2RlCgkgIHRoYXQgZG9uJ3QgY29udHJpYnV0ZSBhbnl0aGluZyB0byB0aGlzIGVsZW1lbnQuCgoyMDE2LTAzLTE0IDE1OjA4OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBQcm9wZXJseSBmYWxsYmFjayB0byAzLjMKCSAgSWYgdGhlIG1ham9yIHZlcnNpb24gaXMgbm90IDMsIHRoZW4gdGhlIG1pbm9yIHZlcnNpb24gcHJvdmlkZWQKCSAgc2hvdWxkIGJlIGlnbm9yZWQsIGFzIGl0IGlzIG1lYW5pbmdsZXNzIGZvciBvdXIgZmFsbGJhY2suCgoyMDE2LTAzLTE0IDE1OjA1OjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBDbGVhbmx5IGhhbmRsZSBzZWN1cml0eSBuZWdvdGlhdGlvbiBmYWlsdXJlCgkgIFdoZW4gdGhlIHNlY3VyaXR5IGNhbm5vdCBiZSBuZWdvdGlhdGVkLCB0aGUgc2VydmVyIHJldHVybnMKCSAgc2VjdXJpdHkgdHlwZSBvZiAwIChmYWlsdXJlKS4gSW4gdGhhdCBjYXNlLCB0aGUgbmV4dCBzdGVwIGlzCgkgIHRvIHJlYWQgdGhlIGVycm9yIHJlYXNvbiBzdHJpbmcuCgoyMDE2LTA0LTAxIDE0OjM2OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGNsYW1wIHNlZ21lbnQgZHVyYXRpb25zIHRvIGVhY2ggb3RoZXIgYW5kIHBlcmlvZCBlbmQKCSAgNS4zLjIuMSBpbiB0aGUgc3BlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc5MgoKMjAxNS0wOS0xMCAxMzoyMjo1OCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHVuaXQgdGVzdGluZyByZXByb2R1Y2luZyBzZWdtZW50IGR1cmF0aW9uIG92ZXJmbG93CgkgIHVuaXQgdGVzdCByZXByb2R1Y2luZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzkyCgkgIFdpdGggbWlub3IgY2hhbmdlcyBieSBWaW5jZW50IFBlbnF1ZXJjJ2guCgoyMDE2LTA0LTA1IDE0OjQ5OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCBhY2NlcHQgcGFja2V0cyB3aXRob3V0IHRpbWVzdGFtcHMgYWZ0ZXIgYSBkaXNjb250CgkgIFdlIGhhdmUgbm8gaWRlYSB3aGljaCB0aW1lc3RhbXBzIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGhhdmUgc28gdGhlIG9ubHkgdGhpbmcKCSAgd2UgY2FuIGRvIGF0IHRoaXMgcG9pbnQgaXMgdG8gZHJvcCB0aGVtLiBQYWNrZXRzIHdpdGhvdXQgdGltZXN0YW1wcyBoYXBwZW4gaWYKCSAgYXVkaW8gd2FzIGNhcHR1cmVkIGJ1dCBubyBjb3JyZXNwb25kaW5nIHZpZGVvLCB3aGljaCBzaG91bGRuJ3QgaGFwcGVuIHVuZGVyCgkgIG5vcm1hbCBjaXJjdW1zdGFuY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjMzCgoyMDE2LTA0LTA0IDIyOjIxOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3QgY3Jhc2ggd2hlbiByZWNlaXZpbmcgdmlkZW8gZnJhbWVzIGJ1dCBubyBhdWRpbwoJICBBbmQgbWFyayB0aGVzZSBldmVudHMgYXMgZGlzY29udHMgdG8gcmVzZXQgdGltZSB0cmFja2luZyBpbiB0aGUgYXVkaW8gc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjMzCgoyMDE1LTA4LTA4IDE1OjE3OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogZG9uJ3QgY3Jhc2ggaWYgd2UgZ2V0IE5VTEwgdmlkZW8gZnJhbWVzIGluIHRoZSBjYWxsYmFjawoJICBGb3Igc29tZSByZWFzb24gd2Ugc2VlbSB0byBzb21ldGltZXMgZ2V0IE5VTEwgdmlkZW9fZnJhbWVzIGluIHRoZQoJICA6OlZpZGVvSW5wdXRGcmFtZUFycml2ZWQoKSBjYWxsYmFjaywgb2JzZXJ2ZWQgb24gSW50ZW5zaXR5IFBybyBjYXJkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYzMwoKMjAxNi0wMy0yMyAwMzoxNjoxMSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBzdXBwb3J0IGZvciB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1ldGEKCjIwMTYtMDMtMjMgMDM6MTQ6NDAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogc3VwcG9ydCB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1ldGEgZm9yIGFueSB0ZXh0dXJlIHRhcmdldAoKMjAxNi0wNC0wNSAxNjoyMjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogc2V0IHRoZSBjdXJyZW50IHRleHR1cmUgdG8gMCBiZWZvcmUgbWFwcGluZwoJICBJZiB3ZSBmYWlsIG1hcHBpbmcsIHdlIGRvbid0IHdhbnQgdG8gdXNlIHVuZGVmaW5lZCB2aWRlbyBkYXRhIGluIHRoZSBzdWJjbGFzcy4KCjIwMTUtMDktMDggMTQ6Mzc6NTcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxzaW5rOiBjYXRjaCBhbiB1bmtub3duIGVycm9yCgkgIEluIHRoaXMgY2FzZSB0aGUgc29ja2V0IGNhbGxiYWNrIGhhcyBub3QgYmVlbiBjYWxsZWQKCSAgYnkgbGliY3VybCBhbmQgdGhlIGN1cmxzaW5rIGhhcyBub3QgYmVlbiBub3RpZmllZCBhYm91dCBhbnkKCSAgY29ubmVjdGlvbiBwcm9ibGVtcyBieSBsaWJjdXJsLgoJICBUaGlzIGluZGljYXRlcyB0aGF0IGl0J3MgYSBidWcgaW4gbGliY3VybCBzbyBjYXRjaCBpdCBhcwoJICBhbiB1bmtub3duIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDMyCgoyMDE2LTA0LTA0IDEzOjQzOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJICBnbG1peGVyYmluOiBwcm94eSB0aGUgc3RhcnQtdGltZS0qIHByb3BlcnRpZXMgZnJvbSBhZ2dyZWdhdG9yCgoyMDE2LTA0LTA0IDExOjI4OjM1ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkgIGR0bHM6IFVzZSB1bmlxdWUgbmFtZXMgZm9yIGludGVybmFsIGVsZW1lbnRzIHRvIGVhc2UgZGVidWdnaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2NTEKCjIwMTYtMDQtMDMgMTc6NTY6MDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgZHVwbGljYXRlZCB0ZXN0IG9mIGZsb3dfcmV0dXJuIGluIHBhZF9jaGFpbl9pbnRlcm5hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NTQ5CgoyMDE2LTA0LTAzIDE4OjA2OjIwICswOTAwICBLb3VoZWkgU3V0b3UgPGtvdUBjbGVhci1jb2RlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgZGlyZWN0c291bmRzcmM6IGFkZCBtaXNzaW5nIC1sb2xlMzIKCSAgQ0xTSURGcm9tU3RyaW5nKCkgcmVxdWlyZXMgb2xlMzIuZGxsLgoJICBTZWUgaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2Rlc2t0b3AvbXM2ODA1ODklMjh2PXZzLjg1JTI5LmFzcHgKCSAgQ0xTSURGcm9tU3RyaW5nKCkgaXMgaW50cm9kdWNlZCBhdAoJICBmOTQ2NGNlMzU0OWMyYjM5NDhhNTgyNDY0NjMxYmE0ZjhkZDBkNWU3IC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDUyMwoKMjAxNi0wMy0zMSAxMToyMTozNSArMDIwMCAgQ2hyaXN0b2ZmZXIgU3RlbmdyZW4gPGNocmlzdHNuLmdzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICBnZHBkZXBheTogUXVlcnkgZm9yIGJ1ZmZlciBhbGxvY2F0b3IgYmVmb3JlIHVzaW5nIGRlZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDM2MQoKMjAxNi0wMy0yMiAxOToyNzozOSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFsbG93IGludGVybGFjZWQgc2luayBjYXBzLCBkbyBwYXNzdGhyb3VnaAoJICBBbGxvdyBpbnRlcmxhY2UgdG8gcmVjZWl2ZSBhbHJlYWR5IGludGVybGFjZWQgY29udGVudCwgaWYgY29tcGF0aWJsZSB3aXRoIGl0cwoJICBjb25maWd1cmF0aW9uLiBJbiB0aGF0IGNhc2UsIGl0IHdpbGwganVzdCBkbyBwYXNzdGhyb3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDAzNgoKMjAxNi0wNC0wMSAyMToyNDozNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJICBSRUFETUU6IHVwZGF0ZSB0byAxLjAgYW5kIGxpbHYKCjIwMTYtMDQtMDEgMTg6MzM6MTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJICBsdjJmaWx0ZXI6IHJlbW92ZSB0aGUgdmFyaWFibGUgZm9yIHRoZSByZWdpc3RyeSBrbGFzcyB0YWcKCSAgSnVzdCBwYXNzIHRoZSBzdHJpbmcgd2hlbiByZWdpc3RlcmluZy4KCjIwMTYtMDQtMDEgMTg6MzE6MzYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJICBsdjJmaWx0ZXI6IHJlbW92ZSBjb3B5IGFuZCBwYXN0ZSBvZiBkb2MgYmxvYgoJICBUaGlzIGRvYyBibG9jayBpcyBhbHJlYWR5IGluIGdzdGx2Mi5jLgoKMjAxNi0wNC0wMSAxMjo1OToxOSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IHNlZ21lbnRhdGlvbjogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBBZGQgbmFtZXNwYWNlIGJnc2VnbSwgcmVwbGFjZW1lbnQgZnVuY3Rpb25zIGFuZCBUZW1wbGF0ZSBjbGFzcyBmb3IgbmV3CgkgIE9wZW5DViB2ZXJzaW9ucyBiZWNhdXNlIHRoZXNlIGZ1bmN0aW9ucyBoYXZlIGJlZW4gcmVtb3ZlZC4gY3ZhcnJUb01hdCgpIGlzCgkgIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuQ1YgYW5kIHRoZSB1c2Ugb2YKCSAgY2xhc3MgTWF0IGNvbnN0cnVjdG9yIGlzIGVsaW1pbmF0ZWQsIGl0IGlzIGFsc28gZGVwcmVjYXRlZCBpbiAzLlggdmVyc2lvbnMuCgkgIFVzZSB0aGUgbmFtZXNwYWNlIGN2IGJlY2F1c2Ugc29tZSBmdW5jdGlvbnMgYXJlIGNhbGxlZCBtYW55IHRpbWVzLgoJICBUaGlzIHBhdGNoIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wNC0wMSAxNDoxMjowOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IHZwOTogbW92ZSBwZXJzaXN0ZW50IGZpZWxkcyBmcm9tIEdzdFZwOUZyYW1lSGRyIHRvIEdzdFZwOVBhcnNlcgoJICBUaGUgc3Vic2FtcGxpbmdfeCwgc3Vic2FtcGxpbmdfeSwgYml0X2RlcHRoLCBjb2xvcl9zcGFjZSBhbmQgY29sb3JfcmFuZ2UKCSAgZmlsZWRzIGFyZSBtb3ZlZCBmcm9tIEdzdFZwOUZyYW1lSGRyIHRvIHRoZSBnbG9iYWwgR3N0VnA5UGFyc2VyIHN0cnVjdHVyZS4KCSAgVGhlc2UgZmllbGRzIGFyZSBvbmx5IHByZXNlbnQgaW4ga2V5ZnJhbWUgb3IgaW50cmEtb25seSBmcmFtZSwgbm8gbmVlZCB0bwoJICBkdXBsaWNhdGUgdGhlbSBmb3IgaW50ZXItZnJhbWVzLiBUaGlzIGlzIGFuIEFCSSBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQzNzAKCjIwMTYtMDQtMDEgMTI6MDg6NTMgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiB0ZXh0b3ZlcmxheTogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBpbWdwcm9jX2MuaCBpcyBhZGRlZCBiZWNhdXNlIEN2Rm9udCBzdHJ1Y3QgbmVlZHMgaXQgaW4gYW55IDMueCB2ZXJzaW9uLgoJICBXZSB1c2UgdGhpcyBzdHJ1Y3R1cmUgaW4gR3N0T3BlbmN2VGV4dE92ZXJsYXkuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eQoJICB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wNC0wMSAxMTo1NjoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29uc3RyYWluZWQtYmFzZWxpbmUgaXMgYSBzdWJzZXQgb2YgYmFzZWxpbmUKCSAgV2UgZ2V0IGludG8gdGhpcyBjb2RlIHBhdGggaWYgdGhlIHByb2ZpbGUgaXMgYWxyZWFkeSBjb25zdHJhaW5lZC1iYXNlbGluZSBhbmQKCSAgZG93bnN0cmVhbSBkb2VzIG5vdCBzdXBwb3J0IGNvbnN0cmFpbmVkLWJhc2VsaW5lLiBTbyB3ZSBzaG91bGQgdHJ5IGJhc2VsaW5lCgkgIGFuZCB0aGUgb3RoZXIgY29tcGF0aWJsZSBwcm9maWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDQ0OAoKMjAxNi0wMy0yMiAwNzoxOTowMyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBlZ2xpbWFnZTogcGVyZm9ybSBlZ2xDcmVhdGVJbWFnZSBpbiB0aGUgZ2wgdGhyZWFkCgkgIHdoaWxlIGNhbGxpbmcgZWdsQ3JlYXRlSW1hZ2Ugd2l0aG91dCBhIEdMIGNvbnRleHQgY3VycmVudCBpbiB0aGUgZXhlY3V0aW5nCgkgIHRocmVhZCB3b3JrcyBvbiB0aGUgUlBpLCBzb21lIG90aGVyIGltcGxlbWVudGF0aW9ucyB3aWxsIHJldHVybiBlcnJvcnMuCgkgIE1hcnNoYWxsIHRoZSBlZ2xDcmVhdGVJbWFnZSB0byB0aGUgR0wgdGhyZWFkIHRvIGFwcGVhc2UgdGhlc2UgaW1wbGVtZW50YXRpb25zLgoKMjAxNi0wNC0wMSAxNDo1ODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogc3VwcG9ydCBvdXRwdXR0aW5nIHRvIG11bHRpcGxlIGRyYXcgYnVmZmVycyBvbiBHTEVTMwoJICBBIHNpbWlsYXIgY2hhbmdlIHRoYXQgd2FzIGRvbmUgdG8gZ2xjb2xvcmNvbnZlcnQgYWRkaW5nIHRoZSBuZWNlc3Nhcnkgc2hhZGVyCgkgIG1hbmdsaW5nLgoKMjAxNi0wMy0zMSAxOTo1MDoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBpbXBsZW1lbnQgbXVsdGlwbGUgcmVuZGVyIHRhcmdldHMgZm9yIEdMRVMzCgkgIFRoZXJlIGFyZSBudW1lcm91cyBzbGlnaHQgZGlmZmVyZW5jZXMgcmVxdWlyZWQgYmV0d2VlbiBEZXNrdG9wIEdMIGFuZCBHTEVTMyBmb3IKCSAgbXVsdGlwbGUgcmVuZGVyIHRhcmdldHMuCgkgIDEuIGdsX0ZyYWdEYXRhIGRvZXNuJ3QgZXhpc3QgYXQgYWxsIGFuZCBvbmUgaXMgcmVxdWlyZWQgdG8gdXNlCgkgICdsYXlvdXQgKGxvY2F0aW9uID0gPykgb3V0IC4uLicgaW5zdGVhZC4KCSAgMi4gZ2xfRnJhZ0NvbG9yIGRvZXNuJ3QgZXhpc3QsIHNhbWUgYXMgMQoJICAzLiB0ZXh0dXJlMkQoKSBoYXMgYmVlbiBkZXByZWNhdGVkCgkgIEZvcnR1bmF0ZWx5IG1vc3Qgb2YgdGhlc2UgaGF2ZSBiZWVuIHRha2VuIGNhcmUgb2Ygd2l0aCBHTDMgYW5kIHRoZSBzaGFkZXIKCSAgbWFuZ2xpbmcgYWxyZWFkeSBleGlzdHMgc28ganVzdCBleHBhbmQgdGhlIGNvbmRpdGlvbnMgdGhleSBhcmUgdXNlZCBpbi4gIFRoZQoJICBnbF9GcmFnRGF0YSBpc3N1ZSByZXF1aXJlcyBhIG5ldyBtYW5nbGUgcGFzcyB0aG91Z2guICBXZSBhbHNvIHVzZSB0aGlzIG5ldwoJICBwYXNzIG9uIGRlc2t0b3AgR0wgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNi0wMy0zMSAxODoyMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXNzZGVtdXguYzoKCSAgdGVzdHM6IG1zc2RlbXV4OiBkbyBub3QgdXNlIGdzdF9vYmplY3RfdW5yZWYgZm9yIHB1cmUgR09iamVjdCoKCSAgRGVhbGxvY2F0ZSBHT2JqZWN0KiB3aXRoIGdfb2JqZWN0X3VucmVmIGluc3RlYWQgb2YgZ3N0X29iamVjdF91bnJlZi4KCSAgRXZlbiBpZiBpdCB3b3JrcyBub3csIGl0IGlzIGNvbmZ1c2luZyBhbmQgaW4gdGhlIGZ1dHVyZSBpdCBtaWdodAoJICBub3Qgd29yayBpZiBhbnkgR3N0T2JqZWN0IHNwZWNpZmljcyBhcmUgYWRkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDIKCjIwMTYtMDItMTYgMTM6NTU6NTQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiB1c2UgZ19vYmplY3RfdW5yZWYgZm9yIHRlc3QgZGF0YQoJICBUaGUgR3N0RGFzaERlbXV4VGVzdENhc2Ugb2JqZWN0IGlzIGFsbG9jYXRlZCB1c2luZyBnX29iamVjdF9uZXd2CgkgIGJ1dCBpbiBtYW55IHBsYWNlcyB3YXMgYmVpbmcgZGVhbGxvY2F0ZWQgdXNpbmcgZ3N0X29iamVjdF91bnJlZi4KCSAgVGhpcyB3YXMgY2F1c2VkIGJ5IGNvbW1pdCBhZTNlZDI1MDI1ZTM0ZWE5YjA5ZGY1OWQyMmQ3ZWJkNzI5NDU2MGJjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQyCgoyMDE2LTAzLTMxIDE2OjA4OjEyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IGZ1bGx5IGNvbnN0cnVjdCBNb3Rpb25DZWxscwoJICBTb21lIG1lbWJlcnMgb2YgTW90aW9uQ2VsbHMgd2VyZSBub3QgYmVpbmcgaW5pdGlhbGl6ZWQgaW4gdGhlIGNvbnN0cnVjdG9yLgoJICBQcm90ZWN0IGZyb20gcG90ZW50aWFsIGdhcmJhZ2UgbWVtb3J5IHVzYWdlIGJ5IGZ1bGx5IGluaXRpYWxpemluZyBpdC4KCSAgTW92aW5nIG1fZnJhbWVTaXplIG91dCBvZiB0aGUgY2xhc3MgYmVjYXVzZSBpdCBpcyBvbmx5IHVzZWQgaW4KCSAgcGVyZm9ybURldGVjdGlvbk1vdGlvbkNlbGxzKCkuCgkgIENJRCAxMTk3NzA0CgoyMDE2LTA0LTAxIDAwOjIzOjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsL2J1aWxkOiBhZGQgbWlzc2luZyAnXCcgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSBpbiBNYWtlRmlsZS5hbQoJICBPdGhlcndpc2UgdGhlIGZvbGxvd2luZyBlbGVtZW50cyBhcmVuJ3QgaW5jbHVkZWQgaW4gdGhlIGNvcnJlY3QgdmFyaWFibGUuCgkgIEZpeGVzIGVycm9yIGluICdtYWtlIGRpc3RjaGVjaycgZmFpbGluZyB0byBmaW5kIGdzdGdsdGVzdHNyYy5oCgoyMDE2LTAzLTMxIDIzOjA3OjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2wvdGVzdHMvcGlwZWxpbmVzOiBhZGQgY3VzdG9tIF9DRkxBR1MgYW5kIExEQURECgkgIEFzIGlzIGRvbmUgZXZlcnl3aGVyZSBlbHNlLgoJICBGcm9tIHdoYXQgSSBjYW4gZ2F0aGVyIGZyb20gbWFrZSAtQyB0ZXN0cy9jaGVjayBWPTEgJChHU1RfUExVR0lOU19CQURfQ0ZMQUdTKSBpcwoJICByZXF1aXJlZCBpbiBvcmRlciB0byBmaW5kIGluLXRyZWUgaGVhZGVycyBhcyB3ZWxsIGFzIHNyY2RpciAhPSBidWlsZGRpcgoJICBjb25maWd1cmF0aW9ucy4KCjIwMTYtMDMtMzEgMjI6MjA6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC90ZXN0czogb25seSBidWlsZCB0aGUgc2ltcGxlLWxhdW5jaC1saW5lcyB0ZXN0IGlmIHdlIGhhdmUgR0wKCjIwMTYtMDMtMzEgMjA6MDA6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZG9uJ3QgdXNlIHRoZSBwcmVkZWZpbmVkIHZhcmlhYmxlIG5hbWUgc2FtcGxlCgkgIFVzaW5nICdzYW1wbGUnIGFzIGEgdmFyaWFibGUgbmFtZSBpcyBhbiBlcnJvciBpbiBHTEVTMwoKMjAxNi0wMy0yMiAyMzoxMDoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IGZpeCBzd2l0Y2h2aWRlb292ZXJsYXkgZm9yIHdheWxhbmQKCSAgYW5kIGNhbGwgWEluaXRUaHJlYWRzKCkgZm9yIFgxMQoKMjAxNi0wMy0yMSAxNToyNToyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9ndGt2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlczogcmVtb3ZlIGR1cGxpY2F0ZWQgdmlkZW9vdmVybGF5IGV4YW1wbGUKCSAgZmlsdGVydmlkZW9vdmVybGF5IHByb3ZlZCB0aGUgZXhhY3Qgc2FtZSBleGFtcGxlIChvbmx5IHdpdGggYSBleHRyYSBnbGZpbHRlcmN1YmUpLgoKMjAxNi0wMy0yMSAxNToyMzo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzLzNkOiBhZGRpdGlvbnMgZm9yIHdheWxhbmQgc3VwcG9ydAoKMjAxNi0wMy0xNyAyMzo1MTo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIGdsL3Rlc3RzOiBhZGQgbWlzc2luZyB0ZXN0IHRvIHRoZSBidWlsZCBzeXN0ZW0KCSAgQWxzbyB1cGRhdGUgaXQgZm9yIHRoZSBjdXJyZW50IGFwaQoKMjAxNi0wMy0xNyAyMzo1MDowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkgIGdsZGlmZmVyZW5jZW1hdHRlOiBwb3J0IHRvIGdsMy9nbGVzMgoKMjAxNi0wMi0yNiAyMDo1NTo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbHRlc3RzcmM6IHBvcnQgdG8gZ2xlczIvZ2wzCgkgIFRoaXMgbWFrZXMgZ2x0ZXN0c3JjIHdvcmsgZXZlcnl3aGVyZSBcby8KCSAgLSB3b3JrYXJvdW5kIFJQaSByZXR1cm5pbmcgaW52YWxpZCB2YWx1ZXMgZm9yIHBvc2l0aXZlIGNvb3JkcyBpbiB0aGUKCSAgY2hlY2tlciBzaGFkZXIKCSAgLSByZWR1Y2UgdGhlIG51bWJlciBvZiBpdGVyYXRpb25zIGluIHRoZSBtYW5kZWxicm90IHNoYWRlciBmb3IgZ2xlczIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTU0MAoKMjAxNi0wMi0yNiAxNjo1Nzo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IHBvcnQgc21wdGUgcGF0dGVybiB0byBzaGFkZXJzCgkgIExvb3NlbHkgYmFzZWQgb24gcGF0Y2ggYnkKCSAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTQwCgoyMDE2LTAyLTI2IDEyOjAyOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IHRoZSBjaXJjdWxhciBtZXRob2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTgwMQoKMjAxNi0wMi0yNSAyMToxODozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IGFkZCBhIGdlbmVyaWMgc3JjIGZyYW1ld29yawoJICBBbnkgdW5zdXBwb3J0ZWQgcGF0dGVybiAoY2lyY3VsYXIpIHJlc3VsdHMgaW4gYW4gZXJyb3IKCjIwMTYtMDItMjkgMjA6MTU6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0Lmg6CgkgIGdsc3Rlcm9zcGxpdDogcmVtb3ZlIGludGVybmFsIGdsdXBsb2FkL2dsY29sb3Jjb252ZXJ0CgkgIFRoZXkgYXJlIHByb3ZpZGVkIHNlcGFyYXRlbHkgYXMgZWxlbWVudHMgYW5kIG5vIG90aGVyIGVsZW1lbnQgY29udGFpbnMgdGhlCgkgIGludGVybmFsIHJlZmVyZW5jZXMgdG8gZ2x1cGxvYWQvZ2xjb2xvcmNvbnZlcnQuCgoyMDE2LTAzLTMxIDE5OjQzOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IEdMRVMzIGhlYWRlcnMKCSAgd2l0aCBhIGZhbGxiYWNrIHRvIEdMRVMyIGhlYWRlcnMgaWYgYXZhaWxhYmxlLgoKMjAxNi0wMy0zMSAxOTozODoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgY2hlY2tpbmcgdGhlIHJlYWQgaW1wbGVtZW50YXRpb24gZm9ybWF0L3R5cGUgb24gZ2xlczIgcGxhdGZvcm1zCgkgIEJ5IGRlZmF1bHQsIHJlYWRpbmcgR0xfUkVEIG9yIEdMX1JHIHVzIHVuc3VwcG9ydGVkIGJ5IGdsUmVhZFBpeGVscyB1bmxlc3MKCSAgZXhwb3NlZCB0aHJvdWdoIEdMX0NPTE9SX1JFQURfSU1QTEVNRU5UQVRJT05fRk9STUFUL1RZUEUuICBUaGlzIGFsbG93cwoJICBkb3dubG9hZGluZyBtdWx0aXBsZS1wbGFuYXIgdmlkZW8gZnJhbWVzIHdoZXJlIHBvc3NpYmxlLgoKMjAxNi0wMy0zMSAxOTozNTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IHJvbGxiYWNrIG1hcCBzdGF0ZSB3aGVuIHN1YmNsYXNzIG1hcCBmYWlscwoJICBPdGhlcndpc2Ugb3VyIHN0YXRlIGRvZXNuJ3QgcmVmbGVjdCByZWFsaXR5LgoKMjAxNi0wMy0zMSAxOTozMTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiB1bm1hcCBwYm8gbWVtb3J5IG9uIHBibyByZWFkIGVycm9yCgkgIE90aGVyd2lzZSB3ZSBhcmUgcmV0dXJuaW5nIGZhaWx1cmUgd2l0aCBhIGRhbmdsaW5nIG1hcCEKCSAgQWxzbyBvbmx5IHVuc2V0IHRoZSBORUVEX0RPV05MT0FEIGZsYWcgaW4gZG93bmxvYWRfdHJhbnNmZXIoKSBpZiB0aGUgcmVhZCBhY3R1YWxseQoJICBzdWNjZWVkcy4KCjIwMTYtMDMtMzEgMTk6MjU6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBhZGQgZ2xCaW5kRnJhZ0RhdGFMb2NhdGlvbgoJICBUaGVyZSBhcmUgc29tZSBjYXNlcyB3aGVyZSBpdCdzIG5lZWRlZCBmb3IgYmluZGluZyBpbi9vdXQgdmFyaWFibGVzIGluIHNoYWRlcnMuCgkgIGUuZy4gZ2xzbCAxNTAgKGdsIDMuMikgZG9lc24ndCBzdXBwb3J0IHRoZSAnbGF5b3V0IChsb2NhdGlvbiA9ID8pJyBzcGVjaWZpZXJzIGluCgkgIHRoZSBzaGFkZXIgc291cmNlIHNvIHdlIGhhdmUgdG8gYmluZCB0aGVtIG91cnNlbHZlcy4KCjIwMTYtMDMtMzEgMTI6MjA6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEhhbmRsZSBmaW5kX3N0cmVhbV9mb3JfcGFkKCkgd2l0aG91dCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIGlmIG5vIHBhZCBpcyBmb3VuZAoJICBIYXBwZW5zIGUuZy4gaWYgYSBSRUNPTkZJR1VSRSBldmVudCBpcyBzZW50IGZyb20gZG93bnN0cmVhbSB3aGlsZSB3ZSdyZQoJICBzd2l0Y2hpbmcgcGFkcyBhdCB0aGlzIHZlcnkgbW9tZW50LiBUaGUgb2xkIHBhZCBpcyBnb25lIGFuZCB0aGUgc3RyZWFtIGhhcyBhCgkgIG5ldyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ0MDQKCjIwMTYtMDMtMzEgMDE6MjE6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IHZlcnNpb24gNiBvZiB0aGUgU0RLCgkgIFdoaWxlIG1vc3RseSBBUEkgY29tcGF0aWJsZSwgdGhlIEFCSSBoYXMgY2hhbmdlZCBzbyBiaW5hcmllcyB3aWxsIG5vdCB3b3JrCgkgIGFjcm9zcyBoZWFkZXIgdmVyc2lvbnMgKGFuZCB1bHRpbWF0ZWx5IG52aWRpYSBkcml2ZXIgcmVsZWFzZXMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzI0CgoyMDE2LTAzLTMwIDIyOjM0OjU5ICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IHB5cmFtaWRzZWdtZW50OiBkZWxldGUgZWxlbWVudAoJICBjdlB5clNlZ21lbnRhdGlvbigpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gT3BlbkNWIDMuMCwgYW5kIHRoZXJlIGlzbid0IGFueQoJICBmdW5jdGlvbiB0byByZXBsYWNlIGl0LiBEZWxldGluZyB0aGlzIGVsZW1lbnQgc28gd2UgY2FuIHN1cHBvcnQgT3BlbkNWIDMuMQoJICB3aXRob3V0IGJ1aWxkIGlzc3Vlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yNiAxNjo1MjozNyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkgIG9wZW5jdjogZ3N0Y3ZzbW9vdGg6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgY3ZhcnJUb01hdCgpIGlzIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuY3YKCSAgYW5kIHRoZSB1c2UgdGhlIGNsYXNzIGNvbnN0cnVjdG9yIE1hdCBpcyBlbGltaW5hdGVkIGJlY2F1c2UgaXMgZGVwcmVjYXRlZAoJICBpbiAzLlggdmVyc2lvbnMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yNyAxMDowNToxMyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSAgb3BlbmN2OiBncmFiY3V0OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGN2YXJyVG9NYXQoKSBpcyBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbmN2CgkgIGFuZCB1c2luZyB0aGUgY2xhc3MgTWF0IGNvbnN0cnVjdG9yIGlzIGVsaW1pbmF0ZWQsIGJlY2F1c2UgaXMgZGVwcmVjYXRlZAoJICBpbiAzLlggdmVyc2lvbnMuIFRoZSB1c2UgdGhlIHVzaW5nIG5hbWVzcGFjZSBjdiBiZWNhdXNlIGlzIGNhbGxlZCBzb21lCgkgIGZ1bmN0aW9ucyBtYW55IHRpbWVzLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjcgMTU6Mzc6MzkgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBvcGVuY3Y6IGZhY2VibHVyOiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGN2YXJyVG9NYXQoKSBpcyBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbmN2CgkgIGFuZCB0aGUgdXNlIG9mIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBNYXQgaXMgZWxpbWluYXRlZCBiZWNhdXNlIGlzIGRlcHJlY2F0ZWQKCSAgaW4gMy5YIHZlcnNpb25zLiBJbmNsdWRlZCAndXNpbmcgbmFtZXNwYWNlIHN0ZCcgYmVjYXVzZSBpdCBpcyBuZWVkZWQgZm9yIHRoZQoJICBWZWN0b3IgY2xhc3MgaW4gMy5YIHZlcnNpb25zLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjcgMTU6NTE6MzcgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogaGFuZGRldGVjdDogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBjdmFyclRvTWF0KCkgaXMgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5jdgoJICBhbmQgdGhlIHVzZSBvZiB0aGUgY2xhc3MgY29uc3RydWN0b3IgTWF0IGlzIGVsaW1pbmF0ZWQgYmVjYXVzZSBpcyBkZXByZWNhdGVkCgkgIGluIDMuWCB2ZXJzaW9ucy4gSW5jbHVkZWQgJ3VzaW5nIG5hbWVzcGFjZSBzdGQnIGJlY2F1c2UgaXQgaXMgbmVlZGVkIGZvciB0aGUKCSAgdmVjdG9yIGNsYXNzIGluIDMuWCB2ZXJzaW9ucy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI3IDE2OjUxOjEzICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJICBvcGVuY3Y6IHJldGluZXg6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgY3ZhcnJUb01hdCgpIGlzIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuY3YKCSAgYW5kIHVzaW5nIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBNYXQgaXMgZWxpbWluYXRlZCBiZWNhdXNlIGlzIGRlcHJlY2F0ZWQKCSAgaW4gMy5YIHZlcnNpb25zLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjggMTY6MTk6NDYgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSAgb3BlbmN2OiBkaXNwYXJpdHk6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgJ01FVEhPRF9WQVInLCAnTUVUSE9EX0dDJyBpcyByZW1vdmVkIGJlY2F1c2UgdGhlcmUgYXJlbid0IGVxdWl2YWxlbnQgZnVuY3Rpb25zCgkgIGluIG5ldyBPcGVuQ1YgdmVyc2lvbnMuICdpbWdfcmlnaHRfYXNfY3ZNYXRfcmdiJywgJ2ltZ19sZWZ0X2FzX2N2TWF0X3JnYicgYW5kCgkgICdkZXB0aF9tYXBfYXNfY3ZNYXQyJyB2YXJpYWJsZXMgaXMgcmVtb3ZlZCBiZWNhdXNlIHRoZXNlIGFyZW4ndCB1c2VkLgoJICBjdmFyclRvTWF0KCkgaXMgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5jdgoJICBhbmQgdXNpbmcgdGhlIGNsYXNzIE1hdCBjb25zdHJ1Y3RvciBpcyBlbGltaW5hdGVkLCBiZWNhdXNlIGlzIGRlcHJlY2F0ZWQKCSAgaW4gMy5YIHZlcnNpb25zLiBUaGUgdXNlICd1c2luZyBuYW1lc3BhY2UgY3YnIGJlY2F1c2UgaXMgY2FsbGVkIHNvbWUKCSAgZnVuY3Rpb25zIG1hbnkgdGltZXMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMi0wMSAxMzo1ODo0OSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBza2luZGV0ZWN0OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGN2Q1ZQaXhUb1BsYW5lKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBPcGVuQ1YgMy4wLCBhbmQgdGhlcmUgaXMKCSAgZnVuY3Rpb24gdG8gcmVwbGFjZSBpdCBjdlNwbGl0KCkuIFRoZSBpbmNsdWRlIGNvbXBhdC5ocHAgaXMgZGVsZXRlZCBiZWNhdXNlCgkgIGluIDMuWCB2ZXJzaW9ucyBkb2VuJ3QgZXhpc3QgYW5kIGl0IGlzbid0IG5lY2Vzc2FyeSBmb3IgMi40LlggdmVyc2lvbnMKCSAgaW4gdGhpcyBlbGVtZW50LiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjggMTc6NDA6NTEgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jcHA6CgkgIG9wZW5jdjogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMSBPcGVuQ1YKCSAgY29uZmlndXJlLmFjIHdhcyBjaGFuZ2VkIHRvIHdvcmsgd2l0aCBuZXcgdmVyc2lvbnMgb2YgT3BlbkNWIDMuWC4KCSAgQSBuZXcgaW5jbHVkZSBpcyBhZGRlZCBnc3RvcGVuY3Z1dGlscy5jcHAgYmVjYXVzZSBpdCBjb250YWlucwoJICB0aGUgcHJldmlvdXMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMy0zMCAxMDozNDowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoY3NyYzogVGhlcmUncyBubyBwb2ludCBpbiByZWFkLW9ubHkgQ09OU1RSVUNUIHByb3BlcnRpZXMKCSAgQW5kIGNyZWF0aW5nIG9uZSBpcyBjYXVzaW5nIGFzc2VydGlvbnMuIEFsc28gZ2V0IHJpZCBvZiB0aGUgb3RoZXIgQ09OU1RSVUNUCgkgIHByb3BlcnR5IGFzIGl0J3MgYSkgdW5uZWVkZWQgZm9yIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gYW5kIGIpIHlvdSdyZSBub3QKCSAgc3VwcG9zZWQgdG8gdXNlIGNvbnN0cnVjdG9yIHByb3BlcnRpZXMgd2hlbiBjcmVhdGluZyBlbGVtZW50IGluc3RhbmNlcyBhbmQgdGhlCgkgIEdTdHJlYW1lciBBUEkgZG9lc24ndCBwcm92aWRlIGRpcmVjdCB3YXlzIGZvciBkb2luZyBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDMzOQoKMjAxNi0wMy0wNyAxNDo1NzozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4ZGVjOiBTaW1wbGlmeSBuZWdvdGlhdGlvbiBjb2RlCgkgIE5vIG5lZWQgdG8gdXNlIGEgd2hpbGUoKSBsb29wIGlmIHdlJ3JlIGdvaW5nIG9ubHkgZ29pbmcgdG8gdXNlCgkgIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgb2YgdGhlIGNhcHMgLi4uCgkgIENJRCAjMTM0MTc0OAoKMjAxNi0wMy0yOCAxMzo1MjowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggbGVhayBpbiB1bml0IHRlc3QKCSAgR1NUX1BBRF9QUk9CRV9IQU5ETEVEIG1lYW5zIHRoYXQgd2Ugc2hvdWxkJ3ZlIHVucmVmZmVkIHRoZSBwcm9iZSBkYXRhLAoJICBpdCB3YXMgaGFuZGxlZCBieSB1cyBpbiBvbmUgd2F5IG9yIGFub3RoZXIuCgoyMDE2LTAzLTI4IDA4OjQ2OjEwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgc29tZSBtb3JlIHRlc3QgdGVtcG9yYXJ5IGZpbGVzCgoyMDE2LTAzLTI4IDA4OjQ1OjQ1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzL2NvbXBvc2l0b3I6IEFkZCB0ZXN0IGZvciBhZ2dyZWdhdG9yIHBhZCBudW1iZXJpbmcKCSAgVGVzdHMgdGhhdCB0aGUgYmVoYXZpb3VyIGluIDdhNWNiNWE0NzMgaXMgYmVpbmcgY29uZm9ybWVkIHRvLgoKMjAxNi0wMy0yNyAxOTowNjo1MCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggc3RyY21wIHRlc3QgZm9yIHNpbmsgdGVtcGxhdGUKCjIwMTYtMDMtMjcgMTg6NDE6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgdHJ5IHRvIGJlIHRvbyBzbWFydCB3aGlsZSBhbGxvY2F0aW5nIHBhZCBuYW1lcwoJICBQcmV2aW91c2x5LCB3aGlsZSBhbGxvY2F0aW5nIHRoZSBwYWQgbnVtYmVyIGZvciBhIG5ldyBwYWQsIGFnZ3JlZ2F0b3Igd2FzCgkgIG1haW50YWluaW5nIGFuIGludGVyZXN0aW5nIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBwYWQgY291bnQgYW5kIHRoZSBwYWQKCSAgbnVtYmVyLgoJICBJZiB5b3UgcmVxdWVzdGVkIGEgc2luayBwYWQgY2FsbGVkICJzaW5rXzYiLCBwYWRjb3VudCAod2hpY2ggaXMgYmFkbHkgbmFtZWQgYW5kCgkgIGFjdHVhbGx5IG1lYW5zIG51bWJlci1vZi1wYWRzLW1pbnVzLW9uZSkgd291bGQgYmUgc2V0IHRvIDYuIFdoaWNoIG1lYW5zIHRoYXQgaWYKCSAgeW91IHRoZW4gcmVxdWVzdGVkIGEgc2luayBwYWQgY2FsbGVkICJzaW5rXzAiLCBpdCB3b3VsZCBiZSBhc3NpZ25lZCB0aGUgbmFtZQoJICAic2lua182IiBhZ2Fpbiwgd2hpY2ggZmFpbHMgdGhlIG5vbi11bmlxdWVuZXNzIHRlc3QgaW5zaWRlIGdzdGVsZW1lbnQuYy4KCSAgVGhpcyBjYW4gYmUgZml4ZWQgYnkgaW5zdGVhZCBzZXR0aW5nIHBhZGNvdW50IHRvIGJlIDcgaW4gdGhhdCBjYXNlLCBidXQgdGhpcwoJICBicmVha3MgbWFudWFsIG1hbmFnZW1lbnQgb2YgcGFkIG5hbWVzIGJ5IHRoZSBhcHBsaWNhdGlvbiBzaW5jZSBpdCB0aGVuIGJlY29tZXMKCSAgaW1wb3NzaWJsZSB0byByZXF1ZXN0IGEgcGFkIGNhbGxlZCAic2lua18yIi4gSW5zdGVhZCwgd2UgZml4IHRoaXMgYnkgYWx3YXlzCgkgIGRpcmVjdGx5IHVzaW5nIHRoZSByZXF1ZXN0ZWQgbmFtZSBhcyB0aGUgc2luayBwYWQgbmFtZS4gVW5pcXVlbmVzcyBvZiB0aGUgcGFkCgkgIG5hbWUgaXMgdGVzdGVkIHNlcGFyYXRlbHkgaW5zaWRlIGdzdHJlYW1lciBjb3JlLiBJZiBubyBuYW1lIGlzIHJlcXVlc3RlZCwgd2UgdXNlCgkgIHRoZSBuZXh0IGF2YWlsYWJsZSBwYWQgbnVtYmVyLgoJICBOb3RlIHRoYXQgdGhpcyBpcyBpbXBvcnRhbnQgc2luY2UgdGhlIHNpbmtwYWQgbnVtYmVyaW5nIGluIGFnZ3JlZ2F0b3IgaXMgbm90CgkgIG1lYW5pbmdsZXNzLiBWaWRlb2FnZ3JlZ2F0b3IgdXNlcyBpdCB0byBkZWNpZGUgdGhlIFotb3JkZXIgb2YgdmlkZW8gZnJhbWVzLgoKMjAxNi0wMi0yMyAxNToxMTozNiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJICBsdjI6IFBvcnQgZmlsdGVycyB0byBHU3RyZWFtZXIgMS4wIGFuZCB1c2UgbGlsdiBpbnN0ZWFkIG9mIHNsdjIKCSAgUHJvcGVybHkgc2VwYXJhdGUgZmlsZXMgYXMgd2Ugd2lsbCBub3QgaGF2ZSBvbmx5IG9uZSBzaW5nbGUgYmFzZSBjbGFzcwoJICBmb3IgYWxsIGVsZW1lbnRzIGFzIHdlIHVzZWQgdG8gd2l0aCAwLjEwLCBidXQgdGhlIHNhbWUgd2F5IGl0IGlzIGRvbmUKCSAgd2l0aCBsYWRzcGEsIHdlIHN1YmNsYXNzIEdzdEF1ZGlvRmlsdGVyLCBHc3RCYXNlU291cmNlIGV0Yy4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MjA3CgoyMDE2LTAzLTI3IDE0OjI5OjU4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogRml4IGxvZ2dpbmcgaW4gYmFzZSB3aWRnZXQgYW5kIGZpeCBkZXNjIG9mIEdMIHNpbmsKCSAgU2V0IGEgZGVmYXVsdCBjYXRlZ29yeSBmb3IgZ3RrZ3N0YmFzZXdpZGdldCBsZXN0IHRoZSBsb2dnaW5nIGdvIHRvIHRoZSAnZGVmYXVsdCcKCSAgY2F0ZWdvcnkgd2hlcmUgaXQgY2FuJ3QgYmUgZm91bmQgZWFzaWx5CgoyMDE2LTAzLTI3IDAzOjExOjQ1ICswMjAwICBZYW5uIEpvdWFuaW4gPHlqb0B3aXRiZS5uZXQ+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYyBwbHVnaW4gOiBhZGQgdGltZW91dCBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDI1MQoKMjAxNi0wMy0xOCAxMzozNTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogSW5zdGVhZCBvZiByZWxlYXNpbmcgcmVxdWVzdCBwYWRzIG9uIHN0b3AoKSwgY2xlYXIgdGhlbSBvbmx5CgkgIFJlcXVlc3QgcGFkcyBhcmUgcmVxdWVzdGVkIGJ5IGFwcGxpY2F0aW9ucyBhbmQgYXMgc3VjaCBzaG91bGQgb25seSBiZSByZWxlYXNlZAoJICBieSB0aGVtIGFnYWluLiBJbnN0ZWFkIG9mIHJlbGVhc2luZyB0aGVtIHdoZW4gc3RvcHBpbmcgdGhlIG11eGVyLCBqdXN0IGNsZWFyCgkgIHRoZWlyIHN0YXRlIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCBhZ2FpbiB3aGVuIHN0YXJ0aW5nIHRoZSBtdXhlciBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzg2MgoKMjAxNi0wMy0wNSAwOTo0NzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8tcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogQWRkIGlzX2xpdmUgZmxhZyB0byB0aGUgR3N0UGxheWVyTWVkaWFJbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMxMjYKCjIwMTYtMDItMjkgMTE6Mzk6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSogZ3N0L3NkcC9nc3RzZHBzcmMuYzoKCSogZ3N0L3NkcC9nc3RzZHBzcmMuaDoKCSAgc2RwOiBBZGQgbmV3IHNkcHNyYyBlbGVtZW50CgkgIFRoaXMgY2FuIHJlYWQgZnJvbSBhbiBTRFAgZmlsZSBvciBnZXQgdGhlIFNEUCBkYXRhIHZpYSBwcm9wZXJ0eS4gV29ya3MKCSAgYXJvdW5kIHRoZSBwcm9ibGVtIHRoYXQgc2RwZGVtdXggaW5zaWRlIGRlY29kZWJpbiBmYWlscyBiZWNhdXNlIHRoZQoJICBHU1RfU1RBVEVfQ0hBTkdFX05PX1BSRVJPTEwgaXMgbm90IG9ic2VydmVkIGJ5IHRoZSBwaXBlbGluZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg2MAoKMjAxNi0wMy0yNSAxNzo0OToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGsvZ2w6IGRvbid0IGFzc2VydCB3aGVuIGdkayBkb2Vzbid0IHByb3ZpZGUgYSBHTCBjb250ZXh0CgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gY2hlY2sgd2hldGhlciBndGtnbHNpbmsgaXMgc3VwcG9ydGVkIGJ5IHNldHRpbmcKCSAgdGhlIGVsZW1lbnQgdG8gUkVBRFkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQxNDgKCjIwMTYtMDMtMDcgMTk6NDE6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IHBsdWcgRUlUIHN0cmluZyBsZWFrCgoyMDE2LTAzLTA3IDE5OjA2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogdW5yZWYgcGF0IHRhYmxlIGFmdGVyIHVzYWdlCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBHUHRyQXJyYXkgb2YgdGhlIFBBVCB0YWJsZSBhZnRlcgoJICB1c2UKCjIwMTYtMDMtMDQgMjA6MDU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBwbHVnIHNvbWUgbGVha3MKCSAgUGx1ZyB2YXJpb3VzIGxlYWtzIGluIGR2YmJhc2ViaW4uCgoyMDE2LTAzLTAzIDExOjMxOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBzaW1wbGlmeSB2YXJpYWJsZSByZXNldAoJICBKdXN0IHNldCBpdCBkaXJlY3RseSB0byAwLCBpbnN0ZWFkIG9mIGNoZWNraW5nIGFuZCByZXNldGluZwoKMjAxNi0wMy0wMSAxODoyMToxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBwcmludCB0aW1lIGluIHNhbWUgZm9ybWF0CgkgIE1ha2VzIGl0IGVhc2llciB0byBjb21wYXJlCgoyMDE2LTAzLTE1IDE2OjIyOjU5IC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoYzogdXNlIGdfc2xpY2VfbmV3IGluc3RlYWQgb2YgZ19zbGljZV9uZXcwCgkgIEluIG1hbnkgY2FzZXMsIHdlIHVzZSBnX3NsaWNlX25ldzAgYW5kIHRoZW4gaW1tZWRpYXRlbHkgb3ZlcndyaXRlIHRoZQoJICBhbGxvY2F0ZWQgbWVtb3J5LiBUaGlzIGlzIGluZWZmaWNpZW50LiBTaW5jZSB3ZSdyZSBnb2luZyB0byBpbW1lZGlhdGVseQoJICBvdmVyd3JpdGUgaXQsIHdlIG1pZ2h0IGFzIHdlbGwgdXNlIHBsYWluIGdfc2xpY2VfbmV3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTk4CgoyMDE2LTAzLTEwIDA4OjUwOjI4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBwb3N0IG1lc3NhZ2UgdG8gYXBwbGljYXRpb24gZm9yIHVuaGFuZGxlZCBrZXlib2FyZC9tb3VzZSBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQwMwoKMjAxNi0wMy0xMCAwODo0OTowMSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBwb3N0IG1lc3NhZ2UgdG8gYXBwbGljYXRpb24gZm9yIHVuaGFuZGxlZCBrZXlib2FyZC9tb3VzZSBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQwMwoKMjAxNi0wMy0xMCAwODo0NDo1NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrYmFzZXNpbms6IHBvc3QgbWVzc2FnZSB0byBhcHBsaWNhdGlvbiBmb3IgdW5oYW5kbGVkIGtleWJvYXJkL21vdXNlIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAzCgoyMDE2LTAzLTAzIDIwOjEwOjE2ICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5oOgoJICBhaGNzcmM6IHJlbW92ZSBwcm9iZV9wcm9wZXJ0aWVzCgkgIEl0J3MgYSByZXNpZHVlIG9mIDAuMTAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMxMDAKCjIwMTYtMDMtMDQgMTU6NTA6MjYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdGR0bWZkZXRlY3QuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3R0b25lZ2VuZXJhdGVzcmMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RlcnJvcmlnbm9yZS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZwYXJzZS5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlOgoJICBiYWQ6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDgxCgoyMDE2LTAzLTA3IDE3OjIzOjIzIC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogZWxpbWluYXRlIEFIQypfQ0FMTCBtYWNyb3MKCSAgQ3VycmVudGx5LCB3ZSB1c2UgQUhDKl9DQUxMIG1hY3JvcyB0byBjYWxsIG1hbnkgb2YgdGhlIENhbWVyYSBmdW5jdGlvbnMuCgkgIEhvd2V2ZXIsIHdlIGFscmVhZHkgaGF2ZSBoZWxwZXIgY2xhc3NlcyB0byBjYWxsIHRoZSBDYW1lcmEgZnVuY3Rpb25zLCBzbwoJICBlbGltaW5hdGUgdGhlIG1hY3Jvcy4KCSAgQXMgYSBuaWNlIHNpZGUtYmVuZWZpdCwgd2UgYWxzbyBnZXQgaW1wcm92ZWQgZXJyb3IgaGFuZGxpbmcgYW5kCgkgIHJlcG9ydGluZyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nIGNhbGxpbmcgdGhlc2UgZnVuY3Rpb25zLCBiZWNhdXNlIGEKCSAgR0Vycm9yIGdldHMgcG9wdWxhdGVkLCBhbmQgd2UgbG9nIGEgR1NUX0VSUk9SIHdoZW4gc29tZXRoaW5nIGZhaWxzLiBUaGlzCgkgIHdhcyBoYXJkZXIgdG8gZG8gdXNpbmcgbWFjcm9zLCBhcyBhbGwgZXJyb3IgaGFuZGxpbmcgd2FzIGhpZGRlbiBmcm9tIHRoZQoJICBjYWxsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDItMTggMTE6Mjk6MDYgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiB1c2UgZ3N0IHVucmVmIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAyLTE4IDE0OjA4OjEzIC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogdXNlIGdzdCBuZXcgb2JqZWN0IGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAzLTE3IDEzOjQ0OjEzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IG5lZ290aWF0aW9uIHdpdGggZml4ZWQgZnJhbWVyYXRlIGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjkyNAoKMjAxNi0wMy0yNCAxNDowODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIGdsL2d0azogRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gZXhhbXBsZQoJICBmeHRlc3QuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKCSAgZnh0ZXN0LmM6MTkwOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlIFstV2Vycm9yPWRlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudF0KCSAgR3RrV2lkZ2V0ICp3aW5kb3c7CgkgIF5+fn5+fn5+fgoKMjAxNi0wMy0yNCAxMzozMzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS44LjAgPT09CgoyMDE2LTAzLTI0IDEyOjMzOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOC4wCgoyMDE2LTAzLTI0IDEyOjA1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMjMgMTM6NDM6NDYgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IE1pbm9yIHN0cmluZyBmaXgKCjIwMTYtMDMtMjMgMjI6MTM6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IFZLX0FQSV9WRVJTSU9OIGhhcyBiZWVuIHJlbW92ZWQKCSAgSW4gYSBzdGFibGUgcmVsZWFzZSB0b28sIG5hdWdodHkuCgkgIFVzZSBWS19BUElfVkVSU0lPTl8xXzAgaW5zdGVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MDY2CgoyMDE2LTAzLTIyIDA3OjIwOjU5ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2wvcHJvdG86IHN5bmMgb3BlcmF0aW9ucyBhcmUgYXZhaWxhYmxlIG9uIEdMRVMgMy4wCgkgIFdpdGhvdXQgdGhlIEdTVF9HTF9BUElfR0xFUzIgYml0IHNldCwgd2Ugd2lsbCBub3QgZXZlbiBhdHRlbXB0IHRvIGxvb2sKCSAgZm9yIHRoZSBmdW5jdGlvbiBwb2ludGVycyBpbiB0aGUgY29yZSBsaWJyYXJ5IGFuZCB3aWxsIGZhbGxiYWNrIHRvCgkgIGdsRmx1c2gvZ2xGaW5pc2guCgoyMDE2LTAzLTIyIDA3OjE2OjM0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL2J1aWxkOiBhZGQgR1NUX0dMX0hBVkVfRE1BQlVGIHRvIGdzdGdsY29uZmlnLmgKCSAgaXQncyBleHBvc2VkIGluIHB1YmxpYyBBUEkgc28gaGlkaW5nIGl0IGluIGFuIEFDX0RFRklORSBmb3IgY29uZmlnLmggb25seQoJICB3b3JrcyB3aGVuIGJ1aWxkaW5nIGxpYmdzdGdsIGl0c2VsZi4gIEF0dGVtcHRpbmcgdG8gdXNlIGxpYmdzdGdsIChlc3BlY2lhbGx5CgkgIG9uIGVnbCBwbGF0Zm9ybXMpIHdpbGwgdGhyb3cgYSBjb21waWxhdGlvbiBlcnJvci4KCjIwMTYtMDMtMjEgMTU6MjI6MTUgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBxdWVyeSBtZW1vcnkgbGVhawoJICBQZWVyIHF1ZXJ5IGlzbid0IGJlaW5nIGZyZWVkIGluIGNhc2Ugb2YgR1NUX1FVRVJZX1NFRUtJTkcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NzQKCjIwMTYtMDMtMTggMTk6NDU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJICB2dWxrYW46IFNoaXAgbWlzc2luZyBoZWFkZXJzIHdpdGggdGFyYmFsbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzg3NwoKMjAxNi0wMy0xNyAxOToyNDozMiArMDAwMCAgQWxla3NhbmRlciBXYWJpayA8YXdhYmlrQG9wZXJhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjRwYXJzZSwgaDI2NXBhcnNlOiBmaXggaGFuZGxpbmcgb2YgZG93bnN0cmVhbSBmb3JjZS1rZXktdW5pdCBldmVudHMKCSAgVGhlIHBhcnNlciBoYW5kbGVzIHRoZSBkb3duc3RyZWFtIGZvcmNlLWtleS11bml0IGV2ZW50IGluY29ycmVjdGx5LAoJICBpdCB0cmllcyB0byBwYXJzZSBpdCBhcyBhbiB1cHN0cmVhbSBmb3JjZS1rZXktdW5pdCBldmVudCwgZG9lcyBub3QKCSAgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSwgYW5kIHRoZW4gdXNlcyB1bmluaXRpYWxpemVkIG1lbW9yeSBpbgoJICAiYWxsX2hlYWRlcnMiIGJvb2xlYW4gdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3OTMKCjIwMTYtMDMtMTcgMjI6NDM6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdW5zZXQgR0xfVU5QQUNLX1JPV19MRU5HVEggaW4gb3BlbmdsMwoJICBJZiB0aGUgdXNlciB1cGxvYWRzIHRoZWlyIG93biB0ZXh0dXJlIHdpdGhvdXQgc2V0dGluZyB0aGUgdW5wYWNrIGxlbmd0aCwgdGhlbgoJICB0aGVuIHRoZSByZXN1bHQgd2lsbCBoYXZlIHRoZSBhcHBlYXJhbmNlIG9mIHN0cmlkZSBtaXNtYW5hZ2VtZW50IGR1ZSB0bwoJICBhbiBpbmNvcnJlY3Qgcm93IGxlbmd0aC4KCjIwMTYtMDMtMTcgMTY6MzQ6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL3F0OiByZXN0cmljdCB0aGUgR0wgQVBJIHRvIG9wZW5nbCB3aGVyZSBuZWVkZWQKCSAgVW50aWwgdGhlIGV4YW1wbGVzIGFyZSBwb3J0ZWQgdG8gb3BlbmdsMy9nbGVzMiwgdGhleSB3aWxsIG5vdCB3b3JrIHdpdGggYW55CgkgIG90aGVyIEdMIGFwaS4KCjIwMTYtMDMtMTcgMTY6MzE6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlcy9ndGs6IGNhbGwgWEluaXRUaHJlYWRzCgkgIEZpeGVzIHNvbWUgc3BvcmFkaWMgWDExIHRocmVhZGluZyBhc3NlcnRpb25zLgoKMjAxNi0wMy0xNyAwMzowNjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2x1dGlsczogcmVtb3ZlIGN1c3RvbSBjb2RlIGZvciBzZXR0aW5nIGNhcHMgZmVhdHVyZXMKCSAgSnVzdCB1c2UgZ3N0X2NhcHNfc2V0X2ZlYXR1cmVzKCkgaW5zdGVhZC4KCjIwMTYtMDMtMTcgMDE6NTI6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogb25seSBhbGxvdyB0aGUgc2FtZSBzcmMvc2luayBjYXBzIHdoZW4gd2UgYXJlIGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgSWYgd2UgYXJlIGdpdmVuIGNhcHMgd2l0aCBleHRyYSBmZWF0dXJlcyAobGlrZSB0aGUgb3ZlcmxheSBjb21wb3NpdGlvbgoJICBmZWF0dXJlcyksIHdlIGNhbiBvbmx5IGRlYWwgd2l0aCB0aGF0IHdoZW4gd2UgYXJlIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSBiYWlsaW5nIGVudGlyZWx5IGFuZCBub3QgYWxsb3dpbmcgcGFzc3Rocm91Z2ggZmlsdGVyIGVsZW1lbnRzCgkgIHdpdGggdGhpbmdzIGxpa2UgdGV4dG92ZXJsYXkuCgkgIEZpeGVzIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgKGFzc3VtaW5nIGdsZmlsdGVyIHN1cHBvcnRzIHBhc3N0aHJvdWdoKToKCSAgZ2wgISB0ZXh0b3ZlcmxheSAhIGdsZmlsdGVyICEgLi4uICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3NTYKCjIwMTYtMDMtMTYgMjI6NDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZGVhbCB3aXRoIHRoZSBBTlkgY2FwcyBmZWF0dXJlIGNvcnJlY3RseQoJICBXaGVuIHRyYW5zZm9ybWluZywgeHBsb2RlIGl0IG91dCBpbnRvIHRoZSBuZWNlc3NhcnkgY2FwcyBmZWF0dXJlcyBib3RoCgkgIHdpdGggYW5kIHdpdGhvdXQgdGhlIHBhc3N0aG91Z2ggZmVhdHVyZXMuCgkgIEZpeGVzIG5lZ290aWF0aW9uIGluIHRoZSBmb2xsb3dpbmcgY2xhc3Mgb2YgcGlwZWxpbmVzOgoJICBnbCAhIHRleHRvdmVybGF5ICEgZ2x1cGxvYWQgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzc1NgoKMjAxNi0wMy0xNiAyMjoxOToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmQ6IGZpeCBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb24gZXJyb3IKCSAgZ25vbWUtc2hlbGwgZG9lc24ndCB0aGUgc3VwcG9ydCB3bF9zY2FsZXIgaW50ZXJmYWNlIHdoaWNoIG1ha2VzIGNyZWF0aW5nIGEKCSAgd2F5bGFuZCBkaXNwbGF5IGZhaWwgY3JlYXRpb24uCgkgIEZvdW5kIGluIHRoZSBnZW5lcmljIHN0YXRlIGNoYW5nZXMgdGVzdAoKMjAxNi0wMy0xNiAyMjoxNjozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkgIGdsc3RlcmVve21peCxzcGxpdH06IGFsbG93IHJ1bm5pbmcgb24gR0xFUyAyLzMKCSAgSXQncyBtb3N0bHkgc3VwcG9ydGVkIGZvciBHTEVTIDIueCwgZnVsbHkgc3VwcG9ydGVkIG9uIEdMRVMgMy54CgoyMDE2LTAzLTE2IDEyOjAzOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IFdhcm4gaWYgdGhlIHBvc2l0aW9uIHJlcG9ydGVkIGJ5IE9wZW5TTCBpcyBoaWdoZXIgdGhhbiB3aGF0IHdlIHF1ZXVlZCB1cCBzbyBmYXIKCSAgVGhpcyB3b3VsZCBoaW50IGF0IHdyb25nIHBvc2l0aW9uIHJlcG9ydGluZywgYW5kIGFwcGFyZW50bHkgc29tZXRpbWVzIGhhcHBlbnMKCSAgYWZ0ZXIgYSBzZWVrLgoKMjAxNi0wMy0xNiAxMTozNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgbXhmbXV4OiBGaXggdHlwbyBpbiBKUEVHMjAwMCBjb2xvcnNwYWNlCgkgIHNSR0MgLT4gc1JHQgoKPT09IHJlbGVhc2UgMS43LjkxID09PQoKMjAxNi0wMy0xNSAxMjoxMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuOTEKCjIwMTYtMDMtMTUgMTE6NTY6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0xMiAxNTo0NDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZCB2aWRlby94LWgyNjUgdG8gdGVtcGxhdGUgY2FwcwoKMjAxNi0wMy0xMiAwMzowMDoxNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IERvbid0IGxlYXZlIGZyZWVkIHByb2dyYW1zIGluIHRoZSBoYXNoIHRhYmxlCgkgIFdoZW4gdGhlIHN1Yi1jbGFzcyBjbGFpbXMgYSBwcm9ncmFtIGZvciBsYXRlciBmcmVlaW5nLCBtYWtlCgkgIHN1cmUgaXQncyBub3QgbGVmdCBpbiB0aGUgaGFzaCB0YWJsZSwgb3IgaXQgY2FuIGNhdXNlIGNyYXNoZXMgb24gc2h1dGRvd24uCgkgIE1ha2Ugc3VyZSB0c2RlbXV4IGZyZWVzIGFueSBwcm9ncmFtIGl0IGhhcyBrZXB0IGFyb3VuZCBhdCBzaHV0ZG93bgoJICBpZiBpdCB3YXNuJ3QgZnJlZWQgYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUwMwoKMjAxNi0wMy0xMSAxNzozNDowMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY1OiBGaXggc2VnZmF1bHQgd2hpbGUgdHJhbnNmb3JtaW5nIGhldmMgdG8gbmFsIGFsaWduZWQgYnl0ZXN0cmVhbQoJICBDcmVhdGUgdGVtcG9yYXJ5IFBhcnNlRnJhbWUgYW5kIGNvcHkgdGhlIG5hbCBzaXplIGJ1ZmZlciByZWdpb24KCSAgZm9yIGVhY2ggbmFsIHVuaXQgbGlrZSB3ZSBkaWQgZm9yIGgyNjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0OTQKCjIwMTYtMDMtMTEgMTA6MDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWM6IENvcnJlY3RseSBoYW5kbGUgTlVMTCBpbnB1dCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0MDEKCjIwMTYtMDMtMTEgMTA6MDA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFtY3ZpZGVvZGVjOiBnZXRPdXRwdXRCdWZmZXJzKCkgcmV0dXJucyBhIE5VTEwgYXJyYXkgd2hlbiBhIHN1cmZhY2Ugd2FzIGNvbmZpZ3VyZWQKCSAgU28gZG9uJ3QgZXJyb3Igb3V0IGlmIGl0IGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0MDEKCjIwMTYtMDMtMTEgMDE6NDA6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBnbGVmZmVjdHM7IGdpdmUgZWFjaCBlZmZlY3QgYSB1bmlxdWUgbG9uZyBuYW1lIGFuZCBkZXNjcmlwdGlvbgoJICBHaXZlcyBhcHBsaWNhdGlvbnMgdGhhdCBzY3JhcGUgdGhlIGZhY3RvcnkgZGV0YWlscyBtb3JlIGRldGFpbGVkIGFuZCB1bmlxdWUKCSAgZGV0YWlscyBvbiB0aGUgZXhhY3QgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU2NgoKMjAxNi0wMy0xMCAxNzo0NjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzaGFkZXI6IHNvbWUgY29tcGF0aWJpbGl0eSBjaGFuZ2VzIGZvciBHTCAxLjQKCSAgR0wgMS40ICh3aXRoIEdMX0FSQl9zaGFkZXJfb2JqZWN0cykgZG9lc24ndCBoYXZlIGdsSXNQcm9ncmFtIG9yIGdsSXNTaGFkZXIKCSAgZXF1aXZhbGVudHMuICBBcyB0aGV5IGFyZSBzaW1wbHkgYXNzZXJ0aW9ucywgc2tpcCB0aGVtIHdoZW4gdGhlcmUgaXNuJ3QgYQoJICB2YWxpZCBmdW5jdGlvbiBwb2ludGVyLgoKMjAxNi0wMy0xMCAwMDoyOTo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIGdsZmlsdGVyYXBwOiB1cGRhdGUgZm9yIHRoZSB1c2Ugb2Ygc2hhZGVycwoJICBGaXhlcyBibGFjayBvdXRwdXQgd2hlbiBwbGFjZWQgaW4gcGlwZWxpbmVzICh1c2luZyB0aGUgZGVmYXVsdCBkcmF3aW5nKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzM2NQoKMjAxNi0wMy0xMCAwMDoyNzo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogcmV0cmlldmUgdGhlIHNoYWRlciBhdHRyaWJ1dGVzIGZyb20gdGhlIEdMIHRocmVhZAoJICBPdGhlcndpc2Ugd2Ugd2lsbCByZWNlaXZlIGJvZ3VzIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzY1CgoyMDE2LTAzLTEwIDAwOjI0OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvY3ViZSo6IGNob29zZSBvcGVuZ2wgYnkgZGVmYXVsdAoJICBUaGUgZXhhbXBsZXMgZG9uJ3Qgd29yayB3aXRoIGFueSBvdGhlciBHTCBBUEkuCgkgIEFsc28gZml4IHRoZSB5dXYgZXhhbXBsZSB0byBub3QgdHJhbnNsYXRlIHRoZSBjdWJlIG91dCBvZiB0aGUgY2xpcHBpbmcgYXJlYS4KCjIwMTYtMDMtMTAgMDA6MjM6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIGdsL2V4YW1wbGVzL2Z4dGVzdDogYWRkIG5lZWRlZCBnbHVwbG9hZCB0byB0aGUgcGlwZWxpbmUKCSAgRml4ZXMgYSBuZWdvdGlhdGlvbiBmYWlsdXJlIGluIHRoZSBleGFtcGxlCgoyMDE2LTAzLTA3IDEzOjA0OjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZXI6IEhhbmRsZSBub24taGllcmFyY2hpY2FsIHByb2ZpbGVzIGFnYWluCgkgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gc2luY2UgbXBlZ3ZpZGVvcGFyc2VyIHdhcyBzd2l0Y2hlZCB0bwoJICB1c2UgdGhlIGNvZGVjcGFyc2luZyBsaWJyYXJ5LgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBoaWdoIGJpdCBvZiB0aGUgcHJvZmlsZV9hbmRfbGV2ZWwgaXMgdXNlZAoJICB0byBzcGVjaWZ5IG5vbi1oaWVyYXJjaGljYWwgcHJvZmlsZXMgYW5kIGxldmVscy4gVW5mb3J0dW5hdGVseSB3ZQoJICB3ZXJlIGRpc2NhcmRpbmcgdGhhdCBpbmZvcm1hdGlvbi4KCSAgRXhwb3NlIHRoYXQgZXNjYXBlIGJpdCwgYW5kIHVzZSBpdCBpbiB0aGUgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMjIwCgoyMDE2LTAzLTA5IDExOjU4OjQzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXggd2luZG93IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzNTYKCjIwMTYtMDMtMDggMTE6NDE6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCByZXNldC9yZWNhbGN1bGF0ZSBzZWdtZW50cyB3aXRoIGFjY3VyYXRlIHNlZWtzCgkgIFdoZW4gZGVhbGluZyB3aXRoIGFjY3VyYXRlIHNlZWtzLCB3ZSBtdXN0IHNlbmQgb3V0IGEgc2VnbWVudCB3aGljaAoJICBpcyBleGFjdGx5IHdoYXQgaXMgcmVxdWVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMjYyCgoyMDE2LTAzLTA4IDAyOjA2OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc2lnbmFsIGNvbnRpbnVhdGlvbiBpbiByZXNldAoJICBXZSB3YW50IHRvIGl0ZXJhdGUgb3ZlciBhbGwgdGhlIHBhZHMsIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuICBGaXggYnkgcmV0dXJuaW5nCgkgIFRSVUUgaW4gdGhlIEdzdEFnZ3JlZ2F0b3JQYWRGb3JlYWNoRnVuYy4KCSAgUmVtb3ZlcyBhIEdTVF9JU19HTF9DT05URVhUKCkgYXNzZXJ0aW9uIG9uIHNodXRkb3duIHdpdGggPjIgaW5wdXRzCgkgIHVzaW5nIGdzdC1sYXVuY2guCgoyMDE2LTAzLTA4IDAwOjM1OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsZGlzcGxheTogbWFrZSByZWFkZGluZyB0aGUgc2FtZSBjb250ZXh0IGEgbm8tb3AKCSAgV2l0aCBlMzhhZjIzMDQ0MjdkYjkwOGExNmJiYWUwZTYwYWE2OGJlMWJhNWI1IHJldHVybmluZyB0aGUgY29ycmVjdCBjb250ZXh0cywKCSAgZ3N0X2dsX2Rpc3BsYXlfYWRkX2NvbnRleHQoKSB3YXMgc3VzY2VwdGlibGUgdG8gY2F1c2luZyBpbmZpbnRlIGxvb3BzIHdoZW4KCSAgYWRkaW5nIHRoZSBzYW1lIEdzdEdMQ29udGV4dCBtb3JlIHRoYW4gb25jZS4gIEZpeCBhbmQgYWRkIGEgdGVzdCBmb3IKCSAgZ3N0X2dsX2Rpc3BsYXlfYWRkX2NvbnRleHQoKS4KCSAgRml4ZXMgZ2x2aWRlb21peGVyIGdzdC12YWxpZGF0ZSB0ZXN0cy4KCjIwMTYtMDMtMDcgMDg6NTI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIFJldmVydCAibGliZ3N0Z2w6IGNvY29hLCBlYWdsOiBkb24ndCBtYXJzaGFsIEdMIGNhbGxzIHRvIHRoZSBjb250ZXh0IHRocmVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3OTdkNjQxNWRmZDZlMTExZWZiMmNhYjU0NDk1OGE2N2NiZjIyYjE3LgoJICBXZSdyZSBmcm96ZW4gZm9yIDEuOC4wIHJlbGVhc2UgYW5kIHRoaXMgY2hhbmdlIG1pZ2h0IGhhdmUgYmlnZ2VyIGltcGFjdC4KCjIwMTYtMDMtMDcgMTY6MDM6MjUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBsaWJnc3RnbDogY29jb2EsIGVhZ2w6IGRvbid0IG1hcnNoYWwgR0wgY2FsbHMgdG8gdGhlIGNvbnRleHQgdGhyZWFkCgkgIEV4ZWN1dGUgR0wgY2FsbHMgd2l0aG91dCBtYXJzaGFsbGluZyB0aGVtIHRvIHRoZSBjb250ZXh0IHRocmVhZC4gSW4gdGhlIGNvY29hCgkgIGFuZCBlYWdsIGJhY2tlbmRzIGNhbGxpbmcgZ3N0X2dsX2NvbnRleHRfYWN0aXZhdGUgaXMgY2hlYXAgYW5kIHRoZXJlZm9yZSBjYWxsaW5nCgkgIGl0IG9uIHRoZSBjdXJyZW50IHRocmVhZCBhbmQgc2VyaWFsaXppbmcgR0wgY2FsbHMgd2l0aCBhIHBlci1jb250ZXh0IGxvY2sgaXMKCSAgbW9yZSBlZmZpY2llbnQgKGZhc3RlciBhbmQgaGFzIGxlc3Mgb3ZlcmhlYWQpIHRoYW4gbWFyc2hhbGxpbmcgZXZlcnl0aGluZyB0byB0aGUKCSAgY29udGV4dCB0aHJlYWQuCgkgIFRoaXMgb3B0aW1pemF0aW9uIGN1dHMgYSBsYXJnZSBvdmVyaGVhZCBpbiBnX3BvbGwgKGNvbnRpbnVvdXNseSB3YWtpbmcgdXAgdGhlCgkgIGNvbnRleHQgdGhyZWFkKSBhbmQgaW4gZ19tdXRleF8qL2dfY29uZF8qICh3YWl0aW5nIGZvciByZXN1bHRzIGZyb20gdGhlIGNvbnRleHQKCSAgdGhyZWFkKS4KCjIwMTYtMDMtMDUgMTc6MTY6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiByZWFsbHkgcmV0cmlldmUgZ2xjb250ZXh0IGZvciBhIHNwZWNpZmljIHRocmVhZAoJICBXaGVuIHJlcXVlc3RpbmcgYSBnbGNvbnRleHQgKHJlZ2FyZGxlc3Mgb2YgdGhyZWFkKSwgdGhlIHJlc3VsdCB3YXMgY29ycmVjdC4KCSAgSG93ZXZlciwgd2hlbiByZXF1ZXN0aW5nIGN1cnJlbnQgZ2xjb250ZXh0IG9uIGEgc3BlY2lmaWMgdGhyZWFkLCBpdCBjb3VsZAoJICBjb21lIHVwIHdpdGggYSBnbGNvbnRleHQgYWN0aXZlIG9uIGFub3RoZXIgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTY4CgoyMDE2LTAzLTA2IDE5OjM1OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiBtaXNjIGRvY3MgZml4ZXMvYWRkaXRpb25zCgoyMDE2LTAzLTA2IDE5OjMyOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZW51bXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbCptZW1vcnk6IGRvY3VtZW50IG5ldyBmdW5jdGlvbmFsaXR5IGFuZCBvYmplY3RzCgoyMDE2LTAzLTA2IDE5OjIzOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IGFkZCBuZXcgR0wgYXBpIHRvIC50eXBlcyBmaWxlIGZvciB0eXBlL3NpZ25hbCBpbnRyb3NwZWN0aW9uCgoyMDE2LTAzLTA2IDE5OjIyOjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGlnbm9yZSBzb21lIHByaXZhdGUgR0wgaGVhZGVycwoKMjAxNi0wMy0wNiAxOToxODo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jcy9nbDogYWRkIGdsIGZ1bmN0aW9ucy9zdHJ1Y3RzIGZyb20gLXVudXNlZCBpbnRvIHRoZSBkb2NzCgoyMDE2LTAzLTA1IDE5OjQ4OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGhhbmRsZSBzb21lIG1vcmUgdW5maXhlZCBmaWVsZHMgd2hlbiBmaXhhdGluZyBjYXBzCgoyMDE2LTAzLTA1IDExOjM4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGs6IGV4YW1wbGVzOiAjZGVmaW5lIEdTVF9VU0VfVU5TVEFCTEVfQVBJIGFuZCBsaW5rIHdpdGggWDExX0xJQlMKCSAgWDExX0xJQlMgaXMgbmVlZGVkIGZvciBYSW5pdFRocmVhZHMoKSBhbmQgd2l0aG91dCB0aGUgI2RlZmluZSB3ZSBnZXQKCSAgd2FybmluZ3MgYWJvdXQgdGhlIEdMIEFQSSBiZWluZyBzdGlsbCB1bnN0YWJsZS4KCjIwMTYtMDMtMDIgMTk6MzI6MTMgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1vdmUgdW51c2VkIGZpbGUKCSAgYWhjc3JjIGlzIHJlZ2lzdGVyZWQgYnkgZ3N0YW1jLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA5OAoKMjAxNi0wMi0xNyAwOTozNjoxNSAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IHByb3Blcmx5IGRlaW5pdCB3aGVuIGFoY3NyYyByZWdpc3RlciBmYWlscwoJICBJbiB0aGUgYW5kcm9pZG1lZGlhIHBsdWdpbl9pbml0LCB3ZSBpbml0aWFsaXplIHZhcmlvdXMgcmVzb3VyY2VzIG9uIHRoZQoJICBBbmRyb2lkIGRldmljZS4gSWYgYW55dGhpbmcgZmFpbHMgZHVyaW5nIHRoaXMgc2VyaWVzIG9mIGluaXRpYWxpemF0aW9ucywKCSAgd2UgbmVlZCB0byBkZWluaXRpYWxpemUgYW55IGluaXRpYWxpemF0aW9ucyB0aGF0IGFscmVhZHkgb2NjdXJyZWQuCgkgIEhvd2V2ZXIsIHdlIGRvbid0IGRvIHNvIGlmIHdlIGZhaWwgdG8gcmVnaXN0ZXIgdGhlIGFoY3NyYyBlbGVtZW50LiBGaXgKCSAgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xOCAxMTowMDo1MCAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IGNvcnJlY3QgZXJyb3IgbWVzc2FnZQoJICBUaGUgZXJyb3IgbWVzc2FnZSBpcyBzcGVjaWZpYyB0byBvbmx5IG9uZSBvZiB0aGUgZmFpbHVyZSBjYXNlcyBhbmQgaXMKCSAgbWlzbGVhZGluZyBpbiB0aGUgb3RoZXJzLiBDb3JyZWN0IGl0IHRvIGJlIG1vcmUgZ2VuZXJpYyBhbmQgY292ZXIgYWxsCgkgIHRoZSBmYWlsdXJlIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAyLTE2IDExOjQ1OjAxIC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogcmVtb3ZlIHVubmVlZGVkICNpbmNsdWRlIDxzdGRpby5oPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAyLTE4IDE2OjAwOjE4IC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoYzogdHlwbyBmaXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMy0wMyAyMjoxNTowNyAtMDUwMCAgSm9lIEdvcnNlIDxqaGdvcnNlQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogQWRkIE9QRU5TU0xfQ0ZMQUdTIHRvIENGTEFHUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDc5CgoyMDE2LTAzLTAzIDE5OjQ1OjQzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogRG9uJ3QgY2hhbmdlIG1heHNpemUgYXQgcnVuLXRpbWUKCSAgTWF4c2l6ZSBpcyBpbml0aWFsaXplZCBvbmNlIGFuZCBzaG91bGQgbmV2ZXIgY2hhbmdlLiBBbGxvY2F0aW5nIGRhdGEKCSAgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBzZWxlY3RlZCBtYXggc2l6ZSBmb3IgdGhpcyBtZW1vcnkuIFRoaXMKCSAgY2F1c2luZyBtZW1vcnkgbWFwIGZhaWx1cmUgYXMgdGhlIG1heHNpemUgd291bGQgYmVjb21lIHNtYWxsZXIgdGhlbgoJICBzaXplLiBUaGlzIGhhcHBlbmVkIHdoZW4gdXNpbmcgZGlyZWN0IHJlbmRlcmluZyBpbiBhdnZpZGRlYyBvbiBHTCB0aGF0CgkgIGRvZXMgbm90IHN1cHBvcnQgUEJPIHRyYW5zZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDQ1CgoyMDE2LTAzLTAxIDE4OjIyOjM3ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IEZpeCBsZWFrIG9mIHRoZSBPcGVuR0wgY29udGV4dHMKCSAgW01hdHRoZXcgV2F0ZXJzXTogYWRkIE5VTEwgY2hlY2tzIGJlZm9yZSB1bnJlZmZpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk5OQoKMjAxNi0wMi0yOSAxNDoyNDo0NiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtzaW5rOiBmaXggc3BlbGxpbmcgb24gZmFpbGVkIF9lbnN1cmVfZGF0YSgpIGVycm9yIG1lc3NhZ2UKCjIwMTYtMDMtMDIgMjE6NDY6NDQgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogUHJvdmlkZSBmb3JtYXQgYXMgYSBzdHJpbmcgaW5zdGVhZCBvZiBhIGNoYXIgdG8gZ3N0X3N0cnVjdHVyZV9uZXcKCSAgVGhlIGZvcm1hdCB3YXMgcHJvdmlkZWQgYXMgJ0k0MjAnIGluc3RlYWQgb2YgIkk0MjAiLCBjYXVzaW5nIGEgY3Jhc2guCgoyMDE1LTAxLTIwIDE2OjIwOjEwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogaGFuZGxlIGVhcmx5IFBUUyBjb252ZXJzaW9uIHdoZW4gYSBncm91cCBoYXMgYmVlbiBmb3VuZAoJICBJbiBzb21lIGNhc2VzLCB0aGUgUFRTIG1pZ2h0IGJlIHNtYWxsZXIgdGhhbiB0aGUgZmlyc3Qgb2JzZXJ2ZWQgUENSCgkgIHZhbHVlIHdoaWNoIGNhdXNlcyBlbGVtZW50IHRvIGFwcGx5IHdyYXBhcm91bmQgbGVhZGluZyB0byBib2d1cwoJICB0aW1lc3RhbXAuIFRvIHNvbHZlIHRoaXMsIHdlIG9ubHkgYXBwbHkgaXQgaWYgdGhlIFBUUy1QQ1IgZGlmZmVyZW5jZSBpcwoJICBncmVhdGVyIHRoYXQgMSBzZWNvbmQgdG8gYmUgc3VyZSB0aGF0IGl0J3MgYSByZWFsIHdyYXBhcm91bmQuCgkgIE1vcmVvdmVyLCB1c2luZyB1bnNpZ25lZCAzMiBiaXRzIHZhbHVlcyB0byBoYW5kbGUgd3JhcG92ZXIgY291bGQgZW5kIHVwCgkgIHdpdGggYm9ndXMgdmFsdWUsIHNvIGl0IHVzZSBwdHMgdmFsdWUgdG8gaGFuZGxlIGl0LgoJICBBbHNvLCBjb252ZXJ0IHBjciB0aW1lIHRvIGdzdCB0aW1lIGJlZm9yZSBjb21wYXJpbmcgaXQgdG8gcHRzLgoJICBTaW5jZSByZWZwY3IgaXMgZXhwcmVzc2VkIGluIFBDUiB0aW1lIGJhc2Ugd2hpbGUgcHRzIGlzIGV4cHJlc3NlZCBpbiBHU3RyZWFtZXIKCSAgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzI1OQoKMjAxNi0wMy0wMiAxMDo0MToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IFJFTU9WRV9TTkFQX0ZMQUdTKCkgbWFjcm8KCSAgIShmbGFnMSB8IGZsYWcyIHwgZmxhZzMpIGlzIGFsd2F5cyBldmFsdWF0aW9uIHRvIDAuIH4gd2FzIG1lYW50IGhlcmUKCSAgaW5zdGVhZCBvZiAhLgoJICBDSUQgMTM1MjAzMi4KCj09PSByZWxlYXNlIDEuNy45MCA9PT0KCjIwMTYtMDMtMDEgMTg6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjkwCgoyMDE2LTAzLTAxIDE3OjEwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMDEgMTY6NTM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9iZy5wbzoKCSogcG8vZnIucG86CgkqIHBvL25sLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMi0yOSAxMjozNTo1OCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY0OiBEaXNhYmxlIHBhc3N0aG9ydWdoIG1vZGUgZW5hYmxpbmcKCSAgRW5hYmxpbmcgcGFzc3Rob3J1Z2ggbW9kZSBpcyBjYXVzaW5nIG11bHRpcGxlIGlzc3VlOgoJICBGb3IgbmFsIGFsaWduZWQgbXVsdGlyZXNvbHV0b24gc3RyZWFtcywgcGFzc3Rocm91Z2ggbW9kZQoJICBtYWtlIGgyNjRwYXJzZSB1bmFibGUgdG8gYWR2ZXJ0aXNlIHRoZSBuZXcgcmVzb3VsdGlvbnMuCgkgIEFsc28gY2F1c2luZyBpc3N1ZXMgd2hpbGUgcGFyc2luZyBNVkMgc3RyZWFtcyB3aGljaCBoYXZlIHR3bwoJICBzZXBhcmF0ZSBsYXllcnMgKGJhc2UtdmlldyBhbmQgbm9uLWJhc2UtdmlldykuCgkgIFRoaXMgZml4IGlzIG9ubHkgYSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZC4KCSAgRm9yIE1WQywgcHJvcGVyIGZpeGVzIG5lZWRlZCBpbiBtYW55IHBsYWNlczoKCSAgKGhhbmRsZSBwcmVmaXggbmFsIHVuaXQsIGhhbmRsZSBub24tYmFzZS12aWV3IHNsaWNlIG5hbCBleHRlbnNpb24sCgkgIGZpeCB0aGUgcGljdHVyZV9zdGFydCBkZXRlY3Rpb24gZm9yIG11bHRpLWxheWVyLW12YyBzdHJlYW1zIGV0YykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODY1NgoKMjAxNi0wMi0yOSAxMTo1MzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IFNldCBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtcnRwIGluc3RlYWQgb2YgYXBwbGljYXRpb24veC11bmtub3duIGFzIHJldHVybmVkIGJ5IHRoZSBTRFAgaGVscGVycwoJICBUaGUgU0RQIGhlbHBlcnMgY2FuJ3Qga25vdyBpZiB0aGlzIGlzIGdvaW5nIHRvIGJlIFJUUCwgU1JUUCwgb3IgLi4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODYwCgoyMDE2LTAyLTI5IDExOjUxOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogQWRkIHBhZHMgd2l0aCB0aGUgY29ycmVjdCBuYW1lcyBpbiBjYXNlIGFuIHJ0cGJpbiBpcyB1c2VkCgkgIFRoZXkncmUgc3VwcG9zZWQgdG8gYmUgc3RyZWFtXyV1IGFuZCBub3QgcmVjdl9ydHBfc3JjXyV1XyV1XyV1LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODYwCgoyMDE2LTAyLTI5IDEwOjM4OjMyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZrc3dhcHBlci92a3V0aWxzOiBGaXggZ2Vycm9yIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NDIKCjIwMTYtMDItMjkgMTA6Mzc6MTEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZrZGV2aWNlOiBGaXggZHVwbGljYXRlIGFzc2lnbm1lbnQgb2YgcXVldWUgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg0MgoKMjAxNi0wMi0yOSAxMDozMzo0NSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZrc2luazogRml4IEdFcnJvciBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODQyCgoyMDE2LTAyLTI4IDE0OjA2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBleHBvcnRzIGZvciBuZXcgbGliZ3N0Z2wgZnVuY3Rpb24KCjIwMTYtMDItMjggMTA6MTI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBXaGVuIG91dHB1dHRpbmcgb24gYSBzdXJmYWNlLCBhY2NlcHQgYWxsIGNvbG9yIGZvcm1hdHMKCSAgV2UgZG9uJ3QgaGF2ZSB0byB1bmRlcnN0YW5kIHRoZW0sIHdlIGhhbmRsZSB0aGVtIGFzIGEgR0wgdGV4dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc5MgoKMjAxNi0wMi0yNiAxODoxNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGhhbmRsZSBzbmFwIHNlZWtpbmcgd2l0aG91dCBzZXR0aW5nIGFueSBwb3NpdGlvbgoJICBXaGVuIHRoZSBzdGFydF90eXBlIGlzIEdTVF9TRUVLX1RZUEVfTk9ORSBmb3IgYSBmb3J3YXJkIHNlZWsKCSAgKG9yIHN0b3BfdHlwZSBmb3IgYSByZXZlcnNlKSBpcyBub3Qgc2V0IG9uIGEgc25hcCBzZWVraW5nIG9wZXJhdGlvbiwKCSAgdGhlIGVsZW1lbnQgc2hvdWxkIHVzZSB0aGUgY3VycmVudCBwb3NpdGlvbiBhbmQgdGhlbiBzbmFwIGFzIHJlcXVlc3RlZC4KCSAgQWxzbyBmaXhlcyB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBsYWludCBieSBjbGFuZyBhYm91dAoJICAndHMnIHZhcmlhYmxlLgoKMjAxNi0wMi0yNiAxNzozMTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogc3luYyBpbmRleCBhbmQgdGhlIHNlbGVjdGVkIGNodW5rIHdoZW4gc2Vla2luZwoJICBPdGhlcndpc2UgdGhlIGNodW5rIHNlbGVjdGVkIGlzbid0IG1hdGNoZWQgdG8gdGhlIGluZGV4IGFuZAoJICB0aGUgdGltaW5nIHdpbGwgYmUgZGlmZmVyZW50LCBjYXVzaW5nIGl0IHRvIGFjdHVhbGx5IHN0YXJ0CgkgIGZyb20gYSBkaWZmZXJlbnQgcG9zaXRpb24KCjIwMTYtMDItMjYgMTI6NDE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEyNTM5NzQgdG8gNmYyZDIwOQoKMjAxNi0wMi0xNyAyMDoxMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBlZ2xpbWFnZW1lbW9yeTogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMgZm9yIEVHTCBkbWFidWYKCSAgZS5nLiB0aGUgUlBpIGRvZXNuJ3QgaGF2ZSB0aGVtIGRlZmluZWQKCjIwMTYtMDItMjYgMDA6MzU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1czogcmVuYW1lIHBsdWdpbiB0byBvcHVzcGFyc2UgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIFVudGlsIHdlIGZpeCBpdCB1cCBhbmQgZ2V0IHJpZCBvZiB0aGUgb3B1cyBkZXBlbmRlbmN5IGFuZAoJICBtb3ZlIGl0IGVsc2V3aGVyZSB0b28uCgoyMDE2LTAyLTE5IDAwOjM4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiByZW1vdmUgT3B1cyBlbmNvZGVyL2RlY29kZXIsIG1vdmVkIHRvIC1iYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMjYgMDg6MzQ6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGEgbWV0aG9kIHRvIGFkZCBhIGNvbnRleHQgdG8gYW5vdGhlciBzaGFyZSBncm91cAoJICBJbnRlbmRlZCBmb3IgdXNlIHdpdGggd3JhcHBlZCBjb250ZXh0cyB0aGF0IGFyZSBjcmVhdGVkIHNoYXJlZCB3aXRoIGdzdCdzCgkgIGdsIGNvbnRleHRzIGluIG9yZGVyIHRvIG1hbmFnZSB0aGUgaW50ZXJuYWwgc2hhcmVncm91cCBzdGF0ZSBjb3JyZWN0bHkuCgkgIGUuZy4gd2l0aCBjYW9wZW5nbGxheWVyICh3aGljaCBpcyB1c2VkIGluIGdsaW1hZ2VzaW5rIGFuZCBjYW9wZW5nbGxheWVyc2luawoJICBvbiBPUyBYKSwgd2UgY3JlYXRlIGEgQ0dMIGNvbnRleHQgZnJvbSB0aGUgZ3N0IGNvbnRleHQgYW5kIHRoZSBzaGFyaW5nIHN0YXRlCgkgIHdhcyBub3QgYmVpbmcgY29ycmVjdGx5IHNldCBvbiBlaXRoZXIgR0wgY29udGV4dCBhbmQgZ3N0X2dsX2NvbnRleHRfaXNfc2hhcmVkKCkKCSAgd2FzIGFsd2F5cyByZXR1cm5pbmcgRkFMU0UuCgkgIFdpdGggMTFmYjRmZmY4MGI2M2I5ZDY3YTczMWQ0YmIyMzhiNmMwYTI5ZDc3NCBvbmx5IGZsdXNoaW5nIHdpdGggbXVsdGlwbGUKCSAgc2hhcmVkIGNvbnRleHRzLCB0aGUgcmVxdWlyZWQgZmx1c2ggd2FzIG5vdCBvY2N1cmluZyBjYXVzaW5nIHNjcmVlbgoJICBjb3JydXB0aW9uIG9yIHN0dXR0ZXJpbmcuCgkgIE5vdGU6IHRoaXMgZGlkbid0IGFmZmVjdCBHU1RfR0xfQVBJPW9wZW5nbCBwaXBlbGluZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjYyMAoKMjAxNi0wMi0xNyAxNToyMDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSAgb3B1czogcmVtb3ZlIE9wdXMgUlRQIGVsZW1lbnRzLCB0aGV5IGhhdmUgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMS0xOCAwODo1MDozNCArMDAwMCAgQWxleCBBc2hsZXkgPGFsZXguYXNobGV5QHlvdXZpZXcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB0ZXN0czogcGFzcyB0ZXN0IG5hbWUgaW50byB0ZXN0IHNldHVwIGZ1bmN0aW9uCgkgIEFsbCBobHNkZW11eCB0ZXN0cyBjcmVhdGUgYSBHc3RTdHJ1Y3R1cmUgY2FsbGVkICJzdGF0ZSIgdGhhdCBjYW4gYmUgdXNlZAoJICBieSB0ZXN0IGNhc2VzIHRvIHN0b3JlIGluZm9ybWF0aW9uIGR1cmluZyBhIHRlc3QuIFRoZSBuYW1lIG9mIHRoaXMKCSAgc3RydWN0dXJlIGlzIGFyYml0cmFyeS4gV2hlbiB0aGUgY29kZSB3YXMgd3JpdHRlbiwgdGhlIGludGVudGlvbiB3YXMKCSAgdG8gdXNlIHRoZSBuYW1lIG9mIHRoZSB0ZXN0LCB0byBhaWQgZGVidWdnaW5nLiBIb3dldmVyLCBkdXJpbmcKCSAgZGV2ZWxvcG1lbnQgdGhpcyB3YXMgbG9zdCwgc28gdGhhdCB0aGUgc3RhdGUgR3N0U3RydWN0dXJlIGlzIGFsd2F5cwoJICBnaXZlbiB0aGUgbmFtZSAic2V0dXBfdGVzdF92YXJpYWJsZXMiLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoaXMgc28gdGhhdCB0aGUgbmFtZSBvZiB0aGUgdGVzdCBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjg0CgoyMDE2LTAyLTIzIDEyOjQyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBjb21wb3NpdG9yOiBkcm9wIHNwZWNpYWwgY2FzZSBmb3IgdmFsZ3JpbmQgdGltZW91dAoJICBUaGUgZGVmYXVsdCBvbmUgaXMgNiBtaW51dGVzLCB0aGUgdGVzdCB3YXMgdXNpbmcgNSBtaW51dGVzIHNvIGp1c3QKCSAgcmVzb3J0IHRvIHVzaW5nIHRoZSBkZWZhdWx0LgoJICBGb3IgdGhlIG5vbi12YWxncmluZCB0ZXN0IGFsc28gdXNlIHRoZSBkZWZhdWx0IDIwIHNlY3MgaW5zdGVhZCBvZgoJICByZWR1Y2luZyBpdCB0byA2cy4gTm8gcmVhbCByZWFzb24gdG8gc2V0IGEgY3VzdG9tIHZhbHVlIGhlcmUuCgoyMDE2LTAyLTIzIDEyOjE3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBjb21wb3NpdG9yOiBhZGQgdGVzdHMgZm9yIGNhcHMgcXVlcmllcwoJICBWZXJpZmllcyB0aGF0IHByb3BlciBjYXBzIGFyZSByZXR1cm5lZCBiYXNlZCBvbiB3aGF0IGRvd25zdHJlYW0KCSAgcmVzdHJpY3RzLgoKMjAxNi0wMi0xOCAxMDo1Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNhcHMgcXVlcmllcyB0byBhbGxvdyBwcm9wZXIgcmVuZWdvdGlhdGlvbgoJICBXaGVuIGNhcHMgYXJlIGFscmVhZHkgbmVnb3RpYXRlZCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8KCSAgc2VsZWN0IGZvcm1hdHMgb3RoZXIgdGhhbiB0aGUgb25lIHRoYXQgd2FzIG5lZ290aWF0ZWQuIElmIGRvd25zdHJlYW0KCSAgYWxsb3dzIGFscGhhIHZpZGVvIGNhcHMgYW5kIGl0IGhhcyBhbHJlYWR5IG5lZ290aWF0ZWQgdG8gYSBub24tYWxwaGEKCSAgZm9ybWF0LCBjYXBzIHF1ZXJpZXMgc2hvdWxkIHN0aWxsIHJldHVybiB0aGUgYWxwaGEgY2FwcyBhcyBhIHBvc3NpYmxlCgkgIGZvcm1hdCBhcyBjYXBzIHJlbmVnb3RpYXRpb24gY2FuIGhhcHBlbi4KCSAgSW5jbHVkZXMgdGVzdHMgKGZvciBjb21wb3NpdG9yKSB0byBjaGVjayB0aGF0IGNhcHMgcXVlcmllcyBkb25lIGFmdGVyCgkgIGEgY2FwcyBoYXMgYmVlbiBuZWdvdGlhdGVkIHJldHVybnMgY29tcGxldGUgcmVzdWx0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjEwCgoyMDE2LTAyLTI0IDE3OjA3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IE5lZ290aWF0ZSB0aGUgZGVjb2RlciBpbiBzZXRfZm9ybWF0KCkgYWxyZWFkeQoJICBEb24ndCB3YWl0IHVudGlsIGxhdGVyLCB3ZSB3YW50IHRvIGtub3cgaGVyZSBpZiB0aGUgY29kZWMgY2FuIGJlIG9wZW5lZCBvciBub3QKCSAgZm9yIHRoZSByZXF1ZXN0ZWQgZm9ybWF0LiBUaGlzIHdhcyByZW1vdmVkIChhY2NpZGVudGlhbGx5PykgYnkKCSAgMTE5ZTA5ZWFjMzE1Zjc5YWMyY2Y0NWI0NDQxYWQxZDkzMjEzMDYxNAoJICBXaXRob3V0IHRoaXMgZGVjb2RlYmluIGhhcyBubyB3YXkgdG8gc3dpdGNoIHRvIGEgZGlmZmVyZW50IGRlY29kZXIgaWYgdGhpcyBvbmUKCSAgZG9lcyBub3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjYxMwoKMjAxNi0wMi0yNSAxMTozNDo0MCArMDIwMCAgSm9lIEdvcnNlIDxqaGdvcnNlQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBGcmFtZSBkdXJhdGlvbnMgYXMgQ1RpbWUgdG8gdGhlIEFQSSwgbm90IGRvdWJsZQoJICBOZXdlciBpT1Mgc2VlbXMgdG8gYXV0b21hdGljYWxseSBjb252ZXJ0LCBvbGRlciBpT1MvT1NYIGp1c3QgY3Jhc2hlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU3NQoKMjAxNi0wMi0yNCAyMzo0ODoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogcmVsZWFzZSB0aGUgZnJhbWVzIGFuZCAgbGlzdCB3aGVuIHNlYXJjaGluZyBmb3IgYW4gb3V0cHV0IGJ1ZmZlcgoJICBGaXhlcyBhIG1hc3NpdmUgbGVhayBpbjoKCSAgdmlkZW90ZXN0c3JjICEgbnZoMjY0ZW5jICEgZmFrZXNpbmsKCjIwMTYtMDItMjMgMjM6MTA6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHF0OiB1c2UgYSBzdGF0aWNfY2FzdCBpbnN0ZWFkIG9mIGR5bmFtaWMgb25lCgkgIFRoZSBkeW5hbWljX2Nhc3QgaXMgYSBsaXR0bGUgYnV0IG9mIG92ZXJraWxsIGFzIHRoZSBhcHAgd2lsbCBzdGlsbCBjcmFzaCBpZiBpdAoJICBmYWlscyBpbiB0aGUgbGF0ZXIgZ19hc3NlcnQuCgkgIEFsbG93cyBjb21waWxhdGlvbiB3aXRoIC1mbm8tcnR0aQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTI2CgoyMDE2LTAyLTI0IDEwOjQ1OjE3ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsbWl4ZXI6IGl0ZXJhdG9yIGRpZG4ndCBhZHZhbmNlIGluIGNvbnRpbnVlIHN0YXRlbWVudAoJICBMZWFkaW5nIHRvIGEgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NzMKCjIwMTYtMDItMjMgMTg6MTc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTYtMDItMjMgMTg6MTM6MzcgKzAyMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSAgZGlzcGFyaXR5OiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDEwOjQ5OjQwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RseSBoYW5kbGUgYW4gSFRUUC1YU0RBVEUgdGhhdCBpcyBleGFjdGx5IHRoZSBzaXplIG9mIHRoZSBkYXRlIHN0cmluZwoJICBUaGUgY29kZSBpbiB0aGUgZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF94c2RhdGUoKSB3YXMgdHJ5aW5nIHRvCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgc3RyaW5nIGlzIG5vdCBudWxsIHRlcm1pbmF0ZWQgYnkgcmVzaXppbmcKCSAgdGhlIGJ1ZmZlciBhbmQgYXBwZW5kaW5nIGEgemVybyBieXRlLiBUaGlzIGRvZXMgbm90IHdvcmsgaWYgdGhlIGJ1ZmZlcgoJICBpcyBleGFjdGx5IHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBiZWNhdXNlIHRoZSBnc3RfYnVmZmVyX3Jlc2l6ZSgpCgkgIGZ1bmN0aW9uIGRvZXMgbm90IHJlLWFsbG9jYXRlIHRoZSBidWZmZXIsIGl0IGp1c3QgY2hhbmdlcyBpdHMgc2l6ZS4KCSAgSWYgYSBidWZmZXIgaXMgcGFzc2VkIHRvIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfeHNkYXRlKCkgdGhhdCBpcwoJICBleGFjdGx5IHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZywgdGhlIGZ1bmN0aW9uIGZhaWxzIHdpdGggYW4gYXNzZXJ0CgkgIGZhaWx1cmUgaW4gZ3N0X2J1ZmZlcl9yZXNpemUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0OAoKMjAxNi0wMi0yMyAxMTo1OTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IEFkZCBhdWRpb2ludGVybGVhdmUKCjIwMTYtMDItMjIgMTA6MjE6NDcgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgZmJkZXZzaW5rOiBmaXggYnl0ZXMgcGVyIHBpeGVsIGNhbGN1bGF0aW9uCgkgIFNpbXBsZSBwaXBlbGluZQoJICAkIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGZiZGV2c2luawoJICBjcmFzaGVzIHdpdGggU0lHU0VHViBpbiBjYXNlIHRoZSBmcmFtYnVmZmVyIHhyZXMgaXMgc21hbGxlcgoJICB0aGFuIHRoZSB2aXJ0dWFsIHhyZXMgcmVzb2x1dGlvbiwgZS5nLjoKCSAgJCBmYnNldAoJICBtb2RlICI4MDB4NDgwLTAiCgkgICMgRDogMC4wMDAgTUh6LCBIOiAwLjAwMCBrSHosIFY6IDAuMDAwIEh6CgkgIGdlb21ldHJ5IDgwMCA0ODAgMTkyMCAxMjAwIDE2CgkgIHRpbWluZ3MgMCAwIDAgMCAwIDAgMAoJICBhY2NlbCB0cnVlCgkgIHJnYmEgNS8xMSw2LzUsNS8wLDAvMAoJICBlbmRtb2RlCgkgIERlYnVnOgoJICAkIGdkYiBnc3QtbGF1bmNoLTEuMAoJICAoZ2RiKSBydW4gdmlkZW90ZXN0c3JjICEgZmJkZXZzaW5rCgkgIChnZGIpIHdoZXJlCgkgICMwICAweGI2YmQyZDI0IGluIF9fbWVtY3B5X25lb24gKCkKCSAgYXQgLi4vc3lzZGVwcy9hcm0vYXJtdjcvbXVsdGlhcmNoL21lbWNweV9pbXBsLlM6NTkxCgkgICMxICAweGI2OWIwNGU4IGluIGdzdF9mYmRldnNpbmtfc2hvd19mcmFtZSAodmlkZW9zaW5rPTB4MTBhMzM3OCwKCSAgYnVmPTB4YjVjMDg4MzgpIGF0IGdzdGZiZGV2c2luay5jOjI2OQoJICAjMiAgMHhiNjllODhjNCBpbiBnc3RfYmFzZV9zaW5rX2RvX3ByZXJvbGwgKHNpbms9c2lua0BlbnRyeT0weDEwYTMzNzgsCgkgIG9iaj0weGI1YzA4ODM4LCBvYmpAZW50cnk9MHhhMCkgYXQgZ3N0YmFzZXNpbmsuYzoyMjgxCgkgICMzICAweGI2OWU5MmJjIGluIGdzdF9iYXNlX3NpbmtfZG9fc3luYyAoYmFzZXNpbms9YmFzZXNpbmtAZW50cnk9MHgxMGEzMzc4LAoJICBvYmo9MHhhMCwgb2JqQGVudHJ5PTB4YjVjMDg4MzgsIGxhdGU9MHgwLCBsYXRlQGVudHJ5PTB4YjY1NDhiYTAsCgkgIHN0ZXBfZW5kPTB4MTQwLCBzdGVwX2VuZEBlbnRyeT0weGI2NTQ4YmE0KSBhdCBnc3RiYXNlc2luay5jOjI1MDAKCSAgIzQgIDB4YjY5ZWE2N2MgaW4gZ3N0X2Jhc2Vfc2lua19jaGFpbl91bmxvY2tlZCAoCgkgIGJhc2VzaW5rPWJhc2VzaW5rQGVudHJ5PTB4MTBhMzM3OCwgb2JqPTB4MCwgb2JqQGVudHJ5PTB4YjVjMDg4MzgsCgkgIGlzX2xpc3Q9aXNfbGlzdEBlbnRyeT0wLCBwYWQ9PG9wdGltaXplZCBvdXQ+KSBhdCBnc3RiYXNlc2luay5jOjM0ODYKCSAgIzUgIDB4YjY5ZWMxYzAgaW4gZ3N0X2Jhc2Vfc2lua19jaGFpbl9tYWluIChiYXNlc2luaz0weDEwYTMzNzgsCgkgIHBhZD08b3B0aW1pemVkIG91dD4sIG9iaj0weGI1YzA4ODM4LCBpc19saXN0PTApIGF0IGdzdGJhc2VzaW5rLmM6MzY0NwoJICAjNiAgMHhiNmViNWIxMCBpbiBnc3RfcGFkX2NoYWluX2RhdGFfdW5jaGVja2VkIChwYWQ9MHgxMGE2MTcwLAoJICB0eXBlPTxvcHRpbWl6ZWQgb3V0PiwgZGF0YT0weGI1YzA4ODM4KSBhdCBnc3RwYWQuYzo0MDg2CgkgICM3ICAweGI2ZWI3YTM0IGluIGdzdF9wYWRfcHVzaF9kYXRhIChwYWQ9cGFkQGVudHJ5PTB4MTBhNjAyMCwKCSAgdHlwZT10eXBlQGVudHJ5PTQxMTIsIGRhdGE9MHhiNWMwODgzOCkgYXQgZ3N0cGFkLmM6NDMzOAoJICAjOCAgMHhiNmViZjM0NCBpbiBnc3RfcGFkX3B1c2ggKHBhZD1wYWRAZW50cnk9MHgxMGE2MDIwLAoJICBidWZmZXI9PG9wdGltaXplZCBvdXQ+KSBhdCBnc3RwYWQuYzo0NDU0CgkgICM5ICAweGI2OWYyMmYwIGluIGdzdF9iYXNlX3NyY19sb29wIChwYWQ9MHgxMGE2MDIwKSBhdCBnc3RiYXNlc3JjLmM6Mjg0NQoJICAjMTAgMHhiNmVlZGRmYyBpbiBnc3RfdGFza19mdW5jICh0YXNrPTB4MTBhODgyOCkgYXQgZ3N0dGFzay5jOjMzMQoJICAjMTEgMHhiNmQ0ODVhMCBpbiBnX3RocmVhZF9wb29sX3RocmVhZF9wcm94eSAoZGF0YT08b3B0aW1pemVkIG91dD4pCgkgIGF0IGd0aHJlYWRwb1F1aXQKCSAgKGdkYikgZnJhbWUgMQoJICAjMSAgMHhiNjliMDRlOCBpbiBnc3RfZmJkZXZzaW5rX3Nob3dfZnJhbWUgKHZpZGVvc2luaz0weDEwYTMzNzgsCgkgIGJ1Zj0weGI1YzA4ODM4KSBhdCBnc3RmYmRldnNpbmsuYzoyNjkKCSAgMjY5ICAgICBnc3RmYmRldnNpbmsuYzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS4KCSAgKGdkYikgcCBmYmRldnNpbmsKCSAgJDEgPSAoR3N0RkJERVZTaW5rICopIDB4MTBhMzM3OAoJICAoZ2RiKSBwICpmYmRldnNpbmsKCSAgJDIgPSB7dmlkZW9zaW5rID0ge2VsZW1lbnQgPSB7ZWxlbWVudCA9IHtvYmplY3QgPSB7b2JqZWN0ID0gewoJICBnX3R5cGVfaW5zdGFuY2UgPSB7Z19jbGFzcyA9IDB4MTBhMmQ2MH0sIHJlZl9jb3VudCA9IDMsCgkgIHFkYXRhID0gMHgwfSwgbG9jayA9IHtwID0gMHgwLCBpID0gezAsIDB9fSwKCSAgbmFtZSA9IDB4MTBhMmYzMCAiZmJkZXZzaW5rMCIsIHBhcmVudCA9IDB4MTBhNzBhMCwgZmxhZ3MgPSAzMiwKCSAgY29udHJvbF9iaW5kaW5ncyA9IDB4MCwgY29udHJvbF9yYXRlID0gMTAwMDAwMDAwLAoJICBsYXN0X3N5bmMgPSAxODQ0Njc0NDA3MzcwOTU1MTYxNSwgX2dzdF9yZXNlcnZlZCA9IDB4MH0sCgkgIHN0YXRlX2xvY2sgPSB7cCA9IDB4MTA5ZjlhOCwgaSA9IHswLCAwfX0sIHN0YXRlX2NvbmQgPSB7cCA9IDB4MCwgaSA9IHsKCSAgMywgMH19LCBzdGF0ZV9jb29raWUgPSAyLCB0YXJnZXRfc3RhdGUgPSBHU1RfU1RBVEVfUEFVU0VELAoJICBjdXJyZW50X3N0YXRlID0gR1NUX1NUQVRFX1JFQURZLCBuZXh0X3N0YXRlID0gR1NUX1NUQVRFX1BBVVNFRCwKCSAgcGVuZGluZ19zdGF0ZSA9IEdTVF9TVEFURV9QQVVTRUQsCgkgIGxhc3RfcmV0dXJuID0gR1NUX1NUQVRFX0NIQU5HRV9BU1lOQywgYnVzID0gMHgxMDhiY2I4LCBjbG9jayA9IDB4MCwKCSAgYmFzZV90aW1lID0gMCwgc3RhcnRfdGltZSA9IDAsIG51bXBhZHMgPSAxLCBwYWRzID0gMHgxMDljYzIwLAoJICBudW1zcmNwYWRzID0gMCwgc3JjcGFkcyA9IDB4MCwgbnVtc2lua3BhZHMgPSAxLCBzaW5rcGFkcyA9IDB4MTA5Y2MzMCwKCSAgcGFkc19jb29raWUgPSAxLCBfZ3N0X3Jlc2VydmVkID0gezB4MCwgMHgwLCAweDAsIDB4MH19LAoJICBzaW5rcGFkID0gMHgxMGE2MTcwLCBwYWRfbW9kZSA9IEdTVF9QQURfTU9ERV9QVVNILCBvZmZzZXQgPSAwLAoJICBjYW5fYWN0aXZhdGVfcHVsbCA9IDAsIGNhbl9hY3RpdmF0ZV9wdXNoID0gMSwgcHJlcm9sbF9sb2NrID0ge3AgPSAweDEsCgkgIGkgPSB7MSwgMH19LCBwcmVyb2xsX2NvbmQgPSB7cCA9IDB4MCwgaSA9IHswLCAwfX0sIGVvcyA9IDAsCgkgIG5lZWRfcHJlcm9sbCA9IDEsIGhhdmVfcHJlcm9sbCA9IDAsIHBsYXlpbmdfYXN5bmMgPSAxLAoJICBoYXZlX25ld3NlZ21lbnQgPSAxLCBzZWdtZW50ID0ge2ZsYWdzID0gR1NUX1NFR01FTlRfRkxBR19OT05FLCByYXRlID0gMSwKCSAgYXBwbGllZF9yYXRlID0gMSwgZm9ybWF0ID0gR1NUX0ZPUk1BVF9USU1FLCBiYXNlID0gMCwgb2Zmc2V0ID0gMCwKCSAgc3RhcnQgPSAwLCBzdG9wID0gMTg0NDY3NDQwNzM3MDk1NTE2MTUsIHRpbWUgPSAwLCBwb3NpdGlvbiA9IDMzMzMzMzMzLAoJICBkdXJhdGlvbiA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1LCBfZ3N0X3Jlc2VydmVkID0gezB4MCwgMHgwLCAweDAsCgkgIDB4MH19LCBjbG9ja19pZCA9IDB4MCwgc3luYyA9IDEsIGZsdXNoaW5nID0gMCwgcnVubmluZyA9IDAsCgkgIG1heF9sYXRlbmVzcyA9IDIwMDAwMDAwLCBwcml2ID0gMHgxMGEzMTg4LCBfZ3N0X3Jlc2VydmVkID0gewoJICAweDAgPHJlcGVhdHMgMjAgdGltZXM+fX0sIHdpZHRoID0gMCwgaGVpZ2h0ID0gMCwgcHJpdiA9IDB4MTBhMzE4MCwKCSAgX2dzdF9yZXNlcnZlZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9fSwgZml4aW5mbyA9IHsKCSAgaWQgPSAnXDAwMCcgPHJlcGVhdHMgMTUgdGltZXM+LCBzbWVtX3N0YXJ0ID0gMTA3ODk4NDcwNCwKCSAgc21lbV9sZW4gPSA0NjA4MDAwLCB0eXBlID0gMCwgdHlwZV9hdXggPSAwLCB2aXN1YWwgPSAyLCB4cGFuc3RlcCA9IDEsCgkgIHlwYW5zdGVwID0gMSwgeXdyYXBzdGVwID0gMCwgbGluZV9sZW5ndGggPSAzODQwLCBtbWlvX3N0YXJ0ID0gMCwKCSAgbW1pb19sZW4gPSAwLCBhY2NlbCA9IDAsIGNhcGFiaWxpdGllcyA9IDAsIHJlc2VydmVkID0gezAsIDB9fSwgdmFyaW5mbyA9IHsKCSAgeHJlcyA9IDgwMCwgeXJlcyA9IDQ4MCwgeHJlc192aXJ0dWFsID0gMTkyMCwgeXJlc192aXJ0dWFsID0gMTIwMCwKCSAgeG9mZnNldCA9IDAsIHlvZmZzZXQgPSAwLCBiaXRzX3Blcl9waXhlbCA9IDE2LCBncmF5c2NhbGUgPSAwLCByZWQgPSB7CgkgIG9mZnNldCA9IDExLCBsZW5ndGggPSA1LCBtc2JfcmlnaHQgPSAwfSwgZ3JlZW4gPSB7b2Zmc2V0ID0gNSwKCSAgbGVuZ3RoID0gNiwgbXNiX3JpZ2h0ID0gMH0sIGJsdWUgPSB7b2Zmc2V0ID0gMCwgbGVuZ3RoID0gNSwKCSAgbXNiX3JpZ2h0ID0gMH0sIHRyYW5zcCA9IHtvZmZzZXQgPSAwLCBsZW5ndGggPSAwLCBtc2JfcmlnaHQgPSAwfSwKCSAgbm9uc3RkID0gMCwgYWN0aXZhdGUgPSAwLCBoZWlnaHQgPSA0Mjk0OTY3Mjk1LCB3aWR0aCA9IDQyOTQ5NjcyOTUsCgkgIGFjY2VsX2ZsYWdzID0gMSwgcGl4Y2xvY2sgPSAwLCBsZWZ0X21hcmdpbiA9IDAsIHJpZ2h0X21hcmdpbiA9IDAsCgkgIHVwcGVyX21hcmdpbiA9IDAsIGxvd2VyX21hcmdpbiA9IDAsIGhzeW5jX2xlbiA9IDAsIHZzeW5jX2xlbiA9IDAsCgkgIHN5bmMgPSAwLCB2bW9kZSA9IDAsIHJvdGF0ZSA9IDAsIGNvbG9yc3BhY2UgPSAwLCByZXNlcnZlZCA9IHswLCAwLCAwLCAwfX0sCgkgIGZkID0gNSwKCSAgZnJhbWVidWZmZXIgPSAweGI2NTRhMDAwIDxlcnJvcjogQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweGI2NTRhMDAwPiwgZGV2aWNlID0gMHgxMGEzOGQ4ICIvZGV2L2ZiMCIsIHdpZHRoID0gMzIwLCBoZWlnaHQgPSAyNDAsIGN4ID0gMjQwLCBjeSA9IDEyMCwKCSAgbGluZWxlbiA9IDEyODAsIGxpbmVzID0gMjQwLCBieXRlc3BwID0gNCwgZnBzX24gPSAzMCwgZnBzX2QgPSAxfQoJICAoZ2RiKSBwIG1hcAoJICAkMyA9IHttZW1vcnkgPSAweGI1ZDI0MDA4LCBmbGFncyA9IEdTVF9NQVBfUkVBRCwKCSAgZGF0YSA9IDB4YjVkMjQwNTggJ1wzNzcnIDxyZXBlYXRzIDkwIHRpbWVzPiwgIlwzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhIi4uLiwKCSAgc2l6ZSA9IDE1MzYwMCwgbWF4c2l6ZSA9IDE1MzYwMywgdXNlcl9kYXRhID0gezB4MCwKCSAgMHhiNjllM2JhNCA8Z3N0X2Jhc2Vfc2lua19zZXRfbGFzdF9idWZmZXJfdW5sb2NrZWQrOTI+LCAweDEwYTMzNzgsIDB4MH0sCgkgIF9nc3RfcmVzZXJ2ZWQgPSB7MHgxLCAweDEwYTMzNzgsIDB4YjZmNTBkZDggPF9nc3RfZGVidWdfbWluPiwgMHhiNWMwODgzOH19CgkgIChnZGIpIHAgaQoJICAkNCA9IDEyMQoJICBGaXggdGhpcyBieSBjaGFuZ2luZyB0aGUgZmJkZXZzaW5rLT5ieXRlc3BwIGNhbGN1bGF0aW9uIHVzaW5nCgkgIHRoZSBmcmFtZSBidWZmZXIgeHJlc192aXJ0dWFsIHNpemUgaW5zdGVhZCBvZiB4cmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDgyCgoyMDE2LTAyLTIyIDEyOjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEV4cG9zZSBtb3JlIEdzdFZpZGVvT3ZlcmxheSBBUEkgaW4gdGhlIEdzdFBsYXllclZpZGVvT3ZlcmxheVZpZGVvUmVuZGVyZXIKCSAgRXhwb3NlIHRoZSBleHBvc2UoKSBhbmQgc2V0X3JlbmRlcl9yZWN0YW5nbGUoKSBtZXRob2RzLiBUaGVzZSBhcmUgdXNlZnVsIGZvcgoJICBwcm9wZXIgZnVuY3Rpb25pbmcgb2YgdGhlIHZpZGVvIG92ZXJsYXkgaW4gdmFyaW91cyBzaXR1YXRpb25zIGFuZCB0b29sa2l0cy4KCjIwMTYtMDItMjIgMjE6MDM6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGZpeCB0aGUgYnVpbGQKCSAgMmQyODc4MTIgd2FzIGluY29tcGxldGUKCjIwMTYtMDItMjIgMjA6NDk6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGVycm9yIG91dCBpZiB0aGUgY29uZmlndXJlZCBHTCBBUEkgaXMgdW5zdXBwb3J0ZWQgYnkgb3VyIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTgwMQoKMjAxNi0wMS0yNCAxNzo0MDozNyArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxbWxnbHNpbms6IFNjaGVkdWxlIG9uU2NlbmVHcnBhaEluaXRpYWxpemVkIHRvIGV4ZWN1dGUgb24gcmVuZGVyIHRocmVhZAoJICBvblNjZW5lR3JhcGhJbml0aWFsaXplZCgpIGlzIGNhbGxlZCBmcm9tIG5vbiByZW5kZXIgdGhyZWFkIGN1cnJlbnRseSB3aGVuCgkgIHNjZW5lIGdyYXBoIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMDMKCjIwMTYtMDEtMDcgMTg6MjY6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggbmVnb3RpYXRpb24gZXJyb3JzIHdpdGggbXVsdGktY2hhbm5lbCBmaWxlcwoJICBTZXQgZmFsbGJhY2sgY2hhbm5lbCBsYXlvdXQgb24gZmlsZXMgd2l0aCBtb3JlIHRoYW4gdHdvCgkgIGNoYW5uZWxzLiBOb3QgY2xlYXIgd2hlcmUgdG8gcmV0cmlldmUgdGhlIHJlYWwgbGF5b3V0IGZyb20KCSAgb3Igd2hhdCB0aGUgZGVmYXVsdCBsYXlvdXQgaXMgZm9yIEFJRkYgZmlsZXMsIHRoZSBzcGVjCgkgIG9ubHkgc2VlbXMgdG8gc3BlY2lmeSBzb21lIGxheW91dCBmb3IgdXAgdG8gNiBjaGFubmVscwoJICBhbmQgdGhlIGZpbGUgaW4gcXVlc3Rpb24gZG9lc24ndCBoYXZlIGEgQ0hBTiBjaHVuay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjQyNQoKMjAxNi0wMi0yMSAxMDozNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jZHhhcGFyc2UvY2R4YXBhcnNlLnZjcHJvajoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXgudmNwcm9qOgoJKiBnc3Qvb3ZlcmxheS9vdmVybGF5LnZjcHJvajoKCSogZ3N0L3J0anBlZy9ydGpwZWcudmNwcm9qOgoJKiBnc3Qvc21vb3RoL3Ntb290aC52Y3Byb2o6CgkqIGdzdC9zcGVlZC9zcGVlZC52Y3Byb2o6CgkqIGdzdC9zdGVyZW8vc3RlcmVvLnZjcHJvajoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2dzdC5zbG46CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZsdi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RuZW9uLmRzcDoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgd2luMzI6IHJlbW92ZSBvdXRkYXRlZCBidWlsZCBjcnVmdAoJICBUaGlzIGhhc24ndCBiZWVuIHRvdWNoZWQgZm9yIGdlbmVyYXRpb25zLCBkb2Vzbid0IHdvcmssCgkgIGFuZCBpcyBqdXN0IGNhdXNpbmcgY29uZnVzaW9uLiBXZSBhbHNvIGRvbid0IHdhbnQgdG8KCSAgbWFpbnRhaW4gdGhlc2UgZmlsZXMgbWFudWFsbHkuCgoyMDE2LTAyLTIwIDEyOjU1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkgIGRhYWxhOiBkb24ndCB1c2UgZXhwb3J0ZWQgYnV0IHVuZGVjbGFyZWQgY29yZSBkZWJ1ZyBjYXRlZ29yeSBzeW1ib2xzCgkgIEl0J3Mgbm90IHJpZ2h0IGFuZCB3b24ndCB3b3JrIG9uIFdpbmRvd3Mgd2l0aCBNU1ZDLgoKMjAxNi0wMi0xOSAxNDoyNzo1OSAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggaW5pdGlhbGl6YXRpb24gb2Ygc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZwoJICBILjI2NSA3LjQuNy4xIHNheXM6CgkgID4gV2hlbiBzbGljZV9kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnIGlzIG5vdCBwcmVzZW50LCBpdCBpcwoJICA+IGluZmVycmVkIHRvIGJlIGVxdWFsIHRvIHBwc19kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMzUxCgoyMDE2LTAyLTE5IDE2OjQwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIHNjYW5uaW5nIGZvciBzeW5jIGNvZGUKCSAgT25seSBzZWFyY2ggaWYgdGhlcmUgaXMgaW5kZWVkIGVub3VnaCBkYXRhIHRvIGJlIHNlYXJjaGVkIG90aGVyd2lzZQoJICBhbiBhc3NlcnRpb24gaXMgcmFpc2VkCgoyMDE2LTAyLTE5IDE3OjQ4OjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IEZpeCBwZXItcHJvZ3JhbS1wYWQgcHVzaGluZwoJICBUaGlzIGZpeGVzIGEgY291cGxlIG9mIGlzc3VlcyByZWdhcmRpbmcgdGhlIG91dHB1dCBvZiAocmVxdWVzdCkKCSAgcGVyLXByb2dyYW0gcGFkcyBvdXRwdXQ6CgkgIFdlIHdvdWxkIG5ldmVyIHB1c2ggb3V0IFBBVCBzZWN0aW9ucyAob2ssIHRoYXQgd2FzIG9uZSByZWFsbGx5IHN0dXBpZAoJICBtaXN0YWtlLiBJIGd1ZXNzIG5vYm9keSBldmVyIHVzZXMgdGhpcyBmZWF0dXJlIC4uLikuCgkgIEluIHRoZSBjYXNlIHdoZXJlIHRoZSBQTVQgc2VjdGlvbiBvZiBhIHByb2dyYW0gd2FzIGJpZ2dlciB0aGFuIG9uZQoJICBwYWNrZXQsIHdlIHdvdWxkIG9ubHkgZW5kIHVwIHB1c2hpbmcgdGhlIGxhc3QgcGFja2V0IG9mIHRoYXQgUE1ULiBXaGljaAoJICBvYnZpb3VzbHkgcmVzdWx0cyBpbiB0aGUgcmVzdWx0aW5nIHN0cmVhbSBuZXZlciBjb250YWluaW5nIHRoZSBwcm9wZXIKCSAgKGNvbXBsZXRlKSBQTVQuCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IHRoZSBwcm9ncmFtIGlzIG9ubHkgc3RhcnRlZCAoaW4gdGhlIGJhc2UgY2xhc3MpCgkgIGFmdGVyIHRoZSBQTVQgc2VjdGlvbiBpcyBjb21wbGV0ZWx5IHBhcnNlZC4gV2hlbiBkZWFsaW5nIHdpdGggc2luZ2xlLXByb2dyYW0KCSAgcGFkcywgdHNwYXJzZSBvbmx5IHdhbnRzIHRvIHB1c2ggdGhlIFBNVCBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXF1ZXN0ZWQKCSAgcHJvZ3JhbSAoYW5kIG5vdCB0aGUgb3RoZXIgb25lcykuIHRzcGFyc2UgZGlkIHRoYXQgY2hlY2sgYnkgbG9va2luZwoJICBhdCB0aGUgc3RyZWFtcyBvZiB0aGUgcHJvZ3JhbS4uLgoJICAuLi4gYnV0IHRoYXQgcHJvZ3JhbSBkb2Vzbid0IGV4aXN0IGZvciB0aGUgZmlyc3QgcGFja2V0cyBvZiB0aGUgaW5pdGlhbAoJICBQTVQuCgkgIFRoZSBmaXggaXMgdG8gdXNlIHRoZSBiYXNlIGNsYXNzIHByb2dyYW0gaW5mb3JtYXRpb24gKGlmIGl0IHBhcnNlZCB0aGUKCSAgUEFUIGl0IGFscmVhZHkgaGFzIHNvbWUgaW5mb3JtYXRpb24sIGxpa2UgdGhlIFBNVCBQSUQgZm9yIGEgZ2l2ZW4gcHJvZ3JhbSkKCSAgaWYgdGhlIHByb2dyYW0gaGFzbid0IHN0YXJ0ZWQgeWV0LgoKMjAxNi0wMi0xOSAxNzo0NToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogVXNlIEdzdEZsb3dDb21iaW5lcgoJICBJbiBhZGRpdGlvbiB0byB0aGUgZmFjdCB0aGF0IGl0J3MgYSBzYW5lIHRoaW5nIHRvIGRvIGZvciBtdWx0aS1zb3VyY2UKCSAgcGFkIGVsZW1lbnRzLCBpdCBhbHNvIGF2b2lkcyB0aGUgc2l0dWF0aW9uIHdoZXJlIGp1c3QgdXNpbmcgYSByZXF1ZXN0CgkgIHBhZCAoYW5kIG5vdCB0aGUgbWFpbiBzdGF0aWMgcGFkKSB3b3VsZCByZXN1bHQgaW4gdGhlIHByb2Nlc3NpbmcKCSAgc3RvcHBpbmcuCgoyMDE2LTAyLTE5IDEyOjM4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMiA9PT0KCjIwMTYtMDItMTkgMTE6NTA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMgoKMjAxNi0wMi0xOSAxMDozMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMi0xOCAxNDozMjoyMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQtdW5pbnN0YWxsZWQucGMuaW46CgkgIHVuaW5zdGFsbGVkLnBjOiBhZGQgc3VwcG9ydCBmb3Igbm9uIGxpYnRvb2wgYnVpbGQgc3lzdGVtcwoJICBDdXJyZW50bHkgdGhlIC5sYSBwYXRoIGlzIHByb3ZpZGVkIHdoaWNoIHJlcXVpcmVzIHRvIHVzZSBsaWJ0b29sIGFzCgkgIG1lbnRpb25lZCBpbiB0aGUgR1N0cmVhbWVyIG1hbnVhbCBzZWN0aW9uLWhlbGxvd29ybGQtY29tcGlsZXJ1bi5odG1sLgoJICBJdCBpcyBmaW5lIGFzIGxvbmcgYXMgdGhlIGFwcGxpY2F0aW9uIGlzIGJ1aWx0IHVzaW5nIGxpYnRvb2wuCgkgIFNvIGN1cnJlbnRseSBpdCBpcyBub3QgcG9zc2libGUgdG8gY29tcGlsZSBhIEdTdHJlYW1lciBhcHBsaWNhdGlvbgoJICB3aXRoaW4gZ3N0LXVuaW5zdGFsbGVkIHdpdGggQ01ha2Ugb3Igb3RoZXIgYnVpbGQgc3lzdGVtIGRpZmZlcmVudAoJICB0aGFuIGF1dG90b29scy4KCSAgVGhpcyBwYXRjaCBhbGxvd3MgdG8gZG8gdGhlIGZvbGxvd2luZyBpbiBnc3QtdW5pbnN0YWxsZWQgZW52OgoJICBnY2MgdGVzdC5jIC1vIHRlc3QgJChwa2ctY29uZmlnIC0tY2ZsYWdzIC0tbGlicyBnc3RyZWFtZXItMS4wIFwKCSAgZ3N0cmVhbWVyLWdsLTEuMCkKCSAgUHJldmlvdXNseSBpdCByZXF1aXJlZCB0byBwcmVwZW5kIGxpYnRvb2wgLS1tb2RlPWxpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDc3OAoKMjAxNi0wMi0xOCAxNjoyMTozOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGRlYnVnOiBtYWtlIHN1cmUgZGVidWcgaXMgaW5pdGlhbGl6ZWQgd2hlbiBjYWxsaW5nIGdzdF9nbF9pbnNlcnRfZGVidWdfbWFya2VyCgkgIFVzdWFsbHkgZ2wgZGVidWcgaXMgaW5pdGlhbGl6ZWQgaW4gZ3N0X2dsX2NvbnRleHRfY3JlYXRlX3RocmVhZC4KCSAgQnV0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHVzZWQgd2hlbiB1c2luZyB0aGUgR3N0R0xDb250ZXh0R1BVUHJvY2VzcwoJICBmcm9tIENocm9taXVtR1N0cmVhbWVyQmFja2VuZC4KCSAgUmVjZWl2ZWQgc2lnbmFsIDExIFNFR1ZfTUFQRVJSIDAwMDAwMDAwMDAwMAoJICBnc3RfZGVidWdfY2F0ZWdvcnlfZ2V0X3RocmVzaG9sZAoJICBnc3RfZ2xfaW5zZXJ0X2RlYnVnX21hcmtlcgoJICBnc3RfZ2xfYmFzZV9maWx0ZXJfZ2xfc3RhcnQKCjIwMTYtMDItMTggMTA6MzM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdXRpbHMvZ2xlc192ZXJzaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvdXRpbHMvb3BlbmdsX3ZlcnNpb25zLmg6CgkgIGdsOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgY29uc3QgdmFyaWFibGUgd2l0aCBnY2MgNgoJICBDQyAgICAgICBsaWJnc3RnbF94MTFfbGEtZ3N0Z2xjb250ZXh0X2dseC5sbwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0Z2xjb250ZXh0X2dseC5jOjM5OjA6CgkgIC4uL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOjUyOjQzOiBlcnJvcjog4oCYZ2xlczJfdmVyc2lvbnPigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWNvbnN0LXZhcmlhYmxlXQoJICBzdGF0aWMgY29uc3Qgc3RydWN0IHsgaW50IG1ham9yLCBtaW5vcjsgfSBnbGVzMl92ZXJzaW9uc1tdID0gewoJICBefn5+fn5+fn5+fn5+fgoKMjAxNi0wMi0xOCAxMDoyOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IE1vdmUgcHJpdmF0ZSBoZWFkZXJzIGZyb20gU09VUkNFUyB0byBub2luc3RfSEVBREVSUwoKMjAxNi0wMi0xOCAwMDoyNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IEMrKzExIGNvbXBhdGliaWxpdHkKCSAgZ3N0bW9kcGx1Zy5jYzo5NDoxNzogZXJyb3I6IGludmFsaWQgc3VmZml4IG9uIGxpdGVyYWw7IEMrKzExIHJlcXVpcmVzIGEgc3BhY2UgYmV0d2VlbiBsaXRlcmFsIGFuZCBzdHJpbmcgbWFjcm8gWy1XZXJyb3I9bGl0ZXJhbC1zdWZmaXhdCgkgICNkZWZpbmUgRk9STUFUUyAieyAiR1NUX0FVRElPX05FIChTMzIpIiwgIkdTVF9BVURJT19ORSAoUzE2KSIsIFU4IH0iCgkgIF4KCSAgZ3N0bW9kcGx1Zy5jYzo5NDozOTogZXJyb3I6IGludmFsaWQgc3VmZml4IG9uIGxpdGVyYWw7IEMrKzExIHJlcXVpcmVzIGEgc3BhY2UgYmV0d2VlbiBsaXRlcmFsIGFuZCBzdHJpbmcgbWFjcm8gWy1XZXJyb3I9bGl0ZXJhbC1zdWZmaXhdCgkgICNkZWZpbmUgRk9STUFUUyAieyAiR1NUX0FVRElPX05FIChTMzIpIiwgIkdTVF9BVURJT19ORSAoUzE2KSIsIFU4IH0iCgkgIF4KCjIwMTYtMDItMTYgMTU6MTA6MzQgKzAxMDAgIERhdmlkIEZlcm5hbmRleiA8ZC5mZXJuYW5kZXpsb3BAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogZG9uJ3Qgc2VuZCBlbXB0eSBidWZmZXJzCgkgIEZpeGVzIHByb2JsZW0gaW4gY3VybGh0dHBzaW5rIHdoZW4gcXRtdXggdXNlcyBmYXN0c3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIwMTMKCjIwMTYtMDItMTcgMTE6MTY6NTMgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogRml4IHNvbWUgZGVidWdzCgoyMDE2LTAxLTI2IDA5OjM0OjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NF9zcmM6IEZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIHY0bF9jYXBzIGFuZCBuZXdfY2FwcyBhcmUgYmVpbmcgYWxsb2NhdGVkIG5ldyBtZW1vcnkgYmVmb3JlIGZyZWVpbmcgdGhlCgkgIG9sZCBhbGxvY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMTA4CgoyMDE1LTEyLTI0IDE1OjM2OjU0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3IgY29kZSB0byBjaGVjayBmb3Igc3ViY2xhc3Mgc2VlayBoYW5kbGluZwoJICBJZiBzdWJjbGFzcyBpcyBub3QgYWJsZSB0byBoYW5kbGUgc2VlayBldmVudCwgdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvCgkgIHN0b3Agc3RyZWFtaW5nIGFuZCBzZW5kIGZsdXNoIGV2ZW50cy4gV2Ugc2hvdWxkIHNpbXBseSByZXR1cm4gRkFMU0UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNgoKMjAxNS0xMi0yNCAxNToxMDoxNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEFkZCBjb25kaXRpb24gdG8gY2hlY2sgZm9yIG5vbiB3b3JraW5nIG5lZ2F0aXZlIHJhdGUKCSAgdHNkZW11eCBpcyBub3QgYWJsZSB0byBoYW5kbGUgbmVnYXRpdmUgcGxheWJhY2sgcmF0ZXMuCgkgIEJ1dCBpbiBtcGVndHNiYXNlLCB0aGUgc2FtZSBjaGVjayBpcyBub3QgYmVpbmcgZG9uZS4KCSAgYWRkZWQgYSBjaGVjayB0byBub3QgaGFuZGxlIG5lZ2F0aXZlIHJhdGUgd2hpbGUgc2Vla2luZyB1bmxlc3MKCSAgdGhlIHNhbWUgaXMgaGFuZGxlZCB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNgoKMjAxNi0wMi0xNyAxMzowMDo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBpbnNlcnQgdGhlIGRlYnVnIG1hcmtlciBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTUzOAoKMjAxNi0wMi0xNyAxMTo0MjoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW5zZWQgcmVjb25maWd1cmUgdmFyaWFibGUKCjIwMTYtMDEtMTMgMTM6MTc6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IHB1c2ggYSByZWNvbmZpZ3VyZSBldmVudCBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgRG9pbmcgc28gbWF5IGNhdXNlIGRlYWRsb2NrcyB3aGVuIG90aGVyIGVsZW1lbnRzIGF0dGVtcHQgZGVzdHJveSBvciBjcmVhdGVkCgkgIEdMIHJlc291cmNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1OQoKMjAxNi0wMS0yMSAxMDo0MDozNiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCBsZWFrIHBhZCdzIHZlcnRleCBidWZmZXIgb24gcmVsZWFzZV9wYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg3MwoKMjAxNi0wMi0xNyAwMTowODoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4Lmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbG1peGVyOiBSZW1vdmUgdXNhZ2Ugb2YgR3N0R0xNaXhlckZyYW1lRGF0YQoJICBTdWJjbGFzc2VzIGNhbiBqdXN0IGl0ZXJhdGUgb3ZlciB0aGUgbGlzdCBvZiBwYWRzIHRoZW1zZWx2ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg3MwoKMjAxNi0wMS0xMyAxNDo0MToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbGUgY2FsbGluZyBpbnRvIEdMCgkgIERvaW5nIHNvIGNhbiBkZWFkbG9jayBiZXR3ZWVuIHRoZSBHTCB0aHJlYWQgYW5kIHRoZSBvYmplY3QgbG9jayBlLmcuCgkgIHdoZW4gcGVyZm9ybWluZyByZWNvbmZpZ3VyZSBldmVudHMgaW4gZ2xpbWFnZXNpbmsgb24gYSByZXNpemUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTkKCjIwMTYtMDItMTYgMjI6MzQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb246IG1ha2UgY2hlY2stZXhwb3J0cyBub3QgZmFpbCBmb3IgbGliZ3N0Z2wuZGVmCgkgIFNob3VsZCBmaXggZGlzdGNoZWNrIG9uIHNvbWUgYnVpbGQgYm90cy4KCjIwMTYtMDEtMjYgMDk6Mzc6MDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21lbmMvYWNtbXAzZGVjOiByZW1vdmUgdW5uZWNlc3NhcnkgYnJlYWsgYWZ0ZXIgcmV0dXJuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExMDkKCjIwMTUtMDctMjEgMTg6MDI6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbXByb3ZlIGNoZWNrIGZvciB3YXlsYW5kLXNjYW5uZXIgYmluYXJ5CgkgIFRoZSBwbHVnaW4gZG9lc24ndCBuZWVkIHRoZSB3YXlsYW5kLXNjYW5uZXIgcGFja2FnZSB0byBiZSBidWlsdAoJICBvciBydW4sIGl0IG9ubHkgbmVlZHMgdGhlIHdheWxhbmQtc2Nhbm5lciBwcm9ncmFtIGR1cmluZyBjb21waWxlIHRpbWUuCgkgIFdoZW4gY3Jvc3MtY29tcGlsaW5nLCBidWlsZCBzeXN0ZW1zIG1pZ2h0IG5vdCBoYXZlIHRoZSB3YXlsYW5kLXNjYW5uZXIKCSAgcGFja2FnZSBmb3IgdGhlIHRhcmdldCBzeXN0ZW0gYXMgaXQgaXMgYSBkZXZlbG9wZXIncyB0b29sLCB3aGlsZSBpdCBzaG91bGQKCSAgc3RpbGwgYmUgcG9zc2libGUgdG8gdXNlIHdheWxhbmQtc2Nhbm5lciBmcm9tIHRoZSBob3N0IHN5c3RlbS4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBub3QgcmVxdWlyaW5nIHRoZSB3YXlsYW5kLXNjYW5uZXIgcGFja2FnZSBidXQKCSAganVzdCB0aGUgYmluYXJ5IGl0c2VsZi4KCSAgTm90ZSB0aGF0IHRoZSBjaGVjayBpcyBkb25lIG91dHNpZGUgb2YgdGhlIFBLR19DSEVDS19NT0RVTEVTCgkgIGFzIGl0IGRvZXNuJ3Qgd29yayBpbnNpZGUgb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2ODgKCjIwMTYtMDEtMjEgMTE6NTM6MzMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmVzdG9yZSBiaXRyYXRlIGF2ZXJhZ2luZyBzdXBwb3J0CgkgIFRoaXMgd2FzIGFjY2lkZW50YWxseSByZW1vdmVkIGluIGNvbW1pdCBjY2ZmM2JlMy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk1OQoKMjAxNi0wMS0yMCAxNTozMzoyOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHF1ZXVlMiBvdmVycnVuIG5vdGlmaWNhdGlvbgoJICBEdWUgdG8gcGVyZm9ybWFuY2UgaW1wYWN0IGNvbmNlcm5zIHRoaXMgaXMgcmVtb3ZlZC4gQW4gYWx0ZXJuYXRpdmUKCSAgYXBwcm9hY2ggd291bGQgYmUgdG8gcmVseSBvbiBidWZmZXJpbmcgbWVzc2FnZXMgbW9uaXRvcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk1OQoKMjAxNi0wMi0xNiAxNjoxODoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogYWRkIHRoZSBuZWNlc3NhcnkgYnV0IGFyYml0cmFyeSBxdWV1ZSBwcmlvcml0eQoJICBTaWxlbmNlcyBhbiBlcnJvciBpbiB0aGUgdmFsaWRhdGlvbiBsYXllcnMuCgoyMDE2LTAyLTE2IDE2OjEyOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFkZCB0aGUgbmVjZXNzYXJ5IGNhbGwgdG8gY2hlY2sgaWYgdGhlIHBoeXNpY2FsIGRldmljZSBzdXBwb3J0cyB0aGUgc3VyZmFjZQoJICBTaWxlbmNlcyBhbiBlcnJvciBpbiB0aGUgdmFsaWRhdGlvbiBsYXllcnMuCgoyMDE2LTAyLTE2IDE1OjUzOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IHVwZGF0ZSB0byBTREsgMS4wLjMuMQoKMjAxNi0wMi0xNiAxNTozNjo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2dWxrYW4vYnVpbGQ6IHNlYXJjaCBmb3IgdGhlIGNvcnJlY3QgbGlicmFyeQoJICBTREsgMS4wLjEgdXNlZCBsaWJ2dWxrYW4tMS5zbywgMS4wLjIgdXNlcyBsaWJ2dWxrYW4uc28KCjIwMTYtMDItMTYgMTE6NTE6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogaXRlcmF0ZSBvdmVyIHRoZSBkZXZpY2UgcXVldWUncyB1c2luZyB0aGUgbmV3IGl0ZXJhdGlvbiBBUEkKCjIwMTYtMDItMTYgMTE6NDk6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJICB2a2RldmljZTogYWRkIGNhbGxiYWNrIGl0ZXJhdGlvbiBvdmVyIHRoZSBkZXZpY2UgcXVldWUncwoKMjAxNi0wMi0xNiAxMToyMjozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmM6CgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5oOgoJICB2a3F1ZXVlOiBhZGQgY29udGV4dCBoZWxwZXJzCgoyMDE2LTAyLTExIDAxOjMxOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSAgdmt1dGlsczogbW92ZSBvYmplY3Qtc3BlY2lmaWMgY29udGV4dCBxdWVyaWVzIHRvIHRoZWlyIHJlc3BlY3RpdmUgZmlsZXMKCSAgdmt1dGlscyBub3cganVzdCBjb250YWlucyBzb21lIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGZ1cnRoZXIgc2ltcGxpZnkgcmV0cmlldmluZwoJICBtdWx0aXBsZSBvYmplY3RzLgoKMjAxNi0wMi0xMSAwMDo1MDo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkgIHZrZGV2aWNlOiByZW1vdmUgdW5uZWVkZWQgZXJyb3IgcGFyYW1ldGVyIGZyb20gZ2V0X3F1ZXVlKCkKCjIwMTYtMDItMTAgMTg6MDY6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5oOgoJICB2a3VwbG9hZDogaW1wbGVtZW50IGFuIHVwbG9hZGVyIGFic3RyYWN0aW9uCgoyMDE2LTAyLTEwIDE5OjUwOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJICB2a2Rpc3BsYXk6IHVucmVmIHRoZSBpbnN0YW5jZQoJICBmaXhlcyBtZW1vcnkgbGVhawoKMjAxNi0wMi0xMCAxOTozNDo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiBjaGFpbiB1cCBpbiBmaW5hbGl6ZQoJICBUaGV5IHdlcmUgbWlzc2luZyBpbiBzb21lIGNhc2VzCgoyMDE2LTAyLTEwIDE4OjU4OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a3Npbms6IG9ubHkgdW5yZWYgaWYgdGhlIHBvaW50ZXJzIGFyZSBub24tTlVMTAoKMjAxNi0wMi0xMCAxODowNTo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IGZyZWUgdGhlIG1hbmFnaW5nIHN0cnVjdCBvbiBfZnJlZQoJICBmaXhlcyBhIG1lbW9yeSBsZWFrCgoyMDE2LTAyLTA5IDE4OjI2OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZrZGV2aWNlOiBwZXJmb3JtIGEgd2FpdElkbGUgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGRldmljZQoKMjAxNi0wMi0wOSAxNzo0Njo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgUmV2ZXJ0ICJ2dWxrYW46IHJlbW92ZSB2aWV3cyBmcm9tIHRoZSBtZW1vcnkgb2JqZWN0cy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWVhODE3Mjk4ZWU0ZDVlZjliMDBmODg4ZjhlYmUxNmE4ODhiMTE1MC4KCjIwMTYtMDItMDkgMTc6MzE6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVycG9vbC5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZ1bGthbm1lbW9yeTogcmVtb3ZlIGJpbmQgdmFyaWFudHMKCjIwMTYtMDItMDkgMTY6MjE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZ1bGthbjogcmVtb3ZlIHZpZXdzIGZyb20gdGhlIG1lbW9yeSBvYmplY3RzLgoJICBUaGV5IGFyZSBub3QgdXNlZCBhbmQgaXQncyBub3QgcG9zc2libGUgdG8gY3JlYXRlIHRoZSB2aWV3IGJlZm9yZSBiaW5kaW5nIHRoZQoJICBWa0RldmljZU1lbW9yeSBvYmplY3QgdG8gdGhlbS4KCjIwMTYtMDItMDkgMTE6MzQ6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogYWxwaGEgZmxhZ3MgYXJlIG5vdyBzdXBwb3J0ZWQgYnkgTHVuYXJHJ3MgZHJpdmVyCgoyMDE2LTAyLTA5IDAwOjA3OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJwb29sLmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJwb29sLmg6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSAgdnVsa2FuOiBhZGQgYSB2dWxrYW5idWZmZXIgYnVmZmVycG9vbAoKMjAxNi0wMi0wOCAyMjo0OToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi9nc3R2dWxrYW4uYzoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmg6CgkgIHZ1bGthbjogYWRkIHVwbG9hZCBlbGVtZW50CgoyMDE2LTAyLTA4IDE4OjI4OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSAgdmt1dGlsczogZml4IGFzc2VydCBpbnZlcnNpb24KCjIwMTYtMDItMDggMTg6Mjc6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZ1bGthbjogYWRkIGNhcHMgZmVhdHVyZSBuYW1lcyBmb3IgdGhlIGJ1ZmZlciBhbmQgaW1hZ2UgbWVtb3JpZXMKCjIwMTYtMDItMDggMTQ6NDQ6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSAgdnVsa2FuOiBhZGQgZGV2aWNlIHRvIGhhbmRsZV9jb250ZXh0X3F1ZXJ5CgoyMDE2LTAyLTA4IDE0OjMyOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSAgdnVsa2FuOiBtb3ZlIGluc3RhbmNlX29wZW4gaW50byB0aGUgdXRpbGl0eSBlbnN1cmVfZWxlbWVudF9kYXRhCgkgIFNvIGNhbGxlcnMgZG9uJ3QgaGF2ZSB0byBwZXJmb3JtIGl0IHRoZW1zZWx2ZXMuCgoyMDE2LTAyLTA4IDE0OjI1OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZraW5zdGFuY2U6IGFkZCBzaWduYWwgZm9yIG92ZXJyaWRpbmcgZGV2aWNlIGNyZWF0aW9uCgoyMDE2LTAyLTA4IDEyOjIyOjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZrbWFjcm9zLmg6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2dWxrYW46IHNlcGFyYXRlIGFsbG9jYXRpb24gYW5kIGJpbmRpbmcgb2YgbWVtb3J5CgoyMDE2LTAyLTA4IDEyOjE0OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkgIHZrYnVmZmVybWVtb3J5OiBmb2xsb3cgdGhlIHJlc3Qgb2YgdGhlIHN0cnVjdCBtYWNyb3MKCjIwMTYtMDItMDUgMTk6MzE6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogdXNlIGJ1ZmZlciBtZW1vcnkgdG8gdXBsb2FkIHZpZGVvIGZyYW1lcyB0byB0aGUgR1BVCgoyMDE2LTAyLTA1IDE5OjE4OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBhZGQgYSBidWZmZXIgbWVtb3J5IGFsbG9jYXRvcgoJICBXcmFwcyB0aGUgVmtCdWZmZXIgaW4gYSBHc3RNZW1vcnkgc3ViY2xhc3MuCgoyMDE2LTAyLTA1IDE5OjExOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5Lmg6CgkgIHZrbWVtb3J5OiBhbGlnbiBzdHJ1Y3QgbWVtYmVycyBpbiB0aGUgaGVhZGVyCgoyMDE2LTAyLTA1IDE5OjEwOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrbWFjcm9zLmg6CgkgIHZrbWFjcm9zOiB1c2Ugc3BlY2lmaWMgX0lOSVQgbWFjcm9zIHRvIGluaXRpYWxpemUgc3RydWN0dXJlcwoKMjAxNi0wMi0wNSAxOTowOTo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2a2ltYWdlbWVtb3J5OiBhZGQgZ2V0X3t3aWR0aCxoZWlnaHQpIGZ1bmN0aW9ucwoKMjAxNi0wMS0yNyAxNToyMDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSAgdnVsa2FuOiB1cGRhdGUgdG8gcmVsZWFzZSAxLjAuMS4xCgoyMDE2LTAxLTIyIDE0OjM0OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSAgdnVsa2FuL3hjYjogZmx1c2ggYWZ0ZXIgbWFwcGluZyB0aGUgd2luZG93CgkgIE90aGVyd2lzZSB0aGUgbWFwIG1heSBub3QgcmVhY2ggdGhlIHNlcnZlciBhbmQgbm90IGFwcGVhci4KCjIwMTYtMDEtMDQgMTY6NTE6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogZml4IHNlbWFwaG9yZSB1c2FnZQoKMjAxNS0xMi0zMSAxNjozNDoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBhZGQgc29tZSBkZWJ1Z2dpbmcgYWJvdXQgdGhlIHN1cHBvcnRlZCBleHRlbnNpb25zCgoyMDE1LTEyLTMxIDE1OjU4OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGdldCB0aGUgZnVuY3Rpb24gcG9pbnRlcnMgZnJvbSB0aGUgY29ycmVjdCBvYmplY3QKCSAgR2V0UGh5c2ljYWxEZXZpY2UqIGZ1bmN0aW9ucyBhcmUgaW5zdGFuY2UgZnVuY3Rpb25zIHJhdGhlciB0aGFuIGRldmljZQoJICBmdW5jdGlvbnMuCgoyMDE1LTEyLTMxIDE1OjM4OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkgIHZraW5zdGFuY2U6IGFkZCB0aGUgbmVjZXNzYXJ5IHdpbnN5cyBleHRlbnNpb24KCjIwMTUtMTItMzEgMTU6MzQ6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkgIHZrZGlzcGxheTogZm9yd2FyZCBkZWNsYXJlIEdzdFZ1bGthbkRpc3BsYXlUeXBlCgoyMDE1LTEyLTMxIDE1OjMyOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkgIHZrYXBpOiByZW1vdmUgdW5uZWVkZWQgaGVhZGVycwoJICB2a2FwaSBpcyBmb3IgYWNjZXNzaW5nIHRoZSB2dWxrYW4gaGVhZGVycyB3aXRoIHRoZSBjb3JyZWN0IGRlZmluZXMgYXBwbGllZCBzbwoJICBkb2Vzbid0IG5lZWQgYW55IGludGVyYWwgaGVhZGVycy4KCjIwMTUtMTItMzAgMTU6MTU6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBmaXggdGhlIG1lbW9yeSBiYXJyaWVyIGFjY2VzcyBtYXNrcwoJICBzaWxlbmNlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmdzIGZyb20gdGhlIHZhbGlkYXRpb24gbGF5ZXIKCSAgQWNjZXNzTWFzayB4eHggbXVzdCBoYXZlIHJlcXVpcmVkIGFjY2VzcyBiaXQgeHh4IGFuZCBtYXkgaGF2ZSBvcHRpb25hbCBiaXRzIDAKCSAgd2hlbiBsYXlvdXQgaXMgVktfSU1BR0VfTEFZT1VUX1RSQU5TRkVSX3tTUkMsRFNUfV9PUFRJTUFMCgoyMDE1LTEyLTMwIDE1OjE0OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IG9ubHkgd2FpdCBvbiB0aGUgc2VtYXBob3JlIG9uY2UKCSAgSXQncyBpbnZhbGlkIHVzYWdlIGFuZCB3ZSBtYXkgZGVhZGxvY2sKCjIwMTUtMTItMzEgMDE6Mjc6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBpbml0aWFsaXplIGZsYWdzIGFuZCBkb24ndCBjcmFzaCBvbiBlcnJvcnMKCjIwMTUtMTItMzAgMTQ6MDY6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2Vycm9yLmM6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiB1cGRhdGUgZXJyb3IgZGIgZm9yIDAuMTAuMgoKMjAxNS0xMi0yOSAxNjowNToxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmttYWNyb3MuaDoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuaDoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmg6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuaDoKCSAgdnVsa2FuOiB1cGRhdGUgdG8gU0RLIDAuMTAuMgoKMjAxNS0xMi0wNyAxNzozMzo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5oOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHNfcHJpdmF0ZS5oOgoJICB2dWxrYW46IGltcGxlbWVudCBHc3RDb250ZXh0IGhlbHBlcnMKCSAgQmFzZWQgb2ZmIGxpYmdzdGdsJ3MgaW1wbGVtZW50YXRpb24KCjIwMTUtMTItMDcgMTc6MjE6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a2RldmljZTogcmVtb3ZlIGdzdF92dWxrYW5fZGV2aWNlX2Nsb3NlKCkKCSAgV2hlbiBzaGFyaW5nIHRoZSBkZXZpY2UgYmV0d2VlbiBtdWx0aXBsZSBlbGVtZW50cy9hcHBsaWNhdGlvbiwgd2UgbmVlZAoJICB0byB1c2UgdGggZXJlZmNvdW50IHRvIGtub3cgd2hlbiB0byBjbG9zZSB0aGUgZGV2aWNlLgoKMjAxNS0xMi0wNyAxNzowMDozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a2luc3RhbmNlOiByZW1vdmUgZ3N0X3Z1bGthbl9pbnN0YW5jZV9jbG9zZQoJICBTaGFyaW5nIHRoZSBpbnN0YW5jZSBhY3Jvc3MgbXVsdGlwbGUgZWxlbWVudHMvYXBwbGljYXRpb24gd2lsbCByZXF1aXJlCgkgIHVzaW5nIHRoZSByZWZjb3VudCBpbnN0ZWFkIHRvIGtub3cgd2hlbiB0byBjbG9zZSBhbmQgZGVzdHJveSB0aGUgaW5zdGFuY2UuCgoyMDE1LTEyLTA3IDE2OjQ2OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IHJlbW92ZSBvdXRkYXRlZCBjb21tZW50CgoyMDE1LTEyLTA3IDE2OjM5OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFsd2F5cyBtYXRjaCBsb2NrL3VubG9jayBvZiB0aGUgcmVuZGVyIGxvY2sKCSAgSWYgYSBkcmF3IGV2ZW50IGNvbWVzIGZyb20gdGhlIHdpbnN5cyBiZWZvcmUgd2UndmUgcmVuZGVyZWQgYSBidWZmZXIgd2Ugd2VyZQoJICBkZWFkbG9ja2luZy4KCjIwMTUtMTItMDIgMTc6NTQ6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkgIHZrbWVtb3J5OiBkZWJ1ZyBvdXRwdXQgdGhlIG1lbW9yeSBwcm9wZXJ0aWVzIHJlcXVlc3RlZAoKMjAxNS0xMi0wMiAxNzoxNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IGRvbid0IGxlYWsgR3N0TWFwSW5mbyBpbiBmYWlsdXJlIGNhc2VzIG9uIF9tYXAoKQoKMjAxNS0xMi0wMiAxNzoxMDozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiBkZS1DOTkgc3RydWN0IGRlY2xhcmF0aW9ucwoKMjAxNS0xMi0wMSAxODozNzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuYzoKCSAgdmt3aW5kb3cvc3dhcHBlcjogaW1wbGVtZW50IHJlZHJhdyBoYW5kbGluZwoJICBvbmx5IHhjYiBoYXMgYmVlbiBpbXBsZW1lbnRlZAoKMjAxNS0xMi0wMSAxNjoyODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuYzoKCSAgdnVsa2FuOiBpbXBsZW1lbnQgcXVpdHRpbmcgYW5kIHJlc2l6aW5nIHRoZSB3aW5kb3cKCSAgQXMgYmVmb3JlLCBvbmx5IHhjYiBoYXMgYmVlbiBpbXBsZW1lbnRlZC4KCjIwMTUtMTAtMjQgMTc6Mjk6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuLy5naXRpZ25vcmU6CgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vZ3N0dnVsa2FuLmM6CgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5jOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZrcXVldWUuYzoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuaDoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5oOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmM6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuaDoKCSAgbmV3IHZ1bGthbiBiYXNlZCB2aWRlbyBzaW5rCgkgIEN1cnJlbnRseSB4Y2IgaXMgdGhlIG9ubHkgd2luc3lzIHRoYXQgaXMgaW1wbGVtZW50ZWQgYW5kIHRoZXJlJ3Mgbm8gcmVkcmF3cyBldAoJICBhbAoKMjAxNi0wMi0xNiAxMjozODoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9jYnJfc3RyZWFtLm1wMzoKCSogdGVzdHMvZmlsZXMvc3RyZWFtLm1wMjoKCSogdGVzdHMvZmlsZXMvdmJyX3N0cmVhbS5tcDM6CgkgIHRlc3RzOiByZW1vdmUgdGVzdCBmaWxlcyBubyBsb25nZXIgbmVlZGVkCgoyMDE2LTAyLTE2IDEwOjQ0OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBtb3ZlIHBsdWdpbiBmcm9tIC1iYWQgdG8gLXVnbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTg0OQoKMjAxNi0wMi0xNiAxOTo1OToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkgIGd0ayhnbClzaW5rOiByZW1vdmUgdGhlIHNpZ25hbCBoYW5kbGVycyBvbiBmaW5hbGl6ZQoJICBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHNpbmsgZWxlbWVudCB3aWxsIGJlIGZyZWVkIGJlZm9yZSB0aGUgd2lkZ2V0IGlzCgkgIGRlc3Ryb3llZC4gIFdoZW4gdGhlIHdpZGdldCB3YXMgZXZlbnR1YWxseSBkZXN0cm95ZWQsIGl0IHdhcyBhdHRlbXB0aW5nIHRvCgkgIGFjY2VzcyBtZW1iZXIgdmFyaWFibGVzIG9mIHRoZSBmcmVlZCBzaW5rIHN0cnVjdCB3aGljaCByZXN1bHRlZCBpbiB1bmRlZmluZWQKCSAgYmVoYXZpb3VyLgoJICBGaXggYnkgZGlzY29ubmVjdGluZyBvdXIgc2lnbmFsIG9uIGZpbmFsaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDk4CgoyMDE2LTAyLTE2IDA4OjQ4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IFJlbW92ZSBsZWZ0b3ZlciBnX3ByaW50cwoJICBPbmUgd2FzIGNvbW1lbnRlZCBvdXQsIGJ1dCB3ZSBhbHNvIGRvbid0IHVzZSAvLyBjb21tZW50cyA6KQoKMjAxNi0wMi0xNiAxNDo0MTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogdXNlIHRoZSBjb3JyZWN0IHNwZWxsaW5nIGZvciBiZWhhdmlvcgoJICBUaGUgaGVhZGVycyB1c2UgdGhlIGFtZXJpY2FuIHNwZWxsaW5nIG9mIGJlaGF2aW9yIG5vdCB0aGUgVUsvQVVTIHZlcnNpb24gd2l0aAoJICB0aGUgZXh0cmEgVS4KCjIwMTYtMDItMTYgMTM6NTg6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xjb250ZXh0OiBkb24ndCBlbmFibGUgR0wgZGVidWcgZm9yIG1lc3NhZ2VzIHRoYXQgd29uJ3QgYmUgbG9nZ2VkCgkgIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRvIGF2b2lkIHBvaW50bGVzcyBzdHJpbmcgcHJvY2Vzc2luZy4KCjIwMTYtMDItMTYgMTM6MDE6MjAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkgIGdsdmlkZW9mbGlwOiBkb24ndCBpZ25vcmUgbWV0aG9kIGNoYW5nZXMgd2hlbiBjYXBzIGFyZW4ndCBzZXQgKHlldCkKCjIwMTYtMDItMTYgMDA6MzM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogbW92ZSBSVFAgSC4yNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTUtMTAtMDcgMjM6NDk6NTggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbmV0c2ltL01ha2VmaWxlLmFtOgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmV0c2ltLmM6CgkgIG5ldHNpbTogQWRkIG5ldHNpbSBlbGVtZW50CgkgIFJlc3VycmVjdGVkIGZyb20gdGhlIEZhcnN0cmVhbSByZXBvc2l0b3J5IGFuZCBnaXZlbiBhbgoJICBvdmVyaGF1bCB0byBmaXggcmFjZXMsIGRlYWRsb2NrcyBldGMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyNTIKCjIwMTUtMTEtMjAgMTk6Mzg6MDMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBnc3RfZGFzaF9kZW11eF9nZXRfbGl2ZV9zZWVrX3JhbmdlIHJldHVybnMgcG9zaXRpdmUgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzNzQKCjIwMTYtMDItMTAgMTA6MzE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbDogc3luY21ldGE6IGRlZmluZSBHTF9USU1FT1VUX0lHTk9SRUQgaW4gbW9yZSBwb3J0YWJsZSB3YXkKCjIwMTYtMDItMTAgMTY6Mzc6MjIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdzdGdsc2hhZGVyOiBjYWNoZSB1bmlmb3JtIGxvY2F0aW9ucwoJICBBdm9pZCByZWR1bmRhbnQgY2FsbHMgdG8gZ2xHZXRVbmlmb3JtTG9jYXRpb24uIFRoZSByZXN1bHRzIGNhbiBiZSBjYWNoZWQgb25jZQoJICB0aGUgc2hhZGVyIGhhcyBiZWVuIGxpbmtlZC4KCjIwMTYtMDItMTAgMTU6NDA6MDIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdmlkZW90ZXN0dXJlY2FjaGU6IGxldCBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlIGZsdXNoIGV2ZXJ5IDFzCgkgIExlYXZlIGtDVk9wZW5HTEVTVGV4dHVyZUNhY2hlTWF4aW11bVRleHR1cmVBZ2VLZXkgdG8gdGhlIGRlZmF1bHQgKDFzKS4gV2UgdXNlZAoJICB0byBzZXQgaXQgdG8gMCBhbmQgZmx1c2ggbWFudWFsbHksIGJ1dCBhcHBhcmVudGx5IChsb29raW5nIGF0IHRoZSBHTEVTIHByb2ZpbGVyKQoJICAwIG1lYW5zICJkaXNhYmxlIHRoZSBjYWNoZSBlbnRpcmVseSIuCgoyMDE2LTAyLTEwIDEzOjA4OjQzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ3N0Z2xjb250ZXh0OiBtaWNybyBvcHRpbWl6YXRpb24gdG8gZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZAoJICBJbnZva2UgdGhlIGNhbGxiYWNrIHJpZ2h0IGF3YXkgd2hlbiBjYWxsZWQgb24gdGhlIGNvbnRleHQgdGhyZWFkLiBSZW1vdmVzCgkgIG92ZXJoZWFkIHdoZW4gbmVzdGluZyBsaWJnc3RnbCBjYWxscyAoZm9yIGV4YW1wbGUgd2hlbiB3b3JraW5nIHdpdGggdGhlIHN5bmMKCSAgbWV0YSkuCgoyMDE2LTAxLTA2IDIxOjM5OjAwICswMDAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkgIHJ0cG1zaW5rOiBJbXBsZW1lbnQgc2V0Y2FwcyB0aGF0IHVzZXMgc3RyZWFtaGVhZGVyCgkgIFRoaXMgYWxsb3cgYWRkaW5nIHJ0bXBzaW5rIGFmdGVyIHRoZSBmbHYgc3RyZWFtaW5nIGhhdmUgc3RhcnRlZC4gT3RoZXJ3aXNlLAoJICBGTFYgc3RyZWFtaGVhZGVyIGlzIG5ldmVyIHNlbnQgdG8gdGhlIHNlcnZlciwgd2hpY2ggY2Fubm90IGZpZ3VyZS1vdXQKCSAgd2hhdCBpcyB0aGlzIHN0cmVhbSBhYm91dC4gSXQgc2hvdWxkIGFsc28gaGVscCBpbiBjZXJ0YWluIHJlbmVnb3RpYXRpb24KCSAgZmlndXJlcy4gVGhlIHNpbmsgd2lsbCBubyBsb25nZXIgd29yayB3aXRob3V0IGFuIHN0cmVhbWhlYWRlciBpbiBjYXBzLAoJICB0aG91Z2ggdGhlcmUgaXMgbm8ga25vd24gaW1wbGVtZW50YXRpb24gb2YgZmx2ZGVtdXggdGhhdCBkb2VzIG5vdAoJICBzdXBwb3J0IHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNDIKCjIwMTYtMDItMDkgMjE6MzU6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgc3RyZWFtLT5jdXJyZW50X2ZyYWdtZW50IGhhcyB0aGUgdmFsdWUgb2YgZ19saXN0X3ByZXZpb3VzIChpdGVyKSB3aGljaCBoYXMKCSAganVzdCBiZWVuIGNoZWNrZWQuIE5vIG5lZWQgdG8gY2hlY2sgaXQgYWdhaW4uCgkgIEp1c3QgdG8gYmUgc2FmZSwgdXNlIGEgZ19hc3NlcnQoKSB0byBjaGVjayBmcmFnbWVudCBiZWZvcmUgZGVyZWZlcmVuY2luZy4KCSAgQ0lEICMxMzUyMDQxCgoyMDE2LTAyLTA5IDE3OjI0OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwbHVnIG1wZCBjbGllbnQgbGVhawoJICBPbiBwYXJzaW5nIGVycm9yLCBmcmVlIHRoZSBtcGQgY2xpZW50IG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMTIwCgoyMDE2LTAxLTA0IDEyOjEyOjQ1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfZGFzaF9kZW11eF91cGRhdGVfbWFuaWZlc3RfZGF0YQoJICBuZXdfY2xpZW50IGxvY2FsIHZhcmlhYmxlIHdhcyBub3QgZnJlZWQgaW4gY2FzZSBvZiBlcnJvcnMuCgkgIEFsc28sIHRoZSBidWZmZXIgaXMgbm90IHVubWFwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMTIwCgoyMDE1LTExLTEwIDIyOjAxOjM4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogcmVuYW1lZCBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9lbmRfdGltZSB0byBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9zdGFydF90aW1lCgkgIFRoZSBmdW5jdGlvbiBhY3R1YWxseSByZXR1cm5zIHRoZSBzZWdtZW50IGF2YWlsYWJpbGl0eSBzdGFydCB0aW1lIChhcyBkZWZpbmVkIGJ5IHRoZSBzdGFuZGFyZCkuCgkgIFRoYXQgaXMgYXQgdGhlIGVuZCBvZiB0aGUgc2VnbWVudCwgYnV0IGl0IGlzIGNhbGxlZCBhdmFpbGFiaWxpdHkgc3RhcnQgdGltZS4KCSAgQXZhaWxhYmlsaXR5IGVuZCB0aW1lIGlzIHNvbWV0aGluZyBlbHNlICh0aGUgdGltZSB3aGVuIHRoZSBzZWdtZW50IGlzIG5vIGxvbmdlcgoJICBhdmFpbGFibGUgb24gdGhlIHNlcnZlcikuIFRoZSBmdW5jdGlvbiBuYW1lIHdhcyBtaXNsZWFkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjU1CgoyMDE1LTExLTEwIDIyOjAwOjU4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGNvcnJlY3RlZCBnZXR0aW5nIHNlZ21lbnQgYXZhaWxhYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2NTUKCjIwMTUtMTEtMTkgMTU6MzA6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB0ZXN0czogYWRkZWQgdW5pdCB0ZXN0IGZvciBnZXR0aW5nIHNlZ21lbnQgYXZhaWxhYmlsaXR5IHdoZW4gc2VnbWVudCB0aW1lbGluZSBpcyB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2NTUKCjIwMTYtMDEtMDcgMTI6NTA6MDYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkgIGFkYXB0aXZlX2RlbXV4OiB0ZXN0czogaW1wcm92ZWQgdmFsaWRhdGlvbiBvZiBwYWRzCgkgIFdoZW4gcmVtb3ZpbmcgYSBwYWQsIHRoZSBvbl9kZW11eFBhZFJlbW92ZWQgZnVuY3Rpb24gbXVzdCBmaW5kIGEgc3RyZWFtCgkgIGZvciB0aGF0IHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMS0wNyAxMjo0ODoxMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSAgYWRhcHRpdmVfZGVtdXg6IHRlc3RzOiBmaXggcGFkIHVzZWQgZm9yIEFwcFNpbmsgZXZlbnQKCSAgb25fZGVtdXhOZXdQYWQgcmVnaXN0ZXJlZCB0aGUgb25fYXBwc2lua19ldmVudCBjYWxsYmFjayBvbiBhIHdyb25nIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMS0wOCAxNjoyNToxMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiByZW1vdmUgdW51c2VkIGRlbXV4X3NlbnRfZW9zIGNhbGxiYWNrCgkgIFRoZSBkZW11eF9zZW50X2VvcyBjYWxsYmFjayBpcyB1bnVzZWQgaW4gdGVzdHMuIEl0IHdhcyBhbHNvIHJlZ2lzdGVyZWQgb24KCSAgYSB3cm9uZyBwYWQsIHNvIGl0IGFjdHVhbGx5IHRyaWdnZXJlZCB3aGVuIGRlbXV4IHJlY2VpdmVkIGVvcyBmcm9tIGEKCSAgZnJhZ21lbnQgZG93bmxvYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDEtMDggMTg6MTc6MjEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogcmVtb3ZlIHVubmVlZGVkIHlvdXR1YmUgeG1sbnMgZnJvbSBtYW5pZmVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMi0wOSAxNDowNzo1NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogaW1wbGVtZW50IEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgoyMDE2LTAyLTA5IDE0OjA0OjA5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiB1cGRhdGUgY29weXJpZ2h0CgoyMDE2LTAyLTA5IDEzOjQyOjQ4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBpbXBsZW1lbnQgR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCSAgTmVlZGVkIHRvIHByb3Blcmx5IGhhbmRsZSBnc3QuZ2wuYXBwX2NvbnRleHQocykuCgoyMDE2LTAyLTA5IDEzOjM5OjE4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBhZGQgbXlzZWxmIHRvIHRoZSBjb3B5cmlnaHQgaG9sZGVycwoKMjAxNi0wMi0wOSAxMzo1NjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgZ2w6IHVwZGF0ZSB3aW4zMiAuZGVmIGZpbGUKCjIwMTYtMDItMDkgMTM6MDg6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gZm9yIEdMX1RJTUVPVVRfSUdOT1JFRAoKMjAxNi0wMi0wOSAxMjoxNDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGdsc3luY21ldGE6IHNlcGFyYXRlIG91dCBncHUvY3B1IHdhaXRzLgoJICBDUFUgd2FpdHMgYXJlIG1vcmUgZXhwZW5zaXZlIGFuZCBhcmUgb25seSByZXF1aXJlZCBpZiB0aGUgQ1BVIGlzIGV2ZXIgZ29pbmcgdG8KCSAgYWNjZXNzIHRoZSBkYXRhLiBHUFUgd2FpdHMgcGVyZm9ybSBpbnRlci1jb250ZXh0IHN5bmNocm9uaXNhdGlvbiBhbmQgYXJlIGNoZWFwZXIKCSAgYXMgdGhleSBkb24ndCByZXF1aXJlIENQVSBpbnRlcnZlbnRpb24uCgoyMDE2LTAyLTA4IDIzOjE3OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgb3ZlcndyaXR0ZW4gdmFsdWUKCSAgcmV0IGlzIG92ZXJ3aXR0ZW4gYmVmb3JlIHVzZWQgd2l0aCB0aGUgcmV0dXJuIG9mIHRoZSBzdWJjbGFzcyBzZWVrLgoJICBDSUQgIzEzNTIwNDQKCjIwMTYtMDItMDggMTU6MDA6MzUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSBjb21tZW50ZWQgb3V0IGluY2x1ZGUKCSAgQ29tbWl0IDIxMTgyODk3OWI4YzEwYWJmM2M3NGQ5NjRiYzY5OGRiZGE0ZDQ5N2QgcmVtb3ZlZCByc25hdWRpb211bmdlLAoJICBubyBuZWVkIGZvciB0aGlzIGNvbW1lbnRlZCBvdXQgaW5jbHVkZSBmb3IgYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdAoJICBhbnltb3JlLgoKMjAxNi0wMi0wOCAxNDoyNjo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgUmV2ZXJ0ICJyZXNpbmR2ZDogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwZWZmNmUxOTkxY2IyNGNiNjVmMDdjNDgxNzQyNzgyYWNhYThlYzYyLgoJICBCcmVha3MgdGhlIGJ1aWxkIHdoZW4gbGlua2luZyB3aXRoIGR2ZG5hdi5oCgoyMDE2LTAyLTA4IDEzOjQzOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5oOgoJICB4MjY1ZW5jOiBnZXQgcmlkIG9mIF9zdGRpbnQuaCBpbmNsdWRlCgkgIEl0IHdhcyBuZXZlciBuZWVkZWQgc2luY2UgaXQgZG9lc24ndCB1c2UgYW55IHN0YW5kYXJkIGludGVnZXIgZml4ZWQgd2lkdGgKCSAgdHlwZXMuIE9ubHkgdGhlIEdsaWIgdHlwZXMuCgoyMDE2LTAyLTA4IDEzOjMyOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoKMjAxNi0wMi0wOCAxMjo0NDo1MyArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDQKCjIwMTYtMDItMDggMTI6MjM6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSAgZ2xlZmZlY3RzOiBpZGVudGl0eTogYWRkIHRoZSBzaGFkZXIgdG8gdGhlIGhhc2ggdGFibGUKCSAgU28gdGhhdCB3ZSBkb24ndCByZWNyZWF0ZSBpdCBldmVyeSBmcmFtZSBhbmQgbGVhayBtZW1vcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE1NzgKCjIwMTYtMDItMDUgMjA6MDI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZXh0ZW5kIHRoZSBBTV9URVNUU19FTlZJUk9OTUVOVCBmcm9tIGNoZWNrLm1hawoJICBUbyBnZXQgdGhlIENLX0RFRkFVTFRfVElNRU9VVCBkZWZpbmVkIGZvciBhbGwgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ3MgoKMjAxNi0wMi0wNSAxODowNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU5N2M5YmIgdG8gYjY0ZjAzZgoKMjAxNi0wMi0wNSAxNTozNDo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIGdzdHJ0cGgyNjVkZXBheToga2VlcCBjb25zaXN0ZW5jeSB3aXRoIHJ0cGgyNjRkZXBheQoJICBVc2UgZ3N0X3J0cF9kcm9wX21ldGEoKSBhbmQgdGhlIHNhbWUgZnVuY3Rpb24gcHJvdG90eXBlIGZvcgoJICBnc3RfcnRwX2NvcHlfbWV0YSgpIHRvIGtlZXAgY29uc2lzdGVuY3kgd2l0aCB0aGUgUlRQIGVsZW1lbnRzIGluCgkgIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTYtMDItMDUgMjE6MzM6MzggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IFVzZSBnbGliIENMQU1QKCkgaW5zdGVhZCBvZiBvdXIgb3duIG1hY3JvCgoyMDE2LTAyLTA1IDEzOjU2OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdGVybWluYXRpb24gb2YgYWNjZXNzIHVuaXQKCSAgT25seSBjb25zaWRlciB0aGUgYWNjZXNzIHVuaXQgY29tcGxldGUgd2hlbiB0aGUgbmV4dC1vY2N1cnJpbmcgVkNMIE5BTCB1bml0CgkgIGhhcyB0aGUgZmlyc3QgYml0IGFmdGVyIGl0cyBOQUwgdW5pdCBoZWFkZXIgZXF1YWwgdG8gMS4KCjIwMTYtMDItMDIgMTM6NTA6MjUgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogVXBkYXRlIHBvc2l0aW9uIGluIHN0cmVhbS0+c2VnbWVudCBmb3IgbmV3IHN0cmVhbSBzZWdtZW50IG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NTgKCjIwMTYtMDItMDUgMTU6NDM6MjIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IExpbWl0IHBlcmlvZCBzaXplIGFuZCBjb3VudCB0byB3aGF0IHRoZSBoL3cgcGVybWl0cwoKMjAxNi0wMi0wNSAxMDo0Mzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIGdsOiBhZGQgLmRlZiBmaWxlIGZvciBtc3ZjIGJ1aWxkcwoJICBBbHNvIGludGVybmFsaXplIHNvbWUgQVBJIGZyb20gYmVpbmcgZXhwb3J0ZWQuCgoyMDE2LTAyLTAyIDE3OjAyOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXNzZGVtdXguYzoKCSAgdGVzdHM6IG1zc2RlbXV4OiBhZGQgdW5pdCB0ZXN0cwoJICBBZGRzIHVuaXQgdGVzdHMgc2ltaWxhciB0byB0aGUgb25lcyB0aGF0IHdlIGhhdmUgZm9yIERBU0ggYW5kIEhMUy4KCSAgVGVzdHM6CgkgICogbWFuaWZlc3QgcGFyc2luZyBmaW5pc2hlcyBzdWNjZXNzZnVsbHkKCSAgKiBzb21lIHF1ZXJpZXMgKGR1cmF0aW9uLCBzZWVrYWJsZSwgbGF0ZW5jeSkKCSAgKiBzZWVraW5nIHdpdGggdmFyaW91cyB2YWx1ZXMgYW5kIGZsYWdzCgoyMDE2LTAyLTAyIDE2OjU0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IHNuYXAgc2Vla2luZwoJICBJbXBsZW1lbnQgc25hcCBzZWVrIGZsYWdzIGhhbmRsaW5nIGluIHN0cmVhbV9zZWVrIHRvIGFsbG93IHRoZQoJICBwYXJlbnQgY2xhc3MgdG8gaGFuZGxlIGl0IGZvciB1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAyLTAyIDE2OjUxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgY29ycmVjdCBzZWVrIHBvc2l0aW9uIG9uIHJldmVyc2Ugc2Vla3MKCSAgT3RoZXJ3aXNlIGl0IHdhcyBhbHdheXMgdXNpbmcgdGhlICdzdGFydCcgdmFsdWUsIGxlYWRpbmcgdG8gd3JvbmcKCSAgYmVoYXZpb3IKCjIwMTYtMDItMDIgMTE6MzA6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG9ubHkgdXBkYXRlIGRvd25sb2FkIHBvc2l0aW9uIGlmIHRoZSBzZWVrIHJlcXVlc3RzIHRvCgkgIFNvbWUgc2Vla3MgYXJlIG9ubHkgdXBkYXRpbmcgdGhlIHN0b3AgcG9zaXRpb24sIHRoZXJlIGlzIG5vIG5lZWQKCSAgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGRvd25sb2FkaW5nIHBvc2l0aW9uLgoKMjAxNi0wMi0wMiAwOTo1MjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZG8gbm90IGFzc2VydCBvbiBmcmFnbWVudCByZWxvYWRzIGZvciBub24tbGl2ZQoJICBJdCBjYW4gYmUgdXNlZCBhcyBhIHJlc291cmNlIHRvIHZlcmlmeSBpZiB0aGUgc2VydmVyIGhhcyB1cGRhdGVkCgkgIHNvbWV0aGluZyBpbiB0aGUgTWFuaWZlc3Qgd2hlbiBkb3dubG9hZHMgYXJlIGZhaWxpbmcKCjIwMTYtMDEtMjcgMTA6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHRlc3RzIGZvciBzbmFwIGZsYWdzIHNlZWtpbmcKCSAgU2ltaWxhciB0byBITFMgYnV0IERBU0ggaGFzIHRoZSBleHRyYSBpc3N1ZSB0aGF0IGl0IGNhbiBoYXZlCgkgIG11bHRpcGxlIHN0cmVhbXMgc28gc25hcHBpbmcgY2FuIGJlIHRyaWNreSBhcyBzdHJlYW1zIHVzdWFsbHkKCSAgd29uJ3QgYmUgYWxpZ25lZC4KCSAgRm9yIG5vdywgdGhvc2UgdGVzdHMgaGFuZGxlIHRoZSBjYXNlIG9mIG9ubHkgaGF2aW5nIGEgc2luZ2xlCgkgIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMi0wMSAxMDo0OToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBzbmFwIHNlZWsgaGFuZGxpbmcKCSAgSGFuZGxlIHNuYXAgc2Vla2luZyBhdCB0aGUgc3RyZWFtX3NlZWsgbWV0aG9kIGFuZCBsZXQgc3VwZXJjbGFzcwoJICBkbyB0aGUgcmVzdCB0byBzdXBwb3J0IHNuYXAgc2Vla2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAxLTI3IDEzOjMxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogaGFuZGxlIHNuYXAgc2Vla3MKCSAgQWRhcHRpdmUgZGVtdXhlcnMgbmVlZCB0byBzdGFydCBkb3dubG9hZGluZyBmcm9tIHNwZWNpZmljIHBvc2l0aW9ucwoJICAoZnJhZ21lbnRzKSBmb3IgZXZlcnkgc3RyZWFtLCB0aGlzIG1lYW5zIHRoYXQgYWxsIHN0cmVhbXMgY2FuIHNuYXAtc2VlawoJICB0byBhIGRpZmZlcmVudCBwb3NpdGlvbiB3aGVuIHJlcXVlc3RlZC4gU25hcCBzZWVraW5nIGluIHRoaXMgY2FzZSB3aWxsCgkgIGJlIGRvbmUgaW4gMiBzdGVwczoKCSAgMSkgZG8gdGhlIHNuYXAgc2Vla2luZyBvbiB0aGUgcGFkIHRoYXQgcmVjZWl2ZWQgdGhlIHNlZWsgZXZlbnQgYW5kCgkgIGdldCB0aGUgZmluYWwgcG9zaXRpb24KCSAgMikgdXNlIHRoaXMgcG9zaXRpb24gdG8gZG8gYSByZWd1bGFyIHNlZWsgb24gdGhlIG90aGVyIHN0cmVhbXMgdG8KCSAgbWFrZSBzdXJlIHRoZXkgYWxsIHN0YXJ0IGZyb20gdGhlIHNhbWUgcG9zaXRpb24KCSAgTW9yZSBhcmd1bWVudHMgd2VyZSBhZGRlZCB0byB0aGUgc3RyZWFtX3NlZWsgZnVuY3Rpb24sIGFsbG93aW5nIGJldHRlciBjb250cm9sCgkgIG9mIGhvdyBzZWVraW5nIGlzIGRvbmUuIEtub3dpbmcgdGhlIGZsYWdzIGFuZCB0aGUgcGxheWJhY2sgZGlyZWN0aW9uIGFsbG93cwoJICBzdWJjbGFzc2VzIHRvIGhhbmRsZSBzbmFwLXNlZWtpbmcuCgkgIEFuZCBhbHNvIGFkZHMgYSBuZXcgcmV0dXJuIHBhcmFtZXRlciB0byBpbmZvcm0gb2YgdGhlIGZpbmFsCgkgIHNlbGVjdGVkIHNlZWtpbmcgcG9zaXRpb24gdGhhdCBpcyB1c2VkIHRvIGFsaWduIHRoZSBvdGhlciBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAxLTI2IDIzOjQzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIHV0aWxpdHkgZnVuY3Rpb24gdG8gZ2V0IHN0cmVhbSBmcm9tIHBhZAoJICBTaW1wbGlmaWVzIHRoZSBjb2RlIGEgYml0IGFuZCBhdm9pZCByZXBlYXRpbmcgdGhpcwoJICBjb21tb24gb3BlcmF0aW9uCgoyMDE2LTAyLTA0IDEyOjUwOjQzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgdW51c2VkIG12aWV3X21vZGUgdmFsdWUKCSAgU2luY2UgY29tbWl0IGI3N2Y4ZTE3MmEzZjBiZTZiZTVjYjRhNzJlNjU0MjUzNDA0ZTY5NGYgdGhlIG5ldyB2YWx1ZQoJICBhc3NpZ25lZCB0byBtdmlld19tb2RlIGhhc24ndCBiZWVuIHVzZWQuIFRoYXQgY29tbWl0IGNoYW5nZWQgdGhlIGZvbGxvd2luZwoJICAiaWYiIGNoZWNrIHRvIGFuICJlbHNlIGlmIiwgd2hpY2ggbWVhbnMgdGhlIG9yaWdpbmFsIHZhbHVlIG9mIG12aWV3X21vZGUKCSAgaXMgdXNlZC4KCjIwMTYtMDItMDQgMTI6MTc6MzEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJICBnbHF1ZXJ5OiByZW1vdmUgdW5uZWNlc3NhcnkgcG9pbnRlciBjaGVjawoJICBBbGwgdXNlcyBvZiBxdWVyeS0+Y29udGV4dCBpbiBnc3RnbHF1ZXJ5LmMgYXNzdW1lIGl0IGV4aXN0cy4gV2UgY2FuIGFzc3VtZQoJICB0aGlzIGFzIHdlbGwgYmVmb3JlIHVucmVmaW5nIGl0LiBGdXJ0aGVybW9yZSwgZ3N0X29iamVjdF91bnJlZigpIHdpbGwganVzdAoJICBzaWxlbnRseSByZXR1cm4gaWYgaXQgZXZlciB3ZXJlIHRvIG5vdCBleGlzdC4KCjIwMTYtMDItMDQgMTg6MTU6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogYXZvaWQgc2VuZGluZyB1bm5lY2Vzc2FyeSBkb3duc3RyZWFtIGNhcHMgcXVlcmllcy9ldmVudHMKCSAgaDI2NSB2ZXJzaW9ucyBvZiB0aGUgZm9sbG93aW5nIGNvbW1pdHM6CgkgIGYzNTI2OTFhMDQ4OTZkMGRlMzM4MWZlOGVlODVhZGE5NDhiZDYzMzcKCSAgdHJ5IHRoZSBjdXJyZW50IGNhcHMgYmVmb3JlIHF1ZXJ5aW5nIGRvd25zdHJlYW0KCSAgNzJiYzdkN2Y3MzZhMTAxMTdmZWRiOGUxZDQwMTNhNDk0NmNmZWZiYwoJICBpbmNyZWFzZSBjYXBzIGVxdWFsaXR5IGNoZWNrIGZvciBubyBjb2RlY19kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTY6MzY6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaW5jcmVhc2UgY2FwcyBlcXVhbGl0eSBjaGVjayBmb3Igbm8gY29kZWNfZGF0YQoJICBXaGVuIGNvbnZlcnRpbmcgZnJvbSBhdmMgdG8gYnl0ZS1zdHJlYW0sIHRoZXJlIHdpbGwgbm90IGJlIGFueSBjb2RlY19kYXRhCgkgIGluIHRoZSBzcmMgY2Fwcy4gIFJlbW92ZSBpdCBiZWZvcmUgdGhlIGVxdWFsaXR5IGNoZWNrIHRvIGF2b2lkIHNlbmRpbmcgY2FwcwoJICBldmVudHMgZG93bnN0cmVhbSBvbiBldmVyeSBTUFMvUFBTIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNTozNDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0cnkgdGhlIGN1cnJlbnQgY2FwcyBiZWZvcmUgcXVlcnlpbmcgZG93bnN0cmVhbQoJICBJZiB3ZSBoYXZlIGEgc3RyZWFtIHRoYXQgY29udGFpbnMgYW4gdW5jaGFuZ2luZyBTUFMvUFBTIGZvciBldmVyeSB2aWRlbyBmcmFtZSwKCSAgd2UgZG9uJ3QgbmVlZCB0byB0byBjb25zdGFudGx5IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIGl0J3Mgc3VwcG9ydGVkIGNhcHMgaWYgdGhlCgkgIGN1cnJlbnQgY2FwcyBhcmUgY29tcGF0aWJsZSB3aXRoIHRoZSBuZWdvdGlhdGVkIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTc6MzE6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBlbmFibGUgcW9zIGJ5IGRlZmF1bHQKCSAgSW1wcm92ZXMgdGhlIHJlc3BvbnNpdmVuZXNzIG9mIHRoZSBwaXBlbGluZSB3aGVuIHJlc291cmNlcyBhcmUgY2xvc2UvYWJvdmUgdGhlCgkgIGxpbWl0YXRpb25zIG9mIHRoZSBoYXJkd2FyZS4KCSAgQW55IHN1YmNsYXNzIHRoYXQgd2lzaGVzIG5vdCB0byBlbmFibGUgcW9zIGNhbiBkbyBzbyB0aGVtc2VsdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNTE5CgoyMDE2LTAyLTA0IDE1OjExOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBwYXNzIHRoZSBjb3JyZWN0IHRpbWUgdmFsdWUgdG8gd2FpdF9mb3Jfc3luYwoJICBXaGVuIHdlIGFyZSBub3Qgd2FpdGluZywgd2UgbmVlZCB0byBwYXNzIC0xIHRvIHNpZ25hbCB0aGF0IHdlIGp1c3Qgd2FudCB0byBjaGVjawoJICB0aGF0IHRoZSBmcmFtZSB3YXMvbid0IHJlbmRlcmVkLiAgQXZvaWRzIHdhaXRpbmcgZm9yIGZyYW1lcyB0aGF0IHdpbGwgbmV2ZXIgYmUKCSAgcmVuZGVyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTU6MDc6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IGFkdmFuY2UgdGhlIHJlYWR5IGNvdW50ZXIgb3Vyc2VsdmVzIHdoZW4gcmVuZGVyPUZBTFNFCgkgIFdoZW4gbm90IHJlbmRlcmluZyB0aGUgdmlkZW8gZnJhbWUsIGUuZy4gd2hlbiBmcmVlaW5nIGFuIHVucmVsZWFzZWQgc3luYyBmcmFtZSwKCSAgd2Ugd2lsbCBub3QgcmVjZWl2ZSBhIGZyYW1lIGxpc3RlbmVyIGNhbGxiYWNrLgoJICBSZWR1Y2VzIHRoZSBhbW91bnQgb2YgJ29uX2ZyYW1lX2F2YWlsYWJsZSBtaXNzIGRldGVjdGVkJyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nCgkgIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNDoyNToxMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEZpeCBkaXNjb250IHRyYWNraW5nCgkgIERvbid0IHJlc2V0IHRoZSBtYXJrZXIgdGhhdCdzIHRyYWNraW5nIGRpc2NvbnRzIHVudGlsCgkgIGVpdGhlciB0aGUgZGlzY29udCBkaXNhcHBlYXJzIG9yIHdlIHJlc3luYy4KCjIwMTYtMDItMDMgMjE6MjI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSAgUmVtb3ZlIGFuY2llbnQgYW5kIGRlYWQgY2Ryb20gY29udHJvbCBwbHVnaW4KCSAgVGhpcyB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIEkgZG9uJ3QgdGhpbmsKCSAgaXQncyBwYXJ0aWN1bGFybHkgdXNlZnVsLCBzaW5jZSBpdCdzIGp1c3QgYSBjb250cm9sCgkgIGludGVyZmFjZSByZWFsbHkuIExldCdzIHJlbW92ZSBpdC4KCjIwMTYtMDItMDMgMjE6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkb2NzOiByZW1vdmUgc29tZSBsZWZ0b3ZlciAnU2luY2UgMC4xMC54JyBtYXJrZXJzCgoyMDE2LTAyLTAzIDIxOjEzOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvLmdpdGlnbm9yZToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHMtbWFyc2hhbC5saXN0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkZWJ1Z3V0aWxzOiB1c2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDE2LTAyLTAzIDE2OjI4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1czogZml4IEZFQwoJICBGRUMgbWF5IG9ubHkgYmUgdXNlZCB3aGVuIFBMQyBpcyBlbmFibGVkIG9uIHRoZSBhdWRpbyBkZWNvZGVyLAoJICBhcyBpdCByZWxpZXMgb24gZW1wdHkgYnVmZmVycyB0byBnZW5lcmF0ZSBhdWRpbyBmcm9tIHRoZSBuZXh0CgkgIGJ1ZmZlci4gSG9va2luZyB0byB0aGUgZ2FwIGV2ZW50cyBkb2Vzbid0IHdvcmsgYXMgdGhlIGF1ZGlvCgkgIGRlY29kZXIgZG9lcyBub3QgbGlrZSBtb3JlIGJ1ZmZlcnMgb3V0cHV0IHRoYW4gaXQgc2VuZHMuCgkgIFRoZSBsZW5ndGggb2YgZGF0YSB0byBnZW5lcmF0ZSB1c2luZyBGRUMgZnJvbSB0aGUgbmV4dCBwYWNrZXQKCSAgaXMgZGV0ZXJtaW5lZCBieSByb3VuZGluZyB0aGUgZ2FwIGR1cmF0aW9uIHRvIG5lYXJlc3QuIFRoaXMKCSAgZW5zdXJlcyB0aGF0IGR1cmF0aW9uIGltcHJlY2lzaW9uIGRvZXMgbm90IGNhdXNlIHF1YW50aXphdGlvbgoJICB0byAyLjUgbWlsbGlzZWNvbmRzIGxlc3MgdGhhbiBhdmFpbGFibGUuIERvaW5nIHNvIGNhdXNlcyB0aGUKCSAgT3B1cyBBUEkgdG8gZmFpbCBkZWNvZGluZy4gU3VjaCBkdXJhdGlvbiBpbXByZWNpc2lvbiBpcyBjb21tb24KCSAgaW4gbGl2ZSBjYXNlcy4KCSAgVGhlIGJ1ZmZlciB0byBjb25zaWRlciB3aGVuIGRldGVybWluaW5nIHRoZSBsZW5ndGggb2YgYXVkaW8KCSAgdG8gYmUgZGVjb2RlZCBpcyB0aGUgcHJldmlvdXMgYnVmZmVyIHdoZW4gdXNpbmcgRkVDLCBhbmQgdGhlCgkgIG5ldyBidWZmZXIgb3RoZXJ3aXNlLiBJbiB0aGUgRkVDIGNhc2UsIHRoaXMgbWVhbnMgd2UgZGV0ZXJtaW5lCgkgIHRoZSBhbW91bnQgb2YgYXVkaW8gZnJvbSB0aGUgcHJldmlvdXMgYnVmZmVyLCB3aGV0aGVyIGl0IHdhcwoJICBtaXNzaW5nIG9yIG5vdCAoYW5kIGdldCB0aGUgZGF0YSBlaXRoZXIgZnJvbSB0aGlzIGJ1ZmZlciwgb3IKCSAgdGhlIGN1cnJlbnQgb25lIGlmIHRoZSBwcmV2aW91cyBvbmUgd2FzIG1pc3NpbmcpLgoKMjAxNi0wMi0wMyAxMDo1OToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogcmVjb25maWd1cmUgdGhlIHNyYyB3aGVuIGNoYW5naW5nIHRvL2Zyb20gcGFzc3Rocm91Z2gKCSAgT3RoZXJ3aXNlIGl0J3MgdmVyeSBwb3NzaWJsZSB0aGF0IGFueSBHTCByZXNvdXJjZXMgaGF2ZSBub3QgYmVlbiBjcmVhdGVkIHlldC4KCjIwMTYtMDItMDMgMTA6NTI6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuaDoKCSAgZ2x2aWRlb2ZsaXA6IGNvcnJlY3RseSB1cGRhdGUgdGhlIG91dHB1dCBjYXBzIG9uIG1ldGhvZCBjaGFuZ2VzCgkgIFdoZW4gY2hhbmdpbmcgbWV0aG9kcyB3ZSBtYXkgbmVlZCBkaWZmZXJlbnQgb3V0cHV0IGNhcHMuCgoyMDE2LTAyLTAyIDExOjIwOjE3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogZml4IHRpbmFsc2EgdHlwbwoKMjAxNi0wMi0wMiAxMTowNjo1MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IGZpeCBzYW1wbGUgbGF1bmNoIGxpbmUKCjIwMTYtMDItMDIgMTQ6NDY6MzAgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkgIGxpYnM6IHBsYXllcjogdXNlIGNvbmZpZ3VyZWQgR1NUX1BLR19DT05GSUdfUEFUSCB3aGVuIGludm9raW5nIHRoZSBpbnRyb3NwZWN0aW9uIHNjYW5uZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ2MAoKMjAxNi0wMi0wMiAxNToyMDo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCB3cm9uZyBidWZmZXIgYmVpbmcgY2hlY2tlZCBmb3IgbWlzc2luZyBkYXRhCgkgIFRoaXMgY2F1c2VkIGEgZGVjb2RpbmcgZXJyb3IgaWYgdGhlIHJlc3VsdGluZyAod3JvbmcpIGJ1ZmZlciBzaXplCgkgIHdhcyBwYXNzZWQgdG8gdGhlIE9wdXMgZGVjb2RpbmcgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTU4CgoyMDE2LTAyLTAyIDE2OjI2OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBVc2UgaW50IHR5cGUgaWYgd2Ugc3VwcG9ydCBhIHNpbmdsZSByYXRlL2NoYW5uZWwgY291bnQKCSAgQXZvaWRzIHVzaW5nIGFuIGludCByYW5nZSBpZiB0aGUgZmllbGQgd2UncmUgc2V0dGluZyBpcyBub3QgYWN0dWFsbHkgYQoJICByYW5nZS4KCjIwMTYtMDItMDIgMTg6MzY6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIFJldmVydCAiZ2wvZWFnbDogdHJ5IGdldHRpbmcgYSBnbGVzMyBjb250ZXh0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk2Yjk2NjZkNTk2YmUxMTVmZDRiNDQ2ZWY4NDY1MDhiN2ZkMDVjMjQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDExMzg1ZDE2N2Q4ODQzNjA0ZWEyM2EwNWUyZGVhNDBiOGJiYWMzNS4KCSAgVGhpcyBicmVha3MgdGhlIHRleHR1cmUgc2hhcmluZyB3aXRoIHRoZSBhcHBsZW1lZGlhIGVsZW1lbnRzIGFzCgkgIENWT3BlbkdMRVNUZXh0dXJlQ2FjaGUgc2VlbXMgdG8gaGF2ZSBhbiBhcmJpdHJhcnkgcmVzdHJpY3Rpb24gb24gR0xFUzIgb25seS4KCjIwMTYtMDItMDIgMTY6MjE6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZG9uJ3Qgc2tpcCBzdWJzZXQgc3RydWN0dXJlcwoJICBXZSBtYXkgbmVlZCB0aGVtIHRvIHRyYW5zZm9ybSBpbnRvIGEgZGlmZmVyZW50IHNldCBvZiBmb3JtYXRzLgoJICBGaXhlcyBZVVYtPllVViB3aXRoIHR3byBnbGNvbG9yY29udmVydHMsIGUuZzoKCSAgZm9ybWF0PUk0MjAgISBnbGNvbG9yY29udmVydCAhIGdsY29sb3Jjb252ZXJ0ICEgZm9ybWF0PU5WMTIKCjIwMTYtMDItMDIgMTY6MTk6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBhbHdheXMgY2FsbCBnbF9zdGFydCB3aGVuIG5vdCBjYWxsZWQgYWxyZWFkeQoJICBGaXhlcyBlbGVtZW50cyB0cmFuc2l0aW9uaW5nIG91dCBvZiBwYXNzdGhyb3VnaCBtb2RlIHVzaW5nIEdMIHJlc291cmNlcyB0aGF0CgkgIGhhZG4nZSBiZWVuIGFsbG9jYXRlZCB5ZXQuCgoyMDE2LTAyLTAyIDE1OjE0OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBSR0IscmVjdGFuZ2xlLT5wbGFuYXIgWVVWIGNvbnZlcnNpb24KCSAgQ29udmVydGluZyB0byBHUkFZIGlzIG5vIGZ1bi4gIEFub3RoZXIgY2FzZSBvZiBub3JtYWxpemVkIHZzIHVubm9ybWFsaXplZAoJICB0ZXh0dXJlIGNvb3JkaW5hdGVzLgoKMjAxNi0wMi0wMiAxMzo1MToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggWVVZMi9VWVZZLHJlY3RhbmdsZS0+UkdCIGNvbnZlcnNpb24KCSAgMS4wIC8gd2lkdGggZG9lcyBub3Qgb2Zmc2V0IGJ5IG9uZSBwaXhlbCBpbiByZWN0YW5ndWxhciB0ZXh0dXJlcyAod2hpY2ggdXNlCgkgIHVubm9ybWFsaXplZCBjb29yZGluYXRlcykuCgkgIFByb3ZpZGUgdGhlIGFjdHVhbCBwaXhlbCBvZmZzZXQgYXMgYSB1bmlmb3JtIHRvIHRoZSBzaGFkZXIuCgoyMDE2LTAxLTI3IDE2OjQyOjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdGlueWFsc2EvTWFrZWZpbGUuYW06CgkqIHN5cy90aW55YWxzYS90aW55YWxzYS5jOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuaDoKCSAgdGlueWFsc2E6IEFkZCBhIG5ldyBzaW5rIHBsdWdpbiB1c2luZyB0aW55YWxzYQoJICBUaGlzIHVzZXMgdGhlIHRpbnlhbHNhIGxpYnJhcnkgdG8gcGxheWJhY2sgdG8gYW4gQUxTQSBkZXZpY2UuIEZ1dHVyZQoJICB3b3JrIGNhbiBpbmNsdWRlIHVzaW5nIHRoZSBtbWFwIGludGVyZmFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTIzMAoKMjAxNi0wMi0wMiAxMjo1MDoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBwZXJmb3JtIGJldHRlciBuZWdvdGlhdGlvbgoJICAxLiBDb3JyZWN0bHkgZGVzY3JpYmUgd2hhdCB3ZSBjYW4gY2FwcyB3ZSBjYW4gdHJhbnNmb3JtIHRvL2Zyb20uCgkgIGkuZS4gbm8gWVVWLT5ZVVYgb3IgR1JBWS0+WVVWIG9yIFlVVi0+R1JBWSAoZXhjZXB0IGZvciBwYXNzdGhyb3VnaCkuCgkgIDIuIFByZWZlciBzaW1pbGFyIGZvcm1hdHMgYW5kIGlnbm9yZSBpbmNvbXBhdGlibGUgZm9ybWF0cyBvbiBmaXhhdGlvbi4KCjIwMTYtMDEtMjYgMjM6MTU6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHRlc3QgZm9yIHVwZGF0aW5nIHN0b3AgcG9zaXRpb24KCSAgVGVzdCB0aGF0IGEgc2VlayB0aGF0IG9ubHkgdXBkYXRlcyB0aGUgc3RvcCBwb3NpdGlvbiB3b3JrcwoJICBhcyBleHBlY3RlZAoKMjAxNi0wMi0wMSAwOTo0ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogb25seSB1cGRhdGUgY3VycmVudCByZWFkaW5nIHBvc2l0aW9uIHdoZW4gbmVlZGVkCgkgIElmIHRoZSBzZWVrIGRvZXNuJ3Qgc2V0IHRoZSBzdGFydC9zdG9wIHBvc2l0aW9uLCBubyBuZWVkIHRvCgkgIHJlcG9zaXRpb24gdGhlIGRvd25sb2FkIGluZGV4LgoKMjAxNi0wMS0yOSAyMDozNDo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVzcGVjdCBzZWVraW5nIHBhcmFtZXRlcgoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBzZWdtZW50IHZhbHVlcywgdXNlIHRoZSBwYXJhbWV0ZXIKCSAgcmVxdWVzdGVkIGluIHRoZSBzZWVraW5nIGFyZ3VtZW50CgoyMDE2LTAyLTAxIDE0OjI1OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaDogZml4IGRhc2ggdGVzdHMgYWZ0ZXIgaW5kZXggZml4CgkgIDhlNzg4ZjI4NDUwODYxMjk4MmU4ZTM4MzM2ZWVkNjc2YzJlZWMzNWEgYnJva2Ugb25lIG9mIHRoZQoJICBkYXNoIG1wZCB0ZXN0cy4gVGhpcyB1cGRhdGVzIGFuZCBmaXhlcyBpdC4KCjIwMTYtMDItMDEgMTI6MjM6MzIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdzdGdsd2luZG93OiBpbml0aWFsaXplIG5hdmlnYXRpb25fbG9vcCB0byBOVUxMCgkgIFVzZWZ1bCB3aGVuIGdzdF9nbF93aW5kb3cuYzo6Z3N0X2dsX3dpbmRvd19uZXcgaXMgbm90IHVzZWQuCgkgIFRoaXMgaXMgdGhlIGNhc2Ugd2hlbiB1c2luZyBhIGN1c3RvbSBHc3RHTFdpbmRvdy4KCSAgKGV4OiBHc3RHTFdpbmRvd0dQVVByb2Nlc3MgZnJvbSBDaHJvbWl1bSkKCjIwMTYtMDItMDEgMDk6MjY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbDogZWFnbDogZml4IGJ1aWxkCgkgIGdzdGdsY29udGV4dF9lYWdsLm06MjM4OjQ1OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24gY2FsbCwKCSAgZXhwZWN0ZWQgYXQgbGVhc3QgNCwgaGF2ZSAzCgoyMDE2LTAyLTAxIDE1OjEzOjAzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkOiBhbGxvdyB2aWRlby94LXJhdyBhcyBpbnB1dAoJICAuLi5hbmQganVzdCBwYXNzdGhyb3VnaC4gVGhpcyBpcyB1c2VmdWwgZm9yIHBpcGVsaW5lcyB3aGVyZSBkb3duc3RyZWFtIG11c3QgYmUKCSAgbm9uLUdMIGJ1dCB1cHN0cmVhbSBjYW4gb3B0aW9uYWxseSBiZSBHTC4KCjIwMTYtMDItMDEgMTI6NTc6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IHRyeSBnZXR0aW5nIGEgZ2xlczMgY29udGV4dAoJICBGYWxsYmFjayB0byBhIGdsZXMyIGNvbnRleHQgaWYgdGhhdCBmYWlscwoKMjAxNi0wMS0yMSAxNjoxMDo0OCArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBmaXggY2hlY2tlciB2Ym8gbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTI1CgoyMDE2LTAxLTI0IDE1OjQ3OjEyICswMTAwICBIb2xnZXIgS2FlbGJlcmVyIDxob2xnZXIua0BlbGJlcmVyLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4ucW1sOgoJICB0ZXN0czogZml4IHdhcm5pbmcgaW4gcW1sIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA4MgoKMjAxNi0wMS0yNCAxNTo0MjozMiArMDEwMCAgSG9sZ2VyIEthZWxiZXJlciA8aG9sZ2VyLmtAZWxiZXJlci5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcXQ6IEZpeCBidWlsZCBmb3IgYW5kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDgyCgoyMDE2LTAyLTAxIDAxOjAxOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgIFJlbW92ZSBkZWFkIHNuYXBzaG90IHBsdWdpbgoJICBXYXMgbmV2ZXIgcG9ydGVkIGFuZCBkb2Vzbid0IGxvb2sgbGlrZQoJICB3ZSB3YW50IGl0IG9yIG5lZWQgaXQgaW4gdGhpcyBmb3JtLCBjYW4KCSAgZG8gdGhlIHNhbWUgd2l0aCB0aGUgbGliZ3N0dmlkZW8gc2FtcGxlCgkgIGNvbnZlcnNpb24gdXRpbGl0eSBBUEkgbm93LCBidXQgYmV0dGVyCgkgIGFuZCBpbiBhIG1vcmUgZmxleGlibGUgd2F5LgoKMjAxNi0wMi0wMSAwMDo0OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBidW1wIHJlcXVpcmVtZW50IHRvIDIuMzYuMgoJICBXaGljaCBhbGxvd3MgdXMgdG8gc2ltcGxpZnkgdGhlIGNvbmZpZ3VyZSBjaGVjayBhbmQKCSAgc29tZSBzcGVjaWFsLWNhc2luZyBpbiB0aGUgY29kZSwgYW5kIGlzIHBsZW50eSBvbGQKCSAgaW4gYW55IGNhc2UuCgoyMDE2LTAyLTAxIDAwOjI5OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvUkVBRE1FOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2xpYmZhbWUubTQ6CgkgIFJlbW92ZSBkZWFkIGxpYmZhbWUgcGx1Z2luCgkgIFdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgdGhlIGxpYgoJICBoYXMgYmVlbiB1bm1haW50YWluZWQgZm9yIGV2ZXIgYW5kIGRvZXNuJ3QKCSAgZXZlbiBzZWVtIHRvIGJlIHBhY2thZ2VkIGFueSBtb3JlLgoKMjAxNi0wMS0zMSAxOTowOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9SRUFETUU6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgUmVtb3ZlIGRlYWQgYXVkaW9maWxlIHBsdWdpbgoJICBUaGlzIHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLgoKMjAxNi0wMS0zMSAxOTowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogbTQvZ3NldHRpbmdzLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBnc2V0dGluZ3MgcGx1Z2luIHdoaWNoIHdhcyBuZXZlciBwb3J0ZWQKCSAgRG9uJ3QgdGhpbmsgd2UgbmVlZCB0aGlzIGFueSBsb25nZXIgb3Igd2FudCB0bwoJICBzdXBwb3J0IGl0LCBhbmQgY2xlYXJseSBubyBvbmUgaGFzIGJlZW4gbWlzc2luZwoJICBpdCBhbGwgdGhlc2UgeWVhcnMgZWl0aGVyLCBzbyBsZXQncyBqdXN0IGdldCByaWQKCSAgb2YgaXQuCgoyMDE2LTAxLTMxIDE2OjAyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBzbW9vdGhzdHJlYW1pbmc6IHJlbW92ZSB1bnVzZWQgZGVwZW5kZW5jeSBvbiB1cmlkb3dubG9hZGVyCgoyMDE2LTAxLTMxIDE0OjQyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHNpbXBsaWZ5IGNvbmZpZ3VyZSBjaGVjayBhbmQgcmVxdWlyZSBmYWFkID49IDIuNwoJICBKdXN0IGNoZWNrIHdoZXRoZXIgTEFUTSBpcyBkZWZpbmVkIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlCgkgIGluIDIuNyBhbmQgbGF0ZXIuIEFsbG93cyB1cyB0byBzaW1wbGlmeSB0aGUgY29uZmlndXJlIGNoZWNrCgkgIGEgbGl0dGxlIGFuZCB3ZSBjYW4gZ2V0IHJpZCBvZiBzb21lIGhhY2tpc2ggd29ya2Fyb3VuZHMgZm9yCgkgIHByb2JsZW1zIHdpdGggZWFybGllciB2ZXJzaW9uIGhlYWRlcnMuCgoyMDE2LTAxLTMwIDE3OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHVubmVjZXNzYXJ5IHVzZSBvZiBfc3RkaW50LmgKCjIwMTYtMDEtMjkgMjM6Mzk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBHZW5lcmF0ZSBVVUlEcyBhY2NvcmRpbmcgdG8gUkZDNDEyMiB2ZXJzaW9uIDQgKGFrYSByYW5kb20pCgkgIEluc3RlYWQgb2YgZnVsbHkgcmFuZG9tIFVVSURzLCB0aGVzZSBzaG91bGQgZm9sbG93IGEgc2NoZW1lLgoKMjAxNi0wMS0yOSAyMTowOTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IFByb3Blcmx5IHdyaXRlIHZpZGVvIGxpbmUgbWFwIGRhdGEgYXMgYW4gYXJyYXkgb2YgMzIgYml0IGludGVnZXJzCgoyMDE2LTAxLTI5IDIwOjU4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogRE1TY2hlbWVzIGluIHRoZSBQcmVmYWNlIGlzIGEgcmVxdWlyZWQgZmllbGQKCSAgRXZlbiBpZiBpdCBoYXMgMCBlbnRyaWVzLgoKMjAxNi0wMS0yOSAxODo0MTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdWwuYzoKCSAgbXhmdWw6IEZpeCBDb250ZW50IFN0b3JhZ2UgVUwKCjIwMTYtMDEtMjkgMTg6Mjg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBCZXN0IGVmZm9ydCB2YWx1ZXMgbXVzdCBiZSB3cml0dGVuIGFuZCBpZiB1bnNldCBtdXN0IGNvbnRhaW4gdGhlIGRpc3Rpbmd1aXNoZWQgdmFsdWUKCSAgSXQncyBpbnZhbGlkIHRvIG5vdCB3cml0ZSB0aGVtIGF0IGFsbC4KCjIwMTYtMDEtMjkgMTc6MzY6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZnVsOiBBZGQgbWlzc2luZyBPcGVyYXRpb25hbFBhdHRlcm4gVUwsIHdoaWNoIGZpeGVzIGFuIG9mZi1ieS1vbmUgd2l0aCB0aGUgb3RoZXJzCgoyMDE2LTAxLTI5IDE3OjA3OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBPdXIgYm9keSBwYXJ0aXRpb24gaXMgYWx3YXlzIGNvbXBsZXRlIGFuZCBjbG9zZWQKCSAgV2UgaGF2ZSBubyBtZXRhZGF0YSBpbiBpdC4KCjIwMTYtMDEtMjkgMTc6MDI6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFVzZSBJbmRleFNJRCBvZiAyIGluc3RlYWQgb2YgMQoJICBTb21lIHRvb2xzIGNvbXBsYWluIGlmIGVzc2VuY2UgYW5kIGluZGV4IGhhdmUgdGhlIHNhbWUgU0lELgoKMjAxNi0wMS0yOSAxNjozODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmV3cml0ZSBib2R5IHBhcnRpdGlvbiBwYWNrIG9uIEVPUyBhbmQgbWFyayBpdCBhcyBjb21wbGV0ZS9jbG9zZWQKCjIwMTYtMDEtMjkgMjM6Mjg6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IGd1YXJkIGFnYWluc3Qgbm90IGZpbmRpbmcgYSB2YWxpZCBmcmFtZSBpbiBsb29wCgkgIEZpeGVzIHNwb3JhZGljIGNyYXNoZXMgb24gZmluaXNoaW5nIGRlY29kaW5nIGEgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDEtMjkgMTU6MjQ6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFtY09uRnJhbWVBdmFpbGFibGVMaXN0ZW5lci5qYXZhOgoJICBhbWN2aWRlb2RlYzogc2V0IG91ciBkYXRhIHBvaW50ZXIgaW4gamF2YSB0byBOVUxMIG9uIGNsb3NlCgkgIFRoZSBmcmFtZSBhdmFpbGFibGUgY2FsbGJhY2sgY2FuIGJlIGNhbGxlZCBhZnRlciBkZWNvbmZpZ3VyaW5nIHRoZSBhbWMgY29kZWMuCgkgIEd1YXJkIGFnYWluc3QgdGhpcyBieSBzZXR0aW5nIHRoZSBiYWNrIHBvaW50ZXIgdG8gTlVMTCBvbiBjbG9zZSgpIGFuZCBpZ25vcmluZwoJICBhbnkgTlVMTCBkYXRhIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDEtMjkgMTU6MDc6NTkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2dsY29udGV4dGhlbHBlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9nbGNvbnRleHRoZWxwZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmVmYWN0b3IgR0wgY29udGV4dCBjb2RlCgkgIFJld29yayB0aGUgR0wgY29udGV4dCBjb2RlLiBOb3cgYm90aCBhdmZ2aWRlb3NyYyBhbmQgdnRkZWMgY2FuIGNyZWF0ZSBhbgoJICBpbnRlcm5hbCBHTCBjb250ZXh0IGZvciBwdXNoaW5nIHRleHR1cmVzLiBCb3RoIGVsZW1lbnRzIHdpbGwgc3RpbGwgdHJ5IHRvCgkgIHVzZS9zd2l0Y2ggdG8gYSBsb2NhbCBjb250ZXh0IHdoZXJlIGF2YWlsYWJsZSAoaW5jbHVkaW5nIGFmdGVyIFJFQ09ORklHVVJFCgkgIGV2ZW50cykuCgoyMDE2LTAxLTI5IDEwOjM1OjE1ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkgIGdscHJvdG90eXBlczogZml4IHBhcmFtZXRlciB0eXBlIG9mIGdsR2VuQnVmZmVycwoJICBUaGUgbnVtYmVyIG9mIGJ1ZmZlcnMgc2hvdWxkIGJlIEdMc2l6ZWkgaW5zdGVhZCBvZiBHTHVpbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyNzIKCjIwMTUtMTItMDggMTQ6MDk6NTggKzA4MDAgIEhhaWh1YSBIdSA8YjU1NTk3QGZyZWVzY2FsZS5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogZml4IGdsZWZmZWN0cyBmaXNoZXllIHNoYWRlciBjb21waWxlIGVycm9yCgkgIE9uIHNvbWUgZW1iZWRkZWQgc3lzdGVtcywgc3FydCgpIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNoYWRlciwKCSAgdXNlIHRoZSBhY3R1YWwgdmFsdWUgb2Ygc3FydCgyKSBpbnN0ZWFkLgoJICBTaWduZWQtb2ZmLWJ5OiBIYWlodWEgSHUgPGI1NTU5N0BmcmVlc2NhbGUuY29tPgoJICBCdWd6aWxsYTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTI3MQoKMjAxNi0wMS0yOSAxNDowMzoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHBhciBtYXkgbm90IGV4aXN0IGluIHRoZSBjYXBzCgkgIEZpeGVzIGEgY3JpdGljYWwgaW4gdGhlIGdzdC12YWxpZGF0ZSB0ZXN0czoKCSAgZ3N0X3N0cnVjdHVyZV9maXhhdGVfZmllbGRfbmVhcmVzdF9mcmFjdGlvbjogYXNzZXJ0aW9uICdnc3Rfc3RydWN0dXJlX2hhc19maWVsZAoJICAoc3RydWN0dXJlLCBmaWVsZF9uYW1lKQoKMjAxNi0wMS0yOSAxMjo0NTo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBiYWNrIG91dCB1bmludGVuZGVkIGxvc3RfY29udGV4dCBjaGFuZ2VzCgoyMDE2LTAxLTI4IDE2OjM5OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJICBlZ2w6IGltcGxlbWVudCBzZWxlY3Rpbmcgb3BlbmdsMyBjb250ZXh0cwoKMjAxNi0wMS0yOCAxNDozMTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdsL2VnbDogcGFzcyB0aGUgZXJyb3IgdmFsdWUgdG8gZ2V0X2Vycm9yX3N0cmluZygpCgoyMDE2LTAxLTI4IDE4OjIwOjQ0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogaW5pdGlhbGl6ZSB1cGRhdGVfc2l6ZSB0byBGQUxTRSB3aGVuIHVwZGF0aW5nIGluZm8KCSAgT3RoZXJ3aXNlLCBiZWhhdmlvciB3aWxsIGJlIHVuZGVmaW5lZCB3aGVuIG5vIHN0cmlkZXMvb2Zmc2V0cyBhcmUgc2V0CgkgIGFuZCBpdCB3aWxsIGxpa2VseSBnbyB3cm9uZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0yOCAxMTo1NjozNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogRml4IGZyYW1lc2l6ZSBjYWxjdWxhdGlvbgoJICBXaGVuIHRoZSBmcmFtZXNpemUgaXMgbm90IHNwZWNpZmllZCwgd2UgdHJ5IGFuZCBjYWxjdWxhdGUgYSBzaXplIGZyb20KCSAgdGhlIHN0cmlkZXMgYW5kIG9mZnNldCBpbmZvcm1hdGlvbi4gVGhpcyB3YXMgZG9uZSB3aXRoIHRoZSBzdW0gb2YKCSAgb2Zmc2V0cyArIHRoZSBzaXplIG9mIHRoZSBsYXN0IGZyYW1lLiBUaGF0IGlzIGp1c3Qgd3JvbmcgbWV0aG9kLiBXZSBhbHNvCgkgIG5lZWQgdG8gYWNjb3VudCBmb3IgdmlkZW8gbWV0YSB0aGF0IG1heSBiZSBmbGlwcGluZyB0d28gcGxhbmVzLiBBbgoJICBleGFtcGxlIGlzIGlmIHlvdSBjb252ZXJ0IEk0MjAgdG8gWVYxMiBieSBmbGlwcGluZyB0aGUgdHdvIGxhc3Qgb2Zmc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0yOCAxOTozNjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICBnZHBkZXBheTogQWRkIHRzLW9mZnNldCBwcm9wZXJ0eSB0byBhZGp1c3QgYnVmZmVyIHRpbWVzdGFtcHMKCjIwMTYtMDEtMjkgMDQ6NTA6NDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIHBrZy1jb25maWc6IERvbid0IGdlbmVyYXRlIGFuZCBpbnN0YWxsIHBrZy1jb25maWcgd2l0aCByZWxhdGl2ZSBwYXRocwoJICBEb24ndCBwdXQgcmVsYXRpdmUgcGF0aHMgaW4gcGtnLWNvbmZpZyBmaWxlcywgaW5jbHVkaW5nIHVuaW5zdGFsbGVkCgkgIG9uZXMuIEZvciB0aG9zZSwgdXNlIEBhYnNfdG9wYnVpbGRkaXJAIGFuZCBAYWJzX3RvcHNyY2RpckAgYXMgd2UKCSAgZG8gZWxzZXdoZXJlLgoJICBSZW1vdmUgbGlicmFyaWVzPSBkaXJlY3RpdmVzLCB3aGljaCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBwa2ctY29uZmlnCgkgIHZhcmlhYmxlIHRoYXQgYWN0dWFsbHkgZXhpc3RzLCBidXQgaGFzIGJlZW4gaW4gYWxsIG91ciBwa2ctY29uZmlnCgkgIGZpbGVzIGZvciBhcyBsb25nIGFzIHRoZXkndmUgZXhpc3RlZC4KCjIwMTYtMDEtMjggMTY6NDk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogV3JpdGUgdGhlIGNvcnJlY3QgZXNzZW5jZSBjb250YWluZXIgVUwgZm9yIGFsbCBjb2RlY3MKCjIwMTYtMDEtMjggMTY6NDE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogV3JpdGUgdmVyc2lvbiBudW1iZXIgaW50byB0aGUgcGljdHVyZSBlc3NlbmNlIGNvZGluZyBVTAoKMjAxNi0wMS0yOCAxNjozMjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogV3JpdGUgYSB0aW1lY29kZSB0cmFjayBpbnRvIHRoZSBzb3VyY2UgcGFja2FnZSB0b28KCjIwMTYtMDEtMTEgMTU6NDc6MjQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICB2aWRlb3BhcnNlOiB1c2UgZGVjaWRlX2FsbG9jYXRpb24gdG8gY2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB2aWRlb21ldGEKCSAgSWYgeWVzLCB3ZSBhZGQgdGhlbSB0byBlYWNoIG91dHB1dCBidWZmZXJzIGFuZCB3ZSBhdm9pZCBmcmFtZSBjb3B5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTExIDE1OjQ2OjE2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogYWRkICdkZWNpZGVfYWxsb2NhdGlvbicgdmZ1bmMgdG8gbGV0IHN1YmNsYXNzIHBhcnNlIGFuIGFsbG9jYXRpb24gcXVlcnkKCSAgQW5kIHNvIHNlbmQgYW4gYWxsb2NhdGlvbiBxdWVyeS4gVGhpcyBjb3VsZCBiZSB1c2VkIHRvIGNoZWNrIHdoZXRoZXIKCSAgZG93bnN0cmVhbSBlbGVtZW50IHN1cHBvcnRzIHNvbWUgbWV0YXMgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA4IDE3OjE3OjAxICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiB1c2Ugc2l6ZSBvZiBidWZmZXIgd2UgZ290IGZyb20gYWRhcHRlcgoJICBPdGhlcndpc2UgcG9zaXRpb24gaW4gc3RyZWFtIGNvdWxkIGJlIHdyb25nIGlmIHN1YmNsYXNzICdwcmVfcHVzaF9mcmFtZScKCSAgbWV0aG9kIGNoYW5nZXMgdGhlIGJ1ZmZlciBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA3IDE0OjI3OjI3ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogYWRkIHByb3BlcnRpZXMgdG8gc2V0IGZyYW1lc2l6ZSwgc3RyaWRlcyBhbmQgcGxhbmVzIG9mZnNldHMKCSAgVG8gbWFrZSBwYXJzZXIgd29yayB3aXRoIGltYWdlIGhhdmluZyBub24tc3RhbmRhcmQgc3RyaWRlcywgcGxhbmUKCSAgb2Zmc2V0cyBvciB3aXRoIHBhZGRpbmcgYmV0d2VlbiBpbWFnZXMuCgkgIEZvciBub3csIHNpbmNlIGVsZW1lbnQgZG9lc24ndCBjaGVjayBmb3IgdmlkZW9tZXRhLCB3ZSBjYW4ndCBkaXJlY3RseQoJICBwdXNoIGJ1ZmZlcnMgd2hlbiB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBzZXQgc28gaXQgY29udmVydCB0aGUgZnJhbWUKCSAgaW4gdGhlIHByZV9wdXNoX2J1ZmZlciBtZXRob2QgdG8gcmVtb3ZlIGFueSBjdXN0b20gcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wOCAxNToyMToyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IHJlbmFtZSAnc2V0X2J1ZmZlcl9mbGFncycgdmZ1bmMgdG8gJ3ByZV9wdXNoX2J1ZmZlcicKCSAgdG8gYWxsb3cgc3ViY2xhc3MgdG8gY2hhbmdlIG90aGVyIGZpZWxkcyBvZiB0aGUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA3IDE0OjE4OjA4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogY2FjaGUgdmlkZW8gaW5mbyBpbiBpbnN0YW5jZQoJICBUbyBhdm9pZCBpbml0aWFsaXppbmcgYW5kIGZpbGxpbmcgdmlkZW8gaW5mbyBlYWNoIHRpbWUgd2UgbmVlZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0yOCAxNTozODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIG14Zm11eDogV3JpdGUgVGhpcyBHZW5lcmF0aW9uIFVJRCBpbnRvIHRoZSBJZGVudGlmaWNhdGlvbiBtZXRhZGF0YQoJICBJdCdzIHJlcXVpcmVkIGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQgYW5kIHdlIGZvcmdvdCB0byBhY3R1YWxseSB3cml0ZSBpdCB0bwoJICB0aGUgZmlsZSBhbHRob3VnaCB3ZSBzdG9yZWQgaXQgaW4gdGhlIGRhdGEgc3RydWN0dXJlcy4KCjIwMTYtMDEtMjggMTU6Mjk6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBBZGQgd29ya2Fyb3VuZCBmb3IgZmZtcGVnIG9ubHkgd3JpdGluZyBvbmUgVmlkZW8gTGluZSBNYXAgdmFsdWUKCSAgaHR0cHM6Ly9mZm1wZWcub3JnL3BpcGVybWFpbC9mZm1wZWctZGV2ZWwvMjAxNi1KYW51YXJ5LzE4ODIwMi5odG1sCgoyMDE1LTEwLTE0IDIxOjEzOjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGRvIGNhcHMgcHJvY2Vzc2luZyB0aGF0IGlzIG5vdCBvdmVycmlkYWJsZQoJICBBbGxvd3MgdGhlIHN1YmNsYXNzIHRvIGNvbXBsZXRlbHkgb3ZlcnJpZGUgdGhlIGNob3NlbiBzcmMgY2Fwcy4KCSAgVGhpcyBpcyBuZWVkZWQgYXMgdmlkZW9hZ2dyZWdhdG9yIGdlbmVyYWxseSBoYXMgbm8gaWRlYSBleGFjdGx5CgkgIHdoYXQgb3BlcmF0aW9uIGlzIGJlaW5nIHBlcmZvcm1lZC4KCSAgLSBBZGRzIGEgZml4YXRlX2NhcHMgdmZ1bmMgZm9yIGZpeGF0aW9uCgkgIC0gTWVyZ2VzIGdzdF92aWRlb19hZ2dyZWdhdG9yX3VwZGF0ZV9jb252ZXJ0ZXJzKCkgaW50bwoJICBnc3RfdmlkZW9hZ2dyZWdhdG9yX3VwZGF0ZV9zcmNfY2FwcygpIGFzIHdlIG5lZWQgc29tZSBvZiBpdHMgaW5mbwoJICBmb3IgcHJvcGVyIGNhcHMgaGFuZGxpbmcuCgkgIC0gUGFzcyB0aGUgZG93bnN0cmVhbSBjYXBzIHRvIHRoZSB1cGRhdGVfY2FwcyB2ZnVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjA3CgoyMDE2LTAxLTI3IDIwOjIzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSAgZ2xjb2xvcmJhbGFuY2U6IHJldHVybiBIQVJEV0FSRSBmcm9tIGdldF9iYWxhbmNlX3R5cGUKCjIwMTYtMDEtMjcgMjA6MDQ6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5oOgoJICBnbHNpbmtiaW46IGFkZCBnbGNvbG9yYmFsYW5jZSBlbGVtZW50CgkgIFRoaXMgbWFrZXMgcGxheWJpbiBub3QgcGx1ZyB2aWRlb2JhbGFuY2UgYXMgZ2xjb2xvcmJhbGFuY2UgYWxyZWFkeSBleGlzdHMgYW5kCgkgIGltcGxlbWVudHMgdGhlIEdzdENvbG9yQmFsYW5jZSBpbnRlcmZhY2UuCgoyMDE2LTAxLTI3IDE5OjU2OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRyb2xiaW5kaW5ncHJveHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udHJvbGJpbmRpbmdwcm94eS5oOgoJICBnbDogbW92ZSBjb250cm9sIGJpbmRpbmcgcHJveHkgaW1wbGVtZW50YXRpb24gZnJvbSBnbHZpZGVvbWl4ZXIKCSAgT3RoZXIgZWxlbWVudHMgbWF5IG5lZWQgdG8gdXNlIGl0J3MgZnVuY3Rpb25hbGl0eQoKMjAxNi0wMS0yNyAxODoxNzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkgIGdsY29sb3JiYWxhbmNlOiBjcmVhdGUgdGhlIHNoYWRlciBpZiBpdCBkb2Vzbid0IGV4aXN0IGluIHRoZSByZW5kZXIgY2FsbGJhY2sKCSAgQ2hhbmdpbmcgdGhlIHByb3BlcnRpZXMgbWF5IHJlc3VsdCBpbiBnbGNvbG9yYmFsYW5jZSBtb3ZpbmcgZnJvbSBwYXNzdGhyb3VnaCB0bwoJICBub24tcGFzc3Rocm91Z2ggYW5kIHdlIHdlcmVuJ3QgY3JlYXRpbmcgdGhlIHNoYWRlciBpbiB0aGF0IGNhc2UuCgoyMDE2LTAxLTI1IDE2OjI5OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJICBxdDogc3BlY2lmeSB0aGF0IHdlIGN1cnJlbnRseSBvbmx5IHRha2UgMkQgdGV4dHVyZXMKCSAgRml4ZXMgYmxhY2sgc2NyZWVuIHZpZGVvIHBsYXliYWNrIG9uIGFuZHJvaWQgd2l0aG91dCBhIGNhcHMgZmlsdGVyLgoKMjAxNi0wMS0yNSAxOToxMTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5oOgoJICBnbHZpZGVvZmxpcDogaW5jb3Jwb3JhdGUgdGhlIGFzcGVjdCByYXRpbyBpbnRvIHRoZSBzY2FsZV94IGNhbGN1bGF0aW9ucwoJICAxLiBPdGhlcndpc2Ugcm90YXRpbmcgdGhlIHZpZGVvIHdpbGwgY2xpcCBhbmQgc2hvdyBibGFjayBiYXJzIGR1ZSB0bwoJICBnbHRyYW5zZm9ybWF0aW9uJ3MgaW1wbGVtZW50YXRpb24uCgkgIDIuIFRoZSBvdGhlciBvcHRpb24gb2YgbWFrZSBnbHRyYW5zZm9ybWF0aW9uIGFzcGVjdC1hZ25vc3RpYyBwcm9kdWNlcwoJICBpbmNvcnJlY3Qgb3V0cHV0IHdpdGggcGVyc3BlY3RpdmUgdHJhbnNmb3JtYXRpb25zLgoKMjAxNi0wMS0yNyAxNDozNjozNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogYWN0dWFsbHkgc2V0IHRoZSBjb25maWd1cmVkIGZyYW1lcmF0ZQoJICBBY3R1YWxseSBzZXQgdGhlIGNvbmZpZ3VyZWQgZnJhbWVyYXRlLiBCZWZvcmUgd2Ugb25seSB1c2VkIHRvIHNldCB0aGUgZmlyc3QKCSAgbWF0Y2hpbmcgZnJhbWVyYXRlIHJhbmdlLiBPbiBpT1Mgd2hlcmUgdGhlIGNhbWVyYSByZXBvcnRzIHJhbmdlcyBbMiwgNjBdLCB3ZQoJICB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgY2FtZXJhIHRvIG91dHB1dCBhbnl0aGluZyBiZXR3ZWVuIDIgYW5kIDYwZnBzLgoKMjAxNi0wMS0yNSAyMjozMDoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSAgb3BlbmN2OiBhZGQgbWFzayBwcm9wZXJ0eSB0byBjdmxhcGxhY2UKCSAgQWRkIGEgIm1hc2siIHByb3BlcnR5IHRoYXQgc2V0cyB3aGV0aGVyIHRoZSBlZGdlcyBieSBjdkxhcGxhY2Ugc2hvdWxkIGJlCgkgIHVzZWQgYXMgYSBtYXNrIG9uIHRoZSBvcmlnaW5hbCBpbnB1dCBvciBub3QuIFRoZSBzYW1lIHdheSB0aGUgb3JpZ2luYWwKCSAgaW1hZ2UgaXMgY29waWVkIHRvIHRoZSBlZGdlcyBpbiBlZGdlZGV0ZWN0LgoKMjAxNi0wMS0yNSAyMTo0Mjo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJICBvcGVuY3Y6IGFkZCBtYXNrIHByb3BlcnR5IHRvIGN2c29iZWwKCSAgQWRkIGEgIm1hc2siIHByb3BlcnR5IHRoYXQgc2V0cyB3aGV0aGVyIHRoZSBkZXRlY3RlZCBkZXJpdmF0aXZlIGVkZ2VzCgkgIHNob3VsZCBiZSB1c2VkIGFzIGEgbWFzayBvbiB0aGUgb3JpZ2luYWwgaW5wdXQgb3Igbm90LiBUaGUgc2FtZSB3YXkKCSAgdGhlIG9yaWdpbmFsIGltYWdlIGlzIGFkZGVkIHRvIHRoZSBlZGdlcyBpbiBlZGdlZGV0ZWN0LgoKMjAxNi0wMS0yNSAxNToxOTozNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkgIG9wZW5jdjogdXBkYXRlIGRlcHJlY2F0ZWQgZnVuY3Rpb24gaW4gc2tpbmRldGVjdAoJICBjdkN2dFBpeFRvUGxhbmUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIE9wZW5DViAzLjAsIGFuZCBjdlNwbGl0KCkgaXMgdGhlCgkgIHN1Z2dlc3RlZCByZXBsYWNlbWVudC4gU2luY2UgY3ZTcGxpdCgpIGlzIGF2YWlsYWJsZSBpbiBPcGVuQ1YgMi40LCBpdCBpcwoJICBzYWZlIGFuZCBjYXV0aW91cyB0byB1cGRhdGUgdGhlIGZ1bmN0aW9uIHVzYWdlIGJlZm9yZSBpdCBiZWNvbWVzIGFuIGlzc3VlLgoKMjAxNi0wMS0yNSAxMTo0Mzo1OSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSAgb3BlbmN2OiBmaXggY3ZsYXBsYWNlCgkgIGN2bGFwbGFjZSB3YXMgYWxzbyBhZmZlY3RlZCBieSB0aGUgc2lsZW50IGNoYW5nZSBpbiBPcGVuQ1YgQVBJLCBzYW1lIGFzCgkgIGN2c29iZWwuIEl0IGhhc24ndCBiZWVuIHdvcmtpbmcgZm9yIGEgd2hpbGUuIEl0IHdvdWxkIHJldHVybiBhIHBsYWluIGJsYWNrCgkgIGltYWdlLiBUaGlzIGNvbW1pdCB1cGRhdGVzIHRoZSB1c2FnZSBvZiBjdkxhcGxhY2UgYnkgdXNpbmcgY3ZDdnRDb2xvciB0bwoJICBjcmVhdGUgdGhlIGdyYXlzY2FsZSBpbnRlcm1lZGlhdGUgaW1hZ2UgdG8gcHJvY2Vzcy4gVGhpcyBhbHNvIG1lYW5zIHRoZXJlCgkgIGlzIG5vIG5lZWQgYW55bW9yZSB0byB1c2UgR3N0QmFzZVRyYW5zZm9ybSdzIHRyYW5zZm9ybV9jYXBzLCBzaW5jZSB0aGUgcGFkcwoJICBhcmUgUkdCLgoKMjAxNi0wMS0yNSAxMzozMzowOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IGJ1ZmZlciBsZWFrIHdoZW4gc3BzIGlzIG5vdCBwcmVzZW50CgkgIFdoZW4gc3BzIGRhdGEgaXMgTlVMTCwgdGhlIGJ1ZmZlciBhbGxvY2F0ZWQgYW5kIG1hcHBlZCBpcyBub3QgYmVpbmcgZnJlZWQuCgkgIEluIHRoaXMgc2NlbmFyaW8gdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvY2F0ZSB0aGUgYnVmZmVyIGFzIHdlIGFyZSBzdXBwb3NlZCB0byByZXR1cm4gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA3MAoKMjAxNi0wMS0yNSAxMjowNToxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhay4KCSAgV2hpbGUgc2V0dGluZyBjYXBzLCBjb2RlY19kYXRhIGJ1ZmZlciBpcyBtYXBwZWQsIGJ1dCBub3QgYmVpbmcgdW5tYXBwZWQKCSAgbGVhZGluZyB0byBtZW1vcnkgbGVha3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNzAKCjIwMTYtMDEtMjMgMTc6MTA6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSAgb3BlbmN2OiBmaXggY3Zzb2JlbAoJICBjdnNvYmVsIGhhbid0IGJlZW4gd29ya2luZyBmb3IgYSB3aGlsZSBkdWUgdG8gYSBzaWxlbnQgY2hhbmdlIGluIE9wZW5DVgoJICBBUEkuIEl0IHdvdWxkIHJldHVybiBhIHBsYWluIGJsYWNrIGltYWdlLiBUaGlzIGNvbW1pdCB1cGRhdGVzIHRoZSB1c2FnZQoJICBvZiBjdlNvYmVsIGJ5IHVzaW5nIGN2Q3Z0Q29sb3IgdG8gY3JlYXRlIHRoZSBncmF5c2NhbGUgaW1hZ2UgdG8gcHJvY2Vzcy4KCSAgVGhpcyBhbHNvIG1lYW5zIHRoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIEdzdEJhc2VUcmFuc2Zvcm0ncyB0cmFuc2Zvcm1fY2FwcwoJICBhbnltb3JlLCBzaW5jZSB0aGUgcGFkcyBjYW4gYmUgUkdCLgoKMjAxNi0wMS0yMyAwNTozMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgcGtnLWNvbmZpZzogUHJvcGVybHkgdmVyc2lvbiBhbmQgaW5zdGFsbCBiYXNlL2F1ZGlvL3ZpZGVvIC5wYyBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzMzI2MxNwoKMjAxNi0wMS0yMiAxNjo0MzowMyArMDAwMCAgQWxleCBBc2hsZXkgPGFsZXguYXNobGV5QHlvdXZpZXcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggbGVhayBvZiBzdHJlYW0tPmludGVybmFsX3BhZAoJICBUaGUgZnVuY3Rpb24gZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV91cGRhdGVfc291cmNlKCkgZnVuY3Rpb24gY3JlYXRlcwoJICBhIG5ldyBHc3RQYWQgY2FsbGVkIGludGVybmFsX3BhZC4gVGhpcyBwYWQgaXMgbm90IGZyZWVkIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzdHJlYW0uCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBzZXQgR1NUX1BBRF9GTEFHX05FRURfUEFSRU5UIHNvIHRoYXQgdGhlIGNoYWluCgkgIGZ1bmN0aW9ucyBkbyBub3QgZ2V0IGNhbGxlZCB3aGVuIHRoZSBwYWQgaGFzIG5vIHBhcmVudCBhbmQgdGhlbgoJICByZW1vdmUgdGhlIHBhcmVudCBpbiB0aGUgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9mcmVlKCkgZnVuY3Rpb24uIFRoaXMKCSAgY2F1c2VzIHRoZSByZWZjb3VudCBvZiB0aGUgcGFkIHRvIGJlIHNldCB0byB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTgyCgoyMDE2LTAxLTIxIDIyOjAwOjQ0ICswODAwICBKb2huIENoYW5nIDxyOTc5MjIxNTNAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogVXNlIFJlcHJlc2VudGF0aW9uSW5kZXggaW5zdGVhZCBvZiBJbml0aWFsaXphdGlvbiB0byBnZXQgdGhlIFVSTCBvZiB0aGUgUmVwcmVzZW50YXRpb25JbmRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTM2CgoyMDE2LTAxLTIyIDE3OjI1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBGYWlsIGdyYWNlZnVsbHkgaWYgb3VyIGNhbGxiYWNrIGNsYXNzIGNhbid0IGJlIGZvdW5kCgkgIEluc3RlYWQgb2YganVzdCBpZ25vcmluZyB0aGF0IGVycm9yIGFuZCB0aGVuIGNhbGxpbmcgSk5JIGZ1bmN0aW9ucyB3aXRoIE5VTEwsCgkgIHdoaWNoIHdpbGwga2lsbCB0aGUgdmlydHVhbCBtYWNoaW5lLgoJICBUaGUgZXJyb3IgaGFuZGxpbmcgaGVyZSBuZWVkcyBzb21lIGZ1cnRoZXIgaW1wcm92ZW1lbnRzIHRob3VnaCwgZXJyb3JzIGluIG1vcmUKCSAgcGxhY2VzIGFyZSBqdXN0IGlnbm9yZWQuCgoyMDE2LTAxLTIyIDE3OjIyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBJbml0aWFsaXplIEdFcnJvciBwb2ludGVyIHdpdGggTlVMTAoJICBPdGhlcndpc2UgdGhlcmUgd2lsbCBiZSBhc3NlcnRpb25zLgoKMjAxNi0wMS0yMiAxNzoxODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IE9ubHkgZnJlZSBHc3RBbWNCdWZmZXIgaWYgaXQncyBub3QgTlVMTAoJICBBbmQgYWxzbyBmcmVlIGl0IG9uIEdMIGVycm9ycy4KCjIwMTYtMDEtMTMgMjI6MDU6NDkgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBjdG9uZGVtYW5kLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IGltcGxlbWVudCBSR0IgY2FwdHVyZSBzdXBwb3J0CgkgIENvbWJpbmUgbW9kZSBhbmQgZm9ybWF0IHRvIGdlbmVyYXRlIGNhcHMgYW5kIHN1cHBvcnQgdGhlIGZsYWdzIGZyb20gVmlkZW9DaGFuZ2VkIGNhbGxiYWNrIHRvIHN1cHBvcnQgUkdCIGNhcHR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1OTQKCjIwMTYtMDEtMjIgMTY6MjI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbWM6IEFkZCBhbiBhc3NlcnRpb24gZm9yIE5VTEwgR0Vycm9ycwoJICBTaG91bGQgbmV2ZXIgaGFwcGVuISBCdXQgYW4gYXNzZXJ0aW9uIGlzIGJldHRlciB0aGFuIGEgTlVMTCBwb2ludGVyCgkgIGRlcmVmZXJlbmNlLgoKMjAxNi0wMS0yMiAxNjoxNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMDEtMjIgMTY6MTM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWM6IE1lZGlhQ29kZWM6OmdldE91dHB1dEJ1ZmZlcigpIGNhbiByZXR1cm4gTlVMTCB3aXRob3V0IGV4Y2VwdGlvbgoJICBIYXBwZW5zIHdoZW4gZG9pbmcgemVyb2NvcHkgcmVuZGVyaW5nLCBvciB3aGVuIHBhc3NpbmcgYSB3cm9uZyBpbmRleCB0byBpdC4KCSAgSGFuZGxlIHRoaXMgcHJvcGVybHkgZm9yIHplcm9jb3B5IHJlbmRlcmluZywgZmFpbCBwcm9wZXJseSBmb3IgdGhlIG90aGVyCgkgIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTYxCgoyMDE2LTAxLTE2IDE4OjU5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGJhc2UvYXVkaW8vdmlkZW86IEluc3RhbGwgaGVhZGVycyBhbmQgcGtnLWNvbmZpZyBmaWxlcwoJICBUaGV5IGFyZSBzdGlsbCBjb25zaWRlcmVkIHVuc3RhYmxlIEFQSSBidXQgaXQgd291bGQgYmUgZ29vZCB0byBnaXZlIHRoZW0gc29tZQoJICB3aWRlciB0ZXN0aW5nIGFscmVhZHkgdG8gbWFrZSBzdXJlIHRoZSBBUEkgaXMgdXNlZnVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzMzCgoyMDE2LTAxLTE2IDE4OjU2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8ucGMuaW46CgkgIGF1ZGlvOiBNb3ZlIGF1ZGlvYWdncmVnYXRvciBiYXNlIGNsYXNzIHRvIGEgbGlicmFyeQoJICBJdCdzIHVzZWZ1bCBlbm91Z2ggYWxyZWFkeSB0byBiZSB1c2VkIGluIG90aGVyIGVsZW1lbnRzIGZvciBhdWRpbyBhZ2dyZWdhdGlvbiwKCSAgbGV0J3MgZ2l2ZSBwZW9wbGUgdGhlIG9wcG9ydHVuaXR5IHRvIHVzZSBpdCBhbmQgZ2l2ZSBpdCBzb21lIEFQSSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzMzCgoyMDE2LTAxLTIxIDIzOjEzOjM2ICswMTAwICBIb2xnZXIgS2FlbGJlcmVyIDxob2xnZXIua0BlbGJlcmVyLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSAgZ2x3aW5kb3c6IEZpeCBhbmRyb2lkIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5NzIKCjIwMTYtMDEtMjIgMTM6NTE6NDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdGV4dHVyZSBjYWNoZTogY29weSB0aGUgaW5wdXQgbWV0YXMKCSAgQ29weSB0aGUgaW5wdXQgbWV0YXMgc28gYXZmdmlkZW9zcmMgYW5kIHZ0ZW5jIGNhbiBmYXN0IHBhdGggdG8gdXNpbmcKCSAgQ1ZQaXhlbEJ1ZmZlcihzKSBldmVuIHdoZW4gdXNpbmcgR0xNZW1vcnkuCgoyMDE2LTAxLTIxIDEzOjUwOjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJICBNZXJnZSBicmFuY2ggJ2FuZHJvaWQtaGFyZHdhcmUtY2FtZXJhJwoJICBUaGlzIGJyYW5jaCBhZGRzIHN1cHBvcnQgZm9yIEFuZHJvaWQgSGFyZHdhcmUgQ2FtZXJhIEFQSSB0aHJvdWdoIGEgbmV3CgkgIGVsZW1lbnQgY2FsbGVkIGFoY3NyYy4gVGhpcyBpcyB0aGUgIm9sZCIgQW5kcm9pZCBDYW1lcmEgQVBJLCB0aGVuIG9ubHkKCSAgQVBJIGF2YWlsYWJsZSBvbiBBbmRyb2lkIDQuWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWYuY2dpP2lkPTczNzc4NgoKMjAxNi0wMS0wOCAxNjoxNjowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiBGaXggbGF0ZW5jeSByZXBvcnRpbmcKCSAgQ3VycmVudGx5IGl0IHdhcyB3cm9uZ2x5IHJlcG9ydGluZyBtaW4vbWF4IGFzIGJlaW5nIHRoZSBzaG9ydGVzdCBhbmQKCSAgbG9uZ2VzdCBwb3NzaWJsZSBmcmFtZSBkdXJhdGlvbi4gVGhpcyBpcyBub3QgaG93IGxhdGVuY3kgd29ya3MgaW4KCSAgR1N0cmVhbWVyLgoJICBGaXggYnkgcmVwb3J0aW5nIG1pbiBsYXRlbmN5IGFzIGJlaW5nIHRoZSBsb25nZXN0IHBvc3NpYmxlIGR1cmF0aW9uIG9mCgkgIG9uZSBmcmFtZS4gQXMgd2UgZG9uJ3Qga25vdyBob3cgbWFueSBidWZmZXJzIHRoZSBzdGFjayBjYW4gYWNjdW11bGF0ZSwgd2UKCSAgc2ltcGx5IGFzc3VtZSB0aGF0IG1heCBsYXRlbmN5IGlzIHRoZSBzYW1lICh0aGUgdXN1YWwgZGVmYXVsdCBiZWhhdmlvdXIpLgoKMjAxNS0xMi0wNyAxNDozMTo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoY3NyYzogZml4IGRlYWRsb2NrIHdoZW4gZmx1c2hpbmcKCSAgX2RhdGFfcXVldWVfaXRlbV9mcmVlKCkgY2FsbHMgZ3N0X2J1ZmZlcl91bnJlZigpLCB3aGljaAoJICBjYWxscyBnc3RfYWhjX3NyY19idWZmZXJfZnJlZV9mdW5jKCksIHdoaWNoIGNhbGxzCgkgIGdfbXV0ZXhfbG9jaygpIG9uIHNlbGYtPm11dGV4IGFuZCB0aGVyZSB5b3UgZ28uLi4gZGVhZGxvY2shCgoyMDE1LTEyLTI0IDEyOjUxOjEzICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJICBhaGNzcmM6IHBvcnRpbmcgZnJvbSAwLjEwIHRvIDEuMAoKMjAxNS0xMi0yNCAxMjoxNDoyNCArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLnBjLmluOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvY29tL2dzdHJlYW1lci9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNjYWxsYmFjay5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuaDoKCSAgbW92ZSBhbmRyb2lkY2FtZXJhIGludG8gYW5kcm9pZG1lZGlhCgkgIFRoaXMgY29tbWl0IGlzIGEgcGFydCBvZiBwb3J0bmcgYW5kcm9pZCBoYXJkd2FyZSBjYW1lcmEgZnJvbSAwLjEwIGltcGxlbWVudGF0aW9uLgoJICBUbyBwcmVzZXJ2ZSBoaXN0b3J5IGFuZCBnZXQgZGlmZiBjbGVhcmx5LCB0aGUgaW50ZXJlc3RpbmcgZmlsZXMgYXJlIG1vdmVkIHRvCgkgIGRlcGxveW1lbnQgZGlyZWN0b3J5IGFuZCB0aGUgcmVtYWluaW5nIGZpbGVzIGFyZSByZW1vdmVkLgoKMjAxMy0wMS0wNyAxODoyNzo0MCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNlcGFyYXRlIHJlbGVhc2UgYW5kIGZyZWUgQVBJcwoKMjAxMy0wMS0wNyAxODoyMDo0NyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggZ2V0X2xldmVsIGFuZCBnZXRfcHJvZmlsZSBleGNlcHRpb24gY2hlY2tpbmcgYnkgbm90IHVzaW5nIHJldHVybgoKMjAxMy0wMS0wNyAxODoxOToyOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBleHRlcm4gZ2ludCBkZWNsYXJhdGlvbnMKCjIwMTMtMDEtMDcgMTg6MTg6MTggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5oOgoJICBnc3Rkdm06IEZpeCBHU1RfRFZNX0dFVF9TVEFUSUNfRklFTEQKCjIwMTItMTEtMjkgMjA6MTA6MTkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogU21hbGwgcmVmYWN0b3IgaW4gY2FzZSBvcGVuIGRvZXNuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGJ1dCByZXR1cm5zIG51bGwKCjIwMTItMTItMTMgMTc6NTc6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTEzIDE3OjU2OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmM6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJICBkdm06IFJlbmFtZSBnc3QtZHZtLltjaF0gdG8gZ3N0ZHZtLltjaF0gZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgR1N0cmVhbWVyIGNvZGUKCjIwMTItMTItMTMgMTc6NDA6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmM6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5oOgoJICBkdm06IEFkZCBuZXcgZnVuY3Rpb24gdG8gY2hlY2sgaWYgd2Ugc3RhcnRlZCBhIFZNIG9yIG9ubHkgdXNlZCBhbiBleGlzdGluZyBvbmUKCjIwMTItMTItMTMgMTc6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IE1ha2UgZXZlcnl0aGluZyBjb21waWxlIHdpdGggdGhlIG5ldyB3cmFwcGVycwoKMjAxMi0xMi0xMyAxMjoxMzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0Lmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHJlbWFpbmluZyBiaXRzIG9mIHRoZSBKYXZhIHdyYXBwZXJzIHVzaW5nIGxpYmdzdGR2bQoKMjAxMi0xMi0xMyAxMjoxMzoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uaDoKCSAgZHZtOiBBZGQgc29tZSBtb3JlIGhlbHBlciBtYWNyb3MKCjIwMTItMTItMTIgMTg6MTA6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1vdmUgZ19yZXR1cm5faWZfZmFpbHMoKQoJICBUaGlzIGlzIG5vdCBwdWJsaWMgQVBJIHNvIGl0IGhhcyBubyBhZHZhbnRhZ2UgdG8gaGF2ZSB0aGVtIGhlcmUuCgoyMDEyLTExLTI4IDIwOjUzOjUxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuaDoKCSAgYW5kcm9pZG1lZGlhOiBVc2UgZ3N0LWR2bSBhbmQgcmVmYWN0b3IgamF2YSB3cmFwcGVycyAoV0lQKQoJICBNb3ZlZCB0aGUgamF2YSB3cmFwcGVyIEFQSSBpbnRvIGl0cyBvd24gZmlsZXMgYW5kIG1hZGUgdXNlIG9mIHRoZQoJICBnc3QtZHZtIG1hY3Jvcy4gQWxzbyByZW5hbWVkIHRoZSBBUEkgdG8gaGF2ZSB0aGUgcHJvcGVyIG5hbWluZwoJICBjb252ZW50aW9uIGFuZCBjb2Rpbmcgc3R5bGUgaW4gb3JkZXIgdG8gbWF0Y2ggdGhlIG9uZSBpbiBhbmRyb2lkY2FtZXJhLgoJICBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcyEgImFuZHJvaWQvbWVkaWEvTWVkaWFDb2RlY0xpc3QiIGlzIHN0aWxsIG1pc3NpbmcKCSAgYW5kIHRoZSBhY3R1YWwgZWxlbWVudHMgaGF2ZSBub3QgYmVlbiBwb3J0ZWQgdG8gdXNlIHRoZSBuZXcgZnVuY3Rpb24gbmFtZXMuCgoyMDEyLTExLTI4IDE1OjI2OjQ5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBHX0JFR0lOL0VORF9ERUNMUyB0byB0aGUgLmgKCjIwMTItMTEtMjcgMTk6MjU6MDYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWR2bS5wYy5pbjoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgZ3N0LWR2bTogQ3JlYXRlIGEgZ3N0LWR2bSBsaWJyYXJ5IHVzaW5nIHBhcnQgb2YgYW5kcm9pZGNhbWVyYQoKMjAxMi0xMS0yNyAxNzoyNDozNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGRpbmcgYSBkZXZpY2UtbmFtZSBwcm9wZXJ0eQoKMjAxMi0xMS0yMCAxOTo1NjoyMiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbmRyb2lkY2FtZXJhLnhtbDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDEyLTExLTE5IDE4OjI1OjEyIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRjYW1lcmE6IFByZXR0aWZ5IHRoZSBnc3RhaGNjYWxsYmFjay5jIGdlbmVyYXRpb24gbGluZSBpbiB0aGUgbWFrZWZpbGUKCjIwMTItMTEtMTUgMTI6MzM6MjYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pY2FtZXJhOiBNYWtlIHN1cmUgdGhlIFRNUCBlbnYgdmFyIGV4aXN0cyBhbmQgY2hlY2sgZm9yIERFWCB2YXIgdG9vCgoyMDEyLTExLTE0IDExOjM4OjUxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IERvIG5vdCB1c2UgZ3N0X2xpc3RfZnJlZV9mdWxsIHNpbmNlIGl0IHJlcXVpcmVzIGdsaWIgMi4yOAoKMjAxMi0xMS0xMiAxODo1OTo1NyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHNtb290aC16b29tIHByb3BlcnR5IGZvciBzbW9vdGggem9vbWluZyBmZWF0dXJlCgoyMDEyLTExLTEyIDE4OjE5OjIwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBmb2NhbC1sZW5ndGgsIHZpZXctYW5nbGUgYW5kIHZpZGVvLXN0YWJpbGl6YXRpb24gcHJvcGVydGllcwoKMjAxMi0xMS0xMiAxODoxODoxMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHZpZGVvIHN0YWJpbGl6YXRpb24gQVBJCgoyMDEyLTExLTEyIDE2OjM4OjQwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBwcm9wZXJ0eSBwcm9iZSBmb3IgdGhlIHBob3RvZ3JhcGh5IHByb3BlcnRpZXMKCjIwMTItMTEtMDkgMTg6MjE6MjEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU21hbGwgcmVmYWN0b3IKCjIwMTItMTEtMDkgMTY6NTc6MzAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IHNtYWxsIG1lbWxlYWsKCjIwMTItMTEtMDkgMTY6NTU6NTcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU3RvcmUgR1BhcmFtU3BlYyBmb3IgcHJvcGVydGllcyBhbmQgdXNlIHRoYXQgZm9yIHRoZSBQcm9wZXJ0eVByb2JlIGNvbXBhcmlzb24KCjIwMTItMTEtMDkgMTI6MjM6MzcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogSGFuZGxlIHpvb20gY29tcGFyaXNvbiBiZXR0ZXIsIGFuZCBhdm9pZCBmbG9hdCBwcmVjaXNpb24gaXNzdWUKCjIwMTItMTEtMDkgMTI6MjI6MTIgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IEVWIGNvbXBlbnNhdGlvbiBzdXBwb3J0CgoyMDEyLTExLTA3IDE5OjE2OjA1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEltcGxlbWVudCBuZXcgR3N0UGhvdG9ncmFwaHkgZW51bXMKCjIwMTItMTEtMDcgMTU6Mzg6MTkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRG8gbm90IGFkdmVydGlzZSB6b29tIGNhcGFiaWxpdGllcyBpZiBjYW1lcmEgZG9lc24ndCBzdXBwb3J0IHpvb20KCjIwMTItMTEtMDcgMTU6Mzc6NDMgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogQmUgTlVMTC1zYWZlIHdoZW4gYSBKTkkgbGlzdCBpcyByZXR1cm5lZAoKMjAxMi0xMS0wMiAxODowNzoyNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBVc2Ugc3RyY21wIG9uIHRoZSBHUGFyYW1TcGVjIHByb3BlcnR5IG5hbWUKCSAgVXNlIHN0cmNtcCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBwcm9wZXJ0eV9pZCBiZWNhdXNlIGl0J3Mgb3ZlcnJpZGVuCgoyMDEyLTExLTAyIDE4OjAwOjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogSW1wbGVtZW50IHByb3BlcnR5IHByb2JlIGZvciB6b29tIGFuZCBldl9jb21wZW5zYXRpb24KCjIwMTItMTEtMDIgMTc6MDA6NDUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9jb20vZ3N0cmVhbWVyL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBhdXRvZm9jdXMgc3VwcG9ydAoKMjAxMi0xMS0wMiAxNjo1OTo0MiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBPdmVycmlkZSBwcm9wZXJ0aWVzCgoyMDEyLTExLTAxIDE1OjI0OjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFucm9pZGNhbWVyYTogQWRkIHN1cHBvcnQgZm9yIHRoZSBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UKCjIwMTItMTEtMDEgMTE6NTg6MzMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBtb3JlIHdyYXBwZXJzIGZvciB0aGUgQ2FtZXJhLlBhcmFtZXRlcnMgY2xhc3MKCjIwMTItMTAtMzEgMTQ6MjE6NDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU2VuZCBwcm9wZXIgZXJyb3Igd2hlbiB1bmFibGUgdG8gb3BlbiBjYW1lcmEKCjIwMTItMTAtMzAgMTI6MTM6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkaW5nIGRldmljZS1vcmllbnRhdGlvbiBhbmQgZGV2aWNlLWZhY2luZyBwcm9wZXJ0aWVzCgoyMDEyLTEwLTMwIDExOjM1OjM2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgZGV2aWNlIHByb3BlcnR5IGFuZCBwcm9wZXJ0eSBwcm9iZSBpdAoKMjAxMi0xMC0zMCAxMDoxMjowNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggbWVtbGVhayBhbmQgbG9zZSBvZiBidWZmZXIgaWYgdGhlIGRhdGEgcXVldWUgaXMgZmx1c2hpbmcKCjIwMTItMTAtMzAgMDk6NDk6MzkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQ2FsbGluZyBzZXRfcHJldmlld19jYWxsYmFjayB3aXRoIE5VTEwgZnJlZXMgYWxsIHRoZSBidWZmZXJzIGluIHRoZSBxdWV1ZS4KCSAgV2UgbXVzdCBub3QgZG8gaXQgYXQgdGhlIHN0b3Agb3RoZXJ3aXNlIHdlIGxvc2UgYWxsIG91ciBidWZmZXJzLiBJdCdzIGJlc3QgdG8gZG8KCSAgaXQgZHVyaW5nIHRoZSBjbG9zZSwgc28gd2UgZnJlZSB1cCB0aGUgcmVzb3VyY2VzLgoKMjAxMi0xMC0zMCAwOTo0OTowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBEcm9wIGZyYW1lcyBpZiB3ZSBkb24ndCBoYXZlIGEgY2xvY2sgYW5kIHZhciByZW5hbWUKCjIwMTItMTAtMzAgMDk6NDU6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pY2FtZXJhOiBpZiBidWZmZXIgc2l6ZSBpbmNyZWFzZXMsIHRoZW4gcmVhZGQgbmV3IGJ1ZmZlcnMgdG8gdGhlIHF1ZXVlIGFuZCBkcm9wIG9sZCBvbmVzCgkgIFRoZSBvbl9wcmV2aWV3IGNhbGxiYWNrIGdldHMgY2FsbGVkIHdpdGggTlVMTCBpZiB0aGUgYnVmZmVyIGluIHRoZSBxdWV1ZSBpcwoJICB0b28gc21hbGwsIHNvIHdlIG5lZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBhcnJheSBpcyBOVUxMLiBBbHNvCgkgIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBhbmRyb2lkIHNvdXJjZSB3aGljaCBtYWtlcyBpdCBkcm9wIG9uZSBvZiB0aGUgYnVmZmVycwoJICBzbyBpZiB3ZSBoYWQgNSBidWZmZXJzLCBhbmQgd2UgcmVuZWdvdGlhdGUgdG8gYSBoaWdoZXIgcmVzb2x1dGlvbiwgdGhlbiB3ZSdkCgkgIG9ubHkgZ2V0IDQgY2FsbHMgdG8gb25fcHJldmlld19mcmFtZSB3aXRoIE5VTEwsIHdpdGggb25lIGJlaW5nIGRyb3BwZWQuCgkgIFRoaXMgbWVhbnMgd2UgY2FuJ3QgcmVhbGxvY2F0ZSB0aGUgYnVmZmVycyBpbiB0aGUgaWYgKGRhdGEgPT0gTlVMTCkgY2FzZQoJICBiZWNhdXNlIHdlIG1pZ2h0IGVuZCB1cCB3aXRoIDAgYnVmZmVycyBpbiB0aGUgZW5kLgoKMjAxMi0xMC0zMCAwOTo0NDozMSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBJZiBjYWxsYmFjayBpcyBOVUxMIHRoZW4gc2V0IGl0IHRvIE5VTEwgaW4gam5pCgoyMDE2LTAxLTIxIDEzOjQ2OjUyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IGRlYnVnIG91dHB1dAoKMjAxMi0xMC0yNiAxMjo1Nzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQ2hvc2UgdGhlIHNtYWxsZXN0IHJhbmdlIHRoYXQgY29udGFpbnMgdGhlIHRhcmdldCBmcmFtZXJhdGUKCjIwMTItMTAtMjYgMTI6NDM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEltcHJvdmUgbmVnb3RpYXRpb24KCSAgQW5kIG1ha2Ugc3VyZSB3ZSBzZXQgYW4gRlBTIHJhbmdlIGZyb20gdGhlIHN1cHBvcnRlZCBvbmVzCgkgIG5vdyBpbnN0ZWFkIG9mIGEgcG90ZW50aWFsbHkgdW5zdXBwb3J0ZWQgcmFuZ2UuCgoyMDEyLTEwLTI2IDEyOjE5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yNiAxMTo1Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogTWFrZSBzdXJlIHdlIGFsd2F5cyBoYXZlIGEgdmFsaWQgY2FtZXJhIHNvdXJjZSBpbnN0YW5jZSBpbiB0aGUgYnVmZmVyIGZyZWUgZnVuY3Rpb24KCjIwMTItMTAtMjYgMTE6NDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBNYWtlIHN1cmUgdG8gbm90IGNhbGwgYW55IGNhbGxiYWNrcyBhZnRlciBzdG9wcGluZyB0aGUgY2FtZXJhCgkgIEZpeGVzIHNlZ2ZhdWx0cyB3aGVuIHJvdGF0aW5nIHRoZSBkZXZpY2UgZm9yIGV4YW1wbGUuCgoyMDEyLTEwLTI0IDE1OjI1OjU0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCB0aW1lc3RhbXBpbmcgaXNzdWUKCjIwMTItMTAtMjQgMTM6NTk6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBjYXBzIG5lZ290aWF0aW9uIHN1cHBvcnQKCjIwMTItMTAtMjQgMTA6NTU6NTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGdldGNhcHMgdGhhdCBwcm9iZXMgdGhlIGNhbWVyYSBmb3IgY2FwYWJpbGl0aWVzCgoyMDEyLTEwLTIzIDEzOjU0OjQ2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogRHJvcCB0aGUgZmlyc3QgYnVmZmVyIHRvIGhhdmUgcHJvcGVyIHRpbWVzdGFtcGluZwoKMjAxMi0xMC0yMyAxMToxNDowMCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZsdXNoIHRoZSBxdWV1ZSB3aGVuIHRoZSBzb3VyY2UgaXMgc3RvcHBlZAoKMjAxMi0xMC0yMyAxMToxMzozNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFsbG9jYXRlL2ZyZWUgdGV4dHVyZSB3aGVuIGNhbWVyYSBpcyBvcGVuL2Nsb3NlZAoKMjAxMi0xMC0yMyAxMToxMzoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBhIGdzdF9haGNfc3JjX2Nsb3NlIGZ1bmN0aW9uCgoyMDEyLTEwLTIzIDExOjEyOjE5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHNtYWxsIGluZGVudGF0aW9uIGlzc3VlcwoKMjAxMi0xMC0yMyAxMDoxMjo1MiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IERpc2FibGUgcGx1Z2luIGlmIGFuZHJvaWQtc2RrIGlzbid0IGZvdW5kIGFuZCBkeW5hbWljYWxseSBzZWFyY2ggZm9yIHBsYXRmb3JtIHZlcnNpb24KCjIwMTItMTAtMjMgMDk6MDE6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvY29tL2dzdHJlYW1lci9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjY2FsbGJhY2suaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHN1cHBvcnQgZm9yIHVzaW5nIERleExvYWRlciB3aXRoIEVtYmVkZWQgR3N0QWhjQ2FsbGJhY2suamFyCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBjb21waWxhdGlvbiBpc3N1ZXMKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSAgUmVtb3ZlIHByZXZpb3VzIGNydWZ0IGFuZCBjcmVhdGUgYW5kcm9pZGNhbWVyYSBwbHVnaW4KCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgRnJlZSB0aGUgYnVmZmVycyBhbmQgcmVhZGQgdGhlIGFycmF5cyB3aGVuIHRoZSBxdWV1ZSBpcyBjbGVhcmVkCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uaDoKCSAgQWRkIGEgR1NUX0RWTV9DQUxMIG1hY3JvIHRvIGVhc2UgZnVuY3Rpb24gY2FsbGluZyB3aXRoIGV4Y2VwdGlvbiBjaGVjawoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgQ2FsY3VsYXRlIHRpbWVzdGFtcCBhdCByZWNlcHRpb24gb2YgdGhlIGJ1ZmZlciwgbm90IHdoZW4gcHVzaGluZyBpdCBvdXQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgTWFrZSB0aGUgbnVtYmVyIG9mIGNhbGxiYWNrIGJ1ZmZlcnMgY29uZmlndXJhYmxlLCBhbmQgZGVsZXRlIHRoZWlyIGxvY2FsIHJlZgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgVXNlIEdzdERhdGFRdWV1ZSBpbnN0ZWFkIG9mIEdBc3luY1F1ZXVlIGZvciBzdG9yaW5nIGJ1ZmZlcnMKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgVXNlIHRoZSBidWZmZXIncyBmcmVlX2Z1bmMgdG8gbWFwIGJ5dGVBcnJheSBkYXRhIHdpdGhvdXQgbWFraW5nIGEgY29weQoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBSZW1vdmUgb3BlbiBmYWlsdXJlIHRlc3QgY29kZSBhbmQgZGVidWcgbG9nCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIFVzZSBZVjEyIGFzIHRoZSBkZWZhdWx0IGZvcm1hdAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRtZWRpYS5jOgoJICBBZGQgYSBkZWluaXQgZnVuY3Rpb24gYW5kIHJlbW92ZSBqY2xhc3MgcmVmZXJlbmNlcyBpbiBjYXNlIG9mIGVycm9yCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSAgU3VyZmFjZVRleHR1cmUgY29uc3RydWN0dXJlIG5lZWRzIHRleHR1cmVfaWQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRtZWRpYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIEFkZCBhaGNzcmMgQ2FtZXJhIHNvdXJjZSBlbGVtZW50IHByb3RvdHlwZQoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIEFkZCBhbmRyb2lkLmhhcmR3YXJlLkNhbWVyYSAoYW5kIGRlcHMpIEpOSSB3cmFwcGVycwoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtZHZtLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uaDoKCSAgQWRkaW5nIERhbHZpayBWaXJ0dWFsIE1hY2hpbmUgcm91dGluZXMgYW5kIG1hY3JvcwoKMjAxMi0xMC0xNyAxNzo1NjozMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZG1lZGlhLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGFuZHJvaWRtZWRpYSBwbHVnaW4KCjIwMTYtMDEtMTUgMTQ6MzE6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3R0b25lZ2VuZXJhdGVzcmMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0dG9uZWdlbmVyYXRlc3JjLmg6CgkgIHNwYW5kc3A6IEFkZCB0b25lIGdlbmVyYXRvcgoKMjAxNS0wNy0xNCAxMzo0MDo0NiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogc2V0IG5vbi0wIHBheWxvYWQgbGVuZ3RoIGluIFBFUyBoZWFkZXIgaWYgdmlkZW8gRVMgcGFja2V0IGlzIHNtYWxsIGVub3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTA3CgoyMDE1LTA3LTE0IDEzOjQyOjU0ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiByZXNldCBwZXNfYnl0ZXNfd3JpdHRlbiB3aGVuIHN0YXJ0aW5nIHRvIHdyaXRlIG5ldyBQRVMgcGFja2V0CgkgIEluIGNhc2Ugb2YgYW4gdW5ib3VuZGVkIHBhY2tldCAodmlkZW8gdXN1YWxseSksIHBlc19ieXRlc193cml0dGVuIHdhcwoJICBubyByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUwNwoKMjAxNi0wMS0xOSAxNzowODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBILjI2NS9IRVZDIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNjcKCjIwMTYtMDEtMTkgMTM6MjA6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgZ2w6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYy02CgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBlZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOjI1OjA6CgkgIGVmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6MTc0OjMyOiBlcnJvcjogJ3hyYXlfY3VydmUnIGRlZmluZWQgYnV0IG5vdCB1c2VkCgkgIHN0YXRpYyBjb25zdCBHc3RHTEVmZmVjdHNDdXJ2ZSB4cmF5X2N1cnZlID0gewoJICAuLi4KCjIwMTYtMDEtMTkgMDg6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkgIGxpYnM6IGctaTogZml4IGluaXQgc2VjdGlvbiB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncwoJICAuLkdzdFBsYXllci0xLjAuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKCSAgLi5Hc3RQbGF5ZXItMS4wLmM6NTg3OjM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdzdF9pbml04oCZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAwOTAKCjIwMTYtMDEtMTkgMTk6MTg6NDMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogdnRlbmM6IGZpeCBidWlsZCBvbiBpT1MKCjIwMTYtMDEtMTkgMTU6NTA6MjIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogYWx3YXlzIGZpbGwgR3N0QnVmZmVycyB3aXRoIEdzdE1lbW9yeQoJICBBbHdheXMgZmlsbCBidWZmZXJzIHdpdGggb3VyIGN1c3RvbSBtZW1vcnkuIFRoZSBjdXN0b20gbWVtb3J5IHdpbGwgYXZvaWQKCSAgbWFwcGluZyBDVi9DTSBidWZmZXJzIHVubGVzcyBuZWNlc3NhcnkuCgoyMDE1LTA0LTE5IDAwOjMwOjQ4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBpbXBsZW1lbnQgY29weWluZyBvZiBtZXRhCgkgIEJlZm9yZSB0aGlzLCBidWZmZXJzIHdvdWxkIGxvc2UgdGhlaXIgQ29yZSBWaWRlbyAvIENvcmUgTWVkaWEgbWV0YQoJICBvdmVyIGludGVydmlkZW8qIGJvdW5kYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjE2CgoyMDE1LTA0LTAyIDIwOjA0OjE4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9tZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGltcGxlbWVudCBHc3RBcHBsZUNvcmVWaWRlb01lbW9yeQoJICBJbXBsZW1lbnQgYSBuZXcgbWVtb3J5IHR5cGUgd3JhcHBpbmcgQ1ZQaXhlbEJ1ZmZlci4KCSAgVGhlcmUgYXJlIHR3byBpbW1lZGlhdGUgYWR2YW50YWdlczoKCSAgYSkgTWFrZSB0aGUgR3N0TWVtb3J5IGl0c2VsZiByZXRhaW4gdGhlIENWUGl4ZWxCdWZmZXIuIFByZXZpb3VzbHksCgkgIHRoZSBjb250YWluaW5nIEdzdEJ1ZmZlciB3YXMgc29sZWx5IHJlc3BvbnNpYmxlIGZvciB0aGUgbGlmZXRpbWUgb2YKCSAgdGhlIGJhY2tpbmcgQ1ZQaXhlbEJ1ZmZlci4KCSAgV2l0aCB0aGlzIGNoYW5nZSwgd2UgcmVtb3ZlIHRoZSBHU1RfTUVNT1JZX0ZMQUdfTk9fU0hBUkUgc28gdGhhdAoJICBHc3RNZW1vcnkgb2JqZWN0cyBiZSByZWZlcmVuY2VkIGJ5IG11bHRpcGxlIEdzdEJ1ZmZlcnMgKGRvaW5nIGF3YXkKCSAgd2l0aCB0aGUgbmVlZCB0byBjb3B5LikKCSAgYikgRGVsYXkgbG9ja2luZyBDVlBpeGVsQnVmZmVyIGludG8gQ1BVIG1lbW9yeSB1bnRpbCBpdCdzIGFjdHVhbGx5CgkgIG1hcHBlZCAtLSBwb3NzaWJseSBuZXZlci4KCSAgVGhlIENWUGl4ZWxCdWZmZXIgb2JqZWN0IGlzIHNoYXJlZCBhbW9uZyByZWZlcmVuY2VzLCBzaGFyZXMgYW5kCgkgIChpbiBwbGFuYXIgZm9ybWF0cykgcGxhbmVzLCBzbyBhIHdyYXBwZXIgR3N0QXBwbGVDb3JlVmlkZW9QaXhlbEJ1ZmZlcgoJICBzdHJ1Y3R1cmUgd2FzIGludHJvZHVjZWQgdG8gbWFuYWdlIGxvY2tpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMTYKCjIwMTYtMDEtMTkgMTI6NTY6NDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkgIGFwcGxlbWVkaWE6IGlvc3VyZmFjZW1lbW9yeTogYWxsb2Mgd2l0aCBnX25ldzAKCSAgLi4uc2luY2UgdGhlIGJhc2UgY2xhc3MgZG9lc24ndCB1c2UgZ19zbGljZSBhbnltb3JlCgoyMDE2LTAxLTA4IDExOjA0OjEzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFkZGVkIGNoZWNrIHRoYXQgYXZhaWxhYmlsaXR5U3RhcnRUaW1lIGlzIHByZXNlbnQgZm9yIGxpdmUgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjAyCgoyMDE1LTExLTA0IDE4OjE1OjI0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBhZGFwdGl2ZWRlbXV4OiBpbXByb3ZlZCBlcnJvciBtZXNzYWdlIGlmIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSBpcyBtaXNzaW5nIGZvciBhIGxpdmUgc3RyZWFtCgkgIEZvciBhIGxpdmUgbXBkLCBpZiBhdmFpbGFiaWxpdHlTdGFydFRpbWUgaXMgbWlzc2luZywgYWRhcHRpdmUgZGVtdXggYXNzZXJ0cwoJICB3aXRoOiBVbmV4cGVjdGVkIGNyaXRpY2FsL3dhcm5pbmc6IGdzdF9kYXRlX3RpbWVfdG9fZ19kYXRlX3RpbWU6IGFzc2VydGlvbgoJICAnZGF0ZXRpbWUgIT0gTlVMTCcgZmFpbGVkLgoJICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBlcnJvciBtZXNzYWdlIHRvOgoJICBVbmV4cGVjdGVkIGNyaXRpY2FsL3dhcm5pbmc6IGdzdF9tcGRfY2xpZW50X3NlZWtfdG9fdGltZTogYXNzZXJ0aW9uCgkgICdjbGllbnQtPm1wZF9ub2RlLT5hdmFpbGFiaWxpdHlTdGFydFRpbWUgIT0gTlVMTCcgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2MDIKCjIwMTYtMDEtMTQgMTg6Mjc6NTAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5jOgoJICB0ZXN0czogYWRhcHRpdmUtc3RyZW1haW5nOiBmaXggbWVtb3J5IGxlYWsgaW4gdGVzdF9odHRwX3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjAwCgoyMDE2LTAxLTE1IDEwOjQ5OjEyIC0wNTAwICBNYXR0IENyYW5lIDxtYXR0Y3JhbmVAdHljb2ludC5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIF9yZW5kZXIoKS8gX2FsbG9jYXRvcl9mcmVlKCkKCSAgRHJvcCBvYmplY3QgbG9jayBiZWZvcmUgdW5yZWZpbmcgbWVtb3J5LCBvdGhlcndpc2UgdGhlIG9iamVjdAoJICBsb2NrIG1pZ2h0IGJlIHRha2VuIGFnYWluIGZyb20gdGhlIGFsbG9jYXRvciBhbmQgdGhlbiB0aGluZ3MKCSAgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTEKCjIwMTYtMDEtMTYgMTc6MTQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IEZpcnN0IG1ha2UgY2FwcyB3cml0YWJsZSBpbiBmaXhhdGVfY2FwcygpLCB0aGVuIHRydW5jYXRlIHRoZW0KCSAgVHJ1bmNhdGluZyByZXF1aXJlcyB3cml0YWJsZSBjYXBzLgoKMjAxNi0wMS0xNiAxNzoxMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQ2FwcyBwYXNzZWQgdG8gZml4YXRlX2NhcHMoKSBhcmUgbm90IG93bmVkIGJ5IHVzIGFuZCBndWFyYW50ZWVkIHRvIGJlIGZpeGVkCgkgIFNvIGRvbid0IHRyeSB0byBmaXhhdGUgdGhlbSwgd2hpY2ggdGFrZXMgb3duZXJzaGlwIGFuZCBzdGVhbHMgdGhlbSBmcm9tCgkgIGJhc2V0cmFuc2Zvcm0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2OTYKCjIwMTYtMDEtMTYgMTY6NTU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIFJldmVydCAiZ2xwb29sOiBmaXggY2FwcyByZWZjb3VudCBpc3N1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYmRjZGVkZmEwMGI4N2YxZGI1MDUyMTg3ODkxNzgzMThhMTZjNzQzLgoJICBnc3RfY2Fwc19yZXBsYWNlKCkgdGFrZXMgYSBuZXcgcmVmZXJlbmNlIGFscmVhZHksIGlmIHRoZXJlIGlzIGEgcHJvYmxlbSB0aGVuCgkgIGl0IGlzIGVsc2V3aGVyZS4gQW5kIHRoZXJlIGFyZSBhIGZldyBwcm9ibGVtcywgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2OTYKCjIwMTYtMDEtMTUgMTY6MTA6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB1bm5lZWRlZCBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuIHRocm93IGl0CgkgIGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIgZGlyZWN0bHkuCgoyMDE2LTAxLTE1IDE1OjU2OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGFkZCAic2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFZQUy9TUFMvUFBTIGluZm9ybWF0aW9uCgkgIHNlbnQgaW4gUlRQIHBhY2tldHMuIFRoZXJlIGFyZSBzb21lIHNjZW5hcmlvcyB3aGVuIGtleSBmcmFtZXMgbWF5IGFwcGVhcgoJICBtb3JlIGZyZXF1ZW50bHkgdGhhbiBvbmNlIGEgc2Vjb25kLCBpbiB3aGljaCBjYXNlIHRoZSBtaW5pbXVtIHRpbWVvdXQKCSAgZm9yICJjb25maWctaW50ZXJ2YWwiIG9mIDEgc2Vjb25kIGZvciBzZW5kaW5nIFZQUy9TUFMvUFBTIGlzbid0IGVub3VnaC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFZQUy9TUFMvUFBTIGlzCgkgIGF2YWlsYWJsZSB3aXRoIGV2ZXJ5IGtleWZyYW1lIChwYWNrZXQgbG9zcyBhc2lkZSksIHNvIHJlY2VpdmVycyBjYW4KCSAgYWN0dWFsbHkgcGljayB1cCBkZWNvZGluZyBpbW1lZGlhdGVseSBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBpZgoJICBWUFMvU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgY29tbWl0IGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUuCgkgIFRoaXMgbW9kZSBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHRvIC0xLiBJbgoJICB0aGlzIGNhc2UgdGhlIHBheWxvYWRlciB3aWxsIGFkZCBWUFMsIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikKCSAgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTUgMTU6MTk6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE2LTAxLTEzIDA5OjUxOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZXBsYWNlIGdob3N0cGFkIHdpdGggYSBzdGFuZGFyZCBwYWQKCSAgSGFuZGxpbmcgdGhlIGdob3N0cGFkIGFuZCBpdHMgaW50ZXJuYWwgcGFkIHdhcyBjYXVzaW5nIG1vcmUgaXNzdWVzCgkgIHRoYW4gaGVscGluZyBiZWNhdXNlIG9mIHRoZWlyIGNvdXBsZWQgYWN0aXZhdGlvbi9kZWFjdGl2YXRpb24KCSAgYWN0aW9ucy4KCSAgQXMgd2UgaGF2ZSB0byBpbnN0YWxsIGN1c3RvbSBjaGFpbixldmVudCBhbmQgcXVlcnkgZnVuY3Rpb25zIGl0IGlzCgkgIGJldHRlciB0byB1c2UgYSBmbG9hdGluZyBzaW5rIHBhZCBpbnRlcm5hbGx5IGluIHRoZSBkZW11eGVyIGFuZCBqdXN0CgkgIHVzZSB0aG9zZSBwYWQgZnVuY3Rpb25zIHRvIHB1c2ggdGhyb3VnaCBhIHN0YW5kYXJkIHBhZCBpbiB0aGUgZGVtdXhlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTUxCgoyMDE1LTExLTExIDE3OjI0OjMzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IGZsdXNoIHRoZSBpbnB1dCBwYWQKCSAgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9jbGVhcl9lb3NfYW5kX2ZsdXNoX3N0YXRlKCkgZnVuY3Rpb24gd2lsbCBkbwoJICBhbGwgdGhlIG5lY2Vzc2FyeSBjbGVhbmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk1MQoKMjAxNi0wMS0xNSAxMTo0NDo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHZpZGVvc2VnbWVudGNsaXA6IGZhaWwgdG8gc2V0X2NhcHMgaWYgcHJvYmxlbSBpbiBjYXBzIHN0cnVjdHVyZQoJICBnc3RfdmlkZW9fc2VnbWVudF9jbGlwX3NldF9jYXBzICgpIHNob3VsZCByZXR1cm4gRkFMU0UgaWYgdGhlcmUgd2FzIGEKCSAgcHJvYmxlbSByZWFkaW5nIHRoZSBmcmFtZXJhdGUgdmFsdWVzIGZyb20gdGhlIGNhcHMgc3RydWN0dXJlLgoKMjAxNi0wMS0xNSAxNzowMDo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSAgZ2xxdWVyeTogcHJvdmlkZSBjb21wYXQgZGVmaW5pdGlvbiBmb3IgR0xfUVVFUllfUkVTVUxUCgkgIGUuZy4gYW5kcm9pZCBkb2Vzbid0IGhhdmUgaXQKCSAgV2hpbGUgd2UncmUgaGVyZSBtb3ZlIGEgc3RhdGUgc3BlY2lmaWMgYXNzZXJ0aW9uIGFmdGVyIHRoZSBzdXBwb3J0ZWQgY2hlY2suCgkgIFJlbW92ZXMgYW4gYXNzZXJ0aW9uIG9uIEdMRVMKCjIwMTYtMDEtMTUgMTY6MDc6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgZ2w6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gb2YgR0xpbnQ2NAoJICBlLmcuIGFucmRvaWQgZG9lc24ndCBoYXZlIGl0CgoyMDE2LTAxLTA4IDIyOjE5OjA2ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdlLmJvcm92a292QGdtYWlsLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogTWFyayBtYXRlcmlhbCBkaXJ0eSB3aGVuIHRleHR1cmUgYnVmZmVyIGlzIHVwZGF0ZWQKCSAgUXQgbWlnaHQgbm90IHJlZHJhdyB0aGUgc2NlbmUgb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mjg2CgoyMDE2LTAxLTE1IDE0OjAwOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdscG9vbDogZml4IGNhcHMgcmVmY291bnQgaXNzdWUKCSAgVGhlIGNhcHMgYXJlIGZyb20gYW4gYWxsb2NhdGlvbiBxdWVyeSB3aGljaCBhcmUgdHJhbnNmZXIgbm9uZSBidXQgd2VyZSBiZWluZwoJICB0cmVhdGVkIGFzIHRyYW5zZmVyIGZ1bGwuCgoyMDE2LTAxLTExIDEzOjMwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBsb2cgdGhlIHRpbWUgZm9yIGdsVGV4U3ViSW1hZ2UvZ2xSZWFkUGl4ZWxzCgoyMDE2LTAxLTA4IDE4OjM2OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9xdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xxdWVyeS5jOgoJICBnbDogYWRkIGEgZ3N0Z2xxdWVyeSBvYmplY3QgZm9yIGFyYml0cmFyeSBHTCBxdWVyaWVzCgkgIEN1cnJlbnRseSBvbmx5IEdMX1RJTUVfRUxBUFNFRCBhbmQgR0xfVElNRVNUQU1QIGFyZSBzdXBwb3J0ZWQKCjIwMTYtMDEtMTEgMTc6MjI6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmg6CgkgIGdsZGVidWc6IGltcGxlbWVudCBhIGRlbGF5ZWQgZGVidWcgc3lzdGVtCgkgIFRoZSBtZXNzYWdlcyBhcmUgc3RvcmVkIGJ5IGdzdF9nbF9hc3luY19kZWJ1Z19zdG9yZV9sb2dfbXNnKCkgYW5kIG91dHB1dCBsYXRlcgoJICBieSBhIGNvcnJlc3BvbmRpbmcgc3RvcmUoKSwgb3V0cHV0KCkgb3IgYW4gdW5zZXQoKS9mcmVlKCkuCgkgIFNvbWUgd3JhcHBlciBtYWNyb3MgYXJlIHByb3ZpZGVkIHRvIGF2b2lkIGNhbGxlcnMgZXhwbGljaXRseSB1c2luZyBfX0ZJTEVfXywKCSAgR1NUX0ZVTkNUSU9OIGFuZCBfX0xJTkVfXwoKMjAxNi0wMS0xMSAxNzoyNjowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogdXNlIGdzdF9pbmZvX3Zhc3ByaW50ZiBpbiBpbnNlcnRfZGVidWdfbWFya2VyKCkKCSAgQWxsb3dzIGV4cGFuc2lvbiBvZiBHU1RfUFRSX0ZPUk1BVCBhbmQgR1NUX1NFR01FTlRfRk9STUFUIGFyZ3VtZW50cy4KCjIwMTYtMDEtMTUgMTE6MjI6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgYSB2aWRlb2ZsaXAgZWxlbWVudAoJICBCZWhhdmVzIGV4YWN0bHkgdGhlIHNhbWUgYXMgdGhlIG5vbi1HTCB2aWRlb2ZsaXAgZWxlbWVudAoKMjAxNi0wMS0xNSAwMDowNDoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiByZWNyZWF0ZSB0aGUgZmJvIG9uIGNhcHMgY2hhbmdlcwoJICBUaGUgd2lkdGgvaGVpZ2h0IG1heSBjaGFuZ2Ugd2hpY2ggcmVxdWlyZXMgcmVjcmVhdGluZyB0aGUgZGVwdGggYnVmZmVyLgoKMjAxNi0wMS0xNSAwMDowMjo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkgIGdsYmFzZWZpbHRlcjogYWRkIGEgY2xhc3MgZnVuY3Rpb24gb24gc2V0X2NhcHMgKGZyb20gR0wpCgkgIFRoaXMgaXMgc2ltcGx5IGEgY29udmVuaWVuY2UgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIHRocmVhZCBtYXJzaGFsbGluZyBvbgoJICBzZXRfY2Fwcy4KCjIwMTYtMDEtMTUgMDA6MDA6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGFsd2F5cyBidWlsZCBhIHZhbGlkIG12cCBtYXRyaXgKCSAgVGhlIGRlZmF1bHQgY2FzZSBpcyB0byBidWlsZCBhbiBpZGVudGl0eSBtYXRyaXguCgoyMDE2LTAxLTE0IDE5OjAzOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBzdXBwb3J0IG5lZ2F0aXZlIHNjYWxlcwoJICBBIHNjYWxlIG9mIC0xLjAgbWVhbnMgdG8gZmxpcCB0aGUgdmlkZW8uCgoyMDE2LTAxLTE0IDE4OjQyOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBpbXBsZW1lbnQgcGFzc3Rocm91Z2ggaGFuZGxpbmcKCjIwMTYtMDEtMTQgMTc6NDU6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IGltcGxlbWVudCBuYXZpZ2F0aW9uIGV2ZW50cwoJICBSZXZlcnNlcyB0aGUgdHJhbnNmb3JtYXRpb24gYXBwbGllZCB0aHJvdWdoIHRoZSBwcm9wZXJ0aWVzIGFuZCBmb3J3YXJkcyB0aGUKCSAgZXZlbnQuCgkgIFRoZSBwcm9jZXNzIGZvciBmaW5kaW5nIHRoZSBjb29yZGluYXRlcyBvbiB0aGUgdmlkZW8gYXJlIGFzIGZvbGxvd3M6CgkgIDEuIENvbnZlcnQgdGhlIGdpdmVuIHBvaW50ZXJfeCBhbmQgcG9pbnRlcl95IHRvIG1vZGVsIHNwYWNlIGF0IHRoZSBuZWFyIGFuZCBmYXIgcGxhbmVzCgkgIDIuIEdldCB0aGUgZXF1YXRpb24gb2YgdGhlIHZpZGVvIHBsYW5lCgkgIDMuIEZpbmQgd2hlcmUgdGhlIHJheSBpbiAxIGludGVyc2VjdHMgdGhlIHBsYW5lCgkgIDQuIFByb2ZpdCEKCjIwMTYtMDEtMTQgMTY6NTk6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVtb3ZlIHJlZHVudGFudCBnbGltYWdlc2luayBmcm9tIGRlYnVnIGxvZ2dpbmcKCjIwMTYtMDEtMTQgMTY6NTc6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMS9uYXZpZ2F0aW9uOiBhZGQgYnV0dG9uIHByZXNzIHRvIHRoZSBzZWxlY3RlZCBldmVudCBtYXNrCgkgIE90aGVyd2lzZSB3ZSB3b24ndCBnZXQgdGhlIGJ1dHRvbiBwcmVzcyBldmVudHMgYW5kIEdzdE5hdmlnYXRpb24gZmFpbHMuCgoyMDE2LTAxLTE0IDE2OjAwOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogdHJ5IGhhcmRlciB0byBwYXNzdGhyb3VnaAoJICBUaGlzIG1ha2VzIGEgcGlwZWxpbmUgbGlrZToKCSAgLi4uICEgdmlkZW8veC1yYXcobWVtb3J5OkdMTWVtb3J5KSxmb3JtYXQ9VVlWWSAhIGdsY29sb3Jjb252ZXJ0ICEKCSAgdmlkZW8veC1yYXcobWVtb3J5OkdMTWVtb3J5KSxmb3JtYXQ9e1VZVlksIE5WMTJ9ICEgLi4uCgkgIHBhc3N0aHJvdWdoIGluc3RlYWQgb2YgY29udmVydGluZyBVWVZZID0+IE5WMTIuIFRoZSBjb252ZXJzaW9uIHdvdWxkIGhhcHBlbgoJICBiZWZvcmUgdGhpcyBjaGFuZ2Ugc2luY2UgdGhlIGVsZW1lbnQgKGFuZCBiYXNldHJhbnNmb3JtKSB0cmFuc2Zvcm0gdGhlIHNyYyBjYXBzCgkgIHRvIGZvcm1hdD17TlYxMiwgVVlWWX0gKHNpbmNlIE5WMTIgY29tZXMgZmlyc3QgaW4gdGhlIGdsY29sb3Jjb252ZXJ0OnNyYwoJICB0ZW1wbGF0ZSkgYW5kIHRoZW4gdGhlIGRlZmF1bHQgY2FwcyBmaXhhdGUgZnVuYyB3b3VsZCBmaXhhdGUgdG8gTlYxMi4gQmxhaC4KCSAgQWxzbyB0aGVyZSdzIG5vIG5lZWQgdG8gaW50ZXJzZWN0IGFnYWluc3QgdGhlIHRlbXBsYXRlIGNhcHMgaW4gOjp0cmFuc2Zvcm1fY2FwcwoJICBzaW5jZSBiYXNldHJhbnNmb3JtIGRvZXMgdGhhdCByaWdodCBhZnRlciBjYWxsaW5nIHRoZSB2ZnVuYy4KCjIwMTYtMDEtMTIgMTg6MzE6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBpbXBsZW1lbnQgYSBjb2xvcmJhbGFuY2UgZWxlbWVudAoJICBJdCBwZXJmb3JtcyB0aGUgZXhhY3Qgc2FtZSBvcGVyYXRpb24gYXMgdmlkZW9iYWxhbmNlIGJ1dCB3aXRoIG9wZW5nbCBzaGFkZXJzIGFuZAoJICB3YXMgdGVzdGVkIHdpdGggZ2x2aWRlb21peGVyIGJ5IGNvbXBhcmluZyBmcmFtZXMgZnJvbSB2aWRlb2JhbGFuY2UgYW5kCgkgIGdsY29sb3JiYWxhbmNlLgoKMjAxNi0wMS0xMiAxODoyMTo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogaW1wbGVtZW50IGdsQmxlbmRGdW5jIGFuZCBnbEJsZW5kRXF1YXRpb24KCSAgQWxsb3dzIG1vcmUgYmxlbmRpbmcgb3B0aW9ucyB0aGFuIGp1c3QgQSBvdmVyIEIKCSAgZS5nLiBmcmFtZSBjb21wYXJpc29ucyBhcmUgbm93IHBvc3NpYmxlLgoJICBnbHZpZGVvbWl4ZXIgbmFtZT1tCgkgIHNpbmtfMDo6em9yZGVyPTAKCSAgc2lua18xOjp6b3JkZXI9MQoJICBzaW5rXzE6OmJsZW5kLWVxdWF0aW9uLXJnYj17c3VidHJhY3QscmV2ZXJzZS1zdWJ0cmFjdH0KCSAgc2lua18xOjpibGVuZC1mdW5jdGlvbi1zcmMtcmdiPXNyYy1jb2xvcgoJICBzaW5rXzE6OmJsZW5kLWZ1bmN0aW9uLWRzdC1yZ2I9ZHN0LWNvbG9yCgkgICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWNoZWNrZXJzLTQgISBtLnNpbmtfMAoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj1jaGVja2Vycy04ICEgbS5zaW5rXzEKCjIwMTYtMDEtMDggMTg6Mzg6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsZGVidWc6IGFkZCBhIHNwZWNpZmljIGNhdGVnb3J5IGZvciB0aGUgZGVidWcgc3BhbSBmcm9tIHRoZSBkcml2ZXIKCjIwMTYtMDEtMTIgMTQ6NTQ6MjMgKzAwMDAgIFRpbSBTaGVyaWRhbiA8dGltLnNoZXJpZGFuQGltZ3RlYy5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IHNiY2RlYzogRml4IGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbgoJICBTQkMgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIHdhc24ndCBiZWluZyByb3VuZGVkIHVwIHRvIHRoZSBuZWFyZXN0IGJ5dGUKCSAgKGFzIHNwZWNpZmllZCBpbiB0aGUgQTJEUCAxLjAgc3BlY2lmaWNhdGlvbiwgc2VjdGlvbiAxMi45KS4gVGhpcyBjb3VsZAoJICBjYXVzZSAnc3RlcmVvJyBhbmQgJ2pvaW50IHN0ZXJlbycgbW9kZSBTQkMgc3RyZWFtcyB0byBoYXZlIGluY29ycmVjdGx5CgkgIGNhbGN1bGF0ZWQgZnJhbWUgbGVuZ3Rocy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjQ0NgoKMjAxNi0wMS0xMiAyMzozNDozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogdXBkYXRlIGZvciByZWNlbnQgR0wgYXBpIGNoYW5nZXMKCSAgU3BlY2lmaWNhbGx5IHRoZSBHc3RHTE1lbW9yeVBCTyBhZGRpdGlvbiAod2hpY2ggd2FzIHRoZSB1bmFkb3JuZWQgR3N0R0xNZW1vcnkpLgoKMjAxNi0wMS0xMiAxNDozNjowMiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogb3B0aW9uYWxseSBnZXQgdGhlIEdMIGNvbnRleHQgZnJvbSBnc3RfZWxlbWVudF9zZXRfY29udGV4dAoJICBBbGxvdyBzZXR0aW5nIHRoZSBHTCBjb250ZXh0IHdpdGggZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQuIFdoZW4gYXZhaWxhYmxlLCB0aGUKCSAgbG9jYWwgY29udGV4dCBvYnRhaW5lZCB2aWEgdGhlIGNvbnRleHQgcXVlcnkgc3RpbGwgaGFzIHRoZSBwcmVjZWRlbmNlLgoKMjAxNi0wMS0xMiAxNDowMjo0NiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSAgYXBwbGVtZWRpYTogaW9zdXJmYWNlbWVtb3J5OiByZW1vdmUgTk9fU0hBUkUgZmxhZwoJICBUaGUgZnVsbCBtZW1vcnkgY2FuIGJlIHNhZmVseSBzaGFyZWQuIFNoYXJpbmcgYSBzdWIgcmVnaW9uIGNhbid0IGJlIGRvbmUgYW5kCgkgIHdpbGwgZmFpbCBpbiB0aGUgYmFzZSBhbGxvY2F0b3IsIHRyaWdnZXJpbmcgYSBjb3B5LgoKMjAxNi0wMS0xMSAxMzozMzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHJtaXhlcjogcmVwbGFjZSBhY2NlcHQtY2FwcyB3aXRoIGNhcHMgcXVlcnkKCSAgSXQgd2FudHMgdG8gY2hlY2sgaWYgdXBzdHJlYW0gY2FuIHByb2R1Y2UgYSBjZXJ0YWluIGZvcm1hdCwKCSAgYWNjZXB0LWNhcHMgbWlnaHQgb25seSBjaGVjayBpZiB0aGUgbmV4dCBlbGVtZW50IGNhbiBwcm9kdWNlIGl0LgoKMjAxNi0wMS0wNyAyMDo1Njo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xiYXNlbWVtb3J5OiBGcmVlIHRoZSBhY3R1YWwgbWVtb3J5IG9iamVjdCB3aGVuIHJlcXVlc3RlZAoJICBPdGhlcndpc2Ugd2UgYXJlIGxlYWtpbmcgfjQwMEIgb24gZWFjaCBHc3RNZW1vcnkgYWxsb2NhdGlvbi4KCSAgRnJlZWluZyBpbiB0aGUgYmFzZSBjbGFzcyBtYXRjaGVzIHRoZSBHT2JqZWN0IHNlbWFudGljcy4KCjIwMTYtMDEtMDcgMjA6NTQ6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogZG9uJ3QgZG91YmxlIHJlYWQgcGl4ZWxzCgkgIFRoZSBvcHRpbWlzdGljIGRvd25sb2FkX3RyYW5zZmVyIHdhcyBub3Qgc2V0dGluZyB0aGUgcmVxdWlyZWQgZmxhZyB0byBub3QKCSAgcGVyZm9ybSBnbFJlYWRQaXhlbHMgb24gc3Vic2VxdWVudCBtYXAgKFJFQUQpLiByZXN1bHRpbmcgaW4gZ2xSZWFkUGl4ZWxzCgkgIGhhcHBlbmluZyB0d2ljZS4KCjIwMTYtMDEtMDcgMTg6NDc6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5OiBleHBvc2UgZ3N0X2dsX21lbW9yeV90ZXhzdWJpbWFnZQoJICBSZW1vdmVzIGV4dHJlbWVseSBzaW1pbGFyIGNvZGUgZnJvbSBnbG1lbW9yeXBiby4KCjIwMTYtMDEtMDcgMTg6MDU6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgZ2xmZWF0dXJlIGFkZCBhIHNwZWNpZmljIGRlYnVnIGNhdGVnb3J5CgkgIFNhdmVzIGhhdmluZyB0byB0cmF3bCB0aHJvdWdoIHRoZSAnZGVmYXVsdCcgY2F0ZWdvcnkgd2hlbiBmdW5jdGlvbiByZXRyaWV2YWwKCSAgZ29lcyB3cm9uZy4KCjIwMTYtMDEtMDUgMTQ6MzU6MTEgLTA1MDAgIEJvYiBIb2xjb21iIDxiaG9sY29tYkBtYWsuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCByZXNlcnZlIGJpdHMgc28gdGhleSBhcmUgMSdzCgkgIFRoZSBNUEVHIHN0YW5kYXJkIChJU08tMTM4ODAtMSkgc2F5cyB0aGUgcmVzZXJ2ZSBiaXRzIG5lZWQgdG8gYmUgc2V0CgkgIHRvIG9uZSAoMi4xLjY0KS4gVGhpcyBpcyBjYXVzaW5nIHRyYW5zcG9ydCBzdHJlYW1zIHRvIGZhaWwgdmFsaWRhdGlvbgoJICBvbiBzb21lIHN5c3RlbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAxMjcKCjIwMTYtMDEtMDggMTc6MTE6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogcmVtb3ZlIGNoZWNrIGZvciBPcGVuQ1YgdmVyc2lvbgoJICBBZnRlciBjb21taXQgNjQwODBlNjMyLCBjb25maWd1cmUgY2hlY2tzIGZvciBhbGwgdGhlIGhlYWRlciBmaWxlcyB0aGF0CgkgIHNob3VsZCBiZSBhdmFpbGFibGUgaW4gT3BlbkNWIDIuMyBhbmQgbGF0ZXIuIElmIGFueSBvZiB0aGVzZSBmaWxlcyBpc24ndAoJICB0aGVyZSB0aGUgT3BlbkNWIGVsZW1lbnRzIHdvbid0IGJlIHBhcnQgb2YgdGhlIGJ1aWxkLgoJICBObyBuZWVkIHRvIHJlY2hlY2sgZm9yIG9wZW5jdjIvbGVnYWN5L2xlZ2FjeS5ocHAgYWdhaW4gaW4KCSAgZ3N0cHlyYW1pZHNlZ21lbnQuaC4gTWluaW11bSBzdXBwb3J0ZWQgT3BlbkNWIHZlcnNpb24gbXVzdCBoYXZlIHRoaXMgaGVhZGVyCgkgIGFuZCBjb25maWd1cmUgYWxyZWFkeSBjaGVja3MgZm9yIGl0LiBSZW1vdmluZyBjaGVjay4KCjIwMTYtMDEtMDggMTU6MDE6NDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgb3BlbmN2OiBhbHdheXMgZG8gY3ZzbW9vdGggaW4gcGxhY2UKCSAgQWZ0ZXIgdGhlIHVwZGF0ZSB0byBuZXcgT3BlbkNWIEFQSSB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIHVzaW5nIGFuIG91dAoJICBidWZmZXIgaXMgbm90IG5lY2Vzc2FyeS4gV2UgY2FuIGFsd2F5cyBkbyB0aGUgdHJhbnNmb3JtYXRpb24gaW4gcGxhY2UuCgoyMDE2LTAxLTA4IDEyOjM5OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiBkbyBweXJhbWlkc2VnbWVudCdzIHRyYW5zZm9ybWF0aW9uIGluIHBsYWNlCgkgIFJ1biB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIG9mIHB5cmFtaWRzZWdtZW50IGluIHBsYWNlLCByZXVzaW5nIHRoZSBpbWFnZQoJICBkYXRhIGFzIGJvdGggc291cmNlIGFuZCBkZXN0aW5hdGlvbiBpbiBjdlB5clNlZ21lbnRhdGlvbi4gVGhpcyBhdm9pZHMKCSAgY29weWluZyB0aGUgaW1hZ2UgYmFjayBhbmQgZm9ydGggYW5kIHRoZSBleHRyYSBtZW1vcnkuCgoyMDE2LTAxLTA3IDE1OjIxOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBobHNkZW11eDogYWRkIHRlc3QgZm9yIHVwZGF0aW5nIHNlZ21lbnQgc3RvcAoJICBBZGQgYSB0ZXN0IGZvciBzZWVraW5nIHRoYXQgb25seSB1cGRhdGVzIHN0b3AgcG9zaXRpb24gYW5kIHZlcmlmaWVzCgkgIHRoYXQgc3RhcnQgaXMgdW5tb2RpZmllZAoKMjAxNi0wMS0wNyAxNToyMToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2Vla2luZyB0aGF0IGp1c3QgdXBkYXRlcyBzdG9wIHBvc2l0aW9uCgkgIEZpeGVkIGFkYXB0aXZlZGVtdXggc2Vla2luZyB3aXRob3V0IGZsdXNoaW5nIHRoYXQganVzdCB3YW50cwoJICB0byB1cGRhdGUgc3RvcCBwb3NpdGlvbi4gVGhpcyByZXF1aXJlZCBwcm90ZWN0aW5nIHRoZSBzZWdtZW50CgkgIHZhcmlhYmxlcyB3aXRoIGEgbmV3IG11dGV4IHNvIHRoYXQgdGhlIHNlZWtpbmcgdGhyZWFkIGFuZCB0aGUKCSAgZG93bmxvYWQgdGhyZWFkcyBjb3VsZCBzYWZlbHkgbWFuaXB1bGF0ZSB0aGUgc2VnbWVudCBhbmQKCSAgZXZlbnRzIHJlbGF0ZWQgdG8gaXQuCgkgIFRoaXMgY29udGVudGlvbiBpcyBvbmx5IGxvY2tlZC91bmxvY2tlZCB3aGVuIHN0YXJ0aW5nIGEgbmV3CgkgIGRvd25sb2FkLCB3aGVuIHRoZSBmaXJzdCBmcmFnbWVudCBvZiBhIHNlZ21lbnQgaXMgcmVjZWl2ZWQgYW5kCgkgIHdoZW4gc2Vla2luZyBzbywgaG9wZWZ1bGx5LCBpdCB3b24ndCBkYW1hZ2UgcGVyZm9ybWFuY2UuCgoyMDE2LTAxLTA2IDE2OjUxOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWdtZW50IHVwZGF0ZSBvbiBzZWVrcwoJICBGaXhlcyB0eXBvIG9uIHJldmVyc2UgcmF0ZSBjaGVjayBhbmQgYWxzbyBvbmx5IHVwZGF0ZSB0aGUKCSAgcG9zaXRpb24gd2hlbiB0aGUgc3RhcnQvc3RvcCB3YXMgYWN0dWFsbHkgY2hhbmdlZC4KCjIwMTYtMDEtMDcgMTg6MTA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBEb24ndCBzdG9yZSBwb2ludGVycyBpbiBzdGFjayBhbGxvY2F0ZWQgZ3VpbnRzCgkgIFRoaXMgd29ya3MgdXN1YWxseSBpbiB0aGlzIHBsYWNlLCB1bmxlc3MgdGhlIGNvbXBpbGVyIG9wdGltaXplcyB0aGluZ3MgaW4KCSAgaW50ZXJlc3Rpbmcgd2F5cyBpbiB3aGljaCBjYXNlIGl0IGNhdXNlcyBzdGFjayBjb3JydXB0aW9uIGFuZCBjcmFzaGVzIGxhdGVyLgoJICBUaGUgY29tcGlsZXIgaW4gcXVlc3Rpb24gaGVyZSBpcyBjbGFuZyB3aXRoIC1PMSwgd2hpY2ggc2VlbXMgdG8gcGFjayB0aGUgc3RhY2sKCSAgYSBiaXQgbW9yZSBhbmQgY2F1c2VzIHdyaXRpbmcgdG8gdGhlIGd1aW50IGFzIHBvaW50ZXIgdG8gb3ZlcndyaXRlIG1hcC5tZW1vcnksCgkgIHdoaWNoIHRoZW4gbGF0ZXIgY3Jhc2hlcyBkdXJpbmcgdW5tYXBwaW5nIG9mIHRoZSBtZW1vcnkuCgoyMDE2LTAxLTA3IDE4OjAyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogSW5pdGlhbGl6ZSBib29sZWFuIHRvIEZBTFNFIHRvIGZpeCB2YWxncmluZCB3YXJuaW5nCgkgIFNlZW1zIHRvIGJlIGEgZmFsc2Ugd2FybmluZyB0aG91Z2guCgoyMDE2LTAxLTA3IDE0OjA4OjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBvbmx5IGZsdXNoIHdpdGggYSBzaGFyZWQgY29udGV4dAoJICBUaGUgd2FpdCBjb2RlIHdpbGwgZmx1c2ggZm9yIHVzIGZvciBzaW5nbGUgY29udGV4dCBwaXBlbGluZXMuCgoyMDE2LTAxLTA3IDE0OjAyOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBpbXBsZW1lbnQgY2hlY2tpbmcgd2hldGhlciBhIGNvbnRleHQgaGFzIGJlZW4gc2hhcmVkCgkgIFNvbWUgb3BlcmF0aW9ucyBhcmUgdW5uZWNlc3Nhcnkgd2hlbiBydW5uaW5nIHdpdGggb25seSBhIHNpbmdsZSBHTAoJICBjb250ZXh0LgoJICBlLmcuIGdsRmx1c2ggd2hlbiBzZXR0aW5nIGEgZmVuY2Ugb2JqZWN0IGFzIHRoZSBmbHVzaCBoYXBwZW5zIG9uIHdhaXQuCgkgIEFQSTogZ3N0X2dsX2NvbnRleHRfaXNfc2hhcmVkCgoyMDE2LTAxLTA2IDE0OjU0OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcHV0IGJvb2xlYW4gdmFsdWVzIGludG8gZ2Jvb2xlYW4gdmFyaWFibGVzCgkgIEFuZCByZW1vdmUgc3VwZXJmbHVvdXMgYXNzaWdubWVudHMuCgoyMDE2LTAxLTA2IDE2OjU0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBPbmx5IHNldCB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBpbiBwbGF5KCkgaWYgYnVmZmVyaW5nPj0xMDAlCgkgIE90aGVyd2lzZSB0aGUgYXBwbGljYXRpb24gY2FuIGJyZWFrIHRoZSBidWZmZXJpbmcgbG9naWMgYnkgc2V0dGluZyB0aGUKCSAgcGlwZWxpbmUgdG8gUExBWUlORyBiZWZvcmUgd2UgYnVmZmVyZWQgZW5vdWdoLgoKMjAxNi0wMS0wNSAxNzo0MToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdGVzdHMgZm9yIHBvc3Qtc2VlayBzZWdtZW50IGJvdW5kYXJpZXMgY2hlY2sKCSAgQ2hlY2tzIGlmIHRoZSBwb3N0IHNlZWsgc2VnbWVudCBpcyB3aGF0IGlzIGV4cGVjdGVkLgoJICBBbHNvIG1ha2VzIGl0IGVhc3kgdG8gYWRkIG1vcmUgdGVzdHMgd2l0aCBkaWZmZXJlbnQgc2Vla2luZyBmbGFncyB1c2luZyB0aGUKCSAgc2FtZSBmdW5jdGlvbnMuCgoyMDE2LTAxLTA1IDEwOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGhsc2RlbXV4OiBhZGQgdGVzdHMgZm9yIHNlZWsgd2l0aCByZXZlcnNlIHJhdGUgYW5kIHNuYXAgZmxhZ3MKCSAgQWRkIHRlc3RzIHRvIGVuc3VyZSBzbmFwIGZsYWdzIHdvcmsgYXMgZXhwZWN0ZWQgZm9yIHJldmVyc2UKCSAgcmF0ZXMKCjIwMTYtMDEtMDUgMTA6Mzk6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogc3RvcCByZXZlcnNlIHBsYXliYWNrIHdoZW4gd2UgcmVhY2ggdGhlIGxpbWl0CgkgIEF2b2lkcyBkb3dubG9hZGluZyBhbmQgcHVzaGluZyBhIGZ1bGwgc2VnbWVudCBqdXN0IHRvIGdldCAxIG5hbm9zZWNvbmQKCSAgb2YgZGF0YS4gVGhpcyBoYXBwZW5zIGZyZXF1ZW50bHkgd2hlbiBzZWVraW5nIGlzIGRvbmUgd2l0aCBmbGFncwoJICB0aGF0IGFkanVzdCB0byBib3VuZGFyaWVzIG9yIHdoZW4gdGhlIHN0YXJ0IGlzIGFsaWduZWQgd2l0aCBzZWdtZW50CgkgIHN0YXJ0cy4gVGhlIGxhdGVyIGlzIGNvbW1vbiB3aGVuIHNlZ21lbnQgZHVyYXRpb25zIGlzIGEgbXVsdGlwbGUgb2YKCSAgYSBzZWNvbmQuCgoyMDE2LTAxLTA1IDA5OjE2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjayBzZWVrIHdpdGggc25hcCBmbGFncwoJICBQcm9wZXJseSBoYW5kbGUgc25hcCBmbGFncyBkdXJpbmcgcmV2ZXJzZSBzZWVraW5nLiBJbiB0aGlzIGNhc2UKCSAgdGhlIGJlZm9yZS9hZnRlciBhcmUgYWxzbyByZXZlcnNlZCwgc28gaGFuZGxlIHRob3NlIGFzIHN1Y2guCgkgIEZvciBleGFtcGxlOiB3aXRoIGEgc2VxdWVuY2Ugb2YgMXMgZnJhZ21lbnRzOgoJICB8LS0gMCAtLXwtLSAxIC0tfC0tIDIgLS18LS0gMyAtLXwKCSAgSWYgeW91IHNlZWsgdG8gMS41cyBpdCBpcyBpbnNpZGUgZnJhZ21lbnQgMS4gV2l0aCByZXZlcnNlIGFuZAoJICBzbmFwLWJlZm9yZTogc2hvdWxkIHBsYXkgZnJvbSB0aGUgZW5kIG9mIGZyYWdtZW50IDEKCSAgc25hcC1hZnRlcjogc2hvdWxkIHBsYXkgZnJvbSB0aGUgZW5kIG9mIGZyYWdtZW50IDAKCjIwMTYtMDEtMDUgMDk6MDE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogY29ycmVjdGx5IHRyYWNrIHNlZ21lbnQucG9zaXRpb24gaW4gcmV2ZXJzZSBwbGF5YmFjawoJICBGb3IgcmV2ZXJzZSwgc2V0IHBvc2l0aW9uIHRvIHNlZ21lbnQuc3RvcCB3aGVuIHN0YXJ0aW5nIGFuZCBhbHNvCgkgIGRvbid0IHNldCB0aGUgcG9zaXRpb24gdG8gZnJhZ21lbnQgZW5kIHRpbWVzdGFtcCB3aGVuIGl0IGZpbmlzaGVzLAoJICBqdXN0IGxlYXZlIGl0IGF0IHRoZSBmcmFnbWVudCBzdGFydC4KCjIwMTYtMDEtMDUgMDg6NTk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNpbXBsaWZ5IHNuYXAgZmxhZ3MgY2hlY2tpbmcKCSAgUmVwbGFjZToKCSAgaWYgKGJvb2xlYW4pIHZhciA9IHRydWU7CgkgIHdpdGg6CgkgIHZhciA9IChib29sZWFuKTsKCjIwMTUtMTItMjggMDI6MTg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlc3BlY3Qga2V5dW5pdCBmbGFnIGZvciBwb3NpdGlvbgoJICBTZXQgdGhlIHNlZ21lbnQgc3RhcnQgcG9zaXRpb24gd2hlbiBrZXl1bml0IGZsYWcgaXMgYWN0aXZlCgoyMDE1LTEyLTI0IDE4OjQ5OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBobHNfZGVtdXg6IGFkZCB0ZXN0cyBmb3Igc2Vla2luZyBzZWdtZW50CgkgIFRlc3RzIHRoYXQgY2hlY2sgdGhhdCB0aGUgc2VnbWVudCBzZW50IGFmdGVyIGEgc2VlayBpcyBjb3JyZWN0LgoJICBBbGxvd3MgdGVzdGluZyB0aGF0IG11bHRpcGxlIHNlZWtpbmcgZmxhZ3Mgd29yayBhcyBleHBlY3RlZAoKMjAxNS0xMi0yNCAwOToyNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIHRlc3RzOiBhZGFwdGl2ZV9kZW11eDogYWRkIGZ1bmN0aW9uIHRvIGJlIGFibGUgdG8gY2hlY2sgZGVtdXhlciBldmVudHMKCSAgQWxsb3dzIHdyaXRpbmcgdGVzdHMgdGhhdCB2ZXJpZnkgdGhhdCBldmVudHMgYXJlIGNvcnJlY3QuCgkgIFVzZWZ1bCB0byBtb25pdG9yIGFuZCBjaGVjayBzZWdtZW50cyBhZnRlciBzZWVrcywgZm9yIGV4YW1wbGUuCgoyMDE1LTEyLTIzIDE1OjI1OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBhZGFwdGl2ZTogdXBkYXRlIHRvIGFsbG93IG1vcmUgZmxleGlibGUgc2Vla2luZyB0ZXN0cwoJICBBbGxvd3MgZGVmaW5pbmcgYSBzZWVrIGV2ZW50IHRvIGJlIGFibGUgdG8gY2hhbmdlIHNlZWtpbmcgcGFyYW1ldGVycwoJICBhbmQgY3JlYXRlIG1vcmUgc2Vla2luZyB0ZXN0IHNjZW5hcmlvcwoKMjAxNS0xMi0yMyAxNToyMzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBobHNkZW11eDogZml4IG1ha2VmaWxlIHZhcmlhYmxlIHR5cG8KCjIwMTYtMDEtMDYgMTY6NTA6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGVuYWJsZSByZW5lZ290aWF0aW9uCgkgIFdlIGNhbiBhY3R1YWxseSByZW5lZ290aWF0ZSBub3csIHNvIHJlbW92ZSBvbGQgY2hlY2sgd2hpY2ggZGlzYWJsZWQgaXQuCgoyMDE2LTAxLTA2IDE2OjI1OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGltcGxlbWVudCB1c2FnZSBvZiBhIGJ1ZmZlciBwb29sCgkgIFNhdmVzIHVubmVjZXNzYXJ5IGdsR2VuVGV4dHVyZXMgYW5kIGdsRGVsZXRlVGV4dHVyZXMgd2hpY2ggbWF5IGhhdmUgYQoJICBub24tdHJpdmlhbCBjb3N0LgoKMjAxNi0wMS0wNiAxNTo1MDowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IGZpeCBjb3B5aW5nIEdzdEdMQWxsb2NhdGlvblBhcmFtcwoJICBGaXhlcyBhIEdTVF9JU19HTF9DT05URVhUIGNyaXRpY2FsCgoyMDE2LTAxLTA2IDE1OjQ0OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IHJlbW92ZSB1bnVzZWQgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5Njc5CgoyMDE2LTAxLTA2IDEzOjIwOjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBzbWFsbCBuZWdvdGlhdGlvbiBmaXgKCSAgRml4IG5lZ290aWF0aW9uIHdoZW4gR0xNZW1vcnkgaXMgcmVxdWVzdGVkIGJ1dCBhIGNvbnRleHQgaXMgbm90IGF2YWlsYWJsZQoKMjAxNi0wMS0wNiAxMTo0MDozOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogYWNjZXB0IFVZVlkgb24gTWFjCgkgIFdoZW4gZG9pbmcgR0xNZW1vcnkgYXZmdmlkZW9zcmMgbmVnb3RpYXRlcyBVWVZZLiBUaGlzIGNoYW5nZSBhbGxvd3MgYXZmdmlkZW9zcmMKCSAgISB0ZWUgbmFtZT10ICEgLi4uICEgZ2xpbWFnZXNpbmsgdC4gISAuLi4gISBnbGRvd25sb2FkICEgdnRlbmNfaDI2NCAhIC4uLgoJICB0byBkbyBHTE1lbW9yeSBhbmQgMC1jb3B5IHdpdGggdGhlIGVuY29kZXIgKHdpdGggdGhlIENWIG1ldGEpLgoKMjAxNi0wMS0wNiAxMToyOToxNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogY2hhbmdlIHRleHR1cmUgZm9ybWF0IGZyb20gQkdSQSB0byBOVjEyIG9uIGlPUwoJICBDaGFuZ2UgdGV4dHVyZSBmb3JtYXQgZnJvbSBCR1JBIHRvIE5WMTIuIFRoaXMgYWxsb3dzIGEgcGlwZWxpbmUgbGlrZSBhdmZ2aWRlb3NyYwoJICAhIHRlZSBuYW1lPXQgISAuLi4gISBnbGltYWdlc2luayB0LiAhIC4uLiAhIGdsZG93bmxvYWQgISB2dGVuY19oMjY0ICEgLi4uICB0bwoJICBuZWdvdGlhdGUgR0xNZW1vcnkuIFRoaXMgbWFrZXMgdGhlIGdsaW1hZ2VzaW5rIGJyYW5jaCBtdWNoIGZhc3RlciAob2J2aW91c2x5KQoJICBhbmQgdHJpZ2dlcnMgdGhlIDAtY29weSBwYXRoIGJldHdlZW4gYXZmdmlkZW9zcmMgYW5kIHZ0ZW5jICh1c2luZyB0aGUgQ1YgbWV0YSkuCgkgIENvbWJpbmVkIHRoaXMgcmVzdWx0cyBpbiBhIGh1Z2UgcGVyZiBpbXByb3ZlbWVudCBvbiBpT1MgKDI1LTMwJSBvZiBDUFUgdGltZSBpbiBhCgkgIHBpcGVsaW5lIGxpa2UgdGhlIG9uZSBhYm92ZSkuCgkgIE5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgaW50cm9kdWNlIGEgbmV3IHNoYWRlciBjb252ZXJzaW9uIGluIHRoZSBzaW5rLCBzaW5jZSBCR1JBCgkgIHRleHR1cmVzIGhhZCB0byBiZSBjb3BpZWQvY29udmVydGVkIGZyb20gZm9ybWF0PUJHUkEsdGV4dHVyZS10YXJnZXQ9UkVDVEFOR0xFIHRvCgkgIGZvcm1hdD1SR0JBLHRleHR1cmUtdGFyZ2V0PTJEIGFueXdheS4KCjIwMTYtMDEtMDQgMjA6MjY6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1cGxvYWQ6IGFsd2F5cyBhZGQgdGV4dHVyZS10YXJnZXQgZmllbGQgdG8gR0wgY2FwcwoJICAxLiBWYXJpb3VzIGVsZW1lbnRzL2Jhc2UgY2xhc3NlcyBvbmx5IHBlcmZvcm0gYSBzdWJzZXQgY2hlY2sgb24gYWNjZXB0LWNhcHMKCSAgMi4gU29tZSBHTCBlbGVtZW50cyBoYXZlIHRleHR1cmUtdGFyZ2V0IGluIHRoZWlyIHBhZCB0ZW1wbGF0ZQoJICAzLiBXaGVuIGNoZWNraW5nIHN1YnNldHMsIG9ubHkgdGhlIGNhcHMgdG8gY2hlY2sgYXJlIGFsbG93ZWQgdG8gY29udGFpbiBleHRyYQoJICBmaWVsZHMuICBJZiB0aGUgJ3RlbXBsYXRlJyBjYXBzIGhhdmUgZXh0cmEgZmllbGRzLCB0aGUgc3Vic2V0IGZhaWxzLgoJICBUaHVzIHdpdGhvdXQgdGV4dHVyZS10YXJnZXQgb24gdGhlIGNhcHMsIHZhcmlvdXMgYWNjZXB0LWNhcHMgaW1wbGVtZW50YXRpb25zCgkgIHdlcmUgZmFpbGluZy4KCSAgQWxzbywgYWRkIHNvbWUgY29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBzZXR0aW5nIGFuZCByZXRyaWV2aW5nCgkgIHRleHR1cmUgdGFyZ2V0cyB0by9mcm9tIEdWYWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTg2MAoKMjAxNS0xMi0yOSAxODoxNjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBwYXNzdGhyb3VnaCBjb21wb3NpdGlvbiBjYXBzIGZlYXR1cmVzCgkgIERvbid0IHVuY29uZGl0aW9uYWxseSBhZGQgaXQgdG8gYW55IGFuZCBhbGwgY2FwcyB0cmFuc2Zvcm1hdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4NjAKCjIwMTYtMDEtMDQgMDk6NTI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBSZW1vdmUgZ3N0X3BsYXllcl9uZXcoKSBhbmQgbWFrZSBnc3RfcGxheWVyX25ld19mdWxsKCkgdGhlIG5vcm1hbCBjb25zdHJ1Y3RvcgoJICBJbiB2ZXJ5IGZldyBjYXNlcyB0aGUgc2ltcGxlIHZlcnNpb24gd2FzIGFjdHVhbGx5IG5lZWRlZCBhbmQgaGF2aW5nIHRoZQoJICBwYXJhbWV0ZXJzIGhpZGRlbiBieSBhIF9mdWxsKCkgdmVyc2lvbiBjYXVzZWQgYXBwbGljYXRpb24gdGhhdCBhY3R1YWxseSBuZWVkZWQKCSAgaXQgdG8gbm90IHVzZSBpdC4KCjIwMTYtMDEtMDQgMDE6MDM6MDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2x2aWV3Y29udmVydDogRml4IHN0ZXJlb3Njb3BpYyBoYW5kbGluZyB3LyB0ZXh0dXJlLXRhcmdldAoJICBUaGUgYWRkaXRpb24gb2YgdGV4dHVyZS10YXJnZXQgbmVnb3RpYXRpb24gYnJva2Ugc3RlcmVvc2NvcGljCgkgIGhhbmRsaW5nIHdoZW4gbm90IGluIHBhc3N0aHJvdWdoIG1vZGUsIHNvIGZpeCB0aGF0LgoKMjAxNS0xMC0wNyAxODo1Mzo0MyArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZXBsYWNlIGR1cGxpY2F0ZWQgY29kZXMgdG8gY2FsbCBuZXcgYmFzZSBzZHAgYXBpcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODgwCgoyMDE1LTEyLTMwIDE4OjAwOjQ3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9SRUFETUU6CgkgIHJ0bXA6IHJlZmVyIHRvIGJvdGggZWxlbWVudHMgaW4gdGhlIFJFQURNRQoKMjAxNS0xMi0yOSAxNDozNToxNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBjaGVjayBmb3IgZmFpbGVkIFJUTVAgY29udGV4dCBhbGxvYwoJICBBdm9pZHMgYW4gdW5saWtlbHkgY3Jhc2guCgkgIEFyZ3VhYmx5LCBpZiBhbGxvY2F0aW9uIGZhaWxzIHdlIGhhdmUgbm8gY2hhbmNlIG9mCgkgIHJlY292ZXJpbmcgYnV0IG5vbmV0aGVsZXNzLCBSVE1QX0FsbG9jIGNhbiBmYWlsIGFuZAoJICBsaWJydG1wJ3MgUlRNUF9pbml0KCkgKGNhbGxlZCBuZXh0KSBhc3N1bWVzIGEgbm9uLU5VTEwKCSAgcG9pbnRlciBpcyBwYXNzZWQgd2l0aG91dCBjaGVja2luZy4KCSAgQWRkaXRpb25hbGx5LCB1bmlmeSBleGl0IHBhdGggb24gZXJyb3IuCgoyMDE1LTEyLTI5IDE0OjE2OjU4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogY2hlY2sgZm9yIGZhaWxlZCBSVE1QIGNvbnRleHQgYWxsb2MKCSAgQXZvaWRzIGFuIHVubGlrZWx5IGNyYXNoLgoJICBBcmd1YWJseSwgaWYgYWxsb2NhdGlvbiBmYWlscyB3ZSBoYXZlIG5vIGNoYW5jZSBvZgoJICByZWNvdmVyaW5nIGJ1dCBub25ldGhlbGVzcywgUlRNUF9BbGxvYyBjYW4gZmFpbCBhbmQKCSAgbGlicnRtcCdzIFJUTVBfaW5pdCgpIChjYWxsZWQgbmV4dCkgYXNzdW1lcyBhIG5vbi1OVUxMCgkgIHBvaW50ZXIgaXMgcGFzc2VkIHdpdGhvdXQgY2hlY2tpbmcuCgkgIEFkZGl0aW9uYWxseSwgdW5pZnkgZXhpdCBwYXRoIG9uIGVycm9yLgoKMjAxNS0xMi0yOSAxMTo1ODozMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJICBydG1wOiBjb3JyZWN0IGxpYnJ0bXAgbG9nLWxldmVsIG1hcHBpbmdzCgkgIEFkZGl0aW9uYWxseSwgbW92ZSB0byBhIHN3aXRjaCBpbiBfc2V0X2RlYnVnX2xldmVsKCkKCSAgdG8gbWFrZSBlYXNpZXIgdG8gZm9sbG93IGFuZCBjb21wYXJlIHdpdGggdGhlCgkgIG1hcHBpbmdzIGluIF9sb2dfY2FsbGJhY2soKQoKMjAxNS0xMi0zMCAxMzoxNjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBtaW5vciBjbGVhbi11cAoJICBSZW1vdmUgc2V0dGluZyBvZiBwYXJzZXIgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlLAoJICB0aGF0IG1ha2VzIG5vIHNlbnNlIChhbmQgY292ZXJpdHkgaXMgbm8gZG91YnQgZ29pbmcKCSAgdG8gY29tcGxhaW4gYWJvdXQgaXQpLgoKMjAxNS0xMi0zMCAxMzoxMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBmaXggbWFjcm8gbmFtZXNwYWNpbmcgYW5kIHJlbmFtZSBHc3RWcDlJbnRlcnBGaWx0ZXIKCjIwMTUtMTItMzAgMTM6MDg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZwOTogZml4IGRvYyB0eXBvcyBhbmQgc3ByaW5rbGUgc29tZSBTaW5jZSBtYXJrZXJzCgoyMDE1LTEyLTMwIDExOjAzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5BVVRIT1JTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkxJQ0VOU0U6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBtb3ZlIGxpY2Vuc2UgYmx1cmIgaW50byBoZWFkZXIgYW5kIHJlbW92ZSBhdXggZmlsZXMKCSAgVGhpcyBpcyBqdXN0IGEgYnVuY2ggb2YgbG9va3VwIHRhYmxlcy4uCgoyMDE1LTEyLTMwIDExOjU0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBVcGRhdGUgbGliZ3N0Y29kZWNwYXJzZXJzLmRlZiB3aXRoIHRoZSBuZXcgc3ltYm9scwoKMjAxNS0xMi0zMCAxMTo1NDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIGFub3RoZXIgR19HTlVDX0lOVEVSTkFMCgoyMDE1LTEyLTMwIDExOjQwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA4dXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IFNwcmVhZCBzb21lIEdfR05VQ19JTlRFUk5BTCBpbiB2YXJpb3VzIHBsYWNlcwoKMjAxNS0xMi0zMCAxMTozODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSAgdnA5cGFyc2VyOiBGaXggaW5kZW50YXRpb24gdG8gbWFrZSBnc3QtaW5kZW50IGhhcHBpZXIKCjIwMTUtMTItMzAgMTE6MzY6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuaDoKCSAgdnA5cGFyc2VyOiBSZW5hbWUgc3ltYm9scyB0byBwcmV2ZW50IHN5bWJvbCBjb25mbGljdHMKCSAgQWxzbyBtYWtlIGNsYW1wKCkgYSBzdGF0aWMgZnVuY3Rpb24gZm9yIHRoZSBzYW1lIHJlYXNvbiBhbmQgdXNlIENMQU1QIChhcwoJICBkZWZpbmVkIGJ5IEdMaWIpIGluIHRoZSBHU3RyZWFtZXIgY29kZS4KCjIwMTUtMTItMzAgMTE6MTk6MzMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuQVVUSE9SUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5MSUNFTlNFOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLlBBVEVOVFM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBWUDkgY29kZWMgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc1OTcKCjIwMTUtMTItMzAgMTI6MTI6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogZml4IHdyYXBwaW5nIGRhdGEgb24gR0wgMi4xCgkgIEdMIDIuMSBvbmx5IHN1cHBvcnRzIHBibyB1cGxvYWQuCgkgIFRoZSB3cmFwcGVkIGRhdGEgcG9pbnRlciB3YXMgb25seSBiZWluZyBzZXQgb24gdGhlIHBibyBtZW1vcnkgYW5kIG9uIHRoZQoJICBnbG1lbW9yeSBzbyB3aGVuIGEgZG93bmxvYWQgd2FzIHJlcXVlc3RlZCAoaW4gR0wgMi4xKSwgZ2xtZW1vcnkgd2FzCgkgIGFsbG9jYXRpbmcgYSBuZXcgZGF0YSBwb2ludGVyIGFuZCB0aHVzIG5vdCByZXR1cm5pbmcgdGhlIHdyYXBwZWQgZGF0YS4KCjIwMTUtMTItMzAgMTI6MTE6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogb25seSBjcmVhdGUgYSBwYm8gbWVtb3J5IGlmIHRoZSBjb250ZXh0IGFjdHVhbGx5IHN1cHBvcnRzIGl0CgkgIGUuZy4gR0wgPD0gMi4wIGRvZXMgbm90IHN1cHBvcnQgcGJvIHVzYWdlIGFuZCBHTCAyLjEgb25seSBzdXBwb3J0cyBwYm8gdXBsb2FkLgoKMjAxNS0xMi0zMCAxMjowOToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeTogc21hbGwgY29kZSByZWZvcm1hdAoJICBtYWtlcyB0aGUgYWxsb2NfcGFyYW1zIHNlbGVjdGlvbnMgZml0IG9uIGEgc2luZ2xlIGxpbmUuCgoyMDE1LTEyLTMwIDEyOjA2OjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIHRlc3RzL2dsbWVtb3J5OiBvdXRwdXQgZGF0YSBwb2ludGVyIHZhbHVlcyBvbiBmYWlsdXJlCgkgIEFsbG93cyBxdWlja2VyIGluc3BlY3Rpb24gb2Ygd2hhdCBmYWlsZWQuCgoyMDE1LTEyLTI5IDE3OjA0OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogZml4IHNoYWRlciBjb21waWxhdGlvbiB3aXRoIGxlZ2FjeSBvcGVuZ2wKCSAgQWxsIHRoZSBnbGVmZmVjdHMgc2hhZGVycyBjYW4gYmUgcnVuIGFnYWluc3QgYSBnbGVzMiBvciBhIGxlZ2FjeSBvcGVuZ2wgZ2xzbAoJICBjb21waWxlciBidXQgd2VyZW4ndCBiZWluZyBhZHZlcnRpc2VkIGFzIHN1Y2guCgkgIEZpeGVzIGdsZWZmZWN0cyB1bmRlciBkZXNrdG9wIG9wZW5nbCA8IDMuMi4KCjIwMTUtMTItMjkgMTg6MDE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogUmVtb3ZlIGJvZ3VzIE5VTEwgY2hlY2sKCSAgQ0lEIDEzNDY1MzQKCjIwMTUtMTItMjkgMTA6NTc6MzYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IG91dHB1dCBhdCBoaWdoZXN0IGZwcy9yZXNvbHV0aW9uIGJ5IGRlZmF1bHQKCSAgRml4YXRlIHRvIHRoZSBoaWdoZXN0IHBvc3NpYmxlIHJlc29sdXRpb24gYW5kIGZwcy4gT3RoZXJ3aXNlIGJ5IGRlZmF1bHQgd2UgZW5kCgkgIHVwIGZpeGF0aW5nIGF0IDJmcHMgYW5kIHRoZSBsb3dlc3Qgc3VwcG9ydGVkIHJlc29sdXRpb24sIHdoaWNoIGlzIGhhcmRseSB3aGF0CgkgIHNvbWVvbmUgd2hvIGJvdWdodCBhbiBvdmVycHJpY2VkIHNtYXJ0cGhvbmUgd2FudHMuCgoyMDE1LTEyLTI4IDE1OjUzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdsOiBBZGQgXDAgdGVybWluYXRvcnMgZm9yIHRoZSBBcHBsZSBzeW5jIGV4dGVuc2lvbgoJICBPdGhlcndpc2UgR0wgaW5pdGlhbGl6YXRpb24gbWlnaHQgY2hlY2sgZm9yIGV4dGVuc2lvbnMgZm9yZXZlciBhbmQgbmV2ZXIgZmluaXNoZXMuCgoyMDE1LTEyLTI4IDE0OjQxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEFkZCBzb21lIGRlYnVnIG91dHB1dCB3aGVuIHRoZSBHTCB0aHJlYWQgaXMgYWN0dWFsbHkgcnVubmluZwoKMjAxNS0xMi0yMiAxMToyMzoxOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmVkIHVubmVjZXNzYXJ5IHNwYWNlIHRyaW1taW5nIGluIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfaGVhZAoJICBzc2NhbmYgaGFzIHJlbW92ZWQgYWxsIHNwYWNlcyB3aGVuIGl0IGhhcyBjb25zdHJ1Y3RlZCB6b25lIHN0cmluZy4gVGhlcmUgaXMKCSAgbm8gbmVlZCB0byBzZWFyY2ggZm9yIGxlYWRpbmcgc3BhY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzQzCgoyMDE1LTEyLTIxIDE0OjUwOjE1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFjY2VwdCAyIG9yIDQgZGlnaXQgeWVhciB3aGVuIHVzaW5nIEhUVFAgSEVBRCBmb3IgY2FsY3VsYXRpbmcgY2xvY2sgY29tcGVuc2F0aW9uCgkgIENvbnZlcnQgeWVhciBmcm9tIDIgZGlnaXRzIHRvIDQgZGlnaXRzIGluIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfaGVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzQzCgkgIEFsc28gdXBkYXRlZCByZWZlcmVuY2VzIHRvIFJmYzgyMiB0byBSZmM1MzIyCgoyMDE1LTEyLTI3IDExOjM3OjA5ICswMTAwICBGbG9yZW50IFRoacOpcnkgPGZsb3JlbnQudGhpZXJ5QHViaWNhc3QuZXU+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGZpeCB1c2FnZSBkb2MKCSAgVGhlIHByb3BlcnR5IGxvY2F0aW9uIGhhcyBiZWVuIGNoYW5nZWQgaW4gZmF2b3Igb2YgdmVydGV4L2ZyYWdtZW50CgkgIHN0cmluZyBwcm9wZXJ0aWVzOyB0aGUgZG9jIGhhZCBub3QgYmVlbiB1cGRhdGVkIGFuZCB3YXMgc3RpbGwgcmVmZXJyaW5nCgkgIHRvIHRoZSBwcmV2aW91cyBwcm9wZXJ0eTsgYWxzbywgbm93IHRoZSAjdmVyc2lvbiBoZWFkZXIgaGFzIGJlY29tZSBtYW5kYXRvcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTkwMgoKMjAxNS0xMi0yNiAyMjozNDoyOSArMDEwMCAgRmxvcmVudCBUaGnDqXJ5IDxmbG9yZW50LnRoaWVyeUB1YmljYXN0LmV1PgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBQb3N0IHVuaGFuZGxlZCBuYXZpZ2F0aW9uIGV2ZW50cyBvbiB0aGUgYnVzCgkgIEJhc2VkIG9mZiB4dmltYWdlc2luayBpbXBsZW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODY5CgoyMDE1LTEyLTI3IDIyOjMyOjIyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCBzcGxpdHRpbmcgb2YgUkdCIGNvbG9yIHN0cmluZwoJICBObyBuZWVkIHRvIGF0dGVtcHQgc3BsaXR0aW5nIHRoZSBSR0Igc3RyaW5nIGluIDI1NSB0b2tlbnMKCSAgaWYgd2Ugb25seSBleHBlY3QgMy4KCSAgTGVmdCBtYXhfdG9rZW5zIGF0IDQgdG8gcHJlc2VydmUgdGhlIGN1cnJlbnQgbG9naWMgKHdoaWNoCgkgIGFsbG93cyBmb3IgZXh0cmEgc3R1ZmYgYXQgdGhlIGVuZCkgYW5kIGFkZGVkIGEgd2FybmluZyBvbgoJICBwYXJzaW5nIGZhaWx1cmUgaW5zdGVhZCBvZiBzaWxlbnRseSBkaXNjYXJkaW5nIHRoZSB2YWx1ZS4KCjIwMTUtMTItMjcgMjE6MjM6MzcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogZml4IHR5cG8gaW4gaGVhZGVyCgoyMDE1LTEyLTI3IDIxOjE5OjE5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCBtaXNsZWFkaW5nIHdhcm5pbmcgbWVzc2FnZQoJICBjYWxjdWxhdGVfbW90aW9uICE9IEZBTFNFIG1lYW5zIHRoZSBtb3Rpb24gY29tcHV0YXRpb24KCSAgbG9naWMgaXMgZGlzYWJsZWQsIG5vdCBhIG1hcHBpbmcgZXJyb3IuCgoyMDE1LTEyLTI3IDIxOjExOjE4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IHJld29yayBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMKCjIwMTUtMTItMjcgMDE6MTE6NDIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogdXNlIE5VTEwgaW5zdGVhZCBvZiBnX3N0cmR1cChOVUxMKQoKMjAxNS0xMi0yOCAwOTowNDoxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBGaXggYnVpbGQgZXJyb3IKCSAgV2hlbiBHU1RfR0xfSEFWRV9QTEFURk9STV9FR0wgaXMgbm90IGRlZmluZWQsIHRoZW4gaW5mbyB2YXJpYWJsZQoJICB3aWxsIG5vdCBiZSB1c2VkIGFuZCB0aGlzIHJlc3VsdHMgaW4gYnVpbGQgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTkxMwoKMjAxNS0xMi0yNCAxNToyODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjEgPT09CgoyMDE1LTEyLTI0IDE0OjI4OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjEKCjIwMTUtMTItMjQgMTQ6MDA6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0xMi0yNCAxMjoyMzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMTItMjMgMjM6MTM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BjYXBwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICB0ZXN0czogZml4IGluZGVudGF0aW9uCgoyMDE1LTEyLTIzIDIzOjEwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGNhcHBhcnNlLmM6CgkgIHRlc3RzOiBwY2FwcGFyc2U6IGFkZCBjaGVjayBmb3IgMC1zaXplZCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzMKCjIwMTUtMTItMjMgMjA6MjQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGRvbid0IGNyYXNoIG9uIDAtc2l6ZWQgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTczCgoyMDE1LTEyLTIzIDEzOjA2OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uCgoyMDE1LTEyLTIzIDEzOjA0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci5wYy5pbjoKCSAgcGxheWVyOiBBZGQgcGtnLWNvbmZpZyBmaWxlcwoKMjAxNS0xMi0yMyAxMjoxNjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IEVuYWJsZSBwbGF5ZXIgdGVzdHMgYnkgZGVmYXVsdAoJICBUaGlzIHdpbGwgYmUgYXV0b21hdGljYWxseSBiZSB1cGRhdGVkIHRvZ2V0aGVyIHdpdGggdGhlIG5leHQgY29tbW9uIHVwZGF0ZQoJICBhZ2Fpbi4KCjIwMTUtMTItMjMgMDk6NTU6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBwbGF5ZXI6IEFkZCB1bml0IHRlc3QgdGhhdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0CgkgIFRoZSB1bml0IHRlc3QgaXMgZG93bmxvYWRpbmcgYSBmZXcgc21hbGwgbWVkaWEgZmlsZXMgZnJvbSB0aGUgSW50ZXJuZXQsCgkgIHdoaWNoIGFyZSB0aGVuIHVzZWQgZHVyaW5nIHRoZSB0ZXN0LiAibWFrZSBjbGVhbiIgcmVtb3ZlcyB0aGUgZmlsZXMgYWdhaW4uCgoyMDE1LTEyLTIyIDE0OjQ0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIHBsYXllcjogSW50ZWdyYXRlIGludG8gdGhlIGRvY3VtZW50YXRpb24gYnVpbGQgc3lzdGVtCgoyMDE1LTEyLTIyIDE0OjI0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLWctbWFpbi1jb250ZXh0LXNpZ25hbC1kaXNwYXRjaGVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLWctbWFpbi1jb250ZXh0LXNpZ25hbC1kaXNwYXRjaGVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8tcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItc2lnbmFsLWRpc3BhdGNoZXItcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci10eXBlcy5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tcmVuZGVyZXItcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1yZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aXN1YWxpemF0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9wbGF5ZXIuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogSW1wb3J0IEdzdFBsYXllciBwbGF5YmFjayBjb252ZW5pZW5jZSBBUEkKCSAgQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3Nkcm9lZ2UvZ3N0LXBsYXllcgoJICBjb21taXQgOWNlNmFlMGRiYjhlZWVlZmFmNzk0Y2ZhZTgwZTI3OWEwM2NjNTk4ZAoKMjAxNS0xMi0yMyAwOTo1MDoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogQ29tbWVudCBvdXQgdW51c2VkIGZ1bmN0aW9ucyB0byBmaXggY29tcGlsYXRpb24gd2l0aCBjbGFuZwoJICBJdCdzIG5vdCBjbGVhciBpZiB0aGVzZSBhcmUgaW50ZW50aW9uYWxseSB1bnVzZWQgb3IgdGhlIGNvZGUgc2hvdWxkIGJlCgkgIGNoYW5nZWQsIGJ1dCB0aGlzIGZpeGVzIGNvbXBpbGF0aW9uIGZvciB0aGUgdGltZSBiZWluZyBhdCBsZWFzdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2NzkKCjIwMTUtMTEtMTAgMTY6MjU6NTMgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IHRlc3RzOiBjaGVjayBVUkwgam9pbmluZyBpZiBtZWRpYSBVUkwgY29udGFpbnMgYSAnLycgY2hhcmFjdGVyCgkgIElmIHRoZSBxdWVyeSBwYXJhbWV0ZXIgKGZvciBleGFtcGxlCgkgIGh0dHA6Ly9leGFtcGxlLm5ldC8xMDU0NTU5XzE1MDBrLm1wNC9tYXN0ZXIubTN1OD9hY2w9LyoxMDU0NTU5XzE1MDBrLm1wNCksCgkgIGNoZWNrIHRoYXQgbTN1OC5jIGNvcnJlY3RseSBjb252ZXJ0cyB0aGUgcmVsYXRpdmUgVVJMcyBvZiB0aGUgbWVkaWEKCSAgcGxheWxpc3RzIGluIHRvIGFic29sdXRlIFVSTHMuIEl0IG11c3Qgbm90IHVzZSB0aGUgbGFzdCAnLycgaXQgZmluZHMgaW4KCSAgdGhlIFVSTCwgYXMgYWNjb3JkaW5nIHRvIFJGQzM5ODYgdGhlICcvJyBjaGFyYWN0ZXIgaXMgYWxsb3dlZCBpbgoJICB0aGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mzg0CgoyMDE1LTExLTEwIDE2OjIzOjU5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogdW5xdW90ZSBhbGwgdGhlIHF1b3RlZC1zdHJpbmcgYXR0cmlidXRlcwoJICBUaGUgVVJJIGF0dHJpYnV0ZSBmcm9tIHRoZSBFWFQtWC1LRVkgdGFnIGFuZCB0aGUgVVJJIGF0dHJpYnV0ZSBmcm9tIHRoZQoJICBFWFQtWC1JLUZSQU1FUy1PTkxZIHRhZyBhcmUgYm90aCBxdW90ZWQtc3RyaW5nIGF0dGlidXRlcyB0aGF0IGhhdmUgdGhlaXIKCSAgcXVvdGF0aW9uIG1hcmtzIHJlbW92ZWQgZHVyaW5nIHBhcnNpbmcuIFRoZSBDT0RFQ1MgYXR0cmlidXRlIG9mIHRoZQoJICBFWFQtWC1TVFJFQU0tSU5GIGlzIGFsc28gYSBxdW90ZWQtc3RyaW5nIGF0dHJpYnV0ZSwgYnV0IHRoaXMgYXR0cmlidXRlCgkgIHdhcyBub3QgYmVpbmcgdW4tcXVvdGVkLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBwYXJzZXIgdG8gYWx3YXlzIHVucXVvdGUgYWxsIHF1b3RlZC1zdHJpbmcKCSAgYXR0cmlidXRlcyBhbmQgYWRqdXN0cyB0aGUgdW5pdCB0ZXN0cyB0byB0aGlzIG5ldyBiZXZhaGlvdXIgZm9yIHRoZQoJICBDT0RFQ1MgYXR0cmlidXRlLgoJICBBbiBhZGRpdGlvbmFsIHRlc3QgaXMgYWRkZWQgdG8gY2hlY2sgdGhhdCBwYXJzaW5nIG9mIGFsbCBvZiB0aGUgZmllbGRzCgkgIGluIHRoZSBFWFQtWC1TVFJFQU0gdGFnIGlzIGNvcnJlY3QsIGluY2x1ZGluZyB0aG9zZSB0aGF0IGNvbnRhaW4gY29tbWEKCSAgY2hhcmFjdGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODM4NAoKMjAxNS0xMS0xMCAxNjo0MTowMiArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICBobHNkZW11eDogdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBobHNkZW11eAoJICBVc2luZyB0aGUgbmV3IEdzdEFkYXB0aXZlRGVtdXggdGVzdCBmcmFtZXdvcmssIGFkZCB0ZXN0cyB0aGF0CgkgIGV4ZXJjaXNlIGhsc2RlbXV4LiBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBhZGRlZDoKCSAgc2ltcGxlVGVzdAoJICBBIHNpbXBsZSBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIHNvbWUgbWVkaWEgVVJMcwoJICB0ZXN0TWVkaWFQbGF5bGlzdAoJICBBIG1hc3RlciBwbGF5bGlzdCB3aXRoIGEgdmFyaWFudCBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIG1lZGlhIFVSTHMKCSAgdGVzdE1lZGlhUGxheWxpc3ROb3RGb3VuZAoJICBBIG1hc3RlciBwbGF5bGlzdCB0aGF0IHBvaW50cyB0byBhIG1pc3NpbmcgdmFyaWFudCBwbGF5bGlzdAoJICB0ZXN0RnJhZ21lbnROb3RGb3VuZAoJICBBIG1hc3RlciBwbGF5bGlzdCB3aXRoIGEgdmFyaWFudCBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIG1lZGlhIFVSTHMKCSAgVGhlcmUgaXMgYSBtaXNzaW5nIG1lZGlhIGZpbGUgcmVmZXJlbmNlZCBmcm9tIHRoZSB2YXJpYW50IHBsYXlsaXN0LgoJICB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yCgkgIEEgbWFzdGVyIHBsYXlsaXN0IHdpdGggYSB2YXJpYW50IHBsYXlsaXN0IHRoYXQgY29udGFpbnMgbWVkaWEgVVJMcwoJICBEdXJpbmcgdGhlIGRvd25sb2FkIG9mIG9uZSBtZWRpYSBmaWxlLCB0aGUgdGVzdCBzaW11bGF0ZXMgdGhlIG5ldHdvcmsKCSAgY29ubmVjdGlvbiBiZWluZyBkcm9wcGVkLgoJICB0ZXN0U2VlawoJICBBIHNpbXBsZSB0ZXN0IG9mIHRyeWluZyB0byBwZXJmb3JtIGEgc2VlayBvbiBhbiBITFMgc3RyZWFtLgoKMjAxNS0xMS0xMCAxMzoxMzozNSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuaDoKCSAgZGFzaGRlbXV4OiB0ZXN0czogUmVmYWN0b3IgaW50byBhZGFwdGl2ZV9lbmdpbmUgY29tcG9uZW50cwoJICBUbyBhbGxvdyBjb2RlIGZyb20gZGFzaF9kZW11eC5jIHRvIGJlIHVzZWQgYnkgb3RoZXIgZWxlbWVudHMKCSAgdGhhdCBhcmUgYmFzZWQgdXBvbiBHc3RBZGFwdGl2ZURlbXV4LCB0aGUgY29kZSBoYXMgYmVlbgoJICByZWZhY3RvcmVkIGludG8gZm91ciBuZXcgZmlsZXM6CgkgIGFkYXB0aXZlX2RlbXV4X2VuZ2luZS5bY2hdCgkgIGFkYXB0aXZlX2RlbXV4X2NvbW1vbi5bY2hdCgkgIFRoZSBjb2RlIGluIGFkYXB0aXZlX2RlbXV4X2VuZ2luZS5jIHByb3ZpZGVzIGEgZ2VuZXJpYwoJICB0ZXN0IGVuZ2luZSBmb3IgZWxlbWVudHMgYmFzZWQgdXBvbiBHc3RBZGFwdGl2ZURlbXV4LgoJICBUaGUgY29kZSBpbiBhZGFwdGl2ZV9kZW11eF9jb21tb24uYyBwcm92aWRlcyBhIHNldAoJICBvZiB1dGlsaXR5IGZ1bmN0aW9ucyB0aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdGVzdHMKCSAgZm9yIGhsc2RlbXV4IGFuZCBkYXNoZGVtdXguCgkgIEFzIHBhcnQgb2YgdGhlIHJlZmFjdG9yaW5nLCB2YXJpYWJsZXMgaW4gc3RydWN0dXJlcyB3ZXJlCgkgIHJlbmFtZWQgZnJvbSB1c2luZyBjYW1lbENhc2UgdG8gdW5kZXJzY29yZV9jYXNlIHRvIG1hdGNoIG90aGVyCgkgIEdTdHJlYW1lciBzb3VyY2UgY29kZS4KCSAgVGhlIGZha2VfaHR0cF9zcmMgd2FzIHJlbmFtZWQgdGVzdF9odHRwX3NyYyBhbmQgY2hhbmdlZCB0byB1c2UKCSAgY2FsbGJhY2tzIHRvIHByb3ZpZGUgaW5wdXQgZGF0YSBhbmQgZXJyb3IgY29uZGl0aW9ucy4gUmF0aGVyIHRoYW4KCSAgdXNpbmcgYW4gYXJyYXkgb2YgaW5wdXQgZGF0YSB0aGF0IHRyaWVzIHRvIGVuY29kZSBhbGwgdGhlCgkgIHBvc3NpYmxlIHVzZSBjYXNlcyBmb3IgdGhlIEdzdFRlc3RIVFRQU3JjIGVsZW1lbnQsIHVzZSBhIHN0cnVjdCBvZgoJICBjYWxsYmFja3MuCgkgIFVzZXJzIG9mIHRoaXMgZWxlbWVudCBhcmUgb2JsaWdlZCB0byBpbXBsZW1lbnQgYXQgbGVhc3QgdGhlIHNyY19zdGFydAoJICBjYWxsYmFjaywgd2hpY2ggcHJvdmlkZXMgYSB3YXkgdG8gbGluayBmcm9tIGEgVVJJIHRvIHRoZSBzZXR0aW5ncwoJICBmb3IgdGhhdCBVUkkuCgoyMDE1LTEyLTIyIDExOjEwOjMxICswMjAwICBNYXR0aGV3IE1hcnNoIDxtYXR0QHN0b25ldGhyZWUuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogZml4IGhpZ2ggQ1BVIHVzZSBvbiBpbml0aWFsaXphdGlvbiBvZiBtdWx0aXBsZSBlbmNvZGVycyBhdCB0aGUgc2FtZSB0aW1lCgkgIFdlIG5lZWQgYSBzdGF0aWMgbG9jayB0byBwcm90ZWN0IHZhcmlvdXMgTlZFTkMgbWV0aG9kcyBpbiBfc2V0X2Zvcm1hdCgpLiBXaXRob3V0CgkgIHRoaXMgdGhlIENQVSB1c2UgaW5jcmVhc2VzIGRyYW1hdGljYWxseSBvbiBpbml0aWFsaXNhdGlvbiBvZiB0aGUgZWxlbWVudCB3aGVuCgkgIHRoZXJlIGFyZSBtdWx0aXBsZSBlbGVtZW50cyBiZWluZyBpbml0aWFsaXNlZCBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzQyCgoyMDE1LTEyLTIyIDEwOjE1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgZXZlcnkgYmFkIHVwZGF0ZV9wbGF5bGlzdCByZXR1cm4gc2V0cyBhbiBlcnJvcgoJICBPdGhlcndpc2UgaXQgc2VnZmF1bHRzIHdoZW4gcmVwb3J0aW5nIHRoZSBlcnJvciBpbiB0aGUgYnVzCgoyMDE1LTEyLTIxIDEzOjU3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBVc2UgTlVMTCBpbnN0ZWFkIG9mIGdfc3RyZHVwKCdcMCcpCgkgIFdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gZ19zdHJkdXAoTlVMTCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3MjgKCjIwMTUtMTItMjEgMTI6MzM6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLUJzeW1ib2xpYy1mdW5jdGlvbnMgaWYgYXZhaWxhYmxlCgkgIFdoaWxlIHRoaXMgaXMgbW9yZSB1c2VmdWwgZm9yIGxpYnJhcmllcywgc29tZSBvZiBvdXIgcGx1Z2lucyB3aXRoIG11bHRpcGxlCgkgIGZpbGVzIGFuZCBzb21lIGludGVybmFsIEFQSSBjYW4gYWxzbyBiZW5lZml0IGZyb20gdGhpcy4KCjIwMTUtMTItMjEgMTI6MTk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggbmFtZSBvZiB0ZXN0c3VpdGUKCjIwMTUtMTItMjEgMTI6MTM6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogU2lnbmFsIGNvbnRleHQgY3JlYXRpb24gZnJvbSBpbnNpZGUgdGhlIGNvbnRleHQgbG9vcCBhbmQgdXNlIGdfdGhyZWFkX2pvaW4oKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGNvbmRpdGlvbiB2YXJpYWJsZQoJICBBbHNvIHByb3RlY3QgYWdhaW5zdCBzcHVyaW91cyBjb25kaXRpb24gdmFyaWFibGUgd2FrZXVwcyBkdXJpbmcgY29udGV4dAoJICBjcmVhdGlvbi4KCjIwMTUtMTItMjEgMTE6Mjc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBIaWRlIG5hdmlnYXRpb24gc3BlY2lmaWMgaW50ZXJuYWwgQVBJIGFuZCBhZGQgQVBJIHRvIGFzeW5jaHJvbm91c2x5IHNlbmQgbmF2aWdhdGlvbiBldmVudHMKCSAgRXhwb3NpbmcgdGhlIG5hdmlnYXRpb24gdGhyZWFkJ3MgbWFpbiBjb250ZXh0LCBHU291cmNlRnVuY3MgYW5kIHN0cnVjdHMgY2FsbGVkCgkgIGtleV9ldmVudCBhbmQgbW91c2VfZXZlbnQgaXMgZXhwb3NpbmcgYSBiaXQgdG9vIG11Y2ggb2YgdGhlIGludGVybmFscy4gTGV0J3MKCSAganVzdCBnbyB3aXRoIHR3byBmdW5jdGlvbnMgdG8gYXN5bmNocm9ub3VzbHkgc2VuZCBuYXZpZ2F0aW9uIGV2ZW50cyBvbiB0aGUKCSAgd2luZG93IHdpdGggdGhlIHNhbWUgQVBJIGFzIHRoZSBzeW5jaHJvbm91cyBvbmVzLgoKMjAxNS0xMi0yMSAxMDo0Njo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IFVzZSBnX3RocmVhZF9qb2luKCkgaW5zdGVhZCBvZiBhIGN1c3RvbSBjb25kaXRpb24gdmFyaWFibGUgZm9yIHdhaXRpbmcgZm9yIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCB0byBmaW5pc2gKCSAgQWxzbyBoaWRlIHNvbWUgaW50ZXJuYWwgZnVuY3Rpb25zIGFuZCBmaWVsZHMgd2hpbGUgd2UncmUgYXQgaXQgYW5kIGZpeAoJICBhIHJhY2UgY29uZGl0aW9uIHdpdGggdGhlIHN0YXJ0dXAgY29uZGl0aW9uIHZhcmlhYmxlLgoKMjAxNS0xMS0zMCAwOTozNjowOSArMDgwMCAgSGFpaHVhIEh1IDxiNTU1OTdAZnJlZXNjYWxlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogRml4IG1lbW9yeSBsZWFrIG9mIG5hdmlnYXRpb24gdGhyZWFkCgkgIFdoZW4gc3RvcHBpbmcgdGhlIG5hdmlnYXRpb24gdGhyZWFkLCBjYWxsIGdfdGhyZWFkX2pvaW4oKSB0byByZWxlYXNlCgkgIHRoZSByZXNvdXJjZXMgaG9sZCBieSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODgyMAoKMjAxNS0xMi0xOSAyMToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgYXNzcmVuZGVyLCBkdmJzdWJvdmVybGF5OiBmaXggZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcwoKMjAxNS0xMi0xOSAyMToxMDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlZmxvdyB1cGRhdGVfcGxheWxpc3QgYSBiaXQKCSAgUmVkdWNlIGluZGVudGF0aW9uIGJ5IGVycm9yaW5nIG91dCBkaXJlY3RseSBvbiBmYWlsdXJlLgoKMjAxNS0xMi0xOSAyMDo1OToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBwb3RlbnRpYWwgZXJyb3IgbGVhawoJICBDbGVhciBlcnJvciBhcyBzb29uIGFzIHdlIGRldGVybWluZSB0aGF0IHRoZSBkb3dubG9hZCBmYWlsZWQsCgkgIG90aGVyd2lzZSB0aGVyZSBhcmUgY29kZSBwYXRocyB3aGVyZSB3ZSBtaWdodCByZXR1cm4gd2l0aG91dAoJICBjbGVhcmluZyBpdCBldmVyLCB3aGljaCB3b3VsZCBsZWFrIHRoZSBHRXJyb3IgdGhlbi4gQWxzbywgd2UKCSAgY2FuIHBhc3MgYSBOVUxMIEdFcnJvciBwb2ludGVyIHRvIF9mZXRjaF91cmkoKSwgc28ganVzdCBkbyB0aGF0CgkgIGluc3RlYWQgb2YgcGFzc2luZyBvbmUgdGhhdCB3ZSdyZSBnb2luZyB0byBqdXN0IGZyZWUgYWdhaW4KCSAgcmlnaHQgYXdheSBhbnl3YXkuCgoyMDE1LTEyLTE5IDEyOjA1OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkgIG9wZW5jdjogcmVtb3ZlIHVubmVlZGVkIHNpbmtfZXZlbnQgZnVuY3Rpb24gaW4gcHlyYW1pZHNlZ21lbnQKCjIwMTUtMTItMTkgMTI6MDQ6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSAgb3BlbmN2OiByZW1vdmUgdW5uZWVkZWQgc2lua19ldmVudCBmdW5jdGlvbiBpbiB0ZXh0b3ZlcmxheQoKMjAxNS0xMi0xOCAxODo1MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSAgdGVtcGxhdGVtYXRjaDogcmVtb3ZlIHVzZWxlc3MgZnVuY3Rpb24KCjIwMTUtMTItMTggMTE6NTY6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFsd2F5cyBzZXQgdGltZXN0YW1wIG9uIHJldmVyc2UgcGxheWJhY2sKCSAgRG93bnN0cmVhbSBuZWVkcyB0byBiZSBhYmxlIHRvIHJlc3RvcmUgdGhlIHRpbWVzdGFtcHMgYWZ0ZXIgYSBkaXNjb250CgkgIHRvIGRvIHJldmVyc2UgcGxheWJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTU5MgoKMjAxNS0xMi0xOCAxNTozNjo0MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29udmVydDogRml4IGNvbXBpbGF0aW9uIG9mIEdSQVkxNl9MRS9CRSBzaGFkZXIKCjIwMTUtMTEtMTMgMTc6MjQ6MzAgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQWRkIGRtYWJ1ZiB1cGxvYWQgbWV0aG9kLgoJICBUaGlzIHVwbG9hZCBtZXRob2QgZGV0ZWN0IGFuZCBvcHRpbWl6ZSB1cGxvYWRzIG9mIERNQUJ1ZiBtZW1vcnkuIFRoaXMgaXMKCSAgZG9uZSBieSBjcmVhdGluZyBhbmQgY2FjaGluZyBFR0xJbWFnZXMgd3JhcHBlciBhcm91bmQgRE1BQnVmLiBUaGUKCSAgRUdMSW1hZ2VzIGFyZSB0aGVuIGJpbmRlZCB0byBhIHRleHR1cmUgd2hpY2ggZ2V0IGNvbnZlcnRlciB1c2luZwoJICBzdGFuZGFyZCBzaGFkZXIuCgkgIEV4YW1wbGUgcGlwZWxpbmU6CgkgIEdTVF9HTF9QTEFURk9STT1lZ2wgXAoJICBnc3QtbGF1bmNoLTEuMCB2NGwyc3JjIGRldmljZT0vZGV2L3ZpZGVvMSBpby1tb2RlPTQgISBcCgkgIHZpZGVvL3gtcmF3LGZvcm1hdD1OVjEyICEgZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMi0xOCAxNTo1Mjo0NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBlZ2xpbWFnZW1lbW9yeTogQWxzbyBpbXBvcnQgQkdSMTYsIEFCR1IsIHhCR1IsIEFZVVYsIEdSQVkxNl9MRS9CRSBhbmQgWTQ0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEyLTE4IDExOjA4OjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGVnbGltYWdlbWVtb3J5OiBBZGQgUkdCL0JHUiBETUFCdWYgaW1wb3J0YXRpb24gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTExLTEzIDE3OjQwOjA4ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuaDoKCSAgZWdsaW1hZ2VtZW1vcnk6IE1ldGhvZHMgdG8gY3JlYXRlIEdzdEdMTWVtb3J5IGZyb20gZG1hYnVmcwoJICBNYXBzIEdzdFZpZGVvRm9ybWF0cyB0byBzdWl0YWJsZSBEUk0gZm91cmNjcyB3aGljaCB3b3JrIHdpdGgKCSAgZ2xjb2xvcmNvbnZlcnQsIHVzaW5nIGdzdF9nbF9tZW1vcnlfYWxsb2MoKS4gV2UgcmVxdWlyZSBtb3N0bHkKCSAgb25seSA0IGZvcm1hdHMgdG8gYmUgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIuIFdlIHJlcXVpcmUgRFJNCgkgIGVxdWl2YWxlbnQgdG8gUkdCMTYsIFJHQkEsIFI4IGFuZCBSRzg4LiBUaGlzIHdheSBpdCdzIGNvbXBhdGlibGUgd2l0aAoJICBEZXNrdG9wR0wsIHNpbmNlIEdMX1RFWFRVUkVfMkQgaXMgdXNlZCBhbmQgbGltaXQgZHJpdmVyIHJlcXVpcmVtZW50cy4KCSAgV2l0aCB0aGlzIHdlIGNhbiB2aXJ0dWFsbHkgc3VwcG9ydCBhbGwgZm9ybWF0cyB0aGUgZ2xjb2xvcmNvbnZlcnQKCSAgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTAtMDIgMTM6MzE6MzkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBidWlsZDogQWRkIGRtYWJ1ZiBidWlsZCBjb25kaXRpb24uCgkgIGNvbmZpZ3VyZS5hYzogQnVpbGQgZG1hYnVmIHdoZW4gRUdMIGFuZCBkcm1fZm91cmNjLmggaXMgYXZhaWxhYmxlLgoJICBnbDogTGluayBnc3QtYWxsb2NhdG9ycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMS0xMyAxNzowOToxMyArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBTaG93IGVycm9yIHdoZW4gdmlkZW8gZnJhbWUgaXMgbm90IG1hcHBlZC4KCSAgQWRkcyBtb3JlIG1lYW5pbmdmdWwgZXJyb3IgdGhhbgoJICAiRmFpbGVkIHRvIGNvbnZlcnQgbXVsdGl2aWV3IHZpZGVvIGJ1ZmZlciIsIHdoaWNoIGlzIGFsd2F5cyB1c2VkCgkgIHdoZW4gcHJlcGFyZV9uZXh0X2J1ZmZlcigpIGZhaWxzIGluIGdzdF9nbGltYWdlX3NpbmtfcHJlcGFyZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTExLTEzIDE3OjA1OjExICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdzdGdsY29udGV4dF9lZ2w6IEV4cG9zZSBnc3RfZ2xfY29udGV4dF9lZ2xfZ2V0X2Vycm9yX3N0cmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMi0xOCAxNjo1NjowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogdXBkYXRlIG9wZW5jdnRleHRvdmVybGF5IHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBvcGVuY3Z0ZXh0b3ZlcmxheSB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZgoJICBmcm9tIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuIFRoZSBjaGFpbi90cmFuc2Zvcm0gZnVuY3Rpb24gaXMgbm93IGEgdGhpcmQgb2YgdGhlIHNpemUgdGhhbgoJICBiZWZvcmUuCgoyMDE1LTEyLTE4IDE2OjE4OjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogdXBkYXRlIHRlbXBsYXRlbWF0Y2ggdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIHB5cmFtaWRzZWdtZW50IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTggMTU6NDg6MTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IHVwZGF0ZSBweXJhbWlkc2VnbWVudCB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgcHlyYW1pZHNlZ21lbnQgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YgZnJvbQoJICBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLgoKMjAxNS0xMi0xNyAxNzoyNjoyOSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogTWFkZSAiYXV0byIgbW9kZSB3b3JrIGFjY29yZGluZyB0byBjYXBzCgkgIFdoZW4gdGhlIG1vZGUgb2YgZGVja2xpbmt2aWRlb3NpbmsgaXMgc2V0IHRvICJhdXRvIiwgdGhlIHNpbmsgY2xhaW1zIHRvCgkgIHN1cHBvcnQgdGhlIGZ1bGwgc2V0IG9mIGNhcHMgdGhhdCBpdCBjYW4gc3VwcG9ydCBmb3IgYWxsIG1vZGVzLiBUaGVuLCBldmVyeQoJICB0aW1lIG5ldyBjYXBzIGFyZSBzZXQsIHRoZSBzaW5rIHdpbGwgYXV0b21hdGljYWxseSBmaW5kIHRoZSBjb3JyZWN0IG1vZGUgZm9yCgkgIHRoZXNlIGNhcHMgYW5kIHNldCBpdC4KCSAgQ2F2ZWF0OiBXZSBoYXZlIG5vIHdheSB0byBrbm93IHdoZXRoZXIgYSBzcGVjaWZpYyBtb2RlIHdpbGwgYWN0dWFsbHkgd29yayBmb3IKCSAgeW91ciBoYXJkd2FyZS4gVGhlcmVmb3JlLCBpZiB5b3UgdHJ5IHNlbmRpbmcgNEsgdmlkZW8gdG8gYSAxMDgwIHNjcmVlbiwgaXQKCSAgd2lsbCBzaWxlbnRseSBmYWlsLCB3ZSBoYXZlIG5vIHdheSB0byBrbm93IHRoYXQgaW4gYWR2YW5jZS4gTWFudWFsbHkgc2V0dGluZwoJICB0aGF0IG1vZGUgYXQgbGVhc3QgZ2F2ZSB0aGUgdXNlciBhIHdheSB0byBkb3VibGUtY2hlY2sgd2hhdCB0aGV5IGFyZSBkb2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYwMAoKMjAxNS0xMi0xOCAxMjoyODoyMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIG9wZW5jdjogdXBkYXRlIG1vdGlvbmNlbGxzIHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBtb3Rpb25jZWxscyB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE4IDEyOjI2OjE2ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBhZGQgZGV2aWNlIHByb3BlcnR5IGFzIGl0IGlzIGRvbmUgaW4gZGlyZWN0c291bmRzaW5rCgkgIFRoaXMgYWxsb3dzIHNlbGVjdGlvbiBvZiB0aGUgZGV2aWNlIGJ5IEdVSUQgaW5zdGVhZCBvZiB0aGUgbmFtZS4gVGhlIG5hbWUgaXMKCSAgdXNlci1naXZlbiBhbmQgbXVsdGlwbGUgZGV2aWNlcyBjYW4gaGF2ZSB0aGUgc2FtZSBuYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDg0CgoyMDE1LTEyLTE4IDEyOjM2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBDb252ZXJ0IGhlYWRlciBmcm9tIChzb21lKSBET1MgbGluZSBlbmRpbmdzIHRvIFVOSVgKCSAgQSBtaXggYmV0d2VlbiBkaWZmZXJlbnQgbGluZSBlbmRpbmdzIGluIHRoZSBzYW1lIGZpbGUgaXMgbm90IGEgZ29vZCBpZGVhLAoJICBhbmQgdGhlIC5jIGZpbGVzIGFyZSBib3RoIHdpdGggVU5JWCBsaW5lIGVuZGluZ3Mgc28gbGV0J3MgdXNlIHRoYXQuCgoyMDE1LTEyLTE4IDEwOjMwOjI1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBzZXQgLW1tYWNvc3gtdmVyc2lvbi1taW4gdG8gMTAuOAoJICBPdGhlcndpc2UgcXRraXR2aWRlb3NyYyBmYWlscyB0byBidWlsZCBvbiBPU1ggMTAuMTAuNAoJICBiZWNhdXNlIFFUS2l0IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgT1MgWCAxMC45LgoJICBBbHNvIHNldCAtbW1hY29zeC12ZXJzaW9uLW1pbj0xMC44IGluIGZyb250IHRvIGFsbG93CgkgIHRoZSB1c2VyIG9yIGNlcmJlcm8gdG8gb3ZlcnJpZGUgdGhlIHZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1NjQKCjIwMTUtMTItMTggMTM6MTc6MzQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGdsbWVtb3J5OiBhZGQgZ3N0X2dsX21lbW9yeV9hbGxvY2F0b3JfZ2V0X2RlZmF1bHQKCSAgQWRkIGdzdF9nbF9tZW1vcnlfYWxsb2NhdG9yX2dldF9kZWZhdWx0IHRvIGdldCB0aGUgZGVmYXVsdCBhbGxvY2F0b3IgYmFzZWQgb24KCSAgdGhlIG9wZW5nbCB2ZXJzaW9uLiBBbGxvd3MgdXMgdG8gc3RvcCBoYXJkY29kaW5nIHRoZSBQQk8gYWxsb2NhdG9yIHdoaWNoIGlzbid0CgkgIHN1cHBvcnRlZCBvbiBnbGVzMi4KCSAgRml4ZXMgR0wgdXBsb2FkIG9uIGlPUzkgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxNS0xMi0xOCAxMTo0OToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBkZWFkbG9jayBvbiByZXNpemUKCSAgUGVyZm9ybWluZyBhbnkgR0wgZnVuY3Rpb24gbWFyc2hhbGxpbmcgb2ZmIHRoZSBHTCB0aHJlYWQgd2l0aCBnbGltYWdlc2luaydzCgkgIHJlbmRlciBsb2NrIGlzIHByb25lIHRvIGRlYWRsb2NrcyBiZXR3ZWVuIHRoZSBHTCB0aHJlYWQgYW5kIHRoZSBub24tR0wgdGhyZWFkLgoJICBXaGF0IGNhbiBoYXBwZW4gaXMgdGhpczoKCSAgMS4gbm9uLUdMIHRocmVhZCBhdHRlbXB0cyB0byBmdW5jdGlvbiBtYXJzaGFsIHRvIHRoZSBHTCB0aHJlYWQuCgkgIDIuIHdoaWxlIDEgaXMgaGFwcGVuaW5nLCB0aGUgd2luc3lzIGdpdmVzIGFuIGV2ZW50IChzYXkgcmVzaXplKQoJICAzLiBUaGlzIGNhbGxzIGJhY2sgaW50byBnbGltYWdlc2luayB3aGljaCB0YWtzIHRoZSByZW5kZXIgbG9jay4KCSAgNC4gQXMgdGhlIEdMIGZ1bmN0aW9uIG1hcnNoYWxsaW5nIGlzIGF0dGVtcHRpbmcgdG8gcnVuIG9uIHRoZSBHTAoJICBhbmQgYWxyZWFkeSBoYXMgZ2xpbWFnZXNpbmsncyByZW5kZXIgbG9jayBsb2NrZWQuICBUaGlzIGRlYWRsb2NrcwoJICBhcyB0aGUgdGhyZWFkcyBhcmUgd2FpdGluZyBmb3IgZWFjaCBvdGhlci4KCjIwMTUtMTItMTcgMTg6MTY6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSAgb3BlbmN2OiB1cGRhdGUgZWRnZWRldGVjdCB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgZWRnZWRldGVjdCB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE3IDE1OjU2OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBEb24ndCBjcmFzaCB3aGVuIGRlY29kaW5nIHJldHVybnMgTlVMTCBkYXRhIGZvciBhbnkgY29tcG9uZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5NDMKCjIwMTUtMTItMTUgMTQ6MTQ6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbGJhc2VtZW1vcnk6IGRvbid0IHVuY29uZGl0aW9uYWxseSBhZGQgdGhlIGFsaWdubWVudCBieXRlcyB0byB0aGUgc2l6ZQoJICBlLmcgd2hlbiB3cmFwcGluZyBhIGRhdGEgcG9pbnRlciB3ZSBkb24ndCB3YW50IHRvIG1hcC91bm1hcCBvZmYgdGhlIGVuZCBvZgoJICBwb2ludGVyIHdpdGggdGhlIGFsaWdubWVudCBieXRlcy4KCSAgSW5zdGVhZCB0cmFjayB0aGF0IGluZm9ybWF0aW9uIHNlcGFyYXRlbHkgYXMgbWF4c2l6ZSBpcyB1c2VkIGZvciBtYXBwaW5nIGJ5CgkgIEdzdE1lbW9yeSBhbmQgdGh1cyByZXByZXNlbnRzIGEgc2l6ZSB3aXRob3V0IGFueSBhbGlnbm1lbnQgcGFkZGluZyBieXRlcy4KCjIwMTUtMTItMTcgMTA6NTE6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJICBvcGVuY3Y6IGFkZCBibHVyIGFuZCBiaWxhdGVyYWwgc3VwcG9ydCBpbiBjdnNtb290aAoJICBBZGRpbmcgdGhlIHN1cHBvcnQgZm9yIHRoZSB0d28gb3RoZXIgT3BlbkNWIGxpbmVhciBmaWx0ZXJzIHRvIHNtb290aAoJICBpbWFnZXMuIFRoZSBuZXcgQVBJIGRvZXMgc3VwcG9ydCBzcGF0aWFsIHNpZ21hIGluIHRoZSBiaWxhdGVyYWwgZmlsdGVyLAoJICBoZW5jZSBicmluZ2luZyB0aGF0IHByb3BlcnR5IGJhY2suCgkgIEFkZGluZyByZWZlcmVuY2UgdG8gbmV3IGRvY3VtZW50YXRpb24uCgoyMDE1LTEyLTE3IDA4OjUxOjQ4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBGaXggd3JvbmcgbG9naWMgbGVhZGluZyB0byBtZW1vcnkgbWlzaGFuZGxpbmcKCSAgV2hpbGUgZW5jb2RpbmcgdGhlIGZyYW1lIGluIEFTQ0lJIG1vZGUsIHBlciBjb21wb25lbnQgZm91ciBieXRlcyBhcmUgbmVlZGVkCgkgIGFuZCBhZnRlciBldmVyeSAyMCBieXRlcywgYSBcbiB3aWxsIGJlIGFkZGVkLiBTbyB0aGUgY2FsY3VsYXRpb24gc2hvdWxkIGJlCgkgIHNpemUgPSBzaXplICogKDQgKyAxIC8gMjApLiBUaGlzIHNob3VsZCBleGNsdWRlIHRoZSBoZWFkZXIgYmVpbmcgd3JpdHRlbi4KCSAgU2luY2UgaGVhZGVyIGlzIGFsc28gYmVpbmcgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucywgbWVtb3J5IG1pc2hhbmRsaW5ncwoJICBhcmUgaGFwcGVuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIwCgoyMDE1LTEyLTE3IDE1OjUwOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgZ2xidWZmZXI6IGFkZCBhIG5hbWUgdG8gdGhlIGFsbG9jYXRvcgoKMjAxNS0xMi0xNyAxNToyMzoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wqbWVtb3J5KjogcmV2ZXJzZSB0aGUgcGFyYW1ldGVyIG9yZGVyIG9mIHVzZXJfZGF0YSBhbmQgZGVzdHJveSBub3RpZnkKCSAgVGhlIGNvbnZlbnRpb24gaXMgdG8gaGF2ZSB0aGUgZGVzdHJveSBub3RpZnkgbGFzdCBhZnRlciBhbnkgdXNlciBkYXRhCgoyMDE1LTEyLTE3IDE1OjA3OjMzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IGZpeCBidWlsZCBvbiBpT1MKCSAgRml4IGJ1aWxkIGFmdGVyIDc3OWRjMzEzMmM4ZjZkZDU2MGNiMDdjYzJlMmMzYzcyYWVhYTc4NDUKCjIwMTUtMTItMTcgMTQ6NDk6MTMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGRvIGZpeGF0ZQoKMjAxNS0xMi0xNiAxODo0MTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xtZW1vcnlwYm86IHJlbW92ZSBvdXIgb3duIGFsbG9jKCkvd3JhcHBlZCgpL2V0YyBmdW5jdGlvbnMKCSAgcmVwbGFjZWQgYnkgZXF1aXZhbGVudCBmdW5jdGlvbmFsaXR5IHdpdGhpbiBnc3RfZ2xfYmFzZV9tZW1vcnlfYWxsb2MoKQoKMjAxNS0xMi0xNiAxODozOTozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBkb2N1bWVudCBnc3RfZ2xfbWVtb3J5X2luaXQKCjIwMTUtMTItMTYgMTg6Mzg6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xidWZmZXI6IHJlbW92ZSB1bm5lZWRlZCBnc3RfZ2xfYnVmZmVyX2FsbG9jKCkKCSAgUmVwbGFjZWQgYnkgZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jKCkKCjIwMTUtMTItMTYgMTg6Mzc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiBkb2N1bWVudCBzb21lIGZ1bmN0aW9ucwoKMjAxNS0xMi0xNiAxODozNjoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgYSBkZWZhdWx0IGNvcHkgaW1wbGVtZW50YXRpb24KCSAgU3ViY2xhc3NlcyBzdGlsbCBuZWVkIHRvIG92ZXJyaWRlIHRoaXMgdG8gY29weSBpbnRvIHRoZSBjb3JyZWN0IG1lbW9yeSB0eXBlLgoKMjAxNS0xMi0xNiAxODozMjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsYnVmZmVycG9vbDogdXNlIGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYyBhcyBhIGdlbmVyaWMgR0wgYWxsb2NhdGlvbiBmcmFtZXdvcmsKCSAgUmVxdWlyZXMgdGhlIHVzYWdlIG9mIEdzdEdMVmlkZW9BbGxvY2F0aW9uUGFyYW1zIGhvd2V2ZXIgYW55IHVzZXIgY2FuIHNldCB0aGVpcgoJICBvd24gcGFyYW1ldGVycyBhbG9uZyB3aXRoIGFuIGFsbG9jYXRvciB3aGljaCB3aWxsIGJlIHVzZWQgdG8gYWxsb2NhdGUgdGhlCgkgIGNvcnJlY3QgbWVtb3J5IHR5cGUuCgoyMDE1LTEyLTE2IDE4OjMwOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkgIGdsbWVtb3J5cGJvOiBpbXBsZW1lbnQgR3N0R0xCYXNlTWVtb3J5OmFsbG9jCgkgIFVzZXMgdGhlIEdzdEdMVmlkZW9BbGxvY2F0aW9uUGFyYW1zIHBhcmFtZXRlcnMKCjIwMTUtMTItMTYgMTg6MjM6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSAgZ2xidWZmZXI6IGltcGxlbWVudHMgR3N0R0xCYXNlTWVtb3J5OjphbGxvYwoJICBDcmVhdGUgR3N0R0xCdWZmZXJBbGxvY2F0aW9uUGFyYW1zIHdoaWNoIGlzIHN1YmNsYXNzIG9mIEdzdEdMQWxsb2NhdGlvblBhcmFtcwoKMjAxNS0xMi0xNiAxODoyMDoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGdsbWVtb3J5OiBpbXBsZW1lbnQgR3N0R0xCYXNlTWVtb3J5OjphbGxvYwoJICAtIENyZWF0ZSBHc3RHTFZpZGVvQWxsb2NhdGlvblBhcmFtcyB3aGljaCBpcyBhIEdzdEdMQWxsb2NhdGlvblBhcmFtcyBzdWJjbGFzcy4KCSAgLSBNYWtlIGl0IHBvc3NpYmxlIHRvIGFsbG9jYXRlIGdsbWVtb3J5IG9iamVjdHMgZGlyZWN0bHkgaWYgbm8gZnJpbGxzIGFyZQoJICBuZWVkZWQuCgoyMDE1LTEyLTE2IDE4OjEzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSAgZ2xiYXNlbWVtb3J5OiBhZGQgYSBnZW5lcmljIGludGVyZmFjZSBmb3IgYWxsb2NhdGluZyBHTCBtZW1vcmllcwoJICBUaGlzIGlzIG1hZGUgcG9zc2libGUgYnkgYSBzdWJjbGFzc2FibGUgR3N0R0xBbGxvY2F0aW9uUGFyYW1zIHRoYXQgaG9sZHMKCSAgdGhlIGFsbG9jYXRpb24gcGFyYW1ldGVycwoJICBFdmVyeSBhbGxvY2F0aW9uIHdvdWxkIG5vdyBnbyB0aHJvdWdoIGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYyB3aXRoIHRoZQoJICBhbGxvY2F0aW9uIHBhcmFtZXRlcnMgbm93IGJlaW5nIHNwZWNpZmllZCBpbiBhIHNpbmdsZSBzdHJ1Y3QgdG8gYWxsb3cKCSAgZXh0ZW5zaW9uIGJ5IGRpZmZlcmVudCBhbGxvY2F0b3JzLgoKMjAxNS0xMi0xNyAxMjozMDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICByZXZlcnQgY29tbW9uIHN1Ym1vZHVsZSBjaGFuZ2UKCSAgOGFlMDAzMzI2MTU3NDM4YzEyYzQ1NTg5ZTA1MGM1ZjQ0NjcyM2Y2MSBjb250YWluZWQgYSBlcnJvbmVvdXMgY29tbW9uIGNoYW5nZQoKMjAxNS0xMi0xNyAxMTowNjozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkgIFJldmVydCAiZ2xidWZmZXI6IERvbid0IHBhc3MgYWxsb2NhdGlvbiBwYXJhbXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDUyZjQxZTVjMjkzZWMxN2MwMzg0NjdlZDFlN2I5MmIwNGQ0OTRiMC4KCSAgVGhpcyBpcyBpbmNvcnJlY3QgYW5kIHdpbGwgYWZmZWN0IGFueSBvdGhlciBnbGJ1ZmZlciB1c2VyIHRoYXQgbmVlZHMvd2FudHMgdG8KCSAgcGVyZm9ybSBkYXRhIGFsaWdubWVudC4KCjIwMTUtMTItMTYgMTk6MjE6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgb3BlbmN2OiBhZGQgbWVkaWFuQmx1ciBzdXBwb3J0IGluIGN2c21vb3RoCgkgIFdpdGggdGhlIGRlcHJlY2F0aW9uIG9mIGN2U21vb3RoIHdlIGhhdmUgdG8gaGFuZGxlIHRoZSBvdGhlciBzbW9vdGhpbmcKCSAgZnVuY3Rpb25zIG1hbnVhbGx5LgoKMjAxNS0xMi0xNiAxODozNzozNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIG9wZW5jdjogc3dpdGNoIGRlcHJlY2F0ZWQgY3ZTbW9vdGggZm9yIEdhdXNzaWFuQmx1cgoJICBUaGUgT3BlbkNWIGN2U21vb3RoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgWzBdIGFuZCB0aGUgZG9jdW1lbnRhdGlvbgoJICByZWNvbW1lbmRzIHRvIHVzZSBHYXVzc2lhbkJsdXIgKCkuIFRoaXMgbWFrZXMgdGhlIHNwYXRpYWwgcHJvcGVydHkgZ28KCSAgdW51c2VkLiBNYXJraW5nIGl0IGFzIGRlcHJlY2F0ZWQsIG1ha2luZyBpdCBub24tZnVuY3Rpb25hbCBhbmQgd2lsbCByZW1vdmUKCSAgaW4gdGhlIG5leHQgY3ljbGUuCgkgIFswXSBodHRwOi8vZG9jcy5vcGVuY3Yub3JnLzIuNC9tb2R1bGVzL2ltZ3Byb2MvZG9jL2ZpbHRlcmluZy5odG1sCgoyMDE1LTEyLTE2IDExOjU2OjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgZ2xidWZmZXI6IERvbid0IHBhc3MgYWxsb2NhdGlvbiBwYXJhbXMKCSAgVGhlIGltcG9ydGVkIG1lbW9yeSBoYXMgYWxyZWFkeSBiZWVuIGFsbG9jYXRlZCwgcGFzc2luZyBhbGxvY2F0aW9uCgkgIHBhcmFtZXRlcnMgd2l0aCBhbGlnbm1lbnQgY29uZnVzZXMgdGhlIG1lbW9yeSB3aGljaCBlbmR1cCB3aXRoIGEKCSAgc2l6ZSBkaWZmZXJlbnQgZnJvbSBtYXhzaXplIGFuZCBsZWFkIHRvIG92ZXJydW4gd2hlbiB0aGUgbWVtb3J5CgkgIGlzIGJlaW5nIGNvcGllZC4KCjIwMTUtMTItMTYgMTM6NTk6MTggKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogaW1wcm92ZSB2YWxpZGF0aW9uIG9mIFVUQ3RpbWluZyBlbGVtZW50CgkgIGdzdF9tcGRwYXJzZXJfcGFyc2VfdXRjdGltaW5nX25vZGUgZG9lcyBub3QgdmFsaWRhdGUgdGhlIHBhcnNlZCB2YWx1ZXMgY29tcGxldGVseS4gVGhlIGZvbGxvd2luZyBzY2VuYXJpb3MgYXJlIGluY29ycmVjdGx5IGFjY2VwdGVkOgoJICAtIGVsZW1lbnRzIHdpdGggbm8gc2NoZW1lSWRVcmkgcHJvcGVydHkgc2hvdWxkIGJlIHJlamVjdGVkCgkgIC0gZWxlbWVudHMgd2l0aCB1bnJlY29nbml6ZWQgVVRDVGltaW5nIHNjaGVtZSBzaG91bGQgYmUgcmVqZWN0ZWQKCSAgLSBlbGVtZW50cyB3aXRoIGVtcHR5IHZhbHVlcyBzaG91bGQgYmUgcmVqZWN0ZWQKCSAgVGhlIGxhc3Qgb25lIHRyaWdnZXJzIGEgZGl2aXNpb24gYnkgMCBpbiBnc3RfZGFzaF9kZW11eF9wb2xsX2Nsb2NrX2RyaWZ0OgoJICBjbG9ja19kcmlmdC0+c2VsZWN0ZWRfdXJsID0gY2xvY2tfZHJpZnQtPnNlbGVjdGVkX3VybCAlIGdfc3Rydl9sZW5ndGggKHVybHMpOwoJICBiZWNhdXNlIGl0IHVybHMgaXMgYSB2YWxpZCBwb2ludGVyIHRvIGFuIGVtcHR5IGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTQ3CgoyMDE1LTEyLTE2IDEwOjQxOjQ3ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNsb2NrX2NvbmQgaXMgbm90IHVzZWQgYW5kIHNob3VsZCBiZSByZW1vdmVkCgkgIFRoZXJlIGFyZSBubyB0aHJlYWRzIHdhaXRpbmcgb24gY2xvY2tfY29uZC4gSXQgaXMganVzdCBpbml0aWFsaXNlZCBhbmQKCSAgc2lnbmFsbGVkLiBJdCBzaG91bGQgYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzNwoKMjAxNS0xMi0xNiAxMDoyMzoyMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4ZWQgY2xvY2sgY29tcGVuc2F0aW9uIGluIGdldF9mcmFnbWVudF93YWl0aW5nX3RpbWUKCSAgQ2xvY2sgY29tcGVuc2F0aW9uIGlzIGNhbGN1bGF0ZWQgaW4gdXNlYyBidXQgaXMgYWRkZWQgdG8gYSBHc3RDbG9ja1RpbWUgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzQKCjIwMTUtMTItMTYgMTA6MjE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB0byBJT1N1cmZhY2UuZnJhbWV3b3JrIGZvciB0aGUgSU9TdXJmYWNlIEFQSQoKMjAxNS0xMi0xNSAxNzoxMDowMCArMDAwMCAgRGF2ZSBDcmFpZyA8ZGF2ZWNyYWlnQHVuYmFsYW5jZWRhdWRpby5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBDaGVjayBmb3IgTlVMTCByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUwMwoKMjAxNS0xMi0xNiAxNDozMjoyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogRml4IHZhbHVlIG1lbW9yeSBsZWFrCgkgIGd2YWx1ZSB2YXJpYWJsZSBzaG91bGQgYmUgdW5zZXQgaW5zdGVhZCBvZiByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyNQoKMjAxNS0xMi0xNiAxNDoyOToyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogRml4IHZhbHVlIG1lbW9yeSBsZWFrCgkgIGd2YWx1ZSB2YXJpYWJsZSBzaG91bGQgYmUgdW5zZXQgaW5zdGVhZCBvZiByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMwoKMjAxNS0xMi0xNiAxMzowODoyMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogRml4IHNjYW5uZXIgbWVtb3J5IGxlYWsKCSAgRm9yIGNvcnJ1cHRlZCBmaWxlcywgc2Nhbm5lciBtZW1vcnkgaXMgYmVpbmcgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIyCgoyMDE1LTEyLTE2IDEzOjA2OjQ1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIEluIGNhc2Ugb2YgY29ycnVwdGVkIGZpbGUsIHMtPmJ1ZiBhbGxvY2F0ZWQgaXMgbm90IGJlaW5nIGZyZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjIKCjIwMTUtMTItMTYgMDk6MDU6NDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgaGVhZGVyIGJlaW5nIGFsbG9jYXRlZCBpcyBub3QgZnJlZWQgcmVzdWx0aW5nIGluIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMAoKMjAxNS0xMi0xNiAwODo1MjoxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhawoJICBvdXRidWZmZXIgYmVpbmcgYWxsb2NhdGVkIGlzIG5vdCBiZWluZyBwdXNoZWQgdG8gcXVldWUgZm9yIEVPUyBldmVudCBhbmQgaGVuY2UKCSAgc2hvdWxkIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTE5CgoyMDE1LTEyLTE2IDA5OjM5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IExpbmsgdG8gSU9LaXQuZnJhbWV3b3JrIGZvciBJT1N1cmZhY2UgcmVsYXRlZCBmdW5jdGlvbnMKCjIwMTUtMTItMTYgMDk6MzM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJICBkb2NzOiB1cGRhdGUgdG8gZ2l0CgoyMDE1LTEyLTE2IDA4OjI1OjE5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggaWxsZWdhbCBtZW1vcnkgYWNjZXNzCgkgIFdoZW4gYXBwbHlpbmcgdGhlIHNwYXRpYWwgcHJlZGljdGlvbiwgdGhlcmUgaXMgYW4gaWxsZWdhbCBhY2Nlc3Mgb2YgLTEgaW5kZXggb2YgYXJyYXkuCgkgIEhlbmNlIGFkZGluZyBhIGNvbmRpdGlvbiB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTE4CgoyMDE1LTEyLTE2IDA4OjIyOjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkgIHlhZGlmOiBGaXggZ3ZhbHVlIG1lbW9yeSBsZWFrCgkgIGd2YWx1ZSB2YXJpYWJsZSBzaG91bGQgYmUgdW5zZXQgaW5zdGVhZCBvZiByZXNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUxOAoKMjAxNS0xMi0xNiAxNzowMjoyNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IHRleHR1cmUtdGFyZ2V0IG9uIGlPUwoKMjAxNS0xMi0xNiAxNToyMDozMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVtb3ZlIG9ic29sZXRlIEZJWE1FCgoyMDE1LTEyLTE2IDE0OjM4OjQ0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiByZXdvcmsgR0xNZW1vcnkgbmVnb3RpYXRpb24KCSAgT25seSBkbyBHTE1lbW9yeSB3aGVuIGEgR3N0R0xDb250ZXh0IGlzIGF2YWlsYWJsZSBBTkQgR0xNZW1vcnkgaXMgYWN0dWFsbHkKCSAgbmVnb3RpYXRlZCB3aXRoIGRvd25zdHJlYW0uCgoyMDE1LTEyLTE2IDEzOjQ3OjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiB1cGRhdGUgYWZ0ZXIgSU9TdXJmYWNlIGNoYW5nZXMKCSAgUHJlZmVyIEdMTWVtb3J5IG92ZXIgc3lzbWVtLiBBbHNvIG5vdyB3aGVuIHB1c2hpbmcgR0xNZW1vcnkgd2UgcHVzaCB0aGUKCSAgb3JpZ2luYWwgZm9ybWF0cyAoVVlWWSBpbiBPU1gsIEJHUkEgaW4gaU9TKSBhbmQgbGVhdmUgaXQgdG8gZG93bnN0cmVhbSB0bwoJICBjb252ZXJ0LgoKMjAxNS0xMi0xNCAxNjoxMDowMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVtb3ZlIHRoZSBpbnRlcm5hbCBHc3RHTENvbG9yQ29udmVydAoJICBJdCB3YXMgYWRkZWQgYmFjayBpbiB0aGUgZGF5IHRvIG1ha2UgdGV4dHVyZSBzaGFyaW5nIHdvcmsgYnkgZGVmYXVsdCB3aXRoCgkgIGdsaW1hZ2VzaW5rIGluc2lkZSBwbGF5YmluLiBUaGVzZSBkYXlzIGdsaW1hZ2VzaW5rIGFjY2VwdHMgKGFuZCBjb252ZXJ0cykgWVVWCgkgIGludGVybmFsbHkgc28gaXQncyBubyBsb25nZXIgbmVlZGVkLgoKMjAxNS0xMi0xNCAxNDoyMzoyMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZGVjb3VwbGUgb3V0cHV0dGluZyB0ZXh0dXJlcyBmcm9tIG91dHB1dHRpbmcgUkdCQQoJICBXZSdyZSBnb2luZyB0byBiZSBhYmxlIHRvIG91dHB1dCBOVjEyIHRleHR1cmVzIHNvb24uCgoyMDE1LTEyLTExIDEzOjIwOjA1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHN3aXRjaCB0byBJT1N1cmZhY2Ugb24gTWFjCgkgIFN3aXRjaCB0byB1c2luZyBJT1N1cmZhY2UgaW5zdGVhZCBvZiBDVk9wZW5HTFRleHR1cmVDYWNoZSBvbiBPU1guIFRoZSBsYXR0ZXIgY2FuJ3QgYmUKCSAgdXNlZCBhbnltb3JlIHRvIGRvIFlVViA9PiBSR0Igd2l0aCBvcGVuZ2wzIG9uIEVsIENhcGl0YW4gYXMgR0xfWUNCQ1JfNDIyX0FQUExFCgkgIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgb3BlbmdsMyBkcml2ZXIuIEFsc28gc3dpdGNoIHRvIE5WMTIgZnJvbSBVWVZZLCB3aGljaAoJICB3YXMgdGhlIG9ubHkgWVVWIGZvcm1hdCBzdXBwb3J0ZWQgYnkgQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUuCgoyMDE1LTEyLTEwIDE2OjIyOjA4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiByZW5hbWUgR3N0Q29yZVZpZGVvVGV4dHVyZUNhY2hlIHRvIEdzdFZpZGVvVGV4dHVyZUNhY2hlCgkgIEZpcnN0IG9mIGEgZmV3IGNvbW1pdHMgdG8gc3RvcCB1c2luZyBDVk9wZW5HTFRleHR1cmVDYWNoZSBvbiBPU1ggYW5kIHVzZQoJICBJT1N1cmZhY2VzIGRpcmVjdGx5IGluc3RlYWQuIENWT3BlbkdMVGV4dHVyZUNhY2hlIGhhc24ndCBiZWVuIHVwZGF0ZWQgZm9yIE9wZW5HTAoJICAzIHdoaWNoIGlzIHdoeSB0ZXh0dXJlIHNoYXJpbmcgaXMgY3VycmVudGx5IGRpc2FibGVkIG9uIE9TWC4KCjIwMTUtMTEtMTcgMTk6MzE6NTMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgUmV2ZXJ0ICJ2dGRlYzogZGlzYWJsZSB0aGUgdGV4dHVyZSBjYWNoZSBvbiBPU1giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjAyNDI1YzRhZmNkODUyNjBhMWIzODdhZWRkZjg2Mzc3NDI1NzkxNy4KCjIwMTUtMTItMTUgMTQ6MTc6MTYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggYWxsb2NhdG9yIG5hbWUgYWZ0ZXIgR0xNZW1vcnkgQVBJIGNoYW5nZXMKCjIwMTUtMTItMTUgMTk6Mjg6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXRzaW5rOiBBZGQgY29uZmlndXJlZCBHTCBjZmxhZ3MgdG8gdGhlIGJ1aWxkCgkgIFdlIGRvbid0IGRpcmVjdGx5IGxpbmsgdG8gR0wgaW4gdGhlIGVsZW1lbnQsIHRob3VnaCB3ZSB1c2UgR0wgaGVhZGVycy4KCSAgRm9yIHRoaXMgcmVhc29uIHdlIG5lZWQgdG8gaW5jbHVkZSB0aGUgcHJvcGVyIEdMIGhlYWRlcnMgcGF0aC4gVGhpcwoJICBwcmV2ZW50IHRoaXMgZWxlbWVudCBmcm9tIHVzaW5nIGEgZGlmZmVyZW50IEdMIGhlYWRlciB0aGVuIGxpYmdzdGdsLgoKMjAxNS0xMi0xNSAxOToyNToxNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IEFsbG93IHVzaW5nIG5vbi1zeXN0ZW0gbWVzYSB3aXRoIGJvdGggR0wgYW5kIEdMRVMKCSAgR0NDIGF1dG9tYXRpY2FsbHkgZGlzYWJsZSByZWR1bmRhbmNlIHdhcm5pbmdzIGZvciBzeXN0ZW0gaGVhZGVycy4gQXMKCSAgc29vbiBhcyB3ZSBzdGFydCB1c2luZyBhIG5vbi1zeXN0ZW0gaW5zdGFsbGVkIG1lc2EsIHdlIHdvdWxkIHN0YXJ0CgkgIGhhdmluZyBpc3N1ZXMuIFRoZSB0ZXN0IGZvciBib3RoIHdhc24ndCBzZXR0aW5nIGFueSBmbGFncywgc28gaXQgd291bGQKCSAgd29yayBidXQgdGhlbiBmYWlsIGF0IHJ1bnRpbWUuCgkgIFRoaXMgaXMgYmVpbmcgZml4ZWQgYnkgZGlzYWJsaW5nIGluIHRoZSBjb2RlICh3aGVyZSBuZWVkZWQgb25seSkgdGhhdAoJICBHQ0Mgd2FybmluZy4gVGhlIHRlc3QgaXMgYWxzbyBmaXhlZCB0byBhdm9pZCB0aGUgZmFsc2UgcG9zaXRpdmUgd2UgaGFkLgoKMjAxNS0xMi0xNSAxNTo1OTozMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJICBvcGVuY3Y6IHB5cmFtaWRzZWdtZW50OiBmaXggZXhhbXBsZSBsYXVuY2ggbGluZQoJICBVc2UgdmlkZW90ZXN0c3JjIGFuZCBhdXRvdmlkZW9zaW5rIGluIHRoZSBleGFtcGxlIGdzdC1sYXVuY2gtMS4wIGxpbmUgYW5kCgkgIG5vdCBhIHVzZWxlc3MgZmFrZXNyYy1mYWtlc2luayBleGFtcGxlLgoKMjAxNS0xMi0xNSAxNTo1NjoxOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSAgb3BlbmN2OiBhZGQgaGVhZGVycyB3aXRoIGV4YW1wbGUgbGF1bmNoIGxpbmVzCgkgIEFkZCBkZXNjcmlwdGlvbiBoZWFkZXJzIGZvciBhbGwgdGhlIE9wZW5DViBwbHVnaW5zIG1pc3NpbmcgdGhlbSwgc28gd2UgY2FuCgkgIGhhdmUgZ3N0LWxhdW5jaC0xLjAgZXhhbXBsZSBsYXVuY2ggbGluZXMgZm9yIGFsbCBvZiB0aGVtLgoKMjAxNS0xMi0xNCAxNjo0ODo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuZ2w6IFVzZSBwa2ctY29uZmlnIGlmIGF2YWlsYWJsZQoJICBsaWJNZXNhIHNoaXBzIC5wYyBmaWxlcyBub3cgZm9yIGdsL2VnbC9nbGVzdjIuIFRoaXMgcGF0Y2ggbWFrZXMgdXNlCgkgIG9mIGl0IHdoaWxlIGtlZXBpbmcgc3VwcG9ydCBmb3Igc3lzdGVtIHdpdGhvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwNjgKCjIwMTUtMTItMTUgMTE6NTk6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgaGVhZGVycyB3aXRoIGV4YW1wbGUgbGF1bmNoIGxpbmVzCgkgIEFkZCBkZXNjcmlwdGlvbiBoZWFkZXJzIGZvciBhbGwgZ2VvbWV0cmljdHJhbnNmb3JtIGVsZW1lbnRzIHNvIHdlIGNhbiBoYXZlCgkgIGdzdC1sYXVuY2gtMS4wIGV4YW1wbGUgbGF1bmNoIGxpbmVzIGZvciBhbGwgb2YgdGhlbS4KCjIwMTUtMTItMTQgMTE6MDk6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBSRUFETUU6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXkyOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2RwL1JFQURNRToKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL1JFQURNRToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2R2Yi9SRUFETUU6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgcGx1Z2lucy1iYWQ6IEZpeCBleGFtcGxlIHBpcGVsaW5lcwoJICByZW5hbWUgZ3N0LWxhdW5jaCAtLT4gZ3N0LWxhdW5jaC0xLjAKCSAgcmVwbGFjZSBvbGQgZWxlbWVudHMgd2l0aCBuZXcgZWxlbWVudHMoZmZtcGVnY29sb3JzcGFjZSAtPiB2aWRlb2NvbnZlcnQsIGZmZW5jXyoqIC0+IGF2ZW5jXyoqKQoJICBmaXggY2FwcyBpbiBleGFtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDMyCgoyMDE1LTEyLTE0IDE1OjAxOjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBpZ25vcmU6IHZpZGVvZnJhbWUtYXVkaW9sZXZlbCB0ZXN0CgoyMDE1LTEyLTE0IDE0OjQ0OjMxIC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkgIGJhZDogQWRkIGdfYXV0b3B0cigpIHN1cHBvcnQgdG8gYWxsIHR5cGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjQKCjIwMTUtMTItMTQgMTI6MzE6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBjaGVjayBwb2ludGVyIGJlZm9yZSBkZXJlZmVyZW5jaW5nCgkgIHByaXYtPnByaW1hcnlfb3V0IGNvdWxkIGJlIE5VTEwsIGNoZWNrIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0IGluCgkgIEdTVF9CVUZGRVJfRkxBR19TRVQgKCkKCSAgQ0lEIDEzMDg5NDUKCjIwMTUtMTItMTQgMTM6NDM6MTAgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSAgdmlkZW9mcmFtZS1hdWRpb2xldmVsOiBGaXggcG9zc2libGUgZGl2aXNpb24gYnkgemVybwoJICBJbiB1cGRhdGVfcm1zX2Zyb21fYnVmZmVyKCksIGRpdmlzaW9uIGJ5ICJmcmFtZXMiIHdhc24ndCBjaGVja2luZyB3aGV0aGVyCgkgICJmcmFtZXMiIGlzIHplcm8uCgkgIENJRCAxMzQxNTE5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDQzCgoyMDE1LTEyLTE0IDA5OjM4OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgY2x1dHRlcjogRml4IGNvbXBpbGF0aW9uIGVycm9yIGluIEdMIGV4YW1wbGVzCgkgIEluY2x1ZGUgZ3N0L2dsLmggaW5zdGVhZCBvZiBzcGVjaWZpYyBoZWFkZXJzIHRvIHByZXZlbnQgc3VjaCBwcm9ibGVtcyBhbHNvIGluCgkgIHRoZSBmdXR1cmUuCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ2wuaDo0NzowLAoJICBmcm9tIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoxMzcsCgkgIGZyb20gLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6MjksCgkgIGZyb20gY2x1dHRlcnNoYXJlLmM6Mzk6CgkgIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOjUxOjIwOiBlcnJvcjogZmllbGQg4oCYbWVt4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKCSAgR3N0R0xNZW1vcnkgICAgICBtZW07CgkgIF4KCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6MTI0OjI0OiBlcnJvcjogZmllbGQg4oCYcGFyZW504oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKCSAgR3N0R0xNZW1vcnlBbGxvY2F0b3IgcGFyZW50OwoJICBeCgkgIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOjEzNDoyOTogZXJyb3I6IGZpZWxkIOKAmHBhcmVudF9jbGFzc+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCgkgIEdzdEdMTWVtb3J5QWxsb2NhdG9yQ2xhc3MgcGFyZW50X2NsYXNzOwoJICBeCgoyMDE1LTEyLTE0IDE5OjE4OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGZvciBHTE1lbW9yeSBBUEkgY2hhbmdlcwoKMjAxNS0xMi0xNCAxOToxNToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogdXBkYXRlIGZvciBHTE1lbW9yeSBBUEkgY2hhbmdlcwoKMjAxNS0xMi0xNCAxODo0MTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdsbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDE1LTEyLTE0IDE4OjIwOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgZ2xidWZmZXI6IGJpbmQvdW5iaW5kIG9uIG1hcC91bm1hcCBmb3IgR0wgbWFwcGluZ3MKCSAgQmluZCB0aGUgaGFuZGxlIHRvIHRoZSBHTCB0YXJnZXQgb24gbWFwL3VubWFwIHRvIHNhdmUgdGhlIGNhbGxlciBmcm9tCgkgIGhhbmRsaW5nIHRoaXMgdGhlbXNlbHZlcy4KCjIwMTUtMTItMTQgMTg6MTk6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSAgZ2xidWZmZXI6IHJlbW92ZSBidWZmZXIgc3BlY2lmaWMgdHJhbnNmZXIgZmxhZ3MKCSAgSW5zdGVhZCByZWx5IG9uIEdzdEdMQmFzZU1lbW9yeSdzIHRyYW5zZmVyIGhhbmRsaW5nCgoyMDE1LTEyLTE0IDE4OjE4OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IG1hcC91bm1hcCBwYm8gbWVtb3J5IGNvcnJlY3RseSBmb3Igc3RhdGUgdHJhY2tpbmcKCSAgT3RoZXJ3aXNlIHNvbWUgZG93bmxvYWRzIHdpbGwgZmFpbCB0byBvY2N1ciBmcm9tIHRoZSBQQk8uCgoyMDE1LTEyLTE0IDE4OjE1OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIHRlc3RzL2dsbWVtb3J5OiBpbmNsdWRlIHRoZSBnZW5lcmljIGdsIGhlYWRlcgoJICBJbmNsdWRpbmcgZ3N0Z2xtZW1vcnkuaCBkaXJlY3RseSByZXN1bHRzIGluIHRoZSBjb21waWxlciBjb21wbGFpbmluZwoJICBhYm91dCBpbmNvbXBsZXRlIHR5cGVzLgoKMjAxNS0xMi0xNCAxNzowNTozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkgIGdsZm9ybWF0OiBhZGQgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9ucyBmb3IgT0VTL3JlY3RhbmdsZSB0ZXh0dXJlcwoKMjAxNS0xMi0xNCAxMzo0OToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGJhc2VidWZmZXI6IHJlbW92ZSB1bnNlZCBtZW1vcnkgc3ViY2xhc3MKCSAgVGhlIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gc3BsaXQgaW50byBHc3RHTEJhc2VNZW1vcnkgYW5kIEdzdEdMQnVmZmVyLgoKMjAxNS0xMi0xNCAxMzo0Mzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBiYXNlIGNsYXNzaWZ5IGFuZCBhZGQgdGhlIHBibyBtZW1vcnkgb24gdG9wCgkgIFRoZSBiYXNlIGNsYXNzIGlzIHVzZWZ1bCBmb3IgaGF2aW5nIG11bHRpcGxlIGJhY2tpbmcgbWVtb3J5IHR5cGVzIG90aGVyCgkgIHRoYW4gdGhlIGRlZmF1bHQuICBlLmcuIElPU3VyZmFjZSwgRUdMSW1hZ2UsIGRtYWJ1Zj8KCSAgVGhlIFBCTyB0cmFuc2ZlciBsb2dpYyBpcyBub3cgaW5zaWRlIEdzdEdMTWVtb3J5UEJPIHdoaWNoIHVzZXMgR3N0R0xCdWZmZXIKCSAgdG8gbWFuYWdlIHRoZSBQQk8gbWVtb3J5LgoJICBUaGlzIGFsc28gbW92ZXMgdGhlIGZvcm1hdCB1dGlsaXR5IGZ1bmN0aW9ucyBpbnRvIHRoZWlyIG93biBmaWxlLgoKMjAxNS0xMi0xNCAxMzowODoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogYWRkIGEgR0wgYnVmZmVyIGJhc2VkIEdzdE1lbW9yeQoJICBIZWF2aWx5IGJhc2VkIG9uIEdzdEdMQmFzZUJ1ZmZlciB0aGF0IGlzIGEgc3ViY2xhc3Mgb2YgR3N0R0xCYXNlTWVtb3J5LgoJICBQcm92aWRlcyBHUFUgYW5kIENQVSBhY2Nlc3NpYmxlIEdMIGJ1ZmZlciBvYmplY3RzIGJ5IEdMIGhhbmRsZSBvciBieQoJICBzeXNtZW0gZGF0YSBwb2ludGVyLgoKMjAxNS0xMi0xNCAxMjo1OTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSAgZ2w6IGFkZCBhIGJhc2UgbWVtb3J5IG9iamVjdAoJICBJdCBoYW5kbGVzIHRoZSBmb2xsb3dpbmcKCSAgLSBHc3RBbGxvY2F0aW9uUGFyYW1zIC0+IGdzdF9tZW1vcnlfaW5pdCB0cmFuc2Zvcm1hdGlvbgoJICAtIE1ha2VzIHN1cmUgdGhhdCBtYXAvdW5tYXAvY3JlYXRlL2Rlc3Ryb3kgaGFwcGVuIG9uIHRoZSBHTCB0aHJlYWQgd2l0aAoJICBhIEdMIGNvbnRleHQgY3VycmVudC4KCSAgLSBIb2xkcyBhIHBvc3NpYmxlIHN5c21lbSBhY2Nlc3NpYmxlIGRhdGEgcG9pbnRlciB3aXRoIGFsaWdubWVudC4KCSAgLSBIb2xkcyB0aGUgbmVlZCB1cGxvYWQvZG93bmxvYWQgdHJhbnNmZXIgc3RhdGUKCjIwMTUtMTItMTQgMTI6MjY6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBhZGQgY29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHRoZSBzdGFydCBvZiBhIHZpZGVvIGZyYW1lCgkgIEdldCdzIHRoZSBzdGFydCBvZiB0aGUgdmlkZW8gZnJhbWUgYmFzZWQgb24gYSBHc3RWaWRlb0luZm8gYW5kCgkgIEdzdFZpZGVvQWxpZ25tZW50LgoKMjAxNS0xMi0xMSAxNjowNzozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZG1ldGE7IHJlbW92ZSBjb252ZW5pZW5jZSBoZWxwZXIgQVBJCgkgIEl0IHdhcyBub3QgcmVhbGx5IHVzZWZ1bCBhcyBpZiBvbmUga25vd3MgYWJvdXQgbGliZ3N0Z2wsIG9uZSBjYW4ganVzdCB1c2UKCSAgR0xNZW1vcnkgb2JqZWN0cyBkaXJlY3RseS4KCjIwMTUtMTItMTEgMTU6Mzk6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgZ2xkb3dubG9hZDogcmVtb3ZlIGhlbHBlciBhcGkgZnJvbSB0aGUgbGlicmFyeQoJICBJdCB3YXMgbmV2ZXIgdXNlZCBieSBhbnlvbmUgYW5kIGlzIG5vdCBuZWVkZWQgYW55bW9yZSB3aXRoIHRoZSBlbGVtZW50CgkgIGFuZCBHc3RHTE1lbW9yeSdzIHRyYW5zcGFyZW50IHN1cHBvcnQgZm9yIGRvd25sb2FkaW5nIHRleHR1cmVzLgoKMjAxNS0xMi0xMiAyMDowNzozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogY2xlYW4gaW5jbHVkZXMKCSAgVGhlIG9wZW5jdiBlbGVtZW50IGluY2x1ZGVzIHdlcmUgZnVsbCBvZiBkdXBsaWNhdGVzIGFuZCB1bmVlZGVkIGhlYWRlcnMuCgkgIEZvciBleGFtcGxlIGEgZmV3IGVsZW1lbnRzIHRoYXQgc3RvcHBlZCB1c2luZyBnc3Rjdm9wZW5jdnV0aWxzIHN0aWxsCgkgIGluY2x1ZGVkIHRoYXQgaGVhZGVyIGZpbGUuCgoyMDE1LTEyLTEyIDE5OjMxOjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgb3BlbmN2OiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBpbiBnc3RvcGVuY3Z1dGlscwoJICBTaW5jZSBjb21taXQgNDVjYTg4NzZiMmY1MjY3ZjdlZGI4NDJiNmQ1NmQ3YTZjMjcxY2NiMyBub2JvZHkgaXMgdXNpbmcKCSAgZ3N0X29wZW5jdl9nZXRfaXBsX2RlcHRoX2FuZF9jaGFubmVscygpIG9yCgkgIGdzdF9vcGVuY3ZfcGFyc2VfaXBsaW1hZ2VfcGFyYW1zX2Zyb21fc3RydWN0dXJlKCkuIFJlbW92ZSB0aGlzIGRlYWQKCSAgY29kZS4KCjIwMTUtMTItMTIgMTk6MTM6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJICBtb3Rpb25jZWxsczogUmVtb3ZlIHVudXNlZCBpbmNsdWRlcwoKMjAxNS0xMi0xMiAxMDowNjo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICByZXZlcnQgY29tbW9uIHN1Ym1vZHVsZSBjaGFuZ2UKCjIwMTUtMTItMTIgMDk6MzM6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogY2xlYXIgdG8gdHJhbnNwYXJlbnQKCSAgT3RoZXJ3aXNlIGNvbXBvc2l0aW9uIHdpbGwgcmVzdWx0IGluIGEgYmxhY2sgZnJhbWUgb3V0c2lkZSB0aGUgdHJhbnNmb3JtZWQKCSAgdmlkZW8uCgoyMDE1LTEyLTExIDExOjM5OjA4ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IENoZWNrIHJldHVybiB2YWx1ZXMgb2YgRGlyZWN0U291bmQgZnVuY3Rpb25zIGluIHJlYWQgbG9vcAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZW5kIHVwIGluIGFuIGluZmluaXRlIGxvb3AgYmVjYXVzZSBvZiBlcnJvcnMuCgkgIEFsc28gdGFrZSB0aGUgZWxlbWVudCdzIG11dGV4IGluIHVucHJlcGFyZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjkyCgoyMDE1LTEyLTEwIDEyOjQ3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogT25seSBwcmUtc2V0IHBvc2l0aW9uIGZvciBleGFjdGx5IHRoZSBzYW1lIGVzc2VuY2UgdHJhY2sKCSAgVGhlIGVkaXQgcmF0ZSBpcyBvbmx5IHN1cHBvc2VkIHRvIGJlIHRoZSBzYW1lIGluIGEgc291cmNlIHBhY2thZ2UsIGJ1dCB0aGVyZQoJICBtaWdodCBiZSBtdWx0aXBsZSBzb3VyY2UgcGFja2FnZXMgd2l0aCB0aGUgc2FtZSBlc3NlbmNlIGNvbnRhaW5lci4gQXMgc3VjaAoJICBqdXN0IGNvbXBhcmluZyB0aGUgYm9keS9pbmRleCBTSUQgaXMgbm90IHN1ZmZpY2llbnQuCgoyMDE1LTEyLTEwIDEyOjI1OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogT25seSBwcmUtc2V0IHRoZSB0cmFjayBwb3NpdGlvbiBpZiBpdCdzIGZvciB0aGUgc2FtZSBib2R5L2luZGV4IFNJRAoKMjAxNS0xMi0xMCAxNDo0MTo0NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGxpYmdzdGdsOiBnc3RnbGNvbnRleHRfY29jb2E6IGtDR0xQRkFTdGVyZW8gaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiAxMC4xMQoJICBBbHNvIHNpbmNlIHRoZSB2ZXJzaW9uIHNjaGVtZSBoYXMgY2hhbmdlZCAodG8gaW5jbHVkZSB0aGUgbWljcm8gbnVtYmVyKSBzaW5jZQoJICAxMC4xMCwgdXNlIHRoZSBNQUNfT1NfWF9WRVJTSU9OXyogbWFjcm8gdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAxNS0xMi0xMCAxMjo0MTowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogcmVsYXggY2hlY2sgZm9yIG11bHRpcGxlIHRleHR1cmUgdGFyZ2V0cwoJICBPbmx5IGNvbXBsYWluIGFib3V0IG11bHRpcGxlIHRleHR1cmUgdGFyZ2V0cyB3aGVuIF9kaWZmZXJlbnRfIHRleHR1cmUgdGFyZ2V0cwoJICBhcmUgY29uZmlndXJlZC4KCjIwMTUtMTItMTAgMTI6MzM6NTIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB0YWtlIHN1YnNhbXBsaW5nIGludG8gYWNjb3VudCBmb3IgcmVjdGFuZ2xlIHRleHR1cmVzCgkgIFJlY3RhbmdsZSB0ZXh0dXJlcyBkb24ndCB1c2Ugbm9ybWFsaXplZCBjb29yZGluYXRlcyBzbyBzdWJzYW1wbGluZyBuZWVkcyB0byBiZQoJICBmYWN0b3JlZCBpbiBleHBsaWNpdGx5LgoJICBGaXhlcyBZVVYgPT4gUkdCIGNvbnZlcnNpb24gZm9yIHJlY3RhbmdsZSB0ZXh0dXJlcy4KCjIwMTUtMTItMDkgMTY6NTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IGFjY2VzcyB0aGUgaW5kZXggdGFibGUgaWYgaXQgaGFzIGVub3VnaCBlbGVtZW50cwoKMjAxNS0xMi0wOSAxNjoyODo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVzZSBrZXlmcmFtZSBpbmZvcm1hdGlvbiBmcm9tIGluZGV4IHRhYmxlIHNlZ21lbnRzIGlmIGF2YWlsYWJsZQoJICBXZSBkb24ndCBpbXBsZW1lbnQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBhbGwgY29kZWNzIGFuZCB0aGlzIHdpbGwgYWxsb3cgdXMgdG8KCSAgaW1wbGVtZW50IGJldHRlciBzZWVraW5nLgoKMjAxNS0xMi0wOSAxNjozMToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENvbGxlY3QgYWxsIGluZGV4IHRhYmxlIHNlZ21lbnRzIGFmdGVyIGZpbmRpbmcgdGhlIHJhbmRvbSBpbmRleCBwYWNrCgkgIFRoYXQgd2F5IHdlIGFsd2F5cyBoYXZlIHRoZSBpbmRleCB0YWJsZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUsIGVzcGVjaWFsbHkgdGhlCgkgIGtleWZyYW1lLW5lc3Mgb2YgYWxsIGJ1ZmZlcnMuCgoyMDE1LTEyLTA4IDE4OjE1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IEZpeCBoYW5kbGluZyBvZiBJbmRleFRhYmxlU2VnbWVudHMKCSAgVGhpcyB3YXMgY29tcGxldGVseSBicm9rZW4gYmVmb3JlIGFuZCBjb3VsZCBvbmx5IHdvcmsgb24gYSB2ZXJ5IGNvbnN0cmFpbmVkCgkgIHNldCBvZiBmaWxlcy4gQWZ0ZXIgdGhlc2UgY2hhbmdlcyBpdCBzaG91bGQgd29yayBleGNlcHQgZm9yIHNpdHVhdGlvbnMgd2hlcmUKCSAgUFRTICE9IERUUywgd2hpY2ggaXMgbm90IGhhbmRsZWQgYXQgYWxsIGluIG14ZmRlbXV4IGN1cnJlbnRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTExOAoKMjAxNS0xMi0wOCAxNDowNjoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhdm9pZCBwdXNoaW5nIGV2ZW50cyB3aXRoIG1hbmlmZXN0IGxvY2sKCSAgSXQgY2FuIGJlIGFuIGVhc3kgc291cmNlIG9mIGRlYWRsb2Nrcy4gUmVwcm9kdWNpYmxlIHdpdGggdmVyeQoJICBmYXN0IGNvbm5lY3Rpb25zIChsb2NhbCBzZXJ2ZXIpLgoKMjAxNS0xMi0wOCAyMDoyNDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmdHlwZXM6IEZpeCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzCgoyMDE1LTEyLTA4IDE4OjIzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBIYW5kbGUgYWdncmVnYXRpb24gd2l0aCBOVUxMIGJ1ZmZlcnMgd2l0aG91dCBjcmFzaGluZwoKMjAxNS0xMi0wOCAxNjo0NTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogQWRkIEZJWE1FIGFib3V0IGVuZm9yY2luZyB0aGF0IGFsbCB0cmFja3MgaW4gYSBzb3VyY2UgcGFja2FnZSBoYXZlIHRoZSBzYW1lIGVkaXQgcmF0ZQoJICBUaGUgc3RhbmRhcmQgcmVxdWlyZXMgdGhpcyBhbmQgYWxzbyB0aGUgaW5kZXggdGFibGUgc2VnbWVudHMgYXJlIG5vdCBnb2luZyB0bwoJICB3b3JrIG90aGVyd2lzZS4KCjIwMTUtMTItMDcgMjA6Mjc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IFdyaXRlIGluZGV4IHRhYmxlIHNlZ21lbnRzCgkgIEJ1dCBvbmx5IGZvciB0aGUgZmlyc3QgZXNzZW5jZSB0cmFjaywgYW5kIG9uY2UgZm9yIGV2ZXJ5IGtleWZyYW1lIGV2ZXJ5IDIKCSAgc2Vjb25kcy4KCjIwMTUtMTItMDcgMjA6MjY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBGaXggc3RhdGljIGxvY2FsIHRhZyBmb3IgaW5kZXggc2lkCgoyMDE1LTEyLTA3IDE5OjM0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZnR5cGVzOiBBZGQgZnVuY3Rpb24gdG8gc2VyaWFsaXplIGFuIGluZGV4IHRhYmxlIHNlZ21lbnQgdG8gYSBidWZmZXIKCjIwMTUtMTItMDcgMTg6NTk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZtdXg6IEluZGV4IHRhYmxlIHNlZ21lbnRzIG11c3Qgbm90IHVzZSB0aGUgcHJpbWVyIHBhY2sKCSAgQWNjb3JkaW5nIHRvIFMzNzctMS0yMDA5YyA5LjIgdGhlIGxvY2FsIHRhZ3MgbXVzdCBub3QgYmUgcmVzb2x2ZWQgZnJvbSB0aGUKCSAgcHJpbWVyIHBhY2ssIHdoaWNoIGFzIGEgcmVzdWx0IG1lYW5zIHRoYXQgdGhlcmUgY2FuJ3QgYmUgYW55IG90aGVyIHRhZ3MgdGhhbgoJICBzdGF0aWNhbGx5IGFzc2lnbmVkIG9uZXMuCgoyMDE1LTEyLTA3IDE0OjEwOjMwICsxMDAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gZnJhZ21lbnQgYm91bmRhcmllcwoJICBTZXR0aW5nIHRoZSBzZWVrIGZsYWdzIHRvIEdTVF9TRUVLX0ZMQUdfU05BUF8qIHdpbGwgY2hhbmdlIHRoZSBzZWVrCgkgIHRhcmdldCB0aW1lIHRvIGEgc2VnbWVudCBib3VuZGFyeS4KCSAgQmFzZWQgb24gb3JpZ2luYWwgd29yayBieSBCZW4gV2lsbGVycyA8YndpbGxlcnNAZGlnaXNvZnQudHY+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTA4CgoyMDE1LTEyLTA4IDA5OjUzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaDogRml4IHVuaXQgdGVzdCBhZnRlciBtb3Zpbmcgb2YgZnJhbWVyYXRlcyB0byBSZXByZXNlbnRhdGlvbkJhc2VUeXBlCgoyMDE1LTEyLTA4IDA5OjMzOjM5ICswOTAwICBzdWh3YW5nLmtpbSA8c3Vod2FuZy5raW1AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogU3VnZ2VzdGlvbiBmb3Igc2V0dGluZyB0aGUgZnJhbWVyYXRlIGluZm9ybWF0aW9uLgoJICBEYXNoZGVtdXggaGFzIHNldCB0aGUgd2lkdGggYW5kIGhlaWdodCBpbmZvcm1hdGlvbiBmcm9tIE1QRCBtYW5pZmVzdC4KCSAgU29tZSBlbWJlZGRlZCBkZXZpY2VzIHdoaWNoIGFyZSBub3QgaW5zdWZmaWNpZW50IEgvVyByZXNvdXJjZXMgbmVlZCBtb3JlIGluZm9ybWF0aW9uIHN1Y2ggYXMgZnJhbWVyYXRlCgkgIHRvIGFzc2lnbiBIL1cgcmVzb3VyY2VzLiBTbyBJIHN1Z2dlc3RlZCB0aGF0IGRhc2hkZW11eCBhbHNvIG5lZWRzIHRvIHNldCB0aGUgZnJhbWVyYXRlIGluZm9ybWF0aW9uIGZyb20gTURQIG1hbmlmZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE1CgoyMDE1LTEyLTA4IDA5OjIzOjIyICswOTAwICBzdWh3YW5nLmtpbSA8c3Vod2FuZy5raW1AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBtYXhGcmFtZVJhdGUgJiBtaW5GcmFtZVJhdGUgc2hvdWxkIGJlIGluIFJlcHJlc2VudGF0aW9uQmFzZS4KCSAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjLCB0aGV5IGNhbiBiZSBpbiBBZGFwdGF0aW9uU2V0LCBSZXByZXNlbnRhdGlvbiBhbmQgU3ViUmVwcmVzZW50YXRpb24uCgkgIFNvIFRoZXkgc2hvdWxkIGJlIGluIFJlcHJlc2VudGF0aW9uQmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNQoKMjAxNS0xMi0wOCAxNjozNTo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdscHJvdG86IGluY2x1ZGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMgZm9yIEdMX0FQUExFX3N5bmMKCSAgUHJvdmlkZXMgYSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBvbiBpT1Mgd2hlcmUgd2Ugd2VyZSBmYWxsaW5nIGJhY2sgdG8gZ2xGaW5pc2gKCSAgb24gc2V0dHRpbmcgc3luYyBwb2ludHMuCgoyMDE1LTEyLTA3IDIwOjM0OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBBbGwgZnJhbWVzIGluIEpQRUcyMDAwIGFyZSBrZXlmcmFtZXMsIG1hcmsgdGhlbSBhcyBzdWNoCgoyMDE1LTEyLTA3IDA5OjA4OjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjMxOTkwOSB0byA4NmU0NjYzCgoyMDE1LTEyLTA3IDEzOjQ4OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBSZW1vdmUgbW9yZSBkZWFkIGNvZGUKCSAgQ292ZXJpdHkgQ0lEICMxMzI4ODE4CgoyMDE1LTEyLTA3IDEzOjM2OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBGaXggbGVhayBhbmQgTlVMTCBwb2ludGVyIHVzYWdlCgkgIENvdmVyaXR5IENJRCAjMTM0MTc0NAoKMjAxNS0xMi0wNyAxMTo1NjowOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogUmVtb3ZlIGRlYWQgY29kZQoJICArK2kgaW4gYSBmb3IoKSBsb29wIHJlc3VsdHMgaW4gdGhlIGxvb3AgbmV2ZXIgYmVpbmcgZXhlY3V0ZWQgbW9yZSB0aGFuIG9uY2UKCSAgQ292ZXJpdHkgQ0lEICMxMzQxNzQ4CgkgIENvdmVyaXR5IENJRCAjMTM0MTc0MwoKMjAxNS0wMy0xMiAxMToyOTowMCArMDAwMCAgRnLDqWTDqXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtOiBQb3J0IEFDTSBNUDMgZGVjb2RlciBhbmQgZW5jb2RlcnMgdG8gR1N0cmVhbWVyIDEueAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MDQ3CgoyMDE1LTA5LTI0IDE3OjQwOjAyICswMjAwICBEYW5pZWwgS2FtaWwgS296YXIgPGRrazA4OUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSAgcG9ydCB0ZWxldGV4dGRlYyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzgxOQoKMjAxNS0xMi0wMiAxODoyODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjZ4cGFyc2U6IFJlc2VuZCBQUFMvU1BTIGFmdGVyIHNlZWsKCSAgVGhpcyBpcyB0byBzdXBwb3J0IGJ5dGUtc3RyZWFtIGRlY29kZXIgdGhhdCBkb2VzIG5vdCByZW1lbWJlciB0aGUKCSAgUFBTL1NQUyBhZnRlciBhIGZsdXNoLiBUaGlzIGlzIG5vdCBuZWVkZWQgYnkgYWxsIGRlY29kZXJzLCBidXQgaXMKCSAgaGFybWxlc3MgZm9yIHRob3NlIHRoYXQgZG8gcmVtZW1iZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MDUKCjIwMTUtMTItMDEgMTg6MDk6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogT25seSBvZmZlciBjdXN0b20gYWxsb2NhdG9yIHdpdGggY2FwcyBmZWF0dXJlcwoJICBUbyB1c2UgR0xNZW1vcnkgYW5kIEVHTEltYWdlIGFsbG9jYXRvcnMsIG9uZSBuZWVkIHRvIGtub3cgdGhlCgkgIGxpYmdzdGdsIEFQSS4gVGhpcyBpcyBvbmx5IGV4cGVjdGVkIGlmIHRoZSBhc3NvY2lhdGVkIGNhcHMgZmVhdHVyZXMKCSAgaGF2ZSBiZWVuIG5lZ290aWF0ZWQuIEdlbmVyaWMgZWxlbWVudCB0aGF0IG90aGVyd2lzZSByZWNlaXZlIHRob3NlCgkgIGFsbG9jYXRvcnMgbWF5IGZhaWwsIHJlc3VsdGluZyBpbiBicm9rZW4gcGllbGluZS4gV2UgZG9uJ3Qgd2FudCB0bwoJICBmb3JjZSBhbGwgZ2VuZXJpYyBlbGVtZW50IHRvIGNoZWNrIGlmIHRoZSBhbGxvY2F0b3IgaXMgYSBjdXN0b20KCSAgYWxsb2NhdG9yIG9yIGEgbm9ybWFsIGFsbG9jYXRvciAod2hpY2ggaW1wbGVtZW50IHRoZSBfYWxsb2MgbWV0aG9kKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODg3NwoKMjAxNS0xMi0wNCAxODowNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgY29weSBpbnB1dCBidWZmZXJzLCBqdXN0IGFwcGVuZCB0aGVtIHRvIHRoZSBoZWFkZXIKCjIwMTUtMTItMDMgMTE6NDY6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFJlc3luYyBsaXZlIHBsYXlsaXN0cyB0byB0aGUgM3JkIG5ld2VzdCBmcmFnbWVudCBpZiB3ZSBmYWxsIG9mZiB0aGUgcGxheWxpc3QKCSAgQXMgSExTIGRvZXMgbm90IHByb3ZpZGUgYW55IHdheSBvZiBrbm93aW5nIHRoZSBzZXJ2ZXIncyBjbG9jaywgYW5kIHdlIGRvCgkgIGJ1ZmZlcmluZyBvZiAibGl2ZSIgc3RyZWFtcywgYXQgc29tZSBwb2ludCB3ZSB3aWxsIGZhbGwgYmVoaW5kIHRoZSBzZXJ2ZXIgaW4KCSAgbWFueSBjYXNlcyBhbmQgd291bGQgaGF2ZSB0byBhZHZhbmNlIHRvIGEgZnJhZ21lbnQgdGhhdCBpcyBub3QgaW4gdGhlIHBsYXlsaXN0CgkgIGFueW1vcmUuCgkgIFByZXZpb3VzbHkgd2Ugd291bGQndmUganVzdCByZXN5bmNlZCB0byB0aGUgbmV4dCBvbGRlc3QgZnJhZ21lbnQgdGhhdCBpcyBzdGlsbAoJICB0aGVyZSwgYnV0IHRoaXMgY2F1c2VzIHByb2JsZW1zIGFzIGZyb20gdGhpcyBwb2ludCBvbndhcmRzIHdlIHdvdWxkIGFsd2F5cwoJICBmYWxsIG9mZiB0aGUgcGxheWxpc3QgYWdhaW4gYWxsIHRoZSB0aW1lLgoJICBJbnN0ZWFkIHdlIG5vdyByZXN5bmMgYW5kIG1vdmUgdG8gdGhlIDNyZCBuZXdlc3QgZnJhZ21lbnQgbGlrZSB3ZSB3b3VsZCBkbwoJICB3aGVuIHN0YXJ0aW5nIHBsYXliYWNrIG9mIGEgbGl2ZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5ODcKCjIwMTUtMTItMDMgMTg6MjE6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBtM3U4OiByZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X20zdThfY29weSgpIGltcGxlbWVudGF0aW9uCgkgIE5vIG5lZWQgdG8gaW1wbGVtZW50IF9jb3B5KCkgd2hlbiB3ZSBqdXN0IGNvcHkgYSBsaXN0IHRoYXQKCSAgd2UncmUgZnJlZWluZyB0aHJlZSBsaW5lcyBsYXRlciBhbnl3YXkuIEluc3RlYWQganVzdCBzdGVhbAoJICB0aGUgbmV3IG1haW4gbGlzdC4KCjIwMTUtMTItMDMgMTA6MDg6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IExvZyBQVFMgb2YgYnVmZmVycyB0aGF0IGFyZSBwdXNoZWQgZG93bnN0cmVhbQoKMjAxNS0xMC0yMCAwOTo0OToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEV4cG9zZSBEVkIgU3VicGljdHVyZSBhcyBzdWJwaWN0dXJlcwoJICBGb3Igc29tZSByZWFzb24gd2Ugd2VyZSBjb25zaWRlcmluZyB0aGVtIGFzIHByaXZhdGUgZGF0YS4KCjIwMTUtMTAtMjAgMTc6MjI6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQdXNoIEdBUCBldmVudHMgKmFmdGVyKiBkZWFjdGl2YXRpbmcgb2xkIHByb2dyYW1zCgkgIFRoZSBvcmRlciBpbiB3aGljaCBwcm9ncmFtIHN3aXRjaCBtdXN0IGhhcHBlbiBpczoKCSAgMSkgZHJhaW4gYWxsIGRhdGEgb24gb2xkIHBhZHMgKGJ1dCBkb24ndCBwdXNoIEVPUykKCSAgMikgYWRkIG5ldyBwYWRzIChidXQgZG9uJ3QgcHVzaCBhbnkgZGF0YSBvbiB0aGVtKQoJICAzKSBQdXNoIEVPUyBhbmQgcmVtb3ZlIG9sZCBwYWRzCgkgIDQpIFN0YXJ0IHB1c2hpbmcgZGF0YSBvbiBuZXcgcGFkcwoJICBUaGVyZSB3YXMgb25lIGNhdmVhdCBpbiB0aGlzIGltcGxlbWVudGF0aW9uLCB3aGljaCBpcyB0aGF0IHdoZW4KCSAgd2UgYWN0aXZhdGUgYSBzcGFyc2UgcGFkIChzdGVwIDIpIHdlIHdvdWxkIHB1c2ggYSBHQVAgZXZlbnQuIFRoZSBwcm9ibGVtCgkgIGlzIHRoYXQsIHdoaWxlIGJlaW5nIGFuIGV2ZW50LCBpdCBpcyBhY3R1YWxseSAqZGF0YSouCgkgIFdlIHRoZXJlZm9yZSBuZWVkIHRvIG1ha2Ugc3VyZSBwdXNoaW5nIHRob3NlIEdBUCBldmVudCBpcyBkb25lIGF0IHRoZSBzdGVwCgkgIHdlIHN0YXJ0IHB1c2hpbmcgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQwMgoKMjAxNS0wOS0xNSAxODoyMDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1ha2Ugc3VyZSBvbGQgc3RyZWFtcyBhcmUgZHJhaW5lZCBiZWZvcmUgc3dpdGNoaW5nCgkgIEJlZm9yZSB3ZSBhZGQgYW55IHN0cmVhbXMsIG1ha2Ugc3VyZSB3ZSBkcmFpbiBhbGwgc3RyZWFtcy4gVGhpcyBlbnN1cmVzCgkgIHRoZXJlJ3MgY29uc2lzdGVuY3kgdGhhdCBvbmx5ICJuZXciIGRhdGEgd2lsbCBiZSBwdXNoZWQgb24gYnVmZmVycyBvbmNlCgkgIHRoZSBuZXcgcGFkcyBhcmUgYWRkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQwMgoKMjAxNS0wOS0xMCAxNDo1NTowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBBbGxvdyBkZWFjdGl2YXRpb24gb2YgcHJvZ3JhbXMgdG8gYmUgZGVsYXllZAoJICBXaGVuIGNoYW5naW5nIHByb2dyYW1zLCB0aGUgb3JkZXIgb2YgZXZlbnRzIG5lZWRzIHRvIGJlIHRoZSBmb2xsb3dpbmc6CgkgICogYWRkIHBhZHMgZnJvbSBuZXcgcHJvZ3JhbQoJICAqIHNlbmQgRU9TIG9uIG9sZCBwYWRzCgkgICogcmVtb3ZlIG9sZCBwYWRzCgkgICogZW1pdCAnbm8tbW9yZS1wYWRzJwoJICBQcmV2aW91c2x5IHRzZGVtdXggd2FzIG5vdCBkb2luZyB0aGF0LCBhbmQgd2FzIGZpcnN0IGRlYWN0aXZhdGluZyBhbmQKCSAgcmVtb3Zpbmcgb2xkIHBhZHMgYmVmb3JlIGFkZGluZyBuZXcgb25lcy4KCSAgV2UgZml4IHRoaXMgYnkgYWxsb3dpbmcgc3ViY2xhc3NlcyBvZiBtcGVndHNiYXNlIHRvIGJlIGFibGUgdG8gaGFuZGxlCgkgIHRoZW1zZWx2ZXMgdGhlIGRlYWN0aXZhdGlvbiBvZiBwcm9ncmFtcy4gSW4gdGhpcyBjYXNlIHRzZGVtdXggd2lsbAoJICBwcm9wZXJseSBkZWFjdGl2YXRlIGl0IG9uY2UgaXQgaGFzIGFjdGl2YXRlZCB0aGUgbmV3IHByb2dyYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0MDIKCjIwMTUtMTItMDIgMTE6MDE6NTMgKzAxMDAgIE1hcm/FoSBPbmRyw6HFoWVrIDxteDNsZGV2QGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVwZGF0ZSBjdXJyZW50IHZhcmlhbnQgaWYgY29ubmVjdGlvbiBzcGVlZCBpcyBzZXQKCSAgSWYgY29ubmVjdGlvbiBzcGVlZCBpcyBzZXQsIHBsYXlsaXN0IGFjY29yZGluZwoJICB0byBjb25uZWN0aW9uIHNwZWVkIGlzIHNlbGVjdGVkIGFzIGN1cnJlbnQgcGxheWxpc3QuCgkgIFByb2JsZW0gaXMgdGhhdCB0aGUgY3VycmVudCB2YXJpYW50IG9mIG1haW4gcGxheWxpc3Qgc3RpbGwKCSAgcG9pbnRzIHRvIHByZXZpb3VzbHkgc2V0IHZhcmlhbnQuCgkgIElmIHByZXZpb3VzbHkgc2V0IHZhcmlhbnQgZG9lc24ndCBjb3JyZXNwb25kIHRvIGN1cnJlbnQKCSAgcGxheWxpc3QsIHRoZW4gaXQgY2F1c2VzIHVubmVjZXNzYXJ5IGNoYW5nZSBvZiBwbGF5bGlzdAoJICB0byB0aGUgc2FtZSBwbGF5bGlzdCBhZnRlciBmaXJzdCBmcmFnbWVudCBpcyBkb3dubG9hZGVkLAoJICBiZWNhdXNlIG9mIG5vdCB1cGRhdGVkIGN1cnJlbnQgdmFyaWFudC4KCSAgVG8gZml4IHRoaXMsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgY3VycmVudCB2YXJpYW50CgkgIG9mIG1haW4gcGxheWxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQgcGxheWxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk0NgoKMjAxNS0xMi0wMiAxNDozNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkgIHZpZGVvZnJhbWUtYXVkaW9sZXZlbDogRml4IGNvbXBpbGF0aW9uIG9mIHN0YXRpYyBwbHVnaW4gYW5kIHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGZvciBnc2l6ZSBpbnN0ZWFkIG9mICVsZCBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlIHBsdWdpbiBuYW1lCgkgIGlzIGEgdmFsaWQgQyBpZGVudGlmaWVyLCBpLmUuIGNvbnRhaW5zIG5vIHNwYWNlcyBvciBkYXNoZXMuCgoyMDE1LTEyLTAyIDIyOjQyOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGltcHJvdmUgdGhlIFlVWTIvVVlWWS0+UkdCQSBjb252ZXJzaW9uIHNoYWRlcgoJICBEb24ndCBvZmZzZXQgdGhlIHktYXhpcy4gIFdlIG9ubHkgbmVlZCB0byBvZmZzZXQgb24gdGhlIHgtYXhpcy4KCSAgUmVtb3ZlcyBhIHNhd3Rvb3RoIHBhdHRlcm4gb24gaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgZWRnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0ODYKCjIwMTUtMTItMDIgMjI6NDA6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogaW1wcm92ZSBSR0JBLT5ZVVkyL1VZVlkgY29udmVyc2lvbiBzaGFkZXIKCSAgV2Ugc2hvdWxkIG9ubHkgYXZlcmFnZSB0aGUgY2hyb21hIHNhbXBsZXMgbm90IHRoZSBsdW1hIHNhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkwNAoKMjAxNS0xMS0xMSAwMzo1NToyNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBUZWxsIHRoZSBiYXNlIGNsYXNzIHRoZSBmcmFnbWVudCBkdXJhdGlvbgoJICBhZGFwdGl2ZWRlbXV4IHVzZXMgdGhlIGZyYWdtZW50IGR1cmF0aW9uIGFzIGEgZGVsYXkKCSAgaW4gc29tZSBjYXNlcywgc28gbWFrZSBzdXJlIHRvIHNldCBpdC4KCjIwMTUtMTEtMTEgMDM6NTQ6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IFNlbmQgdGhlIGJpdHJhdGUgb2YgdGhlIHN0cmVhbSBhcyBhIHRhZwoJICBJZiB3ZSBrbm93IG9yIGNhbiBtZWFzdXJlIHRoZSBub21pbmFsIGJpdHJhdGUgb2YgYSBzdHJlYW0sCgkgIHNlbmQgdGhhdCBpbmZvIGFzIGEgdGFnIGRvd25zdHJlYW0KCjIwMTUtMTEtMDggMDE6MzQ6MzAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2hlbiBzd2l0Y2hpbmcgYml0cmF0ZSB2YXJpYW50cywgZG9uJ3QganVtcCBiYWNrCgkgIERvbid0IGp1bXAgYmFja3dhcmQgdG8gMyBmaWxlcyBmcm9tIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0CgkgIHdoZW4gc3dpdGNoaW5nIHZhcmlhbnRzIC0gaXQganVzdCBtZWFucyB3ZSBkb3dubG9hZGVkCgkgIGZyYWdtZW50cyBmYXN0IGFuZCBjYXVnaHQgdXAgdG8gdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QuCgkgIERpc2FibGUgdGhhdCBieSB0cmVhdGluZyBhIHZhcmlhbnQgc3dpdGNoIGFzIGEgcGxheWxpc3QKCSAgdXBkYXRlLCBub3QgYSByZXN0YXJ0IGR1ZSB0byBhIHNlZWsgb3Igc28uCgoyMDE1LTA0LTIxIDIxOjA5OjE5ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJICBhbGV2ZWw6IE5ldyBhdWRpby92aWRlbyBsZXZlbCBlbGVtZW50CgkgIFRoZSB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwgZWxlbWVudCBhY3RzIGxpa2UgYSBzeW5jaHJvbml6ZWQgYXVkaW8vdmlkZW8gImxldmVsIgoJICBlbGVtZW50LiBGb3IgZWFjaCB2aWRlbyBmcmFtZSwgaXQgcG9zdHMgYSBsZXZlbC1zdHlsZSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlCgkgIFJNUyB2YWx1ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBhdWRpbyBmcmFtZXMuIFRoaXMgZWxlbWVudCBuZWVkcyBib3RoIHZpZGVvIGFuZAoJICBhdWRpbyB0byBwYXNzIHRocm91Z2ggaXQuIEZ1cnRoZXJtb3JlLCBpdCBuZWVkcyBhIHF1ZXVlIGFmdGVyIGl0cyB2aWRlbwoJICBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgyNTkKCjIwMTUtMTItMDEgMjM6MjA6NDUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSAgRHJvcCB1c2FnZSBvZiBkZXByZWNhdGVkIGctaXItc2Nhbm5lciAtLXN0cmlwLXByZWZpeCBmbGFnCgoyMDE1LTExLTEwIDE2OjE5OjM0ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogY29ycmVjdCB0aGUgY2FsY3VsYXRpb24gb2Ygc2VlayByYW5nZSBvZiBub24tbGl2ZSBzdHJlYW1zCgkgIFRoZSBzZWVrIHJhbmdlIGNhbGN1bGF0aW9uIGZvciBvbi1kZW1hbmQgc3RyZWFtcyB3YXMgaW5jb3JyZWN0bHkKCSAgZXhjbHVkaW5nIHRoZSBsYXN0IHRocmVlIHNlZ21lbnRzIG9mIHRoZSBzdHJlYW0uIFRoaXMgdGhyZWUgc2VnbWVudAoJICBydWxlIHNob3VsZCBvbmx5IGJlIGFwcGxpZWQgdG8gbGl2ZSBzdHJlYW1zIFsxXS4KCSAgWzFdIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1wYW50b3MtaHR0cC1saXZlLXN0cmVhbWluZy0xNyNzZWN0aW9uLTYuMy4zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzODYKCjIwMTUtMTItMDEgMTc6NTI6MDMgKzAwMDAgIFBhb2xvIFBldHRpbmF0byA8cHBldHRpbmFAY2lzY28uY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGb3J3YXJkIEZMVVNIX1NUT1AgZXZlbnRzIGRvd25zdHJlYW0gdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5MTMKCjIwMTUtMTEtMjkgMDE6MDI6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBjcmFzaCB3aGVuIGRlY3J5cHRpb24ga2V5IGNhbid0IGJlIGRvd25sb2FkZWQKCSAgSGFwcGVuZWQgd2l0aAoJICBodHRwOi8vc3NsaGxzLm02dHYuY2RuLnNmci5uZXQvaGxzLWxpdmUvbGl2ZXBrZ3IvX2RlZmluc3RfL202X2hsc19hZXMvbTZfaGxzX2Flc184NTYubTN1OAoJICBpZiBnbGliLW5ldHdvcmtpbmcgd2FzIG5vdCBpbnN0YWxsZWQgKHNpbmNlIGtleSBoYXMgaHR0cHMgdXJpKS4KCjIwMTUtMTEtMzAgMTE6MDU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBtM3U4OiByZW1vdmUgcG9pbnRsZXNzIGNsaWVudF9oYXNfbWFpbigpIGZ1bmN0aW9uCgkgIFdlIGFsd2F5cyBoYXZlIGEgbWFpbiBsaXN0LgoKMjAxNS0xMS0yOCAwMDoxMjowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBtM3U4OiByZW1vdmUgdW51c2VkIF9nZXRfY3VycmVudF9mcmFnbWVudF9kdXJhdGlvbigpIGZ1bmN0aW9uCgoyMDE1LTExLTI3IDE5OjIxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSB1bnVzZWQgbTN1OCBjbGllbnQgdXBkYXRlX2ZhaWxlZF9jb3VudCBmaWVsZAoKMjAxNS0xMS0xNSAxNzozMTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBtM3U4OiByZW1vdmUgaGVscGVyIHZhciB0aGF0J3Mgb25seSB1c2VkIGR1cmluZyBwYXJzaW5nIGZyb20gc3RydWN0dXJlCgkgIEp1c3Qga2VlcCB0aGF0IGxvY2FsIHRvIHRoZSBwYXJzaW5nIGZ1bmN0aW9uLgoKMjAxNS0xMS0wMSAxMzoyMTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9obHMvZ3N0aGxzLmg6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9nc3RobHNwbHVnaW4uYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsczogcmVuYW1lIHBsdWdpbiBmcm9tIGZyYWdtZW50ZWQgdG8gaGxzCgoyMDE1LTEyLTAxIDE5OjQ0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWx3YXlzIGdpdmUgdGltZXN0YW1wcyBpZiB3ZSdyZSBkaXNjb250IGFuZCBkb24ndCBtYXJrIHN0cmVhbSBkaXNjb250IGlmIGEgcGxheWxpc3QgY2hhbmdlIHdhcyBub3Qgc3VjY2Vzc2Z1bAoJICBJZiB0aGUgc3RyZWFtIGlzIGRpc2NvbnQsIHdlIG11c3QgcHJvdmlkZSBhIHRpbWVzdGFtcCBpbiBhbnkgY2FzZS4gRWxlbWVudHMKCSAgbGlrZSB0c2RlbXV4IGFyZSBub3QgZ29pbmcgdG8gb3V0cHV0IGFueXRoaW5nIGlmIHdlIGdpdmUgYSBOT05FIHRpbWVzdGFtcAoJICBhZnRlciBhIGRpc2NvbnQuCgkgIEFsc28gbWFya2luZyBhIHN0cmVhbSBhcyBkaXNjb250IGlmIGEgcGxheWxpc3QgY2hhbmdlIHdhcyBub3Qgc3VjY2Vzc2Z1bCB3b3VsZAoJICBsZWFkIHRvIHRoZSBhYm92ZSBzaXR1YXRpb24sIGJ1dCBpbiB0aGF0IGNhc2Ugd2UgYXJlIG5vdCByZXF1aXJlZCBhdCBhbGwgdG8KCSAgbWFyayB0aGUgc3RyZWFtIGRpc2NvbnQgYXMgd2UncmUgc3RpbGwgYXQgdGhlIG9sZCBwbGF5bGlzdC4KCjIwMTUtMTItMDEgMTc6MDY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIHRzbXV4OiBmaXggd3JvbmcgbG9nIG1lc3NhZ2UgbGV2ZWwKCSAgRVJST1IgbGV2ZWwgaXMgZGVidWdnaW5nIGxlZnQtb3Zlci4KCjIwMTUtMTEtMDkgMTY6MDg6MzAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOmFnZ3JlZ2F0b3I6IGZpeCB0YyBmYWlsdXJlIGFuZCBjb3JyZWN0IGNoZWNrIHZhbHVlCgkgIEZhaWx1cmUgYnkgdGhpcyBjb21taXQgMmRmYTU0OGYzNjQ1ODQ0MDgyYzNkYjY1ZDk2ZDg3MjU1NzAxYjNhZCwgd2hpY2ggaXMKCSAgdG8gYXBwZW5kIGhvb2tzIGluc3RlYWQgb2YgcHJlcGVuZC4KCSAgQmVjYXVzZSBvZiB0aGlzIGNoYW5nZSwgYWdncmV0YXRlZF9jYiBpcyBub3QgY2FsbGVkIGFuZCBsZWFkcyB0byBmYWlsdXJlLgoJICBBbmQgY29ycmVjdCB0byBjaGVjayBmbHVzaCBzdG9wIHZhbHVlIGluc3RlYWQgb2YgZmx1c2ggc3RhcnQgdmFsdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzgwMQoKMjAxNS0xMS0zMCAxOTo1MzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IHRyeSB0byByZWNyZWF0ZSBzd2FwY2hhaW4gd2hpbGUgdGhlIHdpbmRvdyBpcyBtaW5pbWl6ZWQKCSAgSXQgd2lsbCBmYWlsIGFuZCBjYXVzZSB0aGUgc2luayB0byBjcmFzaC4gSW5zdGVhZCB3YWl0IHVudGlsIHRoZSB3aW5kb3cgaXMKCSAgdmlzaWJsZSBhZ2FpbiBiZWZvcmUgY2hlY2tpbmcgaWYgdGhlIHN3YXBjaGFpbiByZWFsbHkgaGFzIHRvIGJlIHJlY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTYwOAoKMjAxNS0xMS0yNyAxODo0Njo1NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IHJlbW92ZSB1bm5lZWRlZCBzdGF0ZW1lbnQKCSAgY29tbWl0IGRhNWM0MTkzMGM0MDgzOTc5YjE3NDVmNGQ4ODQ4ZDk3ZmUwM2Q4ZWIgcmVtb3ZlZCB0aGUgdHdvIHVzZXMgb2YgdGhlCgkgIG5ldyB2YWx1ZSBvZiBkYXRhOgoJICBjaGFubmVscyA9IG9wdXNfcGFja2V0X2dldF9uYl9jaGFubmVscyAoZGF0YSk7CgkgIGJhbmR3aWR0aCA9IG9wdXNfcGFja2V0X2dldF9iYW5kd2lkdGggKGRhdGEpOwoJICBTaW5jZSB0aGVuLCBkYXRhIGlzbid0IGJlaW5nIHVzZWQgYmV0d2VlbiBpbmNyZW1lbnRpbmcgaXQgYnkgcGFja2V0X29mZnNldAoJICBhbmQgZ29pbmcgb3V0IG9mIHNjb3BlLiBSZW1vdmluZyB0aGlzIHVuZWVkZWQgc3RhdGVtZW50LgoKMjAxNS0xMS0yNyAxMjo0NDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJICB0ZXN0czogaWQzbXV4OiBhZGQgdW5pdCB0ZXN0IGZvciBHU1RfVEFHX1BSSVZBVEVfREFUQSB3cml0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg3MjgKCjIwMTUtMTEtMjcgMTE6MzM6MDcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiB3cml0ZSBwcml2YXRlIGRhdGEgdGFnCgkgIEhhbmRsZSAiUFJJViIgdGFnIGluIGlkM211eC4gV3JpdGUgb3duZXIKCSAgaWRlbnRpZmllciBhbmQgcHJpdmF0ZSBkYXRhIGFuZCBhZGQgdG8gdGhlCgkgIGlkM3YyIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NzI4CgoyMDE1LTExLTI2IDEwOjE1OjM2ICswMTAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXMuaGFzc2VsbWFubkBrZGFiLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBhZGQgbWV0YWRhdGEgdG8gbG9ja2VkIGJ1ZmZlcgoJICBUaGUgdmlkZW8gZGVjb2RlcnMgdHJpZWQgY2FsbGluZyBnc3RfYnVmZmVyX2FkZF8qbWV0YSgpIG9uIG5vbi13cml0YWJsZQoJICBidWZmZXIgcmVzdWx0aW5nIGluIHdhcm5pbmdzIG9mIHRoaXMga2luZDoKCSAgZ3N0YW1jdmlkZW9kZWMuYzo5MjEgKF9nbF9zeW5jX3JlbmRlcl91bmxvY2tlZCk6IFdBUk5JTkc6IGFtY3ZpZGVvZGVjCgkgIEZhaWxlZCB0byBjcmVhdGUgdGhlIHRyYW5zZm9ybWF0aW9uIG1ldGEgZm9yIHRoZSBnbF9zeW5jIDB4YWJjMDM4NDgKCSAgYnVmZmVyIDB4YWJiMDFiNDAgKDApCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg2OTQKCjIwMTUtMTEtMDkgMTg6MDc6MzAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogZGlzYWJsZWQgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvciB0ZXN0CgkgIFVudGlsIHdlIHdpbGwgaGF2ZSBzdXBwb3J0IHRvIGNvbnRyb2wgdGhlIGdlbmVyYXRpbmcgdGhyZWFkIGZyb20KCSAgZmFrZUhUVFBzcmMgZWxlbWVudCwgdGhlIHRlc3QgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvciBpcyBkaXNhYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzc3NgoKMjAxNS0xMS0wOSAxNDoxNDozNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBjb3JyZWN0ZWQgYWNjZXNzIHRvIGZha2VIVFRQc3JjIGVsZW1lbnQKCSAgVGhlIHNyYyBlbGVtZW50IGZvciBhZGFwdGl2ZWRlbXV4IGlzIG5vdyBhIGJpbi4gVXBkYXRlZCB0aGUgdGVzdHMgdG8KCSAgY29ycmVjdGx5IHJlYWNoIGludG8gdGhlIGJpbiBhbmQgZ2V0IHRoZSBmYWtlSFRUUHNyYyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc3NzYKCjIwMTUtMTEtMDkgMTQ6MTM6MDQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogbWFkZSBmYWtlSFRUUHNyYyBlbGVtZW50IE1UIHNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzc3NgoKMjAxNS0xMS0yMyAxMTozMjoxMyArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgc3B1LXBnczogRml4IGFycmF5IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTcKCjIwMTUtMTEtMjQgMDA6MjA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9taXhlcjogcmVnaXN0ZXIgZnVuY3Rpb24gbmFtZSBmb3IgZGVidWdnaW5nIGp1c3Qgb25jZQoJICBOb3QgZXZlcnkgdGltZSBhZ2dyZWdhdGUgaXMgY2FsbGVkLi4uCgoyMDE1LTExLTI0IDEyOjQyOjQ1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiByZW1vdmUgZ3N0X21wZF9jbGllbnRfY2hlY2tfdGltZV9wb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTkzCgoyMDE1LTExLTI0IDExOjUwOjUxICswMTAwICBNYXJvxaEgT25kcsOhxaFlayA8bXgzbGRldkBnbWFpbC5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgZGVwdGggZmllbGQgdG8gYXVkaW8gY2FwcyBpZiBhdmFpbGFibGUKCSAgZGVwdGggZmllbGQgY2FuIGJlIHJldHJpZXZlZCBmcm9tICJCaXRzUGVyU2FtcGxlIiBvcgoJICBmcm9tICJXYXZlRm9ybWF0RXgiIHN0cnVjdHVyZSwgaWYgcHJvdmlkZWQgaW4gTWFuaWZlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODU4NgoKMjAxNS0xMS0yMCAxNjozNTo0MyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBmcmFjdGlvbiBvZiBzZWNvbmRzIGluIGF2YWlsYWJpbGl0eVN0YXJ0VGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEwCgoyMDE1LTExLTIwIDE2OjM2OjAwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGFkZGVkIHN1cHBvcnQgZm9yIHBhcnNpbmcgZnJhY3Rpb24gb2Ygc2Vjb25kcyBpbiBkYXRlVGltZSBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQxMAoKMjAxNS0xMS0yMiAxMzoxMTo0OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcHV0IHRoZSB3YXlsYW5kc2luayBleGFtcGxlIHdpbmRvdy51aSBmaWxlIGluIEVYVFJBX0RJU1QKCjIwMTUtMTEtMjIgMTM6MDg6MzUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBsaW5raW5nIHdheWxhbmRzaW5rIGV4YW1wbGUgd2l0aCB0aGUgZ3N0d2F5bGFuZCBsaWJyYXJ5CgkgIEZpcnN0LCB1c2UgdG9wX2J1aWxkZGlyLCBvdGhlcndpc2UgaXQgZmFpbHMgaW4gb3V0LW9mLXNvdXJjZSBidWlsZHMuCgkgIFNlY29uZCwgbGluayB0byB0aGUgbGlidG9vbCBhcmNoaXZlIGRpcmVjdGx5IHRvIGxldCBtYWtlIHVuZGVyc3RhbmQKCSAgdGhlIGRlcGVuZGVuY3kuCgoyMDE1LTExLTIwIDIwOjU5OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhbHdheXMgc2V0IHByZXNlbnRhdGlvblRpbWVPZmZzZXQKCSAgU2V0IGl0IGZvciBhbGwgdHlwZXMgb2Ygc2VnbWVudCBsaXN0cyAodGVtcGxhdGVzIC8gbGlzdHMgLyBiYXNlKQoJICBhbmQgbm90IG9ubHkgZm9yIHRlbXBsYXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUyOQoKMjAxNS0xMS0yMCAxNzo1MDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRXJyb3Igb3V0IGlmIHdlIGdldCBhIHRpbWVvdXQgZHVyaW5nIGxpdmUgbWl4aW5nCgkgIFdlIGNhbid0IGhhbmRsZSB0aGF0IGJ1dCBuZWVkIGNvbXBsZXRlIHN0cmVhbXMgd2l0aG91dCBnYXBzLgoKMjAxNS0xMS0yMCAxNzo0Njo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtcGVnOiBVc2UgdGhlIGNvcnJlY3Qgc291bmQgZXNzZW5jZSBjb21wcmVzc2lvbiBVTCBmb3IgTVAzCgkgIFRoZXJlJ3Mgb25lIGZvciBNUEVHIDEgTGF5ZXIgMSBhbmQgb25lIGZvciBMYXllciAyIGFuZCAzLiBXZSBwcmV2aW91c2x5CgkgIGhhZCB0aGUgc2Vjb25kIGZvciBMYXllciAxIGFuZCAyIGFuZCBub3RoaW5nIGZvciBMYXllciAzLCB3aGljaCB3YXMgd3JvbmcuCgoyMDE1LTExLTIwIDE3OjM0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFNldCB0aGUgZXNzZW5jZSBjb250YWluZXIgVUwgYnl0ZSAxMyB0byAweDEwIGZvciBoMjY0CgkgIDB4MDQgc2lnbmlmaWVzIGEgTVBFRyBlbGVtZW50YXJ5IHN0cmVhbSBidXQgYWNjb3JkaW5nIHRvIFJQMjAwOCwgMHgxMCBzaG91bGQKCSAgYmUgdXNlZCBmb3IgYSBoMjY0IGJ5dGUtc3RyZWFtLiBUaGlzIGFsc28gZml4ZXMgY29tcGF0aWJpbGl0eSBvZiBvdXIgZmlsZXMKCSAgd2l0aCBmZm1wZWcuCgoyMDE1LTExLTIwIDExOjE4OjQzICsxMTAwICBSb21hbiBOb3dpY2tpIDxybm93aWNraUBzaW1zLnBsPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiByZXVzZSBleGlzdGluZyBHc3RRU0dUZXh0dXJlCgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsgbGVha2luZyB0aGUgdGV4dHVyZSBvYmplY3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mjg2CgoyMDE1LTExLTIwIDExOjA4OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSAgcW1sOiBhY3RpdmF0ZSB0aGUgd3JhcHBlZCBjb250ZXh0IHdoZW4gYmluZGluZwoJICBNaXRpZ2F0ZXMgdGhlIGZvbGxvd2luZyBjcml0aWNhbAoJICBnc3RfZ2xfY29udGV4dF90aHJlYWRfYWRkOiBhc3NlcnRpb24gJ2NvbnRleHQtPnByaXYtPmFjdGl2ZV90aHJlYWQgPT0gZ190aHJlYWRfc2VsZiAoKScgZmFpbGVkCgoyMDE1LTExLTE5IDExOjU1OjE5ICswMTAwICBSb21hbiBOb3dpY2tpIDxybm93aWNraUBzaW1zLnBsPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBwcm9wZXIgaW5pdGlhbGl6YXRpb24gaWYgc2NlbmUgaXMgYWxyZWFkeSBpbml0aWFsaXplZAoJICBUaGUgc2NlbmUgZ3JhcGggY2FuIGJlIGluaXRpYWxpemVkIHdoZW4gdGhlIHdlIHJlY2VpdmUgd2luZG93IGhhbmRsZSBjaGFuZ2UKCSAgbm90aWZpY2F0aW9uIGFuZCBzbyB3ZSB3aWxsIG5vdCByZWNlaXZlIGEgc2NlbmVncmFwaCBpbml0aWFsaXphdGlvbgoJICBub3RpZmljYXRpb24uICBJbml0aWFsaXplIG91cnNlbGYgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MzM3CgoyMDE1LTA3LTI5IDIyOjMxOjMwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBBZGQgYmluYXJ5IHNlYXJjaCBmb3Igc3RyZWFtX3NpZHhfc2VlawoJICBBZGQgYmluYXJ5IHNlYXJjaCB0byBvcHRpbWl6ZSBpbiBzdHJlYW1fc2lkeF9zZWVrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjUzCgoyMDE1LTExLTE5IDE1OjU5OjU2ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBnc3RfbXBkcGFyc2VyX2dldF9jaHVua19ieV9pbmRleCBhbmQgZ3N0X21wZHBhcnNlcl9maW5kX3NlZ21lbnRfYnlfaW5kZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODIzMwoKMjAxNS0xMS0xOSAxNzoyNDo1MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgZG9jczogdXBkYXRlIGdzdC1sYXVuY2gtMC4xMCBsaW5lcwoJICBVcGRhdGUgcmVmZXJlbmNlcyB0byBnc3QtbGF1bmNoLTAuMTAgdG8gZ3N0LWxhdW5jaC0xLjAKCjIwMTUtMTEtMTkgMTA6MzI6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbWN2aWRlb2RlYzogbW92ZSByZWxlYXNlX291dHB1dF9idWZmZXIgaW50byB0aGUgc3luYyBtZXRhCgkgIFNvbWUgZGV2aWNlcyBvbmx5IGV2ZXIga2VlcCBvbmUgYnVmZmVyIGF2YWlsYWJsZSBpbiB0aGUgR0wgcXVldWUgcmVzdWx0aW5nIGluCgkgIG11bHRpcGxlIGNhbGxzIHRvIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciBvbmx5IGNhdXNpbmcgb25lIGZyYW1lIHRvIGJlIHJlbmRlcmVkLgoJICBJZiB0aGVyZSBpcyBhIHF1ZXVlIGFmdGVyIGFtY3ZpZGVvZGVjIChldmVuIHBsYXlzaW5rJ3Mgc21hbGwgb25lKSwgdGhlbgoJICBtdWx0aXBsZSBidWZmZXJzIGFyZSBwdXNoZWQgYnV0IG9ubHkgYSBzbWFsbCBmcmFjdGlvbiBvZiB0aGVtIGFyZSBhY3R1YWxseQoJICByZW5kZXJlZCBvbiB0aW1lLiAgVGhlIHJlc3Qgd2lsbCBlaXRoZXIgcmVuZGVyIHNvbWUgbnVtYmVyIG9mIGZyYW1lcyBhaGVhZCBvZgoJICB3aGVyZSB0aGV5IGFyZSBtZWFudCB0byBiZSBvciB0aW1lb3V0IHdhaXRpbmcgZm9yIGEgZnJhbWUgdGhhdCdzIGFscmVhZHkgYmVlbgoJICByZW5kZXJlZC4KCSAgU29sdmVkIGJ5IG1vdmluZyB0aGUgcmVsZWFzZV9vdXRwdXRfYnVmZmVyIGludG8gdGhlIHN5bmNfbWV0YSB0aGUgaXMgcHVzaGVkCgkgIGRvd25zdHJlYW0uICBXaGVuIGRvd25zdHJlYW0gcmVuZGVycywgdGhlIGN1c3RvbSBzeW5jIGltcGxlbWVudGF0aW9uIGF0dGVtcHRzCgkgIHRvIHJlbGVhc2UgdGhlIGN1cnJlbnQgYnVmZmVyIChpZiBub3QgYWxyZWFkeSByZWxlYXNlZCkgYW5kIHJlbmRlci4gT25jZSB0aGUKCSAgZnJhbWUgaGFzIGJlZW4gcmVuZGVyZWQgdG8gdGhlIHNjcmVlbiwgdGhlIG5leHQgZnJhbWUgaXMgcmVsZWFzZWQgYW5kIGlzCgkgIGhvcGVmdWxseSBhdmFpbGFibGUgYnkgdGhlIHRpbWUgdGhlIG5leHQgZnJhbWUgaXMgdG8gYmUgcmVuZGVyZWQuCgkgIFRoaXMgZml4ZXMgYSBwZXJjZWl2ZWQgZnJhbWUgaml0dGVyIGluIHRoZSBvdXRwdXQuCgoyMDE1LTExLTE3IDE1OjIzOjE3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBSZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgkgIGdfZnJlZSgpIGlzIE5VTEwtc2FmZQoKMjAxNS0xMS0xMSAxNjoxMToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IEFsc28gYWxsb3cgJy8nIGluIFJlcHJlc2VudGF0aW9uSUQKCSAgVXNlZCBieSBodHRwOi8vd3d3LmJvay5uZXQvZGFzaC90ZWFyc19vZl9zdGVlbC9jbGVhcnRleHQvc3RyZWFtLm1wZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTAzCgoyMDE1LTEwLTI2IDE2OjI0OjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL21haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvd2luZG93LnVpOgoJICB0ZXN0cy9leGFtcGxlczogYWRkIGEgd2F5bGFuZHNpbmsgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzIyCgoyMDE1LTExLTE4IDEyOjU2OjA2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IGNhbGwgZ3N0X3ZpZGVvX3NpbmtfY2VudGVyX3JlY3Qgd2l0aCBhIGRlc3RpbmF0aW9uIHJlY3RhbmdsZSB0aGF0IHN0YXJ0cyBmcm9tICgwLDApCgkgIFRoZSBpbnRlbnRpb24gb2YgdGhpcyBjb2RlIGlzIHRvIGZpbmQgdGhlIGNlbnRlciByZWN0YW5nbGUgcmVsYXRpdmUKCSAgdG8gKDAsMCksIHNpbmNlIHN1YnN1cmZhY2UgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQKCSAgc3VyZmFjZS4KCSAgVGhlIG9sZCBjb2RlIHVzZWQgdG8gd29yayBidXQgd2FzIHdyb25nIGFuZCBicm9rZW4gYnkKCSAgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlL2NvbW1pdC9nc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9zaW5rLmM/aWQ9ZmY1N2Y2OTEzNDU2ZWMxOTkxZTU1NTE3Y2YxZjIzOWU4MGVlZGRlZgoKMjAxNS0xMS0xNiAxNzoyNTozNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gZ3N0X21wZF9jbGllbnRfZ2V0X2xhc3RfZnJhZ21lbnRfdGltZXN0YW1wX2VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTg4CgoyMDE1LTExLTE2IDE3OjI1OjIxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIGdzdF9tcGRfY2xpZW50X2dldF9sYXN0X2ZyYWdtZW50X3RpbWVzdGFtcF9lbmQKCSAgVGhlIHRpbWVzdGFtcCBmb3IgbGFzdCBmcmFnbWVudCBpcyBpbmNvcnJlY3RseSByZXRyaWV2ZWQgaWYgc2VnbWVudCB0ZW1wbGF0ZXMKCSAgYXJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxODgKCjIwMTUtMTEtMTcgMTY6MjE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBEb24ndCByZXF1aXJlIGEgbm9uLXplcm8gYnVmZmVyIHNpemUgd2hlbiBkb2luZyBkZWNvZGluZyB0byBhIHN1cmZhY2UKCSAgQXQgbGVhc3Qgb24gc29tZSBkZXZpY2VzL0FuZHJvaWQgdmVyc2lvbnMgdGhlIGJ1ZmZlciBzaXplIHdpbGwgYWx3YXlzIGJlIHplcm8KCSAgaW4gdGhlc2UgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyMjgKCjIwMTUtMTEtMTcgMTc6MTc6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgZ3N0Z2xpbWFnZXNpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9nbGltYWdlX3Npbmtfb25fZHJhdyc6CgkgIGdzdGdsaW1hZ2VzaW5rLmM6MTk1OToxODogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnc3luY19tZXRhJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCgkgIEdzdEdMU3luY01ldGEgKnN5bmNfbWV0YSA9IE5VTEw7CgkgIF4KCjIwMTUtMTEtMTcgMTc6MDk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBTdHJpbmcgbGl0ZXJhbHMgYXJlIGNvbnN0CgkgIGdzdGdsdmlld2NvbnZlcnQuYzogSW4gZnVuY3Rpb24gJ19tYW5nbGVfZXh0ZW5zaW9ucyc6CgkgIGdzdGdsdmlld2NvbnZlcnQuYzoxNTExOjEzOiBlcnJvcjogYXNzaWdubWVudCBkaXNjYXJkcyAnY29uc3QnIHF1YWxpZmllciBmcm9tIHBvaW50ZXIgdGFyZ2V0IHR5cGUgWy1XZXJyb3I9ZGlzY2FyZGVkLXF1YWxpZmllcnNdCgkgIGV4dF9zdHIgPSAiI2V4dGVuc2lvbiBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsIDogcmVxdWlyZVxuIjsKCSAgXgoKMjAxNS0xMS0xNyAxNzowODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IEFjdHVhbGx5IHJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBtZXRhIGZyb20gZ3N0X2J1ZmZlcl9hZGRfZ2xfc3luY19tZXRhKCkKCSAgZ3N0Z2xzeW5jbWV0YS5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9saWJnc3RnbF8xLjBfbGEtZ3N0Z2xzeW5jbWV0YS5vCgkgIGdzdGdsc3luY21ldGEuYzogSW4gZnVuY3Rpb24gJ2dzdF9idWZmZXJfYWRkX2dsX3N5bmNfbWV0YSc6CgkgIGdzdGdsc3luY21ldGEuYzoxMzE6MTogZXJyb3I6IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1XZXJyb3I9cmV0dXJuLXR5cGVdCgkgIH0KCSAgXgoKMjAxNS0xMS0xNyAxNjoyMToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNS0xMS0xNyAxNjowODoxNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IG5lZ290aWF0aW9uIG1vcmUKCSAgWWVhciAxMjogSSBzdGlsbCBkb24ndCB1bmRlcnN0YW5kIGhvdyBuZWdvdGlhdGlvbiB3b3Jrcy4KCSAgQXBwYXJlbnRseSBnc3RfcGFkX3F1ZXJ5X2NhcHMgZG9lc24ndCBkbyB3aGF0IEkgdGhvdWdodCBpdCBkaWQuIFRvIGdldCB0aGUKCSAgYWN0dWFsIGNhcHMgdGhhdCBjYW4gZmxvdyB0aHJvdWdoIHZ0ZGVjOnNyYyB3ZSBtdXN0IGNhbGwgZ3N0X3BhZF9wZWVyX3F1ZXJ5X2NhcHMKCSAgd2l0aCB0aGUgdGVtcGxhdGUgY2FwcyBhcyBmaWx0ZXIuCgkgIEZpeGVzIG5lZ290aWF0aW9uIHdpdGggc3R1ZmYgdGhhdCBkb2Vzbid0IHVuZGVyc3RhbmQgR0xNZW1vcnkgKGhlbGxvIHZpZGVvc2NhbGUpLgoKMjAxNS0xMS0xNyAxNjoxNDoxMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogbWlub3IgdGV4dHVyZSBjYWNoZSBmaXhlcwoJICBTbWFsbCBmaXggb24gaG93IHRoZSB0ZXh0dXJlIGNhY2hlIGlzIGNsZWFuZWQgdXAgLyBzZXR1cCBpbiBjYXNlIG9mIHJlbmVnb3RpYXRpb24KCjIwMTUtMTEtMTcgMTY6MTM6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb3RleHR1cmVjYWNoZTogc3RvcCBjb25maWd1cmluZyBjYWNoZS0+Y29udmVydCBvdmVyIGFuZCBvdmVyCgoyMDE1LTExLTE2IDE1OjQ2OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgZ2xpbWFnZXNpbms6IHdhaXQgb24gdGhlIGNvcnJlY3Qgc3luYyBtZXRhIHdoZW4gcmVuZGVyaW5nCgoyMDE1LTExLTAzIDEzOjE5OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYzJkdGV4dHVyZXJlbmRlcmVyLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFtY3ZpZGRlYzogb3V0cHV0IGV4dGVybmFsLW9lcyB0ZXh0dXJlcwoJICBUaGlzIHByb3ZpZGVzIGEgcGVyZm9ybWFuY2UgYW5kIHBvd2VyIHVzYWdlIGltcHJvdmVtZW50IGJ5IHJlbW92aW5nCgkgIHRoZSB0ZXh0dXJlIGNvcHkgZnJvbSBhbiBPRVMgdGV4dHVyZSB0byAyRCB0ZXh0dXJlLgoJICBUaGUgZmxvdyBpcyBhcyBmb2xsb3dzCgkgIDEuIEdlbmVyYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHdpdGggdGhlIHJlcXVpcmVkIHN5bmMgbWV0YSB3aXRoIHRoZSBpbmNyZW1lbnRpbmcKCSAgcHVzaCBjb3VudGVyIGFuZCBPRVMgR0wgbWVtb3J5CgkgIDEuMSByZWxlYXNlX291dHB1dF9idWZmZXIgKGJ1ZiwgcmVuZGVyPXRydWUpIGFuZCBwdXNoIGRvd25zdHJlYW0KCSAgMi4gRG93bnN0cmVhbSB3YWl0cyBmb3Igb24gdGhlIHN5bmMgbWV0YSAodGltZWQgd2FpdCkgb3IgZHJvcHMgdGhlIGZyYW1lIChubyB3YWl0KQoJICAyLjEgVGltZWQgd2FpdCBmb3IgdGhlIGZyYW1lIG51bWJlciB0byByZWFjaCB0aGUgbnVtYmVyIG9mIGZyYW1lIGNhbGxiYWNrcyBmaXJlZAoJICAyLjIgVW5jb25kaXRpb25hbGx5IHVwZGF0ZSB0aGUgaW1hZ2Ugd2hlbiB0aGUgd2FpdCBjb21wbGV0ZXMgKHN1Y2Nlc3Mgb3IgZmFpbCkuCgkgIFNldHMgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggbWV0YSBvbiB0aGUgYnVmZmVyLgoJICAzLiBEb3duc3RyZWFtIHJlbmRlcnMgYXMgdXN1YWwuCgkgIEF0ICpzb21lKiBwb2ludCB0aHJvdWdoIHRoaXMgdGhlIG9uX2ZyYW1lX2NhbGxiYWNrIG1heSBvciBtYXkgbm90IGZpcmUuICBJZiBpdAoJICBkb2VzIGZpcmUsIHdlIGNhbiBmaW5pc2ggd2FpdGluZyBlYXJseSBhbmQgcmVuZGVyLiBPdGhlcndpc2Ugd2UgaGF2ZSB0bwoJICB3YWl0IGZvciBhIHRpbWVvdXQgdG8gb2NjdXIgd2hpY2ggbWF5IGNhdXNlIG1vcmUgYnVmZmVycyB0byBiZSBwdXNlZCBpbnRvIHRoZQoJICBpbnRlcm5hbCBHTCBxdWV1ZSB3aGljaCBzaWdpbmlmaWNhbnRseSBkZWNyZWFzZXMgdGhlIGNoYW5jZXMgb2YgdGhlCgkgIG9uX2ZyYW1lX2NhbGxiYWNrIHRvIGZpcmUgYWdhaW4uICBUaGlzIGlzIGJlY2F1c2UgdGhlIGZyYW1lIGNhbGxiYWNrIG9ubHkgb2NjdXJzCgkgIHdoZW4gdGhlIGludGVybmFsIEdMIHF1ZXVlIGNoYW5nZXMgc3RhdGUgZnJvbSBlbXB0eSB0byBub24tZW1wdHkuCgkgIEJlY2F1c2UgdGhlcmUgaXMgbm8gd2F5IHRvIHJlbGlhYmx5IGNvcnJlbGF0ZSBiZXR3ZWVuIHRoZSBudW1iZXIgb2YgYnVmZmVycwoJICBwdXNoZWQgYW5kIHRoZSBudW1iZXIgb2YgZnJhbWUgY2FsbGJhY2tzIHJlY2VpdmVkLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YKCSAgd29ya2Fyb3VuZHMgaW4gcGxhY2UuCgkgIDEuIFdlIHNlbGYtaW5jcmVtZW50IHRoZSByZWFkeSBjb3VudGVyIHdoZW4gaXQgZmFsbHMgYmVoaW5kIHRoZSBwdXNoIGNvdW50ZXIKCSAgMi4gVGltZSBiYXNlZCB3YWl0cyBhcyB0aGUgZnJhbWUgY2FsbGJhY2sgbWF5IG5vdCBiZSBmaXJlZCBmb3IgYSBjZXJ0YWluIGZyYW1lLgoJICAzLiBJdCBpcyBhc3N1bWVkIHRoYXQgdGhlIGRldmljZSBjYW4gcmVuZGVyIGF0IHNwZWVkIG9yIHBlcmZvcm1zIHNvbWUgUW9TIG9mCgkgIHRoZSBpbnRlcmFsIEdMIHF1ZXVlICh3aGljaCBtYXkgbm90IG1hdGNoIHRoZSBHU3RyZWFtZXIgUW9TKS4KCSAgSXQgaG9sZHMgdGhhdCB3ZSBjYWxsIFN1cmZhY2VUZXh0dXJlOjp1cGRhdGVUZXhJbWFnZSBmb3IgZWFjaCBidWZmZXIgcHVzaGVkCgkgIGRvd25zdHJlYW0gaG93ZXZlciB0aGVyZSdzIG5vIGd1YXJlbnRlZSB0aGF0IHVwZGF0ZVRleEltYWdlIHdpbGwgcmVzdWx0IGluCgkgIHRoZSBleGFjdCBuZXh0IGZyYW1lIChpdCBjb3VsZCBza2lwIG9yIGR1cGxpY2F0ZSkgc28gc3luY2hyb25pemF0aW9uIGlzIG5vdAoJICBndWFyYW50ZWVkIHRvIGJlIGFjY3VyYXRlIGFsdGhvdWdoIGl0IHNlZW1zIHRvIGJlIGNsb3NlIGVub3VnaCB0byBiZSB1bmFibGUKCSAgdG8gZGlzY2VybiB2aXN1YWxseS4gIFRoaXMgaGFzIG5vdCBjaGFuZ2VkIGZyb20gYmVmb3JlIHRoaXMgcGF0Y2guICBUaGUgY3VycmVudAoJICByZXF1aXJlbWVudCBmb3Igc3luY2hyb25pemF0aW9uIGlzIHRoYXQgdXBkYXRlVGV4SW1hZ2UgaXMgY2FsbGVkIGF0IHRoZSBwb2ludCBpbgoJICB0aW1lIHdoZW4gdGhlIGJ1ZmZlcnMgaXMgdG8gYmUgcmVuZGVyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyODUKCjIwMTUtMTEtMDIgMTc6NTc6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsc3luY21ldGE6IGFkZCB2ZnVuY3MgZm9yIGFsbCBvcGVyYXRpb25zCgkgIHRoZXJlIGNvdWxkIGJlIG90aGVyIHdheXMvcmVxdWlyZW1lbnRzIGZvciBzeW5jaHJvbmlzaW5nIHR3byBHUFUgY29tbWFuZAoJICBzdHJlYW1zICh3aGV0aGVyIEdMIG9yIHBsYXRmb3JtIHNwZWNpZmljKS4KCSAgZS5nLiBnbGZlbmNlc3luYy9lZ2x3YWl0bmF0aXZlL2NvbmQvZXRjCgoyMDE1LTExLTEwIDE1OjM3OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBhZGQgc3VwcG9ydCBmb3IgcmVuZGVyaW5nIGV4dGVybmFsLW9lcyB0ZXh0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Mjg1CgoyMDE1LTExLTEwIDE0OjU0OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbHZpZXdjb252ZXJ0OiBhZGQgc3VwcG9ydCByZWN0YW5nbGUvZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyODUKCjIwMTUtMTEtMTcgMTU6MTg6MjggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBzZXR0aW5nIGludGVybmFsIFNLSVAgLyBEUk9QIGZsYWdzCgoyMDE1LTExLTE3IDA5OjA4OjUyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXggc3RydWN0dXJlIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyMDUKCjIwMTUtMTEtMTYgMjE6NTI6MDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFkZCBzdXBwb3J0IGZvciBidWZmZXJsaXN0cwoKMjAxNS0xMS0xNyAxMToyMToyNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogaW1wcm92ZSBuZWdvdGlhdGlvbgoJICBSZXdvcmsgbmVnb3RpYXRpb24gaW1wbGVtZW50aW5nIEdzdFZpZGVvRGVjb2Rlcjo6bmVnb3RpYXRlLiBNYWtlIGl0IHBvc3NpYmxlIHRvCgkgIHN3aXRjaCB0ZXh0dXJlIHNoYXJpbmcgb24gYW5kIG9mZiBhdCBydW50aW1lLiBVc2VmdWwgdG8gKGV2ZW50dWFsbHkpIHR1cm4KCSAgdGV4dHVyZSBzaGFyaW5nIG9uIGluIHBpcGVsaW5lcyB3aGVyZSBnbGltYWdlc2luayBpcyBsaW5rZWQgb25seSBhZnRlcgoJICBkZWNvZGluZyBoYXMgYWxyZWFkeSBzdGFydGVkIChmb3IgZXhhbXBsZSBPV1IpLgoKMjAxNS0xMS0xNyAxMToxOTo1NyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogaW1wcm92ZSBoYW5kaW5nIG9mIGRlY29kZSBlcnJvcnMvZnJhbWUgZHJvcHMKCSAgSW1wcm92ZSBkZWNvZGUgZXJyb3IgaGFuZGxpbmcgYnkgYXZvaWRpbmcgY2FsbGluZyBpbnRvIEdzdFZpZGVvRGVjb2RlciBmcm9tIHRoZQoJICBWVCBkZWNvZGUgY2FsbGJhY2suIFRoaXMgcmVtb3ZlcyBjb250ZW50aW9uIG9uIHRoZSBHU1RfVklERU9fREVDT0RFUl9TVFJFQU1fTE9DSwoJICB3aGljaCB1c2VkIHRvIG1ha2UgdGhlIGRlY29kZSBjYWxsYmFjayBzbG93IGVub3VnaCBmb3IgVlQgdG8gc3RhcnQgZHJvcHBpbmcgbG90cwoJICBvZiBmcmFtZXMgb25jZSB0aGUgZmlyc3QgZnJhbWUgd2FzIGRyb3BwZWQuCgoyMDE1LTExLTE3IDExOjIyOjE1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgoyMDE1LTExLTE0IDIwOjIxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIG5vdy1kZWZ1bmN0ICJudW0tbG9va2JhY2stZnJhZ21lbnRzIiBwcm9wZXJ0eQoJICBUaGlzIG5vIGxvbmdlciBkb2VzIGFueXRoaW5nLCBhbmQgaXQgd2FzIG1hcmtlZCBhcyBDT05TVFJVQ1RfT05MWQoJICB3aGljaCBtZWFucyBzb21lb25lIHdvdWxkIHJlYWxseSBoYXZlIHRvIGdvIG91dCBvZiB0aGVpciB3YXkgdG8KCSAgYmUgYWJsZSB0byBzZXQgdGhpcywgd2hpY2ggd291bGQgb25seSBiZSBkb25lIGluIHZlcnkgY3VzdG9tCgkgIHNjZW5hcmlvcywgaWYgZXZlciwgYW5kIHRob3NlIHdpbGwgbGlrZWx5IHRhcmdldCBhIHNwZWNpZmljCgkgIHZlcnNpb24gb2YgR1N0cmVhbWVyIHRoZW4sIHNvIHByb2JhYmx5IG5vdCBtdWNoIHBvaW50IGtlZXBpbmcKCSAgaXQgZGVwcmVjYXRlZCBmb3IgYSB3aGlsZSBiZWZvcmUgcmVtb3ZpbmcgaXQuCgoyMDE1LTExLTEzIDE3OjE0OjE0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBbHdheXMgZ2l2ZSBhIHZhbGlkIHJlcGx5IHRvIGludGVybmFsIGNhcHMgcXVlcmllcwoJICBDYXBzIHF1ZXJpZXMgY2FuIGFsd2F5cyBoYXZlIGEgdmFsaWQgcmVwbHksIGVpdGhlciB0aGUgZmlsdGVyIG9yIEFOWS4KCSAgSWYgdGhlIGNhcHMgYXJlIEFOWSwgdGhlbiBhY2NlcHQtY2FwcyBhbHdheXMgcmV0dXJucyBUUlVFLgoKMjAxNS0xMS0xMiAxNjozNToxMiArMDEwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2VjdGlvbl9kYXRhIGxlYWsKCSAgSWYgcGFja2V0LT5wYXlsb2FkX3VuaXRfc3RhcnRfaW5kaWNhdG9yIGlzIHRydWUgYW5kIHBvaW50ZXIgMCwgdGhlcmUgaXMgbm8KCSAgZGlzY29udGludWl0eSBjaGVjay4gVGhlcmVmb3JlIHRoZXJlIGNvdWxkIGJlIGEgcHJldmlvdXMgc2VjdGlvbiBub3QgY29tcGxldGUKCSAgdGhhdCBuZWVkIHRvIGJlIGNsZWFyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMTAKCjIwMTUtMTEtMTMgMTA6NDE6NTggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJICBnbHNsOiBmaXggcG9zc2libGUgc3RyaW5nIG92ZXJydW4gaW4gZ3N0X2dsc2xfdmVyc2lvbl9wcm9maWxlX2Zyb21fc3RyaW5nCgkgIGdpdmVuIGEgTlVMTC10ZXJtaW5hdGVkIHN0cmluZywgcy4KCSAgc1tpXSA9ICdcMCc7CgkgIGkrKzsKCSAgZG9lcyBub3QgZ3VhcmVudGVlIHRoYXQgc1tpXSBpcyBOVUxMIHRlcm1pbmF0ZWQgYW5kIHRodXMgc3RyaW5nIG9wZXJhdGlvbnMKCSAgY291bGQgcmVhZCBvZmYgdGhlIGVuZCBvZiB0aGUgYXJyYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTMgMTY6NTA6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogZG9uJ3QgcmVhZCBpbnZhbGlkIGxpc3QgcG9pbnRlcnMgKHVzZSBhZnRlciBmcmVlKQoJICBnc3RfZ2xfc2hhZGVyX2RldGFjaF91bmxvY2tlZCBhbHJlYWR5IHJlbW92ZXMgdGhlIGxpc3QgZW50cnkgc28gYXR0ZW1wdGluZyB0bwoJICB1c2UgdGhlIGVsZW1lbnQgdG8gaXRlcmF0ZSB0byB0aGUgbmV4dCBzdGFnZSBjb3VsZCByZWFkIGludmFsaWQgZGF0YS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxMDo0NDoyNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xzbC5jOgoJICB0ZXN0czpnbHNsOiB2ZXJzaW9uX3Byb2ZpbGVfcyBzdHJpbmcgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDEwOjU2OjEwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSAgZ2xzbDogZnJlZSBzdHIgd2hpbGUgcmV0dXJuaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTMgMTE6MDQ6MzQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOmdsdXBsb2FkOiBmaXggY2FwcyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEyIDEyOjIxOjU0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBhdm9pZCBwb3RlbnRpYWwgb3ZlcmZsb3cgZXhwcmVzc2lvbgoJICBUaGUgcmVzdWx0IG9mIHRoZSB0d28gZXhwcmVzc2lvbnMgd2lsbCBiZSBwcm9tb3RlZCB0byBndWludDY0IGFueXdheSwKCSAgcGVyZm9ybSBhbGwgdGhlIGFyaXRobWV0aWMgaW4gNjQgYml0cyB0byBhdm9pZCBwb3RlbnRpYWwgb3ZlcmZsb3dzLgoJICBDSUQgMTMzODY5MCwgQ0lEIDEzMzg2OTEKCjIwMTUtMTEtMTIgMTI6MDA6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgbWVtb3J5IGxlYWsKCSAgVGhlIHZhbHVlcyBvZiBjaGFubmVsX21hcHBpbmcgYXJlIGNvcGllZCBieSBnc3RfY29kZWNfdXRpbHNfb3B1c19jcmVhdGVfY2FwcyAoKQoJICBidXQgaXQgZG9lc24ndCBmcmVlIG9yIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBnX25ldzAgYWxsb2NhdGVkIG1lbW9yeS4gVGhpcwoJICBuZWVkcyB0byBiZSBmcmVlZCBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlLgoJICBDSUQgMTMzODY5MgoKMjAxNS0xMS0xMiAxMTo0MjozNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGJ1ZmZlciBjaGVjawoJICBidWYgc3VyZWx5IGlzbid0IE5VTEwgaW5zaWRlIHRoZSBibG9jayBjb25kaXRpb25hbCB0byBhIGJ1ZmZlciBzaXplIGJpZ2dlcgoJICB0aGFuIChHX01BWFVJTlQxNiAtIDMpLiBQbHVzIGdzdF9idWZmZXJfdW5yZWYoKSBjaGVja3MgaWYgdGhlIGJ1ZmZlciBpcwoJICBOVUxMIGFuZCBkb2VzIG5vdGhpbmcgaWYgaXQgaXMuCgkgIENJRCAxMzM4NjkzCgoyMDE1LTExLTEyIDExOjIzOjMxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogaW5pdGlhbGl6ZSBzYW1wbGUgcmF0ZSB0byBhIGRlZmF1bHQKCSAgc2FtcGxlX3JhdGUgbWlnaHQgYmUgdXNlZCB1bmluaXRpYWxpemVkIGlmICFzaW5rX2NhcHMgaXMgVFJVRS4gSW5pdGlhbGl6ZQoJICBpdCB0byB0aGUgZGVmYXVsdCB1c2VkIGluIGdzdF9jb2RlY191dGlsc19vcHVzX3BhcnNlX2NhcHMgKCkgd2hlbiB0aGVyZSBpcwoJICBubyByYXRlIGRlZmluZWQgaW4gdGhlIGNhcHMuCgkgIENJRCAxMzM4Njk1CgoyMDE1LTExLTEyIDE2OjM2OjAzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IEZpeCB2ZXJ0ZXhfc291cmNlcyBtZW1vcnkgbGVhawoJICB2ZXJ0ZXhfc291cmNlcyBpcyBiZWluZyBhbGxvY2F0ZWQgYnV0IG5vdCBmcmVlZCByZXN1bHRpbmcgaW4gbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTc0CgoyMDE1LTExLTEyIDE2OjI2OjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiByZW1vdmUgdW5uZWNlc3NhcnkgZnJlZQoJICB2ZXJzaW9uX3N0ciBpcyBhbHJlYWR5IGJlaW5nIGZyZWVkLiBTbyBubyBuZWVkIHRvIGNhbGwgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMiAxNjoxODozNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IHN0cmluZyBsZWFrCgkgIFN0cmluZyBnb3QgdXNpbmcgZ3N0X2dsc2xfdmVyc2lvbl9wcm9maWxlX3RvX3N0cmluZywgaXMgYWxsb2NhdGVkCgkgIG1lbW9yeSBhbmQgc2hvdWxkIGJlIGZyZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTIgMTY6MDI6NDUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBmcmFnX3Byb2cgYW5kIGZyYWdfYm9keSBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTc0CgoyMDE1LTExLTExIDE2OjUxOjIzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4ZWQgaGFuZGxpbmcgZXJyb3JzIGVtaXR0ZWQgYnkgdXJpIGhhbmRsZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk0NwoKMjAxNS0xMS0xMCAxNjozMjozNyArMDEwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwZW5kaW5nIGJ1ZmZlcnMgbGVhayB3aGVuIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTUKCjIwMTUtMDYtMTAgMTQ6MTg6MDAgKzAyMDAgIEV0aWVubmUgUGVyb24gPGV0aWVubmUucGVyb25AcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBwYWQgbGVhayB3aGVuIHRoZSBwYWQgaXMgbmV2ZXIgZXhwb3NlZAoJICBJZiB0c2RlbXV4IG5ldmVyIHJlY2VpdmVzIGRhdGEgZm9yIGEgc3RyZWFtLCB0aGUgY29ycmVzcG9uZGluZyBwYWQgd2lsbCBuZXZlcgoJICBiZSBhZGRlZCBhbmQgc3RyZWFtLT5hY3RpdmUgd2lsbCByZW1haW4gRkFMU0UuIFdoZW4gdGhlIHN0cmVhbSBpcyByZW1vdmVkLCB0aGUKCSAgcGFkIHdpbGwgbm90IGJlIHVucmVmZmVkIGFuZCB3aWxsIGJlIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg3MwoKMjAxNS0xMS0wOSAxNzo0NToyOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBGaXggdGhlIHdyb25nIHdpZHRoICYgaGVpZ2h0IHBhcnNpbmcgb2YgdnA5IGJpdHN0cmVhbQoJICBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBmb3IgZGV0ZWN0aW5nIHRoZSByZXNvbHV0aW9uIGNoYW5nZXMKCSAgb24ga2V5IGZyYW1lcyBpcyBiYXNlZCBvbiB2cDggYml0c3RyZWFtIGFsaWdubWVudC4gQXZvaWQgdGhpcwoJICB3aWR0aCBhbmQgaGVpZ2h0IHBhcnNpbmcgZm9yIHZwOSBiaXRzdHJlYW0sIHdoaWNoIHJlcXVpcmVzIHByb3BlcgoJICBmcmFtZSBoZWFkZXIgcGFyc2luZyBpbm9yZGVyIHRvIGRldGVjdCB0aGUgcmVzb2x1dGlvbiBjaGFuZ2UgKEZpeG1lKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzgyNQoKMjAxNS0xMS0xMSAxMTo0MDo1MiArMDEwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogU2V0IHByb2ZpbGVfbGV2ZWwgdG8gTlVMTCBhZnRlciByZWxlYXNlCgkgIE90aGVyd2lzZSwgZ3N0X3Z0ZW5jX25lZ290aWF0ZV9wcm9maWxlX2FuZF9sZXZlbCB3aWxsIGRvdWJsZS1yZWxlYXNlIGFzCgkgIGl0IGNoZWNrcyBmb3IgcHJvZmlsZV9sZXZlbCAhPSBOVUxMLiBUaGlzIGNhdXNlZCBjcmFzaGVzIHdoZW4gdGhlCgkgIHZ0ZW5jIGluc3RhbmNlIGlzIHN0b3BwZWQgYW5kIHRoZW4gcmVzdGFydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTM1CgoyMDE1LTExLTExIDIzOjM5OjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IG1hbmdsZSBnbF9GcmFnQ29sb3IgZm9yIEdMMwoJICBTb21lIGRyaXZlcnMgZG9uJ3QgcHJvdmlkZSB0aGUgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIGFuZCB3ZSBuZWVkIHRvIHByb3ZpZGUKCSAgb3VyIG93biAnb3V0IHZlYzQnIHZhcmlhYmxlIHRvIHB1dCB0aGUgcmVzdWx0cyBvZiB0aGUgZnJhZ21lbnQgc2hhZGVyIGludG8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MzgKCjIwMTUtMTEtMTEgMTY6MDY6MjUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIHRlc3RzOmdsY29sb3Jjb252ZXJ0OiBGaXggY2FwcyBtZW1vcnkgbGVhawoJICBPdXRwdXQgY2FwcyBiZWluZyBnb3QgZnJvbSB2aWRlbyBpbmZvIGlzIG5vdCBnZXR0aW5nIGZyZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MjkKCjIwMTUtMTEtMTAgMTc6NTg6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHByb3ZpZGUgb3VyIG93biBkZWZpbml0aW9uIG9mIGxvZzIoKQoJICBUaGUgbG9nMiBmdW5jdGlvbi9tYWNybyBkb2Vzbid0IGV4aXN0IHdoZW4gdGFyZ2V0dGluZyBhbmRyb2lkIEFQSSA8IDE4IChvciBNU1ZDCgkgIDwgMjAxMykgd2hlcmVhcyBvdXIgY3VycmVudCBiYXNlbGluZSBpcyBBUEkgOS4KCjIwMTUtMTEtMTAgMTM6NTI6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsdmlld2NvbnZlcnQ6IHJlbW92ZSBzZXRfZm9ybWF0CgkgIFdlIG5lZWQgdGhlIGNhcHMgdG8gYmUgYWJsZSB0bwoJICAxLiBjaGVjayB0aGUgY2FwcyBmZWF0dXJlcwoJICAyLiBnZXQgdGhlIHJlcXVlc3RlZCB0ZXh0dXJlLXRhcmdldCBvbiBpbnB1dC9vdXRwdXQKCjIwMTUtMTEtMTEgMTA6MzE6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IGEgbWVtb3J5IGxlYWsgaWYgdGhlIHZpZXcgY29udmVyc2lvbiBmYWlscwoKMjAxNS0xMS0xMSAxMzozNzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBiYWxhbmNlIHRoZSBjcmVhdGlvbi9kZXN0cnVjdGlvbiBvZiB0aGUgb3ZlcmxheSBjb21wb3NpdG9yCgkgIEZpeGVzIHNvbWUgbGVha3MvcG9zc2libGUgc2VnZmF1bHQgb24gd2hlbiBmYWlsaW5nIHRvIGNyZWF0ZSB0aGUgY29tcG9zaXRvci4KCjIwMTUtMTEtMTEgMTI6MjM6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHNoYWRlcjogcHJvcGVybHkgdW5yZWYgdGhlIHN0YWdlcyBvbiBmYWlsdXJlCgkgIFdoZW4gZmFpbGluZyBpbiB0aGUgdmFyYXJncyBmdW5jdGlvbnMsIGFsbCB0aGUgc3RhZ2Ugb2JqZWN0cyBub3QgaGFuZGxlZCBuZWVkIHRvCgkgIGJlIHVucmVmZmVkIHRvIHByZXZlbnQgYSBsZWFrLgoKMjAxNS0xMS0xMSAxMToyOTozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IHByb3Blcmx5IHJldHVybiBhbiBlcnJvciB3aGVuIHdlIGNvdWxkIG5vdCBjcmVhdGUgdGhlIHNoYWRlciBzdGFnZQoJICBXaGlsZSBpdCB3YXMgZXJyb3Jpbmcgb3V0IGNvcnJlY3RseSBsYXRlciwgdGhlcmUgd2VyZSBHTGliIHdhcm5pbmdzIGFib3V0CgkgIHNldHRpbmcgYSBHRXJyb3Igb3ZlciB0aGUgdG9wIG9mIGFub3RoZXIgR0Vycm9yLgoKMjAxNS0xMS0xMSAwMTowNToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5jOgoJICBnbHNoYWRlcnN0cmluZ3M6IGZpeHVwIHRoZSBleHRlcm5hbC1vZXMgZnJhZ21lbnQgc2hhZGVyCgkgIFRoZSB3cm9uZyBzYW1wbGVyIHR5cGUgd2FzIHVzZWQKCSAgcy9zYW1wbGVyMkRFeHRlcm5hbE9FUy9zYW1wbGVyRXh0ZXJuYWxPRVMvCgoyMDE1LTExLTEwIDIzOjQxOjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHRyeSB0byBrZWVwIHRoZSBzYW1lIHRleHR1cmUtdGFyZ2V0IGlmIHBvc3NpYmxlCgkgIEZpeGVzIGlzc3VlcyBhdHRlbXB0aW5nIHRvIHBhc3N0aHJvdWdoIGV4dGVybmFsLW9lcyB0ZXh0dXJlcwoKMjAxNS0xMS0xMCAyMjo0MTo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggcmVuZGVyaW5nIHJlY3Rhbmd1bGFyIHRleHR1cmVzIHdpdGggR0wzCgkgIFJlY3Rhbmd1bGFyIHRleHR1cmVzIGFyZSB1bmF2YWlsYWJsZSBpbiB1bmV4dGVuZGVkCgkgIEdMRVMyICN2ZXJzaW9uIDEwMCBzaGFkZXJzLgoJICBGaXhlcwoJICB0ZXh0dXJlLXRhcmdldD1yZWN0YW5nbGUgISBnbGNvbG9yY29udmVydCAhIHRleHR1cmUtdGFyZ2V0PTJECgkgIFRoZXJlJ3MgYSBjb3VwbGUgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBHTDMgYW5kIEdMRVMyL0dMCgkgIC0gdmFyeWluZyAtPiBpbiBvciBvdXQgZGVwZW5kaW5nIG9uIHRoZSBzdGFnZSAodmVydGV4L2ZyYWdtZW50KQoJICAtIGF0dHJpYnV0ZSAtPiBpbgoJICAtIGZpbHRlcmVkIHRleHR1cmUgYWNjZXNzIGlzIGEgc2luZ2xlIGZ1bmN0aW9uLCB0ZXh0dXJlKCkKCjIwMTUtMTEtMTAgMjA6MjA6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcHJvcGVybHkgdXNlIHRoZSBvdGhlciB0ZXh0dXJlLXRhcmdldCBvbiBmaXhhdGlvbgoKMjAxNS0xMS0xMCAyMDoxNTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGFkZCBkZWJ1ZyBhcyB0byB3aHkgX3NldF9zdHJpbmdzKCkgZmFpbGVkCgoyMDE1LTExLTEwIDIwOjEzOjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJICBnbHNsOiBmaXggY2hlY2sgZm9yIGdsc2wgdmVyc2lvbiBhZ2FpbnN0IEdMIGNvbnRleHQgaW52ZXJzaW9uCgkgIEFueSBHTFNMIHZlcnNpb24gdGhhdCB3YXMgbGVzcyB0aGFuIHRoZSBwcm92aWRlZCBHTCB2ZXJzaW9uIHdvdWxkIGZhaWwKCjIwMTUtMTEtMTAgMTA6MDI6MzggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBwYWQgbWVtb3J5IGxlYWsuCgkgIFRoZSBzdGF0aWMgcGFkcyBnb3QgZnJvbSBxdWV1ZSBhbmQgdXJpX2hhbmRsZXIgYXJlIG5vdCBiZWluZyBmcmVlZAoJICByZXN1bHRpbmcgaW4gbWVtb3J5IGxlYWtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODU5CgoyMDE1LTExLTEwIDEzOjEzOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZW51bXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsOiBmb3J3YXJkIGRlY2xhcmUgc29tZSBlbnVtcwoJICBTcGVjaWZpY2FsbHkgdGhlIEdzdEdMVGV4dHVyZVRhcmdldCBlbnVtCgoyMDE1LTExLTEwIDEzOjExOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGV4cG9zZSB0aGUgZGVmYXVsdCBzaGFkZXIgc3RyaW5ncyBhcyBwdWJsaWMKCSAgQWRkIHNvbWUgb3RoZXIgc2ltcGxlIHN0cmluZ3MgZm9yIGV4dGVybmFsLW9lcyB0ZXh0dXJlcyBvciB0cmFuc2Zvcm1pbmcKCSAgdGhlIHRleHR1cmUgY29vcmRpbmF0ZXMgd2l0aCBhIHRyYW5zZm9ybWF0aW9uIG1hdHJpeAoKMjAxNS0xMS0wNiAwMzowNTozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB3YWl0IG9uIHRoZSBzeW5jIG1ldGEgZm9yIGlucHV0IGJ1ZmZlcnMKCjIwMTUtMTEtMDUgMDA6MTM6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogd2FpdCBvbiB0aGUgcHJvdmlkZWQgc3luYyBtZXRhIHByb3ZpZGVkIHRvIGdsaW1hZ2VzaW5rCgoyMDE1LTExLTA4IDIyOjE0OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHVzZSB0aGUgY29ycmVjdCBvZXMgdGFyZ2V0IHN0cmluZyBpbiB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxNS0xMS0xMCAxMjozMjozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgZ3RrOiBhZGQgdGhlIG92ZXJsYXljb21wb3NpdGlvbiBmZWF0dXJlIHRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgkgIFRoZXJlIGlzIGEgcG9zc2liaWxpdHkgdGhhdCB0aGUgX2dldF9jYXBzIGltcGwgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUKCSAgZmVhdHVyZSBpbiB0aGUgZmlsdGVyIGNhcHMgd2hpY2ggd2hlbiBpbnRlcmVjdGluZyB3aXRoIHRoZSB0ZW1wbGF0ZSwKCSAgd2lsbCByZXR1cm4gRU1QVFkgYW5kIHRoZXJlZm9yZSBmYWlsIG5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODU0CgoyMDE1LTExLTEwIDE0OjIxOjMzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBmaXggdnRkZWMgdGV4dHVyZSBzaGFyaW5nIG9uIGlvcyA5LjEKCSAgVXNlIGdzdF9nbF9zaXplZF9nbF9mb3JtYXRfZnJvbV9nbF9mb3JtYXRfdHlwZSB0byBnZXQgdGhlIGZvcm1hdCBwYXNzZWQgdG8KCSAgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZUNyZWF0ZVRleHR1cmVGcm9tSW1hZ2UuIEJlZm9yZSB0aGlzIGNoYW5nZSBleHRyYWN0aW5nIHRoZQoJICBzZWNvbmQgdGV4dHVyZSBmcm9tIHRoZSBwaXhlbCBidWZmZXIgd2FzIGZhaWxpbmcgb24gaW9zIDkuMS4KCjIwMTUtMTEtMDYgMTc6MjQ6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogYWRkIGEgZnJhbWVyYXRlIHRvIHRlc3QgY2FwcwoJICBUaGUgcGFkIHRlbXBsYXRlIHJlcXVpcmVzIGEgZnJhbWVyYXRlLCBzbyB1c2UgaXQgdG8gcHJldmVudAoJICBjYXBzIG5lZ290aWF0aW9uIGZhaWx1cmVzLgoJICBGaXhlcyB0aGUgdW5pdCB0ZXN0CgoyMDE1LTExLTA2IDIwOjM4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IHVwZGF0ZSAuZ2l0aWdub3JlIGZvciBuZXcgdGVzdCBiaW5hcmllcwoKMjAxNS0xMS0wNiAxOToyNjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgb24gc2Vla3MKCSAgSXQncyBmb3IgdGhlIHVwc3RyZWFtIGVsZW1lbnQgZHJpdmluZyB0aGUgcGlwZWxpbmUgdG8KCSAgaGFuZGxlIHNlZWtzIGFuZCBzZW5kIGZsdXNoIGV2ZW50cyBvciBub3QsIGZpbHRlcnMKCSAgc2hvdWxkIG5vdCBpbnRlcmZlcmUgaGVyZSwgb3RoZXJ3aXNlIGRvd25zdHJlYW0gcGFkcwoJICBjb3VsZCBiZSBmbHVzaGluZyBiZWZvcmUgdXBzdHJlYW0gcGFkcyBhcmUgZmx1c2hpbmcsCgkgIHdoaWNoIGNhbiByZXN1bHQgaW4gR1NUX0ZMT1dfRVJST1IgYmVpbmcgc2VudCBpbnN0ZWFkCgkgIG9mIEdTVF9GTE9XX0ZMVVNISU5HIHdoZW4gdHJ5aW5nIHRvIGZvcndhcmQgc3RpY2t5CgkgIGV2ZW50cyBhdCBqdXN0IHRoZSB3cm9uZyBtb21lbnQuCgoyMDE1LTExLTA2IDE2OjE2OjMyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cwoJICBJdCBpcyB1cCB0byB0aGUgZWxlbWVudCBoYW5kbGluZyB0aGUgc2VlayB0byBzZW5kIGZsdXNoIGV2ZW50cwoJICBkb3duc3RyZWFtLCBvdGhlcndpc2Ugd2UgZW5kIHVwIHdpdGggYSBzaXR1YXRpb24gd2hlcmUgdXBzdHJlYW0KCSAgd291bGQgZ2V0IHVuZXhwZWN0ZWQgR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTUtMTEtMDYgMTk6MjM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkgIEZpeCBjb2RlIGluZGVudGF0aW9uCgoyMDE1LTEwLTIyIDEzOjQwOjM2ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiB1c2Ugc3RyZWFtIHRpbWUgZm9yIHRpbWVzdGFtcAoJICBUaGUgT252aWYgU3RyZWFtaW5nIFNwZWNpZmljYXRpb24gc3BlY2lmaWVzIHRoYXQgdGhlIE5UUCB0aW1lc3RhbXBzCgkgIGluIHRoZSBPbnZpZiBleHRlbnNpb24gaGVhZGVyIGluZGljYWVzIHRoZSBhYnNvbHV0ZSBVVEMgdGltZSBhc3NvY2lhdGVkCgkgIHdpdGggdGhlIGFjY2VzcyB1bml0LiBCdXQgYnkgdXNpbmcgcnVubmluZyB0aW1lIHdlIGNhbiBub3QgYWNoaWV2ZSB0aGF0LAoJICBzaW5jZSBhIGZyYW1lJ3MgcnVubmluZyB0aW1lIGRlcGVuZHMgb24gdGhlIHBsYXllZCBpbnRlcnZhbCwgd2hldGhlciBhCgkgIG5vbi1mbHVzaGluZyBpcyBkb25lLCBldGMuIEluc3RlYWQgd2UgaGF2ZSB0byB1c2UgdGhlIHN0cmVhbSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTExLTA2IDA5OjQ0OjU3ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IFVwZGF0ZSBudHAtb2Zmc2V0IGFuZCBkL2UtYml0cyB3aXRoIGEgR3N0RXZlbnQKCSAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVwZGF0ZSB0aGUgY3VycmVudGx5IHVzZWQgbnRwLW9mZnNldCB3aXRoIGEKCSAgY3VzdG9tIHNlcmlhbGl6ZWQgZG93bnN0cmVhbSBldmVudC4gVGhlIGVsZW1lbnQgd2lsbCByZWFkIHRoZSBudHAtb2Zmc2V0CgkgIHByb3BlcnR5IHdoZW4gZG9pbmcgdGhlIHN0YXRlIHRyYW5zaXRpb24gZnJvbSBSRUFEWSB0byBQQVVTRUQgYW5kCgkgIHVzZSB0aGF0IG9mZnNldCB1bnRpbCBpdCByZWNlaXZlcyBhICJHc3ROdHBPZmZzZXQiIGV2ZW50LCB3aGljaCBhbHNvCgkgIGhhcyBhICJudHAtb2Zmc2V0IiBhdHRyaWJ1dGUgaW4gdGhhdCBpdCdzIHN0cnVjdHVyZS4gSW4gY2FzZSB0aGUKCSAgcHJvcGVydHkgaXMgbm90IHNldCBhbmQgbm8gZXZlbnQgaGFzIGJlZW4gcmVjZWl2ZWQsIHRoZSBlbGVtZW50IHdpbGwKCSAgZ3Vlc3MgdGhlIG5wdC1vZmZzZXQgd2l0aCBoZWxwIG9mIHRoZSBjbG9jay4gSWYgbm8gY2xvY2sgY2FuIGJlCgkgIHJldHJpZXZlZCwgdGhlIGVsZW1lbnQgd2lsbCBlcnJvciBvdXQgYW5kIHN0b3AgdGhlIGRhdGEgZmxvdy4KCSAgVGhlIHNhbWUgZXZlbnQgaXMgYWxzbyB1c2VkIGZvciB1cGRhdGluZyB0aGUgRC9FLWJpdHMgaW4gdGhlIFJUUAoJICBleHRlbnNpb24gaGVhZGVyLiBUaGUgZGlzY29udCBmbGFnIGluIGEgYnVmZmVyIGNhbiBiZSBzZXQgd2hlbnZlciBhCgkgIGxpdmUvbmV0d29yayBzb3VyY2UgbG9vc2VzIGEgZnJhbWUsIGJ1dCB0aGF0IGlzIG5vdCB0aGUgdHlwZSBvZgoJICBkaXNjb250aW51aXR5IHRoYXQgdGhlIG9udmlmIGV4dGVuc2lvbiBoZWFkZXIgc2hvdWxkIHJlZmxlY3QuIFRoZQoJICBoZWFkZXIgaXMgbWFpbmx5IHVzZWQgZm9yIHBsYXliYWNrIG9mIGEgdHJhY2sgY29uY2VwdCwgaW4gd2hpY2gKCSAgZ2FwcyBjYW4gYmUgcHJlc2VudCwgYW5kIGl0J3MgdGhvc2Uga2luZCBvZiBnYXBzIHRoYXQgc2hvdWxkIGJlCgkgIGhpZ2hsaWdodGVkIHdpdGggdGhlIEQtIGFuZCBFLWJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2ODgKCjIwMTUtMTEtMDYgMDk6NDQ6MTYgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogRG8gbm90IHJlYXJhbmdlIG9yZGVyIG9mIGRhdGEKCSAgSWYgYSBidWZmZXIgb3IgYSBidWZmZXIgbGlzdCBpcyBjYWNoZWQsIG5vIGV2ZW50cyBzZXJpYWxpemVkIHdpdGggdGhlCgkgIGRhdGEgc3RyZWFtIHNob3VsZCBnZXQgdGhyb3VnaC4gVGhlIGNhY2hlZCBidWZmZXJzIGFuZCBldmVudHMgc2hvdWxkCgkgIGJlIHB1cmdlZCB3aGVuIHdlIHN0b3AgZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2ODgKCjIwMTUtMTAtMTMgMTQ6MjE6NDcgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZjogc3BsaXQgdW5pdCB0ZXN0cyBpbiBzZXZlcmFsIGZpbGVzCgkgIFNwbGl0IHRoZSB1bml0IHRlc3RzIGZvciBydHBvbnZpZnRpbWVzdGFtcCBhbmQgcnRwb252aWZwYXJzZQoJICBlbGVtZW50cyBpbiBzZXBhcmF0ZSBmaWxlcy4KCSAgU2V0dXAgYW5kIGNsZWFudXAgdGhlIGVsZW1lbnQgYW5kIHBhZHMgaW4gZml4dXJlcy4gTWFrZSB0aGUgdGVzdHMgd29yawoJICB3aXRoIENLX0ZPUks9bm8gYXMgd2VsbCwgYnkgY2xlYW5pbmcgdXAgdGhlICdidWZmZXJzJyBsaXN0IHdoZW4gbmVlZGVkLgoJICBNYWtlIHVuaXQgdGVzdHMgd29yayB3aGVuIHJ1biBpbiB2YWxncmluZCBieSB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMsCgkgIGFuZCBieSBub3QgYWxsb2NhdGluZyBhbnkgcGF5bG9hZCBpbiBSVFAgYnVmZmVycy4gU2luY2Ugd2UncmUgbm90CgkgIGRvaW5nIGFueXRoaW5nIHdpdGggdGhlIHBheWxvYWQgcGFydCwgYnV0IHdlJ3JlIG1lbWNtcC1hcmluZyB0aGUKCSAgY29tcGxldGUgYnVmZmVyIG1lbW9yeSwgdmFsZ3JpbmQgY29tcGxhaW5lZCBhYm91dCBub24taW5pdGlhbGl6ZWQKCSAgbWVtb3J5IGJlaW5nIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2ODgKCjIwMTUtMDktMDQgMDk6NTk6MDYgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogaW1wcm92ZWQgYml0cmF0ZSBlc3RpbWF0aW9ucwoJICBCaXRyYXRlIGVzdGltYXRpb24gaXMgbm93IGhhbmRsZWQgdGhyb3VnaCBhIHF1ZXVlMiBlbGVtZW50IGFkZGVkIGFmdGVyCgkgIHRoZSBzb3VyY2UgZWxlbWVudCB1c2VkIHRvIGRvd25sb2FkIGZyYWdtZW50cy4KCSAgT3JpZ2luYWwgaGxzZGVtdXggcGF0Y2ggYnkgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk1OQoKMjAxNS0xMS0wNiAxMjo1OTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvdzogZml4IEdMaXN0IGxlYWsKCSAgX3JlbW92ZV9saW5rKCkgd291bGQgbm90IGZyZWUgdGhlIGFjdHVhbCBsaXN0IG5vZGVzLgoKMjAxNS0xMS0wNiAxMjozMTowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgZ2xzaGFkZXIsIHRzZGVtdXg6IHNpbXBsaWZ5IGNvZGUKCSAgSnVzIHVzZSBfZGVsZXRlX2xpbmsoKSBpbnN0ZWFkIG9mIF9yZW1vdmVfbGluaygpICsgX2ZyZWUxKCkKCjIwMTUtMTEtMDYgMTI6MzA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJICBnbG1peGVyYmluOiBmaXggbWlub3IgbGVhawoJICBEb24ndCBsZWFrIHJlbW92ZWQgbGlzdCBub2RlLgoKMjAxNS0xMS0wNiAxMDoyMjo0MiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IHNvb24gZW5vdWdoCgkgIEF2b2lkaW5nIGFzc2VydGlvbnMKCjIwMTUtMTEtMDUgMTA6MTI6NDEgKzAwMDAgIEp1bGlhbiBCb3V6YXMgPGp1bGlhbi5ib3V6YXNAdmNhdGVjaG5vbG9neS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkZWQgLS13aXRoLWhscy1jcnlwdG89YXV0b3xuZXR0bGV8bGliZ2NyeXB0fG9wZW5zc2wgb3B0aW9uIHRvIGJ1aWxkIHRoZSBzb3VyY2UgdXNpbmcgdGhlIGRlc2lyZWQgY3J5cHRvZ3JhcGhpYyBsaWJyYXJ5IGZvciBITFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMxOQoKMjAxNS0xMS0wNiAwMDo0ODo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IG0zdTg6IGRvbid0IGxlYWsgR0xpc3Qgbm9kZXMgd2hlbiBtYXRjaGluZyB1cCB2YXJpYW50IGxpc3RzIGFmdGVyIG1hc3RlciBsaXN0IHVwZGF0ZQoKMjAxNS0xMS0wNSAxMjozNjo0OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogdXNlIEdTVF9TVElNRV9GT1JNQVQgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWUgb2YgZGVhZGxpbmUsIEdTVF9TVElNRV9GT1JNQVQgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTA1IDEyOjE3OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiB1c2UgR1NUX1NUSU1FX0ZPUk1BVCBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIHVzZSBHX0dJTlQ2NF9GT1JNQVQgZm9yIHBvdGVudGlhbGx5IG5lZ2F0aXZlIHZhbHVlcyBvZgoJICBHc3RDbG9ja1RpbWVEaWZmLiBTaW5jZSAxLjYgdGhlc2UgY2FuIGJlIGhhbmRsZWQgd2l0aCBHU1RfU1RJTUVfRk9STUFULgoJICBQbHVzIGl0IGNyZWF0ZXMgbW9yZSByZWFkYWJsZSB2YWx1ZXMgaW4gdGhlIGxvZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc0ODAKCjIwMTUtMTEtMDUgMTI6MTE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFVwZGF0ZSBzaW5rIHBhZCB0ZW1wbGF0ZXMKCSAgV2UgYWx3YXlzIHJlcXVpcmUgdGhlIGNoYW5uZWwtbWFwcGluZy1maWVsZC4gSWYgaXQncyAwIHdlIHJlcXVpcmUgbm90aGluZwoJICBlbHNlLCBvdGhlcndpc2Ugd2UgbmVlZCBjaGFubmVscywgc3RyZWFtLWNvdW50IGFuZCBjb3VwbGVkIGNvdW50IHRvIGJlCgkgIGF2YWlsYWJsZS4KCjIwMTUtMTEtMDMgMTk6MDk6MzMgLTA4MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRvbid0IGNvbXBhcmUgdGVtcGwgaW5zdGFuY2UgcG9pbnRlcnMKCSAgT25lIGNhbiBwYXNzIHRoZSBQYWRUZW1wbGF0ZSBmcm9tIHRoZSBlbGVtZW50X2NsYXNzIG9yIHRoZSBvbmUgZnJvbSB0aGUgZmFjdG9yeS4KCSAgV2hpbGUgdGhleSBoYXZlIHRoZSBzYW1lIGNvbnRlbnQsIHRoZSBhZGRyZXNzZXMgYXJlIGRpZmZlcmVudC4KCjIwMTUtMTEtMDQgMDA6MTI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IFJlbW92ZSBpbnZhbGlkIHVuaXQgdGVzdAoJICBPcHVzIGhlYWRlcnMgc2hvdWxkIG5ldmVyIGJlIGluLWJhbmQsIHNvIGRvbid0IHRlc3QgZm9yIGNvcnJlY3QKCSAgaGFuZGxpbmcgb2YgdGhhdC4KCjIwMTUtMTEtMDQgMDA6MTI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IENyZWF0ZSBhbiBlbXB0eSB0YWdsaXN0IGlmIHRoZXJlIGlzIG5vbmUKCSAgVGhlcmUgYWx3YXlzIGhhdmUgdG8gYmUgMiBidWZmZXJzIGluIHRoZSBzdHJlYW1oZWFkZXJzLCBldmVuIGlmCgkgIHRoZSBjb21tZW50IGJ1ZmZlciBpcyBiYXNpY2FsbHkgZW1wdHkuCgoyMDE1LTExLTAzIDE0OjQxOjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTZXQgdG8gcnVubmluZyBpbiBhIHNpbmdsZSBwbGFjZQoJICBPbmx5IHNldCB0byBydW5uaW5nIHdoZW4gdGhlIHRocmVhZCBpcyBhY3R1YWxseSBzdGFydGVkLgoKMjAxNS0xMS0wMyAxNDozNzoyNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbW9yZSBsb2NraW5nCgoyMDE1LTExLTAzIDE5OjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgY3JlYXRlIGFuIGluY29tcGxldGUgT3B1c0hlYWQgYnV0IHNldCBhbGwgdGhlIG90aGVyIGNhcHMgZmllbGRzIGluc3RlYWQKCSAgT3B1c0hlYWQgaXMgb3B0aW9uYWwsIHRoZSBvdGhlciBmaWVsZHMgYXJlIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxOTo1MTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBTaW1wbGlmeSBPcHVzIGNhcHMgcGFyc2luZyBieSB1c2luZyBjb2RlY3V0aWxzIGhlbHBlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxNDo1MDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIG11bHRpY2hhbm5lbCBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDExOjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzcGFyc2U6IEZpeCB1cCBwcmUtc2tpcCBpbiBPcHVzSGVhZCBpZiB1cHN0cmVhbSB1c2luZyBHc3RBdWRpb0NsaXBwaW5nTWV0YQoJICBNYWtlcyB0cmFuc211eGluZyBmcm9tIGUuZy4gTVBFRy1UUyB0byBPZ2cgc2FtcGxlIGFjY3VyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTExLTAyIDE4OjAyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9vcHVzLmM6CgkgIHRzZGVtdXgvbXV4OiBBZGQgc3VwcG9ydCBmb3IgR3N0QXVkaW9DbGlwcGluZ01ldGEgZm9yIE9wdXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxNzozMzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogSGFuZGxlIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhIGluc3RlYWQgb2YgdGhlIHByZS1za2lwIGZpZWxkIGluIHRoZSBPcHVzSGVhZAoJICBvZ2dkZW11eCBpcyBvdXRwdXR0aW5nIHRoZSBtZXRhIG5vdywgYW5kIG9ubHkgb3V0cHV0cyBpZiBpdCBzaG91bGQgcmVhbGx5CgkgIGFwcGx5IHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4gUHJldmlvdXNseSB3ZSB3b3VsZCBza2lwIE4gc2FtcGxlcyBhbHNvIGlmIHdlCgkgIHN0YXJ0ZWQgdGhlIGRlY29kZXIgaW4gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTExLTAyIDE2OjUyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBBZGQgR3N0QXVkaW9DbGlwcGluZ01ldGEgdG8gYnVmZmVycyB0aGF0IG5lZWQgdG8gYmUgY2xpcHBlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTExLTAyIDEwOjMwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBEaXNhYmxlIGdyYW51bGUgcG9zaXRpb24gY2FsY3VsYXRpb25zIGJ5IHRoZSBiYXNlIGNsYXNzCgkgIEl0IGlzIGRvaW5nIHRoZSB3cm9uZyB0aGluZyBiZWNhdXNlIG9mIHRoZSBPcHVzIHByZS1za2lwOiB3aGlsZSB0aGUgdGltZXN0YW1wcwoJICBhcmUgc2hpZnRlZCBieSB0aGUgcHJlLXNraXAsIHRoZSBncmFudWxlIHBvc2l0aW9ucyBhcmUgbm90IHNoaWZ0ZWQuCgkgIG9nZ211eCBpcyBkb2luZyB0aGUgcmlnaHQgdGhpbmcgaGVyZSBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTEwLTMxIDE1OjAyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBBZGQgc29tZSBGSVhNRSBjb21tZW50cyBhYm91dCBjYWxjdWxhdGluZyBwYWRkaW5nIHdpdGggTFBDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMzAgMjA6NTc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogRW5jb2RlIGV4YWN0bHkgdGhlIGFtb3VudCBvZiBzYW1wbGVzIHdlIGdvdCBhcyBpbnB1dCBhbmQgcHV0IGNvcnJlY3QgdGltZXN0YW1wcyBvbiBpdAoJICBUaGUgZmlyc3QgZnJhbWUgaGFzIGxvb2thaGVhZCBsZXNzIHNhbXBsZXMsIHRoZSBsYXN0IGZyYW1lIG1pZ2h0IGhhdmUgc29tZQoJICBwYWRkaW5nIG9yIHdlIG1pZ2h0IGhhdmUgdG8gZW5jb2RlIGFub3RoZXIgZnJhbWUgb2Ygc2lsZW5jZSB0byBnZXQgYWxsIG91cgoJICBpbnB1dCBpbnRvIHRoZSBlbmNvZGVkIGRhdGEuCgkgIFRoaXMgaXMgYmVjYXVzZSBvZiBhKSB0aGUgbG9va2FoZWFkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVuY29kaW5nLCB3aGljaAoJICBzaGlmdHMgYWxsIGRhdGEgYnkgdGhhdCBhbW91bnQgb2Ygc2FtcGxlcyBhbmQgYikgdGhlIHBhZGRpbmcgbmVlZGVkIHRvIGZpbGwKCSAgdGhlIHZlcnkgbGFzdCBmcmFtZSBjb21wbGV0ZWx5LgoJICBJZGVhbGx5IHdlIHdvdWxkIHVzZSBMUEMgdG8gY2FsY3VsYXRlIHNvbWV0aGluZyBiZXR0ZXIgdGhhbiBzaWxlbmNlIGZvciB0aGUKCSAgcGFkZGluZyB0byBtYWtlIHRoZSBlbmNvZGluZyBhcyBzbW9vdGggYXMgcG9zc2libGUuCgkgIFdpdGggdGhpcyB3ZSBnZXQgZXhhY3RseSB0aGUgc2FtZSBhbW91bnQgb2Ygc2FtcGxlcyBhZ2FpbiBpbiBhbgoJICBvcHVzZW5jICEgb3B1c2RlYyBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0zMCAyMDo0NzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzZW5jOiBQdXQgbG9va2FoZWFkL3ByZS1za2lwIGludG8gdGhlIE9wdXNIZWFkIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTEwLTI1IDE3OjI3OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfb3B1cy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9vcHVzLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICB0c211eDogQWRkIHN1cHBvcnQgZm9yIE9wdXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNCAxNDoyNzo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBPcHVzCgkgIENvZGUgcGFydGlhbGx5IGJhc2VkIG9uCgkgIGh0dHBzOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0O2g9NzQxNDFmNjkzZGVkMmZiZjc1YWY1NmZmZjMwOWQyZGIzNTE4MzYzNQoJICBhbmQgYmFzZWQgb24gdGhlIHNwZWMgZHJhZnQgYXQKCSAgaHR0cHM6Ly93aWtpLnhpcGgub3JnL09wdXNUUwoJICBNYWtlcyBpdCBwb3NzaWJsZSB0byBkZW11eAoJICBodHRwOi8vd3d3Lm9iZS50di9Eb3dubG9hZHMvb3B1cy50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTEwLTI1IDE5OjMxOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IERvbid0IGxlYWsgYnVmZmVyIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjUgMTk6Mjk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogQ2FsbCBwcmVwYXJlIGZ1bmN0aW9uIGZvciBlYWNoIGNvbGxlY3RlZCBidWZmZXIKCSAgTm90IHdoZW4gY2xpcHBpbmcgYnVmZmVycywgYXMgdGhhdCBkb2Vzbid0IGhhcHBlbiBmb3IgZXZlcnkgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTEwLTI1IDE4OjA5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHNkZXNjcmlwdG9yOiBBZGQgQVBJIGZvciBjcmVhdGluZyBleHRlbmRlZCBkZXNjcmlwdG9ycyBhbmQgZml4IHdyaXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTExLTAyIDIxOjE2OjE1IC0wODAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBjYXN0IHBhcmFtc3BlYyBmbGFncyB0byBmaXggdGhlIGJ1aWxkIGZvciBjKysKCSAgQWxsIHRoZSBvdGhlciBlbGVtZW50cyBpbiB0aGlzIHBsdWdpbiBkbyB0aGlzIGFscmVhZHkuCgoyMDE1LTExLTAzIDE1OjA1OjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byB1c2UgR19HSU5UNjRfRk9STUFUIGZvciBwb3RlbnRpYWxseSBuZWdhdGl2ZSB2YWx1ZXMgb2YKCSAgR3N0Q2xvY2tUaW1lRGlmZi4gU2luY2UgMS42IHRoZXNlIGNhbiBiZSBoYW5kbGVkIHdpdGggR1NUX1NUSU1FX0FSR1MuCgkgIFBsdXMgaXQgY3JlYXRlcyBtb3JlIHJlYWRhYmxlIHZhbHVlcyBpbiB0aGUgbG9ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ4MAoKMjAxNS0xMS0wMyAxNTowMDowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZSBvZiBkZWFkbGluZSwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAzIDEwOjQyOjQwICswMDAwICBIeXVuaWwgUGFyayA8aHl1bmlsNDYucGFya0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgZXhjZXB0aW9uIGNvZGUgZm9yIHNldHRpbmcgd2xfc3VyZmFjZQoJICBXYXlsYW5kc2luayBuZWVkcyBleGNlcHRpb24gY29kZSBpbiBnc3Rfd2F5bGFuZF9zaW5rX3NldF93aW5kb3dfaGFuZGxlKCkuCgkgIEFmdGVyIG1ha2luZyBzaW5rLT53aW5kb3csIFVzZXIgY2FuIGNhbGwKCSAgZ3N0X3dheWxhbmRfc2lua19zZXRfd2luZG93X2hhbmRsZSgpLiBJdCBpcyB0aGUgdXNlcidzIGZhdWx0LCBidXQKCSAgV2F5bGFuZHNpbmsgbmVlZHMgdG8gaGFuZGxlIHRoZSBleGNlcHRpb24sIGlmIG5vdCB0aGVuIHNpbmstPndpbmRvdyBpcwoJICBjaGFuZ2VkIGFuZCByZW5kZXJpbmcgZmFpbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc0ODIKCjIwMTUtMDQtMDkgMTM6MTc6MDEgKzA5MDAgIEh5dW5pbCBQYXJrIDxoeXVuaWw0Ni5wYXJrQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEFkZCBleGNlcHRpb24gY29kZSBmb3Igc2V0dGluZyB3bF9kaXNwbGF5CgkgIFdheWxhbmRzaW5rIG5lZWRzIGV4Y2VwdGlvbiBjb2RlIGluIGdzdF93YXlsYW5kX3Npbmtfc2V0X2NvbnRleHQoKS4gQWZ0ZXIKCSAgY2FsbGluZyBnc3Rfd2F5bGFuZF9zaW5rX3NldF9jb250ZXh0KCksIGJlbG93IGNvZGUgaXMgc2V0LgoJICBHU1RfRUxFTUVOVF9DTEFTUyAocGFyZW50X2NsYXNzKS0+c2V0X2NvbnRleHQgKGVsZW1lbnQsIGNvbnRleHQpOyBidXQsIElmCgkgIHVzZXIgY2FuIGNhbGwgb25lbW9yZS4gSXQgaXMgdXNlcidzIGZhdWx0LiBidXQgd2F5bGFuZHNpbmsgbmVlZCB0bwoJICBleGNlcHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc0ODIKCjIwMTUtMTEtMDIgMjA6MTA6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEhvbGQgb2JqZWN0IGxvY2sgd2hpbGUgbWFuaXB1bGF0aW5nIHRoZSBzZWdtZW50CgkgIE1ha2Ugc3VyZSB0aGUgb2JqZWN0IGxvY2sgaXMgaGVsZCB3aGVuIGFnZ3JlZ2F0b3ItPnNlZ21lbnQgaXMKCSAgbW9kaWZpZWQuCgoyMDE1LTExLTAyIDE5OjQwOjI4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogSW1wcm92ZSBsb2cgbWVzc2FnZXMKCSAgTWFrZSB0aGUgbGV2ZWwgb2YgbG9nIG1lc3NhZ2VzIHNhbmVyIGFuZCBpbXByb3ZlIHNvbWUuCgoyMDE1LTExLTAyIDE5OjA1OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW1vdmUgZGVhZCBjb2RlCgkgIFRoaXMgY29kZSB3aWxsIG5ldmVyIGJlIGNhbGxlZCBhcyBtYXg+PW1pbiBpbiBhbGwgY2FzZXMuIElmIHRoZSB1cHN0cmVhbQoJICBsYXRlbmN5IHF1ZXJ5IHJldHVybmVkIG1pbj5tYXgsIHRoZSBmdW5jdGlvbiBhbHJlYWR5IHJldHVybmVkIGFuZCBhbGwKCSAgdmFsdWVzIHRoYXQgYXJlIGFkZGVkIHRvIHRob3NlIGhhdmUgbWF4Pj0gbWluLgoKMjAxNS0xMS0wMiAxNzowMjo0NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBiZXN0LT5kdHMgaW4KCSAgR1NUX0RFQlVHX09CSkVDVC4gVXNlIEdTVF9TVElNRV9BUkdTIGZvciB0aGlzLgoKMjAxNS0xMS0wMiAxNjo1ODo1NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMiAxMToxNzoyOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW5yZWFjaGFibGUgY29kZQoJICBUaGUgc3RyZWFtLT5jdXJfc2VnX3RlbXBsYXRlIGlzIHNldCB0byB0aGUgbG93ZXN0IGF2YWlsYWJsZSBzZWdtZW50CgkgIHRlbXBsYXRlIChyZXByZXNlbnRhdGlvbiBvciBhZGFwdGF0aW9uIG9yIHBlcmlvZCwgaW4gdGhpcyBvcmRlcikuCgkgIEJlY2F1c2UgdGhlIHRlbXBsYXRlIGVsZW1lbnRzIGFyZSBpbmhlcml0ZWQsIHRoZSBsb3dlc3QgdGVtcGxhdGUgd2lsbAoJICBoYXZlIGFsbCB0aGUgZWxlbWVudHMgdGhlIHBhcmVudHMgaGFkLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIHRoZQoJICBwYXJlbnQgZm9yIGFuIGVsZW1lbnQgdGhhdCBpcyBub3QgZm91bmQgaW4gdGhlIGNoaWxkIChlZyBpbml0aWFsaXNhdGlvbgoJICBvciBpbmRleCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3MTQKCjIwMTUtMTEtMDIgMTA6NDg6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIE1QRCBmaWxlIGR1cmF0aW9uIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMzNgoKMjAxNS0xMS0wMiAxMDoyNTozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBhZGQgc29tZSBjaGVja3MgdG8gZHVyYXRpb24gcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzM2CgoyMDE1LTA5LTI5IDA5OjMyOjAyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZGVkIGR1cmF0aW9uIGZvcm1hdCB2YWxpZGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMzYKCjIwMTUtMTEtMDIgMTE6MjE6MTQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggbWVtb3J5IGxlYWsKCSAgRnJlZSBuZXdfbXBkLCBhbGxvY2F0ZWQgd2l0aCBnX3NsaWNlX25ldygpLCBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlIGluCgkgIGdvdG8gZXJyb3IuCgkgIENJRCAxMzM4MDUwCgoyMDE1LTExLTAyIDIwOjE0OjExICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIFJldmVydCAidnRlbmM6IGZyZWUgaW5wdXQgYnVmZmVyIEFTQVAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjEwMWZjNTdiOGFmYWM0ZjRlNGFhNzQyODkyZjBkOWM5OWQzOGE4Yy4KCSAgR3N0VmlkZW9FbmNvZGVyIGFzc3VtZXMgdGhhdCB0aGUgaW5wdXQgYnVmZmVyIGlzIGF2YWlsYWJsZSB1bnRpbCBfZmluaXNoX2ZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2OTUxCgoyMDE1LTExLTAxIDIzOjM0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBBc3N1bWUgNDhrSHogaWYgbm8gc2FtcGxlIHJhdGUgaXMgZ2l2ZW4gaW4gdGhlIGhlYWRlcgoKMjAxNS0xMC0zMCAyMDo1OTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogUGxhY2UgNDhrSHogZmlyc3QgaW4gdGhlIGNhcHMKCSAgRm9yIGFsbCB0aGUgb3RoZXIgc2FtcGxlIHJhdGVzIHRoZSBlbmNvZGVyIHdpbGwgaGF2ZSB0byByZXNhbXBsZSBpbnRlcm5hbGx5LgoKMjAxNS0xMS0wMiAxMjoxMDo0NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnc3RnbHV0aWxzOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIG9uIE1vdW50YWluIExpb24KCSAgTWFrZSBnc3RfZ2xfY29udGV4dF9nZW5fc2hhZGVyL19jb21waWxlX3NoYWRlciBhc3N1bWUgR1NUX0dMU0xfUFJPRklMRV9FUyB8CgkgIEdTVF9HTFNMX1BST0ZJTEVfQ09NUEFUSUJJTElUWSBhcyB0aGUgcHJvZmlsZS4gV2l0aG91dCB0aGlzLCB0aGUgc2hhZGVyIGNvbXBpbGVyCgkgIGRvZXNuJ3QgaW5qZWN0IHRoZSAjdmVyc2lvbiB0YWcgcmVzdWx0aW5nIGluIGEgY29tcGlsYXRpb24gZXJyb3Igb24gTW91bnRhaW4KCSAgTGlvbi4KCSAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIG9sZCBjb2RlIHVzaW5nIGdzdF9nbF9jb250ZXh0X2dlbl9zaGFkZXIuIE5ldyBjb2RlCgkgIHNob3VsZCB1c2UgdGhlIGdzdF9nbHNsX3N0YWdlXyogQVBJIGRpcmVjdGx5IHdoaWNoIGFsbG93cyB0aGUgY2FsbGVyIHRvCgkgIGV4cGxpY2l0bHkgc3BlY2lmeSB2ZXJzaW9uL3Byb2ZpbGUuCgoyMDE1LTEwLTMxIDE4OjQ3OjM5ICswMTAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBkb24ndCB0cnkgdG8gYWxpZ24gY3VycmVudCB0aW1lc3RhbXAgb24gcHJldmlvdXMgdGltZXN0YW1wCgkgIHRoaXMgY2F1c2VzIGZyYW1lcyB0byBiZSBkcm9wcGVkLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFNlYmFzdGlhbiBEcsO2Z2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMzNwoKMjAxNS0xMC0zMSAyMzoyODoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IGV4cGxpY2l0bHkgaW5pdGlhbGl6ZSBhIHBvc3NpYmx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCSAgVGhlIHJldCB2YXJpYWJsZSBtYXkgYmUgdW5pbml0aWFsaXplZCBhbmQgc28gaXRzIGNvbnRlbnRzIHdlcmUgdW5kZWZpbmVkIGFuZAoJICB0aGUgcmVzdWx0cyB3ZXJlIGVycmF0aWMgKGZhaWxpbmcgd2l0aCBnbHZpZGVvbWl4ZXIsIHN1Y2NlZWRpbmcgaW4gb3RoZXIgY2FzZXMpCgkgIFAuUy4gTm8gaWRlYSB3aHkgZ2NjL2NsYW5nIGV0IGFsIG5ldmVyIHBpY2tlZCB1cCBvbiB0aGlzIGxpa2UgdGhleSBub3JtYWxseSBkbwoJICAocHJvYmFibHkgZHVlIHRvIHNvbWUgb3B0aW1pc2F0aW9uIHBhc3MgZmlndXJpbmcgb3V0IGl0J3Mgb25seSBzZXQgb25jZS4uLikKCjIwMTUtMTAtMjkgMTE6Mzg6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IG1ha2UgZHVyYXRpb25zIHVuc2lnbmVkIHdoZXJlIGFwcHJvcHJpYXRlCgkgIFRoZSBzdGFuZGFyZCBkb2VzIG5vdCBzZWVtIHRvIG1ha2UgYW55IHBhcnRpY3VsYXIgZXhwbGljaXQgbm90CgkgIGltcGxpY2l0IHJlZmVyZW5jZSB0byB0aGUgc2lnbmVkbmVzcyBvZiBkdXJhdGlvbnMsIGFuZCB0aGUgY29kZQoJICBkb2VzIG5vdCByZWx5IG9uIHN1Y2gsIG5vciBvbiB0aGUgbmVnYXRpdml0eSBvZiB0aGUgLTEgdmFsdWUKCSAgdGhhdCdzIHVzZWQgYXMgYSBwbGFjZWhvbGRlciB3aGVuIGEgZHVyYXRpb24gcHJvcGVydHkgaXMgbm90CgkgIHByZXNlbnQgaW4gdGhlIFhNTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg0NwoKMjAxNS0xMC0zMCAxNTo1NToxOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBpbmhlcml0IGJpdHN0cmVhbVN3aXRjaGluZyBmcm9tIFBlcmlvZCB0byBBZGFwdGF0aW9uU2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzNDAKCjIwMTUtMDgtMjAgMTg6MTQ6MzYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbWFya2VkIFBST1BfQkFORFdJRFRIX1VTQUdFIHByb3BlcnR5IGFzIGRlcHJlY2F0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg5MAoKMjAxNS0xMC0zMCAxNTowMjozNSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHVuaXQgdGVzdGluZyByZXByb2R1Y2luZyBpbmhlcml0ZWQgc2VnbWVudCBkdXJhdGlvbiBvdmVyZmxvdwoJICB1bml0IHRlc3QgcmVwcm9kdWNpbmcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTgzMgoKMjAxNS0xMC0zMCAxNDozMToyMSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBpbmhlcml0ZWQgc2VnbWVudCBVUkxzIGFyZSBpZ25vcmVkIGlmIHRoZXkgYXJlIGRlZmluZWQgYWdhaW4gaW4gYSBsb3dlciBTZWdtZW50TGlzdAoJICBBY2NvcmRpbmcgdG8gdGhlIHN0YW5kYXJkOgoJICAiU2VnbWVudEJhc2UsIFNlZ21lbnRUZW1wbGF0ZSBhbmQgU2VnbWVudExpc3Qgc2hhbGwgaW5oZXJpdAoJICBhdHRyaWJ1dGVzIGFuZCBlbGVtZW50cyBmcm9tIHRoZSBzYW1lIGVsZW1lbnQgb24gYSBoaWdoZXIgbGV2ZWwuCgkgIElmIHRoZSBzYW1lIGF0dHJpYnV0ZSBvciBlbGVtZW50IGlzIHByZXNlbnQgb24gYm90aCBsZXZlbHMsCgkgIHRoZSBvbmUgb24gdGhlIGxvd2VyIGxldmVsIHNoYWxsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBvbmUKCSAgb24gdGhlIGhpZ2hlciBsZXZlbC4iCgkgIGdzdF9tcGRwYXJzZXJfcGFyc2Vfc2VnbWVudF9saXN0X25vZGUgd2lsbCBub3cgZGlzY2FyZCBhbnkgaW5oZXJpdGVkCgkgIHNlZ21lbnQgVVJMcyBpZiB0aGUgcGFyc2VkIGVsZW1lbnQgZGVmaW5lcyBzb21lIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTgzMgoKMjAxNS0xMC0yMCAxNzoyMTowMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgZnJhZ21lbnQgZG93bmxvYWQgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM2MQoKMjAxNS0xMC0yMCAxNTo0NjozNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBtYWRlIGFkYXB0aXZlIGRlbXV4IHRlc3QgdGhyZWFkIHNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM2MQoKMjAxNS0xMC0xNiAxNjoyMDozNCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCBxdWVyeSB0ZXN0CgkgIFRlc3RpbmcgaWYgYWRhcHRpdmUgZGVtdXggcmVzcG9uZHMgdG8gcXVlcmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM2MQoKMjAxNS0xMC0yOCAxMToyMToxNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBtdWx0aXBsZSBCYXNlVVJMIGVudHJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI0NQoKMjAxNS0wOS0xNiAxMDo0MDozMyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCB1bml0IHRlc3QgZm9yIDZkMWVkYTkzOTFkMzE0M2I1ZmM2MzNlZGZkOTRiODlkYmJhMjA5YWIKCSAgQ29tbWl0IDZkMWVkYTkzOTFkMzE0M2I1ZmM2MzNlZGZkOTRiODlkYmJhMjA5YWIgZml4ZWQgdGhlIHBlcmlvZCBzdGFydAoJICB0aW1lIHNjYWxpbmcuIFRoaXMgcGF0Y2ggdXBkYXRlcyB0aGUgdW5pdCB0ZXN0cyB0byBjb3ZlciB0aGF0IHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTA1CgoyMDE1LTEwLTE2IDE3OjEwOjExICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIGRvd25sb2FkIGVycm9yIHRlc3QKCSAgVGVzdHMgYWRhcHRpdmUgZGVtdXggYmVoYXZpb3VyIHdoZW4gdGhlIHVyaSBpcyB3cm9uZyBhbmQgZG93bmxvYWQgZG9lcwoJICBub3QgaGFwcGVuLgoKMjAxNS0xMC0zMCAxMjo0OToyMCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHN0b3AgdGFzayBvbiBtdWx0aXBsZSBkb3dubG9hZCBlcnJvcnMKCSAgT24gbXVsdGlwbGUgZG93bmxvYWQgZXJyb3JzLCB3ZSBzdG9wIHRoZSBkb3dubG9hZCB0YXNrIGFuZCBjaGFuZ2UgdGhlIHNyYwoJICBlbGVtZW50IHN0YXRlIHRvIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyNDAKCjIwMTUtMTAtMzAgMTI6MjQ6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggYSBtaXNzaW5nIGxvY2sgaW4gd3JpdGUgdG8gc3RyZWFtLT5sYXN0X3JldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzU5CgoyMDE1LTEwLTA3IDIzOjIwOjUxICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmV0dXJuIGVycm9yIGlmIHNyYyBlbGVtZW50IGNhbm5vdCBzdGFydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjA5CgoyMDE1LTEwLTA4IDExOjQ1OjI1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4ZWQgd2FpdGluZyBmb3IgZnJhZ21lbnQgdXBkYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjM3CgoyMDE1LTEwLTA4IDEyOjM1OjQ0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGhlYWRlciByZWRvd25sb2FkIGluIGNhc2Ugb2YgZXJyb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzkKCjIwMTUtMTAtMzAgMDA6MDQ6MTIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWxlYXNlIG1hbmlmZXN0IGxvY2sgYmVmb3JlIHNlbmRpbmcgZmx1c2ggc3RvcCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzM3CgoyMDE1LTEwLTI5IDIzOjQxOjQ2ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVzZXQgZG93bmxvYWRfZmluaXNoZWQgYmVmb3JlIHN0YXJ0aW5nIHRoZSBzcmMgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzM2CgoyMDE1LTEwLTI5IDIzOjIzOjA1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVsZWFzZSBtYW5pZmVzdCBsb2NrIGJlZm9yZSBjaGFuZ2luZyBlbGVtZW50IHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczMzUKCjIwMTUtMTAtMzAgMTY6Mzg6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICB2dGRlYzogZml4IGNvbXBpbGF0aW9uIGVycm9yCgkgIFVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0OgoJICAiX19nbF90YXJnZXRfdG9fZ3N0IiwgcmVmZXJlbmNlZCBmcm9tOgoJICBfX2RvX2dldF9nbF9idWZmZXIgaW4gbGliZ3N0YXBwbGVtZWRpYV9sYS1jb3JldmlkZW90ZXh0dXJlY2FjaGUubwoKMjAxNS0xMC0zMCAxNTowMDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBmb3IgZ2xtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTUtMTAtMzAgMTQ6NDM6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHJlbW92ZSB1bnVzZWQgcmV0IHZhcmlhYmxlCgoyMDE1LTEwLTMwIDE0OjQwOjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkgIGdsc2xzdGFnZTogcmVtb3ZlIHR5cGVkZWZzIGZyb20gdGhlIGhlYWRlcgoJICBUaGV5IGFyZSBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIGZvcndhcmQgZGVjbGVyYXRpb24gaGVhZGVyIGFuZCBkZWZpbmluZyB0aGVtCgkgIG1vcmUgdGhhbiBvbmNlIHdpbGwgZ2l2ZSBhbiBlcnJvciB3aXRoIE9TWCdzIGNsYW5nIGFib3V0IHR5cGVkZWYgcmVkZWZpbml0aW9uCgkgIGJlaW5nIGEgQzExIGZlYXR1cmUuCgoyMDE1LTEwLTMwIDE0OjM4OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZvbGxvdyB0aGUgY29ycmVjdCB0ZXh0dXJlIHRhcmdldCBuYW1lcwoKMjAxNS0xMC0zMCAwMTo0Mjo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBleHBsaWNpdGx5IGNvbmZpZ3VyZSB0aGUgdGV4dHVyZSB0YXJnZXQgb24gdGhlIGdsIGJ1ZmZlciBwb29sCgkgIElmIHdlIGRvbid0LCB0aGVuIHRoZSBwb29sIGNvdWxkIGVuZCB1cCBhbGxvY2F0aW5nIDJEIHRleHR1cmVzIHdoZW4gdGhlCgkgIGNhcHMgZXhwbGljdGx5IHN0YXRlIHRoZXkgc2hvdWxkIGJlIHJlY3RhbmdsZSB0ZXh0dXJlcy4KCjIwMTUtMTAtMzAgMDE6Mjc6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbGJ1ZmZlcnBvb2w6IGFkZCBidWZmZXJwb29sIG9wdGlvbnMgZm9yIHRoZSB2YXJpb3VzIHRleHR1cmUgdGFyZ2V0cwoJICBUaGlzIHdhcyBjaG9zZW4gb3ZlciByZWx5aW5nIHNvbGVseSBvbiB0aGUgY2FwcyBhcyBnbHVwbG9hZCBuZWVkcyB0byBwcm9wb3NlIGFuCgkgIGFsbG9jYXRpb24gYW5kIHNldCB0aGUgdGV4dHVyZSB0YXJnZXQgYmFzZWQgb24gdGhlIG91dHB1dCBjYXBzLiAgU2V0dGluZyB0aGUKCSAgY2FwcyBpbiB0aGUgY29uZmlnIGlzIGN1cnJlbnRseSBwb2ludGxlc3MgYXMgdGhleSBhcmUgb3ZlcndyaXR0ZW4gaW4gYSBsb3Qgb2YKCSAgZWxlbWVudCdzIGRlY2lkZV9hbGxvY2F0aW9uIGZ1bmN0aW9ucy4KCSAgVGhpcyBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgdGhlIGJ1ZmZlciBwb29sIHRvIGJlIGNvbmZpZ3VyZWQgZm9yIGEgY2VydGFpbgoJICB0ZXh0dXJlIHRhcmdldCB3aGVuIG5vbmUgaGFzIGJlZW4gY29uZmlndXJlZC4KCjIwMTUtMTAtMjkgMTM6MDQ6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBhZGQgc3VwcG9ydCBmb3IgY29udmVydGluZyB0ZXh0dXJlIHRhcmdldHMKCSAgU29sdmVkIHdpdGggYSBzaW1wbGUgc2hhZGVyIHRlbXBsYXRpbmcgbWVjaGFuaXNtIGFuZCBzdHJpbmcgcmVwbGFjZW1lbnRzCgkgIG9mIHRoZSBuZWNlc3Nhcnkgc2FtcGxlciB0eXBlcy90ZXh0dXJlIGFjY2Vzc2VzIGFuZCB0ZXh0dXJlIGNvb3JkaW5hdGUKCSAgbWFuZ2xpbmcgZm9yIHJlY3Rhbmd1bGFyIGFuZCBleHRlcm5hbC1vZXMgdGV4dHVyZXMuCgoyMDE1LTEwLTI5IDAwOjQ0OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBzdXBwb3J0IGZvciByZWN0YW5nbGUgdGV4dHVyZXMKCSAgQWRkIHRoZSB2YXJpb3VzIHRva2Vucy9zdHJpbmdzIGZvciB0aGUgZGlmZmVybmV0IHRleHR1cmUgdHlwZXMgKDJELCByZWN0LCBvZXMpCgkgIENoYW5nZXMgdGhlIEdMbWVtb3J5IGFwaSB0byBpbmNsdWRlIHRoZSBHc3RHTFRleHR1cmVUYXJnZXQgaW4gYWxsIHJlbGV2YW50CgkgIGZ1bmN0aW9ucy4KCSAgVXBkYXRlIHRoZSByZWxldmFudCBjYXBzL3RlbXBsYXRlcyBmb3IgMkQgb25seSB0ZXh0dXJlcy4KCjIwMTUtMTAtMzAgMDE6NDU6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogb3JkZXIgdGhlIGNhcHMgdGVtcGxhdGUgc28gdGhhdCBSR0JBIGlzIGZpcnN0CgkgIGdsY29sb3Jjb252ZXJ0ICEgZ2xjb2xvcmNvbnZlcnQgd291bGQgc29tZXRpbWVzIG5lZ290aWF0ZWQgUkdCCgkgICh0aGUgZmlyc3QgbGlzdCBlbnRyeSkgb3RoZXJ3aXNlLgoKMjAxNS0xMC0zMCAwMToxNjowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsYnVmZmVycG9vbDogbW92ZSB0eXBlZGVmJ3MgaW50byB0aGUgZm9yd2FyZCBkZWNsZXJhdGlvbiBmaWxlCgkgIE90aGVyd2lzZSwgZm9yIGV4YW1wbGUsIGNsYW5nIHdpbGwgd2FybiBhYm91dCB0eXBlZGVmIHJlZGVmaW5pdGlvbnMKCSAgYmVpbmcgYSBDMTEgZmVhdHVyZS4KCjIwMTUtMTAtMTYgMTg6MzY6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJICB0ZXN0czogZml4ZWQgZmFrZSBzb3VwIGh0dHAgc3JjIHBsdWdpbgoJICBUaGUgc291cCBodHRwIHNyYyBjaGFuZ2VkIHRoZSB3YXkgaXQgaW50ZXJwcmV0cyB0aGUgc2VlayBzZWdtZW50IHN0b3AgdmFsdWUuCgkgIFByZXZpb3VzbHkgaXQgd2FzIGluY2x1c2l2ZSwgbm93IGl0IGlzIG5vdCAoc2VlIGNvbW1pdAoJICAyMWM2ZGE2NzY0YzBjZDAxNWU5ZjNjNWVlY2JhMzZlMjk3MTg3ZGViLAoJICBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNikKCSAgVXBkYXRlZCBmYWtlIHNvdXAgaHR0cCBzcmMgdG8gYWxzbyBjb25zaWRlciBzZWdtZW50IHN0b3Agbm90IGluY2x1c2l2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMyMgoKMjAxNS0xMC0wOSAxNDoxMDo1MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogYWRkZWQgdW5pdCB0ZXN0IGZvciBhZGFwdGl2ZWRlbXV4CgkgIENyZWF0ZWQgYSB1bml0IHRlc3QgZm9yIGRhc2hkZW11eC4gSXQgcmVsaWVzIG9uIGEgZmFrZSBTT1VQIEhUVFAgc3JjIHBsdWdpbgoJICB0aGF0IHdpbGwgZmVlZCBkYXRhIHRvIGRhc2hkZW11eC4gVGhlIHRlc3QgY29udHJvbHMgdGhlIGRhdGEgdG8gYmUKCSAgZ2VuZXJhdGVkIGFuZCBjaGVja3MgdGhlIGNvcnJlY3QgZGF0YSB3YXMgcmVjZWl2ZWQgZm9yIGVhY2ggZXhwZWN0ZWQKCSAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzIyCgoyMDE1LTEwLTA5IDIxOjIzOjIwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuaDoKCSAgdGVzdHM6IGFkZGVkIGZha2UgaHR0cCBzcmMgcGx1Z2luCgkgIEFkZGVkIGEgZmFrZSBodHRwIHNyYyBwbHVnaW4gY2FwYWJsZSBvZiBnZW5lcmF0aW5nIGRhdGEgYnVmZmVycyBmb3IgYQoJICByZXF1ZXN0IG9mIGEgaHR0cCB1cmwuIENhbiBiZSB1c2VkIGluIHRlc3RzIHRvIHNpbXVsYXRlIGh0dHAgYWNjZXNzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMjIKCjIwMTUtMDctMDcgMTU6Mzg6MDggKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHByb3ZpZGUgYSBkZWZhdWx0IHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5CgkgIElmIE1QREBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSBpcyBub3QgcHJlc2VudCBpbiB0aGUgbWFuaWZlc3QsCgkgIGRhc2hkZW11eCBzZWxlY3RzIHRoZSBmcmFnbWVudCBjbG9zZXN0IHRvIHRoZSBtb3N0IHJlY2VudGx5IGdlbmVyYXRlZAoJICBmcmFnbWVudC4gVGhpcyBjYXVzZXMgYSBwbGF5YmFjayBpc3N1ZSBiZWNhdXNlIHRoaXMgY2hvaWNlIGRvZXMgbm90IGFsbG93CgkgIHRoZSBEQVNIIGNsaWVudCB0byBidWlsZCB1cCBhbnkgYnVmZmVyIG9mIGRvd25sb2FkZWQgZnJhZ21lbnRzIHdpdGhvdXQKCSAgcGF1c2luZyBwbGF5YmFjay4gVGhpcyBpcyBiZWNhdXNlIGJ5IGRlZmluaXRpb24gbmV3IGZyYWdtZW50cyBhcHBlYXIgb24KCSAgdGhlIHNlcnZlciBpbiByZWFsLXRpbWUgKGUuZy4gaWYgc2VnbWVudCBkdXJhdGlvbiBpcyA0IHNlY29uZHMsIGEgbmV3CgkgIGZyYWdtZW50IHdpbGwgYXBwZWFyIG9uIHRoZSBzZXJ2ZXIgZXZlcnkgNCBzZWNvbmRzKS4gSWYgdGhlIHN0YXJ0aW5nCgkgIHBsYXliYWNrIHBvc2l0aW9uIHdhcyBuKnNlZ21lbnREdXJhdGlvbiBzZWNvbmRzIGJlaGluZCAibm93IiwgdGhlIERBU0gKCSAgY2xpZW50IGNvdWxkIGRvd25sb2FkIHVwIHRvICduJyBmcmFnbWVudHMgZmFzdGVyIHRoYW4gcmVhbHRpbWUgYmVmb3JlIGl0CgkgIHJlYWNoZWQgdGhlIHBvaW50IHdoZXJlIGl0IG5lZWRlZCB0byB3YWl0IGZvciBmcmFnbWVudHMgdG8gYXBwZWFyIG9uIHRoZQoJICBzZXJ2ZXIuCgkgIFRoZSBNUERAc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkgYXR0cmlidXRlIGFsbG93cyBhIGNvbnRlbnQgcHVibGlzaGVyCgkgIHRvIHByb3ZpZGUgYSBzdWdnZXN0ZWQgc3RhcnRpbmcgcG9zaXRpb24gdGhhdCBpcyBiZWhpbmQgdGhlIGN1cnJlbnQKCSAgImxpdmUiIHBvc2l0aW9uLgoJICBJZiB0aGUgTVBEQHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5IGF0dHJpYnV0ZSBpcyBub3QgcHJlc2VudCwgcHJvdmlkZQoJICBhIHN1aXRhYmxlIGRlZmF1bHQgdmFsdWUgYXMgYSBwcm9wZXJ0eSBvZiB0aGUgZGFzaGRlbXV4IGVsZW1lbnQuIFRvCgkgIGFsbG93IHRoZSBkZWZhdWx0IHByZXNlbnRhdGlvbiBkZWxheSB0byBiZSBzcGVjaWZpZWQgZWl0aGVyIHVzaW5nCgkgIGZyYWdtZW50cyBvciBzZWNvbmRzLCB0aGUgcHJvcGVydHkgaXMgYSBzdHJpbmcgdGhhdCBjb250YWlucyBhIG51bWJlcgoJICBhbmQgYSB1bml0IChlLmcuICIxMCBzZWNvbmRzIiwgIjQgZnJhZ21lbnRzIiwgIjI1MDBtcyIpLgoKMjAxNS0xMC0yOSAxNTowMjozOCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogQWRkIHZwOSBzdXBwb3J0CgkgIERpZmZlcmVudGlhdGUgdGhlIHZwOC92cDkgYml0c3RyZWFtIGJhc2VkIG9uIGZvdXJjYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI1MQoKMjAxNS0wOS0wOSAxNDowOTo0MyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIGRldGVjdGlvbiBvZiBzdHJlYW0gbGFuZ3VhZ2UKCSAgSW1wcm92ZWQgdGhlIGRldGVjdGlvbiBvZiBzdHJlYW0ncyBsYW5ndWFnZSBpZiB0aGUgQWRhcHRhdGlvblNldAoJICBjb250YWlucyBtb3JlIHRoYW4gMSBDb250ZW50Q29tcG9uZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzNjcKCjIwMTUtMTAtMjkgMTI6MDQ6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hfbXBkOiByZXN0cmljdCBzZWdtZW50IHRlbXBsYXRlIGZvcm1hdCBzdHJpbmdzIHRvICUwWzAtOV0qZCBhcyBwZXIgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzM1CgoyMDE1LTA5LTA5IDEyOjM2OjEwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHNlZ21lbnQgdGVtcGxhdGUgcGFyc2luZzogYWRkZWQgc3VwcG9ydCBmb3IgJWQKCSAgQWRkZWQgc3VwcG9ydCBmb3IgJWQgaW4gdGVtcGxhdGUgaWRlbnRpZmllci4KCSAgQWRkZWQgdGVzdGNhc2VzIGZvciAlZCwgJTNkLCAlMC00ZCBpZGVudGlmaWVyIGZvcm1hdHMuCgoyMDE1LTEwLTI5IDExOjU0OjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBwYXJzaW5nIG9mIHNlZ21lbnQgdGVtcGxhdGVzCgkgIENvcnJlY3RlZCB0aGUgcGFyc2luZyBvZiBhIHNlZ21lbnQgdGVtcGxhdGUgc3RyaW5nLgoJICBBZGRlZCB1bml0IHRlc3RzIHRvIHRlc3QgdGhlIHNlZ21lbnQgdGVtcGxhdGUgcGFyc2luZy4KCSAgQWxsIHJlcG9ydGVkIHByb2JsZW1zIGFyZSBub3cgY29ycmVjdGx5IGhhbmRsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MzUKCjIwMTUtMTAtMjkgMTE6MTc6NDggKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBkYWhzZGVtdXg6IHRhc2sgaXMgc2lnbmFsZWQgdG8gc3RvcCB3aXRob3V0IHN0b3AgY29uZGl0aW9uIGJlaW5nIHNldAoJICBUaGUgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9mcmVlIGZ1bmN0aW9uIGlzIHRyeWluZyB0byBzdG9wIHRoZSBzdHJlYW0ncwoJICBkb3dubG9hZCB0YXNrLiBGb3IgdGhpcywgaXQgc2lnbmFscyB0aGUgdGFzay4gQnV0IGl0IGZhaWxzIHRvIGFsc28gc2V0IHRoZQoJICBzdHJlYW0tPmRvd25sb2FkX2ZpbmlzaGVkID0gVFJVRSwgc28gdGhlIHRhc2sgd2lsbCBnbyBiYWNrIHRvIHNsZWVwIGFuZAoJICBvbmx5IGV4aXQgd2hlbiB0aGUgZG93bmxvYWQgaXMgZmluaXNoZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjEKCjIwMTUtMTAtMjggMTc6MDI6NTEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgY3Jhc2ggd2hlbiBzZWdtZW50IHRpbWVsaW5lIGxpc3QgaXMgZ3JlYXRlciB0aGFuIHNlZ21lbnQgdXJsIGxpc3QKCSAgV2hlbiBidWlsZGluZyB0aGUgbWVkaWEgc2VnbWVudCBsaXN0IHVzaW5nIGEgU2VnbWVudExpc3Qgbm9kZSwgdGhlCgkgIGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uIGZ1bmN0aW9uIHdpbGwgaXRlcmF0ZSB0aHJvdWdoIHRoZQoJICBsaXN0IG9mIFMgbm9kZXMgYW5kIHdpbGwgZXhwZWN0IHRvIGZpbmQgYSBtYXRjaGluZyBTZWdtZW50VXJsIG5vZGUuIElmCgkgIG9uZSBkb2VzIG5vdCBleGlzdCwgdGhlIGNvZGUgbWFkZSBhbiBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0OTYKCjIwMTUtMDktMTEgMTA6NTk6MTUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB1bml0IHRlc3QgZm9yIG1pc3NpbmcgcHJvZmlsZXMKCjIwMTUtMDktMTEgMTA6NTc6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZG8gbm90IGRlcmVmZXJlbmNlIHByb2ZpbGVzIGlzIGFic2VudAoJICBUaGVzZSBhcmUgdXNlZCB0byBhcHBseSByZXN0cmljdGlvbnMgb24gd2hhdCB0aGUgTVBEIGZpbGUgbWF5CgkgIHVzZSwgc28gbm8gcHJvZmlsZSBtZWFucyBubyByZXN0cmljdGlvbnMuCgkgIEJlc2lkZXMsIG5vdGhpbmcgYWN0dWFsbHkgdXNlcyB0aGUgcHJvZmlsZXMgKHlldCkgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODY5CgoyMDE1LTA5LTE2IDE2OjQ2OjI5ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeGVkIG11bHRpdGhyZWFkIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE2OQoKMjAxNS0xMC0yOCAxNjozMTozOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBwYXJzZXIgcmVqZWN0cyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMyNgoKMjAxNS0xMC0yOCAxNjoyNDowMSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcGFyc2luZyBvZiBuZWdhdGl2ZSB2YWx1ZXMgaW50byB1bnNpZ25lZCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjkKCjIwMTUtMDktMTcgMjA6MTg6NTIgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY0OiBpbml0aWFsaXplIHBhcnNpbmcgc3RydWN0dXJlcwoJICBJbml0aWFsaXplIHRvIDAgdGhlc2UgcGFyc2Ugc3RydWN0dXJlcyBiZWZvcmUgZmlsbGluZyB0aGVtOiBHc3RIMjY0U0VJTWVzc2FnZSwKCSAgR3N0SDI2NE5hbFVuaXQsIEdzdEgyNjRQUFMsIEdzdEgyNjRTUFMgYW5kIEdzdEgyNjRTbGljZUhkci4KCSAgV2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvbnMgd2hpY2ggZmlsbCB0aG9zZSBzdHJ1Y3R1cmVzLCB0aGV5IG1heSBmYWlsLCBsZWF2aW5nCgkgIHVuaXRpYWxpemVkIHRob3NlIHN0cnVjdHVyZXMuIFRoaXMgc2l0dWF0aW9uIG1heSBsZWFkIHRvIGZ1dHVyZSBwcm9ibGVtcywgc3VjaAoJICBhcyBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIGZyZWVpbmcsIGZvciBleGFtcGxlLgoJICBUaGlzIHBhdGNoIGluaXRpYWxpemVzIHRvIHplcm8gdGhlc2Ugc3RydWN0dXJlcywgYmVmb3JlIGZpbGxpbmcgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE2MQoKMjAxNS0wOS0xOCAxMDowOToyNiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IGluaXRpYWxpemUgcGFyc2luZyBzdHJ1Y3R1cmVzCgkgIEluaXRpYWxpemUgdG8gMCB0aGVzZSBwYXJzZSBzdHJ1Y3R1cmVzIGJlZm9yZSBmaWxsaW5nIHRoZW06IEdzdEgyNjVTRUlNZXNzYWdlLAoJICBHc3RIMjY1TmFsVW5pdCwgR3N0SDI2NVZQUywgR3N0SDI2NVBQUywgR3N0SDI2NVNQUyBhbmQgR3N0SDI2NVNsaWNlSGRyLgoJICBXaGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9ucyB3aGljaCBmaWxsIHRob3NlIHN0cnVjdHVyZXMsIHRoZXkgbWF5IGZhaWwsIGxlYXZpbmcKCSAgdW5pdGlhbGl6ZWQgdGhvc2Ugc3RydWN0dXJlcy4gVGhpcyBzaXR1YXRpb24gbWF5IGxlYWQgdG8gZnV0dXJlIHByb2JsZW1zLCBzdWNoCgkgIGFzIGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gZnJlZWluZywgZm9yIGV4YW1wbGUuCgkgIFRoaXMgcGF0Y2ggaW5pdGlhbGl6ZXMgdG8gemVybyB0aGVzZSBzdHJ1Y3R1cmVzLCBiZWZvcmUgZmlsbGluZyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTYxCgoyMDE1LTEwLTI2IDE5OjU4OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBsaXZlYWRkZXI6IE1ha2UgbGF0ZW5jeSBwcm9wZXJ0eSBiZSBhIHVpbnQgaW4gbWlsbGlzZWNzCgkgIFRoaXMgcmVzdG9yZXMgcm91Z2hseSB0aGUgc2FtZSBiZWhhdmlvdXIgYXMgdGhlIG9sZCBsaXZlYWRkZXIgZWxlbWVudC4KCSAgRXhjZXB0IHRoYXQgdGhlIGxhdGVuY3kgbm93IGFsc28gaW5jbHVkZXMgdGhlIG91dHB1dC1idWZmZXItZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNTAKCjIwMTUtMDktMDggMTQ6MDA6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZm9yYmlkIG5lZ2F0aXZlIHZhbHVlcyBmb3IgZHVyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5MgoKMjAxNS0xMC0yOCAxNTozOTowNyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBwYXJzZXIgcmVqZWN0cyBYTUxzIHdpdGggbmVnYXRpdmUgcGVyaW9kIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMjkKCjIwMTUtMTAtMjggMTU6MzQ6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogY2hlY2sgc2VnbWVudCBsaXN0cyBoYXZlIGVpdGhlciBkdXJhdGlvbiBvciB0aW1lbGluZQoJICBBbmQgYWRkIGVycm9yIGNoZWNraW5nIGFsb25nIHRoZSB3YXkuCgkgIEFkZCBkdXJhdGlvbiB3aGVyZSBhcHByb3ByaWF0ZSBzbyB1bml0IHRlc3RzIHN0aWxsIHBhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2NTAKCjIwMTUtMDktMjkgMTY6MTc6MDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogdmFsaWRhdGUgcmVwcmVzZW50YXRpb24gc2V0IGlkZW50aWZpZXIKCSAgSXQgbXVzdCBoYXZlIG5vIHdoaXRlc3BhY2UsIGFuZCBtdXN0IGNvbXBseSB3aXRoIFJGQyAxNzM4IHdoZW4KCSAgdXNlZCB0byBidWlsZCBhIFVSTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg1MgoKMjAxNS0xMC0yOCAxNDo0MTo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogaW5pdGlhbGl6ZSBvdXRwdXQgcGFyYW1zIHRvIDAgYmVmb3JlIGNhbGxpbmcgZ2wgZnVuY3Rpb25zCgkgIFRoZSBjbGllbnQgc2lkZSBBUEkgb2YgdGhlIENocm9taXVtJ3MgR1BVIFByb2Nlc3MgaGFzIGFzc2VydHMKCSAgaW4gZGVidWcgbW9kZSB0aGF0IGNoZWNrIHRoYXQgb3V0cHV0IHBhcmFtcyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC4KCjIwMTUtMTAtMjcgMTY6MzI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IGNvdWxkIG5ldmVyIGJlIGNhbGxlZAoJICBDb3Zlcml0eSBDSURzICMxMzI4ODE4LCAjMTMyODgxOSwgIzEzMjg4MjAuCgoyMDE1LTEwLTI3IDAwOjM2OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgb3BlbmdsOiBidWlsZC9wcm92aWRlIGdsc3RlcmVvbWl4L3NwbGl0IG9uIGdsZXMgb25seSBzeXN0ZW1zCgoyMDE1LTEwLTI2IDE2OjUxOjA2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IHJlbmFtZSBnZW1ldHJpYyBtYXRoIGZ1bmN0aW9ucyB0byBoYXZlIHRoZWlyIHN5bWJvbHMgbmFtZXNwYWNlZAoJICBPdGhlcndpc2UgdGhvc2Ugc3ltYm9scyBjYW4gY29uZmxpY3Qgd2l0aCBleHRlcm5hbCBsaWJyYXJpZXMgd2hlbgoJICBsaW5raW5nIGV2ZXJ5dGhpbmcgc3RhdGljYWxseSBmb3IgbW9iaWxlIHRhcmdldHMuCgkgIFVzZSB0aGUgZ3N0X2dtXyBwcmVmaXgsIHNob3J0IGZvciBnc3QgZ2VvbWV0cmljIG1hdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4ODIKCjIwMTUtMTAtMjYgMTU6MzA6MDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG9uJ3QgYWR2ZXJ0aXNlIHRoZSBsb2NhbCB3bF9kaXNwbGF5IGNvbnRleHQKCSAgVGhpcyB3bF9kaXNwbGF5IHByb3h5IGlzIHRlbXBvcmFyeSBvbmx5IHVudGlsIHdheWxhbmRzaW5rIGdvZXMgTlVMTCwKCSAgYXQgd2hpY2ggcG9pbnQgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGRpc3BsYXkgaXMgZGlzcG9zZWQuIFVuZm9ydHVuYXRlbHksCgkgIGlmIHRoaXMgaXMgYWR2ZXJ0aXNlZCBhcyBhIEdzdENvbnRleHQsIHBsYXliaW4gd2lsbCBjYWNoZSBpdCBhbmQgcmUtZmVlZAoJICBpdCB0byB0aGUgc2luayB3aGVuIGl0IGdvZXMgUExBWUlORyBhZ2FpbiwgYnV0IHRoZSB3bF9kaXNwbGF5IHBvaW50ZXIKCSAgd2lsbCBhdCB0aGF0IHBvaW50IGJlIGludmFsaWQgYW5kIGNhdXNlIGEgY3Jhc2guCgkgIEFub3RoZXIgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gd291bGQgYmUgdG8gYWxzbyBjYWNoZSB0aGUgR3N0V2xEaXNwbGF5CgkgIG9iamVjdCBpbnNpZGUgdGhlIEdzdENvbnRleHQsIHdoaWNoIHdvdWxkIGF1dG9tYXRpY2FsbHkgcmVmLWNvdW50CgkgIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24sIGJ1dCBJIHNlZSBubyByZWFzb24gaW4gZG9pbmcgdGhhdCBhdCB0aGUgbW9tZW50LAoJICBhcyB0aGVyZSBhcmUgbm8ga25vd24gdXNlcnMgb2YgdGhpcyBHc3RDb250ZXh0IG91dHNpZGUgd2F5bGFuZHNpbmsuCgkgIEl0J3MgcHJvYmFibHkgYmV0dGVyIHRvIGF2b2lkIGNoYXNpbmcgaGlkZGVuIHJlZmNvdW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2NwoKMjAxNS0xMC0yNiAxODoyNjoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBhbGxvdyBvdXRwdXR0aW5nIG11bHRpcGxlIHRleHR1cmVzIGZvciBnbGVzMyBjb250ZXh0cwoJICB0aGUgVVNJTkdfR0xFUzIgaW5jbHVkZXMgYWxsIEdMRVMzIGNvbnRleHRzIGFzIHdlbGwgd2hpY2ggZG9lcyBzdXBwb3J0CgkgIGRyYXdpbmcgdG8gbXVsdGlwbGUgYnVmZmVycy4gIEluc3RlYWQgbWFrZSBvciBkZWNpc2lvbiBzb2xlbHkgYmFzZWQgb24KCSAgd2hldGhlciBnbERyYXdCdWZmZXJzIGlzIGF2YWlsYWJsZSBvciBub3QuCgoyMDE1LTEwLTI2IDE3OjM2OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IGV4cG9zZSB0aGUgZWxlbWVudCBvbiBnbGVzMiBwbGF0Zm9ybXMKCSAgV2UgY2FuIGRvIGV2ZXJ5dGhpbmcgd2l0aCBnbGVzMyBob3dldmVyIGdsZXMyIHJlc3RyaWN0cyB1cyBub3QgYWxsb3dpbmcKCSAgc2VwYXJhdGVkIG9yIGZyYW1lLWJ5LWZyYW1lIG11bHRpdmlldyBtb2RlcyBkdWUgdG8gbXVsdGlwbGUgZHJhdyBidWZmZXJzLgoKMjAxNS0xMC0yNSAwMToxOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgdGVzdHM6IGhsc2RlbXV4X20zdTogYWRkIHRlc3QgZm9yIG1hc3RlciBwbGF5bGlzdCB3aXRoIG1pc3NpbmcgdmFyaWFudCBsaXN0IHVyaQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODYxCgoyMDE1LTEwLTIwIDA5OjEzOjA0ICswMTAwICBBbmRyw6kgRHJhc3ppayA8Z2l0QGFuZHJlZC5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGNyYXNoIG9yIGxlYWsgbWVtb3J5IG9uIGJyb2tlbiBtYXN0ZXIgcGxheWxpc3QKCSAgSWYgYSAobWFzdGVyKSBwbGF5bGlzdCBjb250YWlucyBhIHZhcmlhbnQgbGlzdCBlbnRyeSB3aXRob3V0IGEKCSAgVVJJIHRoZW4gZHVyaW5nIHBhcnNpbmcgb2YgdGhlIG5leHQgdmFyaWFudCBsaXN0IGVudHJ5IHdlIGFyZQoJICBhKSBsZWFraW5nIHRoZSBlbnRyeSB3ZSdyZSBjdXJyZW50bHkgcGFyc2luZyAobmV3X2xpc3QpLCBhbmQKCSAgYikgZnJlZSdpbmcgdGhlIHBvaW50ZXIgdG8gdGhlIHByZXZpb3VzIGxpc3QgZW50cnkgKGxpc3QpIHdpdGhvdXQKCSAgdXBkYXRpbmcgdGhlIHBvaW50ZXIuCgkgIEhlbmNlIHdoZW4gdGhlbiBhZGRpbmcgdGhlIFVSSSBmb3IgdGhlIGxhdGVzdCBwYXJzZWQgZW50cnksIGluY29ycmVjdAoJICBpbmZvcm1hdGlvbiBpcyBzdG9yZWQsIGFzIHRoZSBpbmZvcm1hdGlvbiBpcyB1c2VkIGZyb20gJ2xpc3QnIHdoaWNoCgkgIGlzIG5vdCB2YWxpZCBtZW1vcnkgYW55bW9yZSwgYWxzbyBsZWFkaW5nIHRvIGNyYXNoZXMuCgkgIEZpeCB0aGlzIGJ5IGNvcnJlY3RseSBzdG9yaW5nIHRoZSBuZXcgdmFyaWFudCBsaXN0IGVudHJ5IHBvaW50ZXIKCSAgYXMgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODYxCgoyMDE1LTA5LTA0IDExOjI5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2hhbmdlIGRpc3Bvc2UgZnVuY3Rpb24gdG8gZmluYWxpemUKCjIwMTUtMDgtMzAgMjE6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgaGVscGVyIGZ1bmN0aW9uIG9ubHkgdXNlZCBvbmNlCgoyMDE1LTA4LTMwIDE3OjQxOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIGRlcHJlY2F0ZWQgJ2ZyYWdtZW50cy1jYWNoZScgcHJvcGVydHkKCSAgSXQncyBiZWVuIG5vbi1mdW5jdGlvbmFsIGZvciB0d28gY3ljbGVzIG5vdywgbGV0J3MKCSAgZ2V0IHJpZCBvZiBpdC4KCjIwMTUtMDktMDIgMTY6NDA6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IG0zdTg6IG1vdmUgZmlsZSBsb29rdXAgYnkgc2VxdWVuY2UgZGlyZWN0bHkgaW50byBjb2RlCgkgIE5pY2VyIHRvIHJlYWQsIHR3byBsaW5lcyBvZiBjb2RlIGxlc3MsIGFuZCBhbHNvIHRoZSBjYWxsYmFjawoJICBmdW5jdGlvbiBzaG91bGQndmUgYmVlbiBhIEdDb21wYXJlRnVuYyB0aGF0IHJldHVybnMgYSBnaW50CgkgIGFuZCBub3QgYSBib29sZWFuIChpdCBkaWQgd29yayBjb3JyZWN0bHksIHdhcyBqdXN0IGNvbmZ1c2luZykuCgoyMDE1LTA5LTAxIDEyOjQ4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogY2xlYW4tdXA6IHJlbW92ZSB1bnVzZWQgYXJndW1lbnQgaW4gZnVuY3Rpb24gY2FsbAoKMjAxNS0wOC0zMCAxNzoyMjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogY2xlYW4tdXA6IHJlaW5kZW50IGhlYWRlciBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5CgkgIEFuZCByZW1vdmUgZHVwbGljYXRlIGRlZmluZS4KCjIwMTUtMTAtMjMgMTg6NTg6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFJlbW92ZSBlbXB0eSBzZXQvZ2V0X3Byb3BlcnR5KCkKCSAgV2UgY2FuIGFkZCB0aGVtIGFnYWluIGlmIHdlIGV2ZXIgYWRkIHByb3BlcnRpZXMuCgoyMDE1LTEwLTIzIDE4OjM4OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBQb3J0IHRvIEdzdEFnZ3JlZ2F0b3IKCjIwMTUtMTAtMjIgMTk6MjA6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFNldCBHQyBlc3NlbmNlIGVsZW1lbnQgVUwgdmVyc2lvbiB0byAweDAxCgkgIGZmbXBlZyBvdGhlcndpc2UgcmVqZWN0cyBpdCBhbmQgdGhlIHNwZWMgaXMgbm90IDEwMCUgY2xlYXIgYWJvdXQgdGhhdC4KCjIwMTUtMTAtMjAgMTc6MDk6MjIgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwOiBGaXggY3JpdGljYWwgd2FybmluZyB0cnlpbmcgdG8gcmV0cmlldmUgU1NSQyBmcm9tIGEgbm9uIGZiIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg3NgoKMjAxNS0xMC0yMiAxOToyNDozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgIG14ZjogUmVvcmRlciBDRkxBR1MgYW5kIExJQlMKCjIwMTUtMTAtMjMgMTU6NDI6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogQWRkIGNyZWF0ZV9uZXdfcGFkKCkgdmZ1bmMgdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIKCSAgTm90IGFsbCBhZ2dyZWdhdG9yIHN1YmNsYXNzZXMgd2lsbCBoYXZlIGEgc2luZ2xlIHBhZCB0ZW1wbGF0ZSBjYWxsZWQgc2lua18ldQoJICBhbmQgbWlnaHQgZG8gc29tZXRoaW5nIHNwZWNpYWwgZGVwZW5kaW5nIG9uIHdoYXQgdGhlIGFwcGxpY2F0aW9uIHJlcXVlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDE4CgoyMDE1LTEwLTIxIDE5OjAwOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBTZXQgS0FHIHNpemUgdG8gMQoJICBXZSdyZSBub3QgYWxpZ25pbmcgb3VyIG91dHB1dCBpbiBhbnkgd2F5LCBhbmQgMCBpcyBpbnZhbGlkLgoKMjAxNS0xMC0yMSAxODo1ODowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgbGV0IHRoZSBoZWFkZXIgcGFydGl0aW9uJ3MgcHJldl9wYXJ0aXRpb24gcG9pbnQgZm9yd2FyZCB0byB0aGUgZm9vdGVyCgoyMDE1LTEwLTIxIDE4OjMyOjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZ0eXBlczogRml4IGdlbmVyYXRpb24gb2Ygb3BlcmF0aW9uYWwgcGF0dGVybiBVTAoKMjAxNS0xMC0yMSAxODozMTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmZGVtdXgtc3RydWN0dXJlOiBTeW5jIGZha2VzaW5rIHN0YXRlIHdpdGggdGhlIGJpbiB0byBtYWtlIHRoZSBhcHBsaWNhdGlvbiB3b3JrIGF0IGFsbAoKMjAxNS0xMC0yMSAxODoyMDoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtcGVnOiBoMjY0IGlzIGFsd2F5cyBieXRlLXN0cmVhbSBpbnNpZGUgTVhGCgoyMDE1LTEwLTIxIDE4OjA2OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgbXhmOiBBZGQgdW5pdCB0ZXN0cyBmb3IgSDI2NC9QQ00KCjIwMTUtMTAtMjEgMTc6NDc6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGxlYWsgU0VFSyBldmVudHMgd2hlbiBkcm9wcGluZyB0aGVtCgoyMDE1LTEwLTIxIDE3OjIxOjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmdmMzOiBUaGUgd3JhcHBpbmcgaXMgdGhlIDE1dGggYnl0ZSBvZiB0aGUgZXNzZW5jZSBjb250YWluZXIgVUwsIG5vdCB0aGUgMTZ0aAoJICBJbiBvdGhlciBtYXBwaW5ncyBpdCBpcyB0aGUgMTZ0aCB0aG91Z2guCgoyMDE1LTEwLTIxIDE3OjExOjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSWYgc2Vla2luZyB0byB0aGUgcmVtYWluaW5nIHBhcnRzIG9mIHRoZSBmaWxlIGZhaWxzIG9uIEVPUywgY29uc2lkZXIgdGhlIHN0cmVhbSBkb25lCgkgIFdpdGhvdXQgdGhpcyB3ZSB3b3VsZCBydW4gdGhpcyB3aGlsZSBsb29wIGZvcmV2ZXIsIGFsd2F5cyBzZWVraW5nIGFnYWluIGZvcgoJICB0aGUgc2FtZSBzdHJlYW0uCgoyMDE1LTEwLTIxIDE1OjA3OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgbXhmOiBQcm9wZXJseSBlbmFibGUgdW5pdCB0ZXN0cyBhZ2FpbgoKMjAxNS0xMC0yMSAwMToyMjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmLmM6CgkgIG14ZjogUmUtZW5hYmxlIG14Zm11eCBlbGVtZW50CgoyMDE1LTEwLTIxIDAxOjIxOjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJICBteGZqcGVnMjAwMDogRml4IGNhcHMKCSAgVGhlcmUgaXMgbm8gZmllbGRzIGZpZWxkIGFueW1vcmUuCgoyMDE1LTEwLTIxIDAxOjE3OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBmYWlsIFNFR01FTlQgZXZlbnRzCgoyMDE1LTEwLTIxIDAxOjAyOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBQdXNoIHN0cmVhbS1zdGFydCBhbmQgY2FwcyBldmVudCBiZWZvcmUgc2VnbWVudCBldmVudAoJICBBbmQgZG9uJ3QgcHVzaCB0aGUgY2FwcyBldmVudCBkdXJpbmcgaW5zdGFuY2UgaW5pdGlhbGl6YXRpb24gYWxyZWFkeS4KCjIwMTUtMTAtMjEgMDA6NDU6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmYWVzLWJ3ZjogRm9ybWF0IGlzIHVuc2lnbmVkIGlmIGl0J3MgMSBieXRlIHBlciBjaGFubmVsCgkgIC4uLiBub3QgMSBieXRlIHBlciBibG9jay4KCjIwMTUtMTAtMjEgMTY6NTE6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGhhbmRkZXRlY3Q6IG5vIG5lZWQgdG8gZ2V0IGEgd3JpdGFibGUgYnVmZmVyCgkgIE5vIG5lZWQgdG8gZ2V0IGEgd3JpdGFibGUgYnVmZmVyIGluc2lkZSBjdl90cmFuc19mdW5jIG9mIG9wZW5jdiB2aWRlbwoJICBmaWx0ZXIuIEdzdEJhc2VUcmFuc2Zvcm0gdGFrZXMgY2FyZSBvZiB0aGlzLgoKMjAxNS0xMC0yMSAxNDozNToxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjk5ODAwYSB0byBiMzE5OTA5CgoyMDE1LTEwLTIwIDE3OjI5OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVc2UgbmV3IEdTVF9FTkFCTEVfRVhUUkFfQ0hFQ0tTICNkZWZpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg3MAoKMjAxNS0xMC0yMSAxNDoyNjowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5YWVkMWQ3IHRvIGI5OTgwMGEKCjIwMTUtMTAtMjEgMDU6MzQ6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbHNoYWRlcmVsZW1lbnQ6IGZyZWUgdGhlIHZlcnRleCBhbmQgZnJhZ21lbnQgc3RyaW5ncyBvbiBmaW5hbGl6ZQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrIHdoZW4gdXNpbmcgdGhlIHZlcnRleC9mcmFnbWVudCBwcm9wZXJ0aWVzLgoKMjAxNS0xMC0yMSAwNTozMzoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBidWlsZCBlcnJvcnMKCSAgcHJpbnRmICVsbGQgaW5zdGVhZCBvZiBHX0dJTlQ2NF9GT1JNQVQuCgkgIERvdWJsZSByZXQgdmFyaWFibGUgZGVjbGFyYXRpb24uCgoyMDE1LTEwLTIxIDA1OjAwOjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xzaGFkZXJlbGVtZW50OiByZW1vdmUgdW5uZWVkZWQgcmVmZXJlbmNlIHRvIDxnc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaD4KCjIwMTUtMTAtMjEgMDQ6NDQ6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmaXggdXNhZ2Ugb2Ygc3RyaW5nLmggYW5kIHN0ZGlvLmggZnVuY3Rpb25zIHdpdGhvdXQgaW5jbHVkaW5nIHRoZSBoZWFkZXJzCgkgIGUuZzoKCSAgZ3N0Z2xjb250ZXh0X2VnbC5jOjYxMzo3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cmNtcCcKCSAgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCgkgIGlmIChzdHJjbXAgKEdfTU9EVUxFX1NVRkZJWCwgInNvIikgPT0gMCkKCjIwMTUtMTAtMTYgMDc6MDM6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY3JlYXRlIGEgY29udGV4dCBpbiBOVUxMX1JFQURZCgkgIFNvIHRoYXQgaXQncyBwb3NzaWJsZSBmb3IgZGVjb2RlcnMgZXQgYWwuIHRvIHJlcXVlc3QgdGhlIE9wZW5HTCBjb250ZXh0CgkgIGluIHRoZWlyIFJFQURZX1BBVVNFRCB0cmFuc2l0aW9uIHdpdGggZGVjb2RlYmluL3BsYXliaW4uCgoyMDE1LTEwLTE2IDAwOjM0OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW1jdmlkZGVjOiB1c2UgZ3N0Y29udGV4dCB0byByZXRyZWl2ZSB0aGUgT3BlbkdMIGNvbnRleHQKCjIwMTUtMDQtMjAgMTM6NDY6NTggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogT25seSBhbGxvdyBHTCBvdXRwdXQgaWYgdGhlIGRlY29kZXIgaGFzIHVua25vd24gY29sb3IgZm9ybWF0cwoJICBJZiBHU1RfQU1DX0lHTk9SRV9VTktOT1dOX0NPTE9SX0ZPUk1BVFMgaXMgc2V0IHRvIHllcywgbm9uLUdMIG91dHB1dAoJICBpcyBzdGlsbCBhbGxvd2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjA0CgoyMDE0LTA2LTA1IDEwOjMzOjU2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYzJkdGV4dHVyZXJlbmRlcmVyLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jc3VyZmFjZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvb3JnL2ZyZWVkZXNrdG9wL2dzdHJlYW1lci9hbmRyb2lkbWVkaWEvR3N0QW1jT25GcmFtZUF2YWlsYWJsZUxpc3RlbmVyLmphdmE6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cHBvcnQgZm9yIEdMIG91dHB1dCBpbiBhbWN2aWRlb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjA0CgoyMDE1LTA0LTMwIDEyOjMzOjU4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvIG5vdCBmbHVzaCBjb2RlYyBpZiBpdCBpcyBub3Qgc3RhcnRlZAoKMjAxNS0wNC0xMyAxMzoxMDoxMCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbmRyb2lkbWVkaWE6IEFsbG93IG9iamVjdCB0byBiZSBOVUxMIGluIGdzdF9hbWNfam5pXyp1bnJlZiBmdW5jdGlvbnMKCjIwMTUtMDMtMTMgMTY6MTM6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGRlYnVnIHN0YXRlbWVudCAoJWQgZm9yIGEgZ3NpemUgYXJndW1lbnQpCgoyMDE1LTA0LTAyIDE2OjI4OjE0ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSW1wcm92ZSBjb2xvciBmb3JtYXQgZGVidWcgbWVzc2FnZXMKCjIwMTUtMDMtMzEgMTY6MjQ6NDAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogSW1wcm92ZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxNS0wMy0zMSAxNzo0ODo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEbyBub3Qgd2FybiB3ZSBkbyBub3Qgc3VwcG9ydCBDT0xPUl9Gb3JtYXRTdXJmYWNlCgoyMDE1LTEwLTIxIDAzOjU5OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkgIGdsOiByZW1vdmUgdW5uZWVkZWQgc2hhZGVyIHZhcmlhYmxlIHBhcnNpbmcgY29kZQoKMjAxNS0xMC0yMSAwMzoyMzozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJICBnbHNoYWRlcmVsZW1lbnQ6IGltcGxlbWVudCBzZXR0aW5nIGFyYml0cmFyeSB1bmlmb3JtcwoJICBDdXJyZW50bHkgZmxvYXQgYW5kIGludCBhcmUgc3VwcG9ydGVkIGJ5IGRlZmF1bHQuIHZlYzIsIHZlYzMsIHZlYzQKCSAgYW5kIG1hdDQgYXJlIHN1cHBvcnRlZCBpZiBncmFwaGVuZSBpcyB1c2VkLiAgT2YgY291cnNlIGlmIG9uZSB3YW50cwoJICB0byBzZXQgY3VzdG9tIHVuaWZvcm1zIHRoZXkgY2FuIGFsc28gYmUgc2V0IHVzaW5nIHRoZSBjcmVhdGUtc2hhZGVyCgkgIHNpZ25hbC4KCjIwMTUtMTAtMjAgMTI6MjQ6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGhhbmRkZXRlY3Q6IGZyZWUgYmVzdF9yIHdpdGggZGVsZXRlCgkgIGJlc3RfciBpcyBhIGN2OjpSZWN0LCBzbyBpdCBzaG91bGQgYmUgZnJlZWQgd2l0aCBkZWxldGUgYW5kIG5vdCB3aXRoCgkgIGdfZnJlZSgpCgoyMDE1LTEwLTIwIDEyOjA4OjU5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG9wZW5jdjogbW90aW9uY2VsbHM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBXZSBrbm93IHRoYXQgdGhlIGdjaGFyIGFycmF5cyBjb250YWluIGF0IGxlYXN0IG9uZSBzdHJpbmcuIEZ1cnRoZXJtb3JlLAoJICBnX3N0cmZyZWV2KCkgY2hlY2tzIGlmIHRoZSBhcnJheSBpcyBOVUxMIGFuZCBzaW1wbHkgcmV0dXJucyBpZiBpdCBpcy4KCSAgSGVuY2UsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIGFycmF5IGlzIGVtcHR5IGJlZm9yZSB1c2luZwoJICBnX3N0cmZyZWV2KCkuCgkgIENJRCAxMzI3NDEyLTEzMjc0MTUKCjIwMTUtMDctMDggMTc6MTc6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhscy9tM3U4OiBVcGRhdGUgY3VycmVudCBwb3NpdGlvbiBpbiBhbGwgY2FzZXMKCSAgSW4gb3JkZXIgdG8gZW5zdXJlIHRoZSBzZXF1ZW5jZV9wb3NpdGlvbiB3aWxsIGFsd2F5cyBiZSBjb25zaXN0ZW50bHkgdXBkYXRlZCwKCSAgc3RvcmUgdGhlIGN1cnJlbnQgZmlsZSBkdXJhdGlvbi4KCSAgVGhpcyB3YXksIHdoZW4gd2UgYWR2YW5jZSwgd2UgY2FuIGFsd2F5cyBpbmNyZW1lbnQgdGhlIHBvc2l0aW9uIGJhc2VkIG9uIHdoYXQKCSAgd2FzIHByZXZpb3VzbHkgb3V0cHV0dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTMyCgoyMDE1LTEwLTE0IDE4OjM1OjAwICswMjAwICBwbGFtb3QgPHBpZXJyZS5sYW1vdEBvcGVud2lkZS5mcj4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBGaXggNjRiaXQgY29tcGF0aWJpbGl0eSBpc3N1ZQoJICBTZXRXaW5kb3dMb25nIHdvcmtzIG9ubHkgZm9yIDMyIGJpdCBzeXN0ZW1zLCB0aHVzIHdpbmRvd3MgZXZlbnRzIChtb3ZlL3Jlc2l6ZSkKCSAgd2hlcmUgbm90IGludGVycHJldGVkIG9uIDY0IGJpdCBzeXN0ZW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY2MTcKCjIwMTUtMTAtMTkgMTU6MTU6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBnbDogYmUgY29uc2lzdGVudCBpbiBnb2JqZWN0IGJvaWxlcnBhdGUKCSAgR1NUX0dMX0lTXyogdnMgR1NUX0lTX0dMXyoKCSAgZ2l0IGdyZXAgLWwgJ0dTVF9HTF9JU18nIHwgeGFyZ3Mgc2VkIC1pICdzL0dTVF9HTF9JU18vR1NUX0lTX0dMXy9nJwoKMjAxNS0xMC0xOSAxNTowMjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgYWRkIGdsbGl2ZXNoYWRlciBwcm9ncmFtIHRvIC5naXRpZ25vcmUKCjIwMTUtMTAtMTcgMTI6NDg6MTEgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogZHJvcCBmcmFtZSBpbiBjYXNlIG9mIF9oYW5kbGUoKSBmYWlsdXJlCgkgIEFsbG93cyBiYXNlY2xhc3MgdG8gaGFuZGxlIGl0IGZyb20gdGhlcmUKCSAgUmVsYXRlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MwoKMjAxNS0xMC0xNyAwMTo1MToyNCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSAgcG5tZGVjOiBwcm9wYWdhdGUgaW5wdXQgc3RhdGUgYWZ0ZXIgcGFyc2luZwoJICBTdG9yZSBhbmQgY29weSBpbnB1dCBzdGF0ZSBmaWVsZHMgd2hlbiBzZXR0aW5nIHRoZQoJICBvdXRwdXQgc3RhdGUgb2YgdGhlIGRlY29kZXIuIEF2b2lkcyBwcm9ibGVtcyBsaWtlCgkgIHRoZSBmcmFtZXJhdGUgc2V0IGJ5IGFuIHVwc3RyZWFtIGVsZW1lbnQgYmVpbmcgaWdub3JlZAoJICBSZWxhdGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYzCgoyMDE1LTEwLTE2IDIwOjQ1OjQyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IGNvbXBsZXRlbHkgcmVzZXQgcGFyc2luZyBzdGF0ZSBhdCBmbHVzaAoJICBNYWtlcyBzdXJlIHRoZSBtbmdyIHN0cnVjdCByZWZsZWN0cyBhIGNsZWFuIHN0YXRlCgkgIGZvciB0aGUgbmV4dCBmcmFtZSwgYXZvaWRpbmcgZmFpbHVyZXMgbGlrZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MwoKMjAxNS0xMC0xNyAxNToyNjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsc2hhZGVyZWxlbWVudDogaW1wbGVtZW50IG9uLWRlbWFuZCBjcmVhdGUtc2hhZGVyIHNpZ25hbGxpbmcKCSAgT25lIG1heSBub3QgaGF2ZSBhbiBHc3RHTENvbnRleHQgYXZhaWxhYmxlIG9yIGN1cnJlbnQgaW4gdGhlIHRocmVhZCB3aGVyZSBvbmUKCSAgd291bGQgbmVlZCB0byB1cGRhdGUgdGhlIHNoYWRlci4gIFN1cHBvcnQgdGhpcyBieSBzaWduYWxsaW5nIGNyZWF0ZS1zaGFkZXIKCSAgd2hlbmV2ZXIgdGhlIG9uZS1zaG90ICd1cGRhdGUtc2hhZGVyJyBpcyBzZXQgdG8gVFJVRS4KCjIwMTUtMTAtMTcgMDI6NDI6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBnbC9jYWxheWVyOiBkb24ndCBsZWFrIGEgZ2wgc2hhZGVyIG9iamVjdAoJICBXZSB3aWxsIGFsd2F5cyBvdmVyd3JpdGUgdGhlIGNhX3NpbmstPnJlZGlzcGxheV9zaGFkZXIgd2l0aG91dCBmcmVlaW5nIHRoZQoJICBvYmplY3QuCgoyMDE1LTEwLTE3IDAyOjQwOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogc2VwYXJhdGUgb3V0IHRoZSB3aWRnZXQvd2luZG93IGRlc3Ryb3kgY2FsbGJhY2tzCgkgIEZpeGVzIGFzc2VydGlvbiBkdWUgdG8gdGhlIHNpbmtfZmluYWxpemUoKSBiZWluZyBydW4gYmVmb3JlIHRoZSB3aWRnZXQgZGVzdHJveQoJICBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTk2OQoKMjAxNS0xMC0xNyAwMTowODoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsL2V4YW1wbGVzOiBhZGQgYSBsaXZlIHNoYWRlciBkZW1vIHVzaW5nIHRoZSBuZXcgR3N0R0xTTFN0YWdlCgkgIEltcGxlbWVudGVkIHdpdGggdmlkZW90ZXN0c3JjICEgZ2xzaGFkZXIgISBnbHVwbG9hZCAhIGd0a2dsc2luawoJICBFcnJvcnMgb24gYW4gaW52YWxpZCBzaGFkZXIgY29tcGlsYXRpb24gYXJlIGlnbm9yZWQgaG93ZXZlciBhbnkgZXJyb3IKCSAgcHJvdmlkZWQgYnkgdGhlIGdsc2wgY29tcGlsZXIgaXMgcHJpbnRlZCB0byBzdGRvdXQuCgoyMDE1LTEwLTE2IDAwOjIzOjU2ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogc2tpcCBwYWRkaW5nIHdoZW4gbWFwcGluZyBSVFAgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NjUzCgoyMDE1LTEwLTE0IDE5OjMyOjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogUHJvcGVybHkgZm9yd2FyZCB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzgKCjIwMTUtMTAtMTQgMTk6MjQ6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgQ09MT1JfUUNPTV9Gb3JtYXRZVlU0MjBTZW1pUGxhbmFyMzJtTXVsdGlWaWV3IGZvciBkZWNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTc4CgoyMDE1LTEwLTE2IDAyOjU3OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogYWRkIGJyYWNrZXRzIGFyb3VuZCBwb2ludGVyIGRlcmVmZXJlbmNlIHJlZmVyZW5jaW5nIGFuIGFycmF5CgkgIFdoaWxlIHRlY2huaWNhbGx5LCBpIGlzIGFsd2F5cyAwIGFuZCAqdmVydGV4X3NvdXJjZXNbaSsrXSBpcyBlcXVpdmFsYW50CgkgIHRvICgqdmVydGV4X3NvdXJjZXMpW2krK10uICBCZSBmdXR1cmUtcHJvb2YgaW4gdGhlIGNhc2Ugb2YgY29kZQoJICBtb3Zlcy9jaGFuZ2VzL2V0Yy4KCSAgQ0lEIDEzMjc0MDYKCjIwMTUtMTAtMTUgMjM6NDc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBnbC9jYW9wZW5nbGxheWVyc2luazogcG9ydCB0byBuZXcgR3N0R0xTaGFkZXIgQVBJCgkgIGZpeGVzIGJ1aWxkIGVycm9yOgoJICAidW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZToKCSAgZ3N0X2dsX3NoYWRlcl9jb21waWxlX3dpdGhfZGVmYXVsdF92Zl9hbmRfY2hlY2siCgoyMDE1LTEwLTE1IDIyOjQyOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbC90ZXN0czogcG9ydCBnbGNvbnRleHQgdGVzdCB0byBvcGVuZ2wKCSAgTm93IHVzZXMgdmFvJ3MgYW5kIHZibydzIHdoZW4gcG9zc2libGUgbGlrZSB0aGUgcmVzdCBvZiB0aGUgZ3N0Z2wgbGlicmFyeS4KCjIwMTUtMDktMDQgMTY6MTY6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSAgZ2xzaGFkZXI6IHBvcnQgZWxlbWVudCB0byBHc3RHTFNMU3RhZ2UKCSAgLSBQcm92aWRlIGEgc2hhZGVyIHByb3BlcnR5IHRvIHNldCB0aGUgZnVsbCBzaGFkZXIgcGlwZWxpbmUKCSAgLSBQcm92aWRlIHZlcnRleCBhbmQgZnJhZ21lbnQgcHJvcGVydGllcyBmb3IganVzdCBwcm92aWRpbmcgc2ltcGxlCgkgIHNoYWRlciBzb3VyY2VzLgoKMjAxNS0wOS0wNCAxNjowMjozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHNoYWRlcjogcG9ydCB0byB1c2luZyBHc3RHTFNMU3RhZ2Ugb2JqZWN0cyBmb3Igc3RyaW5nIG1hbmFnZW1lbnQKCSAgQSBHc3RHTFNoYWRlciBpcyBub3cgc2ltcGx5IGEgY29sbGVjdGlvbiBvZiBzdGFnZXMgdGhhdCBhcmUKCSAgY29tcGlsZWQgYW5kIGxpbmtlZCB0b2dldGhlciBpbnRvIGEgcHJvZ3JhbS4gIFRoZSB1bmlmb3JtL2F0dHJpYnV0ZQoJICBpbnRlcmZhY2UgaGFzIHJlbWFpbmVkIHRoZSBzYW1lLgoKMjAxNS0wOS0wNCAxNDozNjo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSAgZ2xzbDogYWRkIGEgc2hhZGVyIHN0YWdlIG9iamVjdCBHc3RHTFNMU3RhZ2UKCSAgUmVwcmVzZW50cyBhIHN0YWdlICh2ZXJ0ZXgsIGdlb21ldHJ5LCBmcmFnbWVudCwgZXRjKSBpbiB0aGUgc2hhZGVyCgkgIHBpcGVsaW5lLgoKMjAxNS0wOS0wNCAwMDowOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkgIGdsL3NoYWRlci92YXJpYWJsZXM6IGluY2x1ZGUgZ2VuZXJpYyBnbC5oIGhlYWRlcgoJICBPdGhlcndpc2Ugd2UgbWF5IG1pc3Mgc29tZSBmb3J3YXJkIGRlY2xhcmF0aW9ucwoJICBGaXhlcyBidWlsZCBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBHc3RHTFNMU3RhZ2UKCjIwMTUtMDgtMjAgMTU6MTE6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2wuYzoKCSAgZ2w6IGFkZCBzb21lIEdMU0wgdXRpbGl0eSBmdW5jdGlvbnMKCSAgU3BlY2lmaWNhbGx5IHBhcnNpbmcvc2V0dGluZyBHTFNMIHZlcnNpb25zIGFuZCB0aGUgc2hhZGVyIHJlbGF0ZWQKCSAgZnVuY3Rpb24gdGFibGUuCgoyMDE1LTEwLTE0IDIyOjUxOjI5ICswMjAwICBQYXVsIEFyemVsaWVyIDxwYXVsLmFyemVsaWVyQGZyZWUuZnI+CgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSAgZHRsczogRml4IG5hbWUgY29uZmxpY3Qgd2l0aCBvcGVuc3NsIG9uIHdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1OTIKCjIwMTUtMDktMDQgMTg6NDA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IGlmIG1lZGlhIHNlcXVlbmNlIGlzIG5vdCBzcGVjaWZpZWQsIHVzZSAwCgkgIEFsbG93cyBwbGF5bGlzdHMgdGhhdCBhcmUgbWlzc2luZyB0aGUgbWVkaWFzZXF1ZW5jZSBpbmZvcm1hdGlvbiB0bwoJICBiZSBjb3JyZWN0bHkgcGFyc2VkLiBJZiB0aGUgcGxheWxpc3Qgd2FzIHVwZGF0ZWQgd2l0aG91dCByZXNldGluZwoJICB0aGUgbWVkaWFzZXF1ZW5jZSBpdCB3b3VsZCBjb25zdGFudGx5IGluY3JlYXNlIG92ZXIgc3Vic2VxdWVudCB1cGRhdGVzLAoJICBsZWFkaW5nIHRvIGlzc3VlcyBkdXJpbmcgcGxheWJhY2suCgoyMDE1LTA4LTMwIDE0OjU2OjU3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZpeCBmYWxsYmFjayBidWZmZXIgYWxsb2NhdGlvbgoJICBDb3B5LXBhc3RlIG1pc3Rha2U7IHRoZSB3bF9idWZmZXIgd2FzIGF0dGFjaGVkIG9uIHRoZSB3cm9uZyBidWZmZXIuLi4KCjIwMTUtMDgtMzAgMTQ6NTU6MTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiByZW5hbWUgR3N0V2xEaXNwbGF5Ojpmb3JtYXRzIGFycmF5IHRvIHNobV9mb3JtYXRzCgkgIFRoZXNlIGZvcm1hdHMgYXJlIHNwZWNpZmljIHRvIHRoZSB3bF9zaG0gaW50ZXJmYWNlLiBXZSBhcmUgZ29pbmcKCSAgdG8gYWRkIGRtYWJ1ZiBmb3JtYXRzIGxhdGVyIGFzIHdlbGwuCgoyMDE1LTA4LTI5IDIyOjI5OjE3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmg6CgkgIHdheWxhbmRzaW5rOiByZXBsYWNlIHRoZSBjdXN0b20gR3N0V2xTaG1NZW1vcnkgd2l0aCBHc3RGZE1lbW9yeQoKMjAxNS0xMC0xNCAxOTo1MzozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogVXBkYXRlIFBPVEZJTEVTLmluIGZvciBPcGVuQ1YgQysrIGZpbGUgcmVuYW1lCgoyMDE1LTEwLTE0IDE3OjQxOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogQWxsb3cgZGVidWdnaW5nIG9mIHRoZSBwbGF5bGlzdAoJICBIZWxwcyBkZWJ1Z2dpbmcgaXNzdWVzCgoyMDE1LTEwLTE0IDE3OjM4OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQXZvaWQgbmVnYXRpdmUgc2VxdWVuY2UgbnVtYmVycwoJICBGb3IgbGl2ZSBzdHJlYW1zLCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2VydGFpbiBkaXN0YW5jZQoJICBiZXR3ZWVuIHRoZSBzZXF1ZW5jZSB0byBwbGF5IGFuZCB0aGUgbGFzdCAoZWFybGllc3QpIGZyYWdtZW50LgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGl0IGFzc3VtZXMgdGhlcmUgYXJlIGF0IGxlYXN0IDMgZnJhZ21lbnRzIGluCgkgIHRoZSBwbGF5bGlzdCwgd2hpY2ggbWlnaHQgbm90IGFsd2F5cyBiZSB0aGUgY2FzZSAobGlrZSBpbiB0aGUgY2FzZQoJICBvZiBhIHNlcnZlciByZXN0YXJ0aW5nIGFuZCBncmFkdWFsbHkgYWRkaW5nIGZyYWdtZW50cykuCgkgIEluIG9yZGVyIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIG5lZ2F0aXZlIHNlcXVlbmNlIG51bWJlcnMgKHdoaWNoCgkgIHdpbGwganVzdCBsb29wIGZvcmV2ZXIpLCBsaW1pdCB0aGUgbmV3IHRhcmdldCBzZXF1ZW5jZSBudW1iZXIgdG8KCSAgdGhlIGhpZ2hlc3Qgb2Y6CgkgICogZWl0aGVyIHRoZSBmaXJzdCBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIHBsYXlsaXN0IChmYWxsYmFjaykKCSAgKiBvciAzIGZyYWdtZW50cyBmcm9tIHRoZSBsYXN0IG9uZSAoc3RhbmRhcmQgYmVoYXZpb3VyKQoKMjAxNS0xMC0xNCAxNTozMDowNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSAgb3BlbmN2OiBzd2l0Y2ggcmVtYWluaW5nIHRvIEMrKwoJICBTd2l0Y2ggcmVtYWluaW5nIEMgZmlsZXMgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZUNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTQgMTA6MzE6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBTZXQgZGVmYXVsdCBsYXN0X2J5dGVfcG9zIHRvIC0xCgkgIFRoZSB2YWx1ZSBpcyBvcHRpb25hbCBpbiB0aGUgcmFuZ2UsIGFuZCBpZiBpdCBpcyBhYnNlbnQgaXQgbWVhbnMgd2Ugc2hvdWxkCgkgIGRvd25sb2FkIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLiBOb3QgdW50aWwgcG9zaXRpb24gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xNCAxMDozNDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogSFRUUCByYW5nZXMgYXJlIGluY2x1c2l2ZSwgR1N0cmVhbWVyIHNlZ21lbnQuc3RvcCBpcyBleGNsdXNpdmUKCSAgVHJhbnNsYXRlIHRoZSB2YWx1ZXMgYWNjb3JkaW5nbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTQgMTQ6MzQ6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgb3BlbmN2OiBtb3Rpb25jZWxsczogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0bW90aW9uY2VsbHMgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTE0IDIyOjM1OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBsaXZlYWRkZXIgZGlyZWN0b3J5IHRvIHRoZSBjcnVmdCBsaXN0CgkgIFNvIHRoYXQgd2UgY2FuIHJlbW92ZSBpdCBhbmQgYXZvaWQgZHVwbGljYXRlIEdzdExpdmVBZGRlciBHVHlwZSByZWdpc3RyYXRpb25zLgoKMjAxNS0xMC0xMyAxMjo0MDowNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbDogZml4IGxlYWsgaW4gZ3N0X2dsX2luc2VydF9kZWJ1Z19tYXJrZXIoKQoJICBUaGUgc3RyaW5nIGFsbG9jYXRlZCBieSBnX3Zhc3ByaW50ZigpIHdhcyBsZWFrZWQuCgkgIFJlcHJvZHVjZWQgdXNpbmcgdGhlCgkgIHZhbGlkYXRlLmZpbGUuY29tcG9zaXRvci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHZhbGlkYXRlIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDkyCgoyMDE1LTEwLTEyIDExOjA3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSB0byBnaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjQyNAoKMjAxNS0xMC0xMiAwOTozNjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgbGl2ZWFkZGVyOiBsYXRlbmN5IHByb3BlcnR5IGlzIGFuIHVpbnQ2NCBpbiBhdWRpb21peGVyCgoyMDE1LTEwLTExIDIzOjQ0OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkgIHRleHRvdmVybGF5OiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3R0ZXh0b3ZlcmxheSB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTEgMjE6NTQ6MzAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSAgb3BlbmN2OiBweXJhbWlkc2VnbWVudDogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0cHlyYW1pZHNlZ21lbnQgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTA1IDAwOjU1OjM2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogUmVtb3ZlIHBsdWdpbiwgcmVwbGFjZSBieSBjb21wYXQgc3ViY2xhc3Mgb2YgYXVkaW9taXhlcgoJICBOZXcgc3ViY2xhc3Mgd2l0aCBhIHNpbWlsYXIgYmVoYXZpb3VyIGFzIHRoZSBvbGQgbGl2ZWFkZGVyLCBidXQKCSAgYSBzbGlnaHRseSBkaWZmZXJlbnQgQVBJIGFzIHRoZSBsYXRlbmN5IGlzIGluIG5hbm9zZWNvbmRzLCBub3QKCSAgbWlsbGlzZWNvbmRzLiBBbHNvLCB0aGUgbmV3IGxpdmVhZGRlciBoYXMgYSBlZmZlY3RpdmUgbGF0ZW5jeSB0aGF0CgkgIGlzIGxhdGVuY3kgKyBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uLiBJbiBwcmFjdGljZSwganVzdCBzZXR0aW5nIGEgbm9uLXplcm8KCSAgbGF0ZW5jeSB3aXRoIHRoZSBuZXcgYXVkaW9taXhlciBnaXZlcyB5b3UgdGhlIHJpZ2h0IGJlaGF2aW9yIGluIDk5JSBvZiB0aGUKCSAgY2FzZXMuCgoyMDE1LTEwLTExIDEwOjAwOjQzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkgIGRhc2hkZW11eDogZml4IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gZ3N0X250cF9jbG9ja19uZXcKCSAgRm91bmQgd2l0aCBnc3QtaW5zcGVjdC0xLjAgLWIgaW4gZ3N0LXVuaW5zdGFsbGVkIGVudi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjM4MwoKMjAxNS0xMC0xMCAxNzo1MjoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkgIGN2c29iZWw6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdGN2bHNvYmVsIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsIGFuZAoJICBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xMCAxNzowMDo1NSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSAgY3ZsYXBsYWNlOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3RjdmxhcGxhY2UgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywgYW5kCgkgIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTEwIDE2OjU3OjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jcHA6CgkgIGN2ZXF1YWxpemVoaXN0OiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3RjdmVxdWFsaXplaGlzdCB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTAgMTQ6MTA6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuY3BwOgoJICBjdmVyb2RlOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3RjdmVyb2RlIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsIGFuZAoJICBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wOCAxNDo0NjoxMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yjogc2ltcGxpZnkgWkFQIGZpbGUgZm9ybWF0IHBhcnNlcgoJICBTaW1wbGlmeSBzdGF0ZSBoYW5kaW5nLCBkcm9wIHVubmVlZGVkIGxvY2FsIHZhcnMsIGV0Yy4KCjIwMTUtMTAtMDcgMTQ6MjI6NDYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgaGFzX25leHRfcGVyaW9kCgkgIGdzdF9tcGRfY2xpZW50X2hhc19uZXh0X3BlcmlvZCBub3cgY2FsbHMgZ3N0X21wZF9jbGllbnRfc2V0dXBfbWVkaWFfcHJlc2VudGF0aW9uCgkgIHRvIHJlZnJlc2ggdGhlIHBlcmlvZCBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE4NgoKMjAxNS0xMC0wNyAwODo0ODoxNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IEZpeCBidWlsZCBlcnJvcgoJICBCdWlsZCBlcnJvciBkdWUgdG8gd3JvbmcgYXJndW1lbnQgdHlwZSBpbiBkZWJ1ZyBtZXNzYWdlCgkgIGFhZ2ctPnByaXYtPm9mZnNldCBhbmQgbmV4dF9vZmZzZXQgYXJlIG9mIHR5cGUgaW50NjQsIGJ1dCB1aW50NjQKCSAgZm9ybWF0dGVyIGlzIGJlaW5nIHVzZWQgaW4gbG9ncy4gQ2hhbmdpbmcgYWxsIHRob3NlIHRvIGludDY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwNjUKCjIwMTUtMTAtMDYgMjE6MjM6MTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBQcm94eSB0aGUgaWdub3JlLWVvcyB2aWRlb2FnZ3JlZ2F0b3IgcHJvcGVydHkgYXMgd2VsbAoJICBJZGVudGljYWwgdG8gaG93IHRoZSB6LW9yZGVyIHByb3BlcnR5IGlzIHByb3hpZWQKCjIwMTUtMTAtMDUgMTE6MjE6MDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGZpeCBzYW1wbGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIHNhbXBsZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgaXMgbm90IGJlaW5nIGZyZWVkIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA3MAoKMjAxNS0xMC0wMSAxMToxODo1MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBwbHVnIG1lbW9yeS1sZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDAxCgoyMDE1LTEwLTAyIDIyOjU3OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBQb3J0IHRvIG5ldyBHTGliIG11dGV4L2NvbmQgQVBJCgoyMDE1LTEwLTAyIDIyOjI0OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFVwZGF0ZSBHTGliIGRlcGVuZGVuY3kgdG8gMi40MC4wCgoyMDE1LTEwLTAyIDE5OjAyOjI2ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuY3BwOgoJICBjdmRpbGF0ZTogQ2hhbmdlIGdzdGN2ZGlsYXRlIHRvIEMrKwoJICBDaGFuZ2UgdGhlIGdzdGN2ZGlsYXRlLmMgZmlsZSBleHRlbnNpb24gdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZSBmb3IKCSAgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBlbGVtZW50cyBvZiBvcGVuY3YgYW5kIGJlY2F1c2UgT3BlbmN2IG5vdCBzdXBwb3J0IEMKCSAgbGFuZ3VhZ2UgaW4gbmV3IEFQSSAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTg6NTA6NDUgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSAgc2tpbmRldGVjdDogQ2hhbmdlIGdzdHNraW5kZXRlY3QgdG8gQysrCgkgIENoYW5nZSB0aGUgZmlsZSBleHRlbnNpb24gdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZSBmb3IgY29uc2lzdGVuY3kKCSAgd2l0aCBvdGhlciBlbGVtZW50cyBvZiBvcGVuY3YgYW5kIGJlY2F1c2UgT3BlbmN2IG5vdCBzdXBwb3J0IEMgbGFuZ3VhZ2UgaW4KCSAgbmV3IEFQSSAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMDgtMzEgMTc6NDM6MjYgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBvcGVuY3Z1dGlsczogYWRkIGV4dGVybiBDLCBmb3IgdGhlIG9wZW5jdiBlbGVtZW50cyB3b3JrLgoJICBBZGRpbmcgR19CRUdJTl9ERUNMUyBhbmQgR19FTkRfREVDTFMgdG8gZ3N0b3BlbmN2dXRpbHMuaAoJICB0byBhbGxvdyBDLXN0eWxlIGxpbmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTg6NDA6NDMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJICByZXRpbmV4OiB1c2UgT3BlbkNWIG5hbWVzcGFjZQoJICBBcyBwYXJ0IG9mIHRoZSBzd2l0Y2ggdG8gQysrLCB1c2UgdGhlIG5ldyBPcGVuQ1YgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE4OjEwOjMyICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJICBjdnNtb290aDogcG9ydCB0byBDKysKCSAgQ2hhbmdlIHRoZSBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvciBjb25zaXN0ZW5jeQoJICB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdiBhbmQgYmVjYXVzZSBPcGVuY3Ygbm90IHN1cHBvcnQgQyBsYW5ndWFnZSBpbgoJICBuZXcgQVBJIDIuNC4xMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxNzo0ODo0NyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguY3BwOgoJICByZXRpbmV4OiBDaGFuZ2UgcmV0aW5leCB0byBDKysKCSAgQ2hhbmdlIHRoZSBnc3RyZXRpbmV4LmMgZmlsZSB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlLgoJICBJdCBpcyBuZWNlc3NhcnkgdG8gbWlncmF0ZSB0aGUgcmV0aW5leCBlbGVtZW50IHRvIEMrKywKCSAgYmVjYXVzZSBuZXcgT3BlbmN2IEFQSSBsZWF2ZXMgb2Jzb2xldGUgZnVuY3Rpb25zIGxpa2UgY3ZTbW9vdGguCgkgIFRoaXMgZWxlbWVudCB1c2VzIHRoaXMgZnVuY3Rpb24uCgkgIFlvdSBjYW4gc2VlIGluIHRoaXMgbGluazoKCSAgaHR0cDovL2RvY3Mub3BlbmN2Lm9yZy9tb2R1bGVzL2ltZ3Byb2MvZG9jL2ZpbHRlcmluZy5odG1sPwoJICBoaWdobGlnaHQ9Y3ZzbW9vdGgjdm9pZCBjdlNtb290aChjb25zdCBDdkFyciogc3JjLCBDdkFyciogZHN0LAoJICBpbnQgc21vb3RodHlwZSwgaW50IHNpemUxLCBpbnQgc2l6ZTIsIGRvdWJsZSBzaWdtYTEsIGRvdWJsZSBzaWdtYTIpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTc6MTg6MzMgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSBhbm90aGVyIHVudXNlZCB2YXJpYWJsZQoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNzowMjo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBDdlBvaW50IHZhbHVlcyBjaGFuZ2VkIGZyb20gdWludCB0byBpbnQKCSAgVGhlIHggYW5kIHkgdmFsdWVzIG9mIEN2UG9pbnQgY2hhbmdlZCBmcm9tIHVuc2lnbmVkIHRvIHNpZ25lZCBpbnRlZ2VycwoJICBpbiBPcGVuQ1YgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE2OjIyOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IG5lZWQgdG8gbWlncmF0ZSB0byBDKysKCSAgVGhlIGNhc2NhZGUgY2xhc3NpZmllciBjaGFuZ2VzIGl0cyBzdHJ1Y3R1cmUgb24gbmV3IHZlcnNpb24gb2YgT3BlbkNWIDIuNC4xMS4KCSAgSXQgaXMgbmVlZCB0byBtaWdyYXRlIHRvIEMrKyB0byB1dGlsaXplIHRoZSBuZXcgbG9hZCBtZXRob2Qgb2YgT3BlbkNWIHdoaWNoCgkgIGFsbG93cyB0byBsb2FkIHRoZSBvbGQgYW5kIG5ldyBjbGFzc2lmaWVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNjowMToyOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIGhhbmRkZXRlY3Q6IENoYW5nZSBnc3RoYW5kZGV0ZWN0IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGdzdGhhbmRkZXRlY3QuYyBmaWxlIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUuCgkgIEl0IGlzIG5lY2Vzc2FyeSB0byBtaWdyYXRlIHRoZSBoYW5kZGV0ZWN0IHBsdWdpbiB0byBDKyssCgkgIGluIG9yZGVyIHRvIGxvYWQgbmV3IGFuZCBvbGQgY2xhc3NpZmllcnMsIHRvIG1ha2UgaGFuZGRldGVjdCB3b3JrCgkgIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgT3BlbmN2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE3OjA1OjExICswMjAwICBQb2xvY2hvbl9zdHJlZXQgPHBvbG9jaG9uc3RyZWV0QGdteC5mcj4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsczogZml4IHByaW50ZiBmb3JtYXQgb24gd2luMzIKCjIwMTUtMDgtMjAgMTY6MDM6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvcGFyc2UtanBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIGdzdHJlYW1lcjogYmFkOiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gY29udGV4dCBwYXJzZSBmYWlscwoJICBXaGVuIGdfb3B0aW9uX2NvbnRleHRfcGFyc2UgZmFpbHMsIGNvbnRleHQgYW5kIGVycm9yIHZhcmlhYmxlcyBhcmUgbm90IGdldHRpbmcgZnJlZSdkCgkgIHdoaWNoIHJlc3VsdHMgaW4gbWVtb3J5IGxlYWtzLiBGcmVlJ2luZyB0aGUgc2FtZS4KCSAgQW5kIHJlcGxhY2luZyBnX2Vycm9yX2ZyZWUgd2l0aCBnX2NsZWFyX2Vycm9yLCB3aGljaCBjaGVja3MgaWYgdGhlIGVycm9yIGJlaW5nIHBhc3NlZAoJICBpcyBub3QgTlVMTCBhbmQgc2V0cyB0aGUgdmFyaWFibGUgdG8gTlVMTCBvbiBmcmVlJ2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg1NAoKMjAxNS0wNi0yNSAxOToxNzozNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IG9wdGltaXplIGJsZW5kaW5nCgkgIFNraXAgZW1wdHkgc291cmNlIHBpeGVscyB3aGVuIGJsZW5kaW5nIGFuIGltYWdlLiBUaGVyZSBjYW4gYmUgaHVuZHJlZHMKCSAgb2YgaW1hZ2VzIHRvIGJsZW5kIGF0IGVhY2ggZnJhbWUsIHNvIHRoaXMgYnJpbmdzIGEgbmljZSBwZXJmb3JtYW5jZQoJICBib29zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyMQoKMjAxNS0wOC0xOSAxNzoxODozMSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFVzZSB0aGUgd2luZG93IHNpemUgZnJvbSBkb3duc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHJlbmRlcmluZyB0aGUgb3ZlcmxheSBhdCBhIHJlc29sdXRpb24gbWF0Y2hpbmcgdGhlIHZpZGVvCgkgIHJlc29sdXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjQKCjIwMTQtMDktMDQgMTg6MTY6MDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIG5lZ290aWF0aW9uCgkgIFRoaXMgaXMgbW9zdGx5IGEgY29weS9wYXN0ZSBvZiB0aGUgbmVnb3RpYXRpb24gZnVuY3Rpb24gaW4KCSAgYmFzZXRleHRvdmVybGF5LCB3aGljaCB3YXMgaW1wcm92ZWQgcmVjZW50bHkgdG8gaGFuZGxlIG1hbnkgbW9yZSBjYXNlcy4KCSAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIG5lZ290aWF0ZSBhIHdpbmRvdyBzaXplIHdpdGggZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyNAoKMjAxNS0wOC0xOSAxMzo0NDozNSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVuZGVyIHRoZSBzdWJ0aXRsZXMgd2l0aCB0aGUgcHJvcGVyIGFzcGVjdAoJICBUaGlzIGJ1bXBzIHRoZSBsaWJhc3MgdmVyc2lvbiByZXF1aXJlbWVudCB0byAwLjEwLjIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjQKCjIwMTUtMDktMDcgMTY6MjA6NDIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0OiBhZGRlZCB1bml0IHRlc3QgZm9yIHByZXNlbnRhdGlvbiB0aW1lIG9mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDA5CgoyMDE1LTA5LTMwIDEwOjI3OjA2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHRsczogcmVxdWlyZSBvcGVuc3NsID49IDEuMC4xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4OTIKCjIwMTUtMTAtMDIgMTQ6NDY6NTkgKzAyMDAgIFBhdWwgQXJ6ZWxpZXIgPHBhdWwuYXJ6ZWxpZXJAZnJlZS5mcj4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsczogZml4IHByaW50ZiBmb3JtYXQgb24gd2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTk4MQoKMjAxNS0wOS0zMCAxMTowMDozOSArMDgwMCAgSm9obiBDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkgIGRhc2hkZW11eDogQ29ycmVjdGx5IGFzc2lnbiBlYXJsaWVzdCBwdHMgaW5zdGVhZCBvZiBvdmVycmlkaW5nIGl0IHdpdGggZmlyc3Qgb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4MjQKCjIwMTUtMDktMTUgMDM6MTQ6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L2dzdHBsdWdpbi5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxdDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIG9uIG9zeC9pb3MKCSAgSW5jbHVkaW5nOgoJICAtIE5lY2Vzc2FyeSBjb25maWd1cmUgY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IGNvbXBpbGUgdGltZSBwbGF0Zm9ybSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgcnVudGltZSBxdCBpT1MvT1NYIHBsYXRmb3JtIGRldGVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTAwCgoyMDE1LTA5LTI4IDExOjI5OjI5ICswMTAwICBKb2huIFNsYWRlIDxqb2huQGp0ZXMubmV0PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggaW5kZW50YXRpb24gd2l0aCBnc3QtaW5kZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MzIKCjIwMTUtMTAtMDIgMTE6MzE6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSAgYXVkaW92aXN1YWxpemVyczogRml4IG5vZGlzdF9IRUFERVJTCgoyMDE1LTEwLTAyIDE0OjU2OjQxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIFJlbW92ZSBiYXNlYXVkaW92aXN1YWxpemVyIHRlc3QuCgkgIFRoZSBiYXNlIGNsYXNzIGhhcyBtb3ZlZCBpbnRvIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTUtMDktMzAgMTk6MDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENvbnZlcnQgR1NUX0VSUk9SX09CSkVDVCgpIGZvciBzZWVrIGV2ZW50cyB0byBHU1RfREVCVUdfT0JKRUNUKCkKCjIwMTUtMDktMzAgMTk6MDM6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZvciB0aGUgc3RhcnQgdGltZSBzZWxlY3Rpb24sIG9ubHkgc2V0IHRoZSBzZWdtZW50IHBvc2l0aW9uCgkgIHNlZ21lbnQudGltZSBhbmQgc2VnbWVudC5zdGFydCBjYW4gc3RheSB0aGUgc2FtZSwgYW5kIHdlcmUgYWx3YXlzIHRoZSBzYW1lCgkgIGJlZm9yZSBhbnl3YXkgYmVjYXVzZSBvZiBhIG1pc3Rha2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjMKCjIwMTUtMDktMzAgMTk6MDE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTZWxlY3QgdGhlIGluaXRpYWwgb2Zmc2V0IGJhc2VkIG9uIHRoZSBzdGFydCBzZWdtZW50IHBvc2l0aW9uCgkgIGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nIDAuIE90aGVyd2lzZSB3ZSBtaWdodCBvdXRwdXQgYSBsb3Qgb2Ygc2lsZW5jZSBpbiB0aGUKCSAgYmVnaW5uaW5nIGluc3RlYWQgb2Ygb3V0cHV0dGluZyBmcm9tIHRoZSByZWxldmFudCBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYyMwoKMjAxNS0xMC0wMSAxNTozNTozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgYXVkaW92aXN1YWxpemVyczogbWVyZ2UgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3NlcwoJICBUaGVzZSBwbHVnaW5zIG5vdyB1c2UgdGhlIGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzIGluIHBidXRpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0xMC0wMiAwMTowMTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogbW92ZSBkZWJ1Z2dpbmcgcmVsYXRlZCBmdW5jdGlvbnMgdG8gdGhlaXIgb3duIGZpbGUKCjIwMTUtMTAtMDEgMjM6MjA6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2xjb2xvcnNjYWxlOiB1c2UgZ2xiYXNlZmlsdGVyIHZmdW5jcwoJICBVc2VzIGxlc3MgY29kZSBcby8KCSAgRml4ZXMgbGVnYWN5IG9wZW5nbCByZW5kZXJpbmcgXG8vCgoyMDE1LTA5LTE2IDEyOjUwOjQ2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWN0aXZhdGUgc3RyZWFtcyBiZWZvcmUgY29uZmlndXJpbmcgYml0cmF0ZQoJICBEb2luZyB0aGUgY29udHJhcnkgaGFzIG5vIGVmZmVjdCBhbmQgdGhlIGNvbnNlcXVlbmNlIGlzIHRoYXQgcGxheWJhY2sKCSAgd2lsbCBzdGFydCB3aXRoIHRoZSBsb3dlc3QgYml0cmF0ZSBldmVuIGlmIHdlIGNhbiBhbHJlYWR5IGhhbmRsZQoJICBoaWdoZXIgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwOAoKMjAxNS0wNi0wOCAxNTozMzoyMiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IFBsYXlSZWFkeSBXUk0gcGFyc2luZyBzdXBwb3J0CgkgIElmIHRoZSBtYW5pZmVzdCBoYXMgYSBQcm90ZWN0aW9uSGVhZGVyIG5vZGUgdGhlbiBwYXJzZSBpdCBhbmQgZW1pdAoJICBwcm90ZWN0aW9uIGV2ZW50cyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBwcm90ZWN0aW9uIFN5c3RlbUlELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjEzCgoyMDE1LTA5LTAzIDE1OjExOjAwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWx3YXlzIHVzZSB0aW1lc2NhbGUgZm9yIGdzdCB0aW1lc3RhbXAgY2FsY3VsYXRpb24KCSAgTm90IGRvaW5nIHRoaXMgY2FuIGxlYWQgdGhlIGRlbXV4ZXIgdG8gYXR0ZW1wdCBkb3dubG9hZGluZyBmcmFnbWVudHMKCSAgZm9yIGFuIGludmFsaWQgc3RhcnQgdGltZS4gVGhlIHNlcnZlciB3b3VsZCB0aGVuIHNlbmQgYSBIVFRQCgkgIFByZWNvbmRpdGlvbiBmYWlsZWQgZXJyb3IsIHRoZSBkZW11eGVyIHdvdWxkIHRyeSBzb21lIG1vcmUgdGltZXMgdG8KCSAgZG93bmxvYWQgdGhlIGludmFsaWQgZnJhZ21lbnQgYW5kIGV2ZW50dWFsbHkgZXJyb3Igb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTIzCgoyMDE1LTA5LTMwIDA4OjM2OjE1ICswMjAwICBBbnRvaW5lIEphY291dG90IDxhamFjb3V0b3RAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogUGFzcyBHTF9DRkxBR1MgdG8gZy1pci1zY2FubmVyCgkgIFRoaXMgdW5icmVha3MgYnVpbGRpbmcgd2hlbiBzb21lIGhlYWRlcnMgYXJlIHVuZGVyIGEgbm9uLXN0YW5kYXJkIHBhdGguCgkgIGUuZy4gL3Vzci9YMTFSNi9pbmNsdWRlIGFzIG9uIE9wZW5CU0QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4NTAKCjIwMTUtMDktMzAgMDA6NDQ6MTYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGRpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTg1MgoKMjAxNS0wOS0zMCAxMzoxMzoxOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IHR5cGVjYXN0IGJpdC1tYXNrIHRvIGd1aW50NjQgdG8gZml4IHNlZ21lbnRhdGlvbiBmYXVsdAoJICBXaGlsZSBjcmVhdGluZyBjYXBzIGluIGF1ZGlvaW50ZXJsZWF2ZSB0ZXN0cywgYml0bWFzayBpcyBiZWluZyBzZXQgYXMgMHg5CgkgIFRoaXMgaXMgcmVzdWx0aW5nIGluIHNlZ21lbnRhdGlvbiBmYXVsdC4gRml4IHRoZSBzYW1lIGJ5IHR5cGVjYXN0aW5nIHRvIGd1aW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTg0MAoKMjAxNS0wOS0zMCAxNToxNzozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeHVwIHN0cnN0ciBsZW5ndGhzIHNvIHdlIGRvbid0IG92ZXJydW4KCjIwMTUtMDktMzAgMTM6MzE6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZW1vdmUgdXNlbGVzcyByZWxlYXNlX2J1ZmZlcgoJICBJdCdzIGEgbGVmdG92ZXIgZnJvbSB3aGVuIHdlIHdlcmVuJ3Qgb3V0cHV0dGluZyBHc3RCdWZmZXIncyBhbmQKCSAgcmV0dXJuaW5nIHJhdyB0ZXh0dXJlIGlkJ3MuCgoyMDE1LTA5LTMwIDAxOjUzOjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiB1c2UgZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQgZm9yIHNldHRpbmcgZGlzcGxheS9vdGhlcl9jb250ZXh0CgkgIDEuIFNvIHdlIGdldCB0cmFja2luZyBpbnNpZGUgR3N0RWxlbWVudCBwcm9wZXJseSB3aGVuIGUuZy4gYWRkaW5nIHRvIGEgYmluCgkgIDIuIFJlbW92ZXMgcmVkdW5kYW50IGNvZGUuICBOb3cgb25seSBvbmUgcGxhY2Ugd2hlcmUKCSAgR3N0Q29udGV4dC0+R3N0R0xEaXNwbGF5L0dzdEdMQ29udGV4dCB0cmFuc2Zvcm1hdGlvbiBvY2N1cnMKCSAgMy4gRml4ZXMgYSBtZW1vcnkgbGVhayBpbiB0aGUgcHJvY2VzcwoJICA0LiBNYWtlIHRoZSByZXRyaWV2YWwgb2YgZGVidWcgY2F0ZWdvcmllcyB0aHJlYWQgc2FmZQoKMjAxNS0wOS0yOSAyMjo1Nzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IGFkZCBzb21lIEdMIGRlYnVnIHN0YXRlbWVudHMgdG8gc2hvdyB1cCBpbiBHTCB0cmFjZXMKCjIwMTUtMDgtMzAgMTc6MTE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IG0zdThwbGF5bGlzdDogbW9yZSBjbGVhbi11cHMKCSAgUmVtb3ZlIHVudXNlZCBmdW5jdGlvbnM7IG1vdmUgR3N0TTNVOCBzdHJ1Y3QgaW50byAuYyBmaWxlLAoJICBhbmQgaW5kZW50IHRoZSBoZWFkZXIgc28gaXQncyBuaWNlIHRvIHJlYWQuCgoyMDE1LTA4LTMwIDE3OjAxOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IGZpeCBzaWxseSBxdWV1ZSBpdGVyYXRpb24gY29kZQoKMjAxNS0wOC0zMCAxNjo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBtb3JlIG1pbm9yIHBsYXlsaXN0X3JlbmRlcigpIGNsZWFuLXVwcwoJICBNb3ZlIHRoZSBUQUcgZGVmaW5lcyBkaXJlY3RseSBpbnRvIHRoZSBjb2RlLCBub3Qgc3VyZSB3aGF0CgkgIHRoZWlyIHB1cnBvc2VzIGlzLCB0aGVzZSBhcmUgcHJpbnRmIGZvcm1hdCBzdHJpbmdzIHNvIGhhdmluZwoJICB0aGVtIGRpcmVjdGx5IGFzIGxpdGVyYWxzIGluIHRoZSBjb2RlIHdoZXJlIHRoZXkncmUgdXNlZAoJICBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8gZm9sbG93LgoKMjAxNS0wOC0zMCAxNjozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBtb3ZlIGVudHJ5IHJlbmRlcmluZyBpbnRvIHJlbmRlcl9wbGF5bGlzdCgpCgkgIE1ha2VzIHRoZSBjb2RlIGVhc2llciB0byBmb2xsb3cgYW5kIGF2b2lkcyB1bm5lY2Vzc2FyeSB0ZW1wb3JhcnkKCSAgc3RyaW5ncywgc2luY2Ugd2UgY2FuIGp1c3QgYXBwZW5kIHRvIHRoZSBwbGF5bGlzdCBHU3RyaW5nIGRpcmVjdGx5LgoKMjAxNS0wOC0zMCAxNjoyNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBzaW1wbGlmeSBnc3RfbTN1OF9wbGF5bGlzdF9yZW5kZXIoKQoJICBSZW1vdmUgcGxheWxpc3Rfc3RyIEdTdHJpbmcgdmFyaWFibGUgZnJvbSBHc3RNM1U4UGxheWxpc3Qgc3RydWN0LAoJICBzaW5jZSBpdCdzIG9ubHkgdXNlZCB0ZW1wb3JhcmlseSBpbiBwbGF5bGlzdF9yZW5kZXIoKS4gTWlnaHQganVzdAoJICBhcyB3ZWxsIGtlZXAgaXQgbG9jYWwgdGhlbi4KCjIwMTUtMDgtMzAgMTU6NTU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogcmVtb3ZlIHVudXNlZCBtYWNybyBhbmQgZGlyZWN0IGdpbyB1c2FnZQoKMjAxNS0wOS0zMCAwMDozNjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGRvd25zdHJlYW0ga2V5IHVuaXQgZXZlbnRzIGhhbmRsaW5nIHdpdGggaGxzc2luawoJICBUaGUgYnVmZmVyIHRpbWVzdGFtcHMgaW4gdGhlIGNvbGxlY3QgZnVuY3Rpb24gd2lsbCBhbHJlYWR5IGJlCgkgIHJ1bm5pbmcgdGltZSwgZG9uJ3QgdHJ5IHRvIGNvbnZlcnQgdGhlbSBhZ2FpbiB0byBydW5uaW5nIHRpbWUsCgkgIHRoaXMgd291bGQgeWllbGQgQ0xPQ0tfVElNRV9OT05FIG5vdyB0aGF0IHRoZSBzZWdtZW50IGlzIHNoaWZ0ZWQKCSAgdG8gYWNjb3VudCBmb3IgbmVnYXRpdmUgZHRzLgoJICBUaGlzIGZpeGVzIHgyNjRlbmMgISBtcGVndHNtdXggISBobHNzaW5rLCB3aGljaCB3YXMgYnJva2VuCgkgIGJlY2F1c2UgbXBlZ3RzbXV4IHdvdWxkIHNlbmQgYSBkb3duc3RyZWFtIGtleSB1bml0IGV2ZW50IHdpdGgKCSAgcnVubmluZyB0aW1lIE5PTkUgYW5kIHRoZW4gaGxzc2luayB3b3VsZCBpbW1lZGlhdGVseSBzZW5kCgkgIGFub3RoZXIgb25lIHVwc3RyZWFtIGFuZCBpdCB3b3VsZCBqdXN0IGJlIGEgZmxvb2Qgb2YgZm9yY2UKCSAga2V5ZnJhbWUgZXZlbnRzIGluIGJvdGggZGlyZWN0aW9ucyBhZnRlciB0aGUgZmlyc3Qgb25lLiBUaGlzCgkgIHdvdWxkIHRoZW4gYnJlYWsgaGxzc2luayBiZWNhdXNlIGl0IHVzZXMgbXVsdGlmaWxlc2luayBpbgoJICBuZXh0LWZpbGU9a2V5LXVuaXQtZXZlbnQgbW9kZSwgYW5kIHN0YXJ0aW5nIGEgbmV3IGZpbGUgYWZ0ZXIKCSAgZXZlcnkgZmV3IGtCIGRvZXMgbm90IHdvcmsgd2VsbCBmb3IgSExTLgoKMjAxNS0wOC0yMCAxNzozNTowNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJICBvcGVuY3Y6IGVyb2RlOiByZW1vdmUgbm9uLWlwIHRyYW5zZm9ybSBmdW5jCgkgIFRyYW5zZm9ybSBpcyBzZXQgdG8gYmUgZG9uZSBpbiBwbGFjZSBpbiBnc3RjdmRpbGF0ZWVyb2RlLmMsIHNvIHRoZSBpbi1wbGFjZQoJICB0cmFuc2Zvcm0gZnVuY3Rpb24gaXMgYWx3YXlzIHVzZWQgYW5kIHRoZSBvdGhlciBpcyByZWR1bmRhbnQuIFJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODg1CgoyMDE1LTA4LTIwIDE3OjIzOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJICBvcGVuY3Y6IGRpbGF0ZTogcmVtb3ZlIG5vbi1pcCB0cmFuc2Zvcm0gZnVuYwoJICBUcmFuc2Zvcm0gaXMgc2V0IHRvIGJlIGRvbmUgaW4gcGxhY2UgaW4gZ3N0Y3ZkaWxhdGVlcm9kZS5jLCBzbyB0aGUgaW4tcGxhY2UKCSAgdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIGFsd2F5cyB1c2VkIGFuZCB0aGUgb3RoZXIgaXMgcmVkdW5kYW50LiBSZW1vdmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg4NQoKMjAxNS0wOS0yOSAyMDowMDowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIGdzdF9vcGVuY3ZfdmlkZW9fZmlsdGVyX3NldF9pbl9wbGFjZSgpCgkgIFVzaW5nIHRoZSBnc3RfYmFzZV90cmFuc2Zvcm0gZnVuY3Rpb24gZGlyZWN0bHkgd29uJ3Qgd29yay4gTmVlZCB0byB1c2UKCSAgZ3N0X29wZW5jdl92aWRlb19maWx0ZXJfc2V0X2luX3BsYWNlKCkuCgoyMDE1LTA5LTI5IDE3OjAwOjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IGNoZWNrIGZvciBoYWFyIGNhc2NhZGUgZmlsZXMgcGF0aAoJICBXaGVuIHJ1bm5pbmcgR1N0cmVhbWVyIGZyb20gdW5pbnN0YWxsZWQgc291cmNlcywgdGhlIGxvY2F0aW9uIG9mIHRoZSBoYWFyCgkgIGNhc2NhZGUgZmlsZXMgd2lsbCBiZSBsb2NhbC4gQ2hlY2sgaWYgcnVubmluZyBpbiB1bmluc3RhbGxlZCBhbmQgc2V0IHRoZQoJICBmaWxlIHBhdGhzIGFjY29yZGluZ2x5LgoKMjAxNS0wOS0yNiAxNzowMjowOSArMDgwMCAgSm9obiBDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjU2CgoyMDE1LTA5LTI5IDEzOjMxOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGdsaWIgdmVyc2lvbgoJICBSZW1vdmUgd2VpcmQgdXNlIG9mIHByaXZhdGUgZ3R5cGUgZGVmaW5lcyBhbmQgZml4IGNvbXBpbGF0aW9uCgkgIHdpdGggb2xkZXIgZ2xpYiB2ZXJzaW9ucyBzdWNoIGFzIDIuMzYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NTQKCjIwMTUtMDktMjkgMTM6NTI6NDcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJICBvcGVuY3Y6IGN2bGFwbGFjZTogYWRkIHNjYWxlIGFuZCBzaGlmdCBwcm9wZXJ0aWVzCgkgIEFkZCBzY2FsZSBhbmQgc2hpZnQgcHJvcGVydGllcyBzbyB0aGVzZSBjYW4gYmUgdXNlZCB0byB0d2VhayB0aGUgdmFsdWVzCgkgIHVzZWQgaW4gY3ZDb252ZXJ0U2NhbGUoKSBpbnN0ZWFkIG9mIHVzaW5nIG9ubHkgZGVmYXVsdHMuCgoyMDE1LTA4LTI4IDE2OjI0OjI0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgcXRzaW5rOiBleHBsaWNpdGVseSBmYWxsdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEluIGNhc2UgcmV0IGlzIEZhbHNlLCBmYWxsdGhyb3VnaCB0byBkZWZhdWx0IGNhc2UuCgkgIENJRCAjMTMyMDcwNQoKMjAxNS0wOC0yOCAxNjoxMzoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGFkZCBicmVhayB0byBzd2l0Y2ggY2FzZQoJICBFdmVuIHRob3VnaCBhbGwgY2FzZXMgaW5zaWRlIFZDMV9TVFJFQU1fRk9STUFUX0FTRiBhcmUgZ290byBvcgoJICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpLCBhZGQgYSBicmVhayBhdCB0aGUgZW5kIHRvIGFwcGVhc2UgQ292ZXJpdHkuCgkgIENJRCAjMTMyMDcwNgoKMjAxNS0wOS0yOCAyMDo1Njo1NiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBsZWFrIG9mIHRhZyBzYW1wbGVzIGluIHRoZSB0YWcgbGlzdAoJICBNb3ZlIGhhbmRsaW5nIG9mIGEgR3N0U2FtcGxlIGluIGEgc2VwYXJhdGUgZnVuY3Rpb24sIGFuZCB1bnJlZiB0aGUKCSAgc2FtcGxlIGFmdGVyIGNhbGxpbmcgaXQuIGxpYmFzcyBjb3BpZXMgdGhlIGZvbnQgZGF0YSBzbyB3ZSBkb24ndCBuZWVkIHRvCgkgIGtlZXAgaXQgYXJvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzU5CgoyMDE1LTA5LTI4IDIwOjMwOjE3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZml4IGdhcCBldmVudCBsZWFrIGFuZCBpbnZhbGlkIHJldHVybiB2YWx1ZQoJICBXZSBkb24ndCB3YW50IHRoZSBnYXAgZXZlbnQgdG8gYmUgZm9yd2FyZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NTkKCjIwMTUtMDktMjkgMTY6MTc6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IGNhbGwgdGhlIHBhcmVudCBjbGFzcyBvbiBHc3RFbGVtZW50OjpzZXRfY29udGV4dAoKMjAxNS0wOS0xNyAxNjo1OToxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogdXNlIHRoZSBkZWZhdWx0IEdMIGNvbnRleHQgZGVidWcgY2F0ZWdvcnkKCjIwMTUtMDctMzAgMTY6NDI6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbnZlbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9udmVuYy9SRUFETUU6CgkqIHN5cy9udmVuYy9UT0RPOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuaDoKCSogc3lzL252ZW5jL2dzdG52ZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmVuYy5oOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuaDoKCSAgQWRkIE52aWRpYSBiYXNlZCBoYXJkd2FyZSBlbmNvZGVyIGVsZW1lbnQKCSAgQ3VycmVudGx5IG9ubHkgaDI2NCBpcyBzdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQwNQoKMjAxNS0wOS0yOSAwMDoyNTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IGZpeCBhc3NlcnRpb24gd2hlbiB0aGUgZWxlbWVudCBoYXMgbm8gcGVlcgoJICBXaGVuIHByb3h5aW5nIGtleWJvYXJkL25hdmlnYXRpb24vbW91c2UgZXZlbnRzLCBvbmx5IHVucmVmIGEgc3VjY2Vzc2Z1bGx5CgkgIHJldHJlaXZlZCBwZWVyIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTczOAoKMjAxNS0wOS0yOCAxNTozMDozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL2Fsc2FtaWRpc3JjLmM6CgkqIGdzdC9taWRpL2Fsc2FtaWRpc3JjLmg6CgkqIGdzdC9taWRpL21pZGkuYzoKCSAgUmV2ZXJ0ICJtaWRpOiBhZGQgYW4gQUxTQSBNSURJIHNlcXVlbmNlciBzb3VyY2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2Q3ZjRlNTI0NzE4YTJmNzU0Njc4NTIyMzVlNGUxM2Q2NGQyYWM4Mi4KCjIwMTUtMDktMjggMjI6MzE6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBzZXQgdGhlIGNvbnRleHQgb24gdGhlIGVsZW1lbnQgb24gYSBjb250ZXh0IHF1ZXJ5CgkgIE90aGVyd2lzZSBpdCdzIHBvc3NpYmxlIHRvIGxvc2UgdGhlIGNvbnRleHQgaW5mb3JtYXRpb24gaWYgdGhlCgkgIGNvbnRleHQgaXMgb25seSBwcm9wYWdhdGVkIHRocm91Z2ggcXVlcmllcy4KCjIwMTUtMDktMjggMjI6MjA6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyBmb3IgR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU3OQoKMjAxNS0wOC0wNyAxNToyODo1NCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5jOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5oOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IGFkZCBhbiBBTFNBIE1JREkgc2VxdWVuY2VyIHNvdXJjZQoJICBUaGUgYWxzYW1pZGlzcmMgZWxlbWVudCBhbGxvd3MgdG8gZ2V0IGlucHV0IGV2ZW50IGZyb20gQUxTQSBNSURJCgkgIHNlcXVlbmNlciBkZXZpY2VzLCBhbmQgcG9zc2libHkgY29udmVydCB0aGVtIHRvIHNvdW5kIHVzaW5nIHNvbWUKCSAgZG93bnN0cmVhbSBlbGVtZW50IGxpa2UgZmx1aWRkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2ODcKCjIwMTUtMDgtMjggMTY6MzU6MzkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHJlbW92ZSBvdmVyd3JpdHRlbiB2YWx1ZQoJICBWYWx1ZSBpbiB0ZXggaXMgb3ZlcndyaXR0ZW4gYmVmb3JlIGJlaW5nIHVzZWQuIFJlbW92aW5nIGl0LgoJICBDSUQgMTMyMDcxNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjUzCgoyMDE1LTA5LTAyIDIzOjQ1OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0Z2wuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxdDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nL3J1bm5pbmcgb24gYW5kcm9pZAoJICBJbmNsdWRpbmc6CgkgIC0gTmVjZXNzYXJ5IGNvbmZpZ3VyZSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgY29tcGlsZSB0aW1lIHBsYXRmb3JtIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBydW50aW1lIHF0IGFuZHJvaWQgcGxhdGZvcm0gZGV0ZWN0aW9uCgkgIC0gRXNjYXBpbmcgR0xzeW5jIGRlZmluaXRpb24gd2l0aCBRdCdzIEdMRVMyIGltcGxlbWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMDIgMjM6NDA6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IGRvbid0IHVzZSBDUFBGTEFHUyBmb3IgdG9vbHMgdGhhdCBjYW5ub3QgdXNlIHRoZW0KCSAgRm9yIGV4YW1wbGUgbW9jIHdpbGwgYmFpbCBvdXQgd2hlbiBnaXZlbiBhcmd1bWVudHMgaXQgZG9lcyBub3QKCSAga25vdyBhYm91dC4gIFRoZSBtb2Mgc3BlY2lmaWMgTU9DX0NQUEZMQUdTIGNhbiBzdGlsbCBiZSB1c2VkCgkgIHRvIHBhc3MgZmxhZ3MgdG8gbW9jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTAyIDIzOjM5OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiByZW5hbWUgbGlicmFyeSB0byBpbmNsdWRlIGdzdCBwcmVmaXgKCSAgbGlicXRzaW5rIC0+IGxpYmdzdHF0c2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA4LTMxIDE5OjIxOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBzcHJpbmtsZSBzb21lIGRlYnVnIG1hcmtlcnMgdG8gZWFzZSBkZWJ1Z2dpbmcKCjIwMTUtMDgtMzEgMTk6MTg6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsL3V0aWxzOiBhZGQgYSBmdW5jdGlvbiB0byBpbnNlcnQgYSBkZWJ1ZyBtYXJrZXIKCSAgVGhlc2UgbWFya2VycyBhcmUgdmlzaWJsZSBpbiB0b29scyB0aGF0IHJlY29yZCB0aGUgR0wgZnVuY3Rpb24gY2FsbHMKCSAgc3VjaCBhcyBhcGl0cmFjZSwgZXQgYWwuCgkgIE1ha2VzIGl0IGVhc2llciB0byBtYXRjaCB1cCBHTCBkcmF3IGNvbW1hbmRzIHdpdGggc3BlY2lmaWMgZWxlbWVudHMuCgoyMDE1LTA4LTMxIDE5OjE3OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2RlYnVnLmg6CgkgIGdsOiBhZGQgc29tZSBkZWJ1Z2dpbmcgcHJvdG90eXBlcwoKMjAxNS0wOS0yNiAxOToxOTo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IHJlbW92ZSB1bnVzZWQgZHJhd191bmxvY2tlZCBmdW5jdGlvbgoJICBUaGUgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBieSBkcmF3IGFueXdheSBhbmQgaXMgbGVmdG92ZXIgZnJvbQoJICBYMTEncyBzcGVjaWZpYyB0aHJlYWRpbmcgcmVxdWlyZW1lbnRzIHRoYXQgbm8gbG9uZ2VyIGFwcGx5LgoKMjAxNS0wOS0yNyAxMzowNzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBTZW5kIGdhcCB1cGRhdGVzIHRvIHRoZSBzZWdtZW50IHN0b3AgZHVyaW5nIHN0aWxscwoJICBJZ25vcmUgdGhlIG5vcm1hbCBnYXAgdGhyZXNob2xkIGZvciBsYWdneSBzdHJlYW1zIGFuZAoJICBpbW1lZGlhdGVseSBjYXRjaCBhbGwgc3RyZWFtcyB1cCB0byB0aGUgZW5kIG9mIHRoZSBzZWdtZW50CgkgIHdoZW4gcHJvY2Vzc2luZyBnYXAgdXBkYXRlcyBmb3IgYSBzZWdtZW50IGR1cmluZyBhCgkgIHN0aWxsIGZyYW1lIHNlcXVlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjgwCgoyMDE1LTA5LTI3IDAwOjI0OjI0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgUmV2ZXJ0ICJkdmRzcHU6IHJlbmRlciB0byBBWVVWIG92ZXJsYXkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTAxNmE3MzE5MDU5NTUwNWRjMzhiNTRmOGY5YTA4YzRmMTgwZjNhNi4KCjIwMTUtMDktMjcgMDA6MjQ6MjMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIFJldmVydCAiZHZkc3B1OiByZW5kZXIgdG8gQVJHQiBvdmVybGF5IGluc3RlYWQgb2YgQVlVViIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkZDNlOWRlYjJhYTY5NWEzOTFiNThmMjRkODZhM2MwMGJiYzEyNThhLgoKMjAxNS0wOS0yNyAwMDoyNDoxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIFJldmVydCAiZHZkc3B1OiBoYW5kbGUgZnJhbWUgc2l6ZSBldmVudCBmcm9tIHVwc3RyZWFtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ2YWFhYTZjMzA5YjhhOGY2ZTIxODE0MmZkNTk0NGY1ZDI0ZjA5NWMuCgoyMDE1LTA5LTI3IDAwOjI0OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIFJldmVydCAiZHZkc3B1OiBjYWNoZSBvdmVybGF5IGNvbXBvc2l0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFhYmI4YTFhNjgzNzJmNzUwYzYzYjliNjU4NmUxOGU4Mjk3NDU3NzQuCgoyMDE1LTA5LTI3IDAwOjI0OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIFJldmVydCAiZHZkc3B1OiBpbXByb3ZlIG5lZ290aWF0aW9uIG9mIG92ZXJsYXkgY29tcG9zaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTg5OWUyYTA5OTkzMmE3YTczNGU3Nzg0YzIwYjYyNDUxNzIzN2UxOC4KCjIwMTUtMDktMTggMTk6MDc6NDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogZml4IHBncyBwYWxldHRlIGNvbG9ycwoJICBVIGFuZCBWIHdlcmUgaW52ZXJ0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTIzOQoKMjAxNC0wOC0yNyAxNjo0NzoyMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGltcHJvdmUgbmVnb3RpYXRpb24gb2Ygb3ZlcmxheSBjb21wb3NpdGlvbgoJICBTdXBwb3J0IG5lZ290aWF0aW5nIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uIGRvd25zdHJlYW0KCSAgd2hpbGUgbm90IHByb3ZpZGluZyBpdCB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wOS0wMiAxNzo0ODo1MCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGNhY2hlIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgVGhpcyBhdm9pZHMgcmVuZGVyaW5nIHRoZSBvdmVybGF5IGJ1ZmZlciBmb3IgZWFjaCB2aWRlbyBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wOC0zMCAyMjowODowMSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogaGFuZGxlIGZyYW1lIHNpemUgZXZlbnQgZnJvbSB1cHN0cmVhbQoJICBBbiBJRFggZmlsZSBvciBjb2RlY19kYXRhIG5vcm1hbGx5IGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBmcmFtZSBzaXplIG9mCgkgIHRoZSB2aWRlby4gQWxsb3cgdXBzdHJlYW0gdG8gcHJvdmlkZSB0aGlzIGluZm9ybWF0aW9uIGJ5IHNlbmRpbmcgYQoJICBjdXN0b20gZXZlbnQsIHdoaWNoIHdpbGwgYWxsb3cgc2NhbGluZyB0aGUgb3ZlcmxheSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMTItMDUgMjE6NTk6MTggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBhbGxvdyBzdWZmaXggaW4gZHZkIGV2ZW50IG5hbWUgdG8gYWxsb3cgbXVsdGlwbGUgc3RpY2t5IGR2ZCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxNS0wNC0wNyAxNDozODowOCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiByZW5kZXIgdG8gQVJHQiBvdmVybGF5IGluc3RlYWQgb2YgQVlVVgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTAxLTIzIDE3OjU5OjAxICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiByZW5kZXIgdG8gQVlVViBvdmVybGF5CgkgIEluc3RlYWQgb2Ygb25seSBzdXBwb3J0aW5nIHdyaXRpbmcgU1BVIGRhdGEgZGlyZWN0bHkgdG8gWVVWIGZyYW1lcywKCSAgcmVuZGVyIHRoZSBTUFUgZGF0YSB0byBhbiBpbnRlcm1lZGlhdGUgQVlVViBvdmVybGF5IGJ1ZmZlci4gVGhlIG92ZXJsYXkKCSAgZGF0YSBpcyB0aGVuIGF0dGFjaGVkIHRvIHRoZSB2aWRlbyBmcmFtZSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIG92ZXJsYXkKCSAgY29tcG9zaXRpb24sIG90aGVyd2lzZSB0aGUgQVlVViBvdmVybGF5IGlzIGJsZW5kZWQgdG8gdGhlIHZpZGVvIGZyYW1lLgoJICBGb3IgdGhlIFBHUyBmb3JtYXQsIHRoZSBvdmVybGF5IGJ1ZmZlciBzaXplIGlzIHNldCB0byB0aGUgc2l6ZSBvZiB0aGUKCSAgQ29tcG9zaXRpb24gV2luZG93LCBhbmQgaXRzIHBvc2l0aW9uIGluIHRoZSBvdmVybGF5IGNvbXBvc2l0aW9uIGlzIHNldAoJICB0byB0aGUgd2luZG93IHBvc2l0aW9uLiBUaGUgb2JqZWN0cyB0byByZW5kZXIgYXJlIG5vdyBjcm9wcGVkIHdoZW4gdGhlCgkgIGNyb3BwaW5nIGZsYWcgaXMgc2V0LgoJICBGb3IgdGhlIFZvYnN1YiBmb3JtYXQsIHRoZSBvdmVybGF5IGJ1ZmZlciBzaXplIGlzIHNldCB0byB0aGUgc2l6ZSBvZiB0aGUKCSAgRGlzcGxheSBBcmVhLgoJICBPbmNlIHJlbmRlcmVkLCB0aGUgb3ZlcmxheSBjb21wb3NpdGlvbiByZWN0YW5nbGUgaXMgbm93IG1vdmVkIGFuZCBzY2FsZWQKCSAgdG8gZml0IHRoZSB2aWRlbyBvdXRwdXQgc2l6ZSwgdG8gYXZvaWQgY2xpcHBpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDktMDIgMTc6MDc6NDkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBwYXNzIGR2ZHNwdSBhcmd1bWVudCB0byBzZXRfY2FwcyBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxNS0wOS0xOCAxOToxNTo0NSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBza2lwIHVubmVlZGVkIHJlYWRpbmcgb2YgUkxFIGRhdGEKCSAgVGhlIFJMRSBkYXRhIHdhcyBiZWluZyByZWFkIGZvciBkdW1waW5nIHRoZSBTUFUgaW1hZ2UgZXZlbiB3aGVuIHRoZQoJICBEVU1QX0ZVTExfSU1BR0UgbWFjcm8gd2FzIG5vdCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTUtMDgtMjkgMTk6MTY6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY2hlY2s6IEFkZCB0ZXN0IGZvciB2aWRlb2FnZ3JlZ2F0b3Igc2lua3BhZHMgYmVpbmcgc29ydGVkIGJ5IHpvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Mjg1CgoyMDE1LTA5LTI2IDEwOjIxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvbWl4ZXI6IGZpeCBkZWFkbG9jayB3aGVuIEdfRElTQUJMRV9BU1NFUlQgaXMgbm90IGRlZmluZWQKCSAgVGhpcyBtYWtlcyB0aGUgYXVkaW9taXhlciB1bml0IHRlc3QgdGltZSBvdXQgaW4gbWFzdGVyLgoJICBCcm9rZSB3aXRoIDU4N2U3YzQKCjIwMTUtMDktMjYgMTA6NDk6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoOiBGaXggdW5pdCB0ZXN0IGFmdGVyIGludGVybmFsIEFQSSBjaGFuZ2UKCjIwMTUtMDgtMjUgMTc6Mzk6MzAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBGaXggdHlwbyBpbiBnb3RvIHZhcmlhYmxlIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA1NwoKMjAxNS0wOC0xOCAxNDoxNjoxMSArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY3JlYXRlIHNyYyBwYWRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zLgoJICBDcmVhdGUgc3JjIHBhZHMgZm9yIFJlcHJlc2VudGF0aW9ucyB0aGF0IGNvbnRhaW4gdGltZWQtdGV4dCBzdWJ0aXRsZXMsCgkgIGJvdGggd2hlbiB0aGUgc3VidGl0bGVzIGFyZSBlbmNhcHN1bGF0ZWQgaW4gSVNPIEJNRkYgKGkuZS4sIHRoZQoJICBSZXByZXNlbnRhdGlvbiBoYXMgbWltZVR5cGUgImFwcGxpY2F0aW9uL21wNCIpIGFuZCB3aGVuIHRoZXkgYXJlCgkgIHVuZW5jYXBzdWxhdGVkIChpLmUuLCB0aGUgUmVwcmVzZW50YXRpb24gaGFzIG1pbWVUeXBlCgkgICJhcHBsaWNhdGlvbi90dG1sK3htbCIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Nzc0CgoyMDE1LTA5LTI2IDAwOjE3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogU3RvcCB1c2luZyBkZXByZWNhdGVkIGdzdF9zZWdtZW50X3RvX3Bvc2l0aW9uKCkKCjIwMTUtMDgtMzEgMTY6MTI6NDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGZvcndhcmQgUU9TIGV2ZW50cyB0byBzaW5rcGFkcyB0aGF0IGhhZCBubyBidWZmZXIgeWV0CgkgIE90aGVyd2lzZSB0aGV5IHdpbGwgcmVjZWl2ZSBhIFFPUyBldmVudCB0aGF0IGhhcyBlYXJsaWVzdF90aW1lPTAgKGJlY2F1c2Ugd2UKCSAgY2FuJ3QgaGF2ZSBuZWdhdGl2ZSB0aW1lc3RhbXBzKSwgYW5kIGNvbnNpZGVyIHRoZWlyIGJ1ZmZlciBhcyB0b28gbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MzU2CgoyMDE1LTA5LTIyIDE2OjE3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgbGF6eS1sb2FkaW5nIG9mIGV4dGVybmFsIHBlcmlvZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOS0yMSAyMTowNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IExvYWQgT25Mb2FkIGV4dGVybmFsIHJlc291cmNlcyBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIG9uIGRlbWFuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTA4IDEzOjM2OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgZXh0ZXJuYWwgU2VnbWVudExpc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMDggMTM6MDQ6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBBZGQgc3VwcG9ydCBmb3IgbG9hZGluZyBleHRlcm5hbCBBZGFwdGF0aW9uU2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA4LTIxIDE2OjQwOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogSW1wbGVtZW50IGxvYWRpbmcgb2YgZXh0ZXJuYWwgUGVyaW9kIG5vZGVzCgkgIFRoZSBzYW1lIGhhcyB0byBiZSBkb25lIGZvciBBZGFwdGF0aW9uU2V0IGFuZCBTZWdtZW50TGlzdCBub2RlcyBzdGlsbC4KCSAgQWxzbyB0aGlzIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgdGhlIHNlbWFudGljczogYnkgZGVmYXVsdCBQZXJpb2QgKGFuZAoJICBvdGhlciBub2Rlcykgc2hvdWxkIG9ubHkgYmUgbG9hZGVkIHdoZW4gbmVlZGVkLCBub3QgaW4gdGhlIHZlcnkgYmVnaW5uaW5nLiBXZQoJICBuZWVkIHRvIGltcGxlbWVudCBsYXp5IGxvYWRpbmcgZm9yIHRoZW0sIHdoaWNoIG1lYW5zIGFkanVzdGluZwoJICBnc3RfbXBkX2NsaWVudF9zZXR1cF9tZWRpYV9wcmVzZW50YXRpb24oKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOC0yMSAxMjowNjowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtcGRwYXJzZXI6IFN0b3JlIGFuIFVSSSBkb3dubG9hZGVyIGluIHRoZSBwYXJzZXIgZm9yIGRvd25sb2FkaW5nIGFkZGl0aW9uYWwgTVBEIHJlc291cmNlcyBpZiBuZWVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wNy0xMCAxODo1NjoyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBQYXJzZSB4bGluayBhdHRyaWJ1dGVzIGZyb20gUGVyaW9kLCBBZGFwdGF0aW9uU2V0IGFuZCBTZWdtZW50TGlzdAoJICBXZSBzdGlsbCBoYXZlIHRvIGRvIHNvbWV0aGluZyB1c2VmdWwgd2l0aCB0aGVtLCBsaWtlIGFjdHVhbGx5IGxvYWRpbmcgdGhlCgkgIGNvbnRlbnQgYmVoaW5kIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMTYgMjM6Mzg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBoYW5kbGUgcmVsYXRpdmUgYW5kIG5vbi1IVFRQIFVSSXMgZm9yIHRoZSBoZWFkZXJzL2luZGljZXMKCSAgZ3N0X3VyaV9qb2luX3N0cmluZ3MoKSB3aWxsIHJldHVybiB0aGUgc2Vjb25kIHBhcmFtZXRlciBpZiBpdCBpcyBhbiBhYnNvbHV0ZQoJICBVUkkuIE5vIG5lZWQgdG8gZG8gYSAod3JvbmcpIGNoZWNrIGlmIHRoZSBVUkkgaXMgYWJzb2x1dGUgb3Igbm90IGJlZm9yZWhhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMzQKCjIwMTUtMDktMTYgMjM6MTI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBJZiBubyBJbml0aWFsaXphdGlvbiBpcyBwcmVzZW50IGluIHRoZSBTZWdtZW50QmFzZSwgYXNzdW1lIGl0IGlzIGJlZm9yZSB0aGUgaW5kZXhSYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTMyCgoyMDE1LTA5LTI1IDIzOjUxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjYuMCA9PT0KCjIwMTUtMDktMjUgMjM6MzM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjYuMAoKMjAxNS0wOS0yNSAyMzowMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTI1IDEwOjMyOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogdXNlIEdMX0VMRU1FTlRfQVJSQVlfQlVGRkVSIGZvciB2Ym8gaW5kaWNlcwoJICBGaXhlcyB0aGlzIGVycm9yIHdpdGggY2hyb21pdW0gZ3B1IHByb2Nlc3M6CgkgIEdMX0lOVkFMSURfT1BFUkFUSU9OLCBnbEJpbmRCdWZmZXI6IGJ1ZmZlciBib3VuZCB0byBtb3JlIHRoYW4gMSB0YXJnZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxOAoKMjAxNS0wOS0xNyAxNDoxNzowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGZpeCB0ZXh0dXJlIGxlYWsgaW4gX2dsX21lbV9jb3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NTYKCjIwMTUtMDktMjQgMTg6NTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogT25seSBydW4gZnJvbSB0aGUgbWFpbiB0aHJlYWQgaW4gc3RvcCgpIGlmIHdlIGNyZWF0ZWQgdGhlIHdpbmRvdwoJICBXZSdyZSBub3QgZG9pbmcgYW55dGhpbmcgYXQgYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkIGluIG90aGVyIGNhc2VzLgoKMjAxNS0wOS0yNCAxNTo1Mjo0MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogV2hlbiBzZXR0aW5nIGZvcm1hdCBjaGVjayBpZiBwZW5kaW5nIGZvcm1hdCBjaGFuZ2VkCgkgIEluIGNhc2UgdGhlIGZvcm1hdCBjaGFuZ2VkIGZhc3QgYW5kIHRoZSBwZW5kaW5nIGZvcm1hdCBpcyBkaWZmZXJlbnQKCSAgdGhhbiB0aGUgY3VycmVudGx5IHNldCBidXQgdGhlIGN1cnJlbnRseSBzZXQgaXMgZXF1YWwgdG8gdGhlIHBlbmRpbmcKCSAgb25lIHdlIGNvdWxkIGVuZCB1cCBoYXZpbmcgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgZmluYWxseSBzZXQgZm9ybWF0CgkgIGFuZCB0aGUgZGF0YSBzdHJlYW0gZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTQyCgoyMDE1LTA5LTI0IDE1OjUxOjI4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogRG8gbm90IGZvcmdldCB0byByZWxlYXNlIE9CSkVDVF9MT0NLIG9uIGVycm9yIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTU0MgoKMjAxNS0wOS0yNCAxMTozNzowNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3V0aWxzLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrdXRpbHMuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IEZhY3RvciBvdXQgYSBmdW5jdGlvbiB0byBydW4gYSBmdW5jdGlvbiBvbiBtYWluIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjUxCgoyMDE1LTA5LTI0IDEwOjUxOjMxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogTWFyc2hhbGwgc3RhdGUgY2hhbmdlcyBpbiB0aGUgbWFpbiB0aHJlYWQKCSAgR3RrIGlzIG5vdCBNVCBzYWZlIHRodXMgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBldmVyeXRoaW5nIGlzIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIHdoZW4gd29ya2luZyB3aXRoIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjUxCgoyMDE1LTA5LTIzIDE1OjU2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBhIGNsb2NrIGVwb2NoIHRoYXQgaXMgdXNlZCBhcyBvZmZzZXQgd2hlbmV2ZXIgcmVzdGFydGluZyB0aGUgY2xvY2sKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHJldHVybiB0aW1lcyBzdGFydGluZyBhdCAwIGFnYWluIGFmdGVyIHNodXR0aW5nIGRvd24KCSAgYW4gZWxlbWVudCBmb3IgYSBzcGVjaWZpYyBpbnB1dC9vdXRwdXQgYW5kIHRoZW4gdXNpbmcgaXQgYWdhaW4gbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0MjYKCjIwMTUtMDktMjIgMTk6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IERpc2FibGUgaW5wdXRzL291dHB1dHMgaW4gUEFVU0VELT5SRUFEWSB0byBhbGxvdyBnb2luZyB0byBQQVVTRUQgYWdhaW4gZnJvbSB0aGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDI2CgoyMDE1LTA5LTIzIDExOjQyOjUxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6IERvIG5vdCBzaG93IHdpbmRvdyB1bnRpbCB3ZSByZWFjaCB0aGUgUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NTkKCjIwMTUtMDktMjIgMTQ6NDM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBPbmx5IGNoZWNrIHN0cmVhbS0+c2VnbWVudHMgZm9yIGEgcmVwZWF0ZWQgbGFzdCBzZWdtZW50IGlmIHdlIGhhdmUgYSBzdGF0aWMgbGlzdCBvZiBzZWdtZW50cwoJICBPdGhlcndpc2Ugd2UnbGwgY3Jhc2gsIHRyeWluZyB0byBkZXJlZmVuY2UgTlVMTC4gQW5kIGlmIHdlIGhhdmUgbm8gc3RhdGljIGxpc3QKCSAgb2Ygc2VnbWVudHMsIHdlIGNhbid0IGhhdmUgcmVwZWF0ZWQgc2VnbWVudHMgYW55d2F5LgoJICBSZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2ZlMjg3MWE1ZTNjNWIxZGIyMDQ3MDkyNzY0MmI3NzZlMDU1YTg3YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDExCgoyMDE1LTA5LTIxIDE5OjAyOjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogRHJvcCBpbmNvcnJlY3Qgc3RyZWFtLWZvcm1hdD0iYXZjIiBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDE1LTA5LTIxIDEwOjQ3OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6IERvIG5vdCByZSBkZXN0cm95IHRoZSBHdGtXaW5kb3cgaWYgZGVzdHJveWVkIGJ5IHRoZSB1c2VyCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBhbiBBU1NFUlQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNDkKCjIwMTUtMDktMjEgMDg6MDQ6NDAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IGZpeCByZW5kZXJpbmcgd2l0aCByZWNlbnQgcmVzaXplIHN0YXRlIHRyYWNraW5nCgkgIDU1N2NhNmZkYTVmODMxYmU0YWJhNTgxOWJmN2IzMGIyOTZlNTc1Y2QgZGlkbid0IGNoYW5nZSB0byB0aGUKCSAgbmVjZXNzYXJ5IGdzdF9nbF93aW5kb3dfcmVzaXplKCkgY2FsbCBmb3IgdGhlIGRpc3BtYW54IGJhY2tlbmQuCgoyMDE1LTA5LTE5IDExOjQ2OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgZ3RrZ2xzaW5rOiBIaWRlIGFuZCBjbGVhbiB0aGUgR3RrV2luZG93IHdlIG1pZ2h0IGNyZWF0ZQoJICBXaGVuIHN0b3BwaW5nIHRoZSBzaW5rIHdlIHNob3VsZCBhbHdheXMgaGlkZSB0aGUgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjQ5Cgo9PT0gcmVsZWFzZSAxLjUuOTEgPT09CgoyMDE1LTA5LTE4IDE5OjUxOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTEKCjIwMTUtMDktMTggMTk6MzE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0xOCAxODowMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IE9ubHkgc2tpcCB0aGUgcmVtYWluaW5nIHBhcnQgb2YgYSBHQVAgYnVmZmVyCgkgIFdlIG1pZ2h0J3ZlIHF1ZXVlZCB1cCBhIEdBUCBidWZmZXIgdGhhdCBpcyBvbmx5IHBhcnRpYWxseSBpbnNpZGUgdGhlIGN1cnJlbnQKCSAgb3V0cHV0IGJ1ZmZlciAoaS5lLiB3ZSByZWNlaXZlZCBpdCB0b28gbGF0ZSEpLiBJbiB0aGF0IGNhc2Ugd2Ugc2hvdWxkIG9ubHkKCSAgc2tpcCB0aGUgcGFydCBvZiB0aGUgR0FQIGJ1ZmZlciB0aGF0IGlzIGluc2lkZSB0aGUgY3VycmVudCBvdXRwdXQgYnVmZmVyLCBub3QKCSAgYWxzbyB0aGUgcmVtYWluaW5nIHBhcnQuIE90aGVyd2lzZSB3ZSBmb3J3YXJkIHRoaXMgcGFkIHRvbyBmYXIgaW50byB0aGUgZnV0dXJlCgkgIGFuZCBicmVhayBzeW5jaHJvbml6YXRpb24uCgoyMDE1LTA5LTE4IDIxOjE0OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZGlzYWJsZSB0aGUgdGV4dHVyZSBjYWNoZSBvbiBPU1gKCSAgVGhpcyBhIHdvcmthcm91bmQgdW50aWwgdGhlIGluY29tcGF0aWJpbGl0eSB3aXRoIENWT3BlbkdMVGV4dHVyZUNhY2hlCgkgIGFuZCBvcGVuZ2wzIGNvbnRleHRzIGlzIGZpeGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Nzg2CgoyMDE1LTA5LTE3IDE5OjQyOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBLZWVwIGF0IGxlYXN0IHR3byBidWZmZXJzIGluIHRoZSBxdWV1ZSBpbiBsaXZlIG1vZGUKCSAgV2hlbiBpbiBsaXZlIG1vZGUsIHRoZSBxdWV1ZSBuZWVkcyB0byBob2xkIHRoZSBjdXJyZW50bHkgcHJvY2Vzc2VkCgkgIGJ1ZmZlciBhbmQgb25lIG1vcmUgYXQgbGVhc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4NTEKCjIwMTUtMDktMTggMTE6NTU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDktMTggMTU6Mjg6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBnc3QtaW5kZW50IGZpbGUKCjIwMTUtMDktMTcgMTk6NTY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBwZ3M6IGZpeCBwcmludGYgZm9ybWF0L2FyZ3VtZW50IG1pc21hdGNoIGluIGRlYnVnIHN0YXRlbWVudHMKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBleHRyYSBkZWJ1Z2dpbmcgaXMgZW5hYmxlZCBhdCBjb21waWxlIHRpbWUuCgoyMDE1LTA5LTE3IDE3OjU0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgdW5wcmVmaXggU1RBVElTVElDU19NRVNTQUdFX05BTUUgYWZ0ZXIgYWxsCgkgIEl0IHdhcyBvbmx5IGFkZGVkIGR1cmluZyAxLjUueCBzbyB3ZSBtaWdodCBqdXN0IGFzIHdlbGwgcmVtb3ZlIGl0CgkgIGltbWVkaWF0ZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Njg2CgoyMDE1LTA5LTA3IDE2OjU3OjA1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcHJlZml4IHRoZSBzdGF0aXN0aWNzIG1lc3NhZ2UgbmFtZSBtYWNybwoJICBLZWVwIG9sZCBkZWZpbmUgYXJvdW5kIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2ODYKCjIwMTUtMDktMTggMDA6MTA6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBIb29rIHVwIHRoZSByZWNlbnRseSBhZGRlZCBjaGFuZ2Vfc3RhdGUgdmZ1bmMuCgkgIFRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2FzIGltcGxlbWVudGVkLCBidXQgbm90IGluc3RhbGxlZCwKCSAgbWFraW5nIHRoZSBjb21waWxlciBjb21wbGFpbiBhYm91dCB0aGUgdW51c2VkIGZ1bmN0aW9uLgoKMjAxNS0wOS0xOCAwMDoyMDoxMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIERvbid0IHRocm93IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggR19ESVNBQkxFX0FTU0VSVAoJICBEaXNhYmxlIGNvZGUgdGhhdCB3YXJucyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIHdoZW4gR19ESVNBQkxFX0FTU0VSVAoJICBpcyBkZWZpbmVkLCBhcyBpdCBpcyBpbiB0YXJiYWxscyBhbmQgcHJlLXJlbGVhc2VzLgoKMjAxNS0wOS0xNyAyMjoxNzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYW9wZW5nbGxheWVyOiBmaXggbm9uLWV4aXN0ZW50IHNlbGVjdG9yIHdhcm5pbmcKCSAgNTU3Y2E2ZmRhNWY4MzFiZTRhYmE1ODE5YmY3YjMwYjI5NmU1NzVjZCBpbnRyb2R1Y2VkIHRoZSBxdWV1ZVJlc2l6ZQoJICBjYWxsIHdpdGhvdXQgaW1wbGVtZW50aW5nIHRoZSBzZWxlY3RvcgoKMjAxNS0wOS0xNyAyMTozMTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IEZpeCBnX3JldHVybl92YWxfaWZfZmFpbCBpbiBhIHZvaWQgZnVuY3Rpb24KCjIwMTUtMDktMTcgMTU6MDY6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWEvdnRkZWM6IGZpeCBuZWdvdGlhdGlvbiBlcnJvcnMgd2hlbiByZXNpemluZyBnbGltYWdlc2luawoJICBHc3RWaWRlb0RlY29kZXIgaGFzIGl0cyBvd24gbG9naWMgZm9yIGRldGVjdGluZyB3aGVuIHRvIHJlY29uZmlndXJlCgkgIHdoaWNoIHVsdGltYXRlbHkgY2FsbHMgZGVjaWRlX2FsbG9jYXRpb24gYW5kIHJlc3VsdHMgaW4gYSBuZXcKCSAgdGV4dHVyZSBjYWNoZSB0aGF0IGhhcyBub3QgYmVlbiBjb25maWd1cmVkIGZyb20gb3VyIHJlY29uZmlndXJlIGNoZWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTU2CgoyMDE1LTA5LTE3IDE3OjIyOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlcXVlc3QgYSByZXNpemUgb24gY2Fwcy8zZCBtb2RlIGNoYW5nZXMKCSAgRml4ZXMgaW5jb3JyZWN0IGFzcGVjdCByYXRpbyBvbiBPU1ggd2hlbiBjaGFuZ2luZyBjYXBzIG9yIHRoZSAzZAoJICBvdXRwdXQgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTExMQoKMjAxNS0wOS0xNyAxNzowNjozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2x3aW5kb3c6IGFkZCBBUEkgdG8gcmVxdWVzdCBhIHJlc2l6ZSBldmVudCBvbiB0aGUgbmV4dCBkcmF3CgkgIC0gZ2xpbWFnZXNpbmsgbmVlZHMgdG8gYmUgYWJsZSB0byByZXNpemUgdGhlIHZpZXdwb3J0IG9uIGFzcGVjdCByYXRpbwoJICBjaGFuZ2VzIHJlc3VsdGluZyBmcm9tIGVpdGhlciBjYXBzIGNoYW5nZXMgb3IgM2Qgb3V0cHV0IG1vZGUgY2hhbmdlcy4KCSAgLSBQZXJmb3JtaW5nIGEgZ2xWaWV3cG9ydCBvdXRzaWRlIHRoZSBHc3RHTFdpbmRvdzo6cmVzaXplIGNhbGxiYWNrCgkgIHdpbGwgbm90IGhhdmUgdGhlIHdpbnN5cycgc3RhY2sgb2Ygdmlld3BvcnRzIHJlcXVpcmVkIHRvIGNvcnJlY3RseQoJICBwbGFjZSB0aGUgb3V0cHV0IGZyYW1lLgoJICBQcm92aWRlIGEgZnVuY3Rpb24gdG8gcmVxdWVzdCBhIHJlc2l6ZSBvbiB0aGUgbmV4dCBkcmF3IGV2ZW50IGZyb20gdGhlCgkgIHdpbnN5cy4KCSAgQWxzbyB0cmFjayBzaXplIGNoYW5nZXMgaW5zaWRlIHRoZSBiYXNlIEdzdEdMV2luZG93IGNsYXNzIHJhdGhlcgoJICB0aGFuIGluIGVhY2ggc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMTEKCjIwMTUtMDktMTcgMTY6NTU6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2wvdXBsb2FkZWxlbWVudDogZmFpbCBlYXJsaWVyIGlmIHdlIGNvdWxkIG5vdCB1cGxvYWQgdGhlIGJ1ZmZlcgoKMjAxNS0wOS0xNyAxNjowNToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBzdG9yZSB0aGUgY29ycmVjdCBkaW1lbnNpb24gZnJvbSB0aGUgcmVzaXplIGV2ZW50cwoJICBzbWFsbCB0eXBvIHMvd2lkdGgvaGVpZ2h0LwoKMjAxNS0wOS0xNyAxMzo0NzoyMyArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGF2ZHRwdXRpbDogZml4IEdFcnJvciBtZW1vcnkgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE0MgoKMjAxNS0wOS0xNyAxMzozNTowMiArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IEZpeCBHRXJyb3IgbGVha3MgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNDAKCjIwMTUtMDktMTYgMDA6MTk6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkgIGludGVydmlkZW9zaW5rOiByZW5kZXIgcHJlcm9sbCBmcmFtZXMgYXMgd2VsbAoJICBEZXJpdmUgZnJvbSBHc3RWaWRlb1Npbmsgc28gdGhhdCBwcmVyb2xsIGZyYW1lcyB3aWxsIGF1dG9tYXRpY2FsbHkKCSAgZ2V0IHJlbmRlcmVkIHRvbywgdW5sZXNzIHRoZSBzaG93LXByZXJvbGwtZnJhbWUgcHJvcGVydHkgaXMgc2V0IHRvCgkgIEZBTFNFLiBGaXhlcyBpbnRlcnZpZGVvc3JjIG9ubHkgcGlja2luZyB1cCBmcmFtZXMgaWYgaW50ZXJ2aWRlb3NpbmsKCSAgaXMgaW4gUExBWUlORyBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA0OQoKMjAxNS0wOS0xNyAwMDowMTo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24uCgkgIEZpeCB0aGUgbmVnb3RpYXRpb24gb2YgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24gYnkgY2hlY2tpbmcKCSAgaW50ZXJzZWN0aW9uIHdpdGggdGhlIHBlZXIgY2FwcywgcmF0aGVyIHRoYW4ganVzdCBhY2NlcHQtY2FwcywKCSAgd2hpY2ggbWlnaHQgb25seSBjaGVjayB0aGUgcGFkIHRlbXBsYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTEzCgoyMDE1LTA5LTA5IDE0OjQ5OjE3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgZm9yIG5lZ2F0aXZlIHJlcGVhdCBjb3VudCBpbiBzZWdtZW50cwoJICBJbXBsZW1lbnRzIG5lZ2F0aXZlIHJlcGVhdCBzZWdtZW50IGZpZWxkcywgZGVmaW5lZCBpbiA1LjMuOS42LjEuCgoyMDE1LTA5LTA4IDE1OjE0OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBwcm9wZXJseSByZWFkIHNpZ25lZCByIHZhbHVlcyBmb3IgUyBlbGVtZW50cwoJICBUaGUgc3BlYyBkZWZpbmVzIHRoZXNlIGFzIHNpZ25lZCBpbiA1LjMuOS42LjEuCgkgIFNpbmNlIHdlIGRvbid0IHN1cHBvcnQgdGhpcyBiZWhhdmlvciwgd2FybiBhbmQgZGVmYXVsdCB0byAwCgkgIChub24gcmVwZWF0aW5nKSwgd2hpY2ggaXMgdGhlIHNwZWMncyBkZWZhdWx0IHdoZW4gdGhlIHZhbHVlCgkgIGlzIG5vdCBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDgwCgoyMDE1LTA5LTA5IDExOjA1OjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtZHBwYXJzZXI6IGNhdGNoIGZhaWx1cmVzIHRvIHBhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0ODAKCjIwMTUtMDktMTYgMTc6Mjg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGF2b2lkIHVwZGF0aW5nIHRoZSB2aWV3cG9ydCBpbiB0aGUgZHJhdyBsb29wCgkgIEZpeGVzIGZsYXNoZXMvaW5jb3JyZWN0IGFzcGVjdCByYXRpbyB3aGVuIHJlc2l6aW5nIGdsaW1hZ2VzaW5rIG9uIE9TWC4KCjIwMTUtMDktMTUgMjE6NTA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBwbGF5YmFjayBvZiBsaXZlIHN0cmVhbXMKCSAgZGFzaGRlbXV4IHNlZWtzIGVhY2ggbGl2ZSBzdHJlYW0gdG8gaXRzIGN1cnJlbnQgZnJhZ21lbnQgaW4gdGhlIGJlZ2lubmluZywgYnV0CgkgIHRoZSBiYXNlIGNsYXNzIGRvZXMgbm90IGtub3cgYWJvdXQgdGhpcy4gVXBkYXRlIHRoZSBkZW11eGVyIHNlZ21lbnQgd2l0aCB0aGlzCgkgIHNlZWsgc28gd2UgZ2VuZXJhdGUgdGhlIGNvcnJlY3QgU0VHTUVOVCBldmVudCBhbmQgY2FuIGFjdHVhbGx5IHBsYXkgdGhlCgkgIHN0cmVhbS4KCSAgVGhpcyBuZWVkcyBzb21lIHJlZmFjdG9yaW5nIGF0IHNvbWUgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDcKCjIwMTUtMDktMTUgMTU6Mzk6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogcmVtb3ZlIGNoZWNrIGZvciBudW1iZXIgb2YgY2hhbm5lbHMKCSAgb3B1cyBkZWNvZGVyIGNhbiBjb252ZXJ0IGZyb20gZGlmZmVyZW50IG51bWJlciBvZiBjaGFubmVscywgbm8KCSAgbmVlZCB0byBjaGVjaywganVzdCBsZXQgaXQgbmVnb3RpYXRlIGFuZCBjcmVhdGUgYSBuZXcgZGVjb2RlciBpZgoJICBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNTkKCjIwMTUtMDktMTUgMTA6MDA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogT25seSBvdmVyd3JpdGUgbGFzdCByZXR1cm4gaWYgaXQgd2FzIE9LCgkgIFByZXZlbnRzIG92ZXJ3cml0aW5nIG90aGVyIGNvbmRpdGlvbnMgdGhhdCB3b3VsZCBiZSBtb3JlIGltcG9ydGFudCwKCSAgc3VjaCBhcyBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDIKCjIwMTUtMDktMTUgMDk6NTg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCByZXR1cm4gd2hlbiB0cnlpbmcgdG8gYWR2YW5jZSBpbiBzdWJmcmFnbWVudGVkIHN0cmVhbQoJICBFdmVuIGlmIGl0IGRvZXNuJ3QgYWN0dWFsbHkgYWR2YW5jZSB0aGUgc3ViZnJhZ21lbnQgaW4gdGhlIGRlZmF1bHQgd2F5CgkgIGZvciBzdHJlYW1zIHRoYXQgaGF2ZSBzdWJmcmFnbWVudHMsIGl0IGNhbiBoZWxwIHRoZSBiYXNlIGNsYXNzIHRvIHJldHVybgoJICBFT1Mgd2hlbiB0aGVyZSBpcyBubyBtb3JlIGZyYWdtZW50cyBpbnN0ZWFkIG9mIHNpZ25hbGluZyBpdCB0aGF0IGl0IHNob3VsZAoJICBjb250aW51ZSBkb3dubG9hZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA0MgoKMjAxNS0wOS0xNSAxMTozNDoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBidWZmZXJwb29sIHRha2UgaW50byBhY2NvdW50IHZpZGVvIHN0cmlkZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzCgkgIHdoZW4gYWxsb2NhdGluZyBtZW1vcnkuIEZpeGVzIGNyYXNoZXMgd2l0aCBhdmRlY19oMjY1IGluIHRoZSBBVlgyCgkgIGNvZGUgcGF0aCB3aGljaCByZXF1aXJlcyAzMi1ieXRlIHN0cmlkZSBhbGlnbm1lbnQsIGJ1dCB0aGUKCSAgR3N0QWxsb2NhdGlvblBhcmFtcyBvbmx5IHNwZWNpZmllZCBhIDE2LWJ5dGUgYWxpZ25tZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTIwCgoyMDE1LTA5LTE1IDEzOjQwOjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IFNldCBzZXFudW0gb24gbmV3bHkgY3JlYXRlZCBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwMTIKCjIwMTUtMDktMTEgMjE6Mzc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBGaXggbWl4dXAgb2YgcnVubmluZyB0aW1lcyBhbmQgc2VnbWVudCBwb3NpdGlvbnMKCSAgV2UgaGF2ZSB0byBxdWV1ZSBidWZmZXJzIGJhc2VkIG9uIHRoZWlyIHJ1bm5pbmcgdGltZSwgbm90IGJhc2VkIG9uCgkgIHRoZSBzZWdtZW50IHBvc2l0aW9uLgoJICBBbHNvIHJldHVybiBydW5uaW5nIHRpbWUgZnJvbSBHc3RBZ2dyZWdhdG9yOjpnZXRfbmV4dF90aW1lKCkgaW5zdGVhZCBvZgoJICBhIHNlZ21lbnQgcG9zaXRpb24sIGFzIHJlcXVpcmVkIGJ5IHRoZSBBUEkuCgkgIEFsc28gb25seSB1cGRhdGUgdGhlIHNlZ21lbnQgcG9zaXRpb24gYWZ0ZXIgd2UgcHVzaGVkIGEgYnVmZmVyLCBvdGhlcndpc2UKCSAgd2UncmUgZ29pbmcgdG8gcHVzaCBkb3duIGEgc2VnbWVudCBldmVudCB3aXRoIHRoZSBuZXh0IHBvc2l0aW9uIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMTEgMTY6NTY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBVc2Ugc3RyZWFtIHRpbWUgaW4gdGhlIHBvc2l0aW9uIHF1ZXJ5IGluc3RlYWQgb2Ygc2VnbWVudCBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTk2CgoyMDE1LTA5LTExIDEyOjIyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEZpeCBtaXh1cCBvZiBydW5uaW5nIHRpbWVzIGFuZCBzZWdtZW50IHBvc2l0aW9ucwoJICBXZSBoYXZlIHRvIHF1ZXVlIGJ1ZmZlcnMgYmFzZWQgb24gdGhlaXIgcnVubmluZyB0aW1lLCBub3QgYmFzZWQgb24KCSAgdGhlIHNlZ21lbnQgcG9zaXRpb24uCgkgIEFsc28gcmV0dXJuIHJ1bm5pbmcgdGltZSBmcm9tIEdzdEFnZ3JlZ2F0b3I6OmdldF9uZXh0X3RpbWUoKSBpbnN0ZWFkIG9mCgkgIGEgc2VnbWVudCBwb3NpdGlvbiwgYXMgcmVxdWlyZWQgYnkgdGhlIEFQSS4KCSAgQWxzbyBvbmx5IHVwZGF0ZSB0aGUgc2VnbWVudCBwb3NpdGlvbiBhZnRlciB3ZSBwdXNoZWQgYSBidWZmZXIsIG90aGVyd2lzZQoJICB3ZSdyZSBnb2luZyB0byBwdXNoIGRvd24gYSBzZWdtZW50IGV2ZW50IHdpdGggdGhlIG5leHQgcG9zaXRpb24gYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0xMSAxMjoyMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgdGhhdCBnZXRfbmV4dF90aW1lKCkgc2hvdWxkIHJldHVybiBydW5uaW5nIHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0wMyAxNDoyMDowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IERvbid0IGNvbnNpZGVyIHBlcmlvZCBzdGFydCB0aW1lcyBpbiBwZXJpb2RzIHdpdGggc2VnbWVudCBsaXN0cyBlaXRoZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMyAxMDoyNjowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogRml4IHVuaXQgdGVzdCB0aGF0IGFzc3VtZWQgdGhhdCBmcmFnbWVudCB0aW1lc3RhbXBzIHNob3VsZCBpbmNsdWRlIHRoZSBwZXJpb2Qgc3RhcnQgdGltZXN0YW1wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDIgMTg6MzM6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEV4cG9ydCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMiAxODoyOTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBQcm9wZXJseSBpbXBsZW1lbnQgdGltZXN0YW1waW5nIG9mIG11bHRpLXBlcmlvZCBzdHJlYW1zCgkgIEVhY2ggcGVyaW9kIHdpbGwgc3RhcnQgYWdhaW4gd2l0aCBwdHMgMCArIHBlcmlvZCBwcmVzZW50YXRpb24gb2Zmc2V0LCB3aGljaCBpcwoJICBhbHNvIGdvaW5nIHRvIGJlIHRoZSBwcmVzZW50YXRpb24gdGltZSBpbnNpZGUgdGhlIGNvbnRhaW5lciBzdHJlYW0gaWYgYW55LgoJICBIb3dldmVyIGFsbCBwZXJpb2RzIHRvZ2V0aGVyIHNob3VsZCBmb3JtIGEgY29udGludW91cyB0aW1lbGluZSwgd2l0aCByZWdhcmQgdG8KCSAgc3RyZWFtIHRpbWUgYW5kIHJ1bm5pbmcgdGltZS4KCSAgRm9yIG1ha2luZyB0aGlzIHBvc3NpYmxlIHdlIGtlZXAgdHJhY2sgb2YgdGhlICJ1c2VyIHJlcXVlc3RlZCBzZWdtZW50IiwgaS5lLgoJICB0aGUgc2VlayBldmVudHMsIGluc2lkZSB0aGUgZGVtdXhlciB3aXRob3V0IGFkanVzdGluZyBhbnl0aGluZyBhbmQgdGFraW5nIHRoaXMKCSAgZGVtdXhlciBzZWdtZW50IG9ubHkgYXMgb3JpZW50YXRpb24gZm9yIG1vZGlmaWVkIHNlZ21lbnRzIHBlciBzdHJlYW0uCgkgIFRoaXMgcGVyIHN0cmVhbSBzZWdtZW50cyB3aWxsIGhhdmUgdGhlaXIgc2VnbWVudC5zdGFydCBhdCBwdHMgdGhhdCB3b3VsZCBiZQoJICBwcm9kdWNlZCBmb3IgdGhpcyBzdHJlYW0gaW4gdGhpcyBwZXJpb2QsIGFuZCB0aGUgc2VnbWVudC5iYXNlL3RpbWUgYWRqdXN0ZWQgc28KCSAgdGhhdCB0aGlzIHB0cyBtYXBzIHRvIHRoZSBydW5uaW5nIGFuZCBzdHJlYW0gdGltZSB0aGlzIHBlcmlvZCBzaG91bGQgaGF2ZSBpbgoJICB0aGUgY29udGV4dCBvZiBhbGwgb3RoZXIgcGVyaW9kcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMSAxMzoxMzo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgImRhc2hkZW11eDogU3VidHJhY3QgdGhlIHBlcmlvZCBzdGFydCB0aW1lIGZyb20gdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjI2YThmMGE3NGY4ZWE3NDhiODExYjc0YmE5ZTdhZTJiYWVhMmNjYS4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gZ2V0IHRoZSBwbGFpbiBwcmVzZW50YXRpb24gb2Zmc2V0IGFuZCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUKCSAgc2VwYXJhdGVseS4gV2UgaGF2ZSB0byBhZGp1c3QgdGhlIHRpbWVzdGFtcCBieSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldCwgYnV0CgkgIHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBzaG91bGQgb25seSBhZGp1c3QgdGhlIHN0cmVhbSB0aW1lIGFuZCBydW5uaW5nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MDkKCjIwMTUtMDktMDEgMTM6MTI6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJkYXNoZGVtdXg6IEluY2x1ZGUgdGhlIHBlcmlvZCBzdGFydCBpbiB0aGUgZnJhZ21lbnQgdGltZXN0YW1wcyBpbiBhbGwgY2FzZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTY3MWFkMjVhOTg5Y2IyMWM2MmM3YTU4NjdjMjA5MDg5MGNlNDliYS4KCSAgVGhlIHRpbWVzdGFtcHMgc2hvdWxkIHJlc3RhcnQgYXQgMCBhZ2FpbiBmb3IgZWFjaCBwZXJpb2QsIGJ1dCB3ZSBoYXZlIHRvCgkgIGFkanVzdCB0aGUgc2VnbWVudCB0byBtYXAgdGhvc2UgdGltZXN0YW1wcyB0byB0aGUgYWN0dWFsIHN0cmVhbSB0aW1lIGFuZAoJICBydW5uaW5nIHRpbWUgb2YgdGhhdCBwZXJpb2QuCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRpbWVzdGFtcHMgdGhhdCBjb25mbGljdCB3aXRoIHRoZSBvbmVzIGZyb20gdGhlIHRmZHQKCSAgaW5zaWRlIHRoZSBNUDQgY29udGFpbmVyLCB3aGljaCBhcmUgcmVzdGFydGluZyBhdCAwIGZvciBlYWNoIHBlcmlvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQwOQoKMjAxNS0wOS0xNCAxOTowMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IENvbnNpZGVyIHRoZSByZXBlYXQgY291bnQgd2hlbiBjaGVja2luZyBpZiBhIHNlZ21lbnQgaXMgdGhlIGxhc3Qgb25lCgkgIE90aGVyd2lzZSB3ZSBwbGF5IG9ubHkgdGhlIGZpcnN0IHJlcGV0aXRpb24gb2YgdGhlIGxhc3Qgc2VnbWVudCBhbmQgdGhlbiBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0ODAKCjIwMTUtMDktMTQgMTM6NTY6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFsc28gY2hlY2sgZm9yIHN1YmZyYWdtZW50cyBvbiBoYXNfbmV4dF9mcmFnbWVudAoJICBJbiBkYXNoIGlzb21iZmYgcHJvZmlsZSB0aGUgZnJhZ21lbnQgaXMgc3BsaXQgaW50byBzdWJmcmFtZW50cyB3aGVyZQoJICBiaXRyYXRlIHN3aXRjaGluZyBpcyBwb3NzaWJsZS4gQWxzbyB0YWtlIHRoYXQgaW50byBjb25zaWRlcmF0aW9uCgkgIHdoZW4gY2hlY2tpbmcgaWYgYSBzdHJlYW0gaGFzIG5leHQgZnJhZ21lbnRzLgoKMjAxNS0wOS0xMSAxMToyMjozNSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGltcHJvdmUgZGVwcmVjYXRlZCBwcm9wZXJ0aWVzIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgxOQoKMjAxNS0wOS0xMSAxMToxMTowOSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCB0aHJvdyBnX3dhcm5pbmcgd2hlbiBnZXR0aW5nIGRlcHJlY2F0ZWQgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODE5CgoyMDE1LTA5LTA5IDE5OjUxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY2FwcyBxdWVyeSB0byBwcm9wZXJseSBoYW5kbGUgYWxwaGEgZm9ybWF0cwoJICBPbmx5IGFjY2VwdCBhbHBoYSBpZiBkb3duc3RyZWFtIGhhcyBhbHBoYSBhcyB3ZWxsLiBJdCBjb3VsZAoJICB0aGVvcmV0aWNhbGx5IGFjY2VwdCBhbHBoYSB1bmNvbmRpdGlvbmFsbHkgaWYgYmxlbmRpbmcgaXMKCSAgcHJvcGVybHkgaW1wbGVtZW50ZWQgZm9yIGhhbmRsZSBpdCBidXQgYXQgdGhlIG1vbWVudCB0aGlzCgkgIGlzIGEgbWlzc2luZyBmZWF0dXJlLgoJICBJbXByb3ZlcyB0aGUgY2FwcyBxdWVyeSBieSBhbHNvIGNvbXBhcmluZyB3aXRoIHRoZSB0ZW1wbGF0ZQoJICBjYXBzIHRvIGZpbHRlciBieSB3aGF0IHRoZSBzdWJjbGFzcyBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NQoKMjAxNS0wOS0xMiAwMDo1MTo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgdnRkZWM6IFVzZSBSL1JHIHRleHR1cmVzIGZvciBOVjEyIHdoZW4gdGhlIGNvbnRleHQgcHJvdmlkZXMgdGhlbQoJICBGaXhlcyBwbGF5YmFjayB0byBHTCBtZW1vcnkgb24gaU9TLCB3aGVyZSB0aGUgY29sb3VycyBhcmUgbWVzc2VkCgkgIHVwIGJ5IHBhc3NpbmcgTHVtaW5hbmNlL0x1bWluYW5jZUFscGhhIHRleHR1cmVzIHdoZXJlCgkgIGNvbG9yIGNvbnZlcnQgZXhwZWN0cyBSL1JHIHRleHR1cmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTA0CgoyMDE1LTA5LTA4IDE3OjE3OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBQcmVmZXIgR0wgb3V0cHV0IGNhcHMuCgkgIFByZWZlciBHTCBjYXBzIGJ5IHB1dHRpbmcgdGhlbSBmaXJzdCBpbiB0aGUgcGFkIHRlbXBsYXRlIGFuZAoJICBpbnRlcnNlY3RpbmcgdXNpbmcgR1NUX0NBUFNfSU5URVJTRUNUX0ZJUlNULgoKMjAxNS0wOS0xMCAxOTowMjoxMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSBzZWxlY3Rpb24gb2YgQWN0aXZlIFJlZiBQaWMgU2V0CgkgIElmIHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgaXMgRkFMU0UsIHRoZSBTaG9ydFRlcm1SZWZQaWNTZXQKCSAgc3RydWN0dXJlIGlzIHN1cHBvc2VkIHRvIGRlcml2ZSBmcm9tIHNsaWNlIGhlYWRlci4gV2hpY2ggbWVhbnMsCgkgIEN1cnJScHNJZHggaXMgZXF1YWwgdG8gbnVtX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXRzLiBCdXQgdGhlIG51bWJlcgoJICBvZiByZWZwaWNzZXRzIGNvbW11bmljYXRlZCB2aWEgc3BzIGhlYWRlciBpcyBvbmx5IG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cyAtIDEuCgkgIEFuZCB3ZSBhcmUgdXNpbmcgc2xpY2VfaGVhZGVyIHN0cnVjdHVyZSB0byByZWZlcmVuY2UgdGhlIGxhc3QgZW50cnksIHdoaWNoIGlzCgkgIFNob3J0VGVybVJlZlBpY1NldFtudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHNdLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODM0CgoyMDE1LTA5LTEwIDE2OjI4OjMxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1IDogRml4IGRlZmF1bHQgc2NhbGluZyBsaXN0IHZhbHVlcwoJICBGaXggdGhlIGRlZmF1bHRfc2NhbGluZ19saXN0IHZhbHVlcyBiYXNlZCBvbiBUYWJsZSA3LTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgzNAoKMjAxNS0wOS0xMCAxNDoxMTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBsZXNzLXRoYW4temVybyBjb21wYXJpc29uIG9mIGFuIHVuc2lnbmVkIHZhbHVlIGlzIG5ldmVyIHRydWUKCSAgVXNlIHRoZSBjb3JyZWN0IHR5cGUsIEdzdENsb2NrVGltZURpZmYsIGluc3RlYWQuCgkgIENJRCAxMzIzNzQyCgoyMDE1LTA5LTEwIDAwOjA3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgZ3RrLCBxdDogbW9yZSBzcGVjaWZpY2FsbHkgZGVmaW5lIHRoZSBjb21waWxlIHRpbWUgcmVxdWlyZW1lbnRzCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBpbmNsdWRlIGhlYWRlcnMvY29uZmlndXJhdGlvbnMgdGhhdCB3aWxsCgkgIG5ldmVyIGJlZW4gaW5zdGFsbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzMyCgoyMDE1LTA5LTAyIDIzOjQyOjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkL3F0OiBpbmRlbnQgY29uZmlndXJlIGZpbGUKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTEwIDAwOjAwOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSAgcXQ6IHVzZSBvdXIgZnVuY3Rpb24gdGFibGUgaW5zdGVhZCBvZiBkaXJlY3RseSBjYWxsaW5nIGdsIGZ1bmN0aW9ucwoJICBPdGhlcndpc2Ugd2hlbiBidWlsZGluZyB3aXRoIC0tYXMtbmVlZGVkIHdlIHdvdWxkIG5lZWQgdG8gbGluayB0bwoJICBhIEdMIG9yIEdMRVMgbGlicmFyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDczMgoKMjAxNS0wOS0wOSAyMzo1Mzo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsL2FwaTogdXNlIHB1YmxpYyByYXRoZXIgdGhhbiBwcml2YXRlIGRlZmluZQoJICBIQVZFX0lPUyBpcyBvbmx5IGRlZmluZWQgZm9yIHRoZSBidWlsZCBvZiB0aGlzIG1vZHVsZSBzbwoJICBhdHRlbXB0aW5nIHRvIHVzZSBnc3RnbCBpbiBpT1Mgd291bGQgcmVzdWx0IGluIGluY29ycmVjdCBHTAoJICBpbmNsdWRlcy4KCSAgVXNlIEdTVF9HTF9IQVZFX1BMQVRGT1JNX0VBR0wgaW5zdGVhZCBmb3IgY2hvb3NpbmcgdGhlIGlPUyBHTAoJICBoZWFkZXIuCgoyMDE1LTA5LTAzIDE2OjM2OjU3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEhhbmRsZSBwaXBlbGluZXMgd2hlcmUgdGhlIHJ1bm5pbmcgdGltZSBkb2VzIG5vdCBzdGFydCBhcm91bmQgMCBwcm9wZXJseQoJICBXZSB3ZXJlIGNvbnZlcnRpbmcgYWxsIHRpbWVzIHRvIG91ciBpbnRlcm5hbCBydW5uaW5nIHRpbWVzLCB0aGF0IGlzIHRoZSB0aW1lCgkgIHRoZSBzaW5rIGl0c2VsZiBzcGVudCBpbiBQTEFZSU5HIGFscmVhZHkuIEJ1dCBmb3Jnb3QgdG8gZG8gdGhhdCBmb3IgdGhlCgkgIHJ1bm5pbmcgdGltZSBjYWxjdWxhdGVkIGZyb20gdGhlIGJ1ZmZlciB0aW1lc3RhbXBzLiBBcyBzdWNoLCBhbGwgYnVmZmVycyB3ZXJlCgkgIHNjaGVkdWxlZCBtdWNoIGxhdGVyIGlmIHRoZSBwaXBlbGluZSdzIHJ1bm5pbmcgdGltZSBkaWQgbm90IHN0YXJ0IGF0IDAuCgkgIFRoaXMgaGFwcGVucyBmb3IgZXhhbXBsZSBpZiBhIGJhc2UgdGltZSBpcyBleHBsaWNpdGx5IHNldCBvbiB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1MjgKCjIwMTUtMDktMDcgMTM6MzY6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQ29uc2lkZXIgcGlwZWxpbmUgbGF0ZW5jeSwgcmVuZGVyIGRlbGF5IGFuZCB0cyBvZmZzZXQgd2hlbiBzY2hlZHVsaW5nIGZyYW1lcwoJICBXaXRob3V0IHRoaXMsIHdlIHdpbGwgc2NoZWR1bGUgYWxsIGZyYW1lcyB0b28gbGF0ZSBpbiBsaXZlIHBpcGVsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY2NgoKMjAxNS0wOS0wOSAxMzo1ODowNSArMDkwMCAgS291aGVpIFN1dG91IDxrb3VAY2xlYXItY29kZS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IGZpeCBidWlsZCBlcnJvciBmb3IgNjRiaXQgV2luZG93cyBidWlsZCBieSBNaW5HVwoJICBDYXN0aW5nIHRvIFVJTlQgZnJvbSBITUlYRVIgZ2VuZXJhdGVzIHRoZSBmb2xsb3dpbmcgd2FybmluZyB3aXRoCgkgIDY0Yml0IFdpbmRvd3MgdGFyZ2V0IE1pbkdXOgoJICBnc3RkaXJlY3Rzb3VuZHNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RpcmVjdHNvdW5kX3NyY19taXhlcl9maW5kJzoKCSAgZ3N0ZGlyZWN0c291bmRzcmMuYzo3MzM6MzA6IGVycm9yOiBjYXN0IGZyb20gcG9pbnRlciB0byBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplIFstV2Vycm9yPXBvaW50ZXItdG8taW50LWNhc3RdCgkgIG1tcmVzID0gbWl4ZXJHZXREZXZDYXBzICgoVUlOVCkgZHNvdW5kc3JjLT5taXhlciwKCSAgXgoJICBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoJICBXZSBjYW4gdXNlIHBvcnRhYmxlIEdQT0lOVEVSX1RPX1VJTlQoKSBtYWNybyBmb3IgdGhpcyBwcm9wb3NlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzU2CgoyMDE1LTA5LTA5IDA5OjMzOjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogQWxzbyB1bmJpbmQgcmVuZGVyYnVmZmVyIGFmdGVyIHNldHRpbmcgdXAgZnJhbWVidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc1NwoKMjAxNS0wOS0wOSAwOToyNzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IERvbid0IG1ha2UgY29udGV4dCB1bmN1cnJlbnQganVzdCB0byBtYWtlIGl0IGN1cnJlbnQgYWdhaW4gaW4gdGhlIG5leHQgbGluZQoJICBBbHNvIGJpbmRpbmcgdGhlIGZyYW1lYnVmZmVyIGFnYWluIGlzIHVubmVjZXNzYXJ5IHRoZW4gYXMgaXQgd2FzIGp1c3QgYm91bmQgYQoJICBmZXcgbGluZXMgYmVmb3JlIHdoaWxlIHRoZSBjb250ZXh0IHdhcyBjdXJyZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzU3CgoyMDE1LTA5LTA3IDEyOjA5OjQxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeCBwZXJpb2Qgc3RhcnQgdGltZSBzY2FsaW5nCgkgIFRoaXMgR3N0U3RyZWFtUGVyaW9kIHN0YXJ0IHZhbHVlIGlzIGV4cHJlc3NlZCBpbiBuYW5vc2Vjb25kcywKCSAgYW5kIHRoZSBnbGliIHRpbWUgYWRkaXRpb24gZnVuY3Rpb24gZXhwZWN0cyBtaWNyb3NlY29uZHMuCgkgIFRoZXJlIHNlZW1zIHRvIGhhdmUgYmVlbiBhIGNvbmZ1c2lvbiB3aXRoIEdzdFBlcmlvZE5vZGUncyBzdGFydAoJICBmaWVsZCwgd2hpY2ggaXMgZXhwcmVzc2VkIGluIG1pbGxpc2Vjb25kcy4KCSAgQWRkaXRpb25hbGx5LCBhZGQgYSB3YXJuaW5nIGlmIHRoZSB0aW1lc3RhbXAgbW9kaWZpY2F0aW9uIGRpZAoJICBub3Qgc3VjY2VlZCwgYW5kIE5VTEwgd2FzIHJldHVybmVkLgoKMjAxNS0wOS0wNSAyMzozODo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFkZCBiaXRyYXRlIGluZm8gdG8gdGhlIHRhZ3Mgb3V0cHV0LgoJICBNYWtlcyBpdCBwb3NzaWJsZSBmb3IgbXV4ZXJzIHRvIGtub3cgdGhlIHRhcmdldCBiaXRyYXRlIGFzIHNvb24KCSAgYXMgZW5jb2Rpbmcgc3RhcnRzLCB3aGljaCBmbHZtdXggbm93IHVzZXMuCgoyMDE1LTA5LTA1IDAxOjUwOjQxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRW5zdXJlIGFsbCBhcmd1bWVudHMgdG8gQ0xBTVAgYXJlIHNpZ25lZCBpbnQKCSAgSWYgYW55IG9mIHRoZSBhcmd1bWVudHMgdG8gQ0xBTVAgYXJlIHVuc2lnbmVkIGludGVnZXJzLCB0aGUgY29tcGFyaXNvbiBjYXVzZXMKCSAgYW4gYXV0b21hdGljIGNvbnZlcnNpb24gb2YgdGhlIHNpZ25lZCBpbnQgdG8gdW5zaWduZWQsIHdoaWNoIGNhdXNlcyAtMSB0byBiZWNvbWUKCSAgVUlOVF9NQVggYW5kIGdldCBjbGFtcGVkIHRvIHRoZSBoaWdoIHZhbHVlIG9mIHRoZSBDTEFNUCBpbnN0ZWFkIG9mIDAuCgkgIFNlZSA3MTYgYXQgaHR0cDovL2MweC5jb2RpbmctZ3VpZGVsaW5lcy5jb20vNi4zLjEuOC5odG1sCgkgIEFsc28gYWRkIGEgdGVzdCBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDU3NgoKMjAxNS0wOS0wNCAxNTo0Mzo0MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IGNvbnNpZGVyIEd0a0V2ZW50cyBhcyBoYW5kbGVkCgkgIEFwcGxpY2F0aW9ucyBtaWdodCBzdGlsbCB3YW50IHRvIHVzZSB0aGVtCgkgIGFmdGVyIHRoZSBzaW5rIHRyYW5zZm9ybWVkIHRoZW0gaW50bwoJICBHc3ROYXZpZ2F0aW9uIGV2ZW50cwoKMjAxNS0wOS0wMiAxOToxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGxpZnQgcmVzdHJpY3Rpb24gb2YgY2hhbmdpbmcgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFRoZSB2aWRlb2FnZ3JlZ2F0b3IgY2FuIGNvbnZlcnQgUEFSLCB0aGVyZSBpcyBubyByZWFzb24gZm9yCgkgIHJlc3RyaWN0aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjkxCgoyMDE1LTA4LTA3IDE3OjI3OjQ4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbHNpbms6IEVuc3VyZSB0aGF0IGF0IGxlYXN0IG9uZSB3aW5kb3dpbmcgc3lzdGVtIGlzIGF2YWlsYWJsZQoJICBPdGhlcndpc2UsIHdlJ2xsIGp1c3QgY3Jhc2ggYXQgcnVudGltZSBiZWNhdXNlIHRoZSBnbCBjb250ZXh0IGlzIE5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEwOAoKMjAxNS0wOC0yOCAyMDozMzo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUmVzZXQgc3RhdGUgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE1MgoKMjAxNS0wOC0zMSAxODowNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBndGssIHF0LCBnbDogZml4IHR5cG8gaW4gZGVidWcgYW5kIGVycm9yIG1lc3NhZ2VzCgoyMDE1LTA4LTI4IDIzOjA1OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBbHNvIGlnbm9yZSBzdGFydC10aW1lIG9uIHNlZWsgZnJvbSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgwNgoKMjAxNS0wOC0yOSAxNjo1MTowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB2YXJpYWJsZXMgaW4gY2xhbXBfcmVjdGFuZ2xlKCkgc2hvdWxkIGJlIHNpZ25lZAoJICB4L3kvdy9oIGFyZSBzaWduZWQgaW50ZWdlcnMuIEFzIGNhbiBiZSBzZWVuIGluIEdzdENvbXBvc2l0b3JQYWQuCgkgIFRoZSBwcm90b3R5cGUgZm9yIGNsYW1wX3JlY3RhbmdsZSB3YXMgd3JvbmcuIFRoaXMgY29tbWl0IHJldmVydHMgdGhlIGNoYW5nZQoJICBhbmQgZml4ZXMgdGhlIHByb3RvdHlwZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiY2E0NDRlYTRhODRjMzllOTk4OTY4MWY4OTJmNmU0Y2IyMDMzY2Y5LgoKMjAxNS0wOC0yOCAxOTo1NTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9kcmkyX3dzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX2RlZnMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfdHlwZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9wdnIyZC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzZXh0Lmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvd3NlZ2wuaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgRml4IGZpbGUgcGVybWlzc2lvbnMgb2Ygc29tZSBmaWxlcwoKMjAxNS0wOC0yOCAxNToyMToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogcmVtb3ZlIGNoZWNrIGZvciBiZWxvdyB6ZXJvIGZvciB1bnNpZ25lZCB2YWx1ZQoJICBDTEFNUCBjaGVja3MgYm90aCBpZiB2YWx1ZSBpcyAnPCAwJyBhbmQgJz4gbWF4Jy4gVmFsdWUgd2lsbCBuZXZlciBiZSBhIG5lZ2F0aXZlCgkgIG51bWJlciBzaW5jZSBpdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLiBSZW1vdmluZyB0aGF0IGNoZWNrIGFuZCBvbmx5IGNoZWNraW5nIGlmCgkgIGl0IGlzIGJpZ2dlciB0aGFuIG1heCBieSB1c2luZyBNSU4oKS4KCSAgQ0lEIDEzMjA3MDcKCjIwMTUtMDgtMjggMTM6NDI6MjkgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSAgZWRnZWRldGVjdDogUmVuYW1lIGdzdGVkZ2VkZXRlY3QuYyB0byBnc3RlZGdlZGV0ZWN0LmNwcCBmb3IgY29uc2lzdGVuY3kuCgkgIENoYW5nZSB0aGUgZmlsZSBleHRlbnNpb24gdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZSBmb3IgY29uc2lzdGVuY3kKCSAgd2l0aCBvdGhlciBlbGVtZW50cyBvZiBvcGVuY3YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMDgtMjcgMjE6NTE6NTIgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IHJlbW92ZSB1bnVzZWQgYW5kIHVzZWxlc3MgZnVuY3Rpb25zLgoJICBUaGUgY3ZTbW9vdGggY3ZOb3QgZnVuY3Rpb25zIGFuZCBkbyBub3QgaGF2ZSB0aGUgY29ycmVjdCBpbnB1dCBwYXJhbWV0ZXJzLgoJICBGdXJ0aGVybW9yZSwgY3ZTbW9vdGggZnVuY3Rpb24gaXMgbm90IG5lY2Vzc2FyeSBmb3IgZWRnZSBkZXRlY3Rpb24sCgkgIGJlY2F1c2UgdGhlIENhbm55IGZ1bmN0aW9uIG1ha2VzIHRoZSBzdGVwIG9mIHNtb290aGluZyB0aGUgaW1hZ2UuCgkgIEFuZCBjdk5vdCBmdW5jdGlvbiBpcyB1c2VsZXNzIGJlY2F1c2UgdGhlcmUgYXJlbid0IGNoYW5nZXMgaWYgdGhpcwoJICBmdW5jdGlvbiBpcyBlbGltaW5hdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTA4LTI2IDE4OjQwOjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIHRleHRvdmVybGF5OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBidXQgbmV2ZXIgdXNlZC4gUmVtb3ZpbmcgaXQuCgoyMDE1LTA4LTI2IDE4OjIxOjE1ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNiAxNzo1Njo1MCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogbmVlZCB0byBtaWdyYXRlIHRvIEMrKy4KCSAgVGhlIGNhc2NhZGUgY2xhc3NpZmllciBjaGFuZ2VzIGl0cyBzdHJ1Y3R1cmUgb24gbmV3IHZlcnNpb24gb2YgT3BlbkNWIDIuNC4xMS4KCSAgSXQgaXMgbmVlZCB0byBtaWdyYXRlIHRvIEMrKyB0byB1dGlsaXplIHRoZSBuZXcgbG9hZCBtZXRob2Qgb2YgT3BlbkNWIHdoaWNoCgkgIGFsbG93cyB0byBsb2FkIHRoZSBvbGQgYW5kIG5ldyBjbGFzc2lmaWVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNiAxMjo0Nzo1OCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSAgZmFjZWJsdXI6IENoZWNrIEN2SGFhckNsYXNzaWZpZXJDYXNjYWRlIGlzIHJlbGVhc2UgYmVmb3JlIGJlaW5nIG1vZGlmaWVkLgoJICBGb3IgUFJPUF9QUk9GSUxFIGNhc2UgdGhhdCBleGlzdCBpbnNpZGUgZ3N0X2ZhY2VfYmx1cl9zZXRfcHJvcGVydHkKCSAgZnVuY3Rpb24gbG9hZHMgdGhlIG5ldyBYTUwgZmlsZSBpbiB0aGUgQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGUgcHJvcGVydHkKCSAgd2l0aG91dCBmaXJzdCBjaGVja2luZyB0aGF0IGl0IGlzIHJlbGVhc2VkIGJlY2F1c2UgbWF5YmUgdGhlcmUgaXMgYW4gWE1MCgkgIGZpbGUgcHJldmlvdXNseSBsb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjYgMTI6Mjc6MTUgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkgIGZhY2VibHVyOiBDb2RlIHJlZmFjdG9yaW5nIG9mIGdzdF9mYWNlX2JsdXJfbG9hZF9wcm9maWxlLgoJICBDaGFuZ2VzIGluc2lkZSB0aGUgZ3N0X2ZhY2VfYmx1cl9sb2FkX3Byb2ZpbGUgZnVuY3Rpb24sIHRoZSBudW1iZXIgb2YKCSAgaW5wdXQgcGFyYW1ldGVycyBhbmQgaW4gbGluZXMgd2hlcmUgaXQgaXMgdXNlZCBkdWUgdG8gaXQgY2Fubm90IGJlIHVzZWQKCSAgZ2VuZXJpY2FsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjYgMTE6NTc6MjQgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkgIGZhY2VibHVyOiBDaGFuZ2UgZ3N0ZmFjZWJsdXIgdG8gQysrLgoJICBDaGFuZ2UgdGhlIGdzdGZhY2VibHVyLmMgZmlsZSB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlLgoJICBJdCBpcyBuZWNlc3NhcnkgdG8gbWlncmF0ZSB0aGUgZmFjZWJsdXIgcGx1Z2luIHRvIEMrKywKCSAgaW4gb3JkZXIgdG8gbG9hZCBuZXcgYW5kIG9sZCBjbGFzc2lmaWVycywgdG8gbWFrZSBmYWNlYmx1ciB3b3JrCgkgIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgT3BlbmN2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI3IDExOjEwOjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggY2FwcyBtZW1vcnkgbGVhayBieSBtYWtpbmcgc3RhdGljIGNhcHMgYWN0dWFsbHkgc3RhdGljCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTU3CgoyMDE1LTA4LTIxIDE2OjEzOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG9uJ3QgbWVkZGxlIHdpdGggdGhlIGNsYXNzIHN0cnVjdCBmcm9tIGFuIGluc3RhbmNlCgkgIEZpeCBzb21lIHZlcnkgZHViaW91cyBjb2RlLiBUaGUgY2xhc3MgbWV0aG9kcyBzaG91bGQgYWx3YXlzCgkgIGJlIHNldCwgYW5kIHRoZSBpbnN0YW5jZS1zcGVjaWZpYyBjaGVjayBzaG91bGQgdGhlbiBiZSBkb25lCgkgIGluc2lkZSB0aGUgbWV0aG9kLiBGb3IgZGF0YV9yZWNlaXZlZCB0aGF0J3MgdGhlcmUgYWxyZWFkeSwgZm9yCgkgIGZpbmlzaF9mcmFnbWVudCB3ZSBuZWVkIHRvIGFkZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkzNwoKMjAxNS0wOC0yNiAxMDo1Mjo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY0cGFyc2UvaDI2NXBhcnNlOiBGaXggbmVnb3RpYXRpb24gY3Jhc2gKCSAgQXMgaXQncyByZWN1cnNpdmUsIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG1heSBhbHNvIHJldHVybgoJICBlbXB0eSBmb3IgYW55dGhpbmcgaW5jb21wYXRpYmxlIGRvd25zdHJlYW0uIEVNUFRZIGlzIG5vdCB2YWxpZCBjYXBzCgkgIHZhbHVlIGZvciBnc3RfY2Fwc19maXhhdGUoKS4gVGhpcyBsZWFkIHRvIGFzc2VydGlvbiBhbmQgdGhlbiBjcmFzaC4KCSAgSWRlYWxseSwgdGhlIG5lZ290aWF0ZSBmdW5jdGlvbiBzaG91bGQgYmUgcmUtZmFjdG9yZWQgdG8gaGF2ZSBhIHJldHVybgoJICB2YWx1ZSwgYW5kIHdlIGNvdWxkIG1ha2UgdGhlIG5lZ290aWF0aW9uIGZhaWxzIGVhcmxpZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjIKCjIwMTUtMDgtMjYgMTU6NDA6MTYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBBY3R1YWxseSB1c2UgdGhlIG91dHB1dCByZXNvbHV0aW9uIGZvciBjbGFtcGluZwoJICBUaGUgb2JzY3VyZWQgY2hlY2sgaW4gY29tcG9zaXRvciB3YXMgdXNpbmcgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIHBhZCB0byBjbGFtcAoJICB0aGUgaC93IG9mIHRoZSBwYWQgaW5zdGVhZCBvZiB0aGUgb3V0cHV0IHJlc29sdXRpb24sIGFuZCB3YXMgZG9pbmcgYW4gaW5jb3JyZWN0CgkgIGNhbGN1bGF0aW9uIHRvIGRvIHNvLiBGaXggdGhhdCBieSBzaW1wbGlmeWluZyB0aGUgd2hvbGUgY2FsY3VsYXRpb24gYnkgdXNpbmcKCSAgY29ybmVyIGNvb3JkaW5hdGVzLiBBbHNvIGFkZCBhIHRlc3QgZm9yIHRoaXMgYnVnIHdoaWNoIGZlbGwgdGhyb3VnaCB0aGUgY3JhY2tzLAoJICBhbmQganVzdCBza2lwIGFsbCB0aGUgb2JzY3VyZWQgdGVzdHMgaWYgdGhlIHBhZCdzIGFscGhhIGlzIDAuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEwNwoKMjAxNS0wOC0yNCAwNzo0NjoyNyArMDMwMCAgWHVHdWFuZ3hpbiA8R3Vhbmd4aW4uWHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aWxlIHJvdyBhbmQgY29sdW1uIHBhcnNpbmcKCSAgU2VjdGlvbiA2LjUuMTogIENvZGluZyB0cmVlIGJsb2NrIHJhc3RlciBhbmQgdGlsZSBzY2FubmluZyBjb252ZXJzaW9uIHByb2Nlc3MKCSAgRm9sbG93IHRoZSBlcXVhdGlvbnMgNi0zIGFuZCA2LTQKCSAgVGhpcyB3aWxsIHByb3ZpZGUgY29ycmVjdCBvZmZzZXRfbWF4IGluIHNsaWNlX2hlYWRlciBmb3IgcGFyc2luZwoJICBudW1fZW50cnlfcG9pbnRfb2Zmc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDAyNAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoyMDE1LTA4LTA3IDEyOjUzOjIzICswMzAwICBBdGhhbmFzaW9zIE9pa29ub21vdSA8YXRob2lrQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogc2VsZWN0IGNvcnJlY3QgcG9zaXRpb24gZm9yIGxpdmUgc3RyZWFtcyB0aGF0IGRvbid0IHJlbW92ZSBmcmFnbWVudHMKCSAgU29tZSBsaXZlIHN0cmVhbXMgKGVnIHlvdXR1YmUpIGRvbid0IHJlbW92ZSBmcmFnbWVudHMgaW4gb3JkZXIgdG8gYWxsb3cKCSAgc2Vla2luZyBiYWNrIGluIHRpbWUgKGxpdmUgKyB2b2QpLgoJICBXaGVuIGdzdF9tM3U4X2NsaWVudF9oYXNfbmV4dF9mcmFnbWVudCBpcyBjYWxsZWQsIHdlIGFyZSBnZXR0aW5nIHdyb25nIGZyYWdtZW50CgkgIGJlY2F1c2UgY3VycmVudF9maWxlIHBvaW50cyBpbiBmaXJzdCBmaWxlIG9mIHRoZSBmcmFnbWVudHMgbGlzdCByZXN1bHRpbmcgaW4KCSAgd2F0Y2hpbmcgdGhlIHN0cmVhbSBmcm9tIHRoZSBiZWdpbm5pbmcgYWdhaW4uCgkgIFRoaXMgcGF0Y2ggc2V0cyBjdXJyZW50X2ZpbGUgdG8gbnRoIGZyYWdtZW50IGZvciBsaXZlIHN0cmVhbXMsIHRoZW4gb24KCSAgZ3N0X20zdThfY2xpZW50X2hhc19uZXh0X2ZyYWdtZW50IHdpbGwga2VlcCB1cCB3aXRoIHRoZSBsaXZlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzM0NAoKMjAxNS0wOC0yNCAxOTo0NzowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZDogVXNlIGJhc2UgY2xhc3MgbWV0YWRhdGEgY29weSBmdW5jdGlvbgoJICBUaGlzIGFsbG93IHByb3Blcmx5IGNvcHlpbmcgc2VsZWN0ZWQgbWV0YSwgbGlrZSB0aGUgY29tcG9zaXRpb24KCSAgb3ZlcmxheS4gTm90ZSB0aGF0IG91dHB1dCBidWZmZXIgbmVlZCB0byBiZSByZWFkYWJsZSwgYnV0IEdsVXBsb2FkCgkgIGtlZXBzIGEgcmVmLiBGb3Igbm93LCBzaW1wbHkgZHJvcCBHbFVwbG9hZCByZWYgYWZ0ZXIgcGVyZm9ybSwKCSAgbGVhdmluZyB0aGF0IHJlZiBoYXMgbm8gcHVycG9zZS4gVGhlIG1ldGhvZCBzaGFsbCBiZSByZW1vdmVkCgkgIGluIHRoZSBmdXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNDcKCjIwMTUtMDgtMjQgMTk6Mjg6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IFVzZSBiYXNlIHRyYW5zZm9ybSBtZXRhZGF0YSBjb3B5CgkgIFVzZSBiYXNlIGNsYXNzIGRlZmF1bHQgbWV0aG9kIGluc3RlYWQgb2Ygb25seSBjb3B5aW5nIGZsYWdzIGFuZAoJICB0aW1lc3RhbXAuIFRoaXMgd2F5LCBzZWxlY3RlZCBtZXRhJ3MgbGlrZSBjb21wb3N0aW9uIG92ZXJsYXkgd2lsbAoJICBiZSBwYXNzZWQgZG93bnN0cmVhbSBhcyBleHBlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA0NwoKMjAxNS0wOC0yNSAxMDowOToxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvZWFnbDogVW5yZWYgY29udGV4dCBhZnRlciBzZXR0aW5nIGEgd2luZG93IGhhbmRsZQoJICBnc3RfZ2xfd2luZG93X2dldF9jb250ZXh0KCkgcmV0dXJucyBhIG5ldyByZWZlcmVuY2UuCgkgIEhvcGVmdWxseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzU4CgoyMDE1LTA4LTI0IDIxOjI4OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBBZGQgbmV3IGgyNjUgcGFyc2VyIHN5bWJvbHMKCjIwMTUtMDgtMjQgMDg6MDY6MTUgKzAzMDAgIGx5YiA8YW5keV9saXVfY2hpbmFAMTYzLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBBZGQgQVBJcyBmb3IgdXAtcmlnaHQtZGlhZ29uYWwvcmFzdGVyIHNjYW4gY29udmVyc2lvbgoJICBBcyBwZXIgIDctNDIgYW5kIDctNDMgdGhlIFNjYWxpbmdGYWN0b3IncyBzY2FuSWR4IGlzIDAsCgkgIHdoaWNoIGlzICJ1cC1yaWdodC1kaWFnb25hbCIgc2Nhbi4gQWRkIEFQSXMgZm9yIGNvbnZlcnRpbmcKCSAgdXAtcmlnaHQtZGlhZ29uYWwgdG8gcmFzdGVyIGFuZCB2aXNlIHZlcnNhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDI0CgoyMDE1LTA4LTI0IDA0OjE4OjUyICswMzAwICBYdUd1YW5neGluIDxHdWFuZ3hpbi5YdUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHJhbmdlIG9mIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbQoJICBCZWluZyBtb3JlIHN0cmljdCBvbiBzcGVjaWZpY2F0aW9uLCBBY2NvcmRpbmcgdG8gNy40LjcuMywKCSAgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YKCSAgWygwIC0gbHVtYV9sb2cyX3dlaWdodF9kZW5vbSksICg3IC0gbHVtYV9sb2cyX3dlaWdodF9kZW5vbSldCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwMjQKCjIwMTUtMDgtMjMgMjM6Mzg6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggbGF0ZW5jeSBoYW5kbGluZyBhZ2FpbgoJICBUaGUgdHNkZW11eCBsYXRlbmN5IHNob3VsZCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIG1pbmltdW0KCSAgbGF0ZW5jeSAod2hpY2ggaXMgYWx3YXlzIGEgdmFsaWQgY2xvY2sgdGltZSB2YWx1ZSkuIFRoZQoJICAiY2xlYW51cCIgaW4gY29tbWl0IGExZjcwOWMyIG1hZGUgaXQgc28gdGhhdCBpdCB3b3VsZCBub3QKCSAgYmUgYWRkZWQgaWYgdXBzdHJlYW0gcmVwb3J0ZWQgMCBhcyBtaW5pbXVtIGxhdGVuY3kgKGFzCgkgIGUuZy4gdWRwc3JjIHdvdWxkKS4gVGhpcyBicm9rZSBwbGF5YmFjayBvZiBsaXZlIG1wZWctdHMKCSAgc3RyZWFtaW5nIGluIHNvbWUgY2FzZXMsIGxlYWRpbmcgdG8gcGxheWJhY2sgc3R1dHRlciBkdWUKCSAgdG8gYSB0b28tc21hbGwgY29uZmlndXJlZCBsYXRlbmN5IGZvciB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MDgKCjIwMTUtMDgtMjEgMTM6NDI6MTggLTA3MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXBkYXRlIGRpc3BsYXkgc2l6ZSBiZWZvcmUgc2VuZGluZyBldmVudAoJICBUaGlzIGlzIG1pbm9yIGlzc3VlLCBhcyB0aGUgcmVjb25maWd1cmUgZXZlbnQgaXMgYXN5bmNocm9ub3VzLgoJICBCYXNpY2FsbHksIHVwZGF0ZSB3aWR0aC9oZWlnaHQgYmVmb3JlIHNlbmRpbmcgdGhlIGV2ZW50LgoKMjAxNS0wOC0yMCAxNzoyNzozNCAtMDcwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IExldCBiYXNlIHRyYW5zZm9ybSByZWxheSB0aGUgbWV0YSBhcGkgZm9yIHVzCgkgIER1cmluZyBhbGxvY2F0aW9uIHF1ZXJ5LCB3aGVuIHRoaXMgZWxlbWVudCBpcyBub3QgcGFzc3Rocm91Z2gsIGl0IG11c3QKCSAgcmVsYXkgdGhlIG92ZXJsYXkgY29tcG9zdGlvbiBtZXRhIGFuZCBpdCdzIHBhcmFtZXRlcnMuIEZvcnR1bmF0bHksIGJhc2UKCSAgdHJhbnNmb3JtIGNhbiBkbyB0aGlzIGZvciB1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg1MAoKMjAxNS0wOC0yMSAyMDoyOToyNCArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkgIGN1cmw6IEdpdmUgbmV0aW5ldC9pcC5oIGl0IG93biBjb25maWd1cmUgY2hlY2sKCSAgT24gRnJlZUJTRCBuZXRpbmV0L2lwLmggbmVlZHMgdGhlIHN5cy90eXBlcy5oIGFuZCBuZXRpbmV0L2luLmggaGVhZGVyCgkgIGJlZm9yZSBpdCBjYW4gYmUgdGVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTQ0CgoyMDE1LTA4LTE5IDE3OjQyOjQ5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIGxlbmd0aCBpcyBzZXQgdG8gYSBkaWZmZXJlbnQgdmFsdWUgYmVmb3JlIGJlaW5nIHJlYWQuIFJlbW92ZSBpbml0aWFsIHZhbHVlLgoJICBTaWxlbmNlcyBjb21waWxlciB3YXJuaW5nLgoKMjAxNS0wOC0yMSAwNToyNjoyNSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlLgoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wOC0yMSAxNDowNzozMiArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGFkZCBzcGVjaWZpYyBlcnJvciBtZXNzYWdlIHdoZW4gbWlzc2luZyBHTF9TSEFESU5HX0xBTkdVQUdFX1ZFUlNJT04KCSAgR0xfU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OIHdhcyBpbnRyb2R1Y2VkIHNpbmNlIEVTIDIuMCwgYnV0IGluIHNvbWUKCSAgYW5kcm9pZCBlbXVsYXRvciBkb2Vzbid0IHN1cHBvcnQgdGhpcyBmZWF0dXJlLiBUbyBwcmV2ZW50IGNvbmZ1c2lvbiBmb3IKCSAgZGV2ZWxvcGVyLCB0aGUgZXJyb3IgbWVzc2FnZSBuZWVkIHRvIGJlIG1vcmUgY2xlYXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MDUKCjIwMTUtMDgtMjEgMTY6NDQ6NDMgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogYXVkaW9taXhlcjogcmVtb3ZlIGR1cGxpY2F0ZWQgd29yZCBpbiBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MTUKCjIwMTUtMDgtMjEgMTY6MzE6NDEgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBEb24ndCBjaGFpbiB1cCB0byBwYXJlbnQncyBxdWVyeSBoYW5kbGluZyB0d2ljZSBmb3IgRFJBSU4gcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkxMwoKMjAxNS0wOC0yMCAxNTowMDowMiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBjaGVjazogaGxzZGVtdXg6IG1ha2UgZHVyYXRpb24gdW5pdCB0ZXN0IHJvYnVzdCB0byBmbG9hdGluZyBwb2ludCByb3VuZGluZwoJICBUaGUgdGVzdF9wbGF5bGlzdF93aXRoX2RvdWJsZXNfZHVyYXRpb24oKSB0ZXN0IGZhaWxzIG9uIHNvbWUgcGxhdGZvcm1zCgkgIGR1ZSB0byByb3VuZGluZyBlcnJvcnMgdGhhdCBvY2N1ciB3aGVuIG0zdTguYyBjb252ZXJ0cyBmcm9tIHRoZSBmbG9hdGluZwoJICBwb2ludCB2YWx1ZSBpbiB0aGUgSExTIG1hbmlmZXN0IHRvIGEgR3N0Q2xvY2tUaW1lLgoJICBVc2luZyBhc3NlcnRfZXF1YWxzX2Zsb2F0KCkgZml4ZXMgdGhpcyBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaGFuZGxlcwoJICB0aGUgcm91bmRpbmcgZXJyb3IgaXNzdWVzIGJ5IGFjY2VwdGluZyBhbG1vc3QgZXF1YWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4ODEKCjIwMTUtMDgtMTcgMTg6MzU6NTggKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBvbmx5IGNhbGwgZ2xfe3N0b3Asc3RhcnR9IGlmIHRoZSBjb250ZXh0IGNoYW5nZWQKCSAgUmVtb3ZlcyB0aGUgcmVkdW5kYW50IEdMIG9iamVjdCBjcmVhdGlvbi9kZWxldGlvbiBvbiBldmVyeQoJICBkZWNpZGVfYWxsb2NhdGlvbiBjYWxsIHdoaWNoIGlzIGJlaW5nIGNhbGxlZCBmb3IgZXZlcnkgY2FwcyBjaGFuZ2UuCgkgIFRodXMgcmVkdWNlcyB0aGUgcmVxdWlyZWQgR0wgc3RhdGUgY2hhbmdlcyBvbiByZWNvbmZpZ3VyZSBldmVudHMKCSAgd2hpY2ggYXJlIGJlaW5nIHNlbnQgYnkgZ2xpbWFnZXNpbmsveHZpbWFnZXNpbmsKCjIwMTUtMDgtMjAgMTQ6MDk6MzcgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBGaXggT3BlbkNWIGRhdGEgcGF0aCBjaGVjayB0byB3b3JrIHdpdGggY3Jvc3MgY29tcGlsYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzY1MQoKMjAxNS0wOC0yMCAxNDoxMTo1NiArMDMwMCAgQmVuIEJyb3dpdHQgPGJlbi5icm93aXR0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBbHdheXMgc2V0IHRoZSBwYWQncyBidWZmZXJfdmluZm8gd2hlbiBzdG9yaW5nIGEgYnVmZmVyCgkgIE90aGVyd2lzZSBpdCBtaWdodCBiZSB1bnNldCwgYW5kIHRoZW4gdGhlIGJ1ZmZlciBpcyB1c2VkIGFuZAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2lsbCBjcmFzaCBiZWNhdXNlIG9mIGludmFsaWQgdmlkZW8taW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgwNQoKMjAxNS0wOC0xOSAyMTozMzowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IEhhbmRsZSBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlIDx4bWw+IGVsZW1lbnQgd2hlbiBkdW1waW5nIG5vZGVzCgkgIFByZXZpb3VzIHBhdGNoIGRpZCBub3QgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGFuIGVuY29kaW5nIChlLmcuIFVURi04KSBpcwoJICBzcGVjaWZpZWQgaW4gdGhlIDx4bWwgPz4gZWxlbWVudC4gQWRkZWQgYW4gZXh0cmEgdGVzdCBmb3Igd2l0aCBhbmQgd2l0aG91dAoJICBlbmNvZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgxMwoKMjAxMy0wMS0zMSAxNDowMzo0MCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGNoZWNrIHZpZGVvIGZyYW1lIG1hcHBpbmcgc3VjY2VlZGVkIGJlZm9yZSBibGVuZGluZwoJICBJZiB0aGUgbWFwcGluZyBmYWlscyBqdXN0IHNraXAgb3ZlcmxheSByZW5kZXJpbmcgYW5kIHB1c2ggdGhlIHZpZGVvCgkgIGZyYW1lIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjIKCjIwMTUtMDgtMTkgMTU6MzE6MTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJICBjb25maWd1cmUuYWM6IGZpeCBidWlsZCB3aGVuIHRoZSB1dmNoMjY0IHBsdWdpbiBpcyBub3Qgc2VsZWN0ZWQKCSAgSW5zdGVhZCBvZiBjaGVja2luZyBmb3IgdGhlIGdzdHJlYW1lci12aWRlby0xLjAgcGFja2FnZSBpcyBpbnN0YWxsZWQsCgkgIGp1c3QgYXNzdW1lIGl0IGlzIHNpbmNlIHdlIGFscmVhZHkgY2hlY2sgZm9yIHRoZSAtYmFzZSBkZXBlbmRlbmN5LgoJICBXaXRoIHRoaXMgcmVwbGFjZSB0aGUgR1NUX1ZJREVPXyogdmFyaWFibGVzIGluIG1ha2VmaWxlcyBhbmQgZGlyZWN0bHkKCSAgbGluayB3aXRoIGxpYmdzdHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODIwCgoyMDE1LTA4LTE5IDExOjI5OjQzICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiByZXBsYWNlIHhtbE5vZGVEdW1wIHdpdGggeG1sTm9kZUR1bXBPdXRwdXQKCSAgV2hlbiBydW5uaW5nIG9uIGFuIFNUQiwgdGhlIGZ1bmN0aW9uCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9ub2RlX2FzX3N0cmluZyBjYXVzZXMgYSBzZWdtZW50YXRpb24gZmF1bHQuIFRoaXMKCSAgY29kZSB3b3JrcyBjb3JyZWN0bHkgb24gYSBMaW51eCBkZXNrdG9wLgoJICBMb29raW5nIGF0IHRoZSBsaWJ4bWwgZG9jdW1lbnRhdGlvbiwgdGhlIHhtbE5vZGVEdW1wIGlzIGRlcHJlY2F0ZWQuCgkgIFJlcGxhY2luZyB0aGUgdXNlIG9mIHhtbE5vZGVEdW1wIHdpdGggeG1sTm9kZUR1bXBPdXRwdXQgZml4ZXMgdGhlCgkgIHNlZ2ZhdWx0IG9uIHRoZSBTVEIgYW5kIHJlbW92ZXMgdGhlIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbi4KCjIwMTUtMDgtMTkgMTI6Mzc6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIFF0IHZlcnNpb24KCSAgVXNhZ2Ugb2YgUVNHU2ltcGxlVGV4dHVyZU5vZGU6OnNldE93bnNUZXh0dXJlKCkgd2FzIGFkZGVkIGluIGNvbW1pdAoJICA2YjhjZjg0MTlkOGVhODAwODFkZTgxNTBhNmIxYzNjZjc2M2M0ZDY5LCB0aGlzIGZ1bmN0aW9uIHdhcyBhZGRlZCBpbgoJICBRdCA1LjQuMC4gQ2hlY2sgZm9yIHRoaXMgdmVyc2lvbiBvciBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgxMgoKMjAxNS0wNy0xNiAyMjo1NzozNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhYm9ydCBwbGF5bGlzdCB1cGRhdGUgd2hlbiBjYW5jZWxsZWQKCSAgT3RoZXJ3aXNlIHRoZSBkb3dubG9hZCB0aHJlYWQgd2lsbCBnZXQgc3R1Y2ssIHNpbmNlIHRoZSBkb3dubG9hZGVyIGlzCgkgIGRpc2FibGVkLgoKMjAxNS0wOC0xOSAxMzo1MjoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrL2dsOiBVc2Ugb3VyIEdMIGZ1bmN0aW9uIHRhYmxlIGluc3RlYWQgb2YgZGlyZWN0bHkgY2FsbGluZyBHTCBmdW5jdGlvbnMKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGhhdmUgdG8gbGluayB0aGUgcGx1Z2luIHRvIHRoZSBHTCBsaWJyYXJpZXMgZGlyZWN0bHkuCgo9PT0gcmVsZWFzZSAxLjUuOTAgPT09CgoyMDE1LTA4LTE5IDEzOjQ2OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTAKCjIwMTUtMDgtMTkgMTI6NTI6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOC0xOSAxMTozNjoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vc3YucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA4LTE4IDEzOjU2OjU5ICswMjAwICBHdWlsbGF1bWUgTWFycXVlYmllbGxlIDxndWlsbGF1bWUubWFycXVlYmllbGxlQHBhcnJvdC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGZpeCBhc3NlcnRpb24gd2hlbiBjb3B5aW5nIGJ1ZmZlciByZWdpb24KCSAgSW4gZ3N0X2xpdmVfYWRkZXJfY2hhaW4oKSBmdW5jdGlvbiwgY2FsbHMgdG8gZ3N0X2J1ZmZlcl9jb3B5X3JlZ2lvbigpIGNhbiBsZWFkCgkgIHRvIGFzc2VydGlvbiBhcyAnb2Zmc2V0ICsgc2l6ZSA8PSBidWZzaXplJyBpcyBub3QgcmVzcGVjdGVkLgoJICBJbmRlZWQgJ29mZnNldCcgYW5kICdzaXplJyBwYXJhbWV0ZXJzIGFyZSBjYWxjdWxhdGVkIHRocm91Z2ggY2FsbGluZyBnc3RfbGl2ZV9hZGRlcl9sZW5ndGhfZnJvbV9kdXJhdGlvbigpLAoJICBhbmQgdGh1cyBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50X3JvdW5kKCkuCgkgIERlcGVuZGluZyBvbiB0aGUgbmVhcmVzdCBpbnRlZ2Vycywgcm91bmRlZCB2YWx1ZXMgJ29mZnNldCcgYW5kICdzaXplJyBjYW4gdGhlbiB0cmlnZ2VyIHRoZSBhc3NlcnRpb24uCgkgIFRoaXMgY2FzZSBtYWlubHkgb2NjdXJzIHdoZW4gJ3NraXAnIHZhbHVlIGlzID4gMCBpbiBjaGFpbiBmdW5jdGlvbiBwcm9jZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzU5CgoyMDE1LTA4LTE3IDE4OjA2OjMwICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlLgoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0wOC0xNyAxODowMjoyOCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogY2hlY2sgQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGUgaXMgcmVsZWFzZSBiZWZvcmUgYmVpbmcgbW9kaWZpZWQuCgkgIE1ha2Ugc3VyZSBhIHByZXZpb3VzIGNhc2NhZGUsIGlmIGl0IGV4aXN0cywgaXMgcmVsZWFzZWQgYmVmb3JlIGxvYWRpbmcgYQoJICBuZXcgWE1MIGZpbGUgb250byBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0wOC0xNyAxNzo0Nzo0MiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogY29kZSByZWZhY3RvcmluZyBvZiBnc3RfaGFuZGRldGVjdF9sb2FkX3Byb2ZpbGUuCgkgIENoYW5nZSBnc3RfaGFuZGRldGVjdF9sb2FkX3Byb2ZpbGUoKSBzbyBpdCBjYW4gYmUgdXNlZCBnZW5lcmljYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0wOC0xOCAxMTo1NDozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJICBkYWFsYWVuYzogRml4IGJ1aWxkCgkgIEFuZCBhbHNvIG9ubHkgZ2VuZXJhdGUgdGhlIHN1cHBvcnRlZCBjYXBzIG9uY2UsIG5vdCBvbiBldmVyeSBDQVBTL0FDQ0VQVF9DQVBTCgkgIHF1ZXJ5LiBJdCdzIG5vdCB0aGF0IGNoZWFwLgoKMjAxNS0wOC0xNyAyMzo0NDo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IGFkZCBzaWxlbnQgb3B0aW9uCgkgIEJ5IGRlZmF1bHQgdGhlIGV4YW1wbGUgZmxvb2RzIHRoZSBzY3JlZW4gd2l0aCB0aGUgZGV0ZWN0ZWQgZmFjZSB2YWx1ZXMuCgkgIEFkZCBhbiBvcHRpb24gdG8gYXZvaWQgdGhpcyBmb3IgZnJhaWwgdGVybWluYWxzLgoKMjAxNS0wOC0xNyAxNDozODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBhZGQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgT3Zld3JpdGUgZGVmYXVsdCBoYW5kbGluZyB0byBhdm9pZCBkb2luZyBhIGNhcHMgcXVlcnkuIENoZWNrCgkgIHRoZSByZWNlaXZlZCBjYXBzIGFnYWluc3QgdGhlIHBvc3NpYmxlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5CgkgIHRoZSB4MjY1IGxpYnJhcnkuCgoyMDE1LTA4LTE3IDE0OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSAgZGFhbGFlbmM6IGFkZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBPdmV3cml0ZSBkZWZhdWx0IGhhbmRsaW5nIHRvIGF2b2lkIGRvaW5nIGEgY2FwcyBxdWVyeS4gQ2hlY2sKCSAgdGhlIHJlY2VpdmVkIGNhcHMgYWdhaW5zdCB0aGUgcG9zc2libGUgZm9ybWF0cyBzdXBwb3J0ZWQgYnkKCSAgdGhlIGRhYWxhIGxpYnJhcnkuCgoyMDE1LTA4LTE2IDA3OjA2OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHZpZGVvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IG9wZW5qcGVnZW5jLCBzY2hyb2VuYywgd2VicGVuYywgcG5tZW5jCgoyMDE1LTA4LTE3IDE3OjM4OjE1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogc3VwcG9ydCBhbHRlcm5hdGl2ZSBwYXRoIGNvbnZlbnRpb24KCSAgU29tZSBkaXN0cmlidXRpb25zIHN0b3JlIE9wZW5DViBmaWxlcyBpbiAvdXNyL3NoYXJlL29wZW5jdiBhbmQgc29tZSBvdGhlcnMKCSAgKGFuZCBkZWZhdWx0IHdoZW4gYnVpbGRpbmcgZnJvbSBzb3VyY2UpIGluc3RhbGwgdGhlbSBpbgoJICAvdXNyL3NoYXJlL09wZW5DVi4gU3VwcG9ydCBib3RoIHRvIGZpbmQgY2FzY2FkZSBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzY1MQoKMjAxNS0wOC0xNiAyMToxODo1MCArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkgIGRhc2hkZW11eDogbGluayBhZ2FpbnN0IGdpbyBmb3IgZ19yZXNvbHZlciBhbmQgZ19pbmV0X2FkZHJlc3NfZnJvbV9zdHJpbmcKCSAgQWRkIG1pc3NpbmcgZ2lvLTIuMCBDRkxBR1MvTElCUyB0byBmaXggbGlua2VyIGZhaWx1cmUKCjIwMTUtMDgtMTYgMDc6MTg6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGZhYWMsIGdzbWVuYywgb3B1c2VuYywgc2JjZW5jLCB2b2FtcndiZW5jLCBhZHBjbWVuYywgc2lyZW5lbmMKCjIwMTUtMDgtMTcgMDc6NTU6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogUmVtb3ZlIGN1c3RvbSBnZXRjYXBzIGFuZCBqdXN0IHVzZSB0aGUgdGVtcGxhdGUKCSAgV2Uga25vdyBmcm9tIHRoZSBiZWdpbm5pbmcgdGhlIGNhcHMgdGhhdCBhcmUgYWNjZXB0YWJsZSwgbm8gbmVlZAoJICBmb3IgY3VzdG9tIGdldGNhcHMgb3IgbWFudWFsbHkgZ2VuZXJhdGluZyBjYXBzLgoKMjAxNS0wOC0xNyAwNzo1NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBhZGQgdmVyc2lvbiB0byBnc3QtbGF1bmNoIHN0cmluZyBvbiBkb2N1bWVudGF0aW9uCgkgIGdzdC1sYXVuY2ggd2lsbCBjYWxsIHRoZSAwLjEwIHZlcnNpb24sIHdlIHdhbnQgMS4wCgoyMDE1LTA4LTE3IDA3OjE1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IG1ha2UgdGVtcGxhdGUgcGFkIGNhcHMgbW9yZSBhY2N1cmF0ZSBhbmQgcmVtb3ZlIGN1c3RvbSBnZXRjYXBzCgkgIEFsbG93cyByZXVzaW5nIGJhc2VjbGFzcyBjYXBzIHF1ZXJ5IGhhbmRsaW5nIGFuZCBzaW1wbGlmeWluZyBuZWdvdGlhdGlvbgoJICBjb2RlLgoKMjAxNS0wOC0xNyAxMTo1MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBzdGlsbCByZXNldCBwZW5kaW5nIGF1ZGlvIGluZm8gb24gaGFyZCBmbHVzaAoJICBGb2xsb3ctdXAgdG8gcHJldmlvdXMgY29tbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDMxCgoyMDE1LTA3LTE1IDEwOjQ0OjAyIC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJAY29udHJvbDQuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeCBoYW5kbGluZyBvZiBzYW1wbGUgcmF0ZSBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrCgkgIElmIHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgbWVkaWEgY2hhbmdlcywgdGhlIHJlc3VsdGluZyBmbHVzaCB3aWxsCgkgIGNsZWFyIHRoZSBoYXNfbmV4dF9hdWRpb2luZm8gZmxhZywgYW5kIHRoZSBjYXBzIHdvbid0IGJlIHNlbnQKCSAgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQzMQoKMjAxNS0wMy0xNyAxNzo1NToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSBnc3RfYmFzZV9wYXJzZV9tZXJnZV90YWdzKCkKCSAgSW5zdGVhZCBvZiBzcXVhc2hpbmcgYWxsIHVwc3RyZWFtIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wOC0xNiAxODoxMzoxMiArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBSZWNhbGN1bGF0ZSBvZmZzZXQgYW5kIHNpemUgaW4gcmF3IHVwbG9hZAoJICBBcyB3ZSBvbmx5IGV4cG9zZSB0aGUgbWFwcGVkIHBvcnRpb24gb2YgdGhlIGZyYW1lIGludG8gdGhlIEdMCgkgIG1lbW9yeSBvYmplY3QgKGFuZCBub3QgdGhlIG9yaWdpbmFsIHBhZGRpbmcpIHdlIG5lZWQgdG8KCSAgcmUtY2FsY3VsYXRlIHRoZSBzaXplIGFuZCBvZmZzZXQuCgoyMDE1LTA4LTE2IDA4OjQ5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggb2ZmIGJ5IG9uZSBzZWVraW5nIGlzc3VlCgkgIFdoZW4gc2Vla2luZyB0byB0aGUgbGFzdCBzZWNvbmQgb2YgYSBtcGQgaXQgd291bGQgcmVqZWN0IHRoZSBzZWVrCgkgIGJlY2F1c2UgdGhlIGNvbXBhcmlzb24gd2FzIDwgaW5zdGVhZCBvZiA8PQoJICBUaGlzIGZhaWxzIHRoZSBpbXBvcnRhbnQgdXNlIGNhc2Ugb2Ygc2Vla2luZyB0byB0aGUgZW5kIG9mIGEgZmlsZQoJICB0byBwbGF5IGl0IGJhY2sgaW4gcmV2ZXJzZSBmcm9tIHRoZSBlbmQKCjIwMTUtMDgtMTYgMTI6NTU6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRml4IGlsbG9naWNhbCBjb21wYXJpc2lvbgoJICBBIHZhcmlhYmxlIGNhbid0IGJlIHR3byB2YWx1ZXMgYXQgb25jZS4gV2Ugd2FudCB0byBzdG9wIGlmIGl0J3Mgbm90IHRoZQoJICBhY3R1YWwgdHMgKkFORCogbm90IHRoZSBvdGhlciB0cwoJICBDSUQgIzEzMTY0NzUKCjIwMTUtMDgtMTYgMTI6NTI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBGcmVlIFVUQ1RpbWluZyBzdHJ1Y3QgaWYgdGhlcmUgYXJlIG5vIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggaXQKCSAgQ0lEIDEzMTY0NzkKCjIwMTUtMDgtMTUgMjM6MzY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IExpbmsgYWdhaW5zdCBHTW9kdWxlIGZvciB0ZXN0cyB1c2luZyBnX21vZHVsZV8qCgoyMDE1LTA4LTE1IDE5OjA0OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEZW1vdGUgZGVidWdnaW5nIGxldmVsCgoyMDE1LTA4LTE1IDE5OjAxOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBY3R1YWxseSB3YWl0IGZvciBwbGF5bGlzdCB1cGRhdGUgd2hlbiByZXF1ZXN0ZWQKCSAgVGhlcmUgYXJlIHNldmVyYWwgY2FzZXMgd2hlcmUgYSBITFMgc2VydmVyIGNvdWxkIHRlbXBvcmFyaWx5IGhhdmUgd3JvbmcKCSAgZnJhZ21lbnRzLCBvciByZWNvbmZpZ3VyZSB0aGUgcGxheWxpc3QuIEluIHRob3NlIGNhc2VzLCB3aGVuIHdlIGdldAoJICBmcmFnbWVudCBkb3dubG9hZCBmYWlsdXJlcywgd2UgKnJlYWxseSogd2FudCB0byB3YWl0IGEgYml0IChmb3IgdGhlIG5leHQKCSAgcGxheWxpc3QgdXBkYXRlKSBiZWZvcmUgcmV0cnlpbmcgdG8gZ2V0IGZyYWdtZW50cy4KCSAgUHJldmlvdXNseSB0aGlzIG1ldGhvZCB3YXMgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmIHRoZXJlIHdhcyBuZXh0IGZyYWdtZW50cwoJICAoYWNjb3JkaW5nIHRvIHRoZSBwcmV2aW91cyBtYW5pZmVzdCB1cGRhdGUpIGJlZm9yZSB3YWl0aW5nIGZvciB0aGUgbmV4dCB1cGRhdGUuCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IGlmIHRoYXQgaWYgdGhlcmUgaXMgYSB0ZW1wb3JhcnkgZmFpbHVyZSBvbiB0aGUgc2VydmVyLAoJICB0aGF0J3MgdW5jb3JyZWxhdGVkIHRvIHdoZXRoZXIgdGhlIG1hbmlmZXN0IGNvbnRhaW5zIG5leHQgZnJhZ21lbnRzIG9yIG5vdC4KCjIwMTUtMDgtMTQgMTI6MjU6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBjaGVja3M6IEVuc3VyZSB0aHJlYWQtc2FmZSBsaWJYMTEvR0wgd2hlbiBydW5uaW5nIHRlc3RzCgoyMDE1LTA4LTE1IDEyOjU4OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIGF1ZGlvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZHRzZGVjLCBmYWFkLCBnc21kZWMsIG1wZzEyM2F1ZGlvZGVjLCBvcHVzZGVjLAoJICBzYmNkZWMsIGFkcGNtZGVjLCBzaXJlbmRlYwoKMjAxNS0wOC0xNSAxMjo1NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZpZGVvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZGFhbGFkZWMsIGxpYmRlMjY1ZGVjLCBvcGVuanBlZ2RlYywgcnN2Z2RlYywgc2Nocm9kZWMsCgkgIHdlYnBkZWMsIHBubWRlYywgdm1uY2RlYywgb3BlbmV4cmRlYwoKMjAxNS0wOC0xNSAxNjoyMjoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogbWFrZSBzdXJlIHdlIGNhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwKCSAgQ2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTCBpbiB0aGUgU1RBUC1BIFJUUCBwYWNrZXQuIFRoaXMgbWFrZXMgc3VyZQoJICB3ZSBjb3JyZWN0bHkgZXh0cmFjdCB0aGUgU1BTIGFuZCBQUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5OTkKCjIwMTUtMDgtMTUgMTU6MDI6MzMgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEFsc28gZGlzYWJsZSB0aGUgYmxlbmQgd2hlbiBkb25lCgoyMDE1LTA4LTE1IDE0OjMxOjE1ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsc2luazogRW5hYmxlIHN5bmMgbWV0YSBvbiBwb29scyB3ZSBvZmZlcgoJICBBcyB0aGUgdXBsb2FkIGlzIGFzeW5jaHJvbm91cywgd2UgbmVlZCB0byBlbmFibGUgdGhlIHN5bmMgbWV0YSB0bwoJICBnYWluIGNvcnJlY3QgcmVuZGVyaW5nLiBUaGUgYnVmZmVyIHBvb2wgcmVjZWl2ZXIgZG9uJ3Qga25vdyBhYm91dAoJICB0aGF0LgoKMjAxNS0wOC0xNSAxNToxMjoyNyArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IEFkZCBvdmVybGF5IGNvbXBvc2l0aW9uIHN1cHBvcnQKCSAgUmVuZGVyaW5nIGNvbXBvc2l0aW9uIG92ZXJsYXkgaW4gR0wgd2l0aCBhZGRpdGlvbmFsIGhpZ2ggcmVzb2x1dGlvbgoJICBvdmVybGF5IGJlaW5nIGFkZGVkLgoKMjAxNS0wOC0xNSAxNTowODoxMSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a2dsc2luazogRml4IHVuc2FmZSBoYW5kbGluZyBvZiBidWZmZXIgbGlmZSB0aW1lCgkgIFdlIG5lZWQgdG8ga2VlcCB0aGUgYWN0aXZlIGJ1ZmZlciAodGhlIG9uZSB3ZSBoYXZlIHJldHJlaXZlIGEKCSAgdGV4dHVyZSBpZCBmcm9tKSBvdGhlcndpc2UgaXQncyByYWN5IGFuZCB1cHN0cmVhbSBtYXkgdXBsb2FkCgkgIG5ldyBjb250ZW50IGJlZm9yZSB3ZSBoYXZlIHJlbmRlcmVkIG9yIGR1cmluZyBsYXRlciByZWRpc3BsYXkuCgoyMDE1LTA4LTE0IDE4OjA3OjE1ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBSZW1vdmUgcmVzZXQgcGF0aAoJICBUaGUgcmVzZXQgcGF0aCBpcyBib2d1cyBhbmQgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGdldCByaWQgb2YgdGhlc2UKCSAgdGhpbmdzIGR1cmluZyByZXNpemUuCgoyMDE1LTA4LTE0IDE3OjM2OjQ4ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE1vdmUgb3ZlcmxheSByZW5kZXJpbmcgYWZ0ZXIgdmlkZW8gcmVuZGVyaW5nCgkgIFRoaXMgaXMgbW9zdGx5IGNvc21ldGljLCBidXQgaGVvcmV0aWNhbGx5IGl0IHJlZHVjZXMgdGhlIGFtb3VudCBvZgoJICByZXF1aXJlZCBvYmplY3QgaW4gdGhlIGNvbnRleHQgYXQgb25lIHBvaW50LiBJdCBhbHNvIGF2b2lkcyBwb3RlbnRpYWwKCSAgY29uZmxpY3RzLgoKMjAxNS0wOC0xNSAxNDo0NTozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBDb3B5IG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTUgMTE6NDE6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTE1IDExOjMwOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycyB0byBiZQoJICB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluCgkgIGdzdF9ydHBfaDI2NV9wYXlfc2VuZF92cHNfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbiB1cCB0byB0aGUKCSAgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHN0cmVhbWluZwoJICBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNS0wOC0xNSAxMDowMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIG9wZW5nbDogQ2hhbmdlIEdMY2xhbXBkIHRvIGRvdWJsZQoJICBHTGNsYW1wZCBkb2VzIG5vdCBleGlzdCBvbiBHTEVTLCBvbmx5IGRlc2t0b3AgR0wuCgoyMDE1LTA4LTE0IDEwOjMyOjE0IC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIG9wZW5nbDogYWRkIG1pc3NpbmcgQ2xlYXJEZXB0aCBwcm90b3R5cGUKCSAgVGhlIENsZWFyRGVwdGggY2FsbCBpcyBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjM5CgoyMDE1LTA4LTA2IDE0OjMzOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENsZWFyIFNQUyBpbmZvIGFmdGVyIHByb2Nlc3NpbmcuCgkgIFRoZSBTUFMgc3RydWN0IG1pZ2h0IGJlIGZpbGxlZCBvdXQgYnkgYSBjYWxsIHRvCgkgIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zdWJzZXRfc3BzLCB3aGljaCBmaWxscyBvdXQKCSAgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGRhdGEgYW5kIHJlcXVpcmVzIGEgY2FsbAoJICB0byBnc3RfaDI2NF9zcHNfY2xlYXIoKSB0byBmcmVlIGl0LiBBbHNvIG1ha2Ugc3VyZQoJICB0byBjbGVhciBvdXQgYW55IGFsbG9jYXRlZCBTUFMgZGF0YSB3aGVuIHJldHVybmluZwoJICBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzMwNgoKMjAxNS0wOC0xMiAwMDoyMDoyNiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBSZWZhY3RvciB0aGUgY29kZQoJICBTb21lIGxpbmVzIG9mIGNvZGUgYXJlIHJlcGVhdGVkIHNldmVyYWwgdGltZXMsIHRoZXJlZm9yZQoJICB0aGlzIGxpbmVzIGFyZSBzaW1wbGlmaWVkIHdpdGggYSBpbmxpbmUgZnVuY3Rpb24sIHRoYXQgdGhpcyBpcwoJICBwcm9wZXIgc3R5bGUgb2YgQysrLgoKMjAxNS0wOC0xNCAxMTo0Mzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogZW5hYmxlIGFjY2VwdC1pbnRlcnNlY3QgYW5kIGFjY2VwdC10ZW1wbGF0ZSBmbGFncyBvbiBzaW5rcGFkCgkgIERvIGEgcXVpY2sgY2hlY2sgd2l0aCB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgaXQgaXMgZW5vdWdoLiBVc2VycwoJICBzaG91bGQgaGF2ZSBmaWd1cmVkIHRoZSBhcHByb3ByaWF0ZSBmdWxsIGNhcHMgb24gYSBwcmV2aW91cyBjYXBzIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTE6NDM6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBlbmFibGUgYWNjZXB0LXRlbXBsYXRlIGZsYWcKCSAgRG8gYSBxdWljayBjaGVjayB3aXRoIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBpdCBpcyBlbm91Z2guIFVzZXJzCgkgIHNob3VsZCBoYXZlIGZpZ3VyZWQgdGhlIGFwcHJvcHJpYXRlIGZ1bGwgY2FwcyBvbiBhIHByZXZpb3VzIGNhcHMgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxNTowODowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1ciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duIHdoaWxlIGEKCSAgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTUtMDgtMTQgMTE6NDk6NTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IGNvcHkgbWV0YWRhdGEgaW4gdGhlIGRlcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTE0IDA5OjQ0OjI0ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBIVFRQIEhFQUQgbWV0aG9kIG9mIHRpbWUgc3luYwoJICBUaGUgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC1oZWFkOjIwMTQgbWV0aG9kIG9mIHRpbWUgc3luY2hyb25pc2F0aW9uCgkgIHVzZXMgYW4gSFRUUCBIRUFEIHJlcXVlc3QgdG8gYSBzcGVjaWZpZWQgVVJMIGFuZCB0aGVuIHBhcnNlcyB0aGUKCSAgRGF0ZTogSFRUUCByZXNwb25zZSBoZWFkZXIuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCB0byBkYXNoZGVtdXggZm9yIHRoaXMgbWV0aG9kIG9mIHRpbWUKCSAgc3luY2hyb25pc2F0aW9uIGJ5IG1ha2luZyBhIEhFQUQgcmVxdWVzdCBhbmQgdGhlbiBwYXJzaW5nIHRoZSBEYXRlOgoJICByZXNwb25zZS4KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IHRvIGdzdGZyYWdtZW50IHRvIHJldHVybiB0aGUgSFRUUCBoZWFkZXJzCgkgIGFuZCB0byB1cmlkb3dubG9hZGVyIHRvIHN1cHBvcnQgSEVBRCByZXF1ZXN0cy4gVG8gYXZvaWQgY3JlYXRpbmcgYQoJICBuZXcgQVBJLCB0aGUgUkFOR0UgZ2V0IGZ1bmN0aW9uIGlzIHJlLXVzZWQgKGFidXNlZD8pIHdpdGggc3RhcnQ9LTEKCSAgYW5kIGVuZD0tMSB0byBpbmRpY2F0ZSBhIEhFQUQgcmVxdWVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wOC0xMyAxODoyMToyOSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcG9zdC1yZXZpZXcgZml4dXAgb2YgVVRDVGltaW5nIGVsZW1lbnQKCSAgVGhpcyBjb21taXQgYWRkcmVzc2VzIHRoZSBmb2xsb3dpbmcgaXRlbXMgZnJvbSB0aGUgY29kZSByZXZpZXc6CgkgIHVzZSBhIHBvcnRhYmxlIHdheSB0byBkZWZpbmUgTlRQX1RPX1VOSVhfRVBPQ0gsCgkgIGZpeCBtZW1vcnkgbGVhayBvbiBlcnJvciwgYW5kCgkgIGFkZCBkb2N1bWVudGF0aW9uIHRvIFVUQ1RpbWluZyBwYXJzZSBmdW5jdGlvbnMKCSAgVXNpbmcgTEwgaXMgbm90IHBvcnRhYmxlLCBzbyB0aGUgR19HVUlOVDY0X0NPTlNUQU5UIG5lZWRzIHRvIGJlIGluc3RlYWQuCgkgIElmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgRE5TIHJlc29sdXRpb24sIHRoZSBHRXJyb3Igd2FzIG5vdCBiZWluZwoJICByZWxlYXNlZCwgY2F1c2luZyBhIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA3LTE1IDExOjU2OjEzICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIFVUQ1RpbWluZyBlbGVtZW50cyBmb3IgY2xvY2sgZHJpZnQgY29tcGVuc2F0aW9uCgkgIFVubGVzcyB0aGUgREFTSCBjbGllbnQgY2FuIGNvbXBlbnNhdGUgZm9yIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gaXRzCgkgIGNsb2NrIGFuZCB0aGUgY2xvY2sgdXNlZCBieSB0aGUgc2VydmVyLCB0aGUgY2xpZW50IG1pZ2h0IHJlcXVlc3QKCSAgZnJhZ21lbnRzIHRoYXQgZWl0aGVyIG5vdCB5ZXQgb24gdGhlIHNlcnZlciBvciBmcmFnbWVudHMgdGhhdCBoYXZlCgkgIGFscmVhZHkgYmVlbiBleHBpcmVkIGZyb20gdGhlIHNlcnZlci4gVGhpcyBpcyBhbiBpc3N1ZSBiZWNhdXNlIHRoZXNlCgkgIHJlcXVlc3RzIGNhbiBwcm9wYWdhdGUgYWxsIHRoZSB3YXkgYmFjayB0byB0aGUgb3JpZ2luCgkgIElTTy9JRUMgMjMwMDktMToyMDE0L0FtZCAxIFtQREFNMV0gZGVmaW5lcyBhIG5ldyBVVENUaW1pbmcgZWxlbWVudCB0byBhbGxvdwoJICBhIERBU0ggY2xpZW50IHRvIHRyYWNrIHRoZSBjbG9jayB1c2VkIGJ5IHRoZSBzZXJ2ZXIgZ2VuZXJhdGluZyB0aGUKCSAgREFTSCBzdHJlYW0uIE11bHRpcGxlIFVUQ1RpbWluZyBlbGVtZW50cyBtaWdodCBiZSBwcmVzZW50LCB0byBpbmRpY2F0ZQoJICBzdXBwb3J0IGZvciBtdWx0aXBsZSBtZXRob2RzIG9mIFVUQyB0aW1lIGdhdGhlcmluZy4gRWFjaCBlbGVtZW50IGNhbgoJICBjb250YWluIGEgd2hpdGUgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgVVJMcyB0aGF0IGNhbiBiZSBjb250YWN0ZWQKCSAgdG8gZGlzY292ZXIgdGhlIFVUQyB0aW1lIGZyb20gdGhlIHNlcnZlcidzIHBlcnNwZWN0aXZlLgoJICBUaGlzIGNvbW1pdCBwcm92aWRlcyBwYXJzaW5nIG9mIFVUQ1RpbWluZyBlbGVtZW50cywgdW5pdCB0ZXN0cyBvZiB0aGlzCgkgIHBhcnNpbmcgYW5kIGEgZnVuY3Rpb24gdG8gcG9sbCBhIHRpbWUgc2VydmVyLiBUaGlzIGZ1bmN0aW9uCgkgIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6bnRwOjIwMTQKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC14c2RhdGU6MjAxNAoJICB1cm46bXBlZzpkYXNoOnV0YzpodHRwLWlzbzoyMDE0CgkgIHVybjptcGVnOmRhc2g6dXRjOmh0dHAtbnRwOjIwMTQKCSAgVGhlIG1hbmlmZXN0IHVwZGF0ZSB0YXNrIGlzIHVzZWQgdG8gcG9sbCB0aGUgY2xvY2sgdGltZSBzZXJ2ZXIsCgkgIHRvIHNhdmUgaGF2aW5nIHRvIGNyZWF0ZSBhIG5ldyB0aHJlYWQuCgkgIFdoZW4gY2hvb3NpbmcgdGhlIHN0YXJ0aW5nIGZyYWdtZW50IG51bWJlciBhbmQgd2hlbiB3YWl0aW5nIGZvciBhCgkgIGZyYWdtZW50IHRvIGJlY29tZSBhdmFpbGFibGUsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHNlcnZlcidzIGlkZWEKCSAgb2YgVVRDIGFuZCB0aGUgY2xpZW50J3MgaWRlYSBvZiBVVEMgaXMgdGFrZW4gaW50byBhY2NvdW50LiBGb3IgZXhhbXBsZSwKCSAgaWYgdGhlIHNlcnZlcidzIHRpbWUgaXMgYmVoaW5kIHRoZSBjbGllbnQncyBpZGVhIG9mIFVUQywgd2Ugd2FpdCBmb3IKCSAgbG9uZ2VyIGJlZm9yZSByZXF1ZXN0aW5nIGEgZnJhZ21lbnQKCSAgW1BEQU0xXTogaHR0cDovL3d3dy5pc28ub3JnL2lzby9ob21lL3N0b3JlL2NhdGFsb2d1ZV90Yy9jYXRhbG9ndWVfZGV0YWlsLmh0bT9jc251bWJlcj02NjA2OAoJICBkYXNoZGVtdXg6IHN1cHBvcnQgTlRQIHRpbWUgc2VydmVycyBpbiBVVENUaW1pbmcgZWxlbWVudHMKCSAgVXNlIHRoZSBnc3RfbnRwX2Nsb2NrIHRvIHN1cHBvcnQgdGhlIHVzZSBvZiBhbiBOVFAgc2VydmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA4LTE0IDExOjEzOjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgY2hlY2s6IFJlbmFtZSBzdGF0ZXMgdW5pdCB0ZXN0CgkgIE1ha2VzIGl0IGVhc2llciB0byBkaWZmZXJlbnRpYXRlIGZyb20gb3RoZXIgbW9kdWxlcyBzdGF0ZXMgdW5pdCB0ZXN0CgoyMDE1LTA4LTEzIDEwOjMxOjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIHNwdS1wZ3M6IGZpeCBidWZmZXIgYW5kIGV2ZW50IGxlYWsKCSAgV2hlbiBwbGF5aW5nIG10cyBmaWxlcyB3aXRoIGVtYmVkZGVkIHN1YnRpdGxlcywgdGhlIGJ1ZmZlciBpcyBtYXBwZWQsCgkgIGJ1dCBub3QgdW5tYXBwZWQgYXQgdGhlIGVuZCByZXN1bHRpbmcgaW4gYSBtZW1vcnkgbGVhay4KCSAgQWxzbyB1bnJlZiBldmVudCBpbiBoYW5kbGVfZHZkX2V2ZW50IGFzIGl0IHRha2VzIG93bmVyc2hpcCBvZiB0aGUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1MzkKCjIwMTUtMDgtMTMgMTA6MjU6NTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBldmVudCBsZWFrcwoJICBXaGVuIHBsYXlpbmcgbXRzIGZpbGVzIHdpdGggZW1iZWRkZWQgc3VidGl0bGVzLCB0aGVyZSBhcmUgZmV3IGV2ZW50IGxlYWtzLgoJICBFdmVudHMgYXJlIHN1cHBvc2VkIHRvIGJlIHRyYW5zZmVyIGZ1bGwuIFNvIGlmIG5vdCBmb3J3YXJkaW5nIHRoZSBldmVudCwKCSAgdGhleSBuZWVkIHRvIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTM5CgoyMDE1LTA4LTEzIDEyOjM4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBSZXZlcnQgInNydHBkZWM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmZjExYTFhOGEwYzY4NWQyZWRkMGUwNmMwMDcxY2JiOTRmMmNiNjYzLgoJICBJdCBjYW4ndCBiZSBhc3N1bWVkIHRoYXQgYWxsIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdCBoYXZlIHRoZSBzYW1lIFNTUkMgb3IKCSAgYXJlIFJUUCBvciBSVENQIG9ubHkuIEl0IGhhcyB0byBiZSBjaGVja2VkIGZvciBldmVyeSBzaW5nbGUgYnVmZmVyLCBhbmQgb25lCgkgIGJhc2ljYWxseSBoYXMgdG8gZG8gdGhlIHByb2Nlc3NpbmcgdGhhdCBpcyBkb25lIGJ5IHRoZSBkZWZhdWx0IGNoYWluX2xpc3QKCSAgaW1wbGVtZW50YXRpb24uCgoyMDE1LTA4LTEyIDE3OjU0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgUmVsYXRlZCB0bzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE3OjIyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBvbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBhbmQgZ3N0cnRwaDI2NGRlcGF5IGRvIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIKCSAgY29uc2lzdGVudC4gQXMgd2Ugbm93IGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0sIHRoaXMgY2F1c2VzCgkgIGxlc3MgY2FwcyByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjQzOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBQUFMgcmVwbGFjZXMgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjoxMTowMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgcnRwaDI2NGRlcGF5IGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIKCSAgU1BTIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLAoJICBidXQgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1CgkgIChvciA4KSBiaXQuIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlY3QgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA4LTEyIDE1OjQ5OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0IG5lZWQgdG8gbWFwIHRoZQoJICBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZSB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMKCSAgYWxyZWFkeSBkb25lLgoJICBCYXNlZCBvbjogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE1OjE0OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgU3dpdGNoaW5nIHRvIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHJ0cCBjb2RlLgoKMjAxNS0wOC0xMiAxNDo1OTo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvIGEKCSAgc2VnZmF1bHQuCgkgIFJlbGF0ZWQgdG8gcnB0aDI2NGRlcGF5OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTk5CgoyMDE1LTA4LTEyIDA3OjU4OjA5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHJhbmdlIG9mIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbQoJICBDaHJvbWFMb2cyV2VpZ2h0RGVub20gPSBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tICsgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tCgkgIFRoZSB2YWx1ZSBvZiBDaHJvbWFMb2cyV2VpZ2h0RGVub20gc2hvdWxkIGJlIGluIHRoZSByYW5nZSBvZiAwIHRvIDcgYW5kCgkgIHRoZSB2YWx1ZSBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tICBzaG91bGQgYmUgYWxzbyBpbiB0aGUgcmFuZ2Ugb2YgMCB0byA3LgoJICBXaGljaCBtZWFucyAsIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbSBjYW4gaGF2ZSB2YWx1ZXMgaW4gdGhlIHJhbmdlCgkgIGJldHdlZW4gLTcgYW5kIDcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1NTIKCjIwMTUtMDgtMTIgMDU6MTE6MjcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgcGFyc2luZyBvZiByZWZfcGljX2xpc3RzX21vZGlmaWNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTUyCgoyMDE1LTA4LTEyIDAwOjIwOjEwICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHRha2UgaW50byBhY2NvdW50IG5vbiAxLzEgcGFyIGZvciBuYXZpZ2F0aW9uCgkgIFRoZSBjdXJyZW50IGNvZGUgd2FzIGlnbm9yaW5nIHRoZSBwYXIvZGFyIGFzcGVjdCB3aGVuIHRyYW5zZm9ybWluZwoJICBmcm9tIHdpbmRvdyBjb29yZGluYXRlcyB0byBzdHJlYW0gY29vcmRpbmF0ZXMgcmVzdWx0aW5nIGluIGluY29ycmVjdAoJICBjb29yZGluYXRlcyBiZWluZyBzZW50IHVwc3RyZWFtIGluIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cy4KCjIwMTUtMDgtMTIgMDA6MTg6MjAgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IGZpeCBtb3Rpb24gZXZlbnQgbmFtZQoJICBzL21vdGlvbi9tb3VzZS8KCSAgRml4ZXMgaG92ZXIgaW50ZXJhY3Rpb24gd2l0aCBEVkQgbWVudXMKCjIwMTUtMDgtMTIgMDA6MTQ6MTQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IGNvcnJlY3QgbmF2aWdhdGlvbiBldmVudHMgZm9yIHdpbmRvdyBzY2FsaW5nCgkgIGkuZS4gdGFrZSBpbnRvIGFjY291bnQgdGhlIHBvc3NpYmxpdHkgb2Ygc2NhbGluZyBpbiB0aGUgc2luawoJICBvciB0aHJvdWdoIEdES19TQ0FMRS4KCSAgRml4ZXMgRFZEIE1lbnVzIHdpdGggYSBzY2FsZWQgZ3Rrd2lkZ2V0CgoyMDE1LTA4LTExIDE1OjAyOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEZpeCBzZXR0aW5nIHN0cmluZyBwYXJhbWV0ZXJzCgkgIFN0cmluZyBwYXJhbWV0ZXJzIGFyZSBleHBlY3RlZCB0byBiZSBwYXNzZWQgYXMgKGYwcl9wYXJhbV9zdHJpbmcgKiksCgkgIHdoaWNoIGFjdHVhbGx5IG1hcCB0byBjaGFyKiouIEluIHRoZSBmaWx0ZXJzIHRoaXMgaXMgZXZhbHVhdGVkIGFzCgkgICgqKGNoYXIqKilwYXJhbSkgd2hpY2ggY3VycmVudGx5IGxlYWQgdG8gY3Jhc2ggd2hlbiBwYXNzaW5nIGNoYXIqLgoJICBSZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBmb3Igc3RyaW5nLCBhbGwgdHlwZXMsIGluY2x1ZGluZyBjaGFyKiBhcwoJICBwYXNzZWQgYXMgYSByZWZlcmVuY2UuCgkgIGh0dHBzOi8vcGhhYnJpY2F0b3IuZnJlZWRlc2t0b3Aub3JnL1Q4MwoKMjAxNS0wOC0xMSAxMzozNDo1OSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0azogaW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgIE5vdyB3ZSBjYW4gcHVzaCBrZXkvbW91c2UgaW5wdXQgaW50byB0aGUgcGlwZWxpbmUgZm9yIERWRCB1c2UgY2FzZXMuCgoyMDE1LTA2LTMwIDEzOjUxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQ29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQgdGFncyBvcgoJICB3aXRoIG9ubHkgdGhlIGF1ZGlvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xMSAwNDoxNDoxOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY1OiBGaXggdGhlIGZyYW1lIHN0YXJ0IGRldGVjdGlvbiBjb2RlCgkgIENoZWNrIHNsaWNlIGhlYWRlcnMgaW4gYmV0d2VlbiBHU1RfSDI2NV9OQUxfU0xJQ0VfVFJBSUxfTgoJICBhbmQgR1NUX0gyNjVfTkFMX1NMSUNFX1JBU0xfUiBmb3IgZnJhbWUgc3RhcnQgZGV0ZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDk3CgoyMDE1LTA4LTExIDAzOjQ3OjQyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGgyNjU6IEF2b2lkIHNraXBwaW5nIG9mIEVPUyBhbmQgRU9CIG5hbHMKCSAgRW5kT2ZTZXF1ZW5jZSBhbmQgRW5kT2ZCaXRzdHJlYW0gbmFsIHVuaXRzIGhhdmUgc2l6ZSBvZiAyIGJ5dGVzLgoJICBEb24ndCBjb25zaWRlciB0aGVtIGFzIGJyb2tlbiBuYWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDk3CgoyMDE1LTA4LTEwIDIzOjAyOjEyICswMjAwICBWYW5lc3NhIENoaXBpIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiB3cm9uZyBmb3JtIHRvIHdyaXRlIHRoZSBkZWxldGUgb3BlcmF0b3IKCSAgVGhlIGRlbGV0ZSBvcGVyYXRvciBpcyB3cml0dGVuIHRoaXMgd2F5OiBkZWxldGUgKGNhc2NhZGUpLiBUaGlzIHdheSBpcwoJICBtaXNzcGVsbGVkLCBpdCBpcyBhbiBvcGVyYXRvciwgbm90IGEgZnVuY3Rpb24uIERlbGV0ZSB0aGUgcGFyZW50aGVzZXMuCgoyMDE1LTA4LTEwIDE5OjEzOjExICswMjAwICB2YW5lY2hpcGkgPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IHNpbXBsaWZ5IHJlcGVhdGVkIGNvZGUuCgkgIFN0b3JlIHRoZSB2YWx1ZSBvZiByLmhlaWdodCAvIDIgaW5zdGVhZCBvZiByZXBlYXRpbmcgdGhlIG9wZXJhdGlvbiBsaW5lCgkgIHRocmVlIHRpbWVzLgoKMjAxNS0wOC0xMCAxOTowMjoxMCArMDIwMCAgdmFuZWNoaXBpIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBSZWR1bmRhbmN5IGV4aXN0cyBpbiBjb2RlLgoJICBDaGVja2luZyB0aGUgdmVjdG9yIGlzIG5vdCBlbXB0eSBhbmQgY2hlY2tpbmcgdGhlIHZlY3RvciBzaXplIGlzIGdyZWF0ZXIKCSAgdGhhbiB6ZXJvIGFyZSB0aGUgc2FtZSB0aGluZywgdGhpcyBpcyBhIHJlZHVuZGFuY3kgaW4gdGhlIGNvZGUuIE9ubHkKCSAgY2hlY2tpbmcgdGhlIHZlY3RvciBpcyBub3QgZW1wdHkgaXMgc3VmZmljaWVudCwgdGhlcmVmb3JlIHJlbW92aW5nIHRoZQoJICBvdGhlciBjaGVjay4KCjIwMTUtMDgtMTAgMTQ6NDg6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IEFkZCBvcGVuZ2xfdmVyc2lvbi5oIHRvIHRoZSBsaXN0IG9mIHNvdXJjZXMKCSAgQWRkaW5nIHRoaXMgcHJpdmF0ZSBoZWFkZXIgdG8gdGhlIGxpc3Qgb2Ygc291cmNlcy4gV2UgZG9uJ3Qgd2FudCB0byBtYWtlCgkgIHRoaXMgaGVhZGVyIHB1YmxpYywgYnV0IHdlIG5lZWQgaXQgaW4gdGhlIGxpc3Qgb2Ygc291cmNlcyBvdGhlcndpc2UgaXQKCSAgd29uJ3QgYmUgaW5jbHVkZWQgaW4gdGhlIHRhcmJhbGwuIFRoaXMgZml4ZXMgbWFrZSBkaXN0Y2hlY2suCgkgIFRoaXMgcmVncmVzc2lvbiB3YXMgaW50cm9kdWNlZCBieSBjb21taXQgMWE2ZmUzZGIKCjIwMTUtMDgtMTAgMTk6MDY6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBmYWNlZGV0ZWN0OiBvbmx5IGNyZWF0ZSB2YXJpYWJsZXMgd2hlbiBuZWVkZWQKCSAgVGhlIHZhcmlhYmxlcyB0byBzdG9yZSBmYWNlIHZhbHVlcyBhcmUgb25seSBuZWVkZWQgaWYgdGhleSB3aWxsIGJlIHVzZWQgdG8KCSAgY29udHJvbCB0aGUgdm9sdW1lLiBXaGljaCBpc24ndCB0aGUgZGVmYXVsdCB0byBhdm9pZCBwb3RlbnRpYWxseSBiZWluZyB2ZXJ5CgkgIGxvdWQgYWNjaWRlbnRhbGx5LiBPbmx5IGNyZWF0ZSB2YXJpYWJsZXMgd2hlbiBuZWVkZWQuCgoyMDE1LTA4LTEwIDE2OjUxOjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogbWFrZSB2b2x1bWUgY29udHJvbCBvcHRpb25hbAoKMjAxNS0wOC0xMCAxNjozODozMiArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHVzZSBnbGVzMiBzaGFkZXJzIGV2ZXJ5d2hlcmUKCSAgVGhpcyBlZmZlY3RpdmVseSBsaW1pdHMgYSBnbGZpbHRlciBzdWJjbGFzcyB0byBiZSA+IEdMKEVTKSAyLjAuCgkgIHJhdGhlciB0aGFuIGEgcG9zc2libGUgR0wgMS40LgoKMjAxNS0wOC0xMCAxNTo0NDo1NCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0L3dnbDogaW1wbGVtZW50IGdsMyBjb3JlIHByb2ZpbGUgY29udGV4dCBzZWxlY3Rpb24KCjIwMTUtMDItMjggMDE6MDc6NDQgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IGltcGxlbWVudCBwaXZvdCBwb2ludCBmb3Igcm90YXRpb24gYW5kIHNjYWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NjMKCSAgQWRkIGEgcGl2b3QgdmVjdG9yIGZvciBzZXR0aW5nIHRoZSBvcmlnaW4gb2Ygcm90YXRpb25zIGFuZCBzY2FsZXMuCgkgIFdpdGggdGhlIHBpdm90IHBvaW50IHRoZSByb3RhdGlvbiBhbmQgc2NhbGUgb3BlcmF0aW9ucyBjYW4gaGF2ZQoJICBkaWZmZXJlbnQgb3JpZ2lucy4gVGhpcyBhZGRzIHRoZSBhYmlsaXR5IHRvIHJvdGF0ZSBhcm91bmQgZGlmZmVyZW50IHBvaW50cy4KCSAgQ3VycmVudGx5IHRoZSBkZWZhdWx0ICgwLCAwKSBwaXZvdCBwb2ludCBpcyBwb3NzaWJsZSwKCSAgYSByb3RhdGlvbiBhcm91bmQgdGhlIGNlbnRlciwgYW5kIHpvb21pbmcgaW50byBhbmQgb3V0IG9mIHRoZSBjZW50ZXIuCgkgIFdpdGggYW4gcGl2b3QgcG9pbnQgdGhpcyBpcyBvcHRpb25hbC4KCSAgSSBkZWZpbmVkIHRoZSBmb2xsb3dpbmcgaW1hZ2UgY29vcmRpbmF0ZXMgZm9yIHRoZSBwaXZvdCBwb2ludDoKCSAgKC0xLDEpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKDEsMSkKCSAgfAkJCXwKCSAgfAkJCXwKCSAgfAkJCXwKCSAgfAkgICgwLDApCQl8CgkgIHwJCQl8CgkgIHwJCQl8CgkgIHwJCQl8CgkgICgtMSwtMSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAoMSwtMSkKCSAgRXhhbXBsZToKCSAgUm90YXRlIHRoZSB2aWRlbyBhdCB0aGUgYm90dG9tIGxlZnQgY29ybmVyCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyBcCgkgICEgZ2x0cmFuc2Zvcm1hdGlvbiBcCgkgIHNjYWxlLXg9MC41IFwKCSAgc2NhbGUteT0wLjUgXAoJICByb3RhdGlvbi16PTI1LjAgXAoJICBwaXZvdC14PS0xLjAgXAoJICBwaXZvdC15PS0xLjAgXAoJICAhIGdsaW1hZ2VzaW5rCgkgIFRoZSBwaXZvdC16IG9wdGlvbiBkZWZpbmVzIHRoZSBwaXZvdCBwb2ludCBpbiAzRCBzcGFjZS4KCSAgVGhpcyBvbmx5IGFmZmVjdHMgcm90YXRpb24sIHNpbmNlIHdlIGhhdmUgbm8gWiBkYXRhIHRvIHNjYWxlLgoJICBXaXRoIHRoaXMgb3B0aW9uIGEgdmlkZW8gY2FuIGJlIHJvdGF0ZWQgYXJvdW5kIGEgcG9pbnQgaW4gM0Qgc3BhY2UuCgkgIEV4YW1wbGU6CgkgIFJvdGF0ZSBhcm91bmQgcG9pbnQgYmVoaW5kIHRoZSB2aWRlbzoKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIFwKCSAgISBnbHRyYW5zZm9ybWF0aW9uIFwKCSAgcm90YXRpb24teD0xMC4wIFwKCSAgcGl2b3Qtej0tNC4wIFwKCSAgISBnbGltYWdlc2luawoKMjAxNS0wOC0wOCAxNDo0NTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBBZGQgc2hhZGVyIHRvIGNvbnZlcnQgQkdSQS9BUkdCIC0+IFJHQkEKCSAgRGVwZW5kaW5nIG9uIHRoZSBieXRlcyBvcmRlciB3ZSB3aWxsIGdldCBCR1JBIChsaXR0bGUpIGFuZCBBUkdCIChiaWcpCgkgIGZyb20gdGhlIGNvbXBvc2l0aW9uIG92ZXJsYXkgYnVmZmVyIHdoaWxlIG91ciBHTCBjb2RlIGV4cGVjdHMgUkdCQS4gQWRkCgkgIGEgZnJhZ21lbnQgc2hhZGVyIHRoYXQgZG8gdGhpcyBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODQyCgoyMDE1LTA4LTA4IDE3OjI4OjAzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBpbXBsZW1lbnQgdGhlIHJlcXVpcmVkIG11bHRpcGxlIEdMIGNvbnRleHQgc3luY2hvbmlzYXRpb24KCSAgRnJvbSBHU3RyZWFtZXIncyBHTCBjb250ZXh0IGludG8gdGhlIFFNTCBjb250ZXh0CgoyMDE1LTA4LTA4IDE3OjIyOjA1ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbC9zeW5jbWV0YTogaW1wbGVtZW50IHN5bmNocm9uaXNhdGlvbiB3aXRob3V0IGdsRmVuY2VTeW5jCgkgIFVzZXMgZ2xGaW5pc2ggYXMgdGhhdCdzIHRoZSBiZXN0IHdlIGhhdmUgZm9yIGxlc3NlciBPcGVuR0wgdmVyc2lvbnMuCgoyMDE1LTA4LTA4IDE1OjQ1OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBvdXRwdXQgVElNRSBzZWdtZW50IGlmIHdlIG91dHB1dCBhIHN0cmVhbSBhbmQgd29uJ3Qgc2VlayBiYWNrIGxhdGVyCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gaXMgc2Vla2FibGUgdmlhIGEgU0VFS0lORyBxdWVyeSBhbmQgb3V0cHV0IGEKCSAgQllURSBzZWdtZW50IGlmIHdlIHdhbnQgdG8gc2VlayBiYWNrIHRvIGZpeCB1cCB0aGUgaGVhZGVycyBsYXRlciwKCSAgYnV0IGlmIHdlJ3JlIHN0cmVhbWluZyBzZW5kIGEgVElNRSBzZWdtZW50IGluc3RlYWQgKHdoaWNoIGdvZXMKCSAgZG93biBiZXR0ZXIgd2l0aCBlLmcuIGFzZm11eCAhIHJ0cGFzZnBheSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTUtMDgtMDggMTU6MzA6NDMgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzL2dsY29udGV4dDogZml4IElOVkFMSURfRU5VTSBHTCBlcnJvciBpbiB0ZXN0CgoyMDE1LTA4LTA4IDE1OjIxOjAzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgY29udGV4dC9nbHg6IG9ubHkgdXNlIGdsWENyZWF0ZUNvbnRleHRBdHRyaWJzIGZvciBPcGVuR0wgMyBjb250ZXh0cwoJICBtZXNhIGZvciBleGFtcGxlIHdoZW4gY3JlYXRpbmcgYSBHTCAzLjEgY29tcGF0aWJpbGl0eSBjb250ZXh0CgkgIG92ZXJyaWRlcyBvdXIgY29udGV4dCBwcm9maWxlIHNlbGVjdGlvbiB0byBjcmVhdGUgYSBjb3JlIGNvbnRleHQuCgoyMDE1LTA4LTA4IDEzOjE5OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogb25seSBzZXQgdG8gcGxheWluZyB3aGVuIGl0J3Mgbm90IGFscmVhZHkKCjIwMTUtMDgtMDggMTI6NTI6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG9wZW5jdjogcmVtb3ZlIHVubmVjZXNzYXJ5IHNldHRpbmcgb2YgYSBwcm9wZXJ0eQoJICAiL2Rldi92aWRlbzAiIGlzIHRoZSBkZWZhdWx0IGRldmljZSBvZiB2NGwyc3JjLCBzZXR0aW5nIGl0IHRvIHRoaXMgaXMKCSAgcmVkdW5kYW50LgoKMjAxNS0wOC0wNyAxNTo0Mzo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IGZpeCBwcm9maWxlIGxvYWRpbmcgY2hlY2sKCSAgU2luY2UgdGhlIHByb2ZpbGUgZ2NoYXIgZGVwZW5kcyBvbiBERUZBVUxUX0ZBQ0VfUFJPRklMRSwgaXQgc2hvdWxkIG5ldmVyIGJlCgkgIE5VTEwuIEZ1cnRoZXJtb3JlIENhc2NhZGVDbGFzc2lmaWVyIGFjY2VwdHMgYW55IGlucHV0LCBldmVuCgkgIGFuIGVtcHR5IG9uZSwgYnV0IGlmIHRoZSBwcm9maWxlIGZhaWxzIHRvIGxvYWQgaXQgcmV0dXJucyBhbiBlbXB0eSBjYXNjYWRlLgoJICBDaGVjayBmb3IgdGhpcyBpbnN0ZWFkLCBhbmQgaW5mb3JtIHRoZSB1c2VyIGlmIHRoZXJlIHdhcyBhbiBFcnJvci4KCjIwMTUtMDgtMDYgMTE6MzA6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZG9uJ3Qgd2FybiBhYm91dCBkdXJhdGlvbiBpZiBpdCBpcyBub3Qga25vd24KCSAgQW5kIGFsc28gcHJpbnQgdGhlIHZhbHVlcyBpbiBjYXNlIG9mIHdhcm5pbmcKCjIwMTUtMDgtMDcgMTM6MTY6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGFkZCBuZXcgZXhhbXBsZSBmaWxlCgkgIENvbW1pdCAwMmI5ZGFhZmRmNjRhYjIwNWVkNzI1ZjU0OTZkZmE1Y2U4NjBlYWNjIGFkZGVkIGEgbmV3IGV4YW1wbGUgZmlsZQoJICB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LCBhZGRpbmcgaXQgdG8gLmdpdGlnbm9yZQoKMjAxNS0wOC0wNyAxMzowODoxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGNvbmZpZ3VyZTogdXBkYXRlIE9wZW5DViByZXF1aXJlbWVudHMgdG8gMi4zLjAKCSAgV2l0aCBmYWNlZGV0ZWN0IHBvcnRlZCB0byBDKysgdGhlIG1pbmltdW0gdmVyc2lvbiBvZiBPcGVuQ1YKCSAgc3VwcG9ydGVkIGlzIDIuMy4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDgtMDcgMDU6NTg6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbQoJICBTb21lIHZpZGVvIGJpdHN0cmVhbXMgcmVwb3J0IGEgdG9vIHJlc3RyaWN0aXZlIHNldCBvZiBwcm9maWxlcy4gSWYgYSB2aWRlbwoJICBkZWNvZGVyIHdhcyB0byBzdHJpY3RseSBmb2xsb3cgdGhlIGluZGljYXRlZCBwcm9maWxlLCBpdCB3b3VsZG4ndCBzdXBwb3J0IHRoYXQKCSAgc3RyZWFtLCB3aGVyZWFzIGl0IGNvdWxkIGluIHRoZW9yeSBhbmQgaW4gcHJhY3RpY2UuIFNvIHdlIHNob3VsZCByZWxheCB0aGUKCSAgcHJvZmlsZSByZXN0cmljdGlvbiBmb3IgYWxsb3dpbmcgdGhlIGRlY29kZXIgdG8gZ2V0IGNvbm5lY3RlZCB3aXRoIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wOC0wNiAxODoxMjowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICByZ2IyYmF5ZXI6IFVzZSBtYXBwZWQgZnJhbWUgc3RyaWRlCgoyMDE1LTA4LTA2IDE4OjExOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIHJnYjJiYXllcjogUHJvdGVjdCBhZ2FpbnN0IGZhaWxpbmcgbWFwCgoyMDE1LTA4LTA2IDE4OjA0OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogUmVhZCBzdHJpZGUgZnJvbSB0aGUgdmlkZW8gaW5mbwoKMjAxNS0wOC0wNiAxODowNDo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IFByb3RlY3QgYWdhaW5zdCBmYWlsaW5nIG1hcAoKMjAxNS0wOC0wNiAxOToyMzo0OSArMDMwMCAgSWx5YSBBdmVyeWFub3YgPGkuYXZlcnlhbm92QGdlb3NjYW4uYWVybz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSAgZWxlbWVudC10ZW1wbGF0ZTogRml4IHdyb25nIHBhZCBpbiB2aWRlb2VuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzMyNgoKMjAxNS0wOC0wMyAxNjo1NzozMSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggbGVhayBpbiBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2ZyYWdtZW50X2luZm8oKQoJICBUaGUgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9mcmFnbWVudF9pbmZvIGZ1bmN0aW9uIGNvdWxkIGNhbGwKCSAgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8gZnVuY3Rpb24gdHdpY2UuIFRoZQoJICBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2hlYWRlcnNfaW5mbyBmdW5jdGlvbiB3aWxsIHNldCBoZWFkZXJfdXJpIGFuZAoJICBpbmRleF91cmkgdG8gc29tZSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5ncy4gVGhlIHZhbHVlcyBzZXQgYnkgdGhlIGZpcnN0IGNhbGwgb2YKCSAgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8gd2lsbCBsZWFrIHdoZW4gdGhlIGZ1bmN0aW9uIGlzCgkgIGNhbGxlZCBmb3IgYSBzZWNvbmQgdGltZS4KCSAgVGhlIHNvbHV0aW9uIGlzIHRvIGNhbGwgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9mcmFnbWVudF9jbGVhciBiZWZvcmUgdGhlCgkgIHNlY29uZCBjYWxsIG9mIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxODgKCjIwMTUtMDgtMDUgMTQ6NTI6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogU2VnbWVudCBzaG91bGQgc3RhcnQgYXQgYmFzZSB0cwoJICBJbnN0ZWFkIHdlIHdvdWxkIHVzZSBjdXJfdHMgd2hpY2ggbWF0Y2hlcyB0aGUgbGFzdCBUUyBzdG9yZQoJICBpbiB0aGUgYnVmZmVyIGxpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMzcKCjIwMTUtMDgtMDUgMTI6NTY6NTcgKzAyMDAgIEFuZGVycyBKb25zc29uIDxhbmRlcnMuam9uc3NvbkBub3Jzam92YWxsZW4uc2U+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzdHJpbmcgdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjQxCgoyMDE1LTA4LTA1IDExOjU2OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBmYWNlZGV0ZWN0OiBmcmVlIElwbEltYWdlIHdpdGggY3ZSZWxlYXNlSW1hZ2UKCSAgVXNpbmcgZGVsZXRlKCkgd2l0aCBJcGxJbWFnZSB3aWxsIGZhaWwgdG8gZnJlZSBzb21lIG9mIHRoZSBzdHJ1Y3R1cmUncwoJICBjb250ZW50cy4gY3ZSZWxlYXNlSW1hZ2UoKSBpcyB0aGUgcHJvcGVyIHdheSBvZiBmcmVlaW5nIHRoZSBtZW1vcnkuCgoyMDE1LTA4LTA1IDExOjM5OjAxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBmYWNlZGV0ZWN0OiBjaGVjayBwb2ludGVyIGJlZm9yZSB1c2luZyBpdAoJICBDaGVjayBpZiBwcm9maWxlIGlzIE5VTEwgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQgd2l0aCBuZXcuIEFsc28sIG5ldyB3aWxsCgkgIG5ldmVyIHJldHVybiBOVUxMOyBpZiBhbGxvY2F0aW9uIGZhaWxzLCBhIHN0ZDo6YmFkX2FsbG9jIGV4Y2VwdGlvbiB3aWxsIGJlCgkgIHRocm93biBpbnN0ZWFkLiBSZW1vdmUgY2hlY2sgZm9yIGEgTlVMTCByZXR1cm4uCgkgIENJRCAjMTMxNTI1OAoKMjAxNS0wOC0wNSAxMToxNDo0OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogcmVtb3ZlIGRlYWQgY29kZQoJICBsZXZlbF9vayBpcyBvbmx5IHVzZWQgaW4gYSBjaGVjayB0aGF0IHdpbGwgbmV2ZXIgYmUgdHJ1ZSwgcmVtb3ZpbmcgaXQuCgkgIENJRCAjMTMxNTI1NQoKMjAxNS0wOC0wNSAxMToxMToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogZml4IG1lbW9yeSBsZWFrCgkgIEZyZWUgdnBzX25hbCBiZWZvcmUgcmV0dXJuaW5nLgoJICBDSUQgIzEzMTUyNTcKCjIwMTUtMDgtMDQgMjM6MTU6MzYgKzAyMDAgIENhcmxvcyBHYXJuYWNobyA8Y2FybG9zZ0Bnbm9tZS5vcmc+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IERvbid0IGxlYWsgYSBHc3RWaWRlb0NvZGVjU3RhdGUKCSAgVGhlcmUncyBhbHJlYWR5IHRoZSBvdXRwdXRfc3RhdGUgdmFyaWFibGUgd2l0aCBpdCwgbm8gbmVlZCB0bwoJICBjYWxsIGdzdF92aWRlb19kZWNvZGVyX2dldF9vdXRwdXRfc3RhdGUoKSBhbmQgZ2V0IGEgbmV3IHJlZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI2MgoKMjAxNS0wOC0wNCAyMTozMjo1MyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggZHVwbGljYXRlZCBmb3JtYXQgaW4gaGFuZGxlX3NlZWtfcHVsbAoJICBHc3RGb3JtYXQgdmFyaWFibGUgYXJlIGR1cGxpY2F0ZWQgaW4gaGFuZGxlX3NlZWtfcHVsbCBmdW5jdGlvbi4KCSAgU28gd2UgbmVlZCB0byBtb3ZlIHRoaXMgdmFyaWFibGUgaW4gY29uZGl0aW9uIHN0YXRlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI0MwoKMjAxNS0wOC0wNCAxNDozMDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogZmFjZWRldGVjdDogZml4IGNyYXNoZXMgaW4gZmluYWxpemUKCSAgRml4ZXMgZ3N0LWluc3BlY3QtMS4wIC1hIGNyYXNoaW5nLgoKMjAxNS0wOC0wMyAxOTo0Mjo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkgIHdpbnNjcmVlbmNhcDogUHJvcGVybHkgdGltZXN0YW1wIGJ1ZmZlcnMgd2l0aCB0aGUgY3VycmVudCBjbG9jayBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiBkb2luZyBtYWdpYwoJICBBbHNvIGltcGxlbWVudCBmcmFtZXJhdGUgaGFuZGxpbmcgY29ycmVjdGx5IGJ5IGJvcnJvd2luZyB0aGUgY29kZSBmcm9tCgkgIHhpbWFnZXNyYy4gR3N0QmFzZVNyYzo6Z2V0X3RpbWVzKCkgY2FuJ3QgYmUgdXNlZCBmb3IgdGhhdCwgd2UgaGF2ZSB0bwoJICBpbXBsZW1lbnQgcHJvcGVyIHdhaXRpbmcgb3Vyc2VsdmVzLgoKMjAxNS0wOC0wNCAwMDoyMDoyNyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBGaXggMzItYml0IGJ1aWxkIC8gZm9ybWF0IHN0cmluZ3MuCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBmb3IgZm9ybWF0IHN0cmluZ3Mgd2hlcmUgcmVsZXZhbnQKCjIwMTUtMDgtMDMgMTk6NDg6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzd2FwIGNvbnRyb2wgYmluZGluZyBwcm94eQoJICBUaGUgcmVmX29iamVjdCBhbmQgb2JqZWN0IHBhcmFtZXRlcnMgd2VyZSB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4KCSAgRm9yIHRoZSB0eXBpY2FsIHVzZSBjYXNlIHdoZXJlIGFuIGFwcGxpY2F0aW9uIGlzIHNldHRpbmcgYQoJICBHc3RDb250cm9sQmluZGluZyBvbiB0aGUgcmV0dXJuZWQgZ2hvc3QgcGFkOgoJICAxLiBvdXIgY29udHJvbCBiaW5kaW5nIHdvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgbmV3IG9uZSB3YXMgc2V0CgkgIDIuIHN5bmNfdmFsdWVzIGNhbGxzIHdlcmUgbm90IGJlaW5nIGZvcndhcmRlZCBmcm9tIHRoZSBpbnRlcm5hbAoJICBwYWQgdG8gdGhlIGdob3N0IHBhZC4KCSAgSWYgYW4gYXBwbGljYXRpb24gYXR0ZW1wdHMgdG8gcGVyZm9ybSBvdGhlciBjb250cm9sIGJpbmRpbmcKCSAgb3BlcmF0aW9ucyAoZ2V0XyogZmFtaWx5IG9mIGZ1bmN0aW9ucykgb24gdGhlIGludGVybmFsIHBhZCwgdGhleQoJICB3aWxsIGFsc28gYmUgZm9yd2FyZGVkIHRvIHRoZSBnaG9zdCBwYWQgd2hlcmUgYSBwb3NzaWJsZQoJICBHc3RDb250cm9sQmluZGluZyB3aWxsIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSB2YWx1ZXMuCgoyMDE1LTA4LTAxIDE1OjUyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBwbHVnIGxlYWsgaW4gc2VnbWVudHRlbXBsYXRlIHBhcnNpbmcKCSAgT25seSBjb3B5IHRoZSB2YWx1ZXMgZnJvbSB0aGUgcGFyZW50IGlmIHRoZSBjdXJyZW50IG5vZGUgZG9lc24ndAoJICBoYXZlIHRoYXQgdmFsdWUsIHRoZXkgd2VyZSBiZWluZyBjb3BpZWQgZnJvbSB0aGUgcGFyZW50IGFuZAoJICB0aGVuIG92ZXJ3cml0ZW4gYnkgdGhlIGNoaWxkIG5vZGUsIGxlYWtpbmcgdGhlIHBhcmVudCdzIGNvcHkKCjIwMTUtMDgtMDEgMTU6NTE6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoX21wZDogYWRkIGNoZWNrIGZvciBzZWdtZW50dGVtcGxhdGUgaW5oZXJpdGFuY2UKCSAgQ2hlY2tzIGlmIHRoZSB2YWx1ZXMgYXJlIHByb3Blcmx5IGluaGVyaXRlZCBhbmQgb3ZlcndyaXRlbgoKMjAxNS0wOC0wMSAxNTowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hfbXBkOiBhZGQgb25lIG1vcmUgYmFzZVVSTCB0ZXN0CgkgIFRoaXMgb3RoZXIgdHlwZSBvZiBiYXNlVVJMIHRlc3Qgd2FzIHJlcGxhY2VkIGJ5IGEgbW9yZSBjb21wbGV4IG9uZSwKCSAgYmV0dGVyIGhhdmUgYm90aCB0byBrZWVwIGJvdGggb3B0aW9ucyB3b3JraW5nCgkgIEFsc28gYWRkcyBhbm90aGVyIDIgdmFyaWF0aW9ucyBvZiBob3cgYmFzZVVSTCBjYW4gYmUgZ2VuZXJhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzYKCjIwMTUtMDctMjMgMTA6NTQ6MzYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgZHVyYXRpb24gZm9ybWF0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NgoKMjAxNS0wNy0yMiAxMTo0MjoyMyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiB1cGRhdGUgdW5pdCB0ZXN0IGZvciBiYXNlVVJMCgkgIFVwZGF0ZSB0aGUgdW5pdCB0ZXN0IGZvciBiYXNlVVJMIHRvIHRlc3QgdGhhdCBpdCBpcyBwcm9wZXJseQoJICByZXNvbHZlZCB0YWtpbmcgaW50byBhY2NvdW50IHBhcmVudCBiYXNlVVJMIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzc2CgoyMDE1LTA4LTAxIDExOjUxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogcmV2ZXJ0IHJlbmFtZSBvZiBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgZG9lc24ndCBuZWVkIHRvIGhhdmUgaXRzIG5hbWUgY2hhbmdlZCBiZWNhdXNlIG9mIEMrKywKCSAganVzdCB0aGUgaW5zdGFuY2UgdmFyaWFibGVzLgoKMjAxNS0wNy0zMSAxNzozMToxNSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZmFjZWRldGVjdDogQWRkIHVuaXQgdGVzdAoJICBJIGNyZWF0ZWQgZm91ciB1dGlsaXRpZXMgb2YgdGhlIGRldGVjdGVkIGZlYXR1cmVzOgoJICAxLSBJZiB5b3UgaGlkZSB5b3VyIG1vdXRoLCB0aGUgdm9sdW1lIG9mIHZpZGVvIGlzIGxvdy4KCSAgMi0gSWYgeW91IGhpZGUgdGhlIG5vc2UsIHRoZSB2b2x1bWUgb2YgdGhlIHZpZGVvIGlzIHVwLgoJICAzLSBJZiB5b3UgaGlkZSB0aGUgZnVsbCBmYWNlLCB0aGUgdmlkZW8gc3RvcHMuCgkgIFlvdSBjYW4gc2VlIHByb29mIG9mIHRoaXMgaGVyZToKCSAgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1weHplak5LVl9XUQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mzc3CgoyMDE1LTA3LTMxIDE2OjQwOjA3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICB0ZW1wbGF0ZW1hdGNoOiByZW5hbWUgY29uZmxpY3RpbmcgdmFyaWFibGUKCSAgV2l0aCB0aGUgc3dpdGNoIG9mIGdzdG9wZW5jdi5jIHRvIEMrKywgYWxsIE9wZW5DViBlbGVtZW50cyBhcmUgYnVpbHQgd2l0aAoJICBnKysuIFRoZSB0ZW1wbGF0ZSB2YXJpYWJsZSBjbGFzaGVzIHdpdGggQysrJ3MgZmVhdHVyZSBvZiB0aGUgc2FtZSBuYW1lLgoJICBSZW5hbWUgdGVtcGxhdGUgdG8gdGVtcGwgdG8gYXZvaWQgYW55IGNsYXNoLgoKMjAxNS0wNy0zMSAxMzo0NTo0MyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuY3BwOgoJICBmYWNlZGV0ZWN0OiBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrCgkgIFRoZSBjYXNjYWRlIGNsYXNzaWZpZXIgY2hhbmdlcyBpdHMgc3RydWN0dXJlIG9uIG5ldyB2ZXJzaW9uIG9mIE9wZW5DVi4KCSAgVGhlIG5lZWQgdG8gbWlncmF0ZSB0byBDKysgdG8gdXRpbGl6ZSB0aGUgbmV3IGxvYWQgbWV0aG9kIG9mIE9wZW5DViB3aGljaAoJICBhbGxvd3MgdG8gbG9hZCB0aGUgbmV3IGNsYXNzaWZpZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mzc3CgoyMDE1LTA3LTMxIDEwOjQ3OjI3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBmaXggdGFnbGlzdCBsZWFrCgkgIHRhZ2xpc3QgbWVyZ2UgZG9lc250IHRha2Ugb3duZXJzaGlwLiBTbyBzaG91bGQgZnJlZSB0aGUgdGFncyBhZnRlciB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA4NgoKMjAxNS0wNy0zMCAyMzozMToyMSArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJICBhcHBsZW1lZGlhL2F2c2FtcGxlOiBGaXggcmFjeSBjbGVhbnVwIG9mIENBIGxheWVyCgkgIFRoZSBibG9jayB0aGF0IGlzIGRpc3BhdGNoZWQgYXN5bmMgdG8gdGhlIG1haW4gdGhyZWFkIGFzc3VtZWQgdGhlCgkgIHdyYXBwaW5nIEdzdEF2U2FtcGxlVmlkZW9TaW5rIHRvIGJlIGFsaXZlLiBIb3dldmVyLCBhdCB0aGUgdGltZSBvZgoJICB0aGUgYmxvY2sgZXhlY3V0aW9uIHRoZSBHc3RPYmplY3QgaW5zdGFuY2UgdGhhdCBpcyBkZWZlcmVuY2VkIHRvIGFjY2VzcwoJICB0aGUgQ0EgbGF5ZXIgbWlnaHQgYWxyZWFkeSBiZSBmcmVlZCwgd2hpY2ggY2F1c2VkIG9jY2FzaW9uYWwgY3Jhc2hlcy4KCSAgSW5zdGVhZCwgd2Ugbm93IG9ubHkgcGFzcyB0aGUgQ29yZUFuaW1hdGlvbiBsYXllciB0aGF0IG5lZWRzIHRvIGJlCgkgIHJlbGVhc2VkIHRvIHRoZSBibG9jay4gV2UgdXNlIF9fYmxvY2sgdG8gbWFrZSBzdXJlIHRoZSBibG9jayBpcyBub3QKCSAgaW5jcmVhc2luZyB0aGUgcmVmY291bnQgb2YgdGhlIENBIGxheWVyIGFnYWluIG9uIGl0cyBvd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwODEKCjIwMTUtMDctMDIgMTk6MzQ6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBzZWVraW5nIGxpdmUgcGlwZWxpbmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMDIgMTk6MTk6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6IE1ha2Ugc291cmNlIGxpdmUgdG8gcmUtZW5hYmxlIGFnZ3JlZ2F0b3IgdGltZW91dCB0ZXN0cwoJICBUaGUgbGl2ZSBtb2RlIGlzIG9ubHkgZW5hYmxlZCBpZiBvbmUgb2YgdGhlIHNvdXJjZXMgaWYgbGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNy0wMiAxODozNzoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogQWRkIGF1ZGlvaW50ZXJsZWF2ZSB0ZXN0IHRvIHNob3cgdGhhdCBxdWV1aW5nIHdvcmtzCgkgIFRoaXMgdGVzdHMgZmFpbHMgd2l0aG91dCB0aGUgcXVldWluZyBwYXRjaCBiZWNhdXNlIGluY29taW5nIGJ1ZmZlcnMgYXJlCgkgIG5vdCBkZWxpdmVyZWQgYmVmb3JlIHRoZXkgYXJlIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNy0wMiAxODozMzo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IEF2b2lkIGNhcHMgcHJvY2Vzc2luZyBpZiBub3QgeWV0IG5lZ290aWF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0xNiAxNzowNjo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IE9uIHRpbWVvdXQsIHJlc3luYyBwYWRzIHdpdGggbm90IGVub3VnaCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMTk6NTA6MDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFF1ZXVlICJsYXRlbmN5IiBidWZmZXJzIGF0IGVhY2ggc2luayBwYWQuCgkgIEluIHRoZSBjYXNlIHdoZXJlIHlvdSBoYXZlIGEgc291cmNlIGdpdmluZyB0aGUgR3N0QWdncmVnYXRvciBzbWFsbGVyCgkgIGJ1ZmZlcnMgdGhhbiBpdCB1c2VzLCB3aGVuIGl0IHJlYWNoZXMgYSB0aW1lb3V0LCBpdCB3aWxsIGNvbnN1bWUgdGhlCgkgIGZpcnN0IGJ1ZmZlciwgdGhlbiB0cnkgdG8gcmVhZCBhbm90aGVyIGJ1ZmZlciBmb3IgdGhlIHBhZC4gSWYgdGhlCgkgIHByZXZpb3VzIGVsZW1lbnQgaXMgbm90IGZhc3QgZW5vdWdoLCBpdCBtYXkgZ2V0IHRoZSBuZXh0IGJ1ZmZlciBldmVuCgkgIHRob3VnaCBpdCBtYXkgYmUgcXVldWVkIGp1c3QgYmVmb3JlLiBUbyBwcmV2ZW50IHRoYXQgcmFjZSwgdGhlIGVhc2llc3QKCSAgc29sdXRpb24gaXMgdG8gbW92ZSB0aGUgcXVldWUgaW5zaWRlIHRoZSBHc3RBZ2dyZWdhdG9yUGFkIGl0c2VsZi4gSXQKCSAgYWxzbyBtZWFucyB0aGF0IHRoZXJlIGlzIG5vIG5lZWQgZm9yIHN0cmFuZ2UgY29kZSBjYXVzZSBieSBpbmNyZWFzaW5nCgkgIHRoZSBtaW4gbGF0ZW5jeSB3aXRob3V0IGluY3JlYXNpbmcgdGhlIG1heCBsYXRlbmN5IHByb3BvcnRpb25hbGx5LgoJICBUaGlzIGFsc28gbWVhbnMgcXVldWluZyB0aGUgc3luY2hyb25pemVkIGV2ZW50cyBhbmQgcG9zc2libHkgYWN0aW5nCgkgIG9uIHRoZW0gb24gdGhlIHNyYyB0YXNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIxOjMyOjA0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbW92ZSBicm9rZW4gX2NsaXAgdmZ1bmMKCSAgSXQgbmV2ZXIgZG9lcyBhbnl0aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNy0zMCAwODo1ODo0OCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogQXZvaWQgY2hlY2tpbmcgZm9yIE5vbiBNYW5kYXRvcnkgVlBTIE5BTAoJICBWUFMgaXMgbm90IG1hbmRhdG9yeSwgYW5kIG5lZWQgbm90IGNoZWNrIGZvciBpdHMgcHJlc2VuY2UgYmVmb3JlIHNldHRpbmcKCSAgdGhlIGNhcHMuIEJlY2F1c2Ugb2YgdGhlIGNoZWNrLCBpbiBzdHJlYW1zIHdoaWNoIGRvbid0IGhhdmUgVlBTLAoJICBzdGlja3kgZXZlbnQgbWlzaGFuZGxpbmcgaGFwcGVucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjgwNwoKMjAxNS0wNy0zMCAxNTozMzo0NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGFzc2VydGlvbiBlcnJvciBkdWUgdG8gd3JvbmcgY29uZGl0aW9uIGNoZWNrCgkgIEluIG1lZGlhIHRvIGNhcHMgZnVuY3Rpb24sIHJlc2VydmVkX2tleXMgYXJyYXkgaXMgYmVpbmcgdXNlZCBmb3IgdmFyaWFibGUgaSwKCSAgbGVhZGluZyB0byBHTGliLUNSSVRJQ0FMICoqOiBnX2FzY2lpX3N0cmNhc2VjbXA6IGFzc2VydGlvbiAnczEgIT0gTlVMTCcgZmFpbGVkCgkgIGNoYW5nZWQgaXQgdG8gdmFyaWFibGUgagoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTMwIDExOjEyOjIxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkgIGdzdGdsZmlsdGVyYmluOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIHJlcyBpcyBzZXQgbXVsdGlwbGUgdGltZXMgYnV0IG5ldmVyIHVzZWQgb3IgcmV0dXJuZWQuIFJlbW92aW5nIGl0LgoKMjAxNS0wNy0yOSAyMDowNzowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRGVmYXVsdCB0byAiemVybyIgc3RhcnQgdGltZSBzZWxlY3Rpb24gbW9kZSBhcyBkb2N1bWVudGVkCgoyMDE1LTA3LTI5IDIwOjA2OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBJZ25vcmUgdGhlICJmaXJzdCIgbW9kZSBpZiB0aGUgc2VnbWVudCBub3QgYSB0aW1lIHNlZ21lbnQKCjIwMTUtMDctMjkgMTk6MTA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFJlbW92ZSBkZWJ1ZyBvdXRwdXQgZnJvbSBnc3RfZ2xfdXBsb2FkX3RyYW5zZm9ybV9jYXBzKCkKCSAgV2UgY2FuJ3Qga25vdyBpZiB0aGUgR3N0R0xVcGxvYWQgdHlwZSBpcyBpbml0aWFsaXplZCBhdCB0aGlzIHBvaW50IGFscmVhZHksCgkgIGFuZCB0aHVzIG91ciBkZWJ1ZyBjYXRlZ29yeSBtaWdodCBub3QgYmUgaW5pdGlhbGl6ZWQgeWV0Li4uIGFuZCBjYXVzZSBhbgoJICBhc3NlcnRpb24gaGVyZS4KCSAgQXMgd2UgZG9uJ3QgcHJpbnQgZGVidWcgb3V0cHV0IGZvciBhbnkgb2YgdGhlIG90aGVyIHRyYW5zZm9ybSBmdW5jdGlvbnMsIGxldCdzCgkgIGRlZmVyIHRoaXMgcHJvYmxlbSBmb3Igbm93LgoKMjAxNS0wNy0yOSAxNzo0ODo1OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJICBnbHN0ZXJlb21peDogcmVtb3ZlIHJlZHVuZGFudCBpbml0aWFsaXphdGlvbgoJICB2IGlzIGluaXRpYWxpemVkIGluIHRoZSBmb3IgbG9vcCBpbml0LCBubyBuZWVkIHRvIGRvIGl0IHR3aWNlLiBSZW1vdmluZwoJICBmaXJzdCBpbml0aWFsaXphdGlvbi4KCjIwMTUtMDctMjkgMTc6Mjk6MjggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIFZhbHVlIHNldCB0byByZXQgd2lsbCBiZSBvdmVyd3JpdHRlbiBhdCBsZWFzdCBvbmNlIGF0IHRoZSBlbmQgb2YgdGhlIHdoaWxlCgkgIGxvb3AsIHJlbW92aW5nIGFzc2lnbm1lbnQuCgoyMDE1LTA3LTI5IDE3OjI5OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgR1F1ZXVlIGluc3RlYWQgb2YgR0xpc3QgcHJlcGVuZC9yZXZlcnNlCgoyMDE1LTA3LTI5IDE3OjE3OjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcmVtb3ZlIHJlZHVuZGFudCBhc3NpZ25tZW50CgkgIFZhbHVlIG9mIHAgaXMgYWxyZWFkeSBzZXQgYmVsb3cganVzdCBiZWZvcmUgYmVpbmcgdXNlZC4gUmVtb3ZpbmcgdGhpcwoJICBmaXJzdCBhc3NpZ25tZW50IHRoYXQgd2lsbCBiZSBpZ25vcmVkLgoKMjAxNS0wNy0yOSAxNjo1MTo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IHJlbW92ZSByZWR1bmRhbnQgY2hlY2sKCSAgTm8gbmVlZCB0byBjaGVjayBpZiBkb25lIGlzIFRydWUgc2luY2UgYnJlYWsgd2lsbCBhbHJlYWR5IHRlcm1pbmF0ZSB0aGUgZm9yCgkgIGxvb3AuCgoyMDE1LTA3LTI5IDEzOjA5OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgYXNzZXJ0IGluIEdzdEFkYXB0ZXIgaWYgbm8gZGF0YSB3YXMgcmVjZWl2ZWQgYmVmb3JlIEVPUwoKMjAxNS0wNy0yOCAyMjozMDowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBuZXcgYWdncmVnYXRvciBzdGFydC10aW1lLXNlbGVjdGlvbiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5OTY2CgoyMDE1LTA2LTE1IDE4OjMwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgaG93IHRvIGRlY2lkZSBvbiBhIHN0YXJ0IHRpbWUKCSAgQmVmb3JlIGFnZ3JlZ2F0b3IgYmFzZWQgZWxlbWVudHMgYWx3YXlzIHN0YXJ0ZWQgYXQgcnVubmluZyB0aW1lIDAsCgkgIG5vdyBpdCdzIHBvc3NpYmxlIHRvIHNlbGVjdCB0aGUgZmlyc3QgaW5wdXQgYnVmZmVyIHJ1bm5pbmcgdGltZSBvcgoJICBleHBsaWNpdGx5IHNldCBhIHN0YXJ0LXRpbWUgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk5NjYKCjIwMTUtMDctMjkgMTE6MjU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBTdHJpcCBrZXlzIGZyb20gdGhlIGZtdHAgdGhhdCB3ZSB1c2UgaW50ZXJuYWxseSBpbiBvdXIgY2FwcwoJICBTa2lwIGtleXMgZnJvbSB0aGUgZm10cCwgd2hpY2ggd2UgYWxyZWFkeSB1c2Ugb3Vyc2VsdmVzIGZvciB0aGUKCSAgY2Fwcy4gU29tZSBzb2Z0d2FyZSBpcyBhZGRpbmcgcmFuZG9tIHRoaW5ncyBsaWtlIGNsb2NrLXJhdGUgaW50bwoJICB0aGUgZm10cCwgYW5kIHdlIHdvdWxkIG90aGVyd2lzZSBoZXJlIHNldCBhIHN0cmluZy10eXBlZCBjbG9jay1yYXRlCgkgIGluIHRoZSBjYXBzLi4uIGFuZCB0aHVzIGZhaWwgdG8gY3JlYXRlIHZhbGlkIFJUUCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMjkgMjI6NTk6NTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIG1vcmUgTkFMIHR5cGVzIGZvciBkZWJ1Z2dpbmcgb3V0cHV0LgoJICBSZWdpc3RlciBtb3JlIE5BTCB1bml0IHR5cGVzIHNvIHRoYXQgdGhleSBhcmUgZHVtcGVkCgkgIGJ5IG5hbWUgaW4gdGhlIGRlYnVnIG91dHB1dCBpbnN0ZWFkIG9mIGJlaW5nIGxhYmVsbGVkCgkgICdJbnZhbGlkJwoKMjAxNS0wNy0yOSAyMjo1Nzo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IERvbid0IGNsZWFyIHRoZSBQSUQgb24gcmVzZXQuCgkgIFRoZSBQSUQgb24gYSBwYWQgc2hvdWxkbid0IGNoYW5nZSBvbiBhIHN0YXRlIGNoYW5nZSwgb25seQoJICBpZiB0aGUgcGFkIGlzIGZyZWVkIGFuZCBhIG5ldyBvbmUgY3JlYXRlZC4gQ2xlYXJpbmcgdGhlIFBJRAoJICBwcmV2ZW50ZWQgbXBlZ3RzbXV4IGZyb20gYmVpbmcgcmV1c2VkLCBiZWNhdXNlIGFsbCBwYWNrZXRzCgkgIHdvdWxkIGVuZCB1cCBtdXhlZCBpbiBQSUQgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTk5CgoyMDE1LTA3LTI5IDIyOjU2OjI4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogQWNjdW11bGF0ZSBzdHJlYW1oZWFkZXJzIGluIHJldmVyc2UKCSAgQWNjdW11bGF0ZSBzdHJlYW1oZWFkZXIgcGFja2V0cyBpbiByZXZlcnNlIGludG8gdGhlCgkgIEdMaXN0IGZvciBlZmZpY2llbmN5LCBhbmQgcmV2ZXJzZSB0aGUgbGlzdCBvbmNlIHdoZW4KCSAgcHJvY2Vzc2luZy4KCSAgSW1wcm92ZXMgbXV4aW5nIHNwZWVkIHdoZW4gdGhlcmUgYXJlIGEgbG90IG9mCgkgIHN0cmVhbWhlYWRlcnMuCgoyMDE1LTA3LTI5IDEwOjEyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogQWx3YXlzIHNldCBpLWZyYW1lLWludGVydmFsIHNldHRpbmcKCSAgTW9zdCBlbmNvZGVycyBmYWlsIHRvIGluaXRpYWxpemUgaWYgd2UgZG9uJ3Qgc2V0IGl0IGF0IGFsbC4KCjIwMTUtMDctMjkgMTI6NTY6NTQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTEKCjIwMTUtMDctMjggMjE6MTU6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFF1ZXJ5IHRoZSBwZWVyIGxhdGVuY3kgYWdhaW4gb24gdGhlIG5leHQgb3Bwb3J0dW5pdHkgYWZ0ZXIgYSBwYWQgd2FzIGFkZGVkIG9yIHJlbW92ZWQKCSAgQWRkaW5nIGEgcGFkIHdpbGwgYWRkIGEgbmV3IHVwc3RyZWFtIHRoYXQgbWlnaHQgaGF2ZSBhIGJpZ2dlciBtaW5pbXVtIGxhdGVuY3ksCgkgIHNvIHdlIG1pZ2h0IGhhdmUgdG8gd2FpdCBsb25nZXIuIE9yIGl0IG1pZ2h0IGJlIHRoZSBmaXJzdCBsaXZlIHVwc3RyZWFtLCBpbgoJICB3aGljaCBjYXNlIHdlIHdpbGwgaGF2ZSB0byBzdGFydCBkZWFkbGluZSBiYXNlZCBhZ2dyZWdhdGlvbi4KCSAgUmVtb3ZpbmcgYSBwYWQgd2lsbCByZW1vdmUgYSBuZXcgdXBzdHJlYW0gdGhhdCBtaWdodCBoYXZlIGhhZCB0aGUgYmlnZ2VzdAoJICBsYXRlbmN5LCBzbyB3ZSBjYW4gbm93IHN0b3Agd2FpdGluZyBhIGJpdCBlYXJsaWVyLiBPciBpdCBtaWdodCBiZSB0aGUgbGFzdAoJICBsaXZlIHVwc3RyZWFtLCBpbiB3aGljaCBjYXNlIHdlIGNhbiBzdG9wIGRlYWRsaW5lIGJhc2VkIGFnZ3JlZ2F0aW9uLgoKMjAxNS0wNy0yOCAxMToyMDo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0LXRlc3Q6IFRlc3Qgbm90aWZ5IGZ1bmN0aW9uIGZvciBzZXR1cF93cmFwcGVkCgkgIGdzdF9nbF9tZW1vcnlfc2V0dXBfd3JhcHBlZCgpIG5vdyB0YWtlcyBhIGRlc3Ryb3kgbm90aWZ5IGZ1bmN0aW9uLiBUaGlzCgkgIGRlc3Ryb3kgbm90aWZ5IGlzIGNhbGxlZCB0byB0cmFjayB0aGUgbWVtb3J5IGxpZmUgdGltZSwgaGVuY2Ugd2lsbAoJICBub3RpZnkgZWFjaCB0aW1lIGEgbWVtb3J5IGdldCBkZXN0cm95ZWQuIFRoaXMgdGVzdCBjaGVjayB0aGF0IHRoZQoJICBjYWxsYmFjayBjb3VudCBpcyBjb3JyZWN0LgoKMjAxNS0wNy0yOCAxMTowNjo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0LXRlc3Q6IEZpeCBidWlsZAoKMjAxNS0wNy0yOCAwODo1OToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEFkZCBmaXhtZSBhYm91dCB1c2luZyBidWZmZXJwb29sIGZvciByYXcKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTM3CgoyMDE1LTA3LTI3IDE2OjU4OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogS2VlcCBpbnB1dCBmcmFtZSBtYXBwZWQgYXMgbG9uZyBhcyBuZWVkZWQKCSAgV2hlbiBwZXJmb3JtaW5nIGEgcmF3IHVwbG9hZCwgd2UgbmVlZCB0byBrZWVwIHRoZSByYXcgZGF0YSBtYXBwZWQgYXMKCSAgbG9uZyBhcyBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5MzcKCjIwMTUtMDctMjcgMTU6NTg6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBSZXZlcnQgImdsdXBsb2FkOiBtZW1jcHkgb24gcmF3IGRhdGEgdXBsb2FkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDgyYzAxODliMjg0MmU4NzI5ZTgyYTRlNzM0OTFkZmZjOTc3YmM3YzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5MzcKCjIwMTUtMDctMTUgMTY6MjE6MDAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfZHVyYXRpb24gc2V0cyBkZWZhdWx0IHZhbHVlIGluIGNhc2Ugb2YgcGFyc2luZyBlcnJvcnMKCSAgVGhlIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX2R1cmF0aW9uIGZ1bmN0aW9uIHdpbGwgc2V0IHRoZQoJICBwcm9wZXJ0eV92YWx1ZSB0byB0aGUgZGVmYXVsdF92YWx1ZSBpbiBjYXNlIHRoZSBwYXJzaW5nIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDI2CgoyMDE1LTA3LTI3IDE4OjM5OjEzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkgIG9wdXNjb21tb246IFVzZSBHU3RyaW5nIGluc3RlYWQgb2Ygc25wcmludGYgZm9yIGNvbmNhdGluZwoJICBTYWZlciwgZWFzaWVyIHRvIHVuZGVyc3RhbmQsIGFuZCBtb3JlIHBvcnRhYmxlLiBBbHNvLCBza2lwCgkgIGFsbCB0aGlzIGlmIHRoZSBsb2cgbGV2ZWwgaXMgdG9vIGxvdy4KCjIwMTUtMDctMjcgMjE6NTQ6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkgIGdsY29udGV4dC93Z2w6IGZpeCBkZWZlbml0aW9uIG9mIGdzdF9nbF9jb250ZXh0X3dnbF9uZXcKCSAgZ3N0Z2xjb250ZXh0X3dnbC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2dsX2NvbnRleHRfd2dsX25ldyc6CgkgIGdzdGdsY29udGV4dF93Z2wuYzo4Mzo0MDogZXJyb3I6ICdkaXNwbGF5JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKCjIwMTUtMDctMjcgMjA6MDM6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSAgZ2wvY29jb2E6IGZpeCBkZWZpbml0aW9uIG9mIGdzdF9nbF9jb250ZXh0X25ldwoJICBnc3RnbGNvbnRleHRfY29jb2EubTo3NToxOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdnc3RfZ2xfY29udGV4dF9jb2NvYV9uZXcnCgoyMDE1LTA3LTI3IDIwOjAwOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2wvd2luMzI6IGZpeCBkZWZpbml0aW9uIG9mIGdzdF9nbF93aW5kb3dfd2luMzJfbmV3CgoyMDE1LTA3LTI3IDE4OjIxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICB3YXlsYW5kOiBmYWlsIHdpbmRvdyBvcGVuIGlmIHRoZSBkaXNwbGF5IGlzIHRoZSBjb3JyZWN0IHR5cGUKCSAgRXJyb3JzIG91dCBjbGVhbmx5IGlmIGEgd2F5bGFuZCBjb21wb3NpdG9yIGlzIG5vdCBydW5uaW5nCgoyMDE1LTA3LTI0IDE3OjAwOjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IHBhc3MgZGlzcGxheSB0byBpbXBsZW1lbnRhdGlvbidzIF9uZXcoKQoJICBTbyB0aGV5IGhhdmUgdG8gb3Bwb3J0dW5pdHkgdG8gZmFpbCBpZiB0aGV5IGNhbm5vdCBoYW5kbGUgdGhlCgkgIGRpc3BsYXkgY29ubmVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0yNCAxNjoxMTozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJICBnbGNvbnRleHQ6IHBhc3MgZGlzcGxheSB0byBpbXBsZW50YXRpb24ncyBfbmV3KCkKCSAgVGhpcyBhbGxvd3MgdGhlIGNvbnRleHQgdG8gZmFpbCBjcmVhdGlvbiBiYXNlZCBvbiBpbmNvbXBhdGlibGUKCSAgZGlzcGxheSB0eXBlJ3MuIGUuZy4gZ2x4IGNvbnRleHQgd2l0aCBhbiB3YXlsYW5kIGRpc3BsYXkgaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTA2IDAwOjUyOjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogc3VwcG9ydCBjZ2wsIGVnbCBhbmQgZ2x4IHdpdGhpbiBhIHNhbWUgYnVpbGQKCSAgT24gb3N4LCB3aXRoIHRoZSBzYW1lIGJ1aWxkLAoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luayB3b3JrcyB3aXRoOgoJICBHU1RfR0xfUExBVEZPUk09ZWdsIEdTVF9HTF9XSU5ET1c9eDExIEdTVF9HTF9BUEk9Z2xlczIKCSAgR1NUX0dMX1BMQVRGT1JNPWVnbCBHU1RfR0xfV0lORE9XPXgxMSBHU1RfR0xfQVBJPW9wZW5nbAoJICBHU1RfR0xfUExBVEZPUk09Z2x4IEdTVF9HTF9XSU5ET1c9eDExIEdTVF9HTF9BUEk9b3BlbmdsCgkgIEdTVF9HTF9QTEFURk9STT1jZ2wgR1NUX0dMX1dJTkRPVz1jb2NvYSBHU1RfR0xfQVBJPW9wZW5nbAoJICBHU1RfR0xfUExBVEZPUk09Y2dsIEdTVF9HTF9XSU5ET1c9Y29jb2EgR1NUX0dMX0FQST1vcGVuZ2wzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NDMKCjIwMTUtMDctMjcgMTY6MzY6NDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBDaGVjayB0aGF0IGNhcHMgY29udGFpbiBkZXNpcmVkIGNhcHMgZmVhdHVyZXMKCSAgVXNlICdjb250YWlucycgY2hlY2tzIGluc3RlYWQgb2YgZXF1YWxpdHkgY2hlY2tzIG9uIGNhcHMgZmVhdHVyZXMKCSAgdG8gYWxsb3cgZm9yIHVwbG9hZGluZyB3aGVuIGNhcHMgYWxzbyBjb250YWluIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uCgkgIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5MTIKCjIwMTUtMDctMjUgMDk6MDM6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJICBibHVlejogQWRkIGJ1aWx0IHNvdXJjZXMgdG8gQ0xFQU5GSUxFUwoKMjAxNS0wNy0yMCAxMDo1MDo0NCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFoZGVtdXg6IGF2b2lkIG92ZXJmbG93cyBpbiBjb21wdXRhdGlvbiBvZiBzZWdtZW50IHN0YXJ0IHRpbWUgYW5kIGR1cmF0aW9uCgkgIFVzZWQgZ3N0X3V0aWxfdWludDY0X3NjYWxlIHRvIGF2b2lkIG92ZXJmbG93cyB3aGVuIHNlZ21lbnQgc3RhcnQgdGltZQoJICBvciBkdXJhdGlvbiBpcyBjb21wdXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYyMAoKMjAxNS0wNy0xMyAxNTozNzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBkZW1vdGUgZXJyb3IgdG8gd2FybmluZwoJICBJdCBpcyBub3QgZmF0YWwgYW5kIGNhbiBiZSBxdWl0ZSBub3JtYWwgd2hlbiB0aGUgbmV0d29yayBpcwoJICB0b28gc2xvdwoKMjAxNS0wNy0yNCAwOTo0Mjo1MyArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGRvIG5vdCBjaGVjayBpbnB1dCBidWZmZXJzCgkgIFdpdGggdGhpcyB3ZSBhdm9pZCBhbiB1bm5lY2Vzc2FyeSBhbmQgY29uc2lkZXJhYmxlIG92ZXJoZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzc0CgoyMDE1LTA3LTA2IDAwOjQ1OjQ1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IG1vdmUgR0xfTlVNX0VYVEVOU0lPTlMgZGVmaW5pdGlvbiBhZnRlciBnbC5oCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NDMKCjIwMTUtMDctMjMgMjM6NTk6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiByZW1vdmUgdW51c2VkIGxhYmVsIGNvbnRleHRfY3JlYXRpb25fZXJyb3IKCSAgQnVpbGQgZXJyb3IgaW50cm9kdWNlZCBieSBjb21taXQKCSAgNTQ1N2U1NWYyNTU1MThkNjc5YjU5YTE3MDk1MWUyOTllY2Q4YzVmNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTI0IDAyOjQ2OjIxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG9uJ3QgZGlzY2FyZCBmaXJzdCBBVSBkZWxpbWl0ZXIKCSAgRG9uJ3QgdGhyb3cgYXdheSBBVSBkZWxpbWl0ZXIocykgdGhhdCBwcmVjZWRlIHRoZSBTUFMvUFBTLiBTaG91bGQKCSAgZml4IE1QRUctVFMgcGxheWJhY2sgb24gaU9TL1F1aWNrdGltZSB3aGVuIG11eGluZyBzdHJlYW1zIHRoYXQKCSAgYWxyZWFkeSBoYXZlIEFVIGRlbGltaXRlcnMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjEzIGZvciBnZXR0aW5nCgkgIGgyNjRwYXJzZSB0byBpbnNlcnQgQVUgZGVsaW1pdGVycyB3aGVuIHRoZXkgZG9uJ3QgYWxyZWFkeQoJICBleGlzdC4KCjIwMTUtMDctMjMgMTE6MTg6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBhbGxvY2F0aW9uIG1ldGEgc3RydWN0dXJlIGxlYWsKCSAgZ3N0X3F1ZXJ5X2FkZF9hbGxvY2F0aW9uX21ldGEoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcAoJICBvZiB0aGUgc3RydWN0dXJlLCBmb3Igc29tZSByZWFzb24uCgkgIENJRCAxMzEyMTM1CgoyMDE1LTA3LTIzIDEwOjU3OjI2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggbWVtb3J5IGxlYWsKCSAgR3N0Q2Fwc0ZlYXR1cmVzIG5lZWQgdG8gYmUgZnJlZWQgd2l0aCBnc3RfY2Fwc19mZWF0dXJlc19mcmVlKCkgYWZ0ZXIgdXNlLgoJICBDSUQgIzEzMTIxMzYsIENJRCAjMTMxMjEzNgoKMjAxNS0wNy0wMiAyMDoxMDo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBBZGQgR3N0Q29udHJvbEJpbmRpbmcgcHJveHkKCSAgVGhpcyBpcyB1c2VkIHRvIHByb3h5IEdzdENvbnRyb2xCaW5kaW5nIHRvIHRoZSBwYWQgb24gdGhlCgkgIHBhcmVudCBvYmplY3QuIFRoaXMgYXZvaWQgaGF2aW5nIHRvIHN5bmMgdGhlIHZhbHVlcyBpbiB0aGUgcHJveHkgcGFkLAoJICB0aGlzIGlzIHRvbyBlYXJseSBpZiB5b3UgaGF2ZSBhIHF1ZXVlIGJldHdlZW4gdGhlIHBhZCBhbmQgdGhlIGFjdHVhbAoJICBhZ2dyZWdhdGlvbiBvcGVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwNjAKCjIwMTUtMDctMjIgMTk6Mjc6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBSZWdpc3RlciBmdW5jdGlvbiBuYW1lCgkgIE90aGVyd2lzZSwgaXQgc29tZXRpbWVzIHNlZ2ZhdWx0cyB3aXRoIGRlYnVnZ2luZyBlbmFibGVkCgoyMDE1LTA3LTIyIDE5OjI2OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogVXNlIDEuMCBzdHlsZSBidWZmZXIgYWxsb2NhdGlvbgoKMjAxNS0wNy0yMiAxNjo1ODoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZDogRm9yd2FyZCBjb21wb3NpdGlvbiBtZXRhIGV2ZW4gd2l0aG91dCBwYXJhbXMKCSAgV2hlbiB0aGUgc2luayBkb2VzIG5vdCBrbm93IHRoZSB3aW5kb3cgc2l6ZSAoZS5nIG5vdCBjcmVhdGVkIHlldCkKCSAgaXQgd2lsbCBub3QgYWRkIGFueSBwYXJhbSB0byB0aGUgdGhlIGNvbXBvc2l0aW9uIG1ldGEuIFRoaXMgaXMgbm8KCSAgcmVhc29uIG5vdCB0byBmb3J3YXJkIHRoaXMgbWV0YSBBUEkuIEZpeGVzIGlzc3VlIHdoZXJlIGl0IGNvdWxkIG5vdAoJICBhdHRhY2ggdW50aWwgd2UgcmVzaXplIHRoZSB3aW5kb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTU6NTY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEtlZXAgbWVtb3J5IHBvaW50ZXIgYWxpdmUKCSAgS2VlcCB0aGUgY29tcG9zaXRpb24gbWVtb3J5IHBvaW50ZXIgYWxpdmUgd2hpbGUgaXQncyBiZWluZwoJICB3cmFwcGVkIGluc2lkZSBhIEdzdEdMTWVtb3J5IG9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMiAxNDoxNzo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogUGFzcyBidWZmZXIgc3RyaWRlCgkgIFRoZSBvdmVybGF5IHBpeGVsIGJ1ZmZlciBzdHJpZGUgd2FzIG5vdCBnaXZlbiBiYWNrCgkgIHRvIHRoZSBHTCBpbWFnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNS0xOSAxNjowODowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogU3luYyBwYWQgdmFsdWVzIGJlZm9yZSBhZ2dyZWdhdGluZwoJICBXZSBuZWVkIHRvIHN5bmMgdGhlIHBhZCB2YWx1ZXMgYmVmb3JlIHRha2luZyB0aGUgYWdncmVnYXRvciBhbmQgcGFkIGxvY2tzCgkgIG90aGVyd2lzZSB0aGUgZWxlbWVudCB3aWxsIGp1c3QgZGVhZGxvY2sgaWYgdGhlcmUncyBhbnkgcHJvcGVydHkgY2hhbmdlcwoJICBzY2hlZHVsZWQgdXNpbmcgR3N0Q29udHJvbGxlciBzaW5jZSB0aGF0IGludm9sdmVzIHRha2luZyB0aGUgYWdncmVnYXRvciBhbmQgcGFkCgkgIGxvY2tzLgoJICBBbHNvIGFkZCBhIHRlc3QgZm9yIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1NzQKCjIwMTUtMDctMjIgMTQ6MDU6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEhpZGUgR3N0Q29tcHNpdGlvbk92ZXJsYXkgb2JqZWN0CgkgIFRoaXMgb2JqZWN0IGlzIG9ubHkgdXNlZCBpbnNpZGUgdGhlIGNvbXBvc2l0b3IgYW5kIGRvZXMgbm90CgkgIG5lZWQgdG8gYmUgZXhwb3NlIGluIGxpYmdzdGdsIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMiAxMzozMzoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBsaWJnc3RnbDogTWFrZWZpbGUgc3R5bGUgZml4CgoyMDE1LTA3LTIxIDIzOjQ4OjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkgIGNvbXBvc2l0aW9uLW92ZXJsYXk6IFBvc2l0aW9ucyBhcmUgcmVsYXRpdmUgdG8gdGV4dHVyZQoJICBUaGUgY29vcmRpbmF0ZSBhcmUgcmVsYXRpdmUgdG8gdGhlIHRleHR1cmUgZGltZW5zaW9uIGFuZCBub3QKCSAgdGhlIHdpbmRvdyBkaW1lbnNpb24gbm93LiBUaGVyZSBpcyBubyBuZWVkIHRvIHBhc3MgdGhlIHdpbmRvdwoJICBkaW1lbnNpb24gb3IgdG8gdXBkYXRlIHRoZSBvdmVybGF5IGlmIHRoZSBkaW1lbnNpb24gY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMSAyMToyNzo0NSAtMDQwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IENyZWF0ZSBvd24gc2hhZGVyIG9iamVjdAoJICBNYWtlIGdsb3ZlcmxheWNvbXBvc2l0b3IgaW5kZXBlbmRlbnQgb2YgdGhlIHNoYWRlciB1c2VkIGluIHRoZSBzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIxIDE4OjQ3OjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFByb3Blcmx5IGhhbmRsZSBjb21wc29zaXRvciBsaWZlIHRpbWUKCSAgU2hvdWxkIGJlIGNyZWF0ZWQgaW4gUkVBRFlfVE9fUEFVU0VELCBub3QgUEFVU0VEX1RPX1BMQVlJTkcuCgkgIFNob3VsZCBiZSBjbGVhcmVkIGluIFBBVVNFRF9UT19SRUFEWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMiAxNjoxMDozNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlCgkgIHJldCBpcyBkZWNsYXJlZCBqdXN0IHRvIGluaXRpYWxpemUgdG8gVFJVRSBhbmQgb3ZlcndyaXRlIHdpdGggdGhlIHZhbHVlIG9mCgkgIHZyZXQuIFdlIGNhbiByZXR1cm4gdGhlIHZhbHVlIG9mIHZyZXQgZGlyZWN0bHkuIHZyZXQgaXMgVFJVRSB1bmxlc3MgdGhlCgkgIGZvcndhcmRfZXZlbnRfZnVuYyBzZXRzIGl0IHRvIEZBTFNFLgoKMjAxNS0wNy0yMiAxNToxMzo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IERvbid0IGRpc3QgZmlsZXMgdGhhdCBtaWdodCBub3QgZXhpc3QKCSAgV2Ugb25seSByZXF1aXJlIG1vYyBidWlsZGluZyBhdCBidWlsZCB0aW1lLgoKMjAxNS0wNy0yMiAxNTo1MDoyNiArMDkwMCAgWW91bmcgSGFuIExlZSA8eS5sZWVAbGdlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYnhtbDIgPj0gMi44IGZvciBEQVNIIHBsdWdpbgoJICBUaGUgREFTSCBwbHVnaW4gdXNlcyB4bWxCdWZmZXJEZXRhY2ggbm93IGluIHRoZSBjb2RlCgkgIHRoYXQgaGFuZGxlcyBDb250ZW50UHJvdGVjdGlvbiBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjcwMwoKMjAxNS0wNy0yMiAwODowNTowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IFRpZHkgdXAgbWFrZWZpbGUgYSBiaXQgbW9yZQoJICBTZXBhcmF0ZSBnZW5lcmF0ZWQgZmlsZXMsIGZyb20gZGlzdGVkIGZpbGVzCgoyMDE1LTA3LTIxIDIwOjUyOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogUmVhZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIHdpdGggbG9jayBoZWxkCgoyMDE1LTA3LTIxIDExOjIzOjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3N0Z2x3aWRnZXQ6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBBbHNvIGhhbmRsZSB0aGUgZmFpbHVyZSBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTIxIDExOjI4OjA4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogdXNlIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTE6MjE6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSAgZ2xzdGVyZW9zcGxpdDogdXNlIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIEFsc28gdW5sb2NrIHRoZSBsb2NrIG9uIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTIxIDE0OjEwOjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByZXR1cm4gZmFsc2UgaWYgZXZlbnQgY291bGRuJ3QgYmUgcHVzaGVkCgkgIE1ha2UgdGhlIGdzdCBwYWQncyBldmVudCBmdW5jdGlvbiByZXR1cm4gZmFsc2UgaWYgdGhlIGV2ZW50IGNvdWxkbid0IGJlCgkgIHB1c2hlZCB0byB0aGUgcGFkLgoKMjAxNS0wNy0yMSAxMzoxMToxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IGZvciBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3MKCjIwMTUtMDYtMTkgMTE6NTc6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogdXNlIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0IGluIG1vcmUgZWxlbWVudHMuCgkgIGdsYmFzZWZpbHRlciwgZ2xiYXNlbWl4ZXIgYW5kIGdsdGVzdHNyYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxNzozNDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbC9idWlsZDogZml4IHR5cG8gaW4gX0hFQURFUlMgcmVzdWx0aW5nIGluIGluc3RhbGxpbmcgdGhlIHdyb25nIGZpbGUKCSAgL3Vzci9pbmNsdWRlL2dzdHJlYW1lci0xLjAvZ3N0L2dsL2dsLmg6NTE6NDM6IGZhdGFsIGVycm9yOgoJICBnc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgoyMDE1LTA3LTIxIDE1OjM5OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFkZCBSR0IgdG8gTlYxMi9OVjIxIGNvbnZlcnNpb24KCjIwMTUtMDctMDEgMTQ6MDE6NDUgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogU2VuZCByZWNvbmZpZ3VyZSBldmVudCB3aGVuIHdpbmRvdyBzaXplIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMCAxNDoyNDoyMiAtMDQwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2xpbWFnZXNpbmtiaW46IEFkZCBhbGxvY2F0aW9uIHF1ZXJ5IGZvciBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbgoJICBBZGRzIGFuIEdTVF9WSURFT19PVkVSTEFZX0NPTVBPU0lUSU9OX01FVEFfQVBJX1RZUEUgcXVlcnkgdG8gZ2x1cGxvYWQKCSAgYW5kIGdsaW1hZ2VzaW5rLiAgRGV0ZWN0cyB0aGUgcXVlcnkgZnJvbSB0aGUgZG93bnN0cmVhbSBlbGVtZW50cywgc28KCSAgaXQgaXMgZXhlY3V0ZWQgb25seSB3aGVuIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIG92ZXJsYXkgQVBJLgoJICBUaGlzIG1ha2VzIHBpcGVsaW5lcyB3aXRoIHRleHRvdmVybGF5ICEgZ2x1cGxvYWQgISBnbGRvd25sb2FkICEgeHZpbWFnZXNpbmsgcG9zc2libGUuCgkgIFVzZXMgYWxsb2NhdGlvbiBtZXRhIHN0cnVjdCBmb3IgcGFzc2luZyB0aGUgd2luZG93IHNpemUgdXBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDQtMjAgMTM6MTc6MDkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQXBwbHkgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIGJ1ZmZlciB0byBjb252ZXJ0ZWQgYnVmZmVyCgkgIFNpbmNlIGdsY29sb3Jjb252ZXJ0IGNyZWF0ZXMgYSBuZXcgR3N0QnVmZmVyLAoJICB3aXRob3V0IHRoZSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgZGF0YSwKCSAgaXQgbmVlZHMgdG8gYmUgY29waWVkIHRvIG5vdCBiZSBkcm9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDEzOjM0OjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IERldGVjdCBvdmVybGF5IG1ldGEgYnVmZmVycyBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAwNTo0Mzo1MCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xpbWFnZXNpbmtiaW46IEFkZCBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgY2FwcyBmZWF0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDA2OjA0OjM3ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBVcGxvYWQgYW5kIGRyYXcgb3ZlcmxheXMgd2l0aCBHc3RHTE92ZXJsYXlDb21wb3NpdG9yCgkgIFJlY2VpdmVzIHRoZSBHc3RPdmVybGF5Q29tcG9zaXRpb24gYnVmZmVyIGluIHRoZSBnbGltYWdlc2luayBhbmQgZHJhd3MgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0zMCAxNzo1OToxMiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBBZGQgR3N0R0xPdmVybGF5Q29tcG9zaXRvciBjbGFzcwoJICBNYW5hZ2VzIHRoZSBHc3RHTENvbXBvc2l0aW9uT3ZlcmxheSBvYmplY3RzLAoJICBjYWNoZXMgYWxyZWFkeSB1cGxvYWRlZCBvdmVybGF5cyBhbmQgZHJhd3MgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAxNDoxNTowMSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5LmM6CgkgIGdsY29tcG9zaXRpb25vdmVybGF5OiBBZGQgY29tcGF0aWJpbGl0eSBmb3IgR0wgY29udGV4dHMgd2l0aG91dCBnbEdlblZlcnRleEFycmF5cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTEzIDE1OjM1OjQ3ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5oOgoJICBnbGNvbXBvc2l0aW9ub3ZlcmxheTogQWRkIGNsYXNzIGZvciBtYW5hZ2luZyBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk92ZXJsYXkgYnVmZmVycwoJICBBZGQgYSBjbGFzcyB0byBzdG9yZSBhbmQgbWFuYWdlIHRoZSBPcGVuR0wgdGV4dHVyZSwKCSAgdmVydGV4IGJ1ZmZlciBhbmQgR3N0VmlkZW9PdmVybGF5UmVjdGFuZ2xlLgoJICBUcmFuc2Zvcm1zIG92ZXJsYXkgY29vcmRpbmF0ZSBzcGFjZSB0byB2ZXJ0ZXggYnVmZmVyIHNwYWNlIHdpdGggYXNwZWN0IHJhdGlvcyBpbiBtaW5kLgoJICA9IEV4YW1wbGUgUGlwZWxpbmVzID0KCSAgU2ltcGxlIHBpcGVsaW5lCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIFwKCSAgdGV4dG92ZXJsYXkgdGV4dD0iSGVsbG8gV29ybGQiIGZvbnQtZGVzYz0ic2FucyBib2xkIDMwIiAhIFwKCSAgZ2xpbWFnZXNpbmsKCSAgRGlzcGxheSAzIHN0YXRpYyBvdmVybGF5cyBhdCBkaWZmZXJlbnQgcG9zaXRpb25zCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIFwKCSAgdGV4dG92ZXJsYXkgdGV4dD0idGV4dDEiIHZhbGlnbm1lbnQ9InRvcCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJ0ZXh0MiIgaGFsaWdubWVudD0icmlnaHQiIGZvbnQtZGVzYz0ic2FucyBib2xkIDMwIiAhIFwKCSAgdGV4dG92ZXJsYXkgdGV4dD0idGV4dDMiIGhhbGlnbm1lbnQ9ImxlZnQiIGZvbnQtZGVzYz0ic2FucyBib2xkIDMwIiAhIFwKCSAgZ2xpbWFnZXNpbmsKCSAgRGlzcGxheSBzdWJ0aXRsZSBmaWxlIG92ZXIgdGVzdHNyYwoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBcCgkgIHRleHRvdmVybGF5IG5hbWU9Zm9vIGZpbGVzcmMgbG9jYXRpb249Zm9vLnNydCAhIHN1YnBhcnNlICEgcXVldWUgISBmb28uIGZvby4gISBcCgkgIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMTE6MzM6MjkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogTW92ZSBkZWJ1ZyBpbml0IHRvIHRvcCBvZiB0aGUgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA0LTIwIDE1OjA0OjU2ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogRml4IFBMQyBmcmFtZSBzaXplIGNhbGN1bGF0aW9ucwoJICBQcmV2aW91c2x5LCBQTEMgZnJhbWVzIGFsd2F5cyBoYWQgYSBsZW5ndGggb2YgMTIwbXMsIHdoaWNoIGNhdXNlZCBhdWRpbwoJICBxdWFsaXR5IGRlZ3JhZGF0aW9uIGFuZCBzeW5jaHJvbml6YXRpb24gZXJyb3JzLiBGaXggdGhpcyBieSBjYWxjdWxhdGluZyBhbgoJICBhcHByb3ByaWF0ZSBsZW5ndGggZm9yIHRoZSBQTEMgZnJhbWUuCgkgIFRoZSBsZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDIuNW1zLiBDYWxjdWxhdGUgYSBtdWx0aXBsZSBvZiAyLjVtcyB0aGF0CgkgIGlzIG5lYXJlc3QgdG8gdGhlIGN1cnJlbnQgUExDIGxlbmd0aC4gQW55IGxlZnRvdmVyIFBMQyBsZW5ndGggdGhhdCBkaWRuJ3QKCSAgbWFrZSBpdCBpbnRvIHRoaXMgZnJhbWUgaXMgYWNjdW11bGF0ZWQgZm9yIHRoZSBuZXh0IFBMQyBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE2NwoKMjAxNS0wNy0xOCAyMToxODoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogbWlub3IgY2xlYW4tdXAKCSAgTm8gbmVlZCBmb3IgYSBmb3JlYWNoIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQncyBqdXN0IGEgZmV3CgkgIGxpbmVzIG9mIGNvZGUgYW5kIGlzIG9ubHkgdXNlZCBvbmNlLCBqdXN0IGRvIHRoZSBldmVudAoJICBwdXNoaW5nIGlubGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MQoKMjAxNS0wMi0wNiAxMzoyMjoxNCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBQcm90ZWN0aW9uIGV2ZW50cyBmcm9tIENvbnRlbnRQcm90ZWN0aW9uIGVsZW1lbnRzCgkgIElmIGEgQ29udGVudFByb3RlY3Rpb24gZWxlbWVudCBpcyBwcmVzZW50IGluIGFuIEFkYXB0YXRpb25TZXQgZWxlbWVudCwKCSAgc2VuZCBQcm90ZWN0aW9uIGV2ZW50cyBvbiB0aGUgc291cmNlIHBhZCwgc28gdGhhdCBxdGRlbXV4IGNhbiB1c2UgdGhpcwoJICBpbmZvcm1hdGlvbiB0byBjb3JyZWN0bHkgZ2VuZXJhdGUgaXRzIHNvdXJjZSBjYXBzIGZvciBEQVNIIENFTkMKCSAgZW5jcnlwdGVkIHN0cmVhbXMuCgkgIFRoaXMgYWxsb3dzIHF0ZGVtdXggdG8gc3VwcG9ydCBDRU5DIGVuY3J5cHRlZCBEQVNIIHN0cmVhbXMgd2hlcmUgdGhlCgkgIGNvbnRlbnQgcHJvdGVjdGlvbiBzcGVjaWZpYyBpbmZvcm1hdGlvbiBpcyBjYXJyaWVkIGluIHRoZSBNUEQgZmlsZQoJICByYXRoZXIgdGhhbiBpbiBwc3NoIGJveGVzIGluIHRoZSBpbml0aWFsaXNhdGlvbiBzZWdtZW50cy4KCSAgVGhpcyBjb21taXQgYWRkcyBhIG5ldyBmdW5jdGlvbiB0byB0aGUgYWRhcHRpdmVkZW11eCBiYXNlIGNsYXNzIHRvIGFsbG93CgkgIGEgR3N0RXZlbnQgdG8gYmUgcXVldWVkIGZvciBhIHN0cmVhbS4gVGhlIHF1ZXVlIG9mIGV2ZW50cyBhcmUgc2VudCB0aGUKCSAgbmV4dCB0aW1lIGEgYnVmZmVyIGlzIHB1c2hlZCBmb3IgdGhhdCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTEKCjIwMTUtMDctMjAgMTI6NDA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGZpeCBvdXRwdXQgY2FwcyBmb3Igc3RyZWFtLWZvcm1hdD1BRFRTCgkgIFNob3VsZCBoYXZlIGZyYW1lZD10cnVlIGluIGNhcHMuIEZpeGVzIHZvYWFjZW5jICEgbXBlZ3RzbXV4LgoKMjAxNS0wNy0yMCAxMjozODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGFhYyBjYXBzIGluIHBhZCB0ZW1wbGF0ZSBmb3IgcmF3IGFhYwoJICBSYXcgYWFjIGRvZXNuJ3QgbmVlZCBmcmFtZWQ9dHJ1ZS4KCSAgRml4ZXMgbm90LW5lZ290aWF0ZWQgZXJyb3Igd2l0aCB2b2FhY2VuYyAhIG1wZWd0c211eC4KCjIwMTUtMDctMjAgMTE6MDk6MjAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBMb2cgR0RLIEdMIGVycm9yIHdoZW4gZmFpbGxpbmcgY3JlYXRpbmcgR2RrR0xDb250ZXh0CgoyMDE1LTA3LTIwIDE4OjE5OjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGNoZWNrIGZvciBwYm8gYXZhaWxhYmlsaXR5IGJlZm9yZSBhdHRlbXB0aW5nIHBibyBkb3dubG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTY1CgoyMDE1LTA3LTE4IDE3OjE5OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IGdldF9jdXJyZW50X2dsX2FwaSBvbiB4MTEvbnZpZGlhIGRyaXZlcnMKCSAgVGhleSByZXF1aXJlIHRvIGdldF9wcm9jX2FkZHJlc3Mgc29tZSBmdW5jdGlvbnMgdGhyb3VnaCB0aGUKCSAgcGxhdGZvcm0gc3BlY2lmaWMge2dsWCxlZ2x9R2V0UHJvY0FkZHJlc3MgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQKCSAgR0wgbGlicmFyeSBzeW1ib2wgbG9va3VwLgoKMjAxNS0wNy0xOCAxNzowODozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJICBnbGNvbnRleHQ6IGNvbnNvbGlkYXRlIGdldF9wcm9jX2FkZHJlc3MgZnVuY3Rpb24gZGVmaW5pdGlvbgoJICBQYXNzIHRoZSBHc3RHTEFQSSBkaXJlY3RseS4KCjIwMTUtMDctMTcgMTc6NDc6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnRlbGVtZW50OiBwcm9wYWdhdGUgZmFpbHVyZSB0byBjb252ZXJ0IGJ1ZmZlciB1cHN0cmVhbQoJICBSYXRoZXIgdGhhbiBqdXN0IHNpbGVudGx5IGNvbnRpbnVpbmcKCjIwMTUtMDctMTcgMTM6NDg6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbGNvbnRleHQvZ2x4OiB0cnkgY3JlYXRpbmcgYSBjb250ZXh0IHdpdGggdGhlIGhpZ2hlc3QgdmVyc2lvbgoJICBudmlkaWEgZHJpdmVycyByZXR1cm4gdGhlIGV4YWN0IHZlcnNpb24gaW4gZ2xHc3RTdHJpbmcgKEdMX1ZFUlNJT04pCgkgIHdlIHJlcXVlc3Qgb24gY3JlYXRpb24gc28gc3RhcnQgd2l0aCB0aGUgaGlnaGVzdCBrbm93biB2ZXJzaW9uIGFuZAoJICB3b3JrIG91ciB3YXkgZG93bi4KCjIwMTUtMDctMTYgMDA6Mzc6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiB0cmFjayBzaGFyZWRuZXNzIHdpdGggYSBjb29raWUKCSAgVGhlIHByZXZpb3VzIGFwcHJvYWNoIG9mIHRyYXZlcnNpbmcgdGhlIG90aGVyX2NvbnRleHQgd2VhayByZWYgdHJlZSB3YXMKCSAgMS4gTGVzcyBwZXJmb3JtYW50CgkgIDIuIEluY29ycmVjdCBmb3IgY29udGV4dCBkZXN0cnVjdGlvbiByZW1vdmluZyBhIGxpbmsgaW4gdGhlIHRyZWUKCSAgRXhhbXBsZSBvZiAyOgoJICBjMSA9IGNvbnRleHRfY3JlYXRlIChOVUxMKQoJICBjMiA9IGNvbnRleHRfY3JlYXRlIChjMSkKCSAgYzMgPSBjb250ZXh0X2NyZWF0ZSAoYzIpCgkgIGNvbnRleHRfY2FuX3NoYXJlIChjMSwgYzMpID09IFRSVUUKCSAgY29udGV4dF9kZXN0cm95IChjMikKCSAgdW5yZWYgKGMyKQoJICBjb250ZXh0X2Nhbl9zaGFyZSAoYzEsIGMzKSByZXR1cm5zIEZBTFNFIHdoZW4gaXQgc2hvdWxkIGJlIFRSVUUhCgkgIFRoaXMgZG9lcyBub3QgcmVtb3ZlIHRoZSByZXN0cmljdGlvbiB0aGF0IGNvbnRleHQgc2hhcmVkbmVzcyBjYW4gb25seQoJICBiZSB0cmFja2VkIGJldHdlZW4gR3N0R0xDb250ZXh0J3MuCgoyMDE1LTA3LTE2IDAwOjMzOjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogdXNlIHRoZSBkZWJ1ZyBvYmplY3QgdmFyaWFudCBmb3IgY29tcGxldGVuZXNzCgoyMDE1LTA3LTE3IDE2OjAwOjAxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dzdGdsd2lkZ2V0OiBDbGVhbnVwIHVudXNlZCBwcml2YXRlIG1lbWJlcgoJICBuZXdfYnVmZmVyIGhhcyBiZWVuIG1vdmVkIHRvIGJhc2UgY2xhc3MuIEFsc28gY2xlYW51cAoJICB0aGUgcHJvcGVydGllcyBjb21tZW50LCB3aGljaCBhcmUgYWxzbyBhbGwgbW92ZWQgaW50bwoJICB0aGUgYmFzZSBjbGFzcy4KCjIwMTUtMDctMTcgMTU6NTc6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3Rrc2luazogIndpZGdldCIgbXVzdCBiZSBhY2Nlc3MgZnJvbSBtYWluIHRocmVhZAoJICBEb2N1bWVudCB0aGF0ICJ3aWRnZXQiIHByb3BlcnR5IG11c3QgYmUgYWNjZXNzZWQgZnJvbSB0aGUKCSAgbWFpbiB0aHJlYWQgKHdoZXJlIEdUSyBpcyBydW5uaW5nKS4gVGhpcyBpcyB0aGUgc2FtZSBmb3IKCSAgc3RhdGUgdHJhbnNpdGlvbiBvbiB0aGVzZSBlbGVtZW50cy4gSXQgaXMgdmVyeSBuYXR1cmFsIHRvCgkgIGRvIHNvIHVuIEdUSyBhcHBsaWNhdGlvbnMuCgoyMDE1LTA3LTE3IDE1OjA4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogRG9uJ3QgbGVhayB2ZXJ0ZXggYXJyYXkgYW5kIGJ1ZmZlcnMKCSAgVGhpcyBpcyBub3cgcG9zc2libGUgc2luY2UgcmVzZXQgaXMgYWx3YXlzIGNhbGxlZCBmcm9tIHRoZQoJICBtYWluIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNyAxNDozNjo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGtnc3RiYXNld2lkZ2V0OiBGaXggYmxhY2sgZnJhbWUgb24gcmVzaXplCgkgIFRoaXMgaXMgc29sdmVkIGJ5IG9ubHkgYXBwbHlpbmcgdGhlIG5ldyBmb3JtYXQgd2hlbiB0aGUgbmV4dAoJICBidWZmZXIgaXMgdG8gYmUgcmVuZGVyZWQgYW5kIG9uIHRoZSBHVEsgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE3IDEzOjA1OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrZ3N0YmFzZXdpZGdldDogUGFzcyBhbHJlYWR5IHBhcnNlZCBWaWRlb0luZm8KCSAgQXMgdGhlIGJhc2Ugc2luayBhbHJlYWR5IHBhcnNlIHRoZSBjYXBzIGludG8gVmlkZW9JbmZvIGl0CgkgIG1ha2VzIHNlbnNlIHRvIHBhc3MgaW4gVmlkZW9JbmZvIHRvIHRoZSB3aWRnZXQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNjo0OTozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSAgZ3RrZ2xzaW5rOiBQb3J0IHRvIEdzdEd0a0Jhc2VTaW5rIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNjowMDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJICBndGtzaW5rOiBQb3J0IHRvIEdzdEd0a0Jhc2VTaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTU6NTk6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5oOgoJICBndGtiYXNlc2luazogQ3JlYXRlIGEgYmFzZSBjbGFzcwoJICBUaGlzIGNvbnRhaW5zIGFsbCB0aGUgY29tbW9uIGNvZGUgYmV0d2VlbiB0aGUgZ3RrZ2xzaW5rIGFuZAoJICBndGtzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE0OjMwOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuaDoKCSAgZ3RrZ2xzaW5rOiBQb3J0IHRvIEd0a0dzdEJhc2VXaWRnZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxMjo1NToxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5oOgoJICBndGtzaW5rOiBQb3J0IHRvIEd0a0dzdEJhc2VXaWRnZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxMjo1MTozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGs6IEFkZCBHdGtHc3RCYXNlV2lkZ2V0CgkgIFRoaXMgaXMgYSAicHNldWRvIiBiYXNlIGNsYXNzLiBCYXNpY2FsbHkgaXQncyBhIHNoYXJlZCBpbnN0YW5jZQoJICBhbmQgY2xhc3Mgc3RydWN0dXJlIGFuZCBhIHNoYXJlZCBzZXQgb2YgZnVuY3Rpb24gYmV0d2VlbiB0aGUKCSAgdHdvIHdpZGdldC4gSXQgY2Fubm90IGhhdmUgaXQncyBvd24gdHlwZSBsaWtlIG5vcm1hbCBiYXNlIGNsYXNzCgkgIHNpbmNlIHRoZSBvbmUgaW5zdGFuY2Ugd2lsbCBpbXBsZW1lbnQgR3RrR0xBcmVhIHdoaWxlIHRoZSBvdGhlcgoJICBpbXBsZW1lbnRzIEd0a0RyYXdpbmdBcmVheS4gVG8gd29ya2Fyb3VuZCB0aGlzLCB0aGUgcGFyZW50IGluc3RhbmNlCgkgIGFuZCBjbGFzcyBpcyBhIHVuaW9uIG9mIGJvdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6NDc6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgdXBsb2FkZWxlbWVudDogUHJvdGVjdCBhZ2FpbnN0IE5VTEwgcG9pbnRlcgoJICBJIG5vdGljZSB0aGF0IGlmIHlvdSBzdG9wIHRoZSBwaXBlbGluZSBkdXJpbmcgYSByZW5lZ290aWF0aW9uCgkgIHRoZSB1cGxvYWQgbWF5IGJlIE5VTEwgd2hpbGUgYW4gYWxsb2NhdGlvbiBxdWVyeSBpcyBiZWluZyBydW4uCgkgIEluIHRoYXQgc2NlbmFyaW8sIHJldHVybmluZyBGQUxTRSB0byB0aGUgYWxsb2NhdGlvbiBxdWVyeSBpcyB0aGUKCSAgYmVzdCB0aGluZy4KCjIwMTUtMDctMTUgMTc6MzU6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ3N0Z2x3aWRnZXQ6IFJlbW92ZSB1bnVzZWQgZ2xfY2FwcwoKMjAxNS0wNy0xNSAxNjo1NjozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0a3Npbms6IENyZWF0ZSBhIHdpbmRvdyBpZiB0aGUgd2lkZ2V0IGlzIHVucGFyZW50ZWQKCSAgVGhlIHNhbWUgd2F5IGFzIGl0J3Mgbm93IGRvbmUgd2l0aCB0aGUgZ3RrZ2xzaW5rLCBjcmVhdGUgYSB0b3AKCSAgbGV2ZWwgd2luZG93IGlmIHRoZSB3aWRnZXQgaXMgbm90IHBhcmVudGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA3LTE1IDE0OjM1OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3Rrc2luazogRW5zdXJlIHRoZSBjb3B5IHBhc3RlZCBjb2RlIHJlbWFpbnMgdGhlIHNhbWUKCSAgTW92ZSBiYWNrIHRoZSBkZWZhdWx0IHByb3BlcnR5IGF0IHRoZSBzYW1lIHBsYWNlIHRoZXkgYXJlIGluIHRoZQoJICBvdGhlciBzaW5rLiBUaGlzIGhlbHBzIHdoZW4gdXNpbmcgYSBkaWZmIHZpZXdlciB0byBzeW5jaHJvbml6ZWQKCSAgdGhpcyB1bmZvcnR1bmF0ZSBjb3B5IHBhc3RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA3LTE1IDE0OjMyOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IEZpeCByYWNlIGJldHdlZW4gcXVldWVfZHJhdyBhbmQgZGVzdHJveQoJICBJbiBHVEsgZGlzcG9zZSBjYW4gYmUgY2FsbGVkIGJlZm9yZSB0aGUgbGFzdCByZWYgaXMgcmVhY2hlZC4gVGhpcwoJICBoYXBwZW5zIHdoZW4geW91IGNsb3NlIHRoZSBjb250YWluZXIgd2luZG93LiBUaGUgZGlzcG9zZSB3aWxsIGJlCgkgIGV4cGxpY2l0bHkgY2FsbGVkLCBhbmQgZGVzdHJveWVkIG5vdGlmeSB3aWxsIGJlIGZpcmVkLiBUaGlzIHBhdGNoCgkgIGZpeGVzIHRoaXMgcmFjZSBieSBwcm9wZXJseSB0cmFja2luZyB0aGUgd2lkZ2V0IHN0YXRlLgoJICBJbiB0aGUgc2luaywgd2Ugbm93IHNldCB0aGUgd2lkZ2V0IHBvaW50ZXIgdG8gTlVMTCwgc28gdGhlIHdpZGdldAoJICB3aWxsIHByb3Blcmx5IGdldCBjcmVhdGVkIGFnYWluIGlmIHlvdSBzZXQgeW91ciBwaXBlbGluZSB0byBOVUxMCgkgIHN0YXRlIGFmdGVyIHRoZSB3aWRnZXQgd2FzIGRlc3Ryb3ksIGFuZCBzZXQgaXQgYmFjayB0byBQTEFZSU5HLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA3LTE2IDIxOjI4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHR5cGVmaW5kZXIsIG1vdmUgaXQgdG8gdHlwZWZpbmRmdW5jdGlvbnMgaW4gLWJhc2UKCSAgT3RoZXJ3aXNlIHRoaXMgcGx1Z2luIHdpbGwgYmUgbG9hZGVkIHByZXR0eSBtdWNoIHdoZW5ldmVyCgkgIHRoZXJlJ3MgYW55dGhpbmcgdG8gdHlwZWZpbmQuIEFuZCB0aGUgY29kZSB3YXMgcHJldHR5IG11Y2gKCSAgY29weSduJ3Bhc3RlIGZyb20gLWJhc2UgYW55d2F5LgoKMjAxNS0wNy0xNSAxMzowMjo1NCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBkZWZhdWx0IHRpbWVzY2FsZSBpcyAxCgkgIGRlZmF1bHQgdGltZXNjYWxlIHZhbHVlIHNob3VsZCBiZSAxLCBub3QgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxNAoKMjAxNS0wNy0xNSAxMzo0MTozNyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmcmVlIHByb3Bfc3RyaW5nIG9ubHkgYWZ0ZXIgaXQncyBubyBsb25nZXIgbmVlZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTkKCjIwMTUtMDctMTYgMTc6MjE6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgVXBkYXRlIG1haWxpbmcgbGlzdCBhZGRyZXNzIGZyb20gc291cmNlZm9yZ2UgdG8gZnJlZWRlc2t0b3AKCjIwMTUtMDctMTUgMTE6NDc6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a2dzdHdpZGdldDogQWRkIG1pc3NpbmcgYnJlYWsgaW4gZ2V0X3Byb3BlcnR5CgoyMDE1LTA3LTE1IDExOjQ0OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSAgZ3Rrc2lua3M6IFJlbW92ZSB1bmRlZmluZWQgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgVGhlIGNsYXNzZXMgY29udGFpbnMgYSBwcml2YXRlIHN0cnVjdHVyZSB3aGljaCBhcmUgbm90IGRlZmluZWQsCgkgIGhlbmNlIHVudXNlZC4KCjIwMTUtMDctMTQgMTc6NDA6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogbWVtY3B5IG9uIHJhdyBkYXRhIHVwbG9hZAoJICBBbnl0aGluZyBlbHNlIHJlcXVpcmVzIGtlZXBpbmcgdHJhY2sgb2YgdGhlIEdzdFZpZGVvRnJhbWUgbWFwcGluZwoJICBhY3Jvc3MgcG9zc2libGUgbXVsdGlwbGUgYnVmZmVycyB0byBlbnN1cmUgY29ycmVjdCBkYXRhIHBvaW50ZXIKCSAgdXNhZ2UuCgoyMDE1LTA3LTE0IDE3OjM5OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkgIGdsYmFzZWJ1ZmZlcjogYWRkIHNvbWUgZGVidWcgYW5kIHplcm8gdGhlIGRhdGEgcG9pbnRlcnMgb24gaW5pdAoKMjAxNS0wNy0xMCAwMTowMDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3Qgd2FpdCBmb3IgZGF0YSBvbiBzcGFyc2UgaW5wdXRzIGxpa2UgbWV0YWRhdGEgb3Igc3VidGl0bGUgc3RyZWFtcwoKMjAxNC0xMS0wOSAxOToxNjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IGFkZCBiYXNpYyBzdXBwb3J0IGZvciBhc3luY2hyb25vdXMgS0xWIG1ldGFkYXRhIHN0cmVhbXMKCSAgVGhpcyBpcyBkZWZpbmVkIGluIFNNUFRFIFJwIDIxNy4gSW4gdGhpcyBjYXNlIHRoZQoJICBtZXRhZGF0YSBQRVMgcGFja2V0cyBjYXJyeSBubyB0aW1lc3RhbXBzIG9mIHRoZWlyCgkgIG93biBhbmQgbm8gTWV0YWRhdGEgQWNjZXNzIFVuaXQgV3JhcHBlcnMgYXJlIHVzZWQuCgoyMDE1LTA2LTI5IDAyOjQyOjA2ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGhhbmRsZSBub24tY29uc2VjdXRpdmUgR3N0QnVmZmVyIGlucHV0IHdpdGhvdXQgY29weWluZwoJICBDTUJsb2NrQnVmZmVyIG9mZmVycyBhIG1vZGVsIHNpbWlsYXIgdG8gR3N0QnVmZmVyLCBhcyBpdCBjYW4KCSAgY29uc2lzdCBvZiBtdWx0aXBsZSBub24tY29uc2VjdXRpdmUgbWVtb3J5IGJsb2Nrcy4KCSAgUHJpb3IgdG8gdGhpcyBjaGFuZ2UsIHdoYXQgd2Ugd2VyZSBkb2luZyB3YXM6CgkgIDEpIEluY29ycmVjdDoKCSAgQ01CbG9ja0J1ZmZlckNyZWF0ZVdpdGhNZW1vcnlCbG9jayBkb2VzIG5vdCBjb3B5IHRoZSBkYXRhLAoJICBidXQgd2UgZ3N0X2J1ZmZlcl91bm1hcCdkIHJpZ2h0IGF3YXkuCgkgIDIpIEluZWZmaWNpZW50OgoJICBJZiB0aGUgR3N0QnVmZmVyIGNvbnNpc3RlZCBvZiBub24tY29udGlndW91cyBtZW1vcnkgYmxvY2tzLAoJICBnc3RfYnVmZmVyX21hcCByZXN1bHRlZCBpbiBtYWxsb2MgLyBtZW1jcHkuCgkgIFdpdGggdGhpcyBjaGFuZ2UsIHdlIGNvbnN0cnVjdCBhIENNQmxvY2tCdWZmZXIgb3V0IG9mIGluZGl2aWR1YWwgbWFwcGVkCgkgIEdzdE1lbW9yeSBvYmplY3RzLiBDTUJsb2NrQnVmZmVyIGlzIG1hZGUgdG8gcmV0YWluIHRoZSBHc3RNZW1vcnkKCSAgb2JqZWN0cyAodGhyb3VnaCB0aGUgdXNlIG9mIENNQmxvY2tCdWZmZXJDdXN0b21CbG9ja1NvdXJjZSksIHNvIHRoZQoJICBvcmlnaW5hbCBHc3RCdWZmZXIgY2FuIGJlIHVucmVmJ2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDEKCjIwMTUtMDctMTMgMjM6MjI6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkgIGFwcGxlbWVkaWEvYXZzYW1wbGU6IGZpeCB1bmNvbmRpdGlvbmFsIHVzZSBvZiBPU1ggMTAuMTAgQVBJCgkgIFdlIGNhbiBqdXN0IG5vdCB1c2UgdGhlIGVycm9yL3N0YXR1cyBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MzEKCjIwMTUtMDctMTAgMTk6MDU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdHJ5IGhhcmRlciB0byBmaW5kIHRoZSByaWdodCBRdDUgYnVpbGQgdG9vbHMKCSAgRmlyc3QgY2hlY2sgZm9yIFF0IGJ1aWxkIHRvb2xzIGluIHRoZSBob3N0X2JpbnMgZGlyZWN0b3J5CgkgIGZyb20gdGhlIFF0NUNvcmUgcGtnLWNvbmZpZyBmaWxlLiBUaGlzIGZpeGVzIHRoZSBzaXR1YXRpb24KCSAgd2hlcmUgYm90aCBRdDQgYW5kIFF0NSBhcmUgaW5zdGFsbGVkIGJ1dCB0aGUgZ2xvYmFsIG1vYy91aWMvZXRjLgoJICBhcmUgdGhlIFF0NCB2ZXJzaW9uLCB3aGljaCB3b3VsZCByZXN1bHQgaW4gYnVpbGQgZmFpbHVyZXMuCgoyMDE1LTA3LTEwIDE0OjAxOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBjb25maWd1cmUvcXQ6IEZpeCBidWlsZCB3aXRob3V0IFF0NVgxMUV4dHJhcwoKMjAxNS0wNy0xMCAxMzoyNjo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogZ19zbGljZV9uZXcoKSBjYW4ndCByZXR1cm4gTlVMTAoJICBJdCB3aWxsIGFib3J0KCkgaWYgYWxsb2NhdGlvbiBmYWlscy4KCjIwMTUtMDctMTAgMTM6MTk6NDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBhbGxvdyBuZXR3b3JrIGFjY2VzcyB3aGVuIHJlYWRpbmcgdGhlIFhNTCBkYXRhCgoyMDE1LTA3LTEwIDE5OjIyOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHF0OiBkb24ndCBlcnJvciBvdXQgaWYgUXQgWDExIGNvdWxkIG5vdCBiZSBmb3VuZAoJICBQQ0tfQ0hFQ0tfTU9EVUxFUyBkZWZhdWx0IGVycm9yLWlmLW5vdC1mb3VuZCBpbXBsZW1lbnRhdGlvbiBlcnJvcnMKCSAgc28gb3ZlcnJpZGUgaXQgd2l0aCBhIHNpbXBsZSBub3RpY2UgdGhhdCB3ZSBjb3VsZG4ndCBmaW5kIHRoZSBsaWJyYXJ5LgoKMjAxNS0wNy0wNiAyMzoxMDo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC8uZ2l0aWdub3JlOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4ucW1sOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvcGxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9xbWwucXJjOgoJICBuZXcgcXQ1IHFtbCBHTCB2aWRlbyBzaW5rCgkgIFZlcnkgbXVjaCBpbiB0aGUgc2FtZSBzcGlyaXQgYXMgdGhlIEd0ayBHTCBzaW5rCgkgIFR3byB0aGluZ3MgYXJlIHByb3ZpZGVkCgkgIDEuIEEgUVF1aWNrSXRlbSBzdWJjbGFzcyB0aGF0IHJlbmRlcnMgb3V0IFJHQkEgZmlsbGVkIEdzdEdMTWVtb3J5CgkgIGJ1ZmZlcnMgdGhhdCBpcyBpbnN0YW50aWF0ZWQgZnJvbSBxbWwuCgkgIDIuIEEgc2luayBlbGVtZW50IHRoYXQgd2lsbCBwdXNoIGJ1ZmZlcnMgaW50byAoMSkKCSAgVG8gdXNlCgkgIDEuIERlY2xhcmUgdGhlIEdzdEdMVmlkZW9JdGVtIGluIHFtbCB3aXRoIGFuIGFwcHJvcHJpYXRlCgkgIG9iamVjdE5hbWUgcHJvcGVydHkgc2V0LgoJICAyLiBHZXQgdGhlIGFmb3JlbWVudGlvbmVkIEdzdEdMVmlkZW9JdGVtIGZyb20gcW1sIHVzaW5nIHNvbWV0aGluZyBsaWtlCgkgIFFRbWxBcHBsaWNhdGlvbkVuZ2luZSBlbmdpbmU7CgkgIGVuZ2luZS5sb2FkKFFVcmwoUVN0cmluZ0xpdGVyYWwoInFyYzovbWFpbi5xbWwiKSkpOwoJICBRT2JqZWN0ICpyb290T2JqZWN0ID0gZW5naW5lLnJvb3RPYmplY3RzKCkuZmlyc3QoKTsKCSAgUVF1aWNrSXRlbSAqdmlkZW9JdGVtID0gcm9vdE9iamVjdC0+ZmluZENoaWxkPFFRdWlja0l0ZW0gKj4gKCJ2aWRlb0l0ZW0iKTsKCSAgMy4gU2V0IHRoZSB2aWRlb0l0ZW0gb24gdGhlIHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjE4NQoKMjAxNS0wNy0wOCAxNzoxNzoxOCArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJICBibHVlejogRml4IG1ha2UgZGlzdCB3aGlsZSBibHVleiA+PSA1IGlzIG5vdCBhdmFpbGFibGUKCjIwMTUtMDctMDkgMTg6MzE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGaXggcHJldmlvdXMgY29tbWl0CgkgIFdlIG9ubHkgd2FudCB0byBkbyBhIGhhcmQgcmVzZXQgb2YgdGhlIG9ic2VydmF0aW9ucyBpZiB3ZSdyZSB3b3JraW5nCgkgIHdpdGggVElNRSBzZWdtZW50cyBpbiBwdXNoIG1vZGUuIEZvciBCWVRFIHNlZ21lbnQgd2Ugd2FudCB0byBrZWVwCgkgIHRoZSBvYnNlcnZhdGlvbnMgKGluIG9yZGVyIHRvIGRvIHNlZWtzIGluIHB1c2gtbW9kZSkuCgoyMDE1LTA3LTA5IDE2OjU5OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmx1c2ggbW9yZSBvbiBESVNDT05UIGJ1ZmZlcnMgaW4gcHVzaCBtb2RlCgkgIFdoZW4gaW4gcHVzaCBtb2RlLCB3ZSB3YW50IHRvIGRpc2NhcmQgYWxsIHByZXZpb3VzIG9ic2VydmF0aW9ucyBmcm9tIHRoZQoJICBtcGVndHNwYWNrZXRpemVyIHdoZW4gd2UgZ2V0IGEgRElTQ09OVCBidWZmZXIuCgkgIFRoaXMgYXZvaWRzIHRyeWluZyB0byBjYWxjdWxhdGUgYm9ndXMgdGltZXN0YW1wcyAoZXN0aW1hdGluZyB0aGVtIHVzaW5nIG9sZAoJICBQQ1Igb2JzZXJ2YXRpb25zKS4KCSAgV2Ugb25seSBkbyBhIGhhcmQgcmVzZXQgaW4gcHVzaC1tb2RlLiBJbiBwdWxsLW1vZGUgd2Ugc3RpbGwgbmVlZCB0aGUgb2JzZXJ2YXRpb25zCgkgIChpbiBvcmRlciB0byBzZWVrIHByb3Blcmx5KQoKMjAxNS0wNy0wOSAxMTowNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogQWRkIG5ldyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTUtMDctMDkgMTE6MDU6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkgIGJsdWV6OiBJbmNsdWRlIG5ldyBmaWxlIGluIGRpc3QnZWQgZmlsZXMKCSAgRml4ZXMgbWFrZSBkaXN0Y2hlY2sgYW5kIHRhcmJhbGwgZ2VuZXJhdGlvbgoKMjAxNS0wNy0wOSAxMzowMzoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ3RrOiBhZGQgdG8gdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QKCjIwMTUtMDYtMTcgMDk6MzY6NTcgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIEdzdEd0a0dMU2luazogRW5zdXJlIHdpZGdldCBoYXMgYSB0b3BsZXZlbCBwYXJlbnQKCSAgQ2hlY2tpbmcgZm9yIGEgcGFyZW50IGlzIG5vdCBlbm91Z2gsIGl0IG11c3QgaGF2ZSBhIHRvcGxldmVsIG9uZS4KCSAgSWYgd2lkZ2V0IGhhcyBubyB0b3BsZXZlbCBwYXJlbnQgdGhlbiBhZGQgaXQgaW4gYSBHdGtXaW5kb3csIHRoYXQKCSAgbWFrZSBpdCB1c2FibGUgZnJvbSBnc3QtbGF1bmNoLTEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNi0xNyAwOTozNjo0MCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSAgR3N0R3RrR0xTaW5rOiBQb3N0IGVycm9yIGlmIHdpZGdldCBnZXRzIGRlc3Ryb3llZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA2LTE2IDE2OjIxOjI2IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBHc3RHdGtHTFNpbms6IGZpeCBwb3NzaWJsZSB3YXJuaW5nIGluIGZpbmFsaXplCgkgIElmIHRoZSBlbGVtZW50IGlzIGZpbmFsaXplZCBiZWZvcmUgZ29pbmcgaW4gUkVBRFkgc3RhdGUKCSAgdGhlIHdpZGdldCBjb3VsZCBzdGlsbCBiZSBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA3LTA4IDIzOjE0OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogRml4IHNvbWUgbWVtb3J5IGxlYWtzIGluIHRoZSBNUEQgcGFyc2VyIGFuZCB1bml0IHRlc3QKCjIwMTUtMDctMDcgMTY6NTk6NTIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdW5pdCB0ZXN0cyB0byB0ZXN0IGFsbCBmdW5jdGlvbnMKCSAgQWRkZWQgdW5pdCB0ZXN0cyBmb3IgYWxsIGZ1bmN0aW9ucy4gQ29kZSBjb3ZlcmFnZToKCSAgT3ZlcmFsbCBjb3ZlcmFnZSByYXRlOgoJICBsaW5lcy4uLi4uLjogODMuOCUgKDE5NDEgb2YgMjMxNiBsaW5lcykKCSAgZnVuY3Rpb25zLi46IDEwMC4wJSAoMTQxIG9mIDE0MSBmdW5jdGlvbnMpCgoyMDE1LTA3LTA4IDE3OjA4OjU2ICswMzAwICBSb21hbiBEb25jaGVua28gPHJvbWFuLmRvbmNoZW5rb0BpdHNlZXouY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogZml4IGEgR3N0Q2FwcyBvYmplY3QgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc1MjEyNwoKMjAxNS0wMy0yNiAxMTozNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgVGhpcyBpcyBub3QgcHVibGljIEFQSSwgdXNlIGdfYXNzZXJ0KCkgaW5zdGVhZCBvZgoJICBnX3JldHVybl9pZl9mYWlsKCksIHNvIHRoYXQgaXQncyBjb21waWxlZCBvdXQgaW4KCSAgcmVsZWFzZXMuIEl0J3Mgb25seSBjYWxsZWQgZnJvbSBvdXIgY29kZSwgd2l0aCAmZm9vLgoKMjAxNC0wNi0zMCAxMzoyMDoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgc3VwcG9ydCBmb3IgS0xWIG1ldGFkYXRhIHN0cmVhbXMKCSAgVGhlcmUncyBubyB0aW1lc3RhbXBzIGZvciB0aGVzZSBzdHJlYW1zIHRob3VnaCwgd2UKCSAgbWlnaHQgd2FudCB0byBtYWtlIHNvbWUgdXAgYmFzZWQgb24gdGhlIGxhc3QvbmV4dAoJICB2aWRlbyBQVFMgb3Igc28uCgoyMDE1LTA3LTA4IDE2OjMxOjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJkYXNoZGVtdXg6IGZpeGVkIGdzdF9tcGRfY2xpZW50X2FkdmFuY2Vfc2VnbWVudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0ODc1ZGRmNTg1NWEyNmYzNDlkZjdiMzg1YjY4ZWI2OTJlMzE0YmZhLgoJICBUaGlzIHdhcyBiYXNlZCBvbiBhIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwODUKCjIwMTUtMDctMDYgMTM6Mjg6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiBEb24ndCBjYWxsIGFueXRoaW5nIHN5bmNocm9ub3VzbHkgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCSAgVGhpcyB3aWxsIGRlYWRsb2NrIGlmIHRoZSBtYWluIHRocmVhZCBpcyB0aGUgb25lIHdobyBjcmVhdGVzIHRoZSBHc3RHTENvbnRleHQuCgkgIEFsbCB0aGluZ3Mgd2UgY2FsbCBmcm9tIHRoZSBtYWluIHRocmVhZCBzaG91bGQgYmUgcG9zc2libGUgZnJvbSBhbnkgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAxCgoyMDE1LTA3LTA4IDEyOjE2OjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiByZW1vdmUgdW5uZWNlc3NhcnkgZ290bwoJICBBbGwgZ290byBmYWlsIGhhcHBlbiBiZWZvcmUgcmV0IGlzIHNldC4gcmV0IG11c3QgYmUgTlVMTCwgYW5kIHRoZSBvbmx5CgkgIHRoaW5nIHRoZSBmYWlsIHN0YXRlbWVudCBibG9jayBkb2VzIGlzIHJldHVybiBOVUxMLiBSZXBsYWNpbmcgdGhlIGp1bXBzIHRvCgkgIGRvIHRoaXMgcmV0dXJuIGRpcmVjdGx5LgoJICBDSUQgIzEzMTEzMjkKCjIwMTUtMDctMDggMTE6MzI6NTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgcmVkdW5kYW50IGVsc2Ugc3RhdGVtZW50CgkgIEVsc2Ugc3RhdGVtZW50IGlzIHJlZHVuZGFudCB3aGVuIHRoZSBpZiBibG9jayBmaW5pc2hlcyB3aXRoIGFuIHJldHVybi4KCjIwMTUtMDctMDggMTE6NDI6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cHBvcnQgZm9yIEgyNjUvSEVWQwoKMjAxNS0wNi0yOSAxMjo0MDo1NSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBmaXggcmVmY291bnQgZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTY0MQoKMjAxNS0wNy0wNyAxOTo0ODoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRXhwbGljaXRseSBjaGVjayBmb3IgQ1VTVE9NX0VSUk9SIHdoZW4gY29udmVydGluZyBlcnJvcnMgdG8gRU9TCgkgIFdlIHVzZSB0aGluZ3MgbGlrZSBDVVNUT01fU1VDQ0VTUyogaW4gb3RoZXIgcGxhY2VzLCBhbmQgdGhvc2UgYXJlIG5vdCBlcnJvcnMKCSAgYnV0IHNob3VsZCBqdXN0IGJlIGhhbmRsZWQgbGlrZSBPSy4KCjIwMTUtMDctMDcgMTk6MjY6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJkYXNoZGVtdXg6IGZpeGVkIGdzdF9tcGRfY2xpZW50X2FkdmFuY2Vfc2VnbWVudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGRmZTM3ZmZjNTlmZGY1ZjQwNzU2OTY5NzZkOThlYzhkNmRiNzMxMzguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwODUKCjIwMTUtMDctMDcgMTk6MjU6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBGaXggb2ZmLWJ5LW9uZSBpbiBoYXMtbmV4dC1zZWdtZW50IGNhbGN1bGF0aW9uCgoyMDE1LTA3LTA3IDE4OjM3OjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBJZiBkb3dubG9hZGluZyB0aGUgbGFzdCBmcmFnbWVudCBmYWlscywgY29uc2lkZXIgdGhpcyBhcyBFT1MgYW5kIG5vdCBFUlJPUgoJICBTb21ldGltZXMgdGhlIGxhc3QgZnJhZ21lbnQgZG9lcyBub3QgZXhpc3QgYmVjYXVzZSBvZiByb3VuZGluZyBlcnJvcnMgd2l0aCB0aGUKCSAgZHVyYXRpb25zLiBKdXN0IGZpbmlzaCB0aGUgc3RyZWFtIGdyYWNlZnVsbHkgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgaW5zdGVhZC4KCjIwMTUtMDctMDcgMjI6MzU6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZG93bmxvYWQ6IG9ubHkgc3RhcnQgYSBkb3dubG9hZCB0cmFuc2ZlciBmb3Igc3lzbWVtIGNhcHMgZmVhdHVyZXMKCjIwMTUtMDctMDYgMTI6MDg6NTIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgaW5kZW50YXRpb24gaW4geG1sIHN0cmluZ3MgdG8gaW1wcm92ZSByZWFkYWJpbGl0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDI3CgoyMDE1LTA3LTAzIDE2OjE3OjU4ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZGVkIHBhcnNpbmcgb2YgYml0c3RyZWFtU3dpdGNoaW5nQEFkYXB0YXRpb25TZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE3MAoKMjAxNS0wNy0wMyAxNTozMTozNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZWdyb3VwZWQgZnVuY3Rpb25zIGluIGdzdG1wZHBhcnNlci5oIGZpbGUKCSAgTW92ZWQgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfZW5kX3RpbWUgYW5kCgkgIGdzdF9tcGRfY2xpZW50X2FkZF90aW1lX2RpZmZlcmVuY2UgZnVuY3Rpb25zIHRvIGJlIGdyb3VwZWQgd2l0aAoJICBmdW5jdGlvbnMgZnJvbSB0aGUgc2FtZSBjYXRlZ29yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAyNwoKMjAxNS0wNy0wNiAxNDoyMToxNyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBjb3JyZWN0ZWQgY29kZSBsYXlvdXQKCSAgZGVsZXRlZCB0aGUgZW1wdHkgbGluZSBiZXR3ZWVuIGdzdF9tcGRfcGFyc2UgY2FsbCBhbmQgaXRzIGNoZWNrIHNvIHRoYXQKCSAgdGhlIGFzc2VydCBpcyBuZXh0IHRvIHRoZSBmdW5jdGlvbiBpdCBpcyB0ZXN0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMjcKCjIwMTUtMDctMDcgMTA6NTY6NDcgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkgIG1wZWd2aWRlb21ldGE6IGFkZCBtZXRhIHRyYW5zZm9ybSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc4CgoyMDE1LTA3LTA3IDEwOjU3OjI2ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IHRyYW5zZm9ybSBmdW5jOiByZXR1cm4gRkFMU0UgaWYgbm90IHN1cHBvcnRlZCBvciBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3OAoKMjAxNS0wNy0wNiAxNDoxNDoxMiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBnc3RfbXBkX2NsaWVudF9hZHZhbmNlX3NlZ21lbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUwoJICBGaXhlZCBnc3RfbXBkX2NsaWVudF9hZHZhbmNlX3NlZ21lbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyBpZiB0aGUKCSAgbmV3IGluZGV4IGlzIG91dCBvZiByYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg1MAoKMjAxNS0wNy0wNyAxNjozOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSAgYW5kcm9pZDogYWRkIG1pc3NpbmcgZWdsLmggaW5jbHVkZQoKMjAxNS0wNy0wNyAxNTozMDoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogY29ycmVjdCB2YW8gdXNhZ2UKCSAga2VlcCB0aGUgdmFvIGJvdW5kIGFmdGVyIHVwbG9hZGluZyB0aGUgbmV3IHZlcnRleCBkYXRhCgkgIGZpeGVzIGEgbWVzYSBHTCBlcnJvciAibm8gdmVydGV4IGFycmF5IG9iamVjdCBib3VuZCIgb24gY2FwcyBjaGFuZ2VzCgoyMDE1LTA2LTE2IDA3OjQ5OjM0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBjb25zb2xpZGF0ZSBlZ2wgaGVhZGVyIGluY2x1ZGVzIHRvIGVnbC1vbmx5IGhlYWRlcnMKCSAgVGhleSBtYXkgY29uZmxpY3Qgd2l0aCBvdGhlciBoZWFkZXJzLgoKMjAxNS0wNy0wNiAxOTozMzozNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IFJlbGVhc2UgdGhlIHdpZGdldCBsb2NrIHdoZW4gdHJ5aW5nIHRvIGdldCB0aGUgR0wgY29udGV4dAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgYmUgd2FpdGluZyBmb3IgdGhlIGxvY2sgb24gdGhlIG1haW4gbG9vcCAoZm9yCgkgIGV4YW1wbGUgaW4gdGhlIC0+cmVuZGVyIHZtZXRob2QpIGFuZCB0aHVzIHdlIHdpbGwgZGVhZGxvY2suCgoyMDE1LTA3LTA2IDE4OjUxOjA3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIHBpeGVsLWFzcGVjdC1yYXRpbyBmaWVsZCBmcm9tIHRoZSBjYXBzIHJldHVybmVkIGJ5IGdldGNhcHMKCSAgQXZvaWRpbmcgbm90IG5lZ290aWF0ZWQgZXJyb3Igd2hpbGUgbmVnb3RpYXRpbmcgYXMgd2UgYW55d2F5IGZvcmNlIDEvMQoJICBhcyBvdXRwdXQKCjIwMTUtMDctMDYgMTU6MjQ6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsc3Noc2luazogcmVtb3ZlIHJlZHVuZGFudCBlbHNlIHN0YXRlbWVudAoJICBFbHNlIHN0YXRlbWVudCBpcyByZWR1bmRhbnQgd2hlbiB0aGUgaWYgYmxvY2sgZmluaXNoZXMgd2l0aCBhbiByZXR1cm4uCgoyMDE1LTA3LTAyIDE1OjE3OjUxICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIHNlZ21lbnQgc3RhcnQgd2hlbiBzcGVjaWZpZWQgYnkgU2VnbWVudFRpbWVsaW5lCgkgIEB0IGF0dHJpYnV0ZSBpbiBzZWdtZW50IFRpbWVsaW5lIGlzIHJlbGF0aXZlIHRvIHRoZSBwZXJpb2Qgc3RhcnQuCgkgIENvcnJlY3RlZCB0aGUgY29kZSB0byB0YWtlIHRoaXMgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHNlZ21lbnQKCSAgdGltZXN0YW1wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODQxCgoyMDE1LTA3LTAzIDE3OjAwOjMxICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHdyb25nIHNlZ21lbnQgZHVyYXRpb24gY29tcHV0ZWQgYnkgZ3N0X21wZF9jbGllbnRfc2V0dXBfcmVwcmVzZW50YXRpb24KCSAgQ29ycmVjdGVkIGNvbXB1dGF0aW9uIG9mIHNlZ21lbnQgc3RhcnQgYW5kIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTE0CgoyMDE1LTA3LTAzIDE2OjEwOjIwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBzZWFyY2ggZm9yIGF1ZGlvIGxhbmd1YWdlcwoJICBDb3JyZWN0ZWQgdGhlIGluaXRpYWxpc2F0aW9uIG9mIG1pbWVUeXBlIGluCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2xpc3RfYW5kX25iX29mX2F1ZGlvX2xhbmd1YWdlOiB0aGUgdmFyaWFibGUgaXMgdXNlZAoJICBpbiBhIGxvb3AsIHNvIGl0IG11c3QgYmUgc2V0IHRvIE5VTEwgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGl0ZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTkxMQoKMjAxNS0wNy0wMyAyMTo1ODoyNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjc0YjJkZiB0byA5YWVkMWQ3CgoyMDE1LTA3LTAzIDEyOjE3OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXIsIGdsbWl4ZXI6IEFkZCBkZXNjcmlwdGlvbiBhbmQga2xhc3MKCjIwMTUtMDctMDMgMTk6MjQ6NTggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogRml4IGJyb2tlbiBCbHVlWiBjb25maWd1cmUgY2hlY2sKCSAgVGhlIHByZXZpb3VzIGNvbW1pdCBsZWZ0IGFuIGV4dHJhIHNldCBvZiBicmFja2V0cywgYW5kIG1pc3NlZCByZW1vdmluZwoJICB0aGUgZXhwbGljaXQgZGJ1cyBjaGVjayAod2hpY2ggaXMgbm8gbG9uZ2VyIG5lZWRlZCBzaW5jZSB3ZSdyZSB1c2luZwoJICBnZGJ1cykuCgoyMDE1LTAxLTEzIDEwOjMxOjQxIC0wODAwICBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogcmVtb3ZlIHN1cHBvcnQgZm9yIGJsdWV6NAoKMjAxNC0xMi0zMCAwNzoyMTo0NCAtMDgwMCAgTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSogc3lzL2JsdWV6L29yZy5ibHVlei54bWw6CgkgIGJsdWV6OiByZWZhY3RvciB0byB1c2UgZ2xpYiBhbmQgYWRkIGNvbm5lY3Rpb24gc3RhdGUgdHJhY2tpbmcKCjIwMTUtMDYtMTUgMjM6NDA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBhbm90aGVyIHJlZ3Jlc3Npb24KCSAgSW50cm9kdWNlZCBieSBjNGM5ZmU2MGIgcGNhcHBhcnNlOiBUYWtlIGJ1ZmZlciBkaXJlY3RseSBmcm9tIHRoZSBhZGFwdGVyCgkgIFVzaW5nIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyX2Zhc3QoKSBjYW4gbGVhZCB0byBidWZmZXJzIHRoYXQgYXJlCgkgIG1hZGUgdXAgb2YgbXVsdGlwbGUgbWVtb3JpZXMgd2l0aCB0aGUgZmlyc3QgbWVtb3J5IHNtYWxsZXIgdGhhbiB0aGUKCSAgUlRQIGhlYWRlciBzaXplLCB3aGljaCB2aW9sYXRlcyBhc3N1bXB0aW9ucyBHc3RSdHBCYXNlRGVwYXlsb2FkZXIKCSAgbWFrZXMsIG5hbWVseSB0aGF0IHRoZSBjb21wbGV0ZSBSVFAgaGVhZGVyIHdpbGwgYmUgaW4gdGhlIGZpcnN0CgkgIG1lbW9yeS4gVGhpcyBsZWFkcyB0byBzdWNoIHBhY2tldHMgYmVpbmcgZHJvcHBlZCB3aGVuIGZlZWRpbmcKCSAgdGhlbSBmcm9tIHBjYXBwYXJzZSB0byBSVFAgZGVwYXlsb2FkZXJzLiBVc2UgdGFrZV9idWZmZXIoKSBzbwoJICB3ZSBnZXQgYnVmZmVycyB3aXRoIGEgc2luZ2xlIG1lbW9yeS4KCjIwMTUtMDctMDIgMTM6NDU6MDQgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BjYXBwYXJzZS5jOgoJICB0ZXN0czogcGNhcHBhcnNlOiBhZGQgdW5pdCB0ZXN0IGZvciBmcmFtZXMgd2l0aCBldGggcGFkZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODc5CgoyMDE1LTA2LTE1IDEyOjU1OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggcmVncmVzc2lvbiB3aGVuIGhhbmRsaW5nIHBhY2tldHMgd2l0aCBldGggcGFkZGluZwoJICBJbnRyb2R1Y2VkIGJ5IGM0YzlmZTYwYiBwY2FwcGFyc2U6IFRha2UgYnVmZmVyIGRpcmVjdGx5IGZyb20gdGhlIGFkYXB0ZXIKCSAgRmx1c2ggYW55IHRyYWlsaW5nIGJ5dGVzIGFmdGVyIHRoZSBwYXlsb2FkIGZyb20gdGhlIGFkYXB0ZXIgYXMgd2VsbCwKCSAgb3RoZXJ3aXNlIHdlJ2xsIHJlYWQgYSBib2d1cyBwYWNrZXQgc2l6ZSBmcm9tIHRoZSBhZGFwdGVyIG5leHQgYW5kCgkgIHRoZW4gZXZlcnl0aGluZyBnb2VzIGRvd25oaWxsIGZyb20gdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NzkKCjIwMTUtMDctMDIgMTg6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVW5yZWYgdmlkZW8gZnJhbWVzIGFuZCBjb2RlYyBzdGF0ZSBpbiBhbGwgY2FzZXMKCjIwMTUtMDctMDIgMTA6MjY6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiBpbml0aWFsaXplIG91dHB1dCBwYXJhbXMgdG8gMCBiZWZvcmUgY2FsbGluZyBnbCBmdW5jdGlvbnMKCSAgVGhlIGNsaWVudCBzaWRlIEFQSSBvZiB0aGUgQ2hyb21pdW0ncyBHUFUgUHJvY2VzcyBoYXMgYXNzZXJ0cwoJICBpbiBkZWJ1ZyBtb2RlIHRoYXQgY2hlY2sgdGhhdCBvdXRwdXQgcGFyYW1zIGFyZSBpbml0aWFsaXplZCB0byAwLgoKMjAxNS0wNi0yNiAxNTozNDozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBEb24ndCBsZWFrIHBvb2wgaWYgc2V0X2NvbmZpZyBmYWlsZWQKCjIwMTUtMDYtMjYgMTU6MzM6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IERvbid0IGNhY2hlIGJ1ZmZlciBwb29sCgkgIENhY2hpbmcgYW5kIHNoYXJpbmcgdG8gbXVsdGlwbGUgZWxlbWVudCB0aGUgc2FtZSBwb29sIHByZXZlbnRzCgkgIHJlbmVnb3RpYXRpb24gZnJvbSBwYXNzdGhyb3VnaCB0byBub3QgcGFzc3Rocm91Z2guCgoyMDE1LTA3LTAyIDE0OjE1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFVuaW5pdGlhbGl6aW5nIHRoZSBkZWNvZGVyIGNhbid0IGZhaWwgYW5kIHdpbGwgYWx3YXlzIHJldHVybiAwID09IGNtUmVzdWx0U3VjY2VzcwoJICAuLi4gYnV0IHdoZW4gd2UgY2FzdCBjbVJlc3VsdFN1Y2Nlc3MgdG8gYSBnYm9vbGVhbiBpdCB3aWxsIGJlIEZBTFNFLCBhbmQgbWFrZQoJICBHc3RWaWRlb0RlY29kZXI6OnN0b3AoKSBmYWlsIGZvciBubyByZWFzb24uCgoyMDE1LTA3LTAyIDE3OjA4OjI2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1c2UgZ19jbGVhcl9lcnJvciBpbnN0ZWFkIG9mIGdfZXJyb3JfZnJlZQoJICByZXBsYWNlIGdfZXJyb3JfZnJlZSB3aXRoIGdfY2xlYXJfZXJyb3IsIGFzIGl0IGludGVybmFsbHkKCSAgY2hlY2tzIGlmIGVycm9yIHZhcmlhYmxlIGlzIHZhbGlkIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTgyMwoKMjAxNS0wNy0wMiAxNjoyNzowNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogZml4IGNoZWNrIHdoZXRoZXIgd2UgbWFuYWdlZCB0byBhY3F1aXJlIGEgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MjEKCjIwMTUtMDYtMzAgMTU6NTI6MTggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkgIHNydHBkZWM6IEFkZCBjb25maWcgZm9yIHRoZSByZXBsYXkgd2luZG93IHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTcyOQoKMjAxNS0wNi0zMCAxMzoyMDo0MyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcGFyc2luZyBvZiAldSBpbiBzZWdtZW50IHRlbXBsYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzE2CgoyMDE1LTA2LTI5IDIyOjE4OjM4ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCByZWNvZ25pdGlvbiBvZiAkJCQgaW4gc2VnbWVudCB0ZW1wbGF0ZXMKCSAgZml4ZWQgcmVjb2duaXRpb24gb2YgJCQgYWZ0ZXIgYSAkIHRoYXQgZW5kcyBhbiBpZGVudGlmaWVyLCBlZyAkVGltZSQkJAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjgyCgoyMDE1LTA2LTI5IDE4OjUwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbmRyb2lkbWVkaWE6IENhbGwgaW5pdGlhbGl6ZV9jbGFzc2VzKCkgYWxzbyB3aGVuIHdlIGdvdCB0aGUgSmF2YSBWTSBmcm9tIHRoZSBhcHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTY2NAoKMjAxNS0wNi0yOSAxNjoxMDozOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiBhZGQgbWlzc2luZyBicmVhawoJICBnc3RfZ2xfdmlld19jb252ZXJ0X2VsZW1lbnRfc2V0X3Byb3BlcnR5KCkgaXMgbWlzc2luZyBhIGJyZWFrIGF0IHRoZSBlbmQKCSAgb2YgdGhlIFBST1BfT1VUUFVUX0RPV05NSVhfTU9ERSBjYXNlLiBBZGRpbmcgaXQuCgkgIENJRCAjMTMwODk0OQoKMjAxNS0wNi0yNiAxNDoxMjoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBEb24ndCBsZWFrIHBvb2wKCSAgZ3N0X3F1ZXJ5X2FkZF9hbGxvY2F0aW9uX3Bvb2wgaXMgdHJhbnNmZXIgbm9uZS4gQWxzbyB1bnJlZgoJICBpZiB0aGVyZSB3YXMgYSBjb25maWd1cmF0aW9uIGVycm9yLgoKMjAxNS0wNi0yNiAxNTo1ODoyNSArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2hlY2sgcG9pbnRlciBiZWZvcmUgZGVyZWZlcmVuY2luZwoJICBnc3RfcHNfZGVtdXhfZ2V0X3N0cmVhbSgpIGNvdWxkIHJldHVybiBOVUxMIHdoZW4gaXQgaXMgdW5rbm93biBzdHJlYW0sCgkgIGNoZWNrIHRoaXMgaGFzbid0IGhhcHBlbmVkIGJlZm9yZSBkZXJlZmVyZW5jaW5nIHRoZSByZXR1cm5lZCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTI4CgoyMDE1LTA2LTI2IDEzOjA5OjU0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBuZXh0IGZyYWdtZW50IGR1cmF0aW9uIHZhbGlkYXRpb24KCSAgQmVmb3JlIHJldHVybmluZyB0aGUgbmV4dCBmcmFnbWVudCBkdXJhdGlvbiB2YWx1ZSwgdGhlCgkgIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIGZ1bmN0aW9uIHRyaWVzIHRvIHZhbGlkYXRlIGl0LgoJICBCdXQgdGhlIGNvbmRpdGlvbiB3YXMgaW5jb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTM5CgoyMDE1LTA2LTI1IDIzOjQ5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBNb3ZlIHVucmVmKCkgaW50byB0aGUgcmlnaHQgc2NvcGUKCjIwMTUtMDYtMjUgMjM6MzI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFByb3Blcmx5IGhhbmRsZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IGZvciBzZWVraW5nIGFuZCBtdWx0aS1wZXJpb2Qgc3RyZWFtcwoJICBTZWdtZW50IHN0YXJ0L3RpbWUvcG9zaXRpb24vYmFzZSBzaG91bGQgb25seSBiZSBtb2RpZmllZCBpZiB0aGlzIGlzIHRoZSBmaXJzdAoJICB0aW1lIHdlIHNlbmQgYSBzZWdtZW50LCBvdGhlcndpc2Ugd2Ugd2lsbCBvdmVycmlkZSB2YWx1ZXMgZnJvbSB0aGUgc2VlawoJICBzZWdtZW50IGlmIG5ldyBzdHJlYW1zIGhhdmUgdG8gYmUgZXhwb3NlZCBhcyBwYXJ0IG9mIHRoZSBzZWVrLgoJICBTZWdtZW50IGJhc2Ugc2hvdWxkIGJlIGNhbGN1bGF0ZWQgZnJvbSB0aGUgc2VnbWVudCBzdGFydCBiYXNlZCBvbiB0aGUgc3RyZWFtJ3MKCSAgb3duIHNlZ21lbnQsIG5vdCB0aGUgZGVtdXhlcidzIHNlZ21lbnQuIEJvdGggbWlnaHQgZGlmZmVyIHNsaWdodGx5IGJlY2F1c2Ugb2YKCSAgdGhlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQuCgkgIEFsd2F5cyBhZGQgdGhlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgKHJlbGF0aXZlIHRvIHRoZSBwZXJpb2Qgc3RhcnQsIG5vdAoJICB0aW1lc3RhbXAgMCkgdG8gdGhlIHNlZ21lbnQgc3RhcnQgYWZ0ZXIgcmVzZXR0aW5nIHRoZSBzdHJlYW0ncyBzZWdtZW50IGJhc2VkCgkgIG9uIHRoZSBkZW11eGVyJ3Mgc2VnbWVudCAoaS5lLiBhZnRlciBzZWVrcyBvciBzdHJlYW0gcmVzdGFydCkuIEFsc28gbWFrZSBzdXJlCgkgIHRvIGtlZXAgdGhlIHN0cmVhbSdzIHNlZ21lbnQgdXAgdG8gZGF0ZSBhbmQgbm90IGp1c3Qgc2VuZCBhIG5ldyBzZWdtZW50IGV2ZW50CgkgIHdpdGhvdXQgc3RvcmluZyB0aGUgc2VnbWVudCBpbiB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTA2LTI1IDIzOjI0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogU3VidHJhY3QgdGhlIHBlcmlvZCBzdGFydCB0aW1lIGZyb20gdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQKCSAgV2UncmUgaW50ZXJlc3RlZCBpbiB0aGUgb2Zmc2V0IGJldHdlZW4gdGhlIHBlcmlvZCBzdGFydCB0aW1lc3RhbXAgYW5kIHRoZQoJICBhY3R1YWwgbWVkaWEgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHByb3Blcmx5IGNvcnJlY3QgZm9yIGl0LiBUaGUgYWJzb2x1dGUKCSAgcHJlc2VudGF0aW9uIG9mZnNldCB0byB0aW1lc3RhbXAgMCBpcyB1c2VsZXNzIGFzIHRoZSBvbmx5IHRoaW5nIHdlIHJlYWxseQoJICBjYXJlIGFib3V0IGlzIHRoZSBvZmZzZXQgYmV0d2VlbiB0aGUgY3VycmVudCBmcmFnbWVudCB0aW1lc3RhbXAgYW5kIHRoZQoJICBtZWRpYSB0aW1lc3RhbXAuCgoyMDE1LTA2LTI1IDIwOjE5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogU3VidHJhY3QgdGhlIHBlcmlvZCBzdGFydCB3aGVuIHNlZWtpbmcgYmFzZWQgb24gYSB0ZW1wbGF0ZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBsb29rIGZvciBzZWdtZW50cyBhZnRlciB0aGUgcGVyaW9kIHVzdWFsbHkuIFRoZSBzZWVrCgkgIHRpbWVzdGFtcCBpcyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGZpcnN0IHBlcmlvZCBhbmQgd2UgaGF2ZSB0bwoJICBzZWxlY3QgYSBzZWdtZW50IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHBlcmlvZCdzIHN0YXJ0LgoKMjAxNS0wNi0yNSAyMDowOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEluY2x1ZGUgdGhlIHBlcmlvZCBzdGFydCBpbiB0aGUgZnJhZ21lbnQgdGltZXN0YW1wcyBpbiBhbGwgY2FzZXMKCSAgV2UgZGlkbid0IGRvIHRoaXMgZm9yIGZyYWdtZW50cyB0aGF0IGFyZSBnZW5lcmF0ZWQgb24gZGVtYW5kIGZyb20gYSB0ZW1wbGF0ZSwKCSAgb25seSBmb3IgdGhlIG90aGVyIGNhc2VzIHdoZW4gdGhleSB3ZXJlIGFsbCBnZW5lcmF0ZWQgdXBmcm9udC4gVGhpcyBjYXVzZWQKCSAgZnJhZ21lbnQgdGltZXN0YW1wcyB0byBzdGFydCBmcm9tIDAgYWdhaW4gZm9yIGVhY2ggbmV3IHBlcmlvZC4KCjIwMTUtMDYtMjUgMjM6MjM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBTZWVrIG9uIHRoZSBuZXcgc3RyZWFtcyBpZiB0aGUgc2VlayBjYXVzZWQgYSBwZXJpb2Qgc3dpdGNoCgkgIFNlZWtpbmcgb24gdGhlIG9sZCBzdHJlYW1zIGlzIHBvaW50bGVzcywgdGhleSBhcmUgZ29pbmcgdG8gYmUgZnJlZWQgb24gdGhlCgkgIG5leHQgb3Bwb3J0dW5pdHkuCgoyMDE1LTA2LTI1IDE1OjA1OjIwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBDb3JyZWN0IGNoZWNrIGZvciB2YWxpZCB0aW1lU2hpZnRCdWZmZXJEZXB0aAoJICBJZiBub3Qgc2V0LCB0aGUgdGltZVNoaWZ0QnVmZmVyRGVwdGggaGFzIGEgZGVmYXVsdCB2YWx1ZSBvZiAtMS4KCSAgVGhlIHN0YW5kYXJkIHNheXMgdGhhdCB0aGlzIHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBpbmZpbml0ZS4KCSAgVGhlIGdzdF9tcGRfY2xpZW50X2NoZWNrX3RpbWVfcG9zaXRpb24gZnVuY3Rpb24gaW5jb3JyZWN0bHkgY29tcGFyZXMKCSAgdGltZVNoaWZ0QnVmZmVyRGVwdGggd2l0aCAwIGluc3RlYWQgb2YgLTEgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MDAKCjIwMTUtMDYtMjUgMTE6MDI6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSAgZG9jczogZGVjb2RlYmluMiAtPiBkZWNvZGViaW4KCjIwMTUtMDQtMjcgMTU6MDk6MTggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogZW5hYmxlIHNoYXJpbmcgb2YgQ01CbG9ja0J1ZmZlciBkYXRhCgkgIEluc3RlYWQgb2Ygd3JhcHBpbmcgd2l0aCBHU1RfTUVNT1JZX0ZMQUdfTk9fU0hBUkUsIHdlIG1ha2UgdGhlIEdzdE1lbW9yeQoJICBvYmplY3QgcmV0YWluIHRoZSB1bmRlcmx5aW5nIENNQmxvY2tCdWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwNzIKCjIwMTUtMDQtMjcgMTU6MDI6NTkgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogQ01CbG9ja0J1ZmZlciBjYW4gYmUgbm9uLWNvbnRpZ3VvdXMKCSAgQ01CbG9ja0J1ZmZlckdldERhdGFMZW5ndGggd291bGQgcmV0dXJuIHRoZSBlbnRpcmUgZGF0YSBsZW5ndGgsIHdoaWxlCgkgIHNpemUgb2YgaW5kaXZpZHVhbCBibG9ja3MgY2FuIGJlIHNtYWxsZXIuIEl0ZXJhdGUgb3ZlciB0aGUgYmxvY2sgYnVmZmVyCgkgIGFuZCBhZGQgdGhlIGluZGl2aWR1YWwgKHBvc3NpYmx5IG5vbi1jb250aWd1b3VzKSBtZW1vcnkgYmxvY2tzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDcxCgoyMDE1LTA2LTI0IDE3OjE2OjQ2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IENvcnJlY3RlZCBkdXJhdGlvbiBhcmd1bWVudCBmb3IgZ3N0X21wZF9jbGllbnRfYWRkX21lZGlhX3NlZ21lbnQgY2FsbAoJICBUaGUgbGFzdCBwYXJhbWV0ZXIgb2YgZ3N0X21wZF9jbGllbnRfYWRkX21lZGlhX3NlZ21lbnQgZnVuY3Rpb24gaXMgYQoJICBkdXJhdGlvbi4gQnV0IHdoZW4gY2FsbGVkIGZyb20gZ3N0X21wZF9jbGllbnRfc2V0dXBfcmVwcmVzZW50YXRpb24sIHRoZQoJICBsYXN0IGFyZ3VtZW50IHdhcyB3cm9uZ2x5IHNldCB0byBQZXJpb2RFbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQ0OQoKMjAxNS0wNi0yNCAyMTo0MjozMiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBpbmNvcnJlY3QgdXNlIG9mIHBlcmlvZCBzdGFydAoJICBUaGUgcGVyaW9kIHN0YXJ0IGluZm9ybWF0aW9uLCBjYWxjdWxhdGVkIGluIGdzdF9tcGRfY2xpZW50X3NldHVwX21lZGlhX3ByZXNlbnRhdGlvbgoJICBmdW5jdGlvbiBpcyBzdG9yZWQgaW4gc3RyZWFtX3BlcmlvZC0+c3RhcnQuIFRoZSBpbmZvcm1hdGlvbiByZWFkIGZyb20KCSAgeG1sIGZpbGUgYW5kIHN0b3JlZCBpbiBzdHJlYW1fcGVyaW9kLT5wZXJpb2QtPnN0YXJ0IGlzIG5vdCBjaGFuZ2VkLgoJICBJZiB0aGUgeG1sIGZpbGUgZG9lcyBub3QgY29udGFpbiB0aGUgcGVyaW9kIHN0YXJ0IGluZm9ybWF0aW9uLAoJICBzdHJlYW1fcGVyaW9kLT5wZXJpb2QtPnN0YXJ0IHdpbGwgYmUgLTEuCgkgIFRoZSBmdW5jdGlvbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9lbmRfdGltZSB3YW50cyB0bwoJICB1c2UgcGVyaW9kIHN0YXJ0IHRpbWUsIGJ1dCBpbmNvcnJlY3RseSB1c2VzIHN0cmVhbV9wZXJpb2QtPnBlcmlvZC0+c3RhcnQKCSAgKHZhbHVlIGZyb20geG1sIGZpbGUsIHdoaWNoIGNvdWxkIGJlIC0xKSBpbnN0ZWFkIG9mIHN0cmVhbV9wZXJpb2QtPnN0YXJ0CgkgIChjb21wdXRlZCB2YWx1ZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQ2NQoKMjAxNS0wNi0xNSAxNzoxODo0MSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiByZW5hbWVkIGZ1bmN0aW9ucwoJICBSZW5hbWVkIDIgdGVzdGNhc2UgZnVuY3Rpb25zOgoJICAtIGRhc2hfbXBkcGFyc2VyX3Byb2dyYW1faW5mb3JtYXRpb24KCSAgLSBkYXNoX21wZHBhcnNlcl9iYXNlX1VSTAoKMjAxNS0wNi0yNSAwMDowNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS41LjIgPT09CgoyMDE1LTA2LTI0IDIzOjM3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMgoKMjAxNS0wNi0yNCAyMzowMToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA2LTE1IDE3OjMwOjI2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZGVkIGV4cGxpY2l0IHR5cGUgY29udmVyc2lvbnMKCSAgZmxleGVsaW50IChodHRwOi8vd3d3LmdpbXBlbC5jb20vaHRtbC9mbGV4Lmh0bSkgc3RhdGljIGNvZGUgYW5hbHlzZXIKCSAgY29tcGxhaW5lZCBhYm91dCBpbXBsaWNpdCBjb252ZXJzaW9ucyBmcm9tIHVuc2lnbmVkIHRvIHNpZ25lZCwgc28gSSBhZGRlZAoJICBleHBsaWNpdCBjb252ZXJzaW9ucy4KCSAgSWRlYWxseSwgdGhlIHNpemUgcGFyYW1ldGVyIG9mIGdzdF9tcGRfcGFyc2UgZnVuY3Rpb24gc2hvdWxkIGJlIHVuc2lnbmVkLAoJICBidXQgSSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGUgQVBJLgoKMjAxNS0wNi0xNSAxNjo1OTozMyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcmV0dXJuIHR5cGUgZm9yIGR1cmF0aW9uX3RvX21zIGZ1bmN0aW9uCgkgIFRoZSBkdXJhdGlvbl90b19tcyBmdW5jdGlvbiBjb252ZXJ0cyBhIHRpbWUgc3BlY2lmaWVkIGJ5IHllYXIsIG1vbnRoLCBkYXksCgkgIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCB0byBhIG1pbGxpc2Vjb25kIHZhbHVlLiBCZWNhdXNlIGFsbCB0aGUKCSAgYXJndW1lbnRzIGFyZSBwb3NpdGl2ZSBudW1iZXJzLCB0aGUgcmVzdWx0IG11c3QgYWxzbyBiZSBwb3NpdGl2ZS4KCSAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm5lZCB2YWx1ZSBmcm9tIGEgZ2ludDY0IHRvIGEgZ3VpbnQ2NCB0eXBlLgoKMjAxNS0wNi0yNCAxMToxNTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNi0yMyAxODoxOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxzbyB1cGRhdGUgc2VnbWVudC5iYXNlIGFuZCBzZWdtZW50LnRpbWUgd2hlbiBzd2l0Y2hpbmcgcGVyaW9kcwoJICBBbmQgaW5jbHVkZSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldCBpbiB0aGUgbGFzdCBrbm93biBwb3NpdGlvbiBmb3IgZWFjaAoJICBzdHJlYW0sIGFuZCBqdXN0IGJlY2F1c2Ugd2UgY2FuIGFsc28ga2VlcCB0cmFjayBvZiB0aGUgbGF0ZXN0IGtub3duIHBvc2l0aW9uCgkgIGluc2lkZSB0aGUgZGVtdXhlciBzZWdtZW50LgoKMjAxNS0wNi0yMyAxNjo0NjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFJldmVydCAiZ2wvd2luZG93L3gxMTogZG9uJ3QgY3JlYXRlIG91ciBvd24gWDExIGRpc3BsYXkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTY5N2I2Yjg5YjRiMmExNWM0NWJkNDdiZTk0MGExN2Y0NDEyZWExMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTAwMwoKMjAxNS0wNi0yMyAxNDoxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIFJldmVydCAiZWFnbDogRG9uJ3QgZGlzcGF0Y2hfc3luYygpIHRvIHRoZSBtYWluIHRocmVhZCBpZiB3ZSBhcmUgb24gdGhlIG1haW4gdGhyZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBiZmY0ODEwMTFjZjc0YzU5ODY5YjUxMTM5M2QxNjk2YjU3MGUzZDUuCgkgIEl0IHdhc24ndCBzdXBwb3NlZCB0byBiZSBtZXJnZWQgYW5kIGFsc28gZG9lc24ndCBmaXggdGhlIHByb2JsZW0uCgoyMDE1LTA2LTIzIDEzOjEzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBSZW1lbWJlciB0aGUgbGFzdCByZXR1cm4gdmFsdWUgb2YgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV91cGRhdGVfZnJhZ21lbnRfaW5mbygpCgkgIEl0J3MgZ29pbmcgdG8gcmV0dXJuIEVPUyBpZiB0aGUgcGVyaW9kIGVuZGVkIG9yIG90aGVyd2lzZSB0aGVyZSBpcyBqdXN0IG5vCgkgIG5leHQgZnJhZ21lbnQgbGVmdC4gSWYgd2UgZG9uJ3Qgc3RvcmUgdGhlIGxhc3QgcmV0dXJuIHZhbHVlLCBpdCB3aWxsIGFsd2F5cwoJICBzdGF5IE9LIGFuZCBnc3RfYWRhcHRpdmVfZGVtdXhfY29tYmluZV9mbG93cygpIHdpbGwgYWx3YXlzIHJldHVybiBPSyBpbnN0ZWFkCgkgIG9mIEVPUyBvbmNlIGFsbCBzdHJlYW1zIGFyZSBkb25lLgoJICBUaGlzIHBhcnRpYWxseSBzd2l0Y2hlcyBwZXJpb2QgY2hhbmdlcyBpbiBEQVNIIGJ5IGF0IGxlYXN0IHRyeWluZyB0byBzd2l0Y2gKCSAgaW5zdGVhZCBvZiBqdXN0IHN0b3BwaW5nLiBXaGF0IGlzIHN0aWxsIGxlZnQgaXMgdGhhdCBhZnRlciBhIHBlcmlvZCBjaGFuZ2UKCSAgd2l0aCBEQVNIIHRoZSB0aW1lcyBhbGwgc3RhcnQgYXQgMCBhZ2FpbiBpbnN0ZWFkIG9mIGNvbnRpbnVpbmcuCgoyMDE1LTA2LTIzIDExOjA1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZWFnbDogRG9uJ3QgZGlzcGF0Y2hfc3luYygpIHRvIHRoZSBtYWluIHRocmVhZCBpZiB3ZSBhcmUgb24gdGhlIG1haW4gdGhyZWFkCgkgIFRoaXMgd2lsbCBvdGhlcndpc2UgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDEKCjIwMTUtMDYtMjMgMTA6MzE6NDQgKzAyMDAgIEpvaG4gTHVkd2lnIDxqb2huQHRoZWx1ZHdpZ3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkgIGdsOiBJbmNsdWRlIHRleFBhcmFtZXRlcmYgaW4gdGhlIEdMIGZ1bmN0aW9uIHRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyMjgKCjIwMTUtMDUtMjkgMTQ6Mjc6MjQgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZXJyb3JpZ25vcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZXJyb3JpZ25vcmUuaDoKCSAgZXJyb3ItaWdub3JlOiBOZXcgZWxlbWVudCB0byBjb252ZXJ0IHNvbWUgR3N0Rmxvd1JldHVybiB0eXBlcyBpbnRvIG90aGVycwoJICBDYW4gYmUgdXNlZCB0byBmaXggbWlzYmVoYXZpbmcgc2lua3MuIEl0IHdpbGwgcGFzcyB0aHJvdWdoIGFsbCBidWZmZXJzCgkgIHVudGlsIGl0IGVuY291bnRlcnMgR1NUX0ZMT1dfRVJST1Igb3IgR1NUX0ZMT1dfTk9UX05FR09USUFURUQgKGNvbmZpZ3VyYWJsZSkuCgkgIEF0IHRoYXQgcG9pbnQgaXQgd2lsbCB1bnJlZiB0aGUgYnVmZmVycyBhbmQgcmV0dXJuIEdTVF9GTE9XX05PVF9MSU5LRUQKCSAgKGNvbmZpZ3VyYWJsZSkgLSB1bnRpbCB0aGUgbmV4dCBSRUFEWV9UT19QQVVTRUQgb3IgRkxVU0hfU1RPUC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDA5OAoKMjAxNS0wNi0yMCAxMzozNjoyNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHNpbXBsaWZpZXMgYW5kIGltcHJvdmVzIHNpbmtfZ2V0X2NhcHMuCgkgIFRoZSBwcm9ibGVtIGhlcmUgd2FzIHRoYXQgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGZvcm1hdHMgYW5kCgkgIGFsbCB0aGUgdGhpbmdzIHdlIGNvdWxkIGNvbnZlcnQsIHdlIHRoZW4gaW50ZXJzZWN0ZWQgdGhlc2UKCSAgY2FwcyB3aXRoIHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBIZW5jZSBpZiBhIHN1YmNsYXNzIG9mZmVyZWQgcGVybWlzc2l2ZSBzaW5rIHRlbXBsYXRlcwoJICAoZWcgYWxsIHRoZSBwb3NzaWJsZSBmb3JtYXRzIHZpZGVvY29udmVydCBoYW5kbGVzKSwgYnV0IG9ubHkKCSAgb25lIG91dHB1dCBmb3JtYXQsIHRoZW4gYXQgbmVnb3RpYXRpb24gdGltZSBnZXRjYXBzIHJldHVybmVkCgkgIGNhcHMgd2l0aCB0aGUgZm9ybWF0IHJlc3RyaWN0ZWQgdG8gdGhhdCBmb3JtYXQsIGV2ZW4gdGhvdWdoCgkgIHdlIGRvIGhhbmRsZSBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjU1CgoyMDE1LTA2LTIyIDE1OjQ3OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICBtb3Rpb25jZWxsczogUG9ydCB0byBnX2dldF9jdXJyZW50X3RpbWUKCSAgVGhpcyBpcyBtb3JlIHBvcnRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjIxCgoyMDE1LTA2LTE2IDE3OjE4OjUyICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFkZCBmcmFtZSByYXRlIHJhbmdlIHRvIGNhcHMKCSAgV2hlbiBBVkZvdW5kYXRpb24gaW5kaWNhdGVzIGEgc3VwcG9ydGVkIGZyYW1lIHJhdGUgcmFuZ2UsIGFkZCBpdCB0bwoJICB0aGUgY2Fwcy4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGRldmljZXMgc3VjaCBhcyB0aGUgaVBob25lIDYsIHdoaWNoCgkgIGluZGljYXRlIGEgc2luZ2xlIEFWRnJhbWVSYXRlUmFuZ2Ugb2YgMmZwcyAtIDYwZnBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDQ4CgoyMDE1LTA2LTE1IDE3OjM3OjQyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZGVkIHBhcnNpbmcgb2YgcGVyaW9kIGVsZW1lbnQKCSAgSW1wcm92ZWQgZGFzaF9tcGQgdW5pdCB0ZXN0cyBieSBhZGRpbmcgbmV3IHRlc3RzIHRoYXQgcGFyc2UgdGhlIFBlcmlvZCBlbGVtZW50LgoJICBDb2RlIGNvdmVyYWdlIHJlcG9ydGVkIGJ5IGxjb3YgZm9yIGRhc2gvZ3N0bXBkcGFyc2VyLmMgaXM6CgkgIGxpbmVzLi4uLi4uOiA0My4wJSAoOTg1IG9mIDIyOTAgbGluZXMpCgkgIGZ1bmN0aW9ucy4uOiA0Ny41JSAoNjcgb2YgMTQxIGZ1bmN0aW9ucykKCjIwMTUtMDYtMjIgMTQ6MDY6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBmaXggY29uc2lzdGVuY3kgYWJvdXQgcGJvIGF2YWlsYWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE2NQoKMjAxNS0wNi0xNSAxNzozNDo0OCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBleHRlbmRlZCBNUEQgZWxlbWVudCB0ZXN0IHRvIHRlc3QgeG1sIG5hbWVzcGFjZXMKCSAgRXh0ZW5kZWQgdGhlIGRhc2hfbXBkcGFyc2VyX21wZCB0ZXN0Y2FzZSB0byBhbHNvIHRlc3QgcGFyc2luZyB0aGUgeG1sCgkgIG5hbWVzcGFjZSBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjMKCjIwMTUtMDYtMTUgMTM6NDM6NTMgKzAyMDAgIE1lcnNhZCBKZWxhY2ljIDxtZXJzYWRAYXhpcy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEFkZCBiaXRyYXRlIHRvIHRoZSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA5OTIKCjIwMTUtMDYtMTUgMTI6NTk6NTUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIGNvbXB1dGF0aW9uIG9mIHBlcmlvZCdzIGR1cmF0aW9uCgkgIEFjY29yZGluZyB0byBJU08vSUVDIDIzMDA5LTE6MjAxNChFKSwgY2hhcHRlciA1LjMuMi4xCgkgICJUaGUgUGVyaW9kIGV4dGVuZHMgdW50aWwgdGhlIFBlcmlvZFN0YXJ0IG9mIHRoZSBuZXh0IFBlcmlvZCwgb3IgdW50aWwKCSAgdGhlIGVuZCBvZiB0aGUgTWVkaWEgUHJlc2VudGF0aW9uIGluIHRoZSBjYXNlIG9mIHRoZSBsYXN0IFBlcmlvZC4iCgkgIFRoaXMgbWVhbnMgdGhhdCBhIGNvbmZpZ3VyZWQgdmFsdWUgZm9yIG9wdGlvbmFsIGF0dHJpYnV0ZSBwZXJpb2QgZHVyYXRpb24KCSAgc2hvdWxkIGJlIGlnbm9yZWQgaWYgdGhlIG5leHQgcGVyaW9kIGNvbnRhaW5zIGEgc3RhcnQgYXR0cmlidXRlIG9yIGl0IGlzCgkgIHRoZSBsYXN0IHBlcmlvZCBhbmQgdGhlIE1QRCBjb250YWlucyBhIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gYXR0cmlidXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzk3CgoyMDE1LTA2LTIyIDEzOjI5OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkgIGJheWVyOiB1cGRhdGUgT1JDIGZpbGVzCgkgIFVwZGF0ZSBPUkMgZmlsZXMgd2l0aCBuZXdlc3QgT1JDIHRvIGZpeCBiYWNrdXAgY29kZSBnZW5lcmF0aW9uIGVycm9yLgoKMjAxNS0wNi0yMiAxMDo0OTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBpcnRzcHBhcnNlOiByZWZsb3cgY29kZSB0byBhdm9pZCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgVGhpcyBzaG91bGQgaG9wZWZ1bGx5IGFsbG93IGV2ZW4gdGhlIG1vc3QgY2hhbGxlbmdlZCBzdGF0aWMKCSAgY29kZSBhbmFseXplciB0byBmaWd1cmUgb3V0IHRoYXQgaXQncyBhbGwgZmluZS4gQWxzbyBtYWtlcwoJICB0aGUgZmxvdyBjbGVhcmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA1CgoyMDE1LTA2LTIyIDEwOjU4OjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogY29kZSBzdHlsZSBmaXgKCSAgdHJpdmlhbCBwYXRjaCB0byBhZGQgcHJvcGVyICggd2hpbGUgY2hlY2tpbmcgZm9yIGlmKEdfVU5MSUtFTFkoKSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNQoKMjAxNS0wNi0yMiAwOToyMzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IGZpeCBzbWFsbCBsZWFrIGluIGNhcHMgcXVlcnkgaGFuZGxlcgoJICBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGNhcHMuCgoyMDE1LTA2LTIyIDExOjAzOjE1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NF9zcmM6IGFkZCBtaXNzaW5nIGJyZWFrIGluIGNhcHMgcXVlcnkgaGFuZGxlcgoJICBUaGVyZSBpcyBhIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGluIHN3aXRjaCwKCSAgd2hpY2ggd2lsbCByZXN1bHQgaW4gZXhlY3V0aW5nIGRlZmF1bHQgY2FzZSBhcyB3ZWxsCgkgIHJlc3VsdGluZyBpbiB3cm9uZyBiZWhhdmlvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA1CgoyMDE1LTA2LTIyIDA5OjA4OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWcxc3lzLy5naXRpZ25vcmU6CgkqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmg6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L21wZWcxc3lzL21wZWcxc3lzdGVtZW5jb2RlLnZjcHJvajoKCSogZ3N0L21wZWcxc3lzL3N5c3RlbXMuYzoKCSAgbXBlZzFzeXM6IHJlbW92ZSBhbmNpZW50IHBsdWdpbiB0aGF0J3MgbmV2ZXIgZXZlbiBiZWVuIHBvcnRlZCB0byAwLjgKCjIwMTUtMDYtMjEgMTc6MTM6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBhZGQgc29tZSBwYWRkaW5nIHRvIFNjYW5IZHIgc3RydWN0CgkgIEZvciBiaXRzIHRoYXQgd2UgZG9uJ3QgcGFyc2Ugb3V0IGF0IHRoZSBtb21lbnQuCgoyMDE1LTA2LTIxIDE3OjAzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIGNvZGVjcGFyc2VyczoganBlZzogYWRkIG5ldyBBUEkgdG8gLmRlZiBmaWxlCgoyMDE1LTA2LTIxIDE0OjU4OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGRvY3MgZm9yIHRhYmxlIHBhcnNpbmcgZnVuY3Rpb25zCgoyMDE1LTA2LTIxIDEzOjU1OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBkb2NzOiBhZGQgbmV3IEpQRUcgY29kZWNwYXJzZXIgQVBJIHRvIHRoZSBkb2NzCgkgIEFuZCBzcHJpbmtsZSBzb21lIG1vcmUgU2luY2UgbWFya2VycwoKMjAxNS0wNi0yMSAxMTo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL3BhcnNlLXZwOC5jOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IG1vdmUgdnA4IHBhcnNlciB0ZXN0IHRvIGNvZGVjcGFyc2VyIGV4YW1wbGUgZGlyZWN0b3J5CgoyMDE1LTA2LTIxIDExOjIwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvcGFyc2UtanBlZy5jOgoJICBleGFtcGxlczogYWRkIHNtYWxsIGpwZWcgY29kZWNwYXJzZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTIwIDIyOjQ5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IHZhbGlkaXR5IGNoZWNraW5nIG9mIGRhdGEgcGFyc2VkCgkgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgYW5kIGdfYXNzZXJ0KCkgYXJlIG5vdCBhcHByb3ByaWF0ZQoJICBmb3IgY2hlY2tpbmcgdW50cnVzdGVkIGV4dGVybmFsIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMjAgMTk6NTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IHVwIEFQSQoJICAtIGFkZCBkYXRhIHBvaW50ZXIgdG8gR3N0SnBlZ1NlZ21lbnQgYW5kIHBhc3Mgc2VnbWVudAoJICB0byBhbGwgcGFyc2luZyBmdW5jdGlvbnMsIHJlbmFtZSBhY2NvcmRpbmdseQoJICAtIHNob3J0ZW4gR3N0SnBlZ01hcmtlckNvZGUgZW51bSB0eXBlIG5hbWUgdG8gR3N0SnBlZ01hcmtlcgoJICAtIG1vdmUgZnVuY3Rpb24gZ3RrLWRvYyBibHVyYnMgaW50byAuYyBmaWxlCgkgIC0gYWRkIHNpbmNlIG1hcmtlcnMKCSAgLSBmbGVzaCBvdXQgZG9jcyBmb3IgU09GIG1hcmtlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0xNCAxMTo0MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiB0d2VhayBBUEkgYSBsaXR0bGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0xNCAxOTowMToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBoaWRlIGdzdF9qcGVnX3NjYW5fZm9yX21hcmtlcl9jb2RlKCkKCSAgTWFrZSB0aGlzIGZ1bmN0aW9uIHByaXZhdGUgZm9yIG5vdywgc2luY2UgaXQncyB1bmNsZWFyIHdoZXRoZXIKCSAgaXQncyBhY3R1YWxseSBuZWVkZWQgc2VlaW5nIHRoYXQgZ3N0X2pwZWdfcGFyc2UoKSBzY2FucyB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTMtMDktMjQgMTY6MTA6NDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBhbmQgb3B0aW1pemUgc2NhbiBmb3IgbmV4dCBtYXJrZXIgY29kZS4KCSAgRml4IHNjYW4gZm9yIG5leHQgbWFya2VyIGNvZGUgd2hlbiB0aGVyZSBpcyBhbiBvZGQgbnVtYmVyIG9mIGZpbGxlcgoJICAoMHhmZikgYnl0ZXMgYmVmb3JlIHRoZSBhY3R1YWwgbWFya2VyIGNvZGUuIEFsc28gb3B0aW1pemUgdGhlIGxvb3AKCSAgdG8gZXhlY3V0ZSB3aXRoIGZld2VyIGluc3RydWN0aW9ucyAofjEwJSkuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgU3BlY3RyYWxmYW4ubW92LgoKMjAxMy0wOS0xOCAxNTo1Njo1MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGNhbGN1bGF0aW9uIG9mIHNlZ21lbnQgc2l6ZS4KCSAgVGhlIHNpemUgb2YgYSBtYXJrZXIgc2VnbWVudCBpcyBkZWZpbmVkIHRvIGJlIGV4Y2x1c2l2ZSBvZiBhbnkgaW5pdGlhbAoJICBtYXJrZXIgY29kZS4gU28sIGZpeCB0aGUgc2l6ZSBmb3IgU09JLCBFT0kgYW5kIEFQUG4gc2VnbWVudHMgYnV0IGFsc28KCSAgdGhlIHNpemUgb2YgYW55IHBvc3NpYmxlIHNlZ21lbnQgdGhhdCBpcyB1c3VhbGx5ICJyZXNlcnZlZCIgb3Igbm90CgkgIGV4cGxpY2l0bHkgZGVmaW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzQ0NwoKMjAxMy0wNi0xMyAxMzoyMjoxOCArMDgwMCAgV2luZCBZdWFuIDxmZW5nLnl1YW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGRlZmF1bHQgSHVmZm1hbiB0YWJsZXMgZ2VuZXJhdGlvbi4KCSAgRml4IGJ1aWxkX2h1ZmZtYW5fdGFibGUoKSB0byBjb3JyZWN0bHkgZmlsbCBpbiB0aGUgYXNzb2NpYXRlZCBIVUZGVkFMCgkgIGVudHJpZXMgdG8gdGhlIGRlZmF1bHQgSHVmZm1hbiB0YWJsZXMuCgoyMDEyLTA5LTEyIDEwOjQwOjA2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogYWRkIEpQRUcgYml0c3RyZWFtIHBhcnNlcgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMjAgMTY6MDc6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB0eXBvIGluIGxvZyBtZXNzYWdlCgoyMDE1LTA2LTE1IDE2OjA5OjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2xkaXNwbGF5OiBhZGQgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgSXQgYWxzbyBlbWl0cyBhIGNyZWF0ZS1jb250ZXh0IHNpZ25hbCBzbyB0aGF0IGFuIGFwcGxpY2F0aW9uCgkgIGNhbiBwcm92aWRlIGFuIGV4dGVybmFsIEdzdEdMQ29udGV4dCBiYWNrZW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA2LTE1IDE2OjM2OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IG1vdmUgZGlzcGxheSBmcm9tIHByaXYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNi0xOCAxMDo1NToyOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgUmV2ZXJ0ICJnbGNvbnRleHQ6IGFkZCBnc3RfZ2xfY29udGV4dF9zZXRfZGlzcGxheSBoZWxwZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzFiODEwM2NiZDE2ZmZmOWNmNWE2NWNmNTE3MDgzY2I3OTRhYTNiNS4KCjIwMTUtMDYtMTggMTA6NTI6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFJldmVydCAiZ2w6IGFkZCBHc3RHTENvbnRleHRHUFVQcm9jZXNzIGJhY2tlbmQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjM3NzExMmVlMzg5MTJkMzE2ZTc3YjRlMjEwMjA0MTM4OWRjMDA1MS4KCjIwMTUtMDYtMTkgMTQ6MzU6MzcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBSZW1vdmUgZHVwbGljYXRlLCB1c2VsZXNzIGxpbmUgb2YgY29kZQoKMjAxNS0wNi0xOCAyMjoxMTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogZ2xzdGVybyogYXJlIG9ubHkgYnVpbHQgd2l0aCBmdWxsIE9wZW5HTAoJICBEb24ndCB0cnkgdG8gcmVnaXN0ZXIgdGhlIGVsZW1lbnRzIHVubGVzcyB0aGV5IGFyZSBidWlsdC4KCjIwMTUtMDYtMTggMjE6MDk6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzdHlsZTogUmVtb3ZlIHdoaXRlIHNwYWNlcyBhdCB0aGUgZW5kIG9mIGxpbmUKCjIwMTUtMDYtMTggMTg6MDk6NTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IEZpeCBHTEVTMiBjb21wYXRpYmlsaXR5CgoyMDE1LTA2LTE4IDE4OjAyOjIxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggYnJva2VuIHZhbGlkaXR5IGNoZWNrCgoyMDE1LTA2LTE1IDE2OjA2OjQxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTW92ZSBQQVIgY2FsY3MsIGFuZCB1c2UgdGhlbSBmb3Igc3RlcmVvc2NvcGljIGhhbGYtYXNwZWN0CgkgIE1vdmUgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbnMgaGlnaGVyIHVwIGluIGNhcHMKCSAgZGV0ZXJtaW5hdGlvbiwgc28gdGhlIHJlc3VsdHMgYXJlIGF2YWlsYWJsZSBmb3IgYSBjYWxsIHRvCgkgIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKSB3aGVuIHN0ZXJlb3Njb3BpYyB2aWRlbwoJICBpcyBkZXRlY3RlZC4KCjIwMTUtMDUtMzAgMDM6MDk6MTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby8zZHZpZGVvLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tdmlld3dpZGdldC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tdmlld3dpZGdldC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkgIDNkdmlkZW86IEFkZCBzaW1wbGUgZ3RrIGV4YW1wbGUgc3RlcmVvc2NvcGljIHZpZGVvIHBsYXllcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA1LTMwIDAyOjI5OjA0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBBZGQgZ2x2aWV3Y29udmVydCwgZ2xzdGVyZW9taXggYW5kIGdsc3RlcmVvc3BsaXQgZWxlbWVudHMKCSAgQ29udmVyc2lvbiBlbGVtZW50cyBmb3IgdHJhbnNmb3JtaW5nIG11bHRpdmlldy9zdGVyZW9zY29waWMgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNS0zMCAwMjoyNjozMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBTdXBwb3J0IG11bHRpdmlldy9zdGVyZW9zY29waWMgdmlkZW8KCSAgU3VwcG9ydCB2aWRlbyB3aXRoIG11bHRpdmlldyBpbmZvIGluIHRoZSBjYXBzLCB0cmFuc2Zvcm0KCSAgaXQgdG8gbW9ubyBhbmFnbHlwaCBieSBkZWZhdWx0LCBidXQgYWxsb3cgZm9yIGNvbmZpZ3VyaW5nCgkgIG90aGVyIG91dHB1dCBtb2RlcyBhbmQgaGFuZG9mZiB0byB0aGUgYXBwIHZpYQoJICB0aGUgZHJhdyBzaWduYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDUtMzAgMDI6MjE6NDMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbCBsaWJzOiBBZGQgZ2x2aWV3Y29udmVydCBoZWxwZXIgb2JqZWN0CgkgIEFkZCBBUEkgZm9yIGEgaGVscGVyIG9iamVjdCB0aGF0IGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50CgkgIHN0ZXJlb3Njb3BpYyB2aWRlbyByZXByZXNlbnRhdGlvbnMsIGFuZCBsYXRlciBkbyBmaWx0ZXJpbmcKCSAgb2YgbXVsdGlwbGUgdmlldyBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA2LTE4IDE2OjIwOjI2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZGVkIHdhcm5pbmdzIGluIGdzdF9tcGRfY2xpZW50X3NldHVwX3N0cmVhbWluZyBmdW5jdGlvbgoJICBBZGRlZCBzb21lIHdhcm5pbmcgbWVzc2FnZXMgaW4gZ3N0X21wZF9jbGllbnRfc2V0dXBfc3RyZWFtaW5nIHRvIGhlbHAKCSAgZGVidWcgc2l0dWF0aW9ucyB3aGVuIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBGQUxTRS4KCSAgUmVuYW1lZCBhIHdyb25nbHkgc3BlbGxlZCB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE0OQoKMjAxNS0wNi0xOCAxMjoyMTo0MyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgY29tbWVudHMgaW4gZ3N0bXBkcGFyc2VyLmgKCSAgQ29ycmVjdGVkIHNvbWUgY29tbWVudHMgaW4gZ3N0bXBkcGFyc2VyLmggZmlsZS4KCSAgTW92ZWQgZ3N0X21wZF9jbGllbnRfZ2V0X2FkYXB0YXRpb25fc2V0cyBmdW5jdGlvbiB0byBiZSBncm91cGVkIHdpdGgKCSAgb3RoZXIgZnVuY3Rpb25zIGZyb20gQWRhcHRhdGlvblNldCBncm91cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTQ5CgoyMDE1LTA2LTE4IDEzOjA4OjI1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGdldHRpbmcgcmVwcmVzZW50YXRpb24gYmFzZWQgb24gbWF4IGJhbmR3aWR0aAoJICBUaGUgZ3N0X21wZHBhcnNlcl9nZXRfcmVwX2lkeF93aXRoX21heF9iYW5kd2lkdGggZnVuY3Rpb24gYXNzdW1lcwoJICByZXByZXNlbnRhdGlvbnMgYXJlIG9yZGVyZWQgYnkgYmFuZHdpZHRoIGFuZCBpbmNvcnJlY3RseSByZXR1cm5zIHRoZQoJICBmaXJzdCBvbmUgd2hlbiB3YW50aW5nIHRoZSBvbmUgd2l0aCBtaW5pbXVtIGJhbmR3aWR0aC4KCSAgQ29ycmVjdGVkIGdzdF9tcGRwYXJzZXJfZ2V0X3JlcF9pZHhfd2l0aF9tYXhfYmFuZHdpZHRoIGZ1bmN0aW9uIHRvIGdldCB0aGUKCSAgY29ycmVjdCByZXByZXNlbnRhdGlvbiBpbiBjYXNlIG1heF9iYW5kd2lkdGggcGFyYW1ldGVyIGlzIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNTMKCjIwMTUtMDYtMTggMTQ6Mzg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBbGxvdyB0aGUgYXBwbGljYXRpb24gdG8gcHJvdmlkZSB0aGUgSmF2YSBWTQoJICBJbiBKTklfT25Mb2FkKCkgd2Ugd2lsbCBhbHJlYWR5IGdldCB0aGUgSmF2YSBWTSBwYXNzZWQgYW5kIGNvdWxkCgkgIGp1c3QgZGlyZWN0bHkgdXNlIHRoYXQuIGdzdHJlYW1lcl9hbmRyb2lkLTEuMC5jIHdpbGwgbm93IHByb3ZpZGUKCSAgdGhpcyB0byB1cy4KCSAgUmVhc29uIGZvciB0aGlzIGlzIHRoYXQgYXBwYXJlbnRseSBub3QgYWxsIEFuZHJvaWQgc3lzdGVtIGFyZQoJICBwcm92aWRpbmcgdGhlIEpOSSBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBjdXJyZW50bHkgcnVubmluZyBKYXZhIFZNcywgc28KCSAgd2Ugd291bGQgZmFpbCB0byBnZXQuIFdpdGggdGhpcyB3ZSB3aWxsIGFsd2F5cyBiZSBhYmxlIHRvIGdldCB0aGUgSmF2YQoJICBWTSBvbiBzdWNoIHN5c3RlbXMuCgoyMDE1LTA2LTE4IDE0OjMxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBQcmVmZXIgc29mdHdhcmUgY29kZWNzIG92ZXIgaGFyZHdhcmUgY29kZWNzIGZvciBhdWRpbwoJICBIYXJkd2FyZSBjb2RlY3MgZG9uJ3QgbWFrZSBzZW5zZSBmb3IgYXVkaW8gYW5kIGFyZSBnZW5lcmFsbHkgbGVzcyByZWxpYWJsZSBvbgoJICBBbmRyb2lkIHRoYW4gdGhlIHNvZnR3YXJlIGNvZGVjcy4KCjIwMTUtMDYtMTggMTQ6Mjk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogRmFpbGluZyB0byBkZXRhY2ggYSB0aHJlYWQgaXMgbm90IHRoYXQgbXVjaCBvZiBhIHByb2JsZW0KCSAgU29tZW9uZSBlbHNlIG1pZ2h0IGhhdmUgZGV0YWNoZWQgaXQgYmVmb3JlIHVzLCBzbyBtYWtlIHRoaXMganVzdCBub3JtYWwgZGVidWcKCSAgb3V0cHV0IGluc3RlYWQgb2YgYSBHU1RfRVJST1IoKQoKMjAxNS0wNi0xOCAxMDo0Mzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBmYWlsIGlmIEpOSV9DcmVhdGVKYXZhVk0gY2FuJ3QgYmUgZm91bmQKCSAgV2Ugb25seSBuZWVkIHRoYXQgaWYgbm8gSmF2YSBWTSBpcyBydW5uaW5nIHlldCwgYW5kIGFsbCB1c3VhbCBjYXNlcywKCSAgaS5lLiB3aGVuIGNhbGxpbmcgR1N0cmVhbWVyIGZyb20gYW4gYWN0dWFsIEFuZHJvaWQgYXBwLCB0aGVyZSB3aWxsIGFscmVhZHkKCSAgYmUgYSBKYXZhIFZNIHdlIGNhbiBqdXN0IHVzZS4KCSAgSXQgc2VlbXMgbGlrZSBzb21lIHBob25lcyBjb21lIHdpdGhvdXQgdGhhdCBzeW1ib2wsIGxldCdzIGhvcGUgdGhleSBjb21lCgkgIHdpdGggdGhlIG90aGVyIHN5bWJvbCBidXQgZm9yIG5vdyBkb24ndCBtYWtlIGEgbWlzc2luZyBKTklfQ3JlYXRlSmF2YVZNIGZhdGFsLgoKMjAxNS0wNi0xOCAxMjo1OToxOCArMDcwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZ2V0IHJlbmRlcmVkIGFuZCBkcm9wcGVkIHN0YXRzIGZyb20gUU9TIG1lc3NhZ2VzCgkgIFVzZSBRT1MgbWVzc2FnZXMgdG8gdXBkYXRlIHJlbmRlcmVkIGFuZCBkcm9wcGVkIGZyYW1lIHN0YXRzLiBUaGlzIGlzCgkgIHRoZSBvbmx5IGFjY3VyYXRlIG1ldGhvZC4gVGhlIG9sZCBtZXRob2QgZGlkbid0IHRha2UgbWF4LWxhdGVuZXNzIGFuZAoJICBsYXRlbmN5IGludG8gYWNjb3VudC4KCjIwMTUtMDYtMTcgMTA6NDQ6MTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkgIG5hbHV0aWxzOiB0cml2aWFsIHBhdGNoIHRvIGNoZWNrIGlmCgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwODcKCjIwMTUtMDYtMTYgMTc6NDg6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDE1ZDI2IHRvIGY3NGIyZGYKCjIwMTUtMDYtMTUgMjE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsd2lkZ2V0OiBDb25zdCdpZnkgYW5vdGhlciBhcnJheQoKMjAxNS0wNi0xNSAyMToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2x3aWRnZXQ6IENhbGN1bGF0ZSB0aGUgdmlld3BvcnQgc2l6ZSBvdXJzZWx2ZXMKCSAgR2V0dGluZyB0aGUgY3VycmVudCB2aWV3cG9ydCBhbmQgbW9kaWZ5aW5nIGl0IHJlbGF0aXZlbHkgd2lsbCBwcm9kdWNlIGFuCgkgIGludGVyZXN0aW5nIGZlZWRiYWNrIGxvb3AgZHVyaW5nIHdpZGdldCByZXNpemluZy4gT3ZlciBhIGZldyBmcmFtZXMgd2UKCSAgd2lsbCBncmFkdWFsbHkgbW92ZSB0aGUgdmlld3BvcnQgYSBiaXQgdW50aWwgaXQgY29udmVyZ2VkIGFnYWluLCBhZGRpbmcKCSAgdW5uZWNlc3NhcnkgYWRkaXRpb25hbCBib3JkZXJzIGF0IHRoZSB0b3AgYW5kIGxlZnQuCgoyMDE1LTA2LTE1IDIxOjI0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IFVzZSB0aGUgZGlzcGxheSB3aWR0aC9oZWlnaHQgZm9yIHRoZSB3aWRnZXQncyBwcmVmZXJyZWQgd2lkdGgvaGVpZ2h0CgoyMDE1LTA2LTE1IDIwOjQ1OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a3Npbms6IEFkZCBzdXBwb3J0IGZvciB4UkdCL0JHUngKCjIwMTUtMDYtMTUgMjA6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBDYWlybyBjb2xvciBmb3JtYXRzIGFyZSBpbiBuYXRpdmUgZW5kaWFubmVzcywgR1N0cmVhbWVyJ3MgaW4gbWVtb3J5IG9yZGVyCgkgIENBSVJPX0ZPUk1BVF9BUkdCMzIgaXMgQVJHQiBvbiBiaWcgZW5kaWFuIGFuZCBCR1JBIG9uIGxpdHRsZSBlbmRpYW4uCgoyMDE1LTA2LTE1IDIwOjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogSW1wbGVtZW50IGlnbm9yZS1hbHBoYSBwcm9wZXJ0eSBhbmQgZW5hYmxlIGl0IGJ5IGRlZmF1bHQKCjIwMTUtMDYtMTUgMjA6MTM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3RrOiBTeW5jIHByb3BlcnRpZXMgZnJvbSB0aGUgc2luayB0byB0aGUgd2lkZ2V0IHVwb24gd2lkZ2V0IGNyZWF0aW9uCgoyMDE1LTA2LTE1IDEwOjA4OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogUmVtb3ZlIHJlZHVuZGFudCBtaW5fZHRzCgkgIEFmdGVyIGZldyBpdGVyYXRpb24sIHRoaXMgdmFyaWFibGUgYmVjYW1lIHRoZSBzYW1lIGFzIGR0cy4gSXQncyBub3QKCSAgdGhlIG1pbiBhcyB0aGUgbmFtZSBzYXlzLCBidXQgdGhlIGR0cyBvZiB0aGUgY3VycmVudCBidWZmZXIuIFNpbXBseQoJICByZW1vdmUgYW5kIHBsYWNlIHdpdGggZHRzLiBBbHNvIG1vdmUgdGhlIGRlYnVnIHRyYWNlIHRvIGFjdHVhbGx5CgkgIHByaW50IHRoZSBzaWduZWQgdmVyc2lvbiBvZiB0aGUgcnVubmluZy10aW1lIGR0cy4KCjIwMTUtMDYtMTUgMjI6NDM6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYWRkIG1pc3NpbmcgaGFuZGxlLWV2ZW50cy9pZ25vcmUtYWxwaGEgcHJvcGVydHkgdG8gdGhlIGJpbgoKMjAxNS0wNi0xNSAxODoyODozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IHBpeGVsIGFuZCBkaXNwbGF5IGFzcGVjdCByYXRpbyBoYW5kbGluZwoKMjAxNS0wNi0xNSAxNDoyOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBQcmludCBzb21lIGRlYnVnIG91dHB1dCBpZiB3ZSBjaGFuZ2UgdGhlIHRpbWVzdGFtcCBvZmZzZXQKCjIwMTUtMDYtMTUgMTQ6MjU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDYtMTUgMTQ6MjI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IE1vdmUgdmFyaWFibGVzIGludG8gdGhlIHNjb3BlIHdoZXJlIHRoZXkgYXJlIG5lZWRlZAoKMjAxNS0wNi0xNSAxNDoxOTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCB1cGRhdGUgdGhlIHRzLW9mZnNldCBiZWZvcmUgdXBkYXRpbmcgdGhlIGFjdHVhbCBjb25maWd1cmVkIGNhcHMKCjIwMTUtMDYtMTUgMTQ6MTg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtZW1iZXIgaWYgdGhlIGxhc3QgTEFURU5DWSBxdWVyeSByZXR1cm5lZCBsaXZlIG9yIG5vdCBhbmQgdXNlIHRoZSBpbiB0aGUgUW9TIG1lc3NhZ2VzCgoyMDE1LTA2LTE1IDEyOjIwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBxdWVyeSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0cyBmb3Igbm9uLXZpZGVvIGNvZGVjcwoKMjAxNS0wNi0xNSAxMDozNDo1NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGJ1aWxkIGVycm9yCgkgIGFmdGVyIGUwMDBhNmYwYTQ5ODRmYmU4MTE5MGRmNmNkNDM5YzcwZGFmZGUzZDYsIHRoZXJlIGlzIGJ1aWxkIGVycm9yIGluIGJhZCBwbHVnaW5zCgkgIHRoaXMgaGFwcGVucyBiZWNhdXNlLCBHU1RfQ0xPQ0tfU1RJTUVfSVNfVkFMSUQgKCkgaXMgYmVpbmcgY2hlY2tlZCBmb3IgcGFkX2RhdGEKCSAgYnV0IGl0IGV4cGVjdHMgYSBHc3RDbG9ja1RpbWUgcGFyYW1ldGVyLiBDaGFuZ2luZyB0aGUgY2hlY2sgdG8gJ2R0cycKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk2MQoKMjAxNS0wNi0xNSAxNjo0NzoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnBybzoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBxdCBleGFtcGxlcyBmb3IgYXBpIGNoYW5nZXMKCjIwMTUtMDYtMTUgMTQ6MzU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBzaWxlbmNlIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncyBmb3IgdW5zdXBwb3J0ZWQgd2luc3lzJwoKMjAxNS0wNi0xNSAxNDozMzowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCBiYXNpYyB3YXlsYW5kIEdMIHN1cHBvcnQKCjIwMTUtMDYtMTQgMjM6MjA6MzggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdXBkYXRlIHpvcmRlciBkb2N1bWVudGF0aW9uLgoJICBJdCBpcyBub3QgYm91bmQgYmV0d2VlbiAwIGFuZCAxMDAwMCBhbnltb3JlLgoKMjAxNS0wNi0xNCAyMzoxMzo1OSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE5vIG5lZWQgdG8gYXJ0aWZpY2lhbGx5IGJvdW5kIHRoZSB6b3JkZXIuCgkgIEl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIgc28gdGhlIHVwcGVyIGJvdW5kIGlzIEdfTUFYVUlOVC4KCjIwMTQtMTAtMjkgMTU6MDM6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGFjdHVhbGx5IHJldHVybiBmdWxsIG51bWJlciBvZiBiaXRzIG9mIHJlc3luYyBtYXJrZXIKCSAgU3dpdGNoIHRoZSBpbmNyZW1lbnQgb2YgbWFya2Vyc2l6ZSBmcm9tIHdoZW4gaXQgaXMgdXNlZCB0byB3aGVuIGl0IGlzCgkgIHJldHVybmVkIGZyb20gY29tcHV0ZV9yZXN5bmNfbWFya2VyX3NpemUuCgkgIFRoaXMgYWxzbyBtYWtlcyB0aGUgQ0hFQ0tfUkVNQUlOSU5HIGluIGdzdF9tcGVnNF9wYXJzZV92aWRlb19wYWNrZXRfaGVhZGVyCgkgIGNoZWNrIGZvciB0aGUgYWN0dWFsbHkgcmVxdWlyZWQgbnVtYmVyIG9mIGJpdHMgbm93IGFuZCBub3Qgb25lIHRvbyBmZXcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDUKCjIwMTUtMDYtMTMgMTc6MzY6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIFJldmVydCAiY29kZWNwYXJzZXJzOiByZW1vdmUgaWdub3JlZCBpbmNyZW1lbnQgb2YgcmV0dXJuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDkxNmI5NTQzMTVhYmMyZjk0MzQ4ZWMwYmUzZTExNmMxOWIwODBiNTQuCgkgIENsZWFybHkgc29tZXRoaW5nIGVsc2Ugd2FzIGludGVuZGVkLCBhbmQgaXQgYWxzbyBtYWtlcwoJICBtb3JlIHNlbnNlIHRvIGFkZCB0aGUgZXh0cmEgYml0LiBUaGUgcmVzeW5jIG1hcmtlciBpcwoJICBOIHplcm8gYml0cyBwbHVzIGEgMSBiaXQsIGFuZCB0aGUgcGF0dGVybi9tYXNrIG5lZWRzIHRvCgkgIGJlIHJ1biBvbiBOKzEgYml0cyB0b28uCgkgIChFdmVuIGFmdGVyIHRoZSByZXZlciB0aGUgY29kZSBkb2Vzbid0IGRvIHRoYXQgb2YgY291cnNlLCBzbwoJICBpdCBzdGlsbCBuZWVkcyB0byBiZSBmaXhlZCBkaWZmZXJlbnRseS4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDUKCjIwMTUtMDYtMTIgMTg6MDg6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5oOgoJICBvcGVuc2xlczogRml4IGJ1aWxkIHdpdGggQW5kcm9pZCBBUEkgbGV2ZWwgPCAxNAoJICBIZWFkZXJzIHdlcmUgYnJva2VuIG9uIG9sZGVyIEFuZHJvaWQgdmVyc2lvbnMsIGFwcGFyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ0NTkKCjIwMTUtMDEtMjggMTM6MDY6MzkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkgIG9wZW5zbGVzc2luazogQWxsb3cgc2V0dGluZyB0aGUgc3RyZWFtIHR5cGUgdmlhIGEgcHJvcGVydHkKCjIwMTUtMDEtMjcgMTU6MjU6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzc3JjOiBJbXBsZW1lbnQgcmVjb3JkaW5nIHByZXNldHMKCSAgVGhpcyBhbGxvd3MgdXMgdG8gc2lnbmFsIHdoYXQga2luZCBvZiBhdWRpbyB3ZSBhcmUgZXhwZWN0aW5nIHRvIHJlY29yZCwKCSAgd2hpY2ggc2hvdWxkIHRlbGwgdGhlIHN5c3RlbSB0byBhcHBseSBmaWx0ZXJzIChzdWNoIGFzIGVjaG8KCSAgY2FuY2VsbGF0aW9uLCBub2lzZSBzdXBwcmVzc2lvbiwgZXRjLikgaWYgcmVxdWlyZWQuCgoyMDE1LTA2LTEzIDExOjQwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBSZW1vdmUgbGF0ZSBmcmFtZS1kcm9wcGluZyB3b3JrYXJvdW5kIGZvciBiYXNlc2luayBidWcKCSAgVGhpcyB3YXMgZml4ZWQgYnkgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI1OAoJICBpbiBiYXNlc2luaywgYW5kIGlzIG5vdCBuZWNlc3NhcnkgdG8gZHVwbGljYXRlIGhlcmUgYW55bW9yZS4KCjIwMTUtMDYtMTMgMTg6NDM6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IGltcGxlbWVudCBwcm9wZXIgZHluYW1pYyBwYWQgcmVtb3ZhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODgxCgoyMDE1LTA2LTEyIDIwOjE0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBEb24ndCBkbyBwb29sIGNhY2hpbmcKCSAgV2Ugbm93IGtub3cgdGhhdCBwb29sIGNhY2hpbmcgY2FuIGNhdXNlIHJlbmVnb3RpYXRpb24gaXNzdWVzCgkgIHdoZW4gYW4gZWxlbWVudCBpbiB0aGUgcGlwZWxpbmUgY2hhbmdlIGZyb20gcGFzc3Rocm91Z2ggdG8gbm90CgkgIHBhc3N0aHJvdWdoLiBBcyBpdCdzIG5vdCBuZWVkZWQsIGRvbid0IGNhY2hlIGV4aXN0aW5nIHBvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzQ0CgoyMDE1LTA2LTEyIDE4OjA4OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHJlZmVyZW5jZSB0byBjdnMKCjIwMTUtMDYtMTAgMTc6MDU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNlZ21lbnQgc3RhcnQgc2hvdWxkIG1hdGNoIGZpcnN0IFBUUwoJICBUaGUgc2VnbWVudCBzaG91bGQgc3RhcnQgYXQgZmlyc3QgUFRTLCBhbmQgdGhlIHZhaXJhYmxlIG5hbWUgbG93ZXJfcHRzCgkgIHN0YXRlIHNvIGNvcnJlY3RseS4gVGhvdWdoIHdlIHdoZXJlIHVzaW5nIHRoZSBmaXJzdCBEVFMgaW5zdGVhZC4gVGhpcwoJICBjb3VsZCBsZWFkIHRvIHNtYWxsIGRlc3luY2hyb25pemF0aW9uIG9mIHZpZGVvIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxMjozMjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIHRzbXV4OiBBZGQgbmVnYXRpdmUgRFRTIHN1cHBvcnQKCSAgVXNlIHRoZSBzYXZlZCBEVFMsIG1ha2UgaXQgc2lnbmVkIGFuZCBwYXNzIHRoYXQgdG8gdGhlIHN0cmVhbSBtdXhlci4gVGhpcwoJICBwcmVzZXJ2ZXMgdGhlIHJ1bm5pbmcgdGltZSBzaWduLiBBbGwgdXNhZ2Ugb2YgLTEgYXMgaW52YWxpZCBUUyBhcmUgbm93CgkgIHJlcGxhY2VkIHdpdGggR19NSU5JTlQ2NC4gTmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgc2VlbiBhcyB3cmFwLWFyb3VuZAoJICBwb2ludCwgYnV0IHRoZSBkZWx0YSBiZXR3ZWVuIFBUUyBhbmQgRFRTIHdpbGwgcmVtYWluIGNvcnJlY3QuIERlbXV4ZXJzCgkgIGRvbid0IGNhcmUgYWJvdXQgYWJzb2x1dGUgdmFsdWVzLCB0aGV5IG9ubHkgY2FyZXMgYWJvdXQgZGVsdGFzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDEyOjMxOjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICB0c211eDogUmVtb3ZlIHVuZWVkZWQgY2FzdCBhbmQgY2FzdCBtYWNybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDExOjM5OjAxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFByb3Blcmx5IGRldGVjdCBiYWNrd2FyZCBEVFMKCSAgVGhlcmUgd2FzIGNvZGUgdG8gZGV0ZWN0IGJhY2t3YXJkIGR0cywgYnV0IHRoZSBtYXJrZXIgbWluX2R0cwoJICB3YXMgbmV2ZXIgc2V0LiBTZXR0aW5nIGl0IGVuYWJsZSB0aGlzIGZlYXR1cmUgdGhhdCBwcmV2ZW50cwoJICBwb3RlbnRpYWwgaW50ZWdlciBvdmVyZmxvdyB3aGVuIGdlbmVyYXRpbmcgVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTIgMTY6NDQ6NTUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgc2VnZmF1bHQgZm9yIG1pc3NpbmcgZGVmYXVsdCBuYW1lc3BhY2UKCSAgQWRkZWQgYSBjaGVjayBmb3IgYV9ub2RlLT5ucyBiZWZvcmUgYWNjZXNzaW5nIGFfbm9kZS0+bnMtPmhyZWYgaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX25vZGVfbmFtZXNwYWNlLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgeG1sCgkgIGlzIG1pc3NpbmcgdGhlIGRlZmF1bHQgbmFtZXNwYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODY2CgoyMDE1LTA2LTEyIDIyOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IERvbid0IHJlcXVpcmUgdGhlIHNhbWUgZnJhbWVyYXRlIGluIHRoZSBpbnB1dCBhcyB0aGUgbW9kZSdzIGZyYW1lcmF0ZQoJICBXZSBvbmx5IHJlYWxseSBjYXJlIGFib3V0IHRoZSB0aW1lc3RhbXBzIGZvciB0aGUgc2luay4KCjIwMTUtMDYtMTMgMDE6NDA6MDAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSAgZXhhbXBsZXM6IHBsYXlvdXQ6IEFkZCBiZXR0ZXIgaGVscCB0ZXh0CgkgIFRoaXMgc2hvdWxkIGhlbHAgcGVvcGxlIGZpZ3VyZSBvdXQgaG93IHRvIHVzZSB0aGUgZXhhbXBsZSBhIGJpdCBiZXR0ZXIKCjIwMTUtMDYtMTMgMDE6MzU6NTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSAgZXhhbXBsZXM6IHBsYXlvdXQ6IERlY3JlbWVudCB0aGUgY3VycmVudGx5LXBsYXlpbmcgY291bnRlciBjb3JyZWN0bHkKCSAgT25seSBkbyB0aGF0IHdoZW4gd2UncmUgcmVtb3ZpbmcgYW4gaXRlbSB0aGF0IHdhcyBwbGF5aW5nLCBvdGhlcndpc2Ugd2UnbGwgbWVzcwoJICB0aGluZ3MgdXAgd2hpbGUgdHJ5aW5nIHRvIGVkaXQgdGhlIHBsYXkgcXVldWUgKHBsYXlsaXN0KS4KCjIwMTUtMDEtMjkgMDA6NTY6MjYgKzAwMDAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkgIHBsYXlvdXQ6IE5ldyBleGFtcGxlIGZvciBzZWFtbGVzcyBhdWRpby92aWRlbyBwbGF5YmFjawoJICBBbiBleGFtcGxlIGFwcCB0aGF0IHRha2VzIHZpZGVvIFVSSXMgYXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQgc3dpdGNoZXMKCSAgYmV0d2VlbiB0aGVtIHNlYW1sZXNzbHkgb25lIGFmdGVyIHRoZSBvdGhlciB1c2luZyBjb21wb3NpdG9yIGFuZCBhdWRpb21peGVyLgoJICBCb3RoIGF1ZGlvLXZpZGVvIGFuZCB2aWRlby1vbmx5IG1lZGlhIGZpbGVzIGFyZSB2YWxpZCBpbnB1dHMsIGJ1dCBtaXhpbmcgZmlsZXMKCSAgb2YgYm90aCB0eXBlcyBpbiBhIHNpbmdsZSBpbnZvY2F0aW9uIGlzIGN1bWJlcnNvbWUgdG8gc3VwcG9ydCwgYW5kIGhlbmNlIGRvZXMKCSAgbm90IHdvcmsuIFRoZSBleGFtcGxlIGF0dGVtcHRzIHRvIGtlZXAgdGhlIGF1ZGlvIHN0cmVhbSBtb3ZpbmcgYWxvbmcgcGVyZmVjdGx5LAoJICBhbmQgZHVwbGljYXRlcyB2aWRlbyBmcmFtZXMgd2hlcmUgbmVjZXNzYXJ5IHRvIGNvdmVyIGdhcHMgaW4gdGhlIHZpZGVvCgkgIHRpbWVzdGFtcHMgdXNpbmcgdGhlICdpZ25vcmUtZW9zJyB2aWRlb2FnZ3JlZ2F0b3IgcGFkIHByb3BlcnR5LgoJICBFbnN1cmluZyBzZWFtbGVzcyAoYW5kIG1vc3RseS1nbGl0Y2gtZnJlZSkgc3dpdGNoaW5nIGlzIGhhcmRlciB0aGFuIGl0IHNvdW5kcywKCSAgYW5kIGhlbmNlIHRoZSBleGFtcGxlIGNvbnRhaW5zIHBsZW50eSBvZiBwYWQgcHJvYmVzIGFuZCBydW5uaW5nIHRpbWUKCSAgY2FsY3VsYXRpb25zIHRvIG1ha2UgdGhpbmdzIHdvcmsuCgkgIFRoZSBHUHRyQXJyYXkgcGxheV9xdWV1ZSBjb250YWlucyBpdGVtcyB0aGF0IGFyZSBiZWluZyBwbGF5ZWQgYmFjaywgaGF2ZSBiZWVuCgkgIHByZXBhcmVkIGZvciBwbGF5YmFjaywgYW5kIHdpbGwgYmUgcGxheWVkIGJhY2sgaW4gdGhlIGZ1dHVyZS4gVGhlIHF1ZXVlIGl0c2VsZgoJICBpcyBtdXRhYmxlIGJlc2lkZXMgdGhlIGZpcnN0IHR3byBpdGVtcyAocGxheWluZyBhbmQgcHJlcGFyZWQpLiBUaGUgaXRlbSB0aGF0IGhhcwoJICBiZWVuIHByZXBhcmVkIHNob3VsZCBub3QgYmUgZWRpdGVkIG9yIHJlbW92ZWQgc2luY2UgaXQgaGFzIGJlZW4gcHJlcGFyZWQgaW4KCSAgYWR2YW5jZSB0byBiZSBhY3RpdmF0ZWQgaW1tZWRpYXRlbHkgb24gdGhlIGN1cnJlbnQgaXRlbSdzIEVPUy4KCSAgVGhlIGV4YW1wbGUgYWxzbyBoYXMgc3VwcG9ydCBmb3Igc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHF1ZXVlCgkgIHByZW1hdHVyZWx5OyBzZWUgdGhlIC0tc3dpdGNoLWFmdGVyLy1zIGZsYWcgdG8gdGhlIGFwcGxpY2F0aW9uLgoJICBOb3RlOiB0aGUgb3V0cHV0IHZpZGVvIGlzIGhhcmQtY29kZWQgYXQgMTI4MHg3MjAsIGFuZCBpbnB1dCB2aWRlbyBpcyBzY2FsZWQgYXMKCSAgbmVlZGVkIHRvIGZpdCB0aGlzIHNpemUuIFNldCBPVVRQVVRfVklERU9fV0lEVEgvSEVJR0hUIHRvIGNoYW5nZSB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTQ3CgoyMDE1LTA2LTA2IDIwOjQwOjEzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgdGhlICdpZ25vcmUtZW9zJyBjb21wb3NpdG9yIHNpbmsgcGFkIHByb3BlcnR5CgkgIFdoZW4gdGhlICdpZ25vcmUtZW9zJyBwcm9wZXJ0eSBpcyBzZXQgb24gYSBwYWQsIGNvbXBvc2l0b3Igd2lsbCBrZWVwIHJlc2VuZGluZwoJICB0aGUgbGFzdCBidWZmZXIgb24gdGhlIHBhZCB0aWxsIHRoZSBwYWQgaXMgdW5saW5rZWQuIFdlIGNvdW50IHRoZSBidWZmZXJzCgkgIHJlY2VpdmVkIG9uIGFwcHNpbmssIGFuZCBpZiBpdCdzIG1vcmUgdGhhbiB0aGUgYnVmZmVycyBzZW50IGJ5IHZpZGVvdGVzdHNyYywgdGhlCgkgIHRlc3QgcGFzc2VzLgoKMjAxNS0wMi0xMCAwMDo0OTozNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogYWRkICJpZ25vcmUtZW9zIiBwcm9wZXJ0eSBmb3IgaW5wdXQgcGFkcwoJICBXaGVuIHNldCwgaXQgY2F1c2VzIHZpZGVvYWdncmVnYXRvciB0byByZXBlYXRlZGx5IGFnZ3JlZ2F0ZSB0aGUgbGFzdCBidWZmZXIgb24KCSAgYW4gRU9TIHBhZCBpbnN0ZWFkIG9mIHNraXBwaW5nIGl0IGFuZCBvdXRwdXR0aW5nIHNpbGVuY2UuIFRoaXMgaXMgdXNlZnVsLCBmb3IKCSAgaW5zdGFuY2UsIHdoaWxlIHBsYXlpbmcgYmFjayBmaWxlcyBzZWFtbGVzcyBvbmUgYWZ0ZXIgdGhlIG90aGVyLCB0byBhdm9pZAoJICB2aWRlb2FnZ3JlZ2F0b3IgZXZlciBvdXRwdXR0aW5nIHNpbGVuY2UgKHRoZSBjaGVja2VyYm9hcmQgcGF0dGVybikuCgkgIEl0IGlzIHRvIGJlIG5vdGVkIHRoYXQgaWYgYWxsIHRoZSBwYWRzIG9uIHZpZGVvYWdncmVnYXRvciBoYXZlIHRoaXMgcHJvcGVydHkgc2V0CgkgIG9uIHRoZW0sIHRoZSBtaXhlciB3aWxsIG5ldmVyIGZvcndhcmQgRU9TIGRvd25zdHJlYW0gZm9yIG9idmlvdXMgcmVhc29ucy4gSGVuY2UsCgkgIGF0IGxlYXN0IG9uZSBwYWQgd2l0aCAnaWdub3JlLWVvcycgc2V0IHRvIEZBTFNFIG11c3Qgc2VuZCBFT1MgdG8gdGhlIG1peGVyCgkgIGJlZm9yZSBpdCB3aWxsIGJlIGZvcndhcmRlZCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTQ2CgoyMDE0LTEyLTE5IDE0OjQzOjIwICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogcmV0dXJuIGVhcmx5IGlmIHBhY2tldGl6aW5nIHNob3J0IHNlY3Rpb24KCSAgU2hvcnQgc2VjdGlvbnMgaGF2ZSAzIGJ5dGVzIG9mIGNvbW1vbiBoZWFkZXIsIHdoaWxlIG90aGVyIHNlY3Rpb25zCgkgIGhhdmUgOCBieXRlcyBvZiBjb21tb24gaGVhZGVyLiBJZiBwYWNrZXRpemluZyBjb21tb24gaGVhZGVyIG9mIHNob3J0CgkgIHNlY3Rpb24sIHdlIHNob3VsZCBzdG9wIGFmdGVyIHRoZSBmaXJzdCAzIGJ5dGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjUzCgoyMDE1LTA2LTEyIDE3OjE0OjAyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkgIGRlYnVndXRpbHNiYWQ6IE1pbm9yIGNsZWFudXAKCSAgUmFuIGdzdC1pbmRlbnQgb24gZGVidWd1dGlsc2JhZC5jLCBtb3ZlZCBoZWFkZXJzIHRvIG5vaW5zdCBpbiBNYWtlZmlsZS5hbQoKMjAxNS0wNi0xMiAxNTozOTo1NiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IERvIG5vdCB0cnkgdG8gYWN0aXZhdGUgYSBOVUxMIEdMQ29udGV4dAoJICBBdCB0aGF0IHBvaW50IGluIHRoZSBjb2RlIG5vdGhpbmcgZ3VhcmFudGVlcyBpdCBleGlzdHMKCjIwMTUtMDYtMTIgMjE6MzE6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC90ZXN0czogcmVtb3ZlIHJlZmVyZW5jZSB0byB1bmRlZmluZWQgYnVmZmVyIHRlc3QKCjIwMTUtMDYtMTEgMTg6MjY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBzZXBhcmF0ZSBwYm8gdHJhbnNmZXIgZnJvbSB0ZXh0dXJlIHRyYW5zZmVycwoJICBXaGVuIHN1cHBvcnRlZCwgdGhlIHBvdGVudGlhbGx5IGxvbmdlciBwYm8gdXBsb2FkL2Rvd25sb2FkIGNhbiBiZQoJICBpbml0aWF0ZWQgYmVmb3JlIHRoZSB0ZXh0dXJlIHVwbG9hZC9kb3dubG9hZCwgcG90ZW50aWFsbHkgaW5jcmVhc2luZwoJICB0aHJvdWdocHV0LgoKMjAxNS0wNi0xMCAxNjozNjoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogaW1wbGVtZW50IG9uIHRvcCBvZiBnbGJhc2VidWZmZXIKCSAgUHJvdmlkZXMgY29udmVuaWVudCBhY2Nlc3MgdG8gUEJPIHVzYWdlLgoJICBDdXJyZW50bHkgdGV4dHVyZSB1cGRhdGVzIGFyZSBjb3VwbGVkIHRpZ2h0bHkgdG8gZGF0YSB0cmFuc2ZlcnMuCgoyMDE1LTA2LTEwIDE2OjI0OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5oOgoJICBnbDogbmV3IGdsYmFzZWJ1ZmZlciBHc3RNZW1vcnkgb2JqZWN0CgkgIFByb3ZpZGVzIGdlbmVyaWMgaGFuZGxpbmcgb2YgR0wgYnVmZmVyIG9iamVjdHMgYWNjZXNzaWJsZSB1c2luZwoJICB0aGUgR0wgYmluZCBwb2ludHMgKEdMX0FSUkFZX0JVRkZFUiwgR0xfUElYRUxfKl9CVUZGRVIpLgoJICBJbXBsZW1lbnRhdGlvbiBiYXNlZCBvZmYgdGhlIGN1cnJlbnQgR3N0R0xNZW1vcnkuCgoyMDE1LTA2LTEwIDE2OjIzOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9idWZmZXJzLmg6CgkgIGdsL3Byb3RvdHlwZXM6IGFkZCBzb21lIGJ1ZmZlciBmdW5jdGlvbiBwcm90b3R5cGVzCgoyMDE1LTA2LTEyIDE1OjE3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgdmlkZW8gYXNwZWN0LXJhdGlvIGhhbmRsaW5nCgkgIEZvciBib3RoIHRoZSBzb2Z0d2FyZSBhbmQgdGhlIEdMIHNpbmsncy4KCSAgRG9lc24ndCBkZWFsIHdpdGggdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmaWVsZCBhdCBhbGwgeWV0LgoKMjAxNS0wNi0xMiAxMzoxNDo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93L3gxMTogb25seSBsaXN0ZW4gb24gdGhlIFggRGlzcGxheSB3aGVuIG5lZWRlZAoJICA1Njk3YjZiODliNGIyYTE1YzQ1YmQ0N2JlOTQwYTE3ZjQ0MTJlYTExIGNhdXNlcyB1cyB0byBwb3NzaWJseSBsaXN0ZW4KCSAgb24gYSB0b29sa2l0IHByb3ZpZGVkIERpc3BsYXkgY29ubmVjdGlvbi4gIFdlIHRodXMgY291bGQgZWF0IHRoZWlyCgkgIHByZWNpb3VzIHdpbnN5cyBldmVudHMuICBPbmx5IGxpc3RlbiBpZiB3ZSBuZWVkIHRvCgkgICghZm9yZWlnbl9kaXNwbGF5IG9yIHZpZGVvb3ZlcmxheSkuCgoyMDE1LTA2LTEyIDEyOjQwOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3RrOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MKCjIwMTUtMDYtMTIgMTI6Mjk6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0a2dsc2luazogcmVzZXQgdGhlIGNvbnRleHQvZGlzcGxheSBpbiBSRUFEWV9UT19OVUxMCgkgIEZpeGVzIGNvbnRleHQgcHJvcGFnYXRpb24gaW4gcGlwZWxpbmVzIHdpdGggdXBzdHJlYW0gR0wgZWxlbWVudHMuCgoyMDE1LTA2LTExIDE3OjI1OjQ5ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IGVycm9yIGNhbGN1bGF0aW5nIGxhcmdlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgdmFsdWVzCgkgIElmIHRoZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IGF0dHJpYnV0ZSBvZiBhIERBU0ggbWFuaWZlc3QgY29udGFpbnMKCSAgYSB2YWx1ZSB0aGF0IGlzIGxhcmdlciB0aGFuIDJeMzIsIGdzdG1wZHBhcnNlciBpbmNvcnJlY3RseSBjYWxjdWxhdGVzCgkgIHRoZSBzdHJlYW0ncyBwcmVzZW50YXRpb24gdGltZSBvZmZzZXQuIFRoaXMgaXMgZHVlIHRvIHR3byBidWdzOgoJICAxOiBVc2luZyBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF91bnNpZ25lZF9pbnRlZ2VyIHJhdGhlciB0aGFuCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX3Vuc2lnbmVkX2ludGVnZXJfNjQgdG8gcGFyc2UgdGhlCgkgIGF0dHJpYnV0ZQoJICAyOiBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbiBtdWx0aXBseWluZyB0aGUgdmFsdWUgYnkKCSAgR1NUX1NFQ09ORCBhbmQgdGhlbiBkaXZpZGluZyBieSB0aW1lc2NhbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDgwNAoKMjAxNS0wNi0xMSAxMjo0MToxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJICBnc3RndGs6IE5vIG5lZWQgdG8gcmVhbGl6ZSB0aGUgd2lkZ2V0CgkgIFRoZSB3aWRnZXQgYWxyZWFkeSBkb2VzIHRoYXQuCgoyMDE1LTA2LTExIDEyOjM4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtzaW5rLmM6CgkgIGdzdGd0azogRG9uJ3QgbGVhayB0aGUgd2lkZ2V0CgkgIGdfb2JqZWN0X2dldCgpIHJldHVybnMgYSByZWYsIGd0a19jb250YWluZXJfYWRkKCkgb25seSByZWZfc2luaygpLgoJICBUaGF0IG1lYW4gd2Ugc3RpbGwgbmVlZCB0byB1bnJlZiBhZnRlcndhcmQuIFRoaXMgbGVhayB3YXMgaGlkaW5nCgkgIGEgcmVmZXJlbmNlIGJ1ZyBwcmV2aW91c2x5IHByZXNlbnQuCgoyMDE1LTA2LTExIDEyOjEwOjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3N0Z3RrOiBBbGxvdyBkb2luZyBnc3QtaW5zcGVjdC0xLjAgb24gdGhlc2UgZWxlbWVudHMKCSAgVGhpcyBwYXRjaCBhbGxvdyBnb2luZyBnc3QtaW5zcGVjdC0xLjAgb24gdGhlc2UgZWxlbWVudHMgcmVtb3ZpbmcKCSAgdWdseSBjcmFzaCB0aGF0IHdhcyBwcmV2aW91c2x5IG9jY3VycmluZy4gVGhlIG1ldGhvZCBjb25zaXN0IG9mCgkgIG1ha2luZyB0aGUgd2lkZ2V0IGNyZWF0aW9uIGFzIGxhenkgYXMgcG9zc2libGUuIFRoaXMgd2F5IHdlIGRvbid0CgkgIGVuZHVwIGRvaW5nIGd0a19pbml0KCkgYmVmb3JlIHRoZSBhcHBsaWNhdGlvbi4gV2UgYWxzbyByZWZfc2luaygpCgkgIHRoZSB3aWRnZXQsIHNvIHdlIGRvbid0IGNyYXNoIGlmIHRoZSBwYXJlbnQgd2lkZ2V0IGlzIGRpc2NhcmRlZCwKCSAgYW5kIGNsZWFubHkgZXJyb3Igb3V0IHdpdGggR0wgaWYgdGhlIHdpZGdldCBoYXMgbm8gcGFyZW50IHdpbmRvdywKCSAgYmVjYXVzZSBjYWxsaW5nIGd0a193aWRnZXRfcmVhbGl6ZWQoKSBjYW4gb25seSBiZSBkb25lIGlmIHRoZSB3aWRnZXQKCSAgaGFzIGJlZW4gcGFyZW50ZWQgdG8gYSB3aW5kb3cpLgoKMjAxNS0wNS0zMCAwMjoxNTo1MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIHZpZXdzIGluIHVwbG9hZCwgY29sb3VyIGNvbnZlcnQgYW5kIGRvd25sb2FkCgkgIFN1cHBvcnQgbXVsdGlwbGUgYXR0YWNoZWQgdmlld3Mgb24gaW5wdXQvb3V0cHV0IGJ1ZmZlcnMKCSAgYnkgcHJvY2Vzc2luZyBlYWNoIG9uZSwgbm90IGp1c3QgdGhlIGZpcnN0LgoKMjAxNS0wNS0zMCAwMTozODoxNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IEFkZCBzdXBwb3J0IGZvciBwYXNzaW5nIHN0ZXJlb3Njb3BpYy9tdWx0aXZpZXcgaW5mbwoJICBQYXNzIGFueSBtdWx0aXZpZXcgaW5mbyBmcm9tIHRoZSBjb250YWluZXIgb3IgU0VJIGluZm8gZG93bnN0cmVhbQoKMjAxNS0wNi0xMSAwMTo1NzowOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IERvbid0IHN3aXRjaCB0byBwYXNzdGhyb3VnaCBvbiBzZXRfY2FwcygpCgkgIFdhaXQgdW50aWwgYXQgbGVhc3Qgb25lIGtleWZyYW1lIGhhcyBiZWVuIHBhcnNlZCBiZWZvcmUKCSAgZGVjaWRpbmcgdG8gc3dpdGNoIHRvIHBhc3N0aHJvdWdoIG1vZGUsIGluIGNhc2UgdGhlCgkgIHN0cmVhbSBjb250YWlucyBTRUkgbWVzc2FnZXMgdGhhdCBzdXBwbGVtZW50IHRoZSBvdXRwdXQKCSAgY2FwcyAtIGZvciBleGFtcGxlIGJ5IHByb3ZpZGluZyBzdGVyZW9zY29waWMgaW5mb3JtYXRpb24KCjIwMTUtMDYtMTIgMDA6MzI6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdy94MTE6IGRvbid0IGNyZWF0ZSBvdXIgb3duIFgxMSBkaXNwbGF5CgkgIEl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggbW9zdCB3aW5kb3cgb3BlcmF0aW9ucyBvY2N1cmluZyBpbiB0aGUKCSAgR0wgdGhyZWFkLgoKMjAxNS0wNi0xMiAwMDozMDo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93L3gxMTogaGFuZGxlX2V2ZW50cygpIG1heSBiZSBjYWxsZWQgYmVmb3JlIHRoZSB3aW5kb3cgaGFzIGJlZW4gY3JlYXRlZAoJICBGaXhlcyBhbiBYSU8gZmF0YWwgZXJyb3IKCjIwMTUtMDYtMTIgMDA6Mjk6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkgIGdsOiBtb3ZlIGJhc2VzaW5rIHByb3BlcnRpZXMgZnJvbSBnbGltYWdlc2lua2JpbiB0byBnbHNpbmtiaW4KCjIwMTUtMDMtMjUgMTk6Mjc6NDIgKzAyMDAgIFlhbmtvIEthbmV0aSA8eWFuZXRpQGRlY2xlcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgYXJiaXRyYXJ5IGNvbnN0cmFpbnQgb24gcHJvZy1tYXAgcHJvZ3JhbSBpZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Njc2NQoKMjAxNS0wNi0xMSAxNToyMjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSAgZ2w6IFVzZSBnc3Rfb2JqZWN0X3JlZl9zaW5rKCkgZm9yIGdse2ZpbHRlcixtaXhlcixzcmN9YmluIHRvbwoKMjAxNS0wNi0xMSAxNToxNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSAgZ2xzaW5rYmluOiBVc2UgZ3N0X29iamVjdF9yZWZfc2luaygpIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSB2aWRlby1zaW5rIHByb3BlcnR5IG9uIHBsYXliaW4KCjIwMTUtMDYtMTEgMTU6MDI6NDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBEbyBub3QgdHJ5IHRvIGluaXRpYWxpemUgZGlzcGxheSBpZiB3ZSBoYXZlIG5vdCBoYXZlIGEgR0xDb250ZXh0IHlldAoKMjAxNS0wNi0xMSAxNDo1ODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ3RrOiBBZGQgbWlzc2luZyBDRkxBR1MgdG8gZXhhbXBsZQoKMjAxNC0xMi0xOCAxNzowMDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9nc3RwbHVnaW4uYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtzaW5rLmM6CgkgIEltcGxlbWVudCBndGsgc2lua3MKCSAgdHdvIHNpbmtzIGFyZSBwcm92aWRlZC4gIGd0a3Npbmsgd2hpY2ggaXMgYSBjYWlyby9zb2Z0d2FyZSBiYXNlZCByZW5kZXJlcgoJICBhbmQgZ3RrZ2xzaW5rIHdoaWNoIHV0aWxpc2VzIHRoZSBHTCBzdXBwb3J0IGluIGd0ayBhbmQgZ3N0cmVhbWVyLgoKMjAxNS0wNi0xMCAxMDozNjoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkgIGgyNjNwYXJzZTogRml4IFBTQyBtYXRjaGluZwoJICBXZSB3ZXJlIG9mZiBieSBvbmUgYnl0ZSBpbiB0aGUgbWF0Y2hpbmcKCSAgSXQgc2hvdWxkIGJlICh1c2luZyAyNCBiaXQgbWF0Y2hpbmcpOgoJICAqIHN0YXJ0Y29kZSAgOiAwMDAwIDAwMDAgMDAwMCAwMDAwIDEwMDAgMDB4eAoJICAqIG1hc2sgKGJpbikgOiAxMTExIDExMTEgMTExMSAxMTExIDExMTEgMTEwMAoJICAqIG1hc2sgKGhleCkgOiAgICBmICAgIGYgICAgZiAgICBmICAgIGYgICAgYwoJICAqIG1hdGNoICAgICAgOiAgICAwICAgIDAgICAgMCAgICAwICAgIDggICAgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjg1CgoyMDE1LTA1LTExIDE2OjQ3OjI1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGFsd2F5cyBlbnF1ZXVlIGZyYW1lcywgZXZlbiBvbiBlcnJvcgoJICBFdmVuIHdoZW4gd2UgZmFpbCB0byBlbmNvZGUgZnJhbWUsIHdlIHNob3VsZCBzdGlsbCBlbnF1ZXVlIGl0IHNvCgkgIGl0IGNvdWxkIGJlIHBhc3NlZCBpbnRvIGhhbmRsZV9mcmFtZSAod2l0aCBvdXRwdXRfYnVmZmVyID09IE5VTEwpLgoJICBPdGhlcndpc2UsIHdlIHJpc2sgR3N0VmlkZW9FbmNvZGVyJ3MgcXVldWUgb2YgZnJhbWVzIGdyb3dpbmcgdW5ib3VuZGVkLgoJICBOb3RlOiBXZSdyZSBzbGlnaHRseSBjaGFuZ2luZyB0aGUgcmVuZWdvdGlhdGlvbiBjb2RlIHRvIGFjY29tbW9kYXRlIGZvcgoJICBmcmFtZXMgd2l0aG91dCBvdXRwdXQgYnVmZmVycywgYnV0IHRoaXMgY29tbWl0IHRha2VzIG5vIG93bmVyc2hpcCBvdmVyCgkgIHRoZSB3YXkgbmVnb3RpYXRpb24gaXMgYmVpbmcgZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY2OQoKMjAxNS0wNi0xMCAxNTowMzozMSArMDIwMCAgRmFiaW8gQ2V0cmluaSA8ZmNldHJpbmlAaG90bWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBdm9pZCBmcmFtZSByZW5kZXJpbmcgd2hpbGUgdGhlIHdpbmRvdyBpcyBjb21wbGV0ZWx5IGhpZGRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODU2CgoyMDE1LTA2LTEwIDExOjQyOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogT0VTX3ZlcnRleF9hcnJheV9vYmplY3QgaXMgaW1wcm9wZXJseSBpbXBsZW1lbnRlZCBvbiBQb3dlclZSIFNHWCA1NDRNUAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTg1CgoyMDE1LTA1LTExIDE2OjQwOjA3ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZyZWUgaW5wdXQgYnVmZmVyIEFTQVAKCSAgVlRDb21wcmVzc2lvblNlc3Npb25FbmNvZGVGcmFtZSByZXRhaW5zIHRoZSBDVlBpeGVsQnVmZmVyIGR1cmluZwoJICBlbmNvZGluZywgYW5kIHdpbGwgcmVsZWFzZSBpdCBhcyBzb29uIGFzIGl0IGNhbiAoZS5nLiBiZWZvcmUgaXQgZXZlbgoJICBjYWxscyBvdXIgY2FsbGJhY2spLiBUaGlzIG1lYW5zIHdlIGNhbiBzYWZlbHkgcmVsZWFzZSBpbnB1dCBidWZmZXIKCSAgYXQgdGhpcyBwb2ludCwgcG9zc2libHkgYWxsb3dpbmcgdGhlIHN5c3RlbSB0byByZXVzZSBpdCBzb29uZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NzEKCjIwMTUtMDUtMTEgMTY6Mzk6MTkgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQWRkIG1pc3NpbmcgZ3N0X3Z0ZW5jX2ZyYW1lX2ZyZWUoKSBpbiBlcnJvciBwYXRoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NjgKCjIwMTUtMDYtMDkgMTY6MzM6MzkgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGaXggbWVtb3J5IGxlYWtzIGl0ZXJhdGluZyBvdmVyIHBhZHMKCSAgUmViYXNlZCBmb3IgbGF0ZXN0IG1hc3RlciBieSBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc0OAoKMjAxNS0wNi0xMCAwMDoxNjoyNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBhZGQgYWxpZ25tZW50PWF1IHRvIHNpbmsgY2FwcwoJICBWVCBjb21wcmVzc2lvbiBjYWxsYmFjayBnZXRzIGEgQ01TYW1wbGVCdWZmZXIgcGVyIGZyYW1lLCBzbyB2dGVuY19oMjY0CgkgIHNob3VsZCBzZXQgJ2FsaWdubWVudD1hdScgaW4gc2luayBjYXBzIHRvIGluZGljYXRlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MzUKCjIwMTUtMDYtMDkgMTg6MzA6NTUgKzAxMDAgIENocmlzIENsYXl0b24gPGNocmlzMjU1M0Bnb29nbGVtYWlsLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjAxCgoyMDE1LTA1LTEyIDAwOjE4OjAyICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IGZpeCBodWdlIG1lbW9yeSBsZWFrCgkgIENNU2FtcGxlQnVmZmVycyB3ZXJlIHJldGFpbmVkIC0+IGh1Z2UgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MzgKCjIwMTUtMDUtMTEgMTY6NDQ6MzMgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogbm8gbmVlZCBmb3IgcXVldWVfbGVuZ3RoIHdpdGggdHJ5X3BvcAoKMjAxNS0wNS0wNSAxNTowNzo1MyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBkb24ndCBjb3B5IG1ldGEgZnJvbSBpbnB1dCB0byBvdXRwdXQKCSAgQ29weWluZyBhcmJpdHJhcnkgbWV0YXMgaXMgZ29pbmcgdG8gY2F1c2UgcHJvYmxlbXMgYW5kIHRoaXMgc2hvdWxkIHJlYWxseSBiZQoJICBoYW5kbGVkIGJ5IHRoZSBiYXNlIGNsYXNzLiBJdCBvdmVycmlkZXMgbW9zdCBvdGhlciB0aGluZ3MgYWxyZWFkeSBhbnl3YXksCgkgIGluY2x1ZGluZyB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uLiBUaG9zZSBhcmUganVzdCBzZXQgaGVyZSBub3cgc28gd2UgY2FuCgkgIGluc2VydCB0aGUgZnJhbWUgc29ydGVkIGludG8gdGhlIHF1ZXVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTIyCgoyMDE1LTA2LTA5IDE1OjMyOjM2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBhZGQgdGhlIG9ic29sZXRlIHRtcGwgZGlyIHRvIGNydWZ0LWRpcnMKCjIwMTUtMDYtMDkgMTQ6Mzc6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGZpeCBtaXNsZWFkaW5nIGRvY3VtZW50YXRpb24gY29waWVkIGZyb20gYWRkZXIKCjIwMTUtMDYtMDkgMTI6MTE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSAgZGFzaDogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBMSUJBREQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYxOQoKMjAxNS0wNi0wOSAxMTozMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDlhMzM1MyB0byA2MDE1ZDI2CgoyMDE1LTA2LTA5IDA5OjA3OjQ1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogTWFwIHRoZSBwaXhlbCBkYXRhIG9uY2UgcGVyIHJlbmRlciwgbm90ICphaGVtKiB0d2ljZSBwZXIgYnl0ZS4KCSAgVGhlIG5haXZlIHBvcnQgdG8gMS4wIGZyb20geWVhcnMgYWdvIHdhcyBzaWxseSwgbWFrZSBpdCBiZXR0ZXIuCgoyMDE1LTA2LTA4IDIzOjA4OjA0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMzdhZjMyIHRvIGQ5YTMzNTMKCjIwMTUtMDYtMDUgMTc6MjA6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyB0aGUgcGFyc2luZyBvZiBNUEQgZWxlbWVudAoJICBDcmVhdGUgYSBkYXNoIHRlc3QgdGFyZ2V0IGFuZCBhZGQgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoZSBwYXJzaW5nIG9mCgkgIGF0dHJpYnV0ZXMgb2YgdGhlIE1QRCBlbGVtZW50IGFuZCB0aGUgZm9sbG93aW5nIGNoaWxkIGVsZW1lbnRzOgoJICAtIGJhc2VVUkwKCSAgLSBwcm9ncmFtIGluZm9ybWF0aW9uCgkgIC0gbG9jYXRpb24KCSAgLSBtZXRyaWNzCgkgIFRoZXNlIHRlc3RzIGNoZWNrIHRoZSBjb21wbGlhbmNlIG9mIHBhcnRzIG9mIHRoZSBNUEQgcGFyc2VyIGluIHRoZQoJICBkYXNoZGVtdXggZWxlbWVudCBhZ2FpbnN0IHRoZSBEQVNIIHNwZWNpZmljYXRpb24gWzFdLgoJICBbMV0gaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2l0dGYvUHVibGljbHlBdmFpbGFibGVTdGFuZGFyZHMvYzA2NTI3NF9JU09fSUVDXzIzMDA5LTFfMjAxNF9FbGVjdHJvbmljX2luc2VydHMuemlwCgkgIGh0dHA6Ly9zdGFuZGFyZHMuaXNvLm9yZy9pdHRmL1B1YmxpY2x5QXZhaWxhYmxlU3RhbmRhcmRzL2MwNjUyNzRfSVNPX0lFQ18yMzAwOS0xXzIwMTQuemlwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzOTAKCjIwMTUtMDUtMDYgMTQ6Mjk6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBzaW1wbGlmeSBhZ2dyZWdhdGUgcmV0dXJuaW5nCgkgIFJld29yayBzcGVjaWFsIGhhbmRsaW5nIHdpdGggZ290by9sYWJlbHMgdG8gb25seSBoYXZlIG9uZSBjYXNlCgkgIGFuZCBvdGhlcndpc2UganVzdCByZXR1cm4gbm9ybWFsbHkuCgoyMDE1LTA1LTA2IDE0OjE5OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVmYWN0b3IgY2FwcyByZWNvbmZpZ3VyZSB0byBpdHMgb3duIGZ1bmN0aW9uCgkgIE1ha2VzIHRoZSBhZ2dyZWdhdGlvbiBjb2RlIHNob3J0ZXIgYW5kIGVhc2llciB0byByZWFkCgoyMDE1LTA1LTA2IDEzOjU5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4aW5nIHR5cGVzIGluIGFnZ3JlZ2F0ZSBmdW5jdGlvbgoJICBDb3JyZWN0bHkgdXNlIGJvb2xlYW4gYW5kIEdzdEZsb3dSZXR1cm4gdHlwZXMgaW4gdGhlIGZ1bmN0aW9uLgoKMjAxNS0wNS0wNiAxMzowODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBtYWNybyB0byBhY2Nlc3MgYWdncmVnYXRvciBzcmMgcGFkCgkgIE1ha2VzIGNvZGUgYSBiaXQgbW9yZSByZWFkYWJsZQoKMjAxNS0wNS0wNiAxMzowNzo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgYSBjb252ZW5pZW5jZSBtYWNybyB0byBnZXQgdGhlIHNvdXJjZSBwYWQKCSAgRWFzaWVyIHRoYW4gY2FzdGluZyBvciBhY2Vzc2luZyB0aGUgcGFyZW50IGV2ZXJ5d2hlcmUKCjIwMTUtMDYtMDggMTQ6MTY6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb3JyZWN0IGZpeCBmb3IgZGVhZCBjb2RlCgkgIFJlbmFtZSB0ZW1wbGF0ZSB0byBjYXBzIHRvIGtlZXAgdGhlIG9yaWdpbmFsIGludGVudGlvbiBvZiB0aGUgY29kZSBhZnRlcgoJICBjb21taXQgYjRjOWFhMWMKCSAgQ0lEICMxMzA0Njc0CgoyMDE1LTA2LTA4IDE0OjE0OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgUmV2ZXJ0ICJ0c2RlbXV4OiByZW1vdmUgZGVhZCBjb2RlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA2MzVhY2ZlYzA0MWIxYzY2NGJjMDc3MDgzOWIxYTU3NmUzNTk4YjEuCgoyMDE1LTA2LTA4IDEzOjM3OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGRlYWQgY29kZQoJICBBZnRlciBjb21taXQgYjRjOWFhMWMzMDhmODhiZjRlMWY2OWFiMDE1NmVkOWY5OTgxNWU4ZSB0ZW1wbGF0ZSB3aWxsIGFsd2F5cyBiZQoJICBOVUxMLiBUaGUgaWYgY29uZGl0aW9uYWwgd2lsbCBhbHdheXMgYmUgRkFMU0UsIHNvIHJlbW92aW5nIGl0LgoJICBDSUQgIzEzMDQ2NzQKCjIwMTUtMDYtMDcgMjM6MDY6MzggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxYmEyZTUgdG8gZDM3YWYzMgoKMjAxNS0wNi0wNyAxNzozMjowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQwODU4MyB0byAyMWJhMmU1CgoyMDE1LTA2LTA3IDE3OjAzOjE1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSB2YXJpYWJsZXMgdGhhdCB3ZSBkZWZpbmUgaW4gdGhlIHNuaXBwZXQgZnJvbSBjb21tb24KCSAgVGhpcyBpcyBzeW5jaW5nIG91ciBNYWtlZmlsZS5hbSB3aXRoIHVwc3RyZWFtIGd0a2RvYy4KCjIwMTUtMDYtMDcgMTc6MTY6MjUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ2NzY5OTMgdG8gYzQwODU4MwoKMjAxNS0wNi0wNyAxNjo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKMjAxNS0wNi0wNyAxNjoyODo0MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogb25seSBhZGQgdGhlIGxpYnMgdGhhdCB3ZSBhY3R1YWxseSBkb2N1bWVudCByaWdodCBub3cKCSAgS2VlcCB0aGUgbGlicyBpbiBhbHBoYWJldGljYWwgb3JkZXIgdW5sZXNzIGEgc3BlY2lmaWMgbGluayBvcmRlciBpcyByZXF1aXJlZC4KCSAgQWxzbyByZW1vdmUgdGhlIC1MIGRpcmVjdGl2ZXMgYXMgd2Ugc3BlY2lmeSB0aGUgZGlyZWN0IHBhdGggdG8gdGhlIC5sYSBmaWxlcy4KCjIwMTUtMDYtMDcgMTY6Mjg6MjIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IHJlbW92ZSBkdXBsaWNhdGVkIGVudHJ5IGZyb20gdHlwZXMgZmlsZQoKMjAxNS0wNi0wNyAxNTo1OTo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgemJhcjogc3BsaXQgdGVzdAoJICBMZXRzIG5vdCBjcmFtIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSB0ZXN0IC0gdGhpcyB3b3VsZCByZW5kZXIgdGhlIHRlc3QgbmFtZQoJICB1c2VsZXNzIGZvciBxdWljayBkaWFnbm9zaXMuIEhhdmluZyBzZXBhcmF0ZSB0ZXN0cyBmb3IgdGhlIG9wdGlvbmFsIGZlYXR1cmUgaXMKCSAgYWxzbyB2ZXJpZnlpbmcgdGhlIGJlaGF2aW91ciB3aGVuIHRoZSBmZWF0dXJlIGlzIG9mZi4KCj09PSByZWxlYXNlIDEuNS4xID09PQoKMjAxNS0wNi0wNyAxMDo1NTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4xCgoyMDE1LTA2LTA3IDA5OjM2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA1LTMwIDIxOjM1OjM2ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggd3JvbmcgZ3N0LWxhdW5jaCBjb21tYW5kIGluIHRoZSBkZXNjcmlwdGlvbgoJICBGaXggd3JvbmcgZ3N0LWxhdWNoIGNvbW1hbmQgaW4gdGhlIGRlc2NyaXB0aW9uLgoJICBUaGlzIHBhdGNoIG1heSBoZWxwIHBlb3BsZSB0byBnZXQgcmlnaHQgdGVzdGluZyByZXN1bHRzIHVzaW5nIHRoZSBzY3JpcHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxNDMKCjIwMTUtMDYtMDUgMTQ6NDk6MTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogcmVtb3ZlIGlnbm9yZWQgYXNzaWdubWVudHMKCSAgUmVtb3ZlIGFzc2lnbm1lbnRzIHRvIERGQlJlc3VsdCByZXMgdGhhdCBhcmUgbmV2ZXIgcmVhZC4KCjIwMTUtMDYtMDUgMTQ6MzQ6NTUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgaWdub3JlZCBhc3NpZ25tZW50CgkgIEZ1bmN0aW9uIGdvZXMgdG8gZG9uZSBiZWZvcmUgdGhlIHZhbHVlIHNldCBpbiBzdGFydF9vZmZzZXQgaXMgZXZlciB1c2VkLgoKMjAxNS0wNi0wNSAwOTozNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBhIGNvbW1vbiB0eXBvOiByZXRyZWl2ZSAtPiByZXRyaWV2ZQoJICBTZWVtcyB0byBoYXZlIGJlZW4gY29weSBwYXN0ZWQgYXJvdW5kIGEgZmV3IHBsYWNlcwoKMjAxNS0wNi0wNSAwOToyMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZHJvcCBUT0RPIHRoYXQgZG9lc24ndCBuZWVkIGEgc29sdXRpb24KCSAgQ29ubmVjdGlvbiBzcGVlZCBpcyBvbmx5IGNoZWNrZWQgYXQgdGhhdCBwb2ludCBpbiBobHNkZW11eCBzbyB0aGVyZQoJICBpcyBubyByZWFsIG5lZWQgdG8gcmVmYWN0b3IgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjgKCjIwMTUtMDYtMDUgMDk6MTU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkgIFJldmVydCAiaGxzZGVtdXg6IFNpbXBsaWZ5IGxvZ2ljIGluIHByb2Nlc3NfbWFuaWZlc3QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGNhM2EyMmI2YjMzYWQ4YmU0MzgzMDYzZTc2Zjc5YzRkMzQ2NTM1ZC4KCSAgVGhlIGNvbm5lY3Rpb24tc3BlZWQ9MCBpcyB1c2VkIGFzIGEgc3BlY2lhbCB2YWx1ZSBpbiB0aGUgcHJvcGVydHkKCSAgb2YgaGxzZGVtdXggdG8gbWVhbiAnYXV0b21hdGljJyBzZWxlY3Rpb24sIG0zdTguYyBkb2Vzbid0IG5lZWQKCSAgdG8ga25vdyBhYm91dCB0aGF0IGFzIGl0IHNob3VsZCBiZSBhcyBzaW1wbGUgYXMgcG9zc2libGUuCgkgIFNvIHRoaXMgcGF0Y2ggaGlkZXMgdGhpcyBhdXRvbWF0aWMgc2VsZWN0aW9uIGRvY3VtZW50ZWQgaW4gaGxzZGVtdXgKCSAgaW50byBtM3U4IGxvZ2ljIGFuZCBJIHRoaW5rIHRoZSBnZXRzIGhhcmRlciB0byB1bmRlcnN0YW5kIHRoZSBjb2RlLgoJICBJdCBhbHNvIG1ha2VzIHRoZSBobHNkZW11eCB1bml0IHRlc3RzIHdvcmsgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyOAoKMjAxNS0wNi0wNSAxNDozMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEZpeCBpbnZlcnRlZCBsb2dpYyBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDE1LTA2LTA1IDA4OjU4OjAzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJICBzaW1wbGV2aWRlb21hcmtkZXRlY3Q6IGZpeCBkZXRlY3Qgb2YgdmlkZW9tYXJrIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlIHZpZGVvCgkgIEluIGNhc2Ugb2YgdGhlIHZpZGVvbWFyayBiZWluZyBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSwKCSAgYW4gZXJyb3Igd2FzIGJlaW4gdGhyb3duIHNheWluZywgbWFyayB3aWR0aCBpcyBtb3JlIHRoYW4gdmlkZW8gd2lkdGguCgkgIEFuZCB3aGVuIHRoZSB3aWR0aCwgb2Zmc2V0IHByb3BlcnRpZXMgYXJlIHNldCB0byBtYXhpbXVtIGl0IHJlc3VsdGVkIGluIGNyYXNoLgoJICBJbnN0ZWFkIG9mIHRocm93aW5nIGVycm9yLCBhZGRlZCBsb2dpYyB0byBkZXRlY3QgdGhlIG1hcmsKCSAgaW4gY2FzZSBvZiBwYXJ0aWFsIHZpc2liaWxpdHkgb3IgZG9udCBzaG93IHRoZSBtYXJrIHdoZW4gaXQgaXMgb3V0c2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwOAoKMjAxNS0wNi0wNSAxNDoxMDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHNlZ21lbnRzIHdlIGhhdmUgd2hlbiBhIHNlZ21lbnQgdGVtcGxhdGUgaW5zdGVhZCBvZiBhIGxpc3QgaXMgdXNlZAoJICBPdGhlcndpc2Ugd2Ugd291bGQganVzdCBjb250aW51ZSBkb3dubG9hZGluZyBuZXcgZmlsZXMgZm9yZXZlciB1bnRpbCB3ZSBnZXQKCSAgNDA0IGZvciB0aGUgZmlyc3Qgb25lLCBhbmQgdGhlbiBlcnJvciBvdXQgaW5zdGVhZCBvZiBnb2luZyBFT1MuCgoyMDE1LTA2LTA1IDA4OjUzOjMwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJICBzaW1wbGV2aWRlb21hcms6IEFkZCBFcnJvciBsb2dzCgkgIFdoZW4gdGhlIHBhdHRlcm4gb2Zmc2V0IGlzIG91dHNpZGUgdGhlIHZpZGVvLCB0aGUgcHJpbnQgZXJyb3IgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA4CgoyMDE1LTA2LTA1IDEzOjI4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAibXBkcGFyc2VyOiBEb24ndCBjb25zaWRlciBzdHJlYW1zIHdpdGggYSBrbm93biBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24gYXMgbGl2ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzNzAxMWU1MTk4MzBlMDc4NmZhNmUzMDdlZDI2MDAzYTJhODc3NGYxLgoJICBUaGlzIGNoYW5nZSB3YXMgYWN0dWFsbHkgY29tcGxldGVseSB1bm5lY2Vzc2FyeSwgdGhlIHN0cmVhbXMgaW4gcXVlc3Rpb24gYXJlCgkgIG1hcmtlZCBhcyBzdGF0aWMgYW5kIGFyZSBub3QgY29uc2lkZXJlZCBsaXZlIGFueXdheS4KCjIwMTUtMDYtMDUgMTM6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBjb25zaWRlciBzdHJlYW1zIHdpdGggYSBrbm93biBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24gYXMgbGl2ZQoKMjAxNS0wNi0wNSAxMToyNjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRXJyb3Igb3V0IGlmIGRvd25sb2FkaW5nIGEgc2VnbWVudCBmYWlsZWQgdG9vIG9mdGVuIGluIGxpdmUgbW9kZQoJICBJdCdzIHRydWUgdGhhdCB3ZSBzaG91bGRuJ3QgY29uc2lkZXIgZXJyb3JzIGZhdGFsIGltbWVkaWF0ZWx5LCBidXQgaWYgd2UKCSAgYWx3YXlzIGlnbm9yZSB0aGVtIHdlIHdpbGwgbG9vcCBpbmZpbml0ZWx5IG9uIGxpdmUgc3RyZWFtcyB3aXRoIHNlZ21lbnRzCgkgIHRoYXQgY2FuJ3QgYmUgZG93bmxvYWRlZCBhdCBhbGwuCgoyMDE1LTA2LTAzIDEyOjE3OjE5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwOiBBbGxvdyBnZXR0aW5nIHNzcmMgb2YgbW9yZSBwYWNrYWdlIHR5cGVzIHRoYW4gUlIgYW5kIFNSCgkgIFRoaXMgYWxsb3dzIGRlY3J5cHRpbmcgcmVkdWNlIHNpemUgcGFja2FnZXMuIFNlZSBSRkMgNTUwNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzI2CgoyMDE1LTA2LTA0IDEzOjM2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZWZhY3RvciBwYWQgY3JlYXRpb24KCSAgQXZvaWQgcmVwZWF0aW5nIHRoZSBzYW1lIHBhZCBjcmVhdGlvbiBjb2RlIGV2ZXJ5d2hlcmUKCjIwMTUtMDYtMDQgMTU6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBjcmFzaCBpbiBkZWJ1ZyBvdXRwdXQgaWYgc3RyZWFtLT5zZWdtZW50cyBpcyBOVUxMCgoyMDE1LTA2LTA0IDEzOjMxOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogZml4IGxvZ2ljIGFuZCB0aW1lc3RhbXAgbm9uLW11eGVkIHN0cmVhbXMgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDM4MQoKMjAxNS0wNi0wNCAxMjo1MzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9nc3RsaWJkZTI2NS5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1ZGVjOiBmaXggdXAgcGx1Z2luIG5hbWUgYW5kIGRlY29kZXIgZGVzY3JpcHRpb24KCjIwMTUtMDYtMDQgMTM6MzY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IENsYW1wIHNlZWsgdGltZXMgdG8gdGhlIGF2YWlsYWJpbGl0eVN0YXJ0VGltZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBzZWVrIHRvIG5lZ2F0aXZlIHRpbWVzLCB3aGljaCBhcmUgaW50ZXJwcmV0ZWQgYXMgdW5zaWduZWQKCSAgaW50ZWdlcnMgbGF0ZXIuCgoyMDE1LTA2LTA0IDEzOjEzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgd2hlbiBhZHZhbmNpbmcgc2VnbWVudHMKCjIwMTUtMDYtMDQgMTI6MzY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFJlbGVhc2UgdGhlIG1hbmlmZXN0IG11dGV4IGJlZm9yZSB3YWl0aW5nIGZvciBhIGRvd25sb2FkCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGh1cnQgcGFyYWxsZWwgZG93bmxvYWRzIGluIHRoZSBiZXN0IGNhc2UsIGFuZCBvZnRlbiBjYXVzZQoJICBkZWFkbG9ja3MuCgoyMDE1LTA2LTA0IDExOjU0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBJZiBjaGFubmVsL3JhdGUgbmVnb3RpYXRpb24gZmFpbHMsIGZhbGwgYmFjayB0byBzdGVyZW8gYW5kIDQ4a0h6CgoyMDE1LTA2LTA0IDExOjUyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogU2V0IHVwIGRlZmF1bHQgaGVhZGVyIHdpdGggNDhrSHogc2FtcGxlIHJhdGUgaW5zdGVhZCBvZiAwCgoyMDE1LTA2LTA0IDExOjQ1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV9maWVsZF9uZWFyZXN0X2ludCgpIG9ubHkgd29ya3MgaWYgdGhlIHN0cnVjdHVyZSBoYXMgdGhpcyBmaWVsZAoJICBKdXN0IHNldCB0aGUgcmF0ZS9jaGFubmVscyBkaXJlY3RseSBpZiB0aGUgY2FwcyBkb24ndCBoYXZlIHRoaXMgZmllbGQuCgoyMDE1LTA2LTA0IDExOjA1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogVXNlIDY0IGJpdCBpbnRlZ2VyIGZvcm1hdCBzdHJpbmdzIHdoZW4gcGFzc2luZyBhIDY0IGJpdCBpbnRlZ2VyCgkgIE90aGVyd2lzZSB3ZSdsbCBvbmx5IGdldCBoYWxmIG9mIGl0cyBiaXRzIHByaW50ZWQgb24gMzIgYml0IGFyY2hpdGVjdHVyZXMuCgkgIEZvciB0aGlzLCBwcm9tb3RlIHRoZSAlZC1zdHlsZSBmb3JtYXQgc3RyaW5ncyB0byBzb21ldGhpbmcgdGhhdCBhY2NlcHRzCgkgIDY0IGJpdCBpbnRlZ2VycyB3aXRoIEdfR0lOVDY0X01PRElGSUVSLgoKMjAxNS0wNi0wNCAxMDo0NzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogVmFsaWRhdGUgZm9ybWF0IHN0cmluZ3MgYmVmb3JlIHVzaW5nIHRoZW0KCSAgVXNpbmcgZm9ybWF0IHN0cmluZ3MgZnJvbSBhbiB1bnRydXN0ZWQgc291cmNlIHdpdGhvdXQgdmFsaWRhdGlvbiBpcwoJICBjYWxsaW5nIGZvciBwcm9ibGVtcywgYW5kIGF0IGxlYXN0IGFsbG93cyB0byByZW1vdGVseSBjcmFzaCB5b3VyIGFwcGxpY2F0aW9uLgoJICBJZiBub3Qgd29yc2UuCgoyMDE1LTA2LTA0IDA5OjQwOjE5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogRml4IGJ1aWxkCgoyMDE1LTA2LTAzIDIyOjIxOjMwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlOiBmaXggYnVpbGQgZXJyb3Igd2hlbiBjb21waWxpbmcgY29jb2EtdmlkZW9vdmVybGF5CgkgIGxpYnRvb2w6IGVycm9yOiBpZ25vcmluZyB1bmtub3duIHRhZyBPQkpDCgkgIGFuZAoJICBjbGFuZzogZXJyb3I6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcHRocmVhZCcKCjIwMTUtMDYtMDQgMTU6MDE6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvd2luZG93L2Rpc3BtYW54OiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNS0wNi0wNCAxMjoxNjozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJICBnbC93aW5kb3c6IHVzZSB0aGUgZGVmYXVsdCBtYWluIGxvb3AgaW1wbGVtZW50YXRpb24gZm9yIGFsbCBiYWNrZW5kcwoJICBmaXhlcyBnbGltYWdzaW5rIGJlaW5nIHVuYWJsZSB0byBkaXNwbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzM3CgoyMDE1LTA2LTAzIDIxOjIyOjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbHdpbmRvd19jb2NvYTogdXNlIHBhcmVudCBkZWZhdWx0IGltcGxlbWVudGF0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMzcKCjIwMTUtMDYtMDMgMjA6MDM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBBZGQgdGhlIHN0YXJ0TnVtYmVyIGFzIG9mZnNldCB0byB0aGUgc2VnbWVudCBpbmRleCB3aGVuIHVzaW5nIGEgdGVtcGxhdGUKCjIwMTUtMDYtMDMgMTY6NTk6NDQgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkgIGR0bHNkZWM6IEZpeCBjcml0aWNhbCB3YXJuaW5nICJnb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQiCgkgIEZvcndhcmQgc3RpY2t5IGV2ZW50cyBvbiByZXF1ZXN0ZWQgc3JjIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDM0OAoKMjAxNS0wNi0wMyAxNToyNToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHJlbW92ZSB1c2VsZXNzIHZhbHVlIGFzc2lnbm1lbnRzCgkgIEluIGFsbCB0aGVzZSBjYXNlcyByZXQgaXMgc2V0IGJ1dCBvdmVyd3JpdHRlbiBiZWZvcmUgdGhlIHJldHVybiBvZiB0aGUgZnVuY3Rpb24KCjIwMTUtMDYtMDMgMTQ6NDQ6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmFiaW4yLXRlc3Q6IHByb3RlY3QgZnJvbSBkaXZpc2lvbiBieSB6ZXJvCgkgIEhpZ2hseSB1bmxpa2VseSB0byBoYXZlIDAgY2FwdHVyZXMsIGJ1dCBwcm90ZWN0IGZyb20gY3Jhc2hlcyBpbiB0aGUgZnV0dXJlIGJ5CgkgIGRvaW5nIG5vbmUgb2YgdGhlIG1hdGggaWYgdGhlcmUgaXMgbm8gZGF0YS4KCjIwMTUtMDYtMDIgMjA6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbG93ZXIgY3VybCByZXF1aXJlbWVudCB0byA3LjM1LjAKCSAgQnVpbGQgYW5kIHVuaXQgdGVzdHMgd2VyZSB0ZXN0ZWQgYWdhaW5zdCA3LjM1IHRvbyBub3csCgkgIHdoaWNoIGlzIHRoZSB2ZXJzaW9uIGluIFVidW50dSAxNC4wNC4KCjIwMTUtMDYtMDIgMTY6NDA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvIG5vdCBhY2Nlc3MgdmFyaWFibGUgYWZ0ZXIgdW5yZWYKCSAgRGF0YSBtaWdodCBub3QgZXhpc3QgYW55bW9yZQoKMjAxNS0wNi0wMiAxNTo0NToxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogYXVkaW9pbnRlcmxlYXZlOiB0ZXN0IG5vdCBzZXR0aW5nIHBvc2l0aW9ucwoJICBEaXNhYmxlICJjaGFubmVsLXBvc2l0aW9ucy1mcm9tLWlucHV0IiwgYnV0IHdpdGhvdXQgYWN0dWFsbHkgZ2l2aW5nCgkgIGEgcG9zaXRpb24gdGFibGUsIHNvIGV2ZXJ5IHBvc2l0aW9uIHNob3VsZCBiZSBOT05FCgoyMDE1LTA2LTAyIDE1OjQ0OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBGaXggaW5kZW50YXRpb24gaW4gYXVkaW9pbnRlcmxlYXZlIHRlc3QKCjIwMTUtMDYtMDIgMTE6MzE6MDAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZG9uJ3QgaWdub3JlIHpiYXJfc2Nhbl9pbWFnZSgpIGVycm9ycwoKMjAxNS0wNi0wMyAwMDozMTo0MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBTZXQgbmV3IHN5bmMgcG9pbnQgd2hlbiBjb3B5aW5nCgkgIFNldCBhIG5ldyBzeW5jIHBvaW50IHdoZW4gY29weWluZyBpbnN0ZWFkIG9mCgkgIHRyYW5zZmVycmluZyB0aGUgKG5vbi1yZWZjb3VudGVkKSBHTCBzeW5jIG9iamVjdAoJICBmcm9tIHRoZSBzb3VyY2UgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI3OQoKMjAxNS0wNi0wMiAyMzo1OTo1MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBBZGQgc29tZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDYtMDIgMTY6MDI6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdnA4cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgY2hlY2s6IFVzZSBHU1RfQ0hFQ0tfTUFJTiAoKSBtYWNybyBldmVyeXdoZXJlCgkgIE1ha2VzIHNvdXJjZSBjb2RlIHNtYWxsZXIsIGFuZCBlbnN1cmVzIHdlIGdvIHRocm91Z2ggY29tbW9uIGluaXRpYWxpemF0aW9uCgkgIHBhdGggKGxpa2UgdGhlIG9uZSB0aGF0IHNldHMgdXAgWE1MIHVuaXQgdGVzdCBvdXRwdXQgLi4uKQoKMjAxNS0wNi0wMiAxMDoyMTo0MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSAgc2ltcGxldmlkZW9tYXJrOiBmaXggZGlzcGxheSBvZiB2aWRlb21hcmsgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUgdmlkZW8KCSAgSW4gY2FzZSBvZiB0aGUgdmlkZW9tYXJrIGJlaW5nIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlLCBhbiBlcnJvciB3YXMgYmVpbmcKCSAgdGhyb3duIHNheWluZyB0aGUgbWFyayB3aWR0aCBpcyBtb3JlIHRoYW4gdmlkZW8gd2lkdGguIEFuZCB3aGVuIHRoZSB3aWR0aCwKCSAgb2Zmc2V0IHByb3BlcnRpZXMgYXJlIHNldCB0byBtYXhpbXVtIGl0IHJlc3VsdGVkIGluIGNyYXNoLiBJbnN0ZWFkIG9mIHRocm93aW5nCgkgIGFuIGVycm9yLCBhZGQgbG9naWMgdG8gZGV0ZWN0IHRoZSBtYXJrIGluIGNhc2Ugb2YgcGFydGlhbCB2aXNpYmlsaXR5IG9yIGRvbid0CgkgIHNob3cgdGhlIG1hcmsgd2hlbiBpdCBpcyBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA4CgoyMDE1LTAzLTI0IDE1OjE3OjE2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZW5hYmxlIENoaW5lc2UgQVZTIHZpZGVvIHN0cmVhbQoJICBDaGluZXNlIGJyb2FkY2FzdGVyIGVuY2Fwc3VsYXRlIEFWUyB2aWRlbyBjb2RlYyBpbnRvIE1QRUcyLVRTLiBUaGV5CgkgIHVzZSB0aGUgc3RyZWFtX2lkIDB4NDIgdG8gaWRlbnRpZnkgQVZTIHZpZGVvIHN0cmVhbXMuIEl0IHNob3VsZCBiZSBub3RlZAoJICB0aGF0IHRoaXMgaWQgaXMgY3VycmVudGx5IHdpdGhpbiB0aGUgSVNPIHJlc2VydmVkIHJhbmdlLCBoZW5jZSBpdCdzCgkgIHV0aWxpc2F0aW9uIGlzIHVub2ZmaWNpYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3MzEKCjIwMTUtMDYtMDIgMTc6MjQ6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcHJvdmlkZSBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gZm9yIEdMRVMyIGZvciBHTF9SR0JBOAoKMjAxNS0wNi0wMiAxNjozMjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGNvbnNvbGlkYXRlIGludGVybmFsX3JnYmFfZm9ybWF0IGludG8gZ2xtZW1vcnkKCSAgRXhwb3NlIHNvbWUgdXNlZnVsIHZhbHVlIGZvcm1hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucyBhdmFpbGFibGUgaW4KCSAgR3N0R0xNZW1vcnkuCgoyMDE1LTA2LTAxIDE5OjQzOjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQWx3YXlzIGhhdmUgImNoYW5uZWxzIiBiZSB0aGUgYWN0dWFsIHBhZCBjb3VudAoJICBEb24ndCBmb3JjZSBpdCBhbnl3aGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjUyCgoyMDE1LTA2LTAxIDE5OjQyOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogVXNlIHRoZSBjaGFubmVsIGNvdW50IGZyb20gdGhlIHNldCBjYXBzCgkgIFRoaXMgaXMgdGhlIHNhbWUgbnVtYmVyIHRoYXQgd2FzIHVzZWQgdG8gYWxsb2NhdGUgdGhlIGJ1ZmZlcgoKMjAxNS0wNi0wMSAxODo1MDoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgdGhhdCB0aGUgbGF0ZW5jeSBpcyBpbiBucwoKMjAxNS0wNi0wMSAyMDowMzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogT25seSBsb3dlciByYW5rcyBvZiBPTVguRXh5bm9zLiBhdWRpbyBjb2RlY3MsIHRoZSB2aWRlbyBjb2RlY3MgYXJlIGFjdHVhbGx5IHdvcmtpbmcKCjIwMTUtMDYtMDEgMTk6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IEdpdmUgbWFyZ2luYWwgcmFuayB0byBjb2RlY3MgdGhhdCBzdGFydCB3aXRoIE9NWC5FeHlub3MuCgkgIE9NWC5FeHlub3MuIGNvZGVjcyBhcmUgZXhpc3Rpbmcgb24gc29tZSBkZXZpY2VzIGxpa2UgdGhlCgkgIEdhbGF4eSBTNSBtaW5pLCBhbmQgY2F1c2UgcmFuZG9tIGNyYXNoZXMgKG9mIHRoZSBkZXZpY2UsCgkgIG5vdCB0aGUgYXBwISkgYW5kIGdlbmVyYWxseSBtaXNiZWhhdmUuIFRoYXQgc3BlY2lmaWMgZGV2aWNlCgkgIGhhcyBvdGhlciBjb2RlY3MgdGhhdCB3b3JrIHdpdGggYSBkaWZmZXJlbnQgbmFtZSwgYnV0IGxldCdzCgkgIGp1c3QgZ2l2ZSB0aGVtIG1hcmdpbmFsIHJhbmsgaW4gY2FzZSB0aGVyZSBhcmUgZGV2aWNlcyB0aGF0CgkgIGhhdmUgbm8gb3RoZXIgY29kZWNzIGFuZCB0aGVzZSBhcmUgYWN0dWFsbHkgdGhlIG9ubHkgd29ya2luZwoJICBvbmVzCgoyMDE1LTA2LTAxIDE5OjIzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBHaXZlIGxvd2VyIHJhbmtzIHRvIGNvZGVjcyBub3Qgc3RhcnRpbmcgd2l0aCBPTVguCgkgIE9uIHNvbWUgZGV2aWNlcyB0aGVyZSBhcmUgY29kZWNzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBPTVguLCB3aGlsZQoJICB0aGVyZSBhcmUgYWxzbyBzb21lIHRoYXQgZG8uIEFuZCBvbiBzb21lIG9mIHRoZXNlIGRldmljZXMgdGhlIG9uZXMKCSAgdGhhdCBkb24ndCBzdGFydCB3aXRoIE9NWC4ganVzdCBjcmFzaCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gd2hpbGUKCSAgdGhlIG90aGVycyB3b3JrLiBUbyBtYWtlIHRoaW5ncyBldmVuIG1vcmUgY29tcGxpY2F0ZWQgb3RoZXIgZGV2aWNlcwoJICBoYXZlIGNvZGVjcyB3aXRoIHRoZSBzYW1lIG5hbWUgdGhhdCB3b3JrIGFuZCBubyBhbHRlcm5hdGl2ZXMuCgkgIFNvIGp1c3QgZ2l2ZSBhIGxvd2VyIHJhbmsgdG8gdGhlc2Ugbm9uLU9NWCBjb2RlY3MgYW5kIGhvcGUgdGhhdAoJICB0aGVyZSdzIGFuIGFsdGVybmF0aXZlIHdpdGggYSBoaWdoZXIgcmFuay4KCSAgQWxzbyBzdGFnZWZyaWdodCBnaXZlcyBjb2RlY3Mgc3RhcnRpbmcgd2l0aCBPTVguIGEgaGlnaGVyIHJhbmsgdG9vIGFuZAoJICBjb25zaWRlcnMgb3RoZXIgY29kZWNzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBPTVguIGFzIHNvZnR3YXJlIGNvZGVjcy4KCjIwMTUtMDYtMDEgMTE6MTI6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgdGVzdHM6IHpiYXI6IGNoZWNrIGZvciBmcmFtZSBmaWVsZCBvbiBhdHRhY2gtZnJhbWU9dHJ1ZQoJICBBbHNvIGNoZWNrIGZvciB0aGUgc2FtcGxlIHRvIGhhdmUgYSBidWZmZXIgYW5kIGNhcHMKCSAgYXNzb2NpYXRlZCB3aXRoIGl0LgoJICBSZWxhdGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU3CgoyMDE1LTA1LTIwIDE1OjA0OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBSZXF1aXJlIHdpZHRoIGFuZCBoZWlnaHQgZmllbGQgZm9yIEgyNjQKCSAgVGhpcyBkZWNvZGVyIGRvZXMgbm90IHdvcmsgaWYgd2lkdGggYW5kIGhlaWdodCBmaWVsZCBhcmUgbm90IHNldAoJICBpbiB0aGUgc2lua3BhZCBjYXBzLiBMZXQncyBtYWtlIHRoaXMgZXhwbGljaXQgYnkgYWRkaW5nIHRoZW0gdG8KCSAgdGhlIHRlbXBsYXRlIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NTUKCjIwMTUtMDYtMDEgMTQ6MDc6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmM6CgkgIGdsY29udGV4dF9ncHVfcHJvY2VzczogY2xvc2UgdGhlIHdpbmRvdyB3aGVuIGRvbmUKCjIwMTUtMDYtMDEgMTQ6MDU6NTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuYzoKCSAgZ2x3aW5kb3dfZ3B1X3Byb2Nlc3M6IGF2b2lkIGVtcHR5IHN0cnVjdAoKMjAxNS0wNi0wMSAxMjo1ODoxMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IG1vdmUgbWFpbiBsb29wL2NvbnRleHQgY3JlYXRpb24gYmFjayB0byBpbml0L2ZpbmFsaXplCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxOTkKCjIwMTUtMDYtMDEgMTQ6MDU6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkgIGV4YW1wbGVzOiBGaXggZ2wgdXNhZ2Ugd2l0aG91dCB3YXlsYW5kIHN1cHBvcnQKCSAgTm90IGFsbCBwbGF0Zm9ybXMgaGF2ZSB3YXlsYW5kIHN1cHBvcnQuIEhhbmRsZSB0aGF0IGdyYWNlZnVsbHkgYXQKCSAgY29tcGlsZSB0aW1lCgoyMDE1LTA2LTAxIDEzOjU1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IEluaXRpYWxpemUgR3N0TWFwSW5mbwoJICBBdm9pZHMgZG9pbmcgYSBjYWxsIHRvIHVubWFwIHdpdGggaXQgdW5pbml0aWFsaXplZAoJICBDSUQgIzEzMDI4MzQKCjIwMTUtMDYtMDEgMTI6NTE6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBjbGVhbiBkZXJlZmVyZW5jZXMgb2YgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNC0yNSAyMjo1NToyOCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBmaXgga2V5ZnJhbWUgcmVxdWVzdCByYWNlIGNvbmRpdGlvbgoJICBJdCBpcyBpbmNvcnJlY3QgdG8gbW9kaWZ5IHRoZSBmcmFtZSBwcm9wZXJ0aWVzIGFmdGVyIHBhc3NpbmcgdGhlbSwgc2luY2UKCSAgVlRDb21wcmVzc2lvblNlc3Npb25FbmNvZGVGcmFtZSB0YWtlcyByZWZlcmVuY2UgYW5kIHdlIGhhdmUgbm8gY29udHJvbAoJICBvdmVyIHdoZW4gaXQncyBiZWluZyB1c2VkLgoJICBJbiBmYWN0LCB0aGUgY29kZSBjYW4gYmUgc2ltcGxpZmllZC4gV2UganVzdCBwcmVhbGxvY2F0ZSB0aGUgZnJhbWUKCSAgcHJvcGVydGllcyBmb3Iga2V5ZnJhbWUgcmVxdWVzdHMsIGFuZCBwYXNzIE5VTEwgb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDY3CgoyMDE1LTA2LTAxIDExOjU2OjEzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IG1ha2UgcHJpdmF0ZSBhbGwgdmFyaWFibGUgc3ViY2xhc3NlcyBkb24ndCBuZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDUtMDEgMjM6MjA6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBhZGQgZnJhbWUgc2FtcGxlIHRvIGJhcmNvZGUgbWVzc2FnZQoJICBOZXcgYXR0YWNoLWZyYW1lIHByb3BlcnR5IGVuYWJsZXMgYmFyY29kZSBmcmFtZQoJICBkdW1waW5nIHdoZW4gc2V0IHRvIHRydWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1NTcKCjIwMTUtMDUtMzEgMjE6MzA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBnbDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoyNDY6NDE6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ3N1cmZhY2VfbGlzdGVuZXInIFstV2Vycm9yLC1XdW51c2VkLWNvbnN0LXZhcmlhYmxlXQoJICBzdGF0aWMgY29uc3Qgc3RydWN0IHdsX3N1cmZhY2VfbGlzdGVuZXIgc3VyZmFjZV9saXN0ZW5lciA9IHsKCSAgXgoKMjAxNS0wNS0yNyAyMzozNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IENvbmRpdGlvbmFsbHkgdXNlIGdldF97aW5wdXQsb3V0cHV0fV9idWZmZXIoKSBBbmRyb2lkIDIxIEFQSXMKCSAgQWxzbyBwcm9wZXJseSBzZXQgbGltaXQvcG9zaXRpb24gb24gYnl0ZSBidWZmZXIsIHNvbWUgY29kZWNzIHByZWZlciB0byBoYXZlCgkgIGNvcnJlY3QgdmFsdWVzIHRoZXJlLgoKMjAxNS0wNS0zMSAxNjo1MzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBmaXggY29tcGlsZXIgZXJyb3IKCSAgZ3N0Z2x3aW5kb3cuYzoxMTE4OjU0NDogZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcl0KCSAgZ19yZXR1cm5faWZfZmFpbCAoR1NUX0dMX0lTX1dJTkRPVyAod2luZG93KSk7CgoyMDE1LTA1LTMxIDE1OjQyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZ3RrIGV4YW1wbGVzIGZvciBnbHVwbG9hZAoKMjAxNS0wNS0zMSAxNTo0MDoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBndGsgZXhhbXBsZXMgZm9yIHdheWxhbmQKCjIwMTUtMDUtMjkgMTg6MDY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsL3dheWxhbmQ6IGltcGxlbWVudCBzZXR0aW5nIHRoZSByZW5kZXIgcmVjdGFuZ2xlCgkgIFBsYWNlcyBvdXIgc3Vic3VyZmFjZSBhdCB0aGUgcmVjdGFuZ2xlIHByb3ZpZGVkIHBvc2l0aW9uCgoyMDE1LTA1LTI5IDE4OjAzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IGhhbmRsZSBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZQoKMjAxNS0wNS0yOSAxODowMToyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogZG9uJ3QgYmxvY2sgdGhlIGV2ZW50IGxvb3AgYWZ0ZXIgcG9sbAoJICBVc2UgdGhlIGRpc3BhdGNoX3BlbmRpbmcgc2V0IG9mIGZ1bmN0aW9ucyB3aGljaCBqdXN0IHJ1biB0aGUgY3VycmVudGx5CgkgIHF1ZXVlZCB1cCBldmVudHMgaW5zdGVhZCBvZiBwb3RlbnRpYWxseSB3YWl0aW5nIGZvciBhbiBldmVudCB0byBvY2N1ci4KCjIwMTUtMDUtMjcgMTY6NDI6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5oOgoJICB0ZXN0cy9nbC9ndGs6IGltcGxlbWVudCBzZXR0aW5nIGEgd2F5bGFuZCBkaXNwbGF5L3N1cmZhY2UKCjIwMTUtMDUtMjcgMTY6Mzk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbC93YXlsYW5kOiBpbXBsZW1lbnQgYmFzaWMgdmlkZW8gb3ZlcmxheSBzdXBwb3J0IHZpYSBzdWJzdXJmYWNlcwoJICBDdXJyZW50bHkgZG9lcyBub3QgcG9zaXRpb24gdGhlIHN1YnN1cmZhY2UgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBzdXJmYWNlIGF0IGFsbAoKMjAxNS0wNS0yNyAxNTo0NDozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogYWxsb3cgYSBOVUxMIHdsX2V2ZW50X3F1ZXVlCgkgIHBlcmZvcm0gb3BlcmF0aW9ucyBvbiB0aGUgZGVmYXVsdCB3bF9kaXNwbGF5IGV2ZW50IHF1ZXVlIGluIHRoYXQgY2FzZQoKMjAxNS0wNS0yNyAxNTo0MzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2wvdXRpbHM6IGltcGxlbWVudCB3YXlsYW5kIGRpc3BsYXkgR3N0Q29udGV4dAoJICByZXF1cmllZCBmb3Igc2hhcmluZyBHTCBjb250ZXh0cyBvciBzdWJzdXJmYWNlIHN1cHBvcnQKCjIwMTUtMDUtMjIgMTY6MDc6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkgIGdsL3dheWxhbmQ6IHJ1biBlYWNoIHdpbmRvdyBvbiBhIHNlcGFyYXRlIHF1ZXVlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzQ3CgoyMDE1LTA1LTMwIDAyOjE5OjI1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogRG9uJ3QgbGVhayB0ZW1wIHN0cmluZ3MgaW4gX1JHQl9waXhlbF9vcmRlcigpCgkgIEZpeCBhIG1lbW9yeSBsZWFrIG9mIHRlbXBvcmFyeSBzdHJpbmdzIHdoZW4gY29tcHV0aW5nCgkgIHN3aXp6bGluZyBvZiBSR0IgZm9ybWF0cy4KCjIwMTUtMDUtMzAgMDI6Mjk6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogQWRkIHRyYW5zZm9ybV9pbnRlcm5hbF9jYXBzKCkgdmZ1bmMKCSAgQWRkIGEgdmZ1bmMgdGhhdCBpcyBjYWxsZWQgYnkgZ2xmaWx0ZXIgYmVmb3JlIGl0IHNldHMKCSAgY2FwcyBmZWF0dXJlcyBhbmQgaW50ZXJzZWN0cyB3aXRoIHRoZSBwZWVyIGNhcHMsIGFuZAoJICBtb3ZlIHJlbW92aW5nIHRoZSBzaXplIGZyb20gY2FwcyBpbnRvIGl0cyBkZWZhdWx0CgkgIGltcGxlbWVudGF0aW9uLiBBbGxvd3Mgc3ViLWNsYXNzZXMgdG8gZG8gbW9yZQoJICBzb3BoaXN0aWNhdGVkIG1hbmFnZW1lbnQgb2YgdGhlIHNpemUgZmllbGRzIGluIGNhc2UgdGhleQoJICBkb24ndCBzdXBwb3J0IGFyYml0cmFyeSByZXNpemluZyBvciBoYXZlIGRpc3RpbmN0CgkgIHByZWZlcmVuY2VzLgoKMjAxNS0wNS0zMCAwMjoyMzo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IERvbid0IHJlbW92ZSBzaXplIGZpZWxkcyBmcm9tIGNhcHMKCSAgSW5zdGVhZCBvZiByZW1vdmluZyBzaXplIGZpZWxkcywgc2V0IHRoZW0gdG8gdGhlIGZ1bGwgcmFuZ2UKCSAgbGlrZSB2aWRlb3NjYWxlIGRvZXMsIHNvIHRoZSBjYXBzIGFyZSBjbGVhcmx5IHVuZml4ZWQgaW4KCSAgYWxsIGNhc2VzLgoKMjAxNS0wNS0xMCAxODo1NToxNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBZGQgY2xhc3MgcHJvcGVydHkgdG8gZGlzYWJsZSBjYXBzIHNjYWxpbmcKCSAgQWRkIHByZXNlcnZlX3VwZGF0ZV9jYXBzX3Jlc3VsdCBib29sZWFuIG9uIHRoZSBjbGFzcyB0byBhbGxvdwoJICBzdWItY2xhc3NlcyB0byBkaXNhYmxlIHZpZGVvYWdncmVnYXRvciByZW1vdmluZyBzaXplcyBhbmQgZnJhbWVyYXRlCgkgIGZyb20gdGhlIHVwZGF0ZV9jYXBzKCkgcmV0dXJuIHJlc3VsdC4KCjIwMTUtMDUtMDQgMTg6MTc6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENhdGNoIGVycm9ycywgYW5kIGFsbG93IHN1Yi1jbGFzcyB0byByZXR1cm4gTlVMTCBmcm9tIGdldF9vdXRwdXRfYnVmZmVyKCkKCSAgQSByZXR1cm4gdmFsdWUgb2YgR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGZyb20gZ2V0X291dHB1dF9idWZmZXIoKQoJICBtZWFucyB0aGUgc3ViLWNsYXNzIGRvZXNuJ3Qgd2FudCB0byBwcm9kdWNlIGFuIG91dHB1dCBidWZmZXIsIHNvCgkgIHNraXAgaXQuCgkgIElmIGdzdF92aWRlb2FnZ3JlZ2F0b3JfZG9fYWdncmVnYXRlKCkgZ2VuZXJhdGVzIGFuIGVycm9yLCBtYWtlIHN1cmUKCSAgdG8gcHJvcGFnYXRlIGl0IC0gZG9uJ3QganVzdCBpZ25vcmUgYW5kIGRpc2NhcmQgdGhlIGVycm9yIGJ5CgkgIG92ZXItd3JpdGluZyBpdCB3aXRoIHRoZSBnc3RfcGFkX3B1c2goKSByZXN1bHQuCgoyMDE1LTA1LTI5IDE2OjAyOjMxICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkgIHJ0bXBzaW5rOiBEbyBub3QgY3Jhc2ggd2hlbiByZWNlaXZpbmcgYnVmZmVycyBhZnRlciBHU1RfRkxPV19FUlJPUgoJICBJZiB0aGUgUlRNUCBVUkkgaXMgaW52YWxpZCwgdGhlIHJ0bXBzaW5rIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBJZiBpdCBzdGlsbCByZWNlaXZlcyBidWZmZXJzIGFmdGVyIHRoYXQsIGl0IHNob3VsZG4ndCBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwNAoKMjAxNS0wNS0yOSAwOTowMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYXZvaWQgYXNzZXJ0aW9uIHdoZW4gc3BsaXR0aW5nIGJ1ZmZlcgoJICBQYXNzIHNpemU9LTEgYXMgaXMgaWYgdGhhdCBpcyB0aGUgY2FzZSBpbnN0ZWFkIG9mIHN1YnRyYWN0aW5nCgkgIHRoZSBvZmZzZXQuIE90aGVyd2lzZSB3ZSBoYXZlIGFuIGludmFsaWQgc2l6ZSBwYXNzZWQgZm9yIHRoYXQKCSAgYnVmZmVyLgoKMjAxNS0wNS0yOCAxNTo1OTowMiArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzc3J0cGRlYzogUmVsZWFzZSByZXF1ZXN0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDM2CgoyMDE1LTA1LTI4IDE1OjU3OjEwICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogUmVtb3ZlIHVubmVjZXNzYXJ5IHJlZi91bnJlZiBvcGVyYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMzYKCjIwMTUtMDUtMjggMTU6NTU6MDMgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggcmVsZWFzZSByZXF1ZXN0IHBhZCBmdW5jdGlvbgoJICBEb24ndCB1bnJlZiB0aGUgcGFkIHJlZmVyZW5jZSB3ZSBkb24ndCBvd24gYW5kIGp1c3QgcmVtb3ZlIHRoZSBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMzYKCjIwMTUtMDUtMjggMTQ6MzA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNlYXJjaCBtb3JlIHdoZW4gYWR2YW5jaW5nIGZyYWdtZW50CgkgIEluIGxpdmUgc2l0dWF0aW9ucywgaXQgaXMgbm90IHVuY29tbW9uIGZvciB0aGUgY3VycmVudCBmcmFnbWVudCB0byBlbmQKCSAgdXAgb3V0IG9mIHRoZSAodXBkYXRlZCkgcGxheSByYW5nZSAobG93ZXN0L2hpZ2hlc3Qgc2VxdWVuY2UpLiBCdXQgdGhlIG5leHQKCSAgZnJhZ21lbnQgdG8gcGxheSAqaXMqIHByZXNlbnQgaW4gdGhlIHBsYXkgcmFuZ2UuCgkgIFdoZW4gYWR2YW5jaW5nLCBpZiB3ZSBjYW4ndCBmaW5kIHRoZSBjdXJyZW50IEdzdE0zVThNZWRpYUZpbGUsIGRvbid0IGFib3J0CgkgIHN0cmFpZ2h0IGF3YXkuIEluc3RlYWQsIGxvb2sgaWYgYSBHc3RNM1U4TWVkaWFGaWxlIHdpdGggdGhlIG5leHQgc2VxdWVuY2UgdmFsdWUKCSAgaXMgcHJlc2VudCwgYW5kIGlmIHNvIHN3aXRjaCB0byBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAyOAoKMjAxNS0wNS0yNyAxMDo1ODoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGFkZCBHc3RHTENvbnRleHRHUFVQcm9jZXNzIGJhY2tlbmQKCSAgSXQgYnVpbGRzIGl0cyBHTCB2dGFibGUgZnJvbSBhIHByb2MgYWRkcmVzcyBwcm92aWRlZAoJICBieSB0aGUgYXBwbGljYXRpb24uCgoyMDE1LTA1LTI3IDE2OjI4OjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIGFuZCB1c2UgZ3N0X2dsX2ludGVybmFsX2Zvcm1hdF9yZ2JhCgkgIFByZXZpb3VzbHkgd2hlbiBjb21waWxpbmcgR3N0R0wgd2l0aCBib3RoIEdMIGFuZCBHTEVTMiwKCSAgR0xfUkdCQTggd2FzIHBpY2tlZCBmcm9tIEdML2dsLmguIEJ1dCBhIGNsYXNoIG1heSBoYXBwZW4gYXQKCSAgcnVudGltZSB3aGVuIG9uZSBpcyBzZWxlY3RpbmcgR0xFUzIuCgkgIGdzdF9nbF9pbnRlcm5hbF9mb3JtYXRfcmdiYSBhbGxvd3MgdG8gY2hlY2sgYXQgcnVudGltZQoJICBpZiBpdCBzaG91bGQgdXNlIEdMX1JHQkEgb3IgR0xfUkdCQTguCgoyMDE1LTA1LTI3IDE0OjEwOjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBnbHdpbmRvd194MTE6IHVzZSBwYXJlbnQgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbgoKMjAxNS0wNS0yNyAxMToxNjozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0X2dseDogcmVuYW1lIHZhcmlhYmxlIGZyb20gd2luZG93IHRvIGNvbnRleHQKCjIwMTUtMDUtMjcgMTE6MTE6NTUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBpbml0aWFsaXplIGRlYnVnIGluIGNsYXNzX2luaXQKCSAgVXNlZnVsIGlmIG9uZSB1c2VzIGdzdF9nbF93aW5kb3dfeDExX25ldyBkaXJlY3RseQoJICBpbnN0ZWFkIG9mIGdzdF9nbF93aW5kb3dfbmV3LgoKMjAxNS0wNS0yNyAxMTowNzozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogaW5pdGlhbGl6ZSBkZWJ1ZyBpbiBjbGFzc19pbml0CgkgIFVzZWZ1bCBpZiBvbmUgdXNlcyBnc3RfZ2xfY29udGV4dF9lZ2xfbmV3IGRpcmVjdGx5CgkgIGluc3RlYWQgb2YgZ3N0X2dsX2NvbnRleHRfbmV3LgoKMjAxNS0wNS0yNyAxMDo1NToyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgZ3N0X2dsX2NvbnRleHRfc2V0X2Rpc3BsYXkgaGVscGVyCgoyMDE1LTA1LTI3IDE1OjI1OjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgbWlzc2luZyBfQ0FTVCBhZnRlciBHX1RZUEVfQ0hFQ0tfQ0xBU1MKCjIwMTUtMDUtMjcgMTA6NTE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBhZGQgbWlzc2luZyBfQ0FTVCBhZnRlciBHX1RZUEVfQ0hFQ0tfQ0xBU1MKCjIwMTUtMDUtMjYgMTg6Mzg6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBwcm92aWRlcyBzb21lIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIHRvIGZhY3Rvcml6ZSB3aXRoIGFsbCBiYWNrZW5kcwoKMjAxNS0wNS0yOCAwMDo1OTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFB1c2ggRU9TIG9uIGVycm9yIHJldHVybi4KCSAgQmVmb3JlIHNodXR0aW5nIGRvd24gdGhlIHNyY3BhZCB0YXNrIGR1ZSB0byBhCgkgIGRvd25zdHJlYW0gZXJyb3IsIHB1c2ggYW4gRU9TIHRvIGdpdmUgZG93bnN0cmVhbQoJICBhIGNoYW5jZSB0byBzaHV0IGRvd24gc29tZXdoYXQgY2xlYW5seS4KCjIwMTUtMDUtMjcgMTM6MTI6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IG92ZXJ3cml0ZSB2YWx1ZQoJICBWYWx1ZSBvZiByZXMgaXMgcmVzZXQgdG8gRkFMU0UgaW4gZWFjaCBpdGVyYXRpb24gb2YgdGhlIHdoaWxlIGxvb3AuIFdlIHdhbnQgdG8KCSAgY29uc2VydmUgVFJVRSBpZiBhbnkgcGFkIGV2ZW50IHN1Y2NlZWRlZCB1bnRpbCB3ZSBhcnJpdmUgdG8gZG9uZS4KCSAgQWxzbywgYnVmIGlzIHNldCB0byB0aGUgdmFsdWUgb2YgKm91dGJ1ZiB0d2ljZS4gUmVtb3ZpbmcgdGhlIGZpcnN0IGFzc2lnbm1lbnQKCSAgc2luY2UgdGhlIHNlY29uZCBvbmUgaXMgb3V0c2lkZSBvZiBhIGNvbmRpdGlvbmFsLgoKMjAxNS0wNS0yNyAxMzowODo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJICBvcGVuY3Y6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbgoJICAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBDODksIG1vdmluZyB0aGUgZGVjbGFyYXRpb25zCgkgIHRvIGJlZm9yZSB0aGUgJ2ZvcicgbG9vcHMuCgoyMDE1LTA1LTI3IDEzOjA1OjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbgoJICAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBDODksIG1vdmluZyB0aGUgZGVjbGFyYXRpb25zCgkgIHRvIGJlZm9yZSB0aGUgJ2ZvcicgbG9vcHMuCgoyMDE1LTA1LTI3IDEyOjAzOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBUaGUgZGF0YSB2YXJpYWJsZSBpcyBpbmNyZW1lbnRlZCBidXQgbmV2ZXIgcmVhZCBhZ2Fpbi4gUmVtb3ZlIHRoZSB1bnVzZWQgdmFsdWUKCSAgYXNzaWdubWVudC4KCjIwMTUtMDUtMjcgMDY6MTc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVtb3ZlIG1vcmUgdW51c2VkIGF0dHJpYnV0ZXMKCSAgVGhvc2UgYXJlIG5vdCB1c2VkIG9yIG9ubHkgcmVhZAoKMjAxNS0wNS0yNyAwNTozNTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGF0dHJpYnV0ZQoJICBJdCBpcyBuZXZlciByZWFkIGZvciBhbnl0aGluZyB1c2VmdWwKCjIwMTUtMDUtMjYgMTY6NDc6NDcgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBmaXggYSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTU6MTA6MjggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBwcm9wZXJseSBoYW5kbGUgZXJyb3JzIHdoaWxlIGxvYWRpbmcgZmlsZQoJICBQb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgYW55dGhpbmcgYmFkIGhhcHBlbnMgd2hpbGUgcmVhZGluZwoJICBhbmQgcGFyc2luZyB0aGUgaW1hZ2UgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNTowNDozNCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIGdsb3ZlcmxheTogcmVtb3ZlIHVudXNlZCB0eXBlX2ZpbGUgZmllbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNTowMTozNyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIGZyb20gZmlsdGVyIGFuZCBmaWx0ZXJfdGV4dHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE2OjM5OjU5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgdW51c2VkIGFzc2lnbm1lbnQKCSAgYnVmIGlzIGluY3JlbWVudGVkIGp1c3QgYmVmb3JlIHJldHVybmluZywgdGhpcyBuZXcgdmFsdWUgaXMgbmV2ZXIgdXNlZC4KCSAgUmVtb3ZpbmcgdW51c2VkIGFzc2lnbm1lbnQuCgoyMDE1LTA1LTI2IDE1OjI0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24KCSAgJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM4OSwgbW92aW5nIHRoZSBkZWNsYXJhdGlvbgoJICB0byBiZWZvcmUgdGhlICdmb3InIGxvb3AuCgoyMDE1LTA1LTI2IDE0OjE0OjM0ICswMTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGV4Y2x1c2lvbjogZXhjZXB0aW9uIHdoZW4gc2V0IGZhY3RvciB0byAwCgkgIFdoZW4gZmFjdG9yIHByb3BlcnR5IGlzIHNldCB0byAwLCB0cmFuc2Zvcm0ganVzdCByZXR1cm5zLgoJICBBZGp1c3QgdGhlIG1pbmltdW0gdmFsdWUgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwNwoKMjAxNS0wNS0yNiAxMjo0Nzo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IHByb3Blcmx5IGluaXRpYWxpemUgdGhlIHNoYWRlcnMgYWNyb3NzIGNvbnRleHRzIGltcGxlbWVudGluZyBtdWx0aXBsZSBBUEkncwoKMjAxNS0wNS0yNiAxMjo0NDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHNfbGFwbGFjaWFuOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIGluIGdsMy9nbGVzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzkzCgoyMDE1LTA1LTI1IDEyOjMzOjUwICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJICBjdXJsc2luazogaGFuZGxlIHNvY2tldCBjYWxsYmFjayBmb3IgYWN0aXZlIEZUUCBjb25uZWN0aW9ucyBhcyB3ZWxsCgkgIFNpbmNlIHZlcnNpb24gNy4yOC4wLCBsaWJjdXJsIGFsbG93cyBhcHBsaWNhdGlvbiB0byBzZXQKCSAgc29ja2V0IG9wdGlvbnMgZm9yIGFjdGl2ZSBGVFAgY29ubmVjdGlvbnMuCgkgIEJ1bXAgbGliY3VybCByZXF1aXJlbWVudCB0byB2ZXJzaW9uIHRlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTgxNQoKMjAxNS0wNS0yMCAxMjowODozOCArMDEwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IHNlZ2ZhdWx0IGludHJvZHVjZWQgYnkgc2VnbWVudCBpdGVyYXRpb24gcmVmYWN0b3JpbmcgKDIxMDVhMzEwKS4KCSAgVGhlIGZ1bmN0aW9ucyB0byBnZXQgdGhlIG5leHQgZnJhZ21lbnQsIG5leHQgZnJhZ21lbnQgdGltZXN0YW1wIGFuZCB0byBhZHZhbmNlCgkgIHRvIHRoZSBuZXh0IGZyYWdtZW50IG5lZWQgdG8gd29yayBkaWZmZXJlbnRseSB3aGVuIHN0cmVhbS0+c2VnbWVudHMgaXMgTlVMTC4KCSAgVXNlIGxvZ2ljIHNpbWlsYXIgdG8gdGhhdCBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCAyMTA1YTMxMCB0byBwZXJmb3JtIHRoZXNlCgkgIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY4NAoKMjAxNS0wNS0xOCAyMjozMzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHVzZSBzaWduZWQgaW50ZWdldCB0byByZXByZXNlbnQgc2VnbWVudCBpbmRleAoJICBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVwcmVzZW50IC0xIHRvIGNoZWNrIHdoZW4gd2UgYXJlIEVPUwoJICBvbiByZXZlcnNlIHBsYXliYWNrIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIHdvbid0IGFsbG93IHRoYXQuCgkgIENJRCAjMTI5ODE5MwoJICBDSUQgIzEyOTgxOTQKCSAgQ0lEICMxMjk4MTk1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzQKCjIwMTUtMDUtMjUgMTA6MzA6NTUgKzA5MDAgIFN1aHdhbmcgS2ltIDxzdWh3YW5nLmtpbUBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG91dGRhdGVkIGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTgwOQoKMjAxNS0wNS0yMiAxMzoxMjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogcmVtb3ZlIGRlYWQgZXZlbnQgc291cmNlIGNvZGUKCjIwMTUtMDUtMjEgMTc6NDg6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIGdsL3dheWxhbmQ6IGFkZCBHc3RHTERpc3BsYXlXYXlsYW5kCgkgIFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBzcGxpdCBmcm9tIEdzdEdMV2luZG93V2F5bGFuZAoJICBDYW4gbm93IGhhdmUgbXVsdGlwbGUgZ2xpbWFnZXNpbmsgZWxlbWVudHMgYWxsIGRpc3BsYXlpbmcgb3V0cHV0CgkgIGxpbmtlZCB2aWEgR0wgb3Igb3RoZXJ3aXNlIChiYXJyaW5nIEdMIHBsYXRmb3JtIGxpbWl0YXRpb25zKS4KCSAgVGhlIGludGVsIGRyaXZlciBpcyByYWN5IGFuZCBjYW4gY3Jhc2ggc2V0dGluZyB1cCB0aGUgdHdvIGdsaW1hZ2VzaW5rIGNvbnRleHRzLgoJICBlLmcuCgkgIHZpZGVvdGVzdHNyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsdXBsb2FkICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHQuICEgcXVldWUgISBnbGVmZmVjdHNfYmx1ciAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB2aWRlb3Rlc3RzcmMgISBnbHVwbG9hZCAhIGdsZmlsdGVyY3ViZSAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB0LiAhIHF1ZXVlICEgZ2xlZmZlY3RzX2JsdXIgISBnbGltYWdlc2lua2VsZW1lbnQKCjIwMTUtMDUtMjUgMTc6Mjc6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGZpeCBEcmF3RWxlbWVudHMgY2FsbCBmb3IgZWxlbWVudCBhcnJheSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk3MzQKCjIwMTUtMDUtMjMgMDE6MDA6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogcHJvdmlkZSB0aGUgZXhhY3QgR0wgYXBpIHZlcnNpb24gZm9yIHRoZSB3cmFwcGVkIGNvbnRleHQKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIGVuZCB1cCBiZWluZyBtaXN0YWtlbiBmb3IgdGhlIGRpZmVyZW5jZSBiZXR3ZWVuIGEKCSAgZ2wzIGFuZCBhIGdsMiBjb250ZXh0IHJlc3VsdGluZyBpbiBhIGZhaWx1cmUgZ2V0dGluZyB0aGUgbGlzdCBvZgoJICBleHRlbnNpb25zIGZyb20gdGhlIHdyYXBwZWQgY29udGV4dCBkdWUgdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbgoJICBnbEdldFN0cmluZyBhbmQgZ2xHZXRTdHJpbmdpIGZvciB0aGUgR0xfRVhURU5TSU9OUyB0b2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTcyOAoKMjAxNS0wNS0yMiAwMjo0MDozNyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHNlbWljb2xvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjkxCgoyMDE1LTA1LTIxIDE1OjMwOjM0IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBkbyBub3QgY2FsbCBTZXRQYXJlbnQgaW4gcmVsZWFzZV9wYXJlbnRfd2luX2lkKCkKCSAgV2hlbiBjYWxsZWQgZnJvbSBnc3RfZ2xfd2luZG93X3dpbjMyX2Nsb3NlKCksIGludGVybmFsIHdpbmRvdwoJICBjb3VsZCBub3QgZXhpc3QsIGFuZCBpZiBpdCBkb2VzIGl0J3MgZ29pbmcgdG8gYmUgZGVzdHJveWVkIGp1c3QKCSAgYWZ0ZXIgdGhhdCBhbnl3YXkuIEFsc28gaXQgY2F1c2VzIHdpbmRvd19wcm9jKCkgdG8gYmUgY2FsbGVkCgkgIGFuZCBjcmFzaCBiZWNhdXNlIGl0IGdldHMgYSBOVUxMIGNvbnRleHQuCgkgIFdoZW4gY2FsbGVkIGZyb20gZ3N0X2dsX3dpbmRvd193aW4zMl9zZXRfd2luZG93X2hhbmRsZSgpIHdlIGFyZQoJICBnb2luZyB0byBzZXQgYW5vdGhlciBwYXJlbnQgYW55d2F5LCBhbmQgaXQncyBwcm9iYWJseSBiZXR0ZXIgdG8KCSAgcmVwYXJlbnQgZGlyZWN0bHkgaW5zdGVhZCBvZiBwYXNzaW5nIGJ5IGEgTlVMTCBwYXJlbnQgd2hpY2ggY291bGQKCSAgY2F1c2UgdGhlIGludGVybmFsIHdpbmRvdyB0byBwb3B1cCBicmllZmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIxIDE1OjMwOjAwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNzowOToyMSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogZml4IGNyYXNoIHdoZW4gZmluYWxpemluZyBHc3RHTENvbnRleHQKCSAgZ3N0X2dsX2NvbnRleHRfZmluYWxpemUoKSBpcyBjYWxsaW5nIGdzdF9nbF93aW5kb3dfd2luMzJfcXVpdCgpCgkgIHdoaWNoIHdhcyBwb3N0aW5nIGEgbWVzc2FnZS4gQnV0IHRoZW4gd2luZG93X3Byb2MgdGFrZXMgd2luZG93J3MKCSAgY29udGV4dCBhbmQgZ2V0IGEgTlVMTC4KCSAgTm93IHRoYXQgd2UndmUgZ290IGEgR01haW5Mb29wIHdlIGNhbiBkbyBsaWtlIG90aGVyIGJhY2tlbmRzIGFuZAoJICBzaW1wbHkgY2FsbCBnX21haW5fbG9vcF9xdWl0KCkuCgkgIFRoaXMgYWxzbyByZW1vdmUgZHVwbGljYXRlZCBjb2RlIHRvIHJlbGVhc2UgdGhlIHBhcmVudCB3aW5kb3cgYW5kCgkgIHBvdGVudGlhbCBjcmFzaCB0aGVyZSBiZWNhdXNlIHBhcmVudF9wcm9jIGNvdWxkIGJlIE5VTEwgaWYgd2UgbmV2ZXIKCSAgY3JlYXRlZCB0aGUgaW50ZXJuYWwgd2luZG93LiBUaGF0IGNvdWxkIGhhcHBlbiBmb3IgZXhhbXBsZSBpZiBzZXR0aW5nCgkgIHN0YXRlIHRvIFJFQURZIHRoZW4gc2V0dGluZyBhIHdpbmRvd19oYW5kbGUsIGFuZCBnbyBiYWNrIHRvIE5VTEwgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTc6MDY6NDIgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IEZpeCBsZWFrZWQgR3N0R0xDb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTU6MzA6NDkgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IHNldCB0aGUgcGFyZW50IHdpbmRvdyB3aGVuIGNyZWF0aW5nIGludGVybmFsIHdpbmRvdwoJICBXaGVuIF9zZXRfd2luZG93X2hhbmRsZSgpIHdhcyBjYWxsZWQgaW4gUkVBRFkgc3RhdGUsIGl0IHdhc24ndAoJICBzZXQgdG8gdGhlIGludGVybmFsIHdpbmRvdyBjcmVhdGVkIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE1OjI5OjUwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL3dpbjMyX21lc3NhZ2Vfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi93aW4zMl9tZXNzYWdlX3NvdXJjZS5oOgoJICBnbDogd2luMzI6IHVzZSBhIEdNYWluQ29udGV4dCB0byBkaXNwYXRjaCB3aW4zMiBtZXNzYWdlcwoJICBnc3RfZ2xfd2luZG93X3dpbjMyX3NlbmRfbWVzc2FnZV9hc3luYygpIGNvdWxkIGJlIGNhbGxlZCBiZWZvcmUgdGhlCgkgIGludGVybmFsIHdpbmRvdyBpcyBjcmVhdGVkIHNvIHdlIGNhbm5vdCB1c2UgUG9zdE1lc3NhZ2UgdGhlcmUuCgkgIHgxMSBhbmQgd2F5bGFuZCBiYWNrZW5kcyBib3RoIGNyZWF0ZSBhIGN1c3RvbSBHU291cmNlIGZvciB0aGlzLAoJICBzbyB0aGVyZSBpcyBubyByZWFzb24gdG8gbm90IGRvIHRoYXQgZm9yIHdpbjMyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIyIDAwOjI3OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRG9uJ3QgbGVhayBhbGwgbWVtb3J5IHVwbG9hZGVkIHZpYSByYXcgdXBsb2Fkcy4KCSAgUmVtb3ZlIGFuIGV4dHJhIHJlZiBtaXNzZWQgd2hlbiBzd2l0Y2hpbmcgb3ZlciB0byBub3QKCSAgcmV1c2luZyBvdXRwdXQgdGV4dHVyZXMKCjIwMTUtMDUtMjEgMTY6MjQ6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvci9nbHZpZGVvbWl4ZXI6IERvbid0IGNhbGN1bGF0ZSBQQVIvREFSIHdpdGggdW5zZXQgR3N0VmlkZW9JbmZvcwoJICBPdGhlcndpc2Ugd2UgZGl2aWRlIGJ5IHplcm8uCgoyMDE1LTA1LTIxIDE2OjE5OjA4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBGaXggZG91YmxlIGFzc2lnbm1lbnQKCjIwMTUtMDUtMjEgMTU6MDU6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiByZXF1aXJlIGEgc2hhZGVyIHZlcnNpb24gdG8gaW5pdGlhbGl6ZS4KCSAgSXQncyB2ZXJ5IG5lYXIgcG9pbnRsZXNzIHRvIHRyeSBvdXIgR0wgaW1wbGVtZW50YXRpb24gd2l0aG91dCBzaGFkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Mjg0CgoyMDE1LTA1LTIwIDAyOjM4OjUzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkgIEZpeCBmbGFncyBvcmRlciBpbiBHTCBleGFtcGxlcyBmb3IgdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTUtMDUtMjAgMDE6NTc6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBGaXggZmxhZ3Mgb3JkZXIgZm9yIHVuaW5zdGFsbGVkIGJ1aWxkCgoyMDE1LTA1LTIxIDAwOjU2OjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvci9nbHZpZGVvbWl4ZXI6IGZpeCB1cCBwYXIgaGFuZGxpbmcKCSAgV2Ugd2VyZSB1c2luZyB0aGUgd3JvbmcgZm9ybXVsYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjM0CgoyMDE1LTA0LTE3IDE1OjM2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDb25zaWRlciBTRUkgTkFMVSBhcyAiSEVBREVSIiBwYWNrZXRzCgkgIExpa2UgU1BTL1BQUyB0aGV5IGRvIGNvbnRhaW4gaW5mb3JtYXRpb24gd2hpY2ggd2lsbCBiZSBuZWVkZWQgdG8KCSAgZGVjb2RlIHRoZSBmb2xsb3dpbmcgZGF0YSAoYXMgcGVyIGRlZmluaXRpb24gb2YgdGhlIGZsYWcpCgkgIEFsc28gZW5zdXJlcyB0aGF0IHRoZSBzZXJpZXMgb2YgU1BTL1BQUy9TRUkgTkFMVSBiZWZvcmUgYSBrZXlmcmFtZQoJICBjYW4gYmUgY29uc2lkZXJlZCBhcyBvbmUgY29udGlndW91cyBoZWFkZXIKCjIwMTUtMDQtMTcgMTU6MzU6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IENhcnJ5IG92ZXIgR1NUX0JVRkZFUl9GTEFHX0hFQURFUgoJICBJbiB0aGUgc2FtZSB3YXkgd2UgZG8gaXQgZm9yIHRoZSBERUxUQV9VTklUIGZsYWcKCSAgVGhpcyBhbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyB0byBrbm93IHdoZXRoZXIgYSBnaXZlbiBtcGVnLXRzCgkgIHBhY2tldCBjb250YWlucyBhIGNvcnJlc3BvbmRpbmcgSEVBREVSIGVsZW1lbnRhcnkgdW5pdAoKMjAxNS0wNS0yMCAxMjoxMTozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IE9ubHkgY29weSBWUFMvU1BTL1BQUyBOQUwgdW5pdHMgaW4gaGVhZGVyIGJ1ZmZlcgoJICBQcmV2aW91c2x5IHRoZSBWUFMgdW5pdCB3YXMgZGV0ZWN0ZWQgYW5kIGFsbCBuZXh0IHBhY2tldHMgd2hlcmUgY29waWVkCgkgIGludG8gdGhlIGhlYWRlciBidWZmZXIgYXNzdW1pbmcgb25seSBTUFMgYW5kIFBQUyB3b3VsZCBmb2xsb3cuICBUaGlzIGlzCgkgIG5vdCBhbHdheXMgdHJ1ZSwgYWxzbyBvdGhlciB0eXBlcyBvZiBOQUwgdW5pdHMgZm9sbG93IHRoZSBWUFMgdW5pdCBhbmQKCSAgd2hlcmUgY29waWVkIHRvIHRoZSBoZWFkZXIgYnVmZmVyLiBOb3cgdGhlIFZQUy9TUFMvUFBTIGFyZSBleHBsaWNpdGVseQoJICBkZXRlY3RlZCBhbmQgY29waWVkIGluIHRoZSBoZWFkZXIgYnVmZmVyLgoKMjAxNS0wNS0yMCAxMToyNzoyNSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IEZpeCB0dW5lIHBhcmFtZXRlciBtaXNtYXRjaAoJICBUaGVyZSB3YXMgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSB0dW5lIHBhcmFtZXRlciBpbiB4MjY1IGFuZCB0aGUgZW51bQoJICB1c2VkIGluIHRoaXMgZWxlbWVudC4gVGhlIHZhbHVlIGluIHRoZSBlbnVtIGlzIHRoZSB4MjY1IHR1bmUKCSAgcGFyYW1ldGVyICsgMS4KCjIwMTUtMDUtMTkgMTg6MDI6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgYW1jYXVkaW9kZWM6IEFkZCBhbiBvdXRwdXQgYWRhcHRlciBmb3IgY2h1bmtpbmcgdGhlIG91dHB1dCBpbnRvIGNvZGVjIGZyYW1lcwoJICBPdGhlcndpc2UgdGhlIGJhc2UgY2xhc3Mgd2lsbCBiZSBjb25mdXNlZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU3MzAKCjIwMTUtMDUtMTkgMTA6NDM6MjggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbDogZml4IGNyYXNoIG9uIHdpbmRvd3Mgd2l0aCBpbnRlbCBkcml2ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTQzMAoKMjAxNS0wNS0yMCAwMDo1MDozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBzdGF0aWMgY29uc3QgdGhlIGluZGljZXMgYXJyYXkKCSAgdGhlIGNvbnRlbnRzIHdpbGwgbmV2ZXIgY2hhbmdlIGFueXdheS4KCjIwMTUtMDUtMjAgMDA6Mjg6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IGNvcnJlY3RseSB1c2UgdGhlIHN5bmMgbWV0YSBhY3Jvc3MgbXVsdGlwbGUgY29udGV4dHMKCSAgMS4gU2V0IHRoZSBzeW5jIHBvaW50IGFmdGVyIHRoZSAocG9zc2libGUpIHVwbG9hZCBoYXMgb2NjdXJlZAoJICAyLiBXYWl0IGluIHRoZSBjb3JyZWN0IEdMIGNvbnRleHQgKHRoZSBkcmF3IGNvbnRleHQpCgkgIE5vdGU6IFdlIGRvbid0IGFkZCB0aGUgR0wgc3luYyBtZXRhIHRvIHRoZSBpbnB1dCBidWZmZXIgYXMgaXQncyBub3QKCSAgd3JpdGFibGUgYW5kIGEgY29weSB3b3VsZCBiZSBleHBlbnNpdmUuCgkgIFNpbWlsYXIgdG8gdGhlIGNoYW5nZSB3aXRoIHRoZSBzYW1lIG5hbWUgZm9yIGdsaW1hZ2VzaW5rCgoyMDE1LTA1LTIwIDAwOjI4OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiB1cGRhdGUgZm9yIEdMMyBlbGVtZW50IGFycmF5IGJ1ZmZlciB1c2FnZQoJICBmaXhlcyBibGFuayBvdXRwdXQKCjIwMTUtMDUtMTkgMTY6MjI6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGNvcnJlY3RseSB1c2UgdGhlIHN5bmMgbWV0YSBhY3Jvc3MgbXVsdGlwbGUgY29udGV4dHMKCSAgMS4gU2V0IHRoZSBzeW5jIHBvaW50IGFmdGVyIHRoZSAocG9zc2libGUpIHVwbG9hZCBoYXMgb2NjdXJlZAoJICAyLiBXYWl0IGluIHRoZSBjb3JyZWN0IEdMIGNvbnRleHQgKHRoZSBkcmF3IGNvbnRleHQpCgkgIE5vdGU6IFdlIGRvbid0IGFkZCB0aGUgR0wgc3luYyBtZXRhIHRvIHRoZSBpbnB1dCBidWZmZXIgYXMgaXQncyBub3QKCSAgd3JpdGFibGUgYW5kIGEgY29weSB3b3VsZCBiZSBleHBlbnNpdmUuCgoyMDE1LTA1LTE5IDE2OjE5OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogcHJvdmlkZSBhIGN1cnJlbnQgd3JhcHBlZCBHc3RHTENvbnRleHQgZm9yIGNhbGxiYWNrcwoJICBTbyB0aGF0IHRoZSBkcmF3IGFuZCByZXNpemUgY2FsbGJhY2tzIGNhbiBnZXQgdGhlIGN1cnJlbnQgR3N0R0xDb250ZXh0LgoKMjAxNS0wNS0xOSAxNjoxNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZW5zdXJlIHRoYXQgdGhlIEZlbmNlIGlzIGdvaW5nIHRvIGJlIGV4ZWN1dGVkCgkgIE90aGVyd2lzZSBpdCBjb3VsZCBzdGF5IGNsaWVudCBzaWRlIHdpdGhvdXQgYmVpbmcgc3VibWl0dGVkIHRvIHRoZSBHTAoJICBzZXJ2ZXIgcmVzdWx0aW5nIGluIGFub3RoZXIgY29udGV4dCB3YWl0aW5nIG9uIGEgRmVuY2UgdGhhdCB3aWxsIG5ldmVyCgkgIGJlY29tZSBzaWduYWxsZWQgY2F1c2luZyBhIGRlYWRsb2NrLgoKMjAxNS0wNS0xOSAxMTo0NzoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBkb24ndCByZXVzZSBvdXRwdXQgdGV4dHVyZXMgZm9yIHJhdyBkYXRhIHVwbG9hZAoJICBDYXVzZXMgc3RhbGUgdGV4dHVyZXMgdG8gYmUgdXNlZCBmdXJ0aGVyIGRvd24gdGhlIGNoYWluLgoKMjAxNS0wNS0xOSAxMToxMTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogZG9uJ3QgY2xlYXIgdGhlIGZyYW1lYnVmZmVyCgkgIEJyZWFrcyBhdHRlbXB0aW5nIHRvIGJsZW5kIHdpdGggdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciBhbmQgc2hvdWxkIGJlIGRvbmUKCSAgZXhwbGljaXRseSBieSB0aGUgY2FsbGJhY2sgYW55d2F5LgoKMjAxNS0wNS0xOSAxMTowOTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IHRyYWNrIGdsX3N0YXJ0L3N0b3AgY29ycmVjdGx5CgkgIERvbid0IHN0YXJ0IG11bHRpcGxlIHRpbWVzIHdpdGhvdXQgY2FsbGluZyBnbF9zdG9wLgoKMjAxNS0wNS0xOCAyMDoxNjozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBSZXZlcnQgImRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmY2YzczNmZlMDhlMDFmNDMyMGM0YjAyZTgxMWEwYjU3Y2Y5N2NjMS4KCSAgVGhpcyBpcyBmaXhlZCBieSB0aGUgZ3RrLWRvYyAxLjIzIHJlbGVhc2UuCgkgIDxwYXJhPiBjYW5ub3QgY29udGFpbiA8cmVmc2VjdDI+OgoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3BhcmEuaHRtbAoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3JlZnNlY3QyLmh0bWwKCjIwMTUtMDUtMTQgMDI6MTE6NTAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTaW1wbGlmeSBsb2dpYyBpbiBwcm9jZXNzX21hbmlmZXN0CgkgIFNpbXBsaWZ5IGxvZ2ljIGluIHByb2Nlc3NfbWFuaWZlc3QgYW5kIHJlbW92ZSBhIFRPRE8gaXRlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyOAoKMjAxNS0wNS0xOCAxNDoxMjo1NiArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSAgY3ZzbW9vdGg6IHJlbmFtZSBwcm9wZXJ0aWVzCgkgIFRoZSBwcm9wZXJ0aWVzIGFyZSBuYW1lZCBhcyBwYXJhbTEgdG8gcGFyYW00LCB3aGljaCBtYWtlcyB2ZXJ5IGxpdHRsZSBzZW5zZQoJICBoZW5jZSByZW5hbWVkIHRoZSBwcm9wZXJ0aWVzIGFjY29yZGluZyB0byB3aGF0IGl0IGlzIGRvaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTIzCgoyMDE1LTA1LTE4IDE0OjAxOjU5ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSAgY3ZzbW9vdGg6IFdyb25nIGFzc2lnbm1lbnQgb2YgcHJvcCBsZWFkcyB0byBjcmFzaAoJICB3aGVuIHNldHRpbmcgcGFyYW0yIHByb3BlcnR5LCBpdCBpcyB3cm9uZ2x5IGJlaW5nIGFzc2lnbmVkIHRvIHBhcmFtMS4KCSAgVGhpcyBsZWFkcyB0byB3cm9uZyBiZWhhdmlvciBhbmQgYSBjcmFzaCB3aGVuIHBhcmFtMiBpcyBzZXQgYXMgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUyMwoKMjAxNS0wNS0xOCAxNDozMDoxOSArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiB3cm9uZyB2YWx1ZSBvZiBsZXZlbCBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgbGV2ZWwgaGFzIGEgbWluaW11bSB2YWx1ZSBvZiAwLiBCdXQgd2hlbiB3ZSBzZXQgdGhlIGxldmVsIGFzIDAsCgkgIGl0IGdldHMgYW4gYXNzZXJ0aW9uIGVycm9yLiBUaGUgZnVuY3Rpb24gaWN2UHlyU2VnbWVudGF0aW9uOHVDM1IgcmV0dXJucyBmYWxzZQoJICBpZiBsZXZlbCBpcyBzZXQgYXMgMCwgc2luY2UgdGhlIG1pbmltdW0gbGV2ZWwgY2FudCBiZSAwIGFuZCB0aHVzIHJlc3VsdHMgaW4gZXJyb3IuCgkgIEhlbmNlIGNoYW5naW5nIHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MjUKCjIwMTUtMDUtMTYgMjM6Mzg6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUKCSAgV2l0aCBndGtkb2MgMS4yMiwgdGhlIFhNTCBnZW5lcmF0b3IgZmFpbHMgd2hlbiBhIGl0ZW1pemVkbGlzdCBpcwoJICBmb2xsb3dlZCBieSBhIHJlZnNlY3QyLiBXb3JrYXJvdW5kIHRoZSBpc3N1ZSBieSB3cmFwcGluZyB0aGUKCSAgcmVmc2VjdDIgaW50byBwYXJhLgoKMjAxNS0wNS0wNiAxNToxNzoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggYnVmZmVyIHRpbWVzdGFtcCBub3QgYmVpbmcgaW4gc3RyZWFtIHRpbWUKCSAgVGltZXN0YW1wcyBzaG91bGQgc3RhcnQgYXQgdGhlIHNlZ21lbnQgc3RhcnQsIHJhdGhlciB0aGFuIDAsIHNvCgkgIHdlIG5lZWQgdG8gbm90IHN1YnRyYWN0IHRoZSBmaXJzdCB0aW1lc3RhbXAuIFRoaXMgbWFrZXMgdGhlIHNpbmsKCSAgY29ycmVjdGx5IGFjY291bnQgZm9yIHJ1bm5pbmcgdGltZSB3aGVuIHN3aXRjaGluZyBQTVRzIHdoZXJlIGEKCSAgc3RyZWFtIHN0YXJ0cyBub3QgcXVpdGUgYXQgemVybywgY2F1c2luZyB0aW1pbmcgb2Zmc2V0cyB0aGF0IGNhbgoJICBiZWNvbWUgbm90aWNlYWJsZSBhbmQgY2F1c2luZyBkcm9wcGVkIGZyYW1lcyBhZnRlciBhIGZldyB0aW1lcy4KCjIwMTUtMDUtMDYgMTU6MTY6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWNjdW11bGF0ZSBwcmV2aW91cyBzZWdtZW50IGJhc2UgdGltZQoKMjAxNS0wNC0yNCAxMjo1NjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBmaXggcmVmY291bnRpbmcgd2hlbiBhcHBseWluZyBhIG5ldyBQTVQKCSAgQSBuZXcgcHJvZ3JhbSBvYmplY3QgaXMgY3JlYXRlZCB0byByZXBsYWNlIGFuIGV4aXN0aW5nIG9uZQoJICBpbiB0aGUgcHJvZ3JhbXMgaGFzaCB0YWJsZSwgc28gaXRzIHJlZmNvdW50IG5lZWRzIHRvIG1hdGNoLgoJICBXaXRoIHRoZSBkZWZhdWx0IG9mIDAgcmVmY291bnQgb24gY3JlYXRpb24sIHRoZSBuZXh0IFBBVAoJICBjaGFuZ2Ugd2lsbCBjYXVzZSB0aGF0IHJlZmNvdW50IHRvIGJlIGJvdGggaW5jcmVtZW50ZWQgYW5kCgkgIGRlY3JlbWVudGVkIChhc3N1bWluZyB0aGUgbmV3IFBBVCByZWZlcmVuY2VzIHRoYXQgc3RyZWFtIHRvbyksCgkgIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHByb2dyYW0gdG8gYmUgZGVzdHJveWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDEyCgoyMDE1LTA1LTE0IDE2OjA2OjU1ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkgIGR0bHM6IEZpeCBtZW1vcnkgbGVhawoJICBLZXlzIHdlcmUgbm90IGNvcnJlY3RseSByZWxlYXNlZCB3aGVuIGl0IHdhcyBnZXQgYXMgYSBwcm9wZXJ0eQoJICBub3Igd2hlbiBhIHNlY29uZCBrZXkgd2FzIHJlY2VpdmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzODAKCjIwMTUtMDUtMTQgMjE6MjE6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZnJlZSB0aGUgdmVydGV4IGJ1ZmZlciB3aGVuIGRvbmUKCSAgZml4ZXMgYSBtZW1vcnkgbGVhawoKMjAxNS0wMS0yMiAxODowMDozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvbnRleHQvY29jb2E6IGltcGxlbWVudCBHTDMgY29yZSBjb250ZXh0IHNlbGVjdGlvbgoKMjAxNS0wNS0xNCAxODozNTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgdGVzdHMvZ2w6IGZpeCB0eXBvCgoyMDE1LTA1LTE0IDE2OjQyOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbDogcmVtb3ZlIHVzZWxlc3MgZ2x7RW4sRGlzfWFibGUgKEdMX1RFWFRVUkVfKikgY2FsbHMKCSAgV2UgYXJlIHVzaW5nIHNoYWRlcnMgZXZlcnl3aGVyZSBhbmQgc28gdGhleSBhcmUgbm90IG5lZWRlZAoKMjAxNS0wNS0xNCAxNToxMDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogY2xlYW51cCBwcm9wZXJ0aWVzCgkgIHJlbW92ZSB1bnVzZWQgImRpc3BsYXktbmFtZSIKCSAgZW5zdXJlIGRlZmF1bHRzIGJldHdlZW4gdGhlIGJpbi9lbGVtZW50IGFyZSB0aGUgc2FtZQoKMjAxNS0wNS0xNCAxNDo1NjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IG9ubHkgdHJ5IHRoZSBHTDIgc2hhZGVyIGluaXQgcGF0aCBpZiB3ZSBoYXZlIGEgR0wyIGNvbnRleHQKCjIwMTUtMDUtMTIgMjI6MDQ6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogYXR0ZW1wdCB0byBkZXRlY3QgdGhlIGdsZXMyIGluc2lkZSBvcGVuZ2wzIGNhc2UKCSAgVGhpcyBpcyBuZWNlc3NhcnkgdG8gdXNlIGdsZXMyIHNoYWRlcnMgaW4gYSBHTCAzIGNvcmUgY29udGV4dCBvbgoJICBPUyBYIHdoaWNoIGZhaWxzIHdpdGhvdXQgYSBwcm9wZXIgI3ZlcnNpb24gYmVpbmcgc2V0IG9uIHRoZSBzaGFkZXJzLgoKMjAxNS0wNS0xMiAxNzo1NTo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiByZW1vdmUgcmVmZXJlbmNlcyB0byBnbDMgc3BlY2lmaWMgc2hhZGVycwoJICBXZSByZWx5IHNwZWNpZmljYWxseSBvbiBnbGVzMiBzaGFkZXJzIGJlaW5nIHN1cHBvcnRlZCBieSB0aGUgR0wKCSAgaW1wbGVtZW50YXRpb24gd2l0aCBHTDMgY29yZSBwcm9maWxlLgoKMjAxNS0wNS0wMSAxMjowNDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogZWxlbWVudCBidWZmZXJzIGFyZSBwYXJ0IG9mIHZhbyBzdGF0ZQoJICBVc2UgdGhlbSBhcyBzdWNoLiAgVGhleSBhcmUgYWxzbyByZXF1aXJlZCBmb3IgR0wzIGNvcmUgcHJvZmlsZSBzdXBwb3J0CgkgIHdpdGggZ2xEcmF3RWxlbWVudHMgb24gT1MgWC4KCjIwMTUtMDUtMDcgMTI6MjU6MTAgKzA3MDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcHJvcGVybHkgZGV0ZWN0IChob3BlZnVsbHkpIHRoZSBjb3JyZWN0IGV4dF9yZy9hcmJfcmcgdmFyaWFudAoJICBHTF9FWFRfdGV4dHVyZV9yZyBpcyBvbmx5IHZhbGlkIGZvciBHTEVTMi4gR0xFUzMgdXNlcyBzaW1pbGFyIHdvcmRpbmcgdG8KCSAgdGhlIEdMX0FSQl90ZXh0dXJlX3JnIHdoaWNoIHJlcXVpcmVzIGEgc2l6ZWQgaW50ZXJuYWwgZm9ybWF0IHRoYXQgdGhlCgkgIEdMX0VYVF90ZXh0dXJlX3JnIGRvZXMgbm90IHJlcXVpcmUuCgkgIGh0dHBzOi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L2dsZXMvZXh0ZW5zaW9ucy9FWFQvRVhUX3RleHR1cmVfcmcudHh0CgkgIGh0dHBzOi8vd3d3Lm9wZW5nbC5vcmcvcmVnaXN0cnkvc3BlY3MvQVJCL3RleHR1cmVfcmcudHh0CgoyMDE1LTA1LTE0IDEzOjA0OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogaW1wbGVtZW50IHByb3BlciBwYXIgaGFuZGxpbmcKCSAgV2Ugd2VyZSBwcmV2aW91c2x5IGZhaWxpbmcgb24gZGlmZmVyZW50IGlucHV0IGFuZCBvdXRwdXQgcGFyCgoyMDE1LTA1LTEyIDEzOjQxOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGF2b2lkIGJ1c3ktbG9vcGluZyB3aGVuIHdhaXRpbmcgZm9yIG5ldyBmcmFnbWVudAoJICBXaGVuIGFsbCBmcmFnbWVudHMgaGF2ZSBhbHJlYWR5IGJlZW4gZG93bmxvYWRlZCBvbiBhIGxpdmUgc3RyZWFtCgkgIGRhc2hkZW11eCB3b3VsZCBidXN5IGxvb3AgYXMgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YKCSAgaGFzX25leHRfZnJhZ21lbnQgd291bGQgcmV0dXJuIFRSVUUuIEltcGxlbWVudCBpdCB0byBjb3JyZWN0bHkKCSAgc2lnbmFsIGlmIGFkYXB0aXZlZGVtdXggc2hvdWxkIHdhaXQgZm9yIHRoZSBtYW5pZmVzdCB1cGRhdGUgYmVmb3JlCgkgIHRyeWluZyB0byBnZXQgbmV3IGZyYWdtZW50cy4KCjIwMTUtMDUtMTEgMTQ6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogSW1wcm92ZSBsaXZlIHN0cmVhbSBtYW5pZmVzdCB1cGRhdGUgcmVwb3NpdGlvbmluZwoJICBXaGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdCB0aGUgdGltZXN0YW1wcyBvbiBpdCBtaWdodCBoYXZlIGNoYW5nZWQgYSBsaXR0bGUKCSAgZHVlIHRvIHJvdW5kaW5nIGFuZCB0aW1lc2NhbGUgY29udmVyc2lvbnMuIElmIHRoZSBjaGFuZ2UgbWFrZXMgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgY3VycmVudCBzZWdtZW50IHRvIGdvIHVwIGl0IG1ha2VzIGRhc2hkZW11eCByZXBvc2l0aW9uIHRvIHRoZSBwcmV2aW91cwoJICBvbmUgY2F1c2luZyBvbmUgZXh0cmEgdW5uZWNlc3NhcnkgZG93bmxvYWQuCgkgIFNvIHdoZW4gcmVwb3NpdGlvbmluZyBhZGQgYW4gZXh0cmEgMTAgbWljcm9zZWNvbmRzIHRvIGNvdmVyIGZvciB0aGF0IHJvdW5kaW5nCgkgIGlzc3VlcyBhbmQgaW5jcmVhc2UgdGhlIGNoYW5jZSBvZiBmYWxsaW5nIGluIHRoZSBzYW1lIHNlZ21lbnQuCgkgIEFkZGl0aW9uYWxseSwgYWxzbyBpbXByb3ZlIHRoZSB0aW1lIHVzZWQgd2hlbiB0aGUgY2xpZW50IGlzIGFscmVhZHkgYWZ0ZXIgdGhlCgkgIGxhc3Qgc2VnbWVudC4gSW5zdGVhZCBvZiB1c2luZyB0aGUgbGFzdCBzZWdtZW50IHN0YXJ0aW5nIHRpbWVzdGFtcCB1c2UgdGhlCgkgIGZpbmFsIHRpbWVzdGFtcCB0byBtYWtlIGl0IHJlcG9zaXRpb24gdG8gdGhlIG5leHQgb25lIGFuZCBub3QgdG8gdGhlIG9uZSB0aGF0CgkgIGhhcyBhbHJlYWR5IGJlZW4gZG93bmxvYWRlZC4KCjIwMTUtMDUtMTEgMTI6MzA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBtb3JlIHByb3RlY3Rpb24gd2hlbiBhY2Vzc2luZyBncHRyYXJyYXkgZW50cmllcwoJICBUaGUgZ2xpYiBzdHJ1Y3R1cmUgZG9lc24ndCBkbyByYW5nZSBjaGVja2luZyBzbyB3ZSBoYXZlIHRvIGRvIGl0CgkgIG91cnNlbHZlcy4KCSAgQWxzbyBhZGRzIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgbWVzc2FnZXMKCjIwMTUtMDUtMDggMTY6NTg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoJICBUaGVzZSBmdW5jdGlvbnMgb2YgZGlyZWN0bHkgZ2V0dGluZyBhbmQgc2V0dGluZyBzZWdtZW50IGluZGV4ZXMKCSAgYXJlIG5vIGxvbmdlciB1c2VmdWwgYXMgbm93IHdlIG5lZWQgMiBpbmRleGVzOiByZXBlYXQgYW5kIHNlZ21lbnQKCSAgaW5kZXguCgkgIFRoZSBvbmx5IG9wZXJhdGlvbnMgbmVlZGVkIGFyZSBhZHZhbmNlX3NlZ21lbnQsIGdvaW5nIGJhY2sgdG8gdGhlCgkgIGZpcnN0IG9uZSBvciBzZWVraW5nIGZvciBhIHRpbWVzdGFtcC4KCjIwMTUtMDUtMDggMTY6NDk6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV1c2Ugc2Vla2luZyBmdW5jdGlvbiB0byByZWR1Y2UgcmVwZWF0ZWQgY29kZQoJICBJbnN0ZWFkIG9mIHdyaXRpbmcgYSBzZWVrIHJvdXRpbmUsIGp1c3QgdXNlIHRoZSBtcGRwYXJzZXIgZnVuY3Rpb24uCgkgIEFsc28gcmVtb3ZlIGZ1bmN0aW9uIHRoYXQgaXMgbm90IG5lZWRlZCBhbnltb3JlCgoyMDE1LTA1LTA4IDE2OjMxOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHNlZ21lbnQgaXRlcmF0aW9uIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UKCSAgU2VnbWVudHMgYXJlIG5vdyBzdG9yZWQgd2l0aCB0aGVpciByZXBlYXQgY291bnRzIGluc3RlYWQgb2Ygc3BhbmRpbmcKCSAgdGhlbSB0byBtdWx0aXBsZSBzZWdtZW50cy4gVGhpcyBjYXVzZWQgYWR2YW5jaW5nIHRvIHRoZSBuZXh0IHNlZ21lbnQKCSAgdXNpbmcgYSBzaW5nbGUgaW5kZXggdG8gaGF2ZSB0byBpdGVyYXRlIG92ZXIgdGhlIHdob2xlIGxpc3QgZXZlcnkgdGltZS4KCSAgVGhpcyBjb21taXQgYWRkcmVzc2VzIHRoaXMgYnkgc3RvcmluZyBib3RoIHRoZSBzZWdtZW50IGluZGV4IGFzIHdlbGwKCSAgYXMgdGhlIHJlcGVhdCBpbmRleCBhbmQgbWFrZXMgYWR2YW5jaW5nIHRvIG5leHQgc2VnbWVudCBqdXN0IGFuCgkgIGluY3JlbWVudCBvZiB0aGUgcmVwZWF0IG9yIHRoZSBzZWdtZW50IGluZGV4LgoKMjAxNS0wNS0wNyAxNjozMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgbXBkIHBhcnNpbmcgZm9yIHJlcGVhdGVkIHNlZ21lbnQgZW50cmllcwoJICBVc2UgYSBzaW5nbGUgc2VnbWVudCB0byByZXByZXNlbnQgaXQgaW50ZXJuYWxseSB0byBhdm9pZCB1c2luZyB0b28KCSAgbXVjaCBtZW1vcnkuIFRoaXMgaGFzIHRoZSBkcmF3YmFjayBvZiBpc3N1aW5nIGEgbGluZWFyIHNlYXJjaCB0bwoJICBmaW5kIHRoZSBjb3JyZWN0IHNlZ21lbnQgdG8gcGxheSBidXQgdGhpcyBjYW4gYmUgZml4ZWQgYnkgdXNpbmcKCSAgYmluYXJ5IHNlYXJjaGVzIG9yIGNhY2hpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gYW5kIGp1c3QgbG9va2luZwoJICBmb3IgdGhlIG5leHQgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzY5CgoyMDE1LTA1LTEyIDEyOjU1OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRyb3AgZGVidWcgbWVzc2FnZSB0aGF0IHdhcyB3cm9uZwoJICBFT1MgZG9lc24ndCBuZWNlc3NhcmlseSBtZWFuIHRoYXQgbm8gZnJhZ21lbnQgd2FzIGRvd25sb2FkZWQKCjIwMTUtMDUtMTIgMTI6NTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgVG8gYWxsb3cgY29tbWl0aW5nIG9uIHRoaXMgZmlsZSBjbGVhbmx5CgoyMDE1LTA1LTExIDExOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHRoZSBwYXJlbnQgaXMgcHJvdmlkZWQgaW4gdGhlIGZ1bmN0aW9uCgkgIE5vIG5lZWQgdG8gZ2V0IGl0IGFnYWluCgoyMDE1LTA1LTEzIDE1OjU5OjQ4ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBGaXggbWVtb3J5IGxlYWsgcmVsZWFzaW5nIGNvbm5lY3Rpb25faWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMxOAoKMjAxNS0wNS0xMyAxNTozMzo0OSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogRml4IG1lbW9yeSBsZWFrIHdoaWxlIHNldHRpbmcgY29ubmVjdGlvbi1pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzE4CgoyMDE1LTA1LTEzIDE3OjE1OjU3ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggbWVtb3J5IGxlYWssIHJlbGVhc2UgcHJldmlvdXMgcGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjIKCjIwMTUtMDUtMTMgMTY6MDY6NTIgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCBtZW1vcnkgbGVhayBvbiBkaXNwb3NlCgkgIFBhcmVudCBkaXNwb3NlIGZ1bmN0aW9uIHdhcyBub3QgY2FsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjIKCjIwMTUtMDUtMTMgMTc6MTk6MjUgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzY29ubmVjdGlvbjogRml4IG1lbW9yeSBsZWFrIHdoaWxlIHNldHRpbmcgY2xvc3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI1CgoyMDE1LTA1LTEzIDE2OjIzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGZhYWQyIHZlcnNpb24gY2hlY2sKCSAgT24gZmVkb3JhIDIyLCB0aGUgb3V0cHV0IG9mIGNwcCBpbnNlcnRzIGV4dHJhIGRlYnVnIGNvbW1lbnRzLCB3aGljaAoJICBtYWtlcyBvdXIgcmVnZXhwIGZvciB0aGUgZmFhZDIgdmVyc2lvbiBjaGVjayBmYWlsLiBUaGlzIGluIHR1cm4gY2F1c2VzCgkgIGl0IHRvIGNvbXBpbGUgd2l0aCB0aGUgd3JvbmcgYXJndW1lbnRzIHBhc3NlZCB3aGljaCB0aGVuIGNhdXNlcyBzdGFjawoJICBjb3JydXB0aW9uIGFuZCBjcmFzaGVzLgoJICBGaXggdGhpcyBieSBvbmx5IGNoZWNraW5nIGZvciB0aGUgdmVyc2lvbiAod2hpY2ggc2hvdWxkIGJlIGJ5IGl0c2VsZiBvbgoJICBhIHNpbmdsZSBsaW5lKS4gVGhpcyBpcyBwb3RlbnRpYWxseSBsZXNzIHNhZmUsIGl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRoYXQKCSAgYSBzaW1pbGFyIHN0cmluZyB3b3VsZCBhcHBlYXIgaW4gYSBsYXRlciB2ZXJzaW9uIGluIHRoZSBoZWFkZXIgZmlsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU3MQoKMjAxNS0wNS0xMyAyMzo1NToyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHByb3BhZ2F0ZSB0aGUgdmVyc2lvbi9leHRlbnNpb24gZmFpbHVyZSB1cHdhcmRzCgkgIE90aGVyd2lzZSB0aGUgY2FsbGluZyBjb2RlIGhhcyBubyBpZGVhIHRoYXQgdGhlIGNvbnRleHQgZmFpbGVkIHRvCgkgIGJlIGNyZWF0ZWQgZnVsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyODQKCjIwMTUtMDUtMTMgMjM6NTQ6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBkb24ndCBkZWFkbG9jayBvbiBjb250ZXh0IGNyZWF0aW9uIGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI4NAoKMjAxNS0wNS0xMyAxNTo0MjoxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IERvbid0IHVucmVmIHBhZCB0ZW1wbGF0ZXMKCSAgT3RoZXJ3aXNlIHdlIHVucmVmIHRoZSByZWZlcmVuY2UgdGhhdCBpcyBvd25lZCBieSB0aGUgZWxlbWVudCBjbGFzcy4KCjIwMTUtMDUtMTMgMTI6MzE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGZpeCBmYWlsdXJlIHJldHVybiB2YWx1ZXMgZnJvbSBjcmVhdGVfc2Vzc2lvbigpCgkgIGNyZWF0ZV9zZXNzaW9uKCkgcmV0dXJucyBhbiBlcnJfc3RhdHVzX3Qgd2l0aAoJICBlcnJfc3RhdHVzX29rPTAgYW5kIGVycl9zdGF0dXNfZmFpbD0xLCBzbwoJICByZXR1cm5pbmcgVFJVRS9GQUxTRSBpcyBub3QgcXVpdGUgcmlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMDQKCjIwMTUtMDUtMTMgMTM6MTQ6MTQgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBmaXggb3ZlciB1bmxvY2tpbmcKCSAgQ2FsbGVkIHNob3VsZCBjYWxsIGZ1bmN0aW9uIHdpdGggbG9jaywgYW5kIGlzCgkgIGFsc28gcmVzcG9uc2libGUgZm9yIHVubG9ja2luZyBpdCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMwNAoKMjAxNS0wNS0xMiAxNTo0NzozMyArMDgwMCAgTHlvbiBXYW5nIDxseW9uLndhbmdAZnJlZXNjYWxlLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGN1c3RvbSBwaWN0dXJlIGZvcm1hdCAoQ1BGTVQpIHBhcnNpbmcKCSAgSW4gdGhlIEgyNjMgc3BlYywgQ1BGTVQgaXMgcHJlc2VudCBvbmx5IGlmIHRoZSB1c2Ugb2YgYSBjdXN0b20KCSAgcGljdHVyZSBmb3JtYXQgaXMgc2lnbmFsbGVkIGluIFBMVVNFUFRZUEUgYW5kIFVGRVAgaXMgIjAwMSIsCgkgIHNvIHdlIG5lZWQgdG8gY2hlY2sgcGFyYW1zLT5mb3JtYXQgYW5kIG9ubHkgaWYgdGhlIHZhbHVlIGlzCgkgIDYgKGN1c3RvbSBzb3VyY2UgZm9ybWF0KSB0aGUgQ1BGTVQgc2hvdWxkIGJlIHJlYWQsIG90aGVyd2lzZQoJICBpdCdzIG5vdCBwcmVzZW50IGFuZCB3cm9uZyBkYXRhIHdpbGwgYmUgcGFyc2VkLgoJICBXaGVuIHJlYWRpbmcgdGhlIENQRk1ULCB0aGUgd2lkdGggYW5kIGhlaWdodCB3ZXJlIG5vdAoJICBjYWxjdWxhdGVkIGNvcnJlY3RseSAod3JvbmcgYml0bWFzaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjUzCgoyMDE1LTA1LTEzIDE3OjM4OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogZml4IHJlY3RhbmdsZSBvYnNjdXJlIHRlc3QgdG8gY2xhbXAgYWdhaW5zdCB0aGUgb3V0cHV0IGZyYW1lIHNpemUKCSAgUmF0aGVyIHRoYW4gb25lIG9mIHRoZSBpbnB1dCBwYWQgdmlkZW8gaW5mbydzLgoJICBUaGUgdGVzdCBjaGVja2luZyB0aGlzIHdhcyBub3QgY29uc3RyYWluaW5nIHRoZSBvdXRwdXQgZnJhbWUgc2l6ZQoJICB0byBlbnN1cmUgdGhhdCB0aGUgb3V0IG9mIGZyYW1lIHN0cmVhbSB3YXMgbm90IGJlaW5nIGRpc3BsYXllZC4KCjIwMTUtMDUtMTMgMTc6MTE6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgcGFyIGhhbmRsaW5nCgkgIFdlIHdlcmUgcHJldmlvdXNseSBpZ25vcmluZyBpdCBjb21wbGV0ZWx5CgoyMDE1LTA1LTEzIDE3OjEwOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgdXBsb2FkIHRoZSB2ZXJ0ZXggZGF0YSBldmVyeSBmcmFtZQoJICBBZGQgdGhlIG1pc3NpbmcgY2FjaGUgdHJhY2tpbmcgc3RhdGVtZW50LgoKMjAxNS0wNS0xMiAxNjozNjo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogUmVtb3ZlIHVuZWVkZWQgaGVhZGVyIGFuZCBkZWZpbmVzCgoyMDE1LTA1LTExIDE1OjAyOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogVXNlIGRlZmF1bHQgZ2V0X2NhcHMgaW1wbGVtZW50YXRpb24KCSAgVGhlIGN1c3RvbSBjb2RlIGlzIHdyb25nIGFzIGl0IGlnbm9yZXMgdGhlIHRlbXBsYXRlcywgd2hpY2ggbGVhZHMgdG8KCSAgbWlzc2luZyBmaWVsZHMgaW4gdGhlIHJlc3VsdC4gSW5zdGVhZCwgc2ltcGx5IHVzZSB0aGUgZGVmYXVsdCBnZXRfY2FwcwoJICBpbXBsZW1lbnRhdGlvbiB3aGljaCBkb2VzIGl0IGNvcnJlY3RseSAoZ2V0IHRoZSB0ZW1wbGF0ZSwgaW50ZXJzZWN0CgkgIHdpdGggZmlsdGVyIGFuZCByZXR1cm4pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjM3CgoyMDE1LTA1LTExIDE1OjU0OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogSW1wbGVtZW50IEdzdFZpZGVvQWdncmVnYXRvcjo6ZmluZF9iZXN0X2Zvcm1hdCgpCgkgIFdpdGhvdXQgdGhpcywgd2Ugd2lsbCBmaXhhdGUgd2VpcmQgcGl4ZWwtYXNwZWN0LXJhdGlvcyBsaWtlIDEvMjE0NzQ4MzY0Ny4gQnV0CgkgIGluIHRoZSBlbmQsIGFsbCB0aGUgbmVnb3RpYXRpb24gY29kZSBpbiB2aWRlb2FnZ3JlZ2F0b3IgbmVlZHMgYSBiaWcgY2xlYW51cAoJICBhbmQgdmlkZW9hZ2dyZWdhdG9yIG5lZWRzIHRvIGdldCByaWQgb2YgdGhlIHNvZnR3YXJlLW1peGVyIHNwZWNpZmljIHRoaW5ncwoJICBldmVyeXdoZXJlLgoKMjAxNS0wNS0xMSAyMjo1MzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZGVtb3RlIHVwbG9hZC9jb252ZXJ0L2Rvd25sb2FkIGVsZW1lbnRzIHRvIG5vbmUKCSAgQ29weSBwYXN0ZSBlcnJvcgoKMjAxNS0wNS0xMSAyMjozNzo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZXhwb3NlIGludGVybmFsIGdsdmlkZW9taXhlcmVsZW1lbnRcCgkgIFdlIG1pZ2h0IHdhbnQgbW9yZSBjb250cm9sIG92ZXIgdGhlIGV4YWN0IHBpcGVsaW5lCgkgIEFsc28gcmVkdWNlcyBvdmVyaGVhZAoKMjAxNS0wNS0xMSAyMjozNToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZXhwb3NlIGludGVybmFsIGdsaW1hZ2VzaW5rZWxlbWVudAoJICBXZSBtaWdodCB3YW50IG1vcmUgY29udHJvbCBvdmVyIHRoZSBleGFjdCBwaXBlbGluZS4KCSAgQWxzbyByZWR1Y2VzIG92ZXJoZWFkLgoKMjAxNS0wNS0wNyAyMToxODoyNyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggdW5jb25kaXRpb25hbCBidWZmZXIgcXVldWUgdW5sb2NrCgkgIFVubGVzcyBzdG9wUmVxdWVzdCBpcyBzZXQsIHdlIHNob3VsZCB1bmxvY2sgY29uZGl0aW9uYWxseSAtLSBvdGhlcndpc2UsCgkgIHRoZSAnY3JlYXRlOicgbWV0aG9kIGNhbiB3YWtlIHVwIHRvIGFuIGVtcHR5IGJ1ZmZlciBxdWV1ZQoJICBhbmQgcHVsbCBhIG5pbCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNTQKCjIwMTUtMDUtMTEgMTI6MTg6MjggKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBSZW5hbWUgbW9kZSAyMDQ4cCB0byAxNTU2cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjE4CgoyMDE1LTA1LTExIDEyOjA0OjQ3ICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBVc2UgY29ycmVjdCBmcmFtZSByYXRlIGZvciBtb2RlIDIxNjBwNTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIxOAoKMjAxNS0wNS0xMSAxMjowMjo0NyArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IFJlbmFtZSBtb2RlIDMxODRwIHRvIDIxNjBwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMTgKCjIwMTUtMDEtMjIgMTU6NDM6MjIgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIHBvOiB1cGRhdGUgUE9URklMRVMuc2tpcCBhbmQgUE9URklMRVMuaW4KCSAgVGhlIG9uZXMgaW4gLnNraXAgbmVlZCB0byBiZSBhZGRlZCBiYWNrIHRvIFBPVEZJTEVTLmluCgkgIGFmdGVyIHBvcnRpbmcgdG8gMS54LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzUyCgoyMDE1LTA1LTA4IDE0OjIwOjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJICByZW1vdmVzaWxlbmNlOiByZW1vdmUgZ3N0X3JlbW92ZV9zaWxlbmNlX3Jlc2V0KCkKCSAgTm8gbmVlZCB0byBjYWxsIGdzdF9yZW1vdmVfc2lsZW5jZV9yZXNldCgpIGluIGdzdF9yZW1vdmVfc2lsZW5jZV9pbml0KCkgYmVjYXVzZQoJICB2YWRfbmV3KCkgYWxyZWFkeSBjYWxscyB0aGlzIGZ1bmN0aW9uLiBTaW5jZSB0aGVyZSBhcmUgbm8gbW9yZSB1c2VzIG9mCgkgIF9zaWxlbmNlX3Jlc2V0KCksIHdlIGNhbiByZW1vdmUgaXQgYWx0b2dldGhlci4KCjIwMTUtMDUtMDggMTQ6NTU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogV2Ugc2hvdWxkbid0IG1hbnVhbGx5IGNoZWNrIHJlY29uZmlndXJlIGZsYWcgb24gcGFkcyBidXQgaW5zdGVhZCBpbXBsZW1lbnQgOjpuZWdvdGlhdGUoKQoJICBBZGQgRklYTUUgY29tbWVudCByZWxhdGVkIHRvIHRoYXQuCgoyMDE1LTA1LTA4IDEzOjU0OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBVcGRhdGUgcmVmZXJlbmNlcyB0byBkZWNvZGViaW4KCSAgVXBkYXRlIG9sZCByZWZlcmVuY2VzIGZvciBkZWNvZGViaW4yIHRvIGRlY29kZWJpbi4KCjIwMTUtMDUtMDggMTM6NDk6MzggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHVwZGF0ZSBleGFtcGxlIGxhdW5jaCBsaW5lCgoyMDE1LTA1LTA3IDIxOjA0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuaDoKCSAgZHRsc3NydHBkZWM6IERvbid0IG1lcmdlIFJUUCBhbmQgUlRDUCBzdHJlYW1zIHRoYXQgd2VyZSBqdXN0IHNwbGl0IGJ5IHNydHBkZWMKCSAgVGhlIGZ1bm5lbCBoYXMgc29tZSBvdmVyaGVhZCwgYW5kIGxhdGVyIHJ0cGJpbiB3aWxsIGhhdmUgdG8gc3BsaXQgYm90aCBzdHJlYW1zCgkgIGFnYWluIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODcyMwoKMjAxNS0wNS0wNiAxNTo0NzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2xpbWFnZXNpbms6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb24gdGhlIGJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDk2ZTQzYjAzNGEwM2ZlNTQ2MzM5MDdiYzFiZjJhMjZmZTVmOTVmYi4KCjIwMTUtMDUtMDYgMTU6NDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsaW1hZ2VzaW5rOiBmb3J3YXJkIEFMTCB0aGUgcHJvcGVydGllcyBvbiB0aGUgYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1OWZiMGY4MzBmMDhlM2U1OWY4N2Y4M2RmOGZhM2MyZDlmM2Q5NzQxLgoKMjAxNS0wNS0wNiAxNTo0NzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2xpbWFnZXNpbms6IGltcGxlbWVudCBhcyBhIGJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYmU5MzhmOTJkOTRlOGFjY2NmNTkzMTI4MjgxZjZlMDkyMTM2MDBhMC4KCjIwMTUtMDUtMDYgMTU6NDY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBSZXZlcnQgImdsOiByZWFkZCBnbHVwbG9hZC9kb3dubG9hZCBvbnRvIGVsZW1lbnQgcGFkcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4N2Q4MjcwZjMwMmIwM2Y2M2NlMDRmOTg2ZDgyNDg5MmEyYzEzMWZkLgoKMjAxNS0wNS0wNiAxNTo0MzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCB3aXRoIGdsbWl4ZXJiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI0YmQxMWYyZjNhNjAyMjRkMTg4YjI3YWI1NWIyNzgwNzdjYjEyMTcuCgoyMDE1LTA1LTA2IDEyOjU5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBY3R1YWxseSBzZXQgdGhlIGNhcHMgb24gdGhlIHNyY3BhZCBpbnN0ZWFkIG9mIGp1c3QgY2FsbGluZyB0aGUgZGVmYXVsdCBldmVudCBoYW5kbGVyIGZvciB0aGUgc2lua3BhZAoJICBGaXhlcyB1cCBkYWZhMTFiOWQyMWQwNmEwMjczMDA3NjI4YTJhMGJiNGQ3ODU4NjU4CgoyMDE1LTA0LTI5IDE4OjIzOjMxICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG9ubHkgdXBkYXRlIHN0cmVhbSBwb3NpdGlvbiBpZiBxdWVyeSBzdWNjZXNzCgkgIFdlIGRvbid0IG5lZWQgdG8gY2hlY2sgYWJvdXQgdGhlIHF1ZXJ5IGZhaWwgY2FzZS4KCSAgYmVjYXVzZSBpdCBpcyB1cGRhdGUgdG8gc2VnbWVudCBwb3NpdGlvbiBldmVuIHRob3VnaCBxdWVyeSBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTI5CgoyMDE1LTA1LTA1IDEyOjQ1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkZWNrbGluazogRGlzYWJsZSBkZWNrbGluayBwbHVnaW4gb24gQW5kcm9pZAoKMjAxNS0wNS0wNSAxNDo0NDoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZml4dXAgc2l6ZSBkZWNsYXJhdGlvbgoKMjAxNS0wNS0wNCAyMzo0MjozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBoYW5kbGUgdGhlIGxvY2FsX2NvbnRleHQgcXVlcnkKCSAgc28gdGhhdCB1cHN0cmVhbSBlbGVtZW50cyBjYW4gZ2V0IHRoZSBHTCBjb250ZXh0IGZyb20gZ2xpbWFnZXNpbmsKCjIwMTUtMDUtMDMgMTQ6NTY6MDUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3Vwb3J0IGZvciBDT0xPUl9Gb3JtYXRZVjEyCgkgIFJlZmVyZW5jZTogaHR0cDovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC9ncmFwaGljcy9JbWFnZUZvcm1hdC5odG1sI1lWMTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wNC0zMCAxMTo0NDowNiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJICBhbmRyb2lkbWVkaWE6IERlY2xhcmUgUU9NWF9DT0xPUl9GT1JNQVRZVlU0MjBQYWNrZWRTZW1pUGxhbmFyMzJtTXVsdGlWaWV3IGNvbnN0YW50CgkgIFRoaXMgY29sb3IgZm9ybWF0IGlzIHRoZSBzYW1lIGFzIFFPTVhfQ09MT1JfRk9STUFUWVVWNDIwUGFja2VkU2VtaVBsYW5hcjMybQoJICBidXQgc3RvcmVzIHR3byBpbWFnZXMgb25lIGFmdGVyIHRoZSBvdGhlciBpbiBhIHRvcC1ib3R0b20gbGF5b3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTA1LTA0IDExOjIzOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkgIG9wdXNkZXBheTogU2V0IG11bHRpc3RyZWFtPUZBTFNFIG9uIHRoZSBPcHVzIGNhcHMKCSAgVGhlIFJUUCBPcHVzIG1hcHBpbmcgb25seSBhbGxvd3MgbW9uby9zdGVyZW8sIGFuZCBub3QgbXVsdGlzdHJlYW0gT3B1cwoJICBzdHJlYW1zLgoKMjAxNS0wNS0wNCAxMDozNTo1NSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2hlYWRlcjogRG8gbm90IGluY2x1ZGUgcmF0ZSBpbiBjYXBzIGlmIGl0IGlzIDAKCSAgQXMgZXhwcmVzc2VkIGluIGdzdF9vcHVzX2hlYWRlcl9jcmVhdGVfY2FwcywgdmFsdWUgMCBtZWFucyB1bnNldC4KCSAgU2V0dGluZyByYXRlIHZhbHVlIHRvIDAgbWFrZSBuZWdvdGlhdGlvbiB3aXRoIGRlY29kZXIgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODg3NQoKMjAxNS0wNS0wNCAwODowNjozNSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHNsaWNlLWhlaWdodCBmb3IgVGVncmEgMyBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg4NjcKCjIwMTUtMDMtMTMgMTY6MDc6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3VwcG9ydCBmb3IgQ09MT1JfRm9ybWF0WVVWNDIwRmxleGlibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wMy0yNSAxNzo0Mzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBvcnQgZm9yIEludGVsIGNvbG9yIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wNS0wMiAxODowNjoxOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggcHJvZmlsZSBhbmQgbGV2ZWwgc2V0dGluZyBpbiBjYXBzCgkgIERvbid0IHVzZSB0aGUgYXBpcyBpbiBjb2RlYy11dGlscyB0byBleHRyYWN0IHRoZSBwcm9maWxlIGFuZCBsZXZlbAoJICBzeW50YXggZWxlbWVudHMgc2luY2UgaXQgaXMgd3JvbmcgaWYgdGhlcmUgYXJlIGVtdWxhdGlvbiBwcmV2ZW50aW9uCgkgIGJ5dGVzIGV4aXN0aW5nIGluIHRoZSBieXRlLXN0cmVhbSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA1LTAzIDIzOjA4OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEltcHJvdmUgcGFzc3Rocm91Z2ggY2hlY2sgd2hlbiBubyBjb252ZXJzaW9uIGlzIG5lZWRlZC4KCSAgTWFrZSB0aGUgcGFzc3Rocm91Z2ggY2hlY2sgY29udGluZ2VudCBvbiBvbmx5IHRoZSBmaWVsZHMgd2UKCSAgY2FuIG1vZGlmeSBiZWluZyB1bmNoYW5nZWQsIGFuZCBwcmUtY29tcHV0ZSBpdCB3aGVuIGNhcHMKCSAgY2hhbmdlIGluc3RlYWQgb2YgY2hlY2tpbmcgb24gZWFjaCBidWZmZXIuIE1ha2VzIHRoZSBwYXNzdGhyb3VnaAoJICBtb3JlIGxlbmllbnQgaWYgY29uc3VtZXJzIGFyZSBsYXggYWJvdXQgbWFraW5nIGlucHV0IGFuZCBvdXRwdXQKCSAgY2FwcyBjb21wbGV0ZS4KCjIwMTUtMDUtMDEgMTk6Mzk6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogaGFuZGxlIHdoZW4gc291cmNlIGNyZWF0aW9uIGZhaWwKCSAgUmVtZW1iZXIgdG8gc2V0IHRoZSBzb3VyY2UgdG8gTlVMTCBzdGF0ZSBhcyBhZGRpbmcgaXQgdG8gdGhlIHBpcGVsaW5lCgkgIHdpbGwgc2V0IGl0IHRvIHRoZSBSRUFEWSBzdGF0ZS4KCjIwMTUtMDUtMDEgMTk6MzE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IGVsZW1lbnQgbGlua2luZyBvcmRlcgoJICBWaWRlbyBzb3VyY2Ugc2hvdWxkIGJlIGxpbmtlZCB0byB2aWRlb2Nyb3AgYW5kIG5vdCB0bwoJICB2aWRlb2NvbnZlcnQgYXMgaXQgaXMgZG9uZSBpbiB0aGUgbWFpbiBsaW5raW5nIHBhdGgKCjIwMTUtMDMtMTMgMDY6MTA6NTIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBBZGQgYSBjaGVjayBmb3IgdGhlIG5ldyBjb21wb3NpdG9yIHBhZC1pcy1vYnNjdXJlZCBvcHRpbWl6YXRpb24KCSAgV2UgdmVyaWZ5IHRoYXQgYWxsIHRoZSBidWZmZXJzIG9uIGFuIG9ic2N1cmVkIHNpbmtwYWQgYXJlIHNraXBwZWQgYnkgb3ZlcnJpZGluZwoJICB0aGUgbWFwKCkgZnVuY3Rpb24gaW4gdGhlIEdzdFZpZGVvTWV0YSBvZiB0aGUgYnVmZmVycyB0byBzZXQgYSB2YXJpYWJsZSB3aGVuCgkgIGNhbGxlZC4gV2UgYWxzbyB0ZXN0IHRoYXQgdGhlIGJ1ZmZlcnMgZG8gZ2V0IG1hcHBlZCB3aGVuIHRoZXkncmUgbm90IG9ic2N1cmVkLgoJICBCbGFtZV5XQ3JlZGl0IGZvciB0aGUgR3N0VmlkZW9NZXRhIG1hcCgpIGlkZWEgZ29lcyB0byBUaW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMTggMTU6MTA6MDAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogT25seSBtYXAgdGhlIGZyYW1lIGZyb20gYSBidWZmZXIgaWYgaXQgd2lsbCBiZSB1c2VkCgkgIEl0J3MgYSB3YXN0ZSBvZiByZXNvdXJjZXMgdG8gbWFwIGl0IGlmIGl0IHdvbid0IGJlIGNvbnZlcnRlZAoJICBvciB1c2VkIGF0IGFsbC4gU2luY2Ugd2UgbW92ZWQgdGhlIGZyYW1lIG1hcHBpbmcgZG93biwgd2UgbmVlZAoJICB0byB1c2UgdGhlIEdTVF9WSURFT19JTkZPIGFjY2Vzc29yIG1hY3JvcyBub3cgaW4gdGhlIGNvZGUgYWJvdmUKCSAgdGhhdCBpbnN0ZWFkIG9mIHRoZSBHU1RfVklERU9fRlJBTUUgYWNjZXNzb3IgbWFjcm9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTE4IDE1OjA5OjAyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHVzZSBhY2Nlc3NvciBtYWNyb3MgZm9yIGNvbnNpc3RlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMTggMTU6MDk6MDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogU2tpcCBwYWRzIHRoYXQgYXJlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYSBoaWdoZXIgem9yZGVyIHBhZAoJICBGb3IgZWFjaCBmcmFtZSwgY29tcGFyZSB0aGUgZnJhbWUgYm91bmRhcmllcywgY2hlY2sgaWYgdGhlIGZvcm1hdCBjb250YWlucyBhbgoJICBhbHBoYSBjaGFubmVsLCBjaGVjayBvcGFjaXR5LCBhbmQgc2tpcCB0aGUgZnJhbWUgaWYgaXQncyBnb2luZyB0byBiZSBjb21wbGV0ZWx5CgkgIG92ZXJ3cml0dGVuIGJ5IGEgaGlnaGVyIHpvcmRlciBmcmFtZS4gVGhlIGNoZWNrIGlzIE8obl4yKSwgYnV0IHRoYXQgZG9lc24ndAoJICBtYXR0ZXIgaGVyZSBiZWNhdXNlIHRoZSBudW1iZXIgb2Ygc2lua3BhZHMgaXMgc21hbGwuCgkgIE1vcmUgY2FuIGJlIGRvbmUgdG8gYXZvaWQgbmVlZGxlc3MgZHJhd2luZywgYnV0IHRoaXMgY292ZXJzIHRoZSBtYWpvcml0eSBvZgoJICBjYXNlcy4gU2VlIFRPRE9zLiBJZGVhbGx5LCBhIHJldmVyc2UgcGFpbnRlcidzIGFsZ29yaXRobSBzaG91bGQgYmUgdXNlZCBmb3IKCSAgb3B0aW1hbCBkcmF3aW5nLCBidXQgbWVtY3B5IGR1cmluZyBjb21wb3NpdGluZyBpcyBzbWFsbCBjb21wYXJlZCB0byB0aGUgQ1BVIHVzZWQKCSAgZm9yIGZyYW1lIGNvbnZlcnNpb24gb24gZWFjaCBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMzAgMTk6MDg6MjUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHNvdXJjZSBjYXBzIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNTozNDo0MCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggdGhlIG1lbW9yeSBmcmVlaW5nIG9mIHN0b3JlZCBWUFMgbmFscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTMwIDE4OjM2OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBwcm9maWxlLCB0aWVyIGFuZCBsZXZlbCBzZXR0aW5nIGluIGNhcHMKCSAgRG9uJ3QgdXNlIHRoZSBhcGlzIGluIGNvZGVjLXV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUsdGllciBhbmQgbGV2ZWwKCSAgc3ludGF4IGVsZW1lbnRzIHNpbmNlIGl0IGlzIHdyb25nIGlmIHRoZXJlIGFyZSBlbXVsYXRpb24gcHJldmVudGlvbgoJICBieXRlcyBleGlzdGluZyBpbiB0aGUgYnl0ZS1zdHJlYW0gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xNyAxNToxNTozMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggbmFsIHVuaXQgc2l6ZSBjaGVja2luZwoJICBUaGUgRU9TIGFuZCBFT0IgbmFscyBoYXZlIHRoZSBzaXplIDIgd2hpY2ggaXMgdGhlIHNpemUgb2YKCSAgbmFsIHVuaXQgaGVhZGVyIGl0c2VsZi4gVGhlIGdzdF9oMjY1X3BhcnNlcl9pZGVudGlmeV9uYWx1KCkKCSAgaXMgbm90IHJlcXVpcmVkIHRvIHNjYW4gc3RhcnQgY29kZSBhZ2FpbiBpbiB0aGlzIGNhc2UuCgkgIEluIG90aGVyIGNhc2VzLCBmb3IgYSB2YWxpZCBuYWx1bml0IHRoZSBtaW5pbXVtIHJlcXVpcmVkIHNpemUKCSAgaXMgMyBieXRlcyAoMiBieXRlIGhlYWRlciBhbmQgYXQgbGVhc3QgMSBieXRlIFJCU1AgcGF5bG9hZCkKCjIwMTUtMDQtMTcgMTU6MDM6MzQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IENhbGN1bGF0ZSBjcm9wIHJlY3RhbmdsZSBkaW1lbnNpb25zCgoyMDE1LTA0LTE3IDE1OjAxOjU3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggcGFyc2luZyBtdWx0aXBsZSBTRUkgbWVzc2FnZXMgaW4gYSBzaW5nbGUgU0VJIE5hbAoJICBBbiBTRUkgTmFsIGNhbiBoYXZlIG1vcmUgdGhhbiBvbmUgU0VJIG1lc3NhZ2UuCgkgIENoYW5nZSBpbiBBUEk6IHRoZSBnc3RfaDI2NV9wYXJzZXJfcGFyc2Vfc2VpKCkKCjIwMTUtMDQtMzAgMjE6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IE1ha2Ugc3VyZSB0byBzZW5kIGNhcHMgZXZlbnRzIGRvd25zdHJlYW0gYmVmb3JlIGFueSBzZWdtZW50IGV2ZW50cwoJICBVcHN0cmVhbSBtaWdodCBub3QgZ2l2ZSB1cyBhIGNhcHMgZXZlbnQgKGR0bHNzcnRwZGVjKSBiZWNhdXNlIGl0IG1pZ2h0IGJlIGFuCgkgIFJUUC9SVENQIG1peGVkIHN0cmVhbSwgYnV0IHdlIHNwbGl0IHRoZSB0d28gc3RyZWFtcyBhbnl3YXkgYW5kIHNob3VsZCByZXBvcnQKCSAgcHJvcGVyIGNhcHMgZG93bnN0cmVhbSBpZiBwb3NzaWJsZS4KCSAgRml4ZXMgInN0aWNreSBldmVudCBtaXNvcmRlcmluZyIgd2FybmluZ3Mgd2l0aCBkdGxzc3J0cGRlYy4KCjIwMTUtMDQtMzAgMTA6NTA6MTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICBydGpwZWc6IHJlbW92ZSB1bnVzZWQgcXVhbGl0eSBwcm9wZXJ0eQoKMjAxNS0wNC0zMCAxMToxNTo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IHJlYWRkIGdsdXBsb2FkL2Rvd25sb2FkIG9udG8gZWxlbWVudCBwYWRzCgkgIEFsbG93cyBpbnNlcnRpb24gb2YgZ2wgZWxlbWVudHMgaW50byBub24tZ2wgcGlwZWxpbmVzIHdpdGhvdXQgY29udmVydGVyCgkgICh1cGxvYWQvZG93bmxvYWQpIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTc0CgoyMDE1LTA0LTI5IDIyOjU1OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgImdsdmlkZW9taXhlcjogaW1wbGVtZW50IHdpdGggZ2xtaXhlcmJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwZmI1NjczOGExNDM5MWYyNDhhYTBiZTg3NTZhZGVhZjk3OGJhYTBjLgoKMjAxNS0wNC0yOSAyMjozODowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiZ2xpbWFnZXNpbms6IGltcGxlbWVudCBhcyBhIGJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4YTAwMTdlMjFkNWY5YTg1MDdmMDU5M2M2YjI0ZjcyM2FhNDE1MjU4LgoKMjAxNS0wNC0yOSAyMjozMjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiZ2xpbWFnZXNpbms6IGZvcndhcmQgQUxMIHRoZSBwcm9wZXJ0aWVzIG9uIHRoZSBiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGJlNDVlNWYzMGRjNjEyMWYyNzY5MzIzNjAzNDQ3ZjU5MWNhNGEwYS4KCjIwMTUtMDQtMjkgMjI6MzI6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgImdsaW1hZ2VzaW5rOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9uIHRoZSBiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmJhNmJiOWI5MzI1YjYzZjU4YTlmZjBiMmM4MmZhMjg3NTlkY2FiYy4KCjIwMTUtMDQtMjkgMDk6NTc6NTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBkb24ndCB0aW1lc3RhbXAgYnVmZmVycyBmb3IgbXV4ZWQgc3RyZWFtcwoKMjAxNS0wNC0yOSAyMTozNzo1NiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIGtzdmlkZW9zcmM6IGZpeCBoZWFkZXIgc2l6ZSBmb3IgbXV4ZWQgc3RyZWFtcwoKMjAxNS0wNC0yOSAxOTozOToxNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggdGhlIG51bWJlciBvZiB0aWxlIHJvd3MvY29sdW1ucyBwYXJzaW5nCgkgIFRoZSBwb3NzaWJsZSBtaW5pbXVtIHZhbHVlIGZvciBudW1fdGlsZV9jb2x1bW5zX21pbnVzMSBhbmQgbnVtX3RpbGVfcm93c19taW51czEKCSAgaXMgemVybyAoNy40LjMuMykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2NDEKCjIwMTUtMDQtMjkgMTc6MjA6NTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICBtaXhtYXRyaXg6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZW51bSBpdGVtcwoJICBUaGVzZSB0d28gcHJvcGVydGllcyBoYXZlIGJlZW4gdGhlcmUgc2luY2UgdGhlIG9yaWdpbiBvZiB0aGUgZWxlbWVudCBidXQgdGhleQoJICBhcmVuJ3QgdXNlZC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTUtMDQtMjkgMTU6NDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBjb21wYXJpc2lvbiBsb2dpYwoJICBXZSBjYW4ndCBhbnN3ZXIgdGhlIFNFRUtJTkcgcXVlcnkgaWYgd2UgZG8gKm5vdCogaGF2ZSB0aGUgbWFuaWZlc3QKCjIwMTUtMDQtMjkgMTA6NTY6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSAgYWlmZjogUmUtYWRkIG5vaW5zdF9IRUFERVJTIGluc3RydWN0aW9uCgkgIFdhcyByZW1vdmVkIGluIHRoZSBwcmV2aW91cyBhbmRyb2lkIGNsZWFudXAgY29tbWl0CgoyMDE1LTA0LTI4IDIxOjQzOjU2ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3dpbmtzL2tzZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkgIEdzdERldmljZVByb3ZpZGVyIGltcGxlbWVudGF0aW9uIGZvciBXSU4gS2VybmVsIFN0cmVhbWluZyBwbHVnaW4KCSAgZ3N0X2tzX2RldmljZV9wcm92aWRlcl9wcm9iZSgpIGlzIGEgbm8tYnJhaWVyLCBqdXN0IHJ1bnMga3NfZW51bWVyYXRlX2RldmljZXMoKQoJICBhbmQgcmVwb3J0cyB0aGUgcmVzdWx0cy4KCSAgTW9uaXRvcmluZyBpcyBhIGJpdCBtb3JlIHRyaWNreS4gV2UgaGF2ZSB0byBjcmVhdGUgYSBkdW1teSBtZXNzYWdlLXByb2Nlc3NpbmcKCSAgd2luZG93IGFuZCByZWdpc3RlciBkZXZpY2UgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIGl0LgoJICBBcyBrZXJuZWwgc3RyZWFtaW5nIGNhbiAoYW5kIHNob3VsZCkgYmUgdXNlZCBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgYXVkaW8KCSAgcGxheWJhY2ssIHRoaXMgY2hhbmdlIGFsc28gaGFzIGNlcnRhaW4gcGxhY2Vob2xkZXJzIGZvciBzdWNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzU3CgoyMDE1LTA0LTI5IDAyOjMwOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IENhY2hlIGNhcHMgZm9yIHBhc3NpbmcgdG8gdGhlIGNsaWVudCBkcmF3IGNhbGwKCSAgRG9uJ3QgY29udmVydCB0aGUgR3N0VmlkZW9JbmZvIHRvIGNhcHMgb24gZXZlcnkgZHJhdyBjYWxsLAoJICBqdXN0IGNhY2hlIHRoZSBjYXBzIGFuZCBwYXNzIHRoZW0gaW50byB0aGUgR3N0U2FtcGxlLgoKMjAxNS0wNC0yOSAwMjoyMDowOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IE1ha2UgdXBsb2FkIG1ldGhvZCBzdGF0aWMgY2FwcyBub24tY29uc3QuCgkgIFJldHJpZXZpbmcgYSBHc3RTdGF0aWNDYXBzIGRvZXMgYSBvbmUgdGltZSBpbnRlcm5hbAoJICBpbml0aWFsaXNhdGlvbiBhbmQgY2FjaGVzIGl0IC0gdGhleSBjYW4ndCBiZSBzdG9yZWQgYXMKCSAgY29uc3Qgc3RydWN0dXJlcy4KCjIwMTUtMDQtMjggMTc6MjQ6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogZml4IGluY2x1ZGVzIGFuZCBjb21waWxhdGlvbiBhZ2FpbnN0IG9wdXMgaW4gbm9uLXN0YW5kYXJkIHByZWZpeAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTk0CgoyMDE1LTA0LTI4IDE2OjU4OjIxICswMjAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IGRvbid0IHVzZSBkZXByZWNhdGVkIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYwoJICBVc2UgdGhlIGhlbHBlciBmdW5jdGlvbiBhdmFpbGFibGUgaW4gdGhlIGJhc2UgY2xhc3MgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU4NQoKMjAxNS0wNC0yOCAxNjowNjo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgZGUyNjVkZWM6IHVzZSBnX2dldF9udW1fcHJvY2Vzc29ycygpIGlmIGF2YWlsYWJsZQoJICBBbmQgcHJvdmlkZSBob21lLW1hZGUgZmFsbGJhY2sgZm9yIG9sZGVyIEdMaWIgdmVyc2lvbnMsCgkgIHNvIHRoYXQgd2UgY2FuIGxhdGVyIGZpbmQgdGhlc2UgYW5kIHJlbW92ZSB0aGVtIHdoZW4KCSAgd2UgYnVtcCB0aGUgR0xpYiByZXF1aXJlbWVudCAod2hpY2ggaXMgY2VydGFpbmx5IGdvaW5nCgkgIHRvIGhhcHBlbiBiZWZvcmUgMi4wKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NQoKMjAxNS0wNC0yOCAxNjowMjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgZ3N0OiByZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBnbGliIHZlcnNpb24gY2hlY2tzCgkgIFdlIHJlcXVpcmUgMi4zMiwgbm8gbmVlZCB0byBjaGVjayBmb3IgYW55dGhpbmcgb2xkZXIKCSAgdGhhbiB0aGF0LgoKMjAxNS0wNC0yOCAxMToyODozOSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogZml4IGRlc2NyaXB0b3IgbGVhawoJICBGcmVlIHRoZSBleGlzdGluZyBkZXNjcmlwdG9yIGFycmF5LCBpZiBhbnksIGJlZm9yZSByZXBsYWNpbmcgaXQuCgkgIEZpeCBsZWFrcyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLnNjcnViX2ZvcndhcmRfc2Vla2luZy50ZXN0LW1wZWcyLW1wM19teGYgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODAKCjIwMTUtMDQtMjggMTA6MTM6MzUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHRhZ2xpc3QgbGVhawoJICBJZiB0aGUgc3RyZWFtIHdoaWNoIGlzIGFib3V0IHRvIGJlIHJlbW92ZWQgc3RpbGwgaGFzIGEgcmVmIG9uIGEgdGFnIGxpc3Qgd2UKCSAgc2hvdWxkIGRyb3AgaXQuCgkgIEZpeCBhIGxlYWsgd2hpY2ggd2FzIG9jY2FzaW9uYWxseSBoYXBwZW5pbmcgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5jaGFuZ2Vfc3RhdGVfaW50ZW5zaXZlLnRyb25fZW5fZ2VfYWFjX2gyNjRfdHMgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1NzYKCjIwMTUtMDQtMjcgMjI6NDQ6MjggKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBmaW5kX3N1YnRhYmxlKCkgcmV0dXJuIHZhbHVlCgkgIGZpbmRfc3VidGFibGUoKSByZXR1cm5zIGEgcG9pbnRlciwgc28gcmV0dXJuIE5VTEwgYW5kCgkgIG5vdCBGQUxTRSB3aGVuIG5vdGhpbmcgaXMgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MjcKCjIwMTUtMDQtMjggMTQ6NTI6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBkZWZzCgoyMDE1LTA0LTI4IDIwOjQ2OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSB1bmVlZGVkIHVucmVmCgkgIFRoZSBjYWxsIHRvIF9nbF9tZW1fYWxsb2NfZGF0YSB3aWxsIHVucmVmIGFuZCBOVUxMaWZ5ICdkZXN0JyBmb3IgdXMuCgkgIFdlIGp1c3QgbmVlZCB0byByZXR1cm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDQtMjggMDk6Mzc6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFVzZSBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcyBpbiA6OmdldF9jYXBzKCkKCjIwMTUtMDQtMjggMjA6MTE6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2x1cGxvYWQ6IHByb3ZpZGUgdGhlIHNpbmsgdGVtcGxhdGUgY2FwcyB0aGF0IGNvdWxkIGJlIHVzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM5OQoKMjAxNS0wNC0yNyAxOToyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhOiBhZGQgem9vbSBwcm9wZXJ0eSB0byBVSQoJICBBZGQgYSBzbGlkZXIgdG8gbW9kaWZ5IHRoZSB6b29tIGluIGNhbWVyYWJpbgoKMjAxNS0wNC0yNyAxODozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmE6IHJlbW92ZSB3aWRnZXRzIGRlcHJlY2F0ZWQgaW4gR1RLMy4wCgkgIFZCb3ggYW5kIEhCb3ggYXJlIG5vdyBzaW1wbHkgQm94CgoyMDE1LTA0LTI3IDE1OjQxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhOiB1cGRhdGUgdG8gR1RLMwoJICBXaGVuIG9wZW5pbmcgdGhlIC51aSBmaWxlIGl0IGNvbXBsYWlucyBhYm91dCBiZWluZyBmb3IgR1RLIDIgYW5kCgkgIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyBpdCB0byBHVEszLiBDb21taXQgdGhpcyB2ZXJzaW9uIGFuZCB1cGRhdGUKCSAgdGhlIG1ha2VmaWxlCgoyMDE1LTA0LTI3IDEzOjQxOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92ZSB1bnVzZWQgY29kZQoJICBUaGUgc3RydWN0dXJlIGlzIGNyZWF0ZWQgYW5kIG5ldmVyIHVzZWQgYW55bW9yZS4gUmVtb3ZlIGl0LgoKMjAxNS0wNC0yNyAxMzoyNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHVzZSBkaWdpdGFsem9vbSBlbGVtZW50CgkgIFJlcGxhY2UgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIgd2l0aCB0aGUgZGlnaXRhbHpvb20KCSAgYmluIHRoYXQgaGFzIHRoZSBzYW1lIHBpcGVsaW5lIGludGVybmFsbHkgYW5kIGFscmVhZHkgdXBkYXRlcwoJICB0aGUgY2Fwc2ZpbHRlciBhdXRvbWF0aWNhbGx5IHdoZW4gY2FwcyBjaGFuZ2UsIHJlbW92aW5nIHRoaXMgY29kZQoJICBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgYW5kIG1ha2luZyBpdCBjbGVhbmVyLgoKMjAxNS0wNC0yNyAyMToxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSAgZGlnaXRhbHpvb206IGNoYW5nZSB2aWRlb2Nyb3AgcGFyYW1ldGVycyBiZWZvcmUgcGFzc2luZyBjYXBzIGV2ZW50CgkgIEF2b2lkcyBvbmUgZXh0cmEgdW5lZWRlZCByZW5lZ290aWF0aW9uIGlmIHRoZSBlbGVtZW50cyBhcmUgYWxyZWFkeQoJICBjb25maWd1cmVkIHRvIHRoZWlyIGZpbmFsIHByb3BlcnR5IHZhbHVlcyB3aGVuIHRoZSBjYXBzIGV2ZW50CgkgIGdvZXMgdGhyb3VnaC4KCSAgQWxzbyBhdm9pZHMgaGl0dGluZyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM0NAoKMjAxNS0wNC0yMiAxMzowNjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSAgZGlnaXRhbHpvb206IGFsc28gc2tpcCBpbnRlcm5hbCBwaXBlbGluZSBpbiB1cHN0cmVhbSBjYXBzIHF1ZXJ5CgkgIFRvIGF2b2lkIGdvaW5nIHRocm91Z2ggb3VyIGNhcHNmaWx0ZXIgd2hpY2ggd291bGQgbGltaXQgdGhlIGNob2ljZXMuCgoyMDE1LTA0LTIyIDEzOjA1OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJICBkaWdpdGFsem9vbTogcHJldmVudCBhc3NlcnRpb24gd2hlbiBjYXBzIGlzIGFueQoKMjAxNS0wNC0yMSAyMzoxMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmg6CgkgIGNhbWVyYWJpbjogZGlnaXRhbHpvb206IGNyZWF0ZSBhIGJpbiBlbGVtZW50IGZvciBkaWdpdGFsIHpvb21pbmcKCSAgSXQgY29udGFpbnMgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIgYW5kIGltcGxlbWVudHMgZGlnaXRhbAoJICB6b29taW5nLgoJICBBdCB0aGlzIG1vbWVudCwgaXQgaXMgYSBwcml2YXRlIGVsZW1lbnQgb2YgdGhlIGNhbWVyYWJpbiBwbHVnaW4uCgkgIFRoaXMgd2lsbCByZW1vdmUgc29tZSBjb2RlIHVzZWQgaW4gd3JhcHBlcmNhbWVyYWJpbnNyYyB0byBtYWtlCgkgIGNvZGUgY2xlYXJlciBhbmQgZGlnaXRhbHpvb20gY2FuIHBvdGVudGlhbGx5IGJlIHVzZWQgYnkgb3RoZXIKCSAgYXBwbGljYXRpb25zIGluIHRoZSBmdXR1cmUsIGl0IGhhcyBub3RoaW5nIGNhbWVyYWJpbiBzcGVjaWZpYy4KCjIwMTUtMDQtMjcgMTA6MTE6NDEgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBlZ2w6IFVzZSBtYXhpbXVtIGJpdHMgcGVyIGNvbG9yIGluc3RlYWQgb2YgbWluaW11bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDI1CgoyMDE1LTA0LTI2IDIwOjU1OjAzICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjU6IFczMiB0aHJlYWQgY291bnQgc3VwcG9ydAoJICBUaGlzIGNvZGUgaXMgaW1wb3J0ZWQgZnJvbSBHTGliIGdfZ2V0X251bV9wcm9jZXNzb3JzKCkuIFRoaXMgZnVuY3Rpb24KCSAgd2FzIGFkZGVkIGluIDIuMzYgYnV0IHdlIGRlcGVuZCBvbiAyLjMyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk1CgoyMDE1LTA0LTI2IDIxOjAwOjA2ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjU6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBnc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk2CgoyMDE1LTA0LTI2IDIxOjAzOjQ1ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbmRzcDogRG9uJ3QgdXNlIHRoZSBwcml2YXRlIGZpZWxkICdtaXNzaW5nX3NhbXBsZXMnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTcKCjIwMTUtMDQtMjcgMTQ6NTY6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZW51bSBpdGVtCgkgIFRoZSBwcm9wZXJ0eSBlbnVtIGl0ZW0gaGFzIGJlZW4gdGhlcmUgc2luY2UgdGhlIG9yaWdpbiBvZiB0aGUgZWxlbWVudCBidXQgaXQKCSAgaGFzIG5ldmVyIGJlZW4gdXNlZC4gUmVtb3ZpbmcgaXQuCgoyMDE1LTA0LTI3IDE0OjQ5OjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBnbGZpbHRlcmN1YmU6IERvbid0IGluaXRpYWxpemUgbXVsdGlwbGUgc2hhZGVycyBvbiByZW5lZ290aWF0aW9uCgoyMDE1LTA0LTI3IDEwOjU1OjEzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICBSZW5hbWUgcHJvcGVydHkgZW51bXMgZnJvbSBBUkdfIHRvIFBST1BfCgkgIFByb3BlcnR5IGVudW0gaXRlbXMgc2hvdWxkIGJlIG5hbWVkIFBST1BfIGZvciBjb25zaXN0ZW5jeSBhbmQgcmVhZGFiaWxpdHkuCgoyMDE1LTA0LTI3IDEwOjI0OjAwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBSZW1vdmUgdW51c2VkIHN0b3AgZnVuY3Rpb24KCjIwMTUtMDQtMjcgMTY6MDQ6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5yZWYgdGhlIHBvb2wgaW4gdGhlIGNvcnJlY3QgcGxhY2UKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIGhvbGQgYSBwb29sIHRvIGEgY29udGV4dCB0aGF0IGlzIG5ldmVyIGdvaW5nIHRvIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDUKCjIwMTUtMDQtMjcgMTA6MDE6NTMgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBVbnJlZiBzaGFkZXIgaW4gOjpzdG9wKCkKCjIwMTUtMDQtMjcgMTU6MjA6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiB1bnJlZiBkaXNwbGF5L290aGVyLWNvbnRleHQgaW4gdGhlIGNvcnJlY3QgcGxhY2UKCSAgT3RoZXJ3aXNlIHN0YXRlIGNoYW5nZXMgZnJvbSBQTEFZSU5HLT5SRUFEWS0+UEFVU0VEIHdpbGwgY2F1c2UgdGhlcmUgdG8KCSAgdG8gYmUgbm8gZGlzcGxheSBjb25maWd1cmVkIG9uIHRoZSBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA1CgoyMDE1LTA0LTEwIDE0OjA4OjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMKCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnLXphZyBzY2FuCgkgIG9yZGVyIGludG8gcmFzdGVyIHNjYW4gb3JkZXIgYW5kIHZpY2UtdmVyc2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNDowNzo1NiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBza2lwIGJ5dGUgYWxpZ25tZW50IGJpdHMgd2hpbGUgcGFyc2luZyBzbGljZSBoZWFkZXIKCSAgU2tpcCB0aGUgYnl0ZSBhbGlnbm1lbnQgYml0cyBhcyBwZXIgdGhlIGxvZ2ljIG9mIGJ5dGVfYWxpZ25tZW50KCkKCSAgcHJvdmlkZWQgaW4gaGV2YyBzcGVjaWZpY2F0aW9uLiBUaGlzIHdpbGwgZml4IHRoZSBjYWxjdWxhdGlvbiBvZgoJICBzbGljZSBoZWFkZXIgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNDowNzozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggdGhlIE51bURlbHRhUG9jcyBjYWxjdWxhdGlvbgoJICBBbHdheXMgdXNlIHRoZSBlcXVhdGlvbiBwcm92aWRlZCBpbiBzcGVjICg3LTU3KSBmb3IgZmluZGluZwoJICB0aGUgTnVtRGVsdGFQb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTQ6MDQ6MTcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHRoZSBOdW1Qb2NUb3RhbEN1cnIgY2FsY3VsYXRpb24KCSAgVGhlIE51bVBvY1RvYWxDdXJyIHNob3VsZCBiZSBjYWxjdWxhdGVkIGZvciBhbGwgQiBhbmQgUCBzbGljZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTM6NTk6NTAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IG5hbCBzaXplIGNhbGN1bGF0aW9uIGZvciBFT1MgYW5kIEVPQgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTI2IDIxOjQyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IERlLWNhbWVsY2FzZSBvbkluaXRGQk8oKSB2ZnVuYwoKMjAxNS0wNC0yNiAyMTozOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBSZW1vdmUgb25TdGFydC9vblN0b3AgdmZ1bmNzLCBhbmQgdW51c2VkIG9uUmVzZXQoKQoJICBvblN0YXJ0L29uU3RvcCBhcmUganVzdCBkdXBsaWNhdGVzIG9mIHRoZSBiYXNldHJhbnNmb3JtIG9uZXMsIG9uUmVzZXQKCSAgd2FzIG5ldmVyIGNhbGxlZCBidXQgd2FzIHVzZWQgZXZlcnl3aGVyZSB3aGVuIHN0b3Agc2hvdWxkJ3ZlIGJlZW4gdXNlZC4KCjIwMTUtMDQtMjEgMDk6NDM6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGRvbid0IGluaXRpYWxpemUgbXVsdGlwbGUgc2hhZGVycyBvbiByZW5lZ290aWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDcKCSAgKiBkZWxldGUgc2hhZGVyIGlmIG9uZSBleGlzdHMKCSAgKiBzZXQgaXQgdG8gTlVMTCBhZnRlciB1bnJlZmluZwoKMjAxNS0wNC0yNiAyMToxMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOjIzMDoxOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnaW5fc3RydWN0dXJlJwoJICBbLVdlcnJvciwtV3VudXNlZC12YXJpYWJsZV0KCSAgR3N0U3RydWN0dXJlICppbl9zdHJ1Y3R1cmUgPSBnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChjYXBzLCAwKTsKCSAgXgoKMjAxNS0wNC0xNSAwMToyNDo0NSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkcm9wIGZyYW1lcyB3ZSBnZXQgYmVmb3JlIHdlIGhhdmUgYSBjbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDU0CgoyMDE1LTA0LTI2IDIwOjMzOjQxICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogVW5yZWYgb3RoZXIgY29udGV4dCBpbiBmaW5hbGl6ZSwgYW5kIGRpc3BsYXkgaW4gUkVBRFktPk5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNQoKMjAxNS0wNC0xOSAxOToxNjo1NSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEtlZXAgY29sb3JpbWV0cnkgYW5kIGNocm9tYS1zaXRlIGZpZWxkcyBpZiBwYXNzdGhyb3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTQxCgoyMDE1LTA0LTI2IDE4OjA0OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQW5kcm9pZC5tazoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meGJhZC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgb2Jzb2xldGUgQW5kcm9pZCBidWlsZCBjcnVmdAoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTUtMDQtMTkgMDA6NTU6NTAgKzA5MDAgIFl1amluIExlZSA8c2FkZG9wb3BAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIHZ0ZGVjOiBmaXggYnVpbGQgZXJyb3Igd2l0aCBjbGFuZwoJICBUaGlzIGNvbW1pdCBmaXhlcyBhIHNpbXBsZSBidWlsZCBlcnJvciBieSBjbGFuZyB3aXRoCgkgIGJ5IGNsYW5nIHdpdGggWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtcG9pbnRlci1jb21wYXJlXSBvcHRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTEwCgoyMDE1LTA0LTI2IDE5OjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBPbmx5IGFuc3dlciB0aGUgZHVyYXRpb24gcXVlcnkgaW4gbm9uLWxpdmUgbW9kZQoKMjAxNS0wNC0yNSAxODo1MDo1MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCB0aGUgbGljZW5zZSBmcm9tIEdQTCB0byBMR1BMCgkgIFRoaXMgd2FzIGEgY29weSduJ3Bhc3RlIGJ1ZiBpbiB0aGUgaW5pdGlhbCBjb21taXQgZG9uZSBieSBteXNlbGYuCgoyMDE1LTA0LTI1IDE4OjQ2OjQxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCB0aGUgbGljZW5zZSBmcm9tIEdQTCB0byBMR1BMCgkgIFRoaXMgd2FzIGEgY29weSduJ3Bhc3RlIGJ1ZiBpbiB0aGUgaW5pdGlhbCBjb21taXQgZG9uZSBieSBteXNlbGYuCgoyMDE1LTA0LTI1IDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuaDoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiByZW1vdmUgR1BMMyBjb2RlIHdlIGRvbid0IG5lZWQKCSAgSWYgOTUlIG9mIHRoZSBjb2RlIG9mIGFuIGV4YW1wbGUgYXBwIGNvbnNpc3RzIG9mIEdPYmplY3QKCSAgY29kZSwgbWF5YmUgdGhhdCdzIGRlZmVhdGluZyB0aGUgcG9pbnQgYSBsaXR0bGUuIFNvIGp1c3QKCSAgcmVtb3ZlIGEgbG90IG9mIHRoYXQgYW5kIHRyaW0gZG93biB0aGUgZXhhbXBsZSB0byB0aGUKCSAgYWJzb2x1dGUgbWluaW11bS4gQWxzbyByZW1vdmVzIHRoZSBsYXN0IHJlbWFpbmluZyBHUEwzCgkgIGxpY2Vuc2VkIGNvZGUgaW4gLWJhZC4KCjIwMTUtMDQtMjUgMTI6NTI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogc2ltcGxpZnkgcHJvcGVydHkgc2V0dGluZwoKMjAxNS0wNC0yNSAxMjo0ODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiBwb3J0IHRvIDEueAoKMjAxNC0xMS0yMCAwMDozMzo0NCArMDEwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHJlbGljZW5zZSBvcGVuY3YgZXhhbXBsZSB0byBMR1BMdjIKCjIwMTUtMDQtMjQgMTQ6MDQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBhZGQgdGVzdHMgZm9yIEdzdFBob3RvZ3JhcGh5IGltYWdlIGNhcHR1cmUKCSAgR3N0UGhvdG9ncmFwaHkgZW5hYmxlcyBuZXcgcGF0aHMgaW4gd3JhcHBlcmNhbWVyYWJpbnNyYyB0aGF0IGFsbG93cwoJICB0aGUgc291cmNlIHRvIGJlIG5vdGlmaWVkIGFib3V0IHRoZSBjYXB0dXJlIGNhcHMgYW5kIHByb3ZpZGUgYW4KCSAgYWx0ZXJuYXRpdmUgY2FwcyBpZiBkZXNpcmVkIGJ5cGFzc2luZyB0aGUgbmVnb3RpYXRpb24gKHRoaXMgZG9lc24ndAoJICBzZWVtIGxpa2UgYSBnb29kIGlkZWEgdGhlc2UgZGF5cykuIFRvIG1ha2Ugc3VyZSBpdCBrZWVwcyB3b3JraW5nCgkgIHVudGlsIHdlIHJlbW92ZSBpdCBmcm9tIHRoZSBBUEkgaW4gZmF2b3Igb2Ygc3RhbmRhcmQgY2FwcyBuZWdvdGlhdGlvbgoJICBmZWF0dXJlcyB0aGlzIHRlc3Qgd2FzIGFkZGVkLgoJICBJdCBhZGRzIDMgZXh0cmEgdGVzdHMgd2l0aCBhIHNpbXBsZSB0ZXN0IHNvdXJjZSB0aGF0IHdpbGw6CgkgIDEpIFRlc3QgdGhhdCBjYXB0dXJpbmcgd2l0aCBBTlkgY2FwcyB3b3JrCgkgIDIpIFRlc3QgdGhhdCBjYXB0dXJpbmcgd2l0aCBhIGZpeGVkIGNhcHMgd29yawoJICAzKSBUZXN0IHRoYXQgY2FwdHVyaW5nIHdpdGggYSBmaXhlZCBjYXBzIGFuZCBoYXZpbmcgdGhlIHNvdXJjZQoJICBwaWNrIGEgZGlmZmVyZW50IHJlc29sdXRpb24gZnJvbSBHc3RQaG90b2dyYXBoeSBBUEkgd29ya3MKCSAgYnkgaGF2aW5nIHdyYXBwZXJjYW1lcmFiaW5zcmMgY3JvcCB0aGUgY2FwdHVyZSB0byB0aGUgZmluYWwKCSAgcmVxdWVzdGVkIGRpbWVuc2lvbnMKCjIwMTUtMDQtMjQgMTQ6MTk6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZXdvcmsgY3JvcHBpbmcgZm9yIHpvb20gYW5kIGRpbWVuc2lvbiByZWR1Y3Rpb24KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyBoYXMgYSB2aWRlb2Nyb3AgZWxlbWVudCB0byBiZSB1c2VkIGZvcgoJICB6b29taW5nIGFuZCBmb3IgY3JvcHBpbmcgd2hlbiBpbnB1dCBjYXBzIGlzIGRpZmZlcmVudCB3aGVuIHVzZWQKCSAgd2l0aCB0aGUgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlLiBUaGUgem9vbWluZyBwYXJ0IG5lZWRzCgkgIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6CgkgIGNhcHNmaWx0ZXIgISB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlcgoJICBUaGUgY2Fwc2ZpbHRlcnMgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZSBzYW1lIGNhcHMgdG8gZW5zdXJlIHRoZQoJICB6b29taW5nIGlzIGRvbmUgYW5kIHByZXNlcnZlcyBkaW1lbnNpb25zLCB1bmxlc3Mgd2hlbiBpdCBpcyBuZWVkZWQKCSAgdG8gZG8gbW9yZSBjcm9wcGluZyBkdWUgdG8gaW5wdXQgZGltZW5zaW9ucyB0aG9zZSBjYXBzCgkgIG5lZWQgdG8gYmUgbW9kaWZpZWQgYWNjb3JkaW5nbHkgdG8gcHJlc2VydmUgdGhlIG91dHB1dCBkaW1lbnNpb25zLgoJICBUaGlzLCBob3dldmVyLCBtYWtlcyBpdCBoYXJkIHRvIGdldCBjYXBzIG5lZ290aWF0aW9uIHRvIHdvcmsgcHJvcGVybHkKCSAgYXMgd2UgbmVlZCB0byBoYXZlIGRpZmZlcmVudCBjYXBzIGluIHRoZSBjYXBzZmlsdGVycyB0byBhY2NvdW50IGZvcgoJICB0aGUgZXh0cmEgY3JvcHBpbmcgbmVlZGVkLiBJdCBjb3VsZCBiZSBzaW1wbGUgZm9yIGZpeGVkIGNhcHMgYnV0IGl0CgkgIGdldHMgdHJpY2t5IHdpdGggdW5maXhlZCBvbmVzLgoJICBUbyBzb2x2ZSB0aGlzLCB0aGlzIHBhdGNoIHNwbGl0cyB0aGUgem9vbWluZyBhbmQgZGltZW5zaW9uIHJlZHVjdGlvbgoJICBjcm9wcGluZyBpbnRvIDIgc2VwYXJhdGUgdmlkZW9jcm9wIGVsZW1lbnRzLiBUaGUgZmlyc3Qgb25lIGRvZXMKCSAgdGhlIGRpbWVuc2lvbiBjcm9wcGluZywgd2hpY2ggaXMgb25seSBuZWVkZWQgd2hlbiB0aGUgR3N0UGhvdG9ncmFwaHkKCSAgQVBJIGlzIHVzZWQgYW5kIHRoZSBzb3VyY2UgcHJvdmlkZXMgYSBjYXBzIHRoYXQgaXMgZGlmZmVyZW50IHRoYW4KCSAgd2hhdCBpcyByZXF1ZXN0ZWQsIHdoaWxlIHRoZSBzZWNvbmQgaXMgZGVkaWNhdGVkIHRvIHpvb20gY3JvcCBvbmx5LgoJICBUaGUgZmlyc3QgcGFydCBvZiB0aGUgcGlwZWxpbmUgZ29lcyBmcm9tOgoJICBzcmMgISB2aWRlb2NvbnZlcnQgISBjYXBzZmlsdGVyICEgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIKCSAgdG8KCSAgc3JjICEgdmlkZW9jcm9wICEgdmlkZW9jb252ZXJ0ICEgY2Fwc2ZpbHRlciAhIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyCgkgIEl0IG1pZ2h0IGFkZCBhbiBleHRyYSBvdmVyaGVhZCBpbiB0aGUgaW1hZ2UgY2FwdHVyZSBhcyB0aGUgaW1hZ2UgbWlnaHQgbmVlZAoJICB0byBiZSBjcm9wcGVkIHR3aWNlIGJ1dCB0aGlzIGNhbiBiZSBzb2x2ZWQgYnkgZW5hYmxpbmcgdmlkZW9jcm9wIHRvIHVzZQoJICBjcm9wIG1ldGFzIHNvIG9ubHkgdGhlIGxhdGVyIG9uZSBkb2VzIHRoZSByZWFsIGNyb3BwaW5nLgoJICBJdCBhbHNvIG1ha2VzIHRoZSBjb2RlIGEgYml0IHNpbXBsZXIuCgoyMDE1LTA0LTI0IDE0OjE3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50CgkgIFRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGluIGFub3RoZXIgcGxhY2UgYW5kIGRvZXNuJ3QgbWFrZSBzZW5zZQoJICBpbiB0aGUgZnVuY3Rpb24gY29udGV4dCBhbnltb3JlCgoyMDE1LTA0LTI0IDE0OjE2OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGVycm9yIG91dCBpZiBzb3VyY2UgZmFpbHMgdG8gcHJlcGFyZSBmb3IgY2FwdHVyZQoJICBQb3N0IGFuIGVycm9yIHdoZW4gcHJlcGFyaW5nIHRoZSBpbWFnZSBjYXB0dXJlIHRocm91Z2ggcGhvdG9ncmFwaHkKCSAgaW50ZXJmYWNlIGZhaWxzCgoyMDE1LTA0LTI0IDE0OjEzOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGludGVyc2VjdCBpbnN0ZWFkIG9mIGNvbXBhcmUgZm9yIGVxdWFsaXR5CgkgIEludGVyc2VjdCBpcyBlbm91Z2ggdG8gY2hlY2sgaWYgdGhlIHJlcXVlc3RlZCBjYXBzIGFyZSBjb21wYXRpYmxlCgkgIHdpdGggd2hhdCB0aGUgc291cmNlIGlzIGdvaW5nIHRvIHByb3ZpZGUuIEVxdWFsaXR5IHdpbGwgYmUgdG9vIHN0cmljdC4KCjIwMTUtMDQtMjQgMTQ6MTM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IHR5cG8KCjIwMTUtMDQtMjQgMDI6MjI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHRlc3RzOiByZW1vdmUgdW51c2VkIG1hY3JvcwoJICBUaG9zZSBtYWNyb3Mgd2VyZSB3aXRoIHRoZSB3cm9uZyBuYW1lIChsaWtlbHkgYSBjb3B5IG4gcGFzdGUgbWlzdGFrZSkKCSAgYW5kIHdlcmUgdW51c2VkLgoKMjAxNS0wNC0yMyAxNDoyODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlbW92ZSBvYnNvbGV0ZSBjaGVjayBmb3IgMC4xMCBmZWF0dXJlCgoyMDE1LTA0LTI0IDE2OjQ4OjIzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHJlbW92ZSB1bnVzZWQgZW51bSBpdGVtcyBQUk9QX0xBU1QKCSAgVGhpcyB3ZXJlIHByb2JhYmx5IGFkZGVkIHRvIHRoZSBlbnVtcyBkdWUgdG8gY2FyZ28gY3VsdCBwcm9ncmFtbWluZyBhbmQgYXJlCgkgIHVudXNlZC4KCjIwMTUtMDQtMjQgMTc6MTM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYmFsYW5jZSBjaGFuZ2Vfc3RhdGUgZGlzcGxheSByZWYvdW5yZWYKCSAgdGhlIGRpc3BsYXkgd2FzIGJlaW5nIHVucmVmZmVkIG9uIHRoZSBpbmNvcnJlY3Qgc3RhdGUgY2hhbmdlIGNhdXNpbmcKCSAgaW52YWxpZCBzdGF0ZSB3aGVuIGNoYW5naW5nIGZyb20gUExBWUlORy9QQVVTRUQtPlJFQURZLT5QQVVTRUQvUExBWUlORy4KCjIwMTUtMDQtMjMgMTc6NDM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERvbid0IGNsYWltIHRvIGJlIGxpdmUgd2hlbiBhbnN3ZXJpbmcgdGhlIExBVEVOQ1kgcXVlcnkKCSAgRXZlbiBmb3IgImxpdmUiIHN0cmVhbXMgd2UgYXJlIG5vdCBsaXZlIGluIHRoZSBHU3RyZWFtZXIgbWVhbmluZyBvZiB0aGUgd29yZC4KCSAgV2UgZG9uJ3QgcHJvZHVjZSBidWZmZXJzIHRoYXQgYXJlIHRpbWVzdGFtcGVkIGJhc2VkIG9uIHRoZWlyICJjYXB0dXJlIHRpbWUiCgkgIGFuZCBvdXIgY2xvY2ssIGJ1dCBqdXN0IGJhc2VkIG9uIHdoYXRldmVyIHRpbWVzdGFtcHMgdGhlIHN0cmVhbSBtaWdodCBjb250YWluLgoJICBBbHNvIGV2ZW4gaWYgd2Ugd2FudGVkIHRvIGNsYWltIHRvIGJlIGxpdmUsIHRoYXQgd291bGRuJ3Qgd29yayB3ZWxsIGFzIHdlCgkgIHdvdWxkIGhhdmUgdG8gcmV0dXJuIEdTVF9TVEFURV9DSEFOR0VfTk9fUFJFUk9MTCB3aGVuIGdvaW5nIGZyb20gUkVBRFkgdG8KCSAgUEFVU0VELCB3aGljaCB3ZSBjYW4ndC4gV2UgZmlyc3QgbmVlZCBkYXRhIHRvIGtub3cgaWYgd2UgYXJlICJsaXZlIiBvciBub3QuCgoyMDE1LTA0LTIzIDE3OjM5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBVc2UgdGhlIGRvd25sb2FkZXIgb2YgdGhlIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBjcmVhdGluZyBvdXIgb3duCgkgIFRoZSBvbmUgb2YgdGhlIGJhc2UgY2xhc3MgaXMgY29tcGxldGVseSB1bnVzZWQgYmVjYXVzZSB3ZSBvdmVycmlkZSBhbGwKCSAgdGhlIGRvd25sb2FkaW5nIGhlcmUsIHNvIGxldCdzIGp1c3QgdXNlIHRoYXQgb25lIGluc3RlYWQuCgoyMDE1LTA0LTIzIDE3OjM2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBlcnJvciBvdXQgaWYgd2UgY2FuJ3QgbWF0Y2ggdmFyaWFudCBwbGF5bGlzdHMgYWZ0ZXIgdXBkYXRpbmcKCSAgSXQncyBiZXR0ZXIgdG8ganVzdCBzZWxlY3Qgc29tZSByYW5kb20gdmFyaWFudCBwbGF5bGlzdCBpbnN0ZWFkIG9mIHN0b3BwaW5nLAoJICBjaGFuY2VzIGFyZSB0aGF0IGl0J3Mgc3RpbGwgY29udGludWluZyB0byB3b3JrIGFuZCB3ZSBtaWdodCBqdXN0IGhhdmUgdG8KCSAgc2VsZWN0IGEgZGlmZmVyZW50IHZhcmlhbnQgYWdhaW4gbGF0ZXIuCgoyMDE1LTA0LTIzIDE3OjMzOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGhvdyB0aGUgcGxheWxpc3RzIGFyZSByZWZyZXNoZWQKCSAgV2Ugc2hvdWxkIG9ubHkgcmVmcmVzaCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHZhcmlhbnQgcGxheWxpc3QgKGlmIGFueSwKCSAgb3RoZXJ3aXNlIHRoZSBtYWluIHBsYXlsaXN0KSwgbm90IHRoZSBtYWluIHBsYXlsaXN0LiBBbmQgb25seSB0cnkgdG8KCSAgcmVmcmVzaCB0aGUgbWFpbiBwbGF5bGlzdCBpZiB1cGRhdGluZyB0aGUgdmFyaWFudCBwbGF5bGlzdCBmYWlscy4KCSAgU29tZSBzZXJ2ZXJzIChXb3d6YSkgdXNlIHRoZSByZXF1ZXN0IG9mIHRoZSBtYWluIHBsYXlsaXN0IHRvIGNyZWF0ZSBhCgkgICJzZXNzaW9uIiwgd2hpY2ggaXMgdGhlbiBwYXJ0IG9mIHRoZSBVUkkgb2YgdGhlIHZhcmlhbnQgcGxheWxpc3QgYW5kCgkgIGFsc28gdGhlIGZyYWdtZW50cy4gUmVmcmVzaGluZyB0aGUgbWFpbiBwbGF5bGlzdCB3b3VsZCBnZW5lcmF0ZSBhIG5ldwoJICBzZXNzaW9uLCBhbmQgdGhlIHNlcnZlciByYXRlIGxpbWl0cyB0aGF0IHVzdWFsbHkuIEFuZCBhZnRlciBhIGZldyByZXRyaWVzCgkgIHRoZSBzZXJ2ZXIganVzdCBraWNrcyB1cyBvdXQuCgkgIEFsc28gYXMgYSBzaWRlIGVmZmVjdCB3ZSBub3cgdXNlIHRoZSBzYW1lIGRvd25sb2FkZXIgZm9yIGFsbCBwbGF5bGlzdHMsIHNvCgkgIHRoYXQgd2Ugb25seSBoYXZlIDIgaW5zdGVhZCBvZiAzIGNvbm5lY3Rpb25zIHRvIHRoZSBzZXJ2ZXIuIEFuZCBhbHNvCgkgIHByZXZpb3VzbHkgd2UganVzdCBpZ25vcmVkIHRoZSBkb3dubG9hZGVkIGRhdGEgZnJvbSB0aGUgbWFpbiBwbGF5bGlzdCB0aGF0CgkgIHRoZSBiYXNlIGNsYXNzIGdhdmUgdG8gdXMuCgoyMDE1LTA0LTIzIDE3OjIyOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBBbGxvdyBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlIGhvdyBhIG5ldyBtYW5pZmVzdCB3b3VsZCBiZSBkb3dubG9hZGVkCgoyMDE1LTA0LTIzIDE3OjAyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEV4cG9zZSBkb3dubG9hZGVyCgkgIFRoaXMgYWxsb3dzIHN1YmNsYXNzZXMgdG8gdXNlIGl0IGFuZCBzaGFyZSBjb25uZWN0aW9ucyBpZiBwb3NzaWJsZS4KCjIwMTUtMDQtMjMgMTY6NDM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxNS0wNC0yMyAxNjo0MDo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGVmaW5lIEdTVF9DSEVDS19URVNUX0VOVklST05NRU5UX0JFQUNPTgoJICBNYWtlIHN1cmUgdGhlIHRlc3QgZW52aXJvbm1lbnQgaXMgc2V0IHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjozOToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTQgYW5kIGF1dG9jb25mIHRvIDIuNjkKCSAgVGhpcyBpcyBvbmx5IHJlcXVpcmVkIGZvciBidWlsZHMgZnJvbSBnaXQsIHBlb3BsZSBjYW4gc3RpbGwKCSAgYnVpbGQgdGFyYmFsbHMgaWYgdGhleSBvbmx5IGhhdmUgb2xkZXIgYXV0b3Rvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjo0Nzo0MCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IFJlbGVhc2UgZ2x1cGxvYWQgYnVmZmVyIHdoZW4gY2FwcyBhcmUgY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzcxCgoyMDE1LTA0LTIzIDExOjQ3OjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSAgZ2F1ZGk6IGRvbid0IHJ1biBnYXVzc2lhbiBmdW5jdGlvbiBpZiBzaWdtYSBpcyAwCgoyMDE1LTA0LTIyIDE5OjI4OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgdG9vIHNob3J0IHNlZ21lbnRzCgkgIFdoZW4gdGhlIHNlZ21lbnQgaXMgdmVyeSBzaG9ydCBpdCBtaWdodCBiZSB0aGUgY2FzZSB0aGF0IHRoZQoJICB0eXBlZmluZGluZyBmYWlscyBhbmQgd2hlbiBmaW5pc2hpbmcgdGhlIHNlZ21lbnQgaGxzZGVtdXggd291bGQKCSAgY29uc2lkZXIgdGhlIHJlbWFpbmluZyBkYXRhIChwZW5kaW5nX2J1ZmZlcikgYXMgYW4gZW5jcnlwdGlvbgoJICBsZWZ0b3Zlci4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBhbmQgbWFrZXMgc3VyZSBhbiBlcnJvciBpcyBwcm9wZXJseSBwb3N0ZWQKCSAgaWYgdHlwZWZpbmQgZmFpbGVkIGJ5IHJlZmFjdG9yaW5nIGJ1ZmZlciBoYW5kbGluZyB0byBhIGZ1bmN0aW9uCgkgIGFuZCB1c2luZyBpdCBmcm9tIHRoZSBkYXRhX3JlY2VpdmVkIGFuZCBmaW5pc2hfZnJhZ21lbnQgZnVuY3Rpb25zLgoKMjAxNS0wNC0yMiAxOTowNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXNlIGNvcnJlY3QgdmFyaWFibGUgdHlwZQoJICBnc3RfYnVmZmVyX3Jlc2l6ZSBuZWVkcyBnc3NpemUgYW5kIG5vdCBnc2l6ZS4gVGhpcyBtYWtlcyBnZGIKCSAgcHJpbnQgaXQgY29ycmVjdGx5IHdoZW4gZGVidWdnaW5nLgoKMjAxNS0wNC0yMiAxNzowODowOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBmaXggbW9kZSBhdXRvZGV0ZWN0aW9uCgkgIFRoZSBhdXRvZGV0ZWN0aW9uIG1vZGUgd2FzIGJyb2tlbiBiZWNhdXNlIGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIGlucHV0IG1vZGUKCSAgc2V0dGluZy4gVGhlIG1vZGUgY291bGQgYmUgcmV2ZXJ0ZWQgYmFjayB3aGVuIGl0IHdhcyByZXBsYWNlZCBpbgoJICB0aGUgc3RyZWFtaW5nIHRocmVhZCBieSB0aGUgb2xkIG1vZGUgaW4gdGhlIG1pZGRsZSBvZiBtb2RlIGNoYW5nZWQgY2FsbGJhY2suCgoyMDE1LTA0LTIyIDE3OjA0OjI1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogZG8gbm90IHJlcGVhdCBmaXJzdCB2aWRlbyBmb3JtYXQgaW4gY2FwcyB0ZW1wbGF0ZQoJICBUaGUgZmlyc3QgZW50cnkgaW4gdGhlIG1vZGVzIGFycmF5IGlzIHVzZWQgYXMgZGVmYXVsdCBtb2RlIGZvciBhdXRvZGV0ZWN0aW9uLgoJICBUaGVyZSdzIG5vIG5lZWQgdG8gY29weSBpdCBpbnRvIHRoZSBjYXBzIHRlbXBsYXRlLgoKMjAxNS0wNC0yMiAxNTowNDowMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGdhdWRpOiBmaXggdG8gMzA3ODBkYjEKCSAgVGhlIHNlY29uZCBjaGVjayBmb3IgKGZhY3RvciA9PSAwKSBjcmVlcGVkIGluIHRoZSBsYXN0IGNvbW1pdC4KCSAgQXBvbG9naWVzLgoKMjAxNS0wNC0yMiAxNDozMDo1NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGdhdWRpOiBmaXggZXhjbHVzaW9uJ3MgZmFjdG9yIHJhbmdlCgkgIEF2b2lkIGRpdmlkaW5nIGJ5IHplcm8gd2hlbiB0aGUgZmFjdG9yIGlzIHplcm8uIEluc3RlYWQsIG91dHB1dCBhIGJ1ZmZlciB3aXRoCgkgIGFsbCBjb2xvciB2YWx1ZXMgYXMgemVyby4KCjIwMTUtMDQtMjIgMTQ6MTU6MTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpOiByZW1vdmUgZmxvb3IgdmFyaWFibGUgaW4gc29sYXJpemUKCSAgRmxvb3IgdmFyaWFibGUgaGFzIG5vIGVmZmVjdCBhbmQgaXQgaXNuJ3Qgd29ydGggaXQgdG8gaGF2ZSBpdCBhZGp1c3RhYmxlLgoKMjAxNS0wNC0yMiAxMzo1NTowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGk6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkKCjIwMTUtMDQtMjIgMTg6NTQ6NDUgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIFdoaWxlIHByaW50aW5nIGVycm9yIG1lc3NhZ2Ugd2hlbiBjb250ZXh0IGZhaWxzLCBlcnJvciB2YXJpYWJsZSBpcyBub3QgYmVpbmcgdXNlZCBhbnltb3JlCgkgIHNvIGl0IHdpbGwgbGVhZCB0byBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODI4NwoKMjAxNS0wNC0yMiAxMDozODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIElOU1RBTEw6CgkgIFJlbW92ZSBJTlNUQUxMIGZpbGUKCSAgYXV0b3Rvb2xzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgdGhpcywgYW5kIHdoZW4gdXNpbmcgZGlmZmVyZW50IHZlcnNpb25zCgkgIGZvciBhdXRvZ2VuLnNoIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGNoYW5nZXMgdG8gYSBmaWxlIHRyYWNrZWQgYnkgZ2l0LgoKMjAxNS0wNC0yMiAxMDozODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJICBSZW1vdmUgTElDRU5TRV9yZWFkbWUKCSAgSXQncyBjb21wbGV0ZWx5IG91dGRhdGVkIGFuZCBqdXN0IGNvbmZ1c2luZywgYmV0dGVyIGlmIHBlb3BsZSBhcmUKCSAgZm9yY2VkIHRvIGxvb2sgYXQgdGhlIGFjdHVhbCBjb2RlIGluIHF1ZXN0aW9uIHRoYW4gdHJ1c3RpbmcgdGhpcyBmaWxlLgoKMjAxNS0wNC0yMSAyMjowNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRG9uJ3Qgc3RvcCBhbGwgdGFza3MgYW5kIHN0cmVhbXMgZnJvbSB0aGUgdXBkYXRlIHRhc2sgb24gZXJyb3JzCgkgIEl0IHdpbGwgZGVhZGxvY2tzIGFzIHdlIHdpbGwgdGhlbiBqb2luKCkgdGhlIHVwZGF0ZSB0YXNrIGZyb20gaXRzZWxmLiBJbnN0ZWFkCgkgIGp1c3QgcG9zdCBhbiBhY3R1YWwgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGFuZCBvbmx5IHN0b3AgdGhlIHVwZGF0ZSB0YXNrLgoJICBUaGUgYXBwbGljYXRpb24gaXMgdGhlbiByZXNwb25zaWJsZSBmb3Igc2h1dHRpbmcgZG93biB0aGUgZWxlbWVudCwgYW5kIHRodXMKCSAgYWxsIHRoZSBvdGhlciB0YXNrcyBhbmQgZXZlcnl0aGluZywgYmFzZWQgb24gdGhlIGVycm9yIG1lc3NhZ2UgaXQgZ2V0cy4KCjIwMTUtMDQtMjEgMTg6Mjk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggc2Vla2luZwoJICBXZSBhbHNvIGhhdmUgdG8gdXBkYXRlIHRoZSBjdXJyZW50X2ZpbGUgR0xpc3QgcG9pbnRlciBpbiB0aGUgTTNVIHBsYXlsaXN0CgkgIGNsaWVudCwgb3RoZXJ3aXNlIHdlIGFyZSBqdXN0IGNvbnRpbnVpbmcgcGxheWJhY2sgZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbgoJICBpbnN0ZWFkIG9mIHNlZWtpbmcuCgoyMDE1LTA0LTIxIDE4OjA1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3QgY2FsbCB1bmxvY2soKSBqdXN0IHRvIGNhbGwgbG9jaygpIGltbWVkaWF0ZWx5IGFmdGVyd2FyZHMKCjIwMTUtMDQtMjAgMDg6MjE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVzZXQgem9vbSBlbGVtZW50IGNhcHMgdG8gZ28gdG8gdmlld2ZpbmRlciBtb2RlCgkgIEF2b2lkcyBub3QtbmVnb3RpYXRlZCBmYWlsdXJlcyByZWxhdGVkIHRvIHVzaW5nIGltYWdlIGNhcHR1cmUgY2FwcwoJICBzdGlsbCB3aGVuIGFkanVzdGluZyB0byBnbyBiYWNrIHRvIHZpZXdmaW5kZXIuCgoyMDE1LTA0LTIwIDA4OjIwOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogYWRkIHRlc3QgZm9yIGNhcHR1cmUgd2l0aCBkaWZmZXJlbnQgY2FwcwoJICBBZGRzIGEgdGVzdCB0byB2ZXJpZnkgdGhhdCB2aWV3ZmluZGVyIGFuZCBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgY2FuIGJlIHNldCB0byBub24taW50ZXJzZWN0aW5nIGNhcHMgYW5kIHN0aWxsIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4NjgKCjIwMTUtMDQtMjAgMDg6NDI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IGxlYWsgb2YgZHJhaW4gcXVlcnkKCSAgZ3N0X3BhZF9wZWVyX3F1ZXJ5IGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIHF1ZXJ5IG9iamVjdAoKMjAxNS0wNC0yMCAwODo0Mjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlZmFjdG9yIGludGVybmFsIHBpcGVsaW5lCgkgIFJlbW92ZSB0ZWUgYW5kIG91dHB1dC1zZWxlY3RvciBhbmQganVzdCBsaW5rIHRoZSBzb3VyY2UKCSAgcGFkIHRvIHRoZSBvdXRwdXRzIHdlIHdhbnQgYXMgbmVlZGVkLgoJICBUaGUgd2F5IHdlIG5lZWQgdG8gcHJpb3JpdGl6ZSBjYXBzIG5lZ290aWF0aW9uIGFuZCBhbGxvY2F0aW9uCgkgIHF1ZXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBtb2RlIGVuYWJsZWQgaXMgdG9vIGN1c3RvbSB0byBiZQoJICBoYW5kbGVkIHVzaW5nIHRlZSBhbmQgb3V0cHV0LXNlbGVjdG9yLgoJICBUaGlzIHByb3ZpZGVzIG1vcmUgZmxleGliaWxpdHkgYW5kIGRvZXNuJ3QgZ2V0IGluIHRoZSB3YXkgb2YgcHJvcGVyCgkgIGhhbmRsaW5nIG9mIG5lZ290aWF0aW9uIGFuZCBhbGxvY2F0aW9uIHF1ZXJpZXMuCgoyMDE1LTA0LTA1IDIwOjE4OjU2ICswMjAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IENyZWF0ZSBlbGVtZW50IGZvciBlYWNoIGVmZmVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIyIDExOjIyOjUyICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogTWVyZ2UgbGFwbGFjaWFuIGZpbHRlciBpbnRvIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMiAxMToyMDo0OSArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogTWVyZ2Ugc29iZWwgZmlsdGVyIGludG8gZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIyIDExOjEzOjMwICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBNZXJnZSBibHVyIGZpbHRlciBpbnRvIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMSAyMzo1MDozMyArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgZ2xlZmZlY3RzOiBDb3JyZWN0IGF0dHJpYnV0ZXMgZm9yIGhjb252IGFuZCB2Y29udiBzaGFkZXJzCgkgIFdpZHRoIGFuZCBoZWlnaHQgd2VyZSBzd2l0Y2hlZCBmb3IgZ2xvdyBzaGFkZXJzLiBGb3IgYmx1cgoJICBmaWx0ZXIgYXR0cmlidXRlcyBuYW1lcyB3ZXJlIG9ic29sZXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIxIDIzOjIxOjEzICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogRml4IGZpc2hleWUgc2hhZGVyIC0gcGFzcyBmbG9hdCB0byBzcXJ0CgkgIE9uIE9TWCBwYXNzaW5nIGxpdGVyYWwgaW50IHRvIHNxcnQoKSBpbiBHTFNMIHJlc3VsdHMgaW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDQtMjEgMDc6Mjg6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGZpeCBzaGFkZXIgbWVtb3J5IGxlYWsKCjIwMTUtMDQtMjEgMTI6MjU6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogdHJhY2sgY29udGV4dCBhY3RpdmF0aW9uIHByb3Blcmx5CgkgIFdlIG9ubHkgbmVlZCB0byBkZWFjdGl2YXRlL3JlYWN0aXZhdGUgdGhlIGNvbnRleHQgaWZmIGl0IHdhcyBhbHJlYWR5CgkgIGFjdGl2ZS4KCjIwMTUtMDQtMjEgMTI6MTk6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsZGlzcGxheTogc3luY2hyb25pemUgdGhlIHNlYXJjaGluZyBhbmQgY3JlYXRpb24gb2YgR3N0R0xDb250ZXh0J3MKCSAgT290aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgd2l0aCBtdWx0aXBsZSBlbGVtZW50cyBpbiBkaWZmZXJlbnQgY2hhaW5zCgkgIGVhY2ggY3JlYXRpbmcgYSBjb250ZXh0LiAgRml4ZXMgY29udGV4dCBjcmVhdGlvbiB3aXRoIGdsdmlkZW9taXhlci4KCjIwMTUtMDQtMjAgMTQ6MzU6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJlbW92ZSBkZWFkIGNvZGUKCSAgVGhlIGRldGVjdGlvbiBmb3IgbWlzc2luZyBmb3JtYXQvYWxpZ25tZW50IGlzIGRvbmUgd2F5IGJlZm9yZSB0aGlzCgkgIGNvZGVwYXRoIGlzIHJlYWNoZWQgKGF0IHdoaWNoIHBvaW50IHdlIGhhdmUgYWxyZWFkeSBkZWNpZGVkIG9mIGEKCSAgZm9ybWF0IGFuZCBhbGlnbm1lbnQpLgoJICBDSUQgIzEyMzI4MDAKCjIwMTUtMDEtMDcgMTY6MjY6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIHVubmVlZGVkIGNoZWNrCgkgIFZhcmlhYmxlIGhhbmRzIGlzIGFscmVhZHkgY2hlY2tlZCB0byBjb250YWluIGEgdmFsdWUgcHJldmlvdXNseSBhdCB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBjdXJyZW50IGJsb2NrLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluLiBUaGlzIGlzIGxvZ2ljYWxseSBkZWFkIGNvZGUuCgkgIENJRCAxMTk3NjkzCgoyMDE1LTA0LTIwIDE0OjIwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEVuc3VyZSBzdHJpbmcgcmVjZWl2ZWQgZnJvbSByZWN2KCkgaXMgTlVMTC10ZXJtaW5hdGVkCgkgIFdlIHdpbGwgYmUgZG9pbmcgc3RyaW5nIG9wZXJhdGlvbnMgb24gaXQgbGF0ZXIuCgkgIENJRCAjMTI5MjgzMAoKMjAxNS0wNC0yMCAxMTozMDoxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNsZWFuIGFzc2lnbm1lbnQgdHlwbwoJICBObyBuZWVkIHRvIHNldCB0aGUgdmFsdWUgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCSAgQ0lEICMyOTUxMjIKCjIwMTUtMDQtMjAgMTA6NTc6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgZGVhZCBjb2RlCgkgIHBvc2l0aW9uIG9mIEdzdFNlZ21lbnQgaXMgYW4gdW5zaWduZWQgaW50NjQsIGl0IGNhbiBuZXZlciBiZSBiZWxvdyB6ZXJvLgoJICBDSUQgIzEyOTUxMjMKCjIwMTUtMDItMDkgMTE6Mjk6NDYgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBleGNlcHRpb24gd2hlbiBibG9jayB3aWR0aCB0byAwCgkgIFdoZW4gYmxvY2sgd2lkdGggcHJvcGVydHkgaXMgc2V0IHRvIDAsIGV4Y2VwdGlvbiBvY2N1cnMuCgkgIFRoaXMgaGFwcGVucyBkdWUgdG8gZGl2aWRlIGJ5IHplcm8gZXJyb3JzIGluIGNhbGN1bGF0aW9ucy4KCSAgYmxvY2sgd2lkdGggcHJvcGVydHkgY2FuIG5ldmVyIGJlIDAuIEhlbmNlIGFkanVzdGluZyB0aGUgbWluaW11bSB2YWx1ZSB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTg4CgoyMDE1LTA0LTE1IDE1OjIyOjM3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGZpeCBjYXBzIGxlYWsgaW4gZ3N0X2dsX21peGVyX3BhZF9zaW5rX2dldGNhcHMoKQoJICBDYXBzIHJlZmNvdW50aW5nIHdhcyBhbGwgd3JvbmcgaW4gdGhpcyBmdW5jdGlvbi4gUmV3cm90ZSBpdCBhbmQgYWRkIHNvbWUKCSAgY29tbWVudHMgdG8gbWFrZSBpdCBjbGVhcmVyLgoJICBGaXggY2FwcyBsZWFrcyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTE1CgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0yMCAxNzowODoyMyArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF2b2lkIGltcGxpY2l0IGNvbG9yIGNvbnZlcnNpb25zCgkgIFJld29yayB0aGUgR0wgdGV4dHVyZSBjb2RlIGEgbGl0dGxlIHRvIGF2b2lkIGltcGxpY2l0IGNvbG9yIGNvbnZlcnNpb24gaW5zaWRlCgkgIEFWRi9WVCBvbiBib3RoIGlPUyBhbmQgT1NYLgoKMjAxNS0wNC0xOSAwMToxNTowNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IGZyZWUgdGV4dHVyZSBjYWNoZSBvbiBpT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODEyMgoKMjAxNS0wNC0xOSAwMToyMTo0MCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBjaGVjayBmb3IgZmFpbHVyZSB0byBjcmVhdGUgYnVmZmVyCgkgIGdzdF9jb3JlX21lZGlhX2J1ZmZlcl9uZXcgYW5kIGdzdF9jb3JlX3ZpZGVvX3RleHR1cmVfY2FjaGVfZ2V0X2dsX2J1ZmZlcgoJICBjYW4gZmFpbCBmb3IgdmFyaW91cyBwbGF0Zm9ybSByZWFzb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTIyCgoyMDE1LTA0LTE5IDEzOjEyOjA1ICswOTAwICBZdWppbiBMZWUgPHNhZGRvcG9wQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYnVpbGQgZmFpbHVyZSB3aXRoIGNsYW5nCgkgIFVzZSBmYWJzIGZvciBmbG9hdGluZyBwb2ludCBpbnB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODEyOAoKMjAxNS0wNC0xNyAxMzo1NzozOCAtMDYwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSB1bnVzZWQgbGF0ZW5jeSBxdWVyeSBjb2RlCgkgIFRoZSBiZWhhdmlvciBjaGFuZ2VzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHNlZ21lbnQsCgkgIG5vdCBvbiB0aGUgbGl2ZW5lc3Mgb2YgdGhlIHNvdXJjZS4KCjIwMTUtMDQtMTcgMTM6NTU6MjYgLTA2MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhbnVwIGxhdGVuY3kgcXVlcnkgaGFuZGxpbmcKCSAgVGhlIG1pbmltdW0gbGF0ZW5jeSBpcyBhbHdheXMgMCBvciBtb3JlLiBBbmQgd2Ugc2hvdWxkCgkgIHJlcXVlcnkgdXBzdHJlYW0gYXMgaXQgbWF5IGhhdmUgY2hhbmdlZC4KCjIwMTQtMDctMTcgMTA6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYW5kbGUgcXVldWUvcmVsZWFzZSBlcnJvcnMgbm9uLWZhdGFsCgkgIFRoZXkgY2FuIGhhcHBlbiBzb21ldGltZXMgYXMgYSB0cmFuc2llbnQgcHJvYmxlbSwgZS5nLiBpZiB0aGVyZQoJICBpcyBhIHByb2JsZW0gaW4gdGhlIHN0cmVhbS4gT25seSBoYW5kbGUgdGhlbSBhcyBmYXRhbCBpZiBtYW55IG9mCgkgIHRoZW0gaGFwcGVuIGluIGEgcm93LgoKMjAxNS0wNC0xMSAxNjo1MzozOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IENoYW5nZSBvcGVuY3YgcGx1Z2luIHRvIHVzZSBvcGVuY3YyLXN0eWxlIGluY2x1ZGVzCgkgIElmIG9sZCBvcGVuY3YxLXN0eWxlIGxlZ2FjeSBpbmNsdWRlIGRpcmVjdG9yeSBpcyBhdmFpbGFibGUsCgkgIHRoaXMgY2hhbmdlIGJlY29tZXMgcHVyZWx5IGNvc21ldGljIChtYXliZSB3aWxsIGNvbXBpbGUgYSBiaXQgZmFzdGVyKS4KCSAgSXQgYmVjb21lcyBhbiBGVEJGUyBmaXggd2hlbiBvcGVuY3YxLXN0eWxlIGluY2x1ZGUgZGlyZWN0b3J5IGlzIG1pc3NpbmcKCSAgKHBvc3NpYmx5IGJlY2F1c2Ugb3BlbmN2IHBhY2thZ2UgbWFpbnRhaW5lciBkZWNpZGVkIG5vdCB0byBwYWNrIGl0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcwNQoKMjAxNS0wNC0xMiAwMDo1Njo0OCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogQ2hhbmdlIGNvbmZpZ3VyZSB0ZXN0IHRvIGNoZWNrIGZvciBPcGVuQ1YyIGhlYWRlcnMKCSAgKiBDaGVja3MgZm9yIG9wZW5jdjIgaGVhZGVycyBvbmx5LCBub3QgZm9yIGxlZ2FjeSBvcGVuY3YxIGhlYWRlcnMKCSAgKiBDaGVja3MgZm9yIGV2ZXJ5IG9wZW5jdjIgaGVhZGVyIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIG5lZWRzLAoJICBub3QganVzdCBoaWdoZ3VpX2MuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTYzCgoyMDE1LTA0LTE3IDA1OjEyOjEwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGdldCBjb25uZWN0aW9uIGFuZCBpbnB1dCBjbG9jayBlYXJseQoKMjAxNS0wNC0xNyAxNTozMjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVuaWZ5IGRlYnVnIHN0YXRlbWVudHMKCSAgVXNlIDB4JTA0eCBmb3IgUElEcwoKMjAxNS0wNC0xNyAxNTozMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVuaWZ5IGR1cmF0aW9uIHF1ZXJ5aW5nIGNvZGUKCSAgQW5kIHByb3Blcmx5IHVzZSBpdCBpbiB0aGUgU0VFS0lORyBxdWVyeS4KCSAgRml4ZXMgc2Vla2luZyB3aXRoIGdzdC1wbGF5CgoyMDE1LTA0LTE2IDE0OjE3OjA0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY2FwcyBsZWFrIHdoZW4gZWFybHkgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5OTMKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTE2IDE0OjIxOjE2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHVucmVmIG93bmVkIGNhcHMgd2hlbiBmaW5hbGl6aW5nIHRoZSBtaXhlcgoJICBGaXggYSBjYXBzIGxlYWsgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxNQoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMTUgMTU6MTY6MzMgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcGFzcyB0aGUgcHJvcGVyIGZyZWUgZnVuY3Rpb24gdG8gZnJhbWVzIGFuZCBidWZmZXJzIGFycmF5CgkgICdhcnJheV9idWZmZXJzJyBjb250YWluIGJvcnJvd2VkIEdzdEJ1ZmZlciBhbmQgc28gc2hvdWxkbid0IGhhdmUgYSBmcmVlCgkgIGZ1bmN0aW9uLiAnZnJhbWVzJyBpcyB0aGUgb25lIGNvbnRhaW5pbmcgR3N0R0xNaXhlckZyYW1lRGF0YSBhbmQgc28gc2hvdWxkIHVzZQoJICBfZnJlZV9nbG1peGVyX2ZyYW1lX2RhdGEgYXMgZnJlZSBmdW5jdGlvbi4KCSAgRml4IEdzdEdMTWl4ZXJGcmFtZURhdGEgbGVha3Mgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxMwoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMTcgMTU6MjA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZGVsZW1lbnQ6IERvd25sb2FkICpmcm9tKiBPcGVuR0wsIG5vdCBpbnRvCgoyMDE1LTA0LTE3IDA5OjI0OjEyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBlcmljc3Nvbi5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIGNvbXBsZXhpdHkgcHJvcGVydHkgZm9yIHNwZWVkL3F1YWxpdHkgdHJhZGVvZmYKCjIwMTUtMDQtMTcgMTQ6MjQ6MjggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2xjb250ZXh0OiBNYWtlIGdzdF9nbF9jb250ZXh0X2VnbF9hY3RpdmF0ZSBmYWlsIGlmIHRoZSBvbGQgc3VyZmFjZSBjb3VsZCBub3QgYmUgZGVzdHJveWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNTEKCjIwMTUtMDQtMTcgMTA6Mzg6MTYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogVW5yZWYgR3N0R0xVcGxvYWQgb2JqZWN0IGFuZCBjYXBzIGluIDo6c3RvcCgpCgkgIEZpeCBsZWFrIG9mIHRoZSBHc3RHTFVwbG9hZCBvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwMzMKCjIwMTUtMDQtMTcgMTQ6MDk6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkgIGdsOiBSZW1vdmUgc29tZSBlbXB0eSA6OmZpbmFsaXplKCkgaW1wbGVtZW50YXRpb25zCgoyMDE1LTA0LTE3IDE0OjA2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWRlbGVtZW50OiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAxNS0wNC0xNyAxNDowNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkZWxlbWVudDogUmVtb3ZlIHVudXNlZCA6OmZpbmFsaXplKCkgaW1wbGVtZW50YXRpb24KCjIwMTUtMDQtMTcgMTQ6MDM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0ZWxlbWVudDogQWxzbyB1bnJlZiBjYXBzIGluIDo6c3RvcCgpIGFscmVhZHkKCSAgVGhleSBhcmUgbm90IHVzZWZ1bCBhbnltb3JlIGFmdGVyd2FyZHMsIHNvIGtlZXBpbmcgdGhlbSB1bnRpbCA6OmZpbmFsaXplKCkKCSAgbWlnaHQgb25seSBjYXVzZSBzb21lb25lIHRvIHVzZSB0aGVtIGxhdGVyIGFuZCB0aGVuIGZhaWwuCgoyMDE1LTA0LTE1IDE0OjQ5OjAyICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnRlbGVtZW50OiBmaXggR3N0R0xDb2xvckNvbnZlcnQgbGVhawoJICBjb252ZXJ0LT5jb252ZXJ0IHdhcyBuZXZlciB1bnJlZmZlZC4KCSAgVGhpcyBjYW4gYmUgcmVwcm9kdWNlIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTEKCjIwMTUtMDQtMTYgMjI6NDM6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkgIGFwZXhzaW5rOiBGaXggYnVmZmVyIG92ZXJmbG93LCBpbiBjYXNlIGFueW9uZSBldmVyIHBvcnRzIGl0LgoJICBGaXggYSBzaW1wbGUgYnVmZmVyIG92ZXJmbG93IC0gMTYgYnl0ZXMgaXNuJ3QgZW5vdWdoIHRvIGhvbGQKCSAgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGd1bG9uZyBvbiB4ODZfNjQuIEkgZ3Vlc3MgdGhlCgkgIGludGVudCB3YXMgdG8gZ2VuZXJhdGUgYSAzMiBiaXQgcmFuZG9tIGtleSwgc28gbGV0J3MgZG8gdGhhdC4KCSAgT25seSBtYXR0ZXJzIGlmIGFueW9uZSBldmVyIHBvcnRzIHRoZSBzaW5rIHRvIDEueAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NTI0CgoyMDE1LTA0LTE2IDEzOjM1OjAwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHBhZCBsZWFrIHdoZW4gbm90IGFkZGluZyBhIG5ldyBwYWQgYWZ0ZXIgbm8tbW9yZS1wYWRzCgoyMDE1LTA0LTA5IDE3OjM1OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBzZWdtZW50IHBvc2l0aW9uIHRyYWNraW5nIGZvciB0aGUgZ2VuZXJhbCBjYXNlCgkgIERpZmZlcmVudCBzdHJlYW1zIGNhbiBoYXZlIGRpZmZlcmVudCBQVFMvRFRTIGJhc2VzLCBhbmQgc29tZQoJICBzdHJlYW1zIG1heSBub3QgZXZlbiBoYXZlIERUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wNC0xNiAxMDo0Mjo0NSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsY29udGV4dDogTWFrZSBnc3RfZ2xfY29udGV4dF9lZ2xfYWN0aXZhdGUgZmFpbCBpZiB0aGUgc3VyZmFjZSBjb3VsZCBub3QgYmUgY3JlYXRlZAoJICBBbHNvIGFkZCBzb21lIGVycm9yIGxvZ2dpbmcuCgoyMDE1LTA0LTE1IDIxOjA3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCB1bnJlZiBidWZmZXIgdGhhdCB3YXMgdW5yZWZmZWQganVzdCBhIGZldyBsaW5lcyBiZWZvcmUgYWxyZWFkeQoKMjAxNS0wNC0xMSAwNDoyMDo0MyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIEFkZCBhZGFwdGl2ZWRlbXV4LCBiYWR2aWRlbyBhbmQgYmFkYmFzZSB0byB0aGUgbGluay1saXN0IGZvciB0aGUgZG9jc2Nhbm5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Njk3CgoyMDE1LTA0LTEyIDAxOjU4OjMxICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgkgIENvbXBsZW1lbnQgY29tbWl0IDU0OTZmZDNlNzVlNjVhNGUzODc3MTVkMGJhMDc0MDc5MGFlZmE1ZjYgYnkgcmVtb3ZpbmcKCSAgdGhlIGludm9sdmVkIHZhcmlhYmxlcy4KCjIwMTUtMDQtMTQgMjA6MzM6MjUgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBHTCBuZWdvdGlhdGlvbgoKMjAxNS0wNC0xNCAxODowNTozMSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbG9nIHRpbWVzdGFtcHMKCjIwMTUtMDQtMTMgMTE6NTU6NDIgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogc3VidHJhY3QgdGltZSBzcGVudCBpbiBBVkYgcXVldWVzCgkgIFRoZSB0aW1lIHNwZW50IGluIEFWRiBxdWV1ZXMgd2FzIGJlaW5nIGluY29ycmVjdGx5IGFkZGVkIHRvIHJ1bm5pbmcgdGltZQoJICByYXRoZXIgdGhhbiBzdWJ0cmFjdGVkLgoKMjAxNS0wNC0xMSAwNzozODo1NyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggR0wgdGV4dHVyZSBuZWdvdGlhdGlvbgoJICBHU1RfVklERU9fR0xfVEVYVFVSRV9VUExPQURfTUVUQV9BUElfVFlQRSBzaG91bGQgbm8gbG9uZ2VyIGJlIHVzZWQuCgkgIEluc3RlYWQsIGp1c3QgZ2V0IHRoZSBHTCBjb250ZXh0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzUyCgoyMDE1LTA0LTEzIDE5OjQwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggdHlwbwoKMjAxNS0wNC0xMyAxOTo0MDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkgIGR0bHNzcnRwZGVjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wNC0xMyAxOTo0MDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDQtMTAgMDk6MzQ6MDEgKzA5MDAgIFl1amluIExlZSA8c2FkZG9wb3BAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZW5hYmxlIHBsYXliYWNrIG9mIGNvbnRlbnQgd2l0aCB0ZXh0IHN0cmVhbXMKCSAgVGhlcmUgaXMgYSBwbGF5YmFjayBlcnJvciB3aGVuIHRyeWluZyB0byBwbGF5IGEgY29udGVudCB0aGF0CgkgIGhhcyAnYXBwbGljYXRpb24nIG1pbWVUeXBlLiBUaGlzIGNvbW1pdCBwcmV2ZW50cyBhbiBleGNlcHRpb24gZnJvbQoJICBzZXR1cCB0ZXh0IHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1MjUKCjIwMTUtMDQtMTIgMTM6MDE6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogUmVzZXQgRFRTIHRvIEdTVF9DTE9DS19USU1FX05PTkUKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCBhIHByZXZpb3VzIERUUyBzZXQgZnJvbSBhIHJlY3ljbGVkIGJ1ZmZlciB0aGF0IHdlIGdldAoJICBiYWNrIGZyb20gYSBidWZmZXIgcG9vbCwgd2hpY2ggdGhlbiBjb25mdXNlcyBzeW5jaHJvbml6YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjIKCjIwMTUtMDMtMjggMTU6NDQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbWM6IFVzZSBuZXcgSk5JIHV0aWxzIGFsbW9zdCBldmVyeXdoZXJlCgoyMDE1LTAzLTI4IDE1OjQ4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogQWxsb3cgY3JlYXRpbmcgZ2xvYmFsIGFuZCBsb2NhbCByZWZlcmVuY2VzIG9mIG9iamVjdHMKCjIwMTUtMDMtMjggMTU6MjE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBNYWtlIEdFcnJvciBhcmd1bWVudCBvcmRlciBtb3JlIGNvbnNpc3RlbnQKCjIwMTUtMDMtMjggMTU6MDg6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBBZGQgaGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIGEgZGlyZWN0IGJ1ZmZlciBhcnJheQoKMjAxNS0wMy0yOCAxNTowODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEphdmEgbG9uZ3MgYXJlIGdpbnQ2NHMKCjIwMTUtMDMtMjggMTQ6MzE6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBJbXByb3ZlIEpOSSB1dGlsaXRpZXMgYW5kIGFkZCBzb21lIG1pc3Npbmcgb25lcwoJICBXZSBub3cgZmlsbCBHRXJyb3JzIGZvciBldmVyeXRoaW5nIHRoYXQgY291bGQgdGhyb3cgYW4gZXhjZXB0aW9uLCBhbmQgbWV0aG9kCgkgIGNhbGxzIG5vdyBhbHdheXMgcmV0dXJuIGEgZ2Jvb2xlYW4gYW5kIHRoZWlyIHZhbHVlIGluIGFuIG91dC1wYXJhbWV0ZXIgdG8KCSAgZGlzdGluZ3Vpc2ggZmFpbHVyZXMgZnJvbSBvdGhlciB2YWx1ZXMuCgoyMDE1LTA0LTExIDE5OjM1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggbGFzdCBjb21taXQKCjIwMTUtMDQtMTEgMTk6MTc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBSZW1vdmUgaU9TL0VBR0wgd29ya2Fyb3VuZCBmb3IgUi9SRyB0ZXh0dXJlcwoJICBUaGlzIHNob3VsZCBiZSB1bm5lZWRlZCBub3cgYWZ0ZXIgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUwNwoKMjAxNS0wNC0xMSAxOToxNDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQWRkIGNvcnJlY3QgY2hlY2sgZm9yIFJHL1IgdGV4dHVyZXMgaW4gZ2xjb2xvcmNvbnZlcnQgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MDcKCjIwMTUtMDQtMTEgMTI6MTI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBkZWJ1ZyBtZXNzYWdlIHBhcmFtZXRlciBmb3JtYXQKCSAgVGhlIGZpcnN0IHBhcnQgb2YgdGhlIEdVSUQgc3RydWN0dXJlIGlzIGEgRFdPUkQKCSAgd2hpY2ggaXMgZGVmaW5lZCBhcyBhbiB1bnNpZ25lZCBsb25nLCBzbyB3ZSBuZWVkCgkgIHRvIGVpdGhlciBjYXN0IG9yIHVzZSAlMDhseC4KCjIwMTUtMDQtMTAgMjA6MjU6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IFRha2UgYnVmZmVyIGRpcmVjdGx5IGZyb20gdGhlIGFkYXB0ZXIKCSAgTm8gbmVlZCB0byBtYWtlIGEgY29weSBpbnRvIGEgbmV3IGJ1ZmZlciwganVzdCB0YWtlIHRoZSBkYXRhCgkgIGZyb20gdGhlIGFkYXB0ZXIuCgoyMDE1LTA0LTEwIDIwOjE1OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBQcm9kdWNlIEdzdEJ1ZmZlckxpc3QKCjIwMTUtMDQtMTAgMTY6MjM6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmUgdW51c2VkIGF0dHJpYnV0ZSBhbmQgcmVsYXRlZCBwYWQgcHJvYmUKCSAgVGhlIHZhcmlhYmxlIHdhcyBuZXZlciBzZXQgdG8gdHJ1ZSBhbmQgY2FuIGJlIHJlbW92ZWQgYWxvbmcKCSAgd2l0aCB0aGUgcHJvYmUgaW4gd2hpY2ggaXQgdXNlZCB0byBhY3QKCjIwMTUtMDMtMzEgMTc6MTA6NDUgKzAxMDAgIEFudG9uIE9iemhpcm92IDxvYnpoaXJvdkB5YWhvby5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBhdm9pZCBzZWdmYXVsdCB3aGVuIGdsIHBsYXRmb3JtIGlzIG5vdCBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNAoKMjAxNS0wNC0wOSAxNjoyMDo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBmaXggdHlwZSBtaXNtYXRjaCBpbiB2YXJhcmdzIHBhc3NpbmcKCSAgQSBiaXRtYXNrIGlzIDY0IGJpdHMsIGJ1dCBpbnRlZ2VyIGltbWVkaWF0ZXMgYXJlIHBhc3NlZCBhcyBpbnQKCSAgaW4gdmFyYXJncywgd2hpY2ggaGFwcGVuIHRvIGJlIDMyIGJpdCB3aXRoIGhpZ2ggcHJvYmFiaWxpdHkuCgkgIFRoaXMgdHJpZ2dlcmVkIGEgdmFsZ3JpbmQganVtcC1yZWxpZXMtb24tdW5pbml0YWxpemVkLXZhbHVlCgkgIHJlcG9ydCB3ZWxsIGF3YXkgZnJvbSB0aGUgc2l0ZSwgc2luY2UgaXQgZG9lc24ndCB0cmlnZ2VyIG9uCgkgIHN0YWNrIGFjY2Vzc2VzLCBhbmQgdGhlcmUgbXVzdCBoYXZlIGJlZW4gZW5vdWdoIHplcm9lcyB0byBzdG9wCgkgIGdfb2JqZWN0X3NldCBhdCB0aGUgcmlnaHQgcGxhY2UuCgoyMDE0LTA4LTIwIDEzOjQ2OjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGhhbmRsZSBzZWVrcyB3aXRoIG5vIHRhcmdldCAoaWUsIGtlZXAgY3VycmVudCBwb3NpdGlvbikKCSAgU3VjaCBzZWVrcyBhcmUgdXNlZCB0byBjaGFuZ2UgcGxheWJhY2sgcmF0ZSBhbmQgd2UgZG8gbm90IHdhbnQKCSAgdG8gYWx0ZXIgdGhlIHBvc2l0aW9uIGluIHRoYXQgY2FzZSwgc28gd2UgYnlwYXNzIHRoZSBmbHVzaC9zZWVrCgkgIGxvZ2ljLCBhbmQgc2V0IHRoaW5ncyB1cCBzbyBhIG5ldyBzZWdtZW50IGlzIHNjaGVkdWxlZCB0byBiZQoJICByZWdlbmVyYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTEwMAoKMjAxNS0wMy0yNiAxMzo0NjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IGZpeCB0aW1lc3RhbXBzIG5vdCB1cGRhdGluZyBhZnRlciBhIFBNVCBjaGFuZ2UKCSAgVGhlIFBDUnMgc3RheSBsb2NrZWQgb250byB0aGUgc2FtZSBQSUQgYXMgYmVmb3JlIHRoZSBjaGFuZ2UsCgkgIGJ1dCB0aGUgcmVsZXZhbnQgUElEIGhhcyBubyByZWFzb24gdG8gYmUgdGhlIHNhbWUgYWZ0ZXIgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDMtMjQgMTI6NTY6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2VuZCBuZXcgc2VnbWVudCB3aGVuIGEgc3RyZWFtIGlzIGFkZGVkCgkgIFRoaXMgd2lsbCBoYXBwZW4gd2hlbiB0aGUgUE1UIGNoYW5nZXMsIHJlcGxhY2luZyBzdHJlYW1zIHdpdGgKCSAgbmV3IG9uZXMuIEluIHRoYXQgY2FzZSwgd2UgbmVlZCB0byBhY2N1bXVsYXRlIHRoZSBydW5uaW5nIHRpbWUKCSAgZnJvbSB0aGUgcHJldmlvdXMgY2hhaW4gaW4gdGhlIHNlZ21lbnQgYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wMy0wOSAwOTo1NjozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgcG9zaXRpb24KCSAgVGhpcyBhbGxvd3Mgc2Vla2luZyB0byBjb3JyZWN0bHkgc2V0IHRoZSBiYXNlIG9uIHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTA0LTA5IDE1OjQxOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEb24ndCBydW4gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0IG9uIHRoZSBkdGxzIGVsZW1lbnRzCgkgIFRoZXJlIGlzbid0IHJlYWxseSBhbnkgd2F5IHRvIHRlc3QgdGhlIGVsZW1lbnRzIHN0YW5kYWxvbmUuCgoyMDE1LTA0LTA4IDE5OjI5OjQwIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbW92ZSBicm9rZW4gdGltZXN0YW1wcy1nb2luZy1iYWNrd2FyZHMgY2hlY2sKCSAgVGhpcyB3b3VsZCd2ZSBhbHNvIHRyaWdnZXJlZCBpZiBmb3Igc29tZSByZWFzb24gdGhlIHNlZ21lbnQgd2FzIHVwZGF0ZWQKCSAgaW4gc3VjaCBhIHdheSB0aGF0IFBUUyB3ZW50IGJhY2t3YXJkcywgYnV0IHRoZSBydW5uaW5nIHRpbWUgaW5jcmVhc2VkLiBMaWtlCgkgIHdoYXQgaGFwcGVucyB3aGVuIG5vbi1mbHVzaGluZyBzZWVrcyBhcmUgZG9uZS4KCSAgV2UncmUgZG9pbmcgYSBwcm9wZXIgYnVmZmVyLWZyb20tdGhlLXBhc3QgY2hlY2sgYSBmZXcgbGluZXMgYmVsb3cgYmFzZWQgb24gdGhlCgkgIHJ1bm5pbmcgdGltZSwgd2hpY2ggaXMgdGhlIG9ubHkgdGltZSB3ZSBzaG91bGQgY2FyZSBhYm91dCBoZXJlLgoKMjAxNS0wNC0wOCAxODo1MTo1MCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAga3N2aWRlb3NyYzogZml4IHN1cHBvcnQgZm9yIERWIGRldmljZXMKCjIwMTUtMDItMTAgMTM6MzI6MDAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgIGtzdmlkZW9zcmM6IG9ubHkgbGlzdCBjYXB0dXJlIGRldmljZXMKCjIwMTUtMDQtMDggMTY6NDY6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEFNX1RFU1RTX0VOVklST05NRU5UCgkgIE5lZWRlZCBieSB0aGUgbmV3IGF1dG9tYWtlIHRlc3QgcnVubmVyCgoyMDE1LTA0LTA4IDEwOjUyOjE3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBFeHBsaWNpdGx5IHNwZWNpZnkgbGF5b3V0PWludGVybGVhdmVkIGluIGNhcHMKCSAgVGhpcyBpcyBmaW5lIHRvIGhhcmQtY29kZS4gU2VjdGlvbiA5LjEuOCBvZiB0aGUgT3BlblNMIEVTIDEuMQoJICBzcGVjaWZpY2F0aW9uLCBpdCBpcyBleHBlY3RlZCB0aGF0IG11bHRpLWNoYW5uZWwgYXVkaW8gaXMgYWx3YXlzCgkgIGludGVybGVhdmVkLgoKMjAxNS0wNC0wNyAxNTo1NzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXBlbmQgb24gb3BlbmgyNjQgPj0gMS4zLjAKCSAgUmVxdWlyZWQgZm9yIHRoZSB2ZXJzaW9uIGNoZWNrIGhlYWRlciwgYXMgYWdyZWVkIHVwb24gb24gSVJDCgoyMDE1LTA0LTA1IDA1OjM3OjA5ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBzZXR0aW5nIG9mIGJ1ZmZlciBvZmZzZXQgZW5kCgkgIERvbid0IHNldCBvZmZzZXQgZW5kIHRvIHJhbmRvbSB2YWx1ZXMgb2ZmIHRoZSBzdGFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1MgoKMjAxNS0wNC0wNyAxMTowOTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW4yNjQ6IEZpeCBHVHlwZS9nc2l6ZSB1c2FnZQoJICBnc3RvcGVuaDI2NGVuYy5jcHA6MTA4Ojc6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcyBbLVdzdHJpY3QtYWxpYXNpbmddCgoyMDE1LTA0LTA3IDExOjIxOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IERldGVjdCAxLjQgQVBJIGNoYW5nZQoJICBBcyBtZW50aW9ubmVkIGluIHJlbGVhc2Ugbm90ZXMgOiBBZGRlZCBuZXcgU3BzL1BwcyBzdHJhdGVnaWVzIGZvciByZWFsLXRpbWUKCSAgdmlkZW8gKHJlcGxhY2UgdGhlIG9sZCBzZXR0aW5nIHZhcmlhYmxlICdiRW5hYmxlU3BzUHBzSWRBZGRpdGlvbicgd2l0aAoJICAnZVNwc1Bwc0lkU3RyYXRlZ3knKQoKMjAxNS0wNC0wNiAyMDoyODoyMiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRGlzY29ubmVjdCBtb3VzZS9rZXkgZXZlbnQgc2lnbmFsIGhhbmRsZXJzIGZyb20gd2luZG93IHdoZW4gc2h1dHRpbmcgZG93biBjb250ZXh0CgoyMDE1LTA0LTA2IDIwOjI0OjA2IC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBHdWFyZCBhZ2FpbnN0IGRpc2Nvbm5lY3RpbmcgaW52YWxpZCBzaWduYWwgaWRzCgoyMDE1LTAzLTI2IDExOjUyOjMzICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBSZXNldCB0aGUgaW50ZXJuYWwgc2VnbWVudCBiZWZvcmUgZnJlZWluZyBpdC4KCSAgbXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UoKSBhbGxvY2F0ZXMgZGF0YSBpbnNpZGUgdGhlIHNlZ21lbnQKCSAgKGxpa2Ugc2VnbWVudC0+ZGVsdGFfZW50cmllcykgd2hpY2ggaGF2ZSB0byBiZSBmcmVlZCB1c2luZwoJICBteGZfaW5kZXhfdGFibGVfc2VnbWVudF9yZXNldCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODAzCgoyMDE1LTA0LTA0IDEwOjU2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogd3JpdGUgdGhlIHBsYXlsaXN0IGVuZCBtYXJrZXIgb24gRU9TCgkgIENhdGNoIEVPUyBmcm9tIHRoZSBtdWx0aWZpbGVzaW5rIGFuZCBhZGQgdGhlIGVuZGxpc3QgbWFya2VyIHRvCgkgIHRoZSBwbGF5bGlzdCB3aGVuIGl0IGhhcHBlbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzMxOQoKMjAxNS0wMy0yOSAxNzo1MzoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkb2N1bWVudCBnYXAgaGFuZGxpbmcgYmVoYXZpb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0OQoKMjAxNS0wMy0yNyAxOTozNjo0MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkcm9wIHN0YWxlIHdoaXRlIHNwYWNlIGF0IHdhcm5pbmcKCjIwMTUtMDMtMjcgMTk6Mjg6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggdHlwbyBpbiB0ZXN0IHN1aXRlCgoyMDE1LTAzLTI3IDE4OjMyOjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGdhcCBldmVudCBoYW5kbGluZyB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0OQoKMjAxNS0wMy0xNyAyMjoxMzowNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBpbXBsZW1lbnQgZ2FwIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDkKCjIwMTUtMDQtMDMgMTg6NTc6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjNzZhOGIgdG8gYzhmYjM3MgoKMjAxNS0wNC0wMyAxMTo0NjoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IEZpeCBpbmNvcnJlY3QgZmFsbC10aHJvdWdoIGNvbmRpdGlvbiBpbiBwcm9wZXJ0eSBnZXR0ZXIKCjIwMTItMDQtMjcgMTg6Mjk6MTQgKzAyMDAgIEd1aWxsYXVtZSBFbW9udCA8Z3VpamVtb250QGlnYWxpYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IGFkZCBhbiBzaG0tYXJlYS1uYW1lIHByb3BlcnR5CgkgIFRoZSBzaG0tYXJlYS1wcm9wZXJ0eSB0ZWxscyB0aGUgbmFtZSBvZiB0aGUgc2htIGFyZWEgdXNlZCBieSB0aGUgZWxlbWVudC4gVGhpcwoJICBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHNobXNpbmsgaXMgbm90IGFibGUgdG8gY2xlYW4gdXAgKGNhbGxpbmcKCSAgc2htX3VubGluaygpKSwgZS5nLiBpZiBpdCBpcyBpbiBhIHNhbmRib3guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUxMzQKCjIwMTUtMDQtMDEgMjI6MTA6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVuaWZ5IGRvd25zdHJlYW0gZmxvdyByZXR1cm4gYW5kIGZsdXNoaW5nCgkgIEFsc28gbWVhbnMgdGhhdCBoYXZpbmcgYSBub24tT0sgZG93bnN0cmVhbSBmbG93IHJldHVybgoJICB3YWtlcyB1cCB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAxIDIxOjQ1OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGbHVzaGluZyBpcyBhbHdheXMgaW4gcGFkIGxvY2ssIG5vIG5lZWQgdG8gYXRvbWljcwoJICBUaGUgdXNhZ2Ugb2YgYXRvbWljcyB3YXMgYWx3YXlzIGRvdWJ0ZnVsIGFzIGl0IHdhcyB1c2VkIHRvIHJlbGVhc2UgYQoJICBHQ29uZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAxIDIxOjM4OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXNldCBwZW5kaW5nX2VvcyBvbiBwYWQgZmx1c2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMSAyMTozNzoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5pZnkgY29kZSB0byBzZXQgYSBwYWQgZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMiAxODowNTo1NSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGxpYmdzdGdsOiBmaXggcmVuZGVyaW5nIG9uIGlPUwoJICBTdG9wIGFzc3VtaW5nIHRoYXQgdGhlIGhhbmRsZSBoYXMgYmVlbiBzZXQgYnkgdGhlIHRpbWUgLT5jcmVhdGVfY29udGV4dCBpcwoJICBjYWxsZWQuIEFmdGVyIGJjN2E3MjU5ZjM1N2IwMDY1ZGQ5NGUwNjY4YjVhODk1ZDgzZmE1M2Egc2V0X3dpbmRvd19oYW5kbGUgYWx3YXlzCgkgIGhhcHBlbnMgYWZ0ZXIgLT5jcmVhdGVfY29udGV4dCBpbiBmYWN0LgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDkwCgoyMDE1LTAzLTA2IDIxOjEyOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVlcnkgbGF0ZW5jeSBvbiBmaXJzdCBpbmNvbWluZyBidWZmZXIuCgkgIEFuZCBrZWVwIG9uIHF1ZXJ5aW5nIHVwc3RyZWFtIHVudGlsIHdlIGdldCBhIHJlcGx5LgoJICBBbHNvLCB0aGUgX2dldF9sYXRlbmN5X3VubG9ja2VkKCkgbWV0aG9kIHJlcXVpcmVkIGJlaW5nIGNhbGxkCgkgIHdpdGggYSBwcml2YXRlIGxvY2ssIHNvIHJlbW92ZWQgdGhlIF91bmxvY2tlZCgpIHZhcmlhbnQgZnJvbSB0aGUgQVBJLgoJICBBbmQgaXQgbm93IHJldHVybnMgR1NUX0NMT0NLX1RJTUVfTk9ORSB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBsaXZlIGFzCgkgIHdlIHRoaW5rIHRoYXQgMCB1cHN0cmVhbSBsYXRlbmN5IGlzIHBvc3NpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA0LTAxIDIwOjMyOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFsbG93IGRvd25zdHJlYW0gY2FwcyB3aXRoIGEgbm9uLWRlZmF1bHQgY2hhbm5lbC1tYXNrCgkgIEluc3RlYWQgb2YgZmFpbGluZywgdGFrZSB0aGUgZG93bnN0cmVhbSBjaGFubmVsIG1hc2sgaWYgdGhlIGNoYW5uZWwKCSAgY291bnQgaXMgMS4KCjIwMTUtMDMtMzEgMTY6Mjc6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogRG9uJ3QgdXNlIGNvbnRleHQgaWYgbm90IHByZXNlbnQKCSAgQXZvaWRzIGFzc2VydGlvbnMgYXQgcnVudGltZQoKMjAxNS0wMy0zMSAxMToyNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSAgaW50cm9zcGVjdGlvbjogRG9uJ3QgdXNlIGctaXItc2Nhbm5lciBjYWNoZSBhdCBjb21waWxlIHRpbWUKCSAgSXQgcG9sbHV0ZXMgdXNlciBkaXJlY3RvcmllcyBhbmQgd2UgZG9uJ3QgbmVlZCB0byBjYWNoZSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MDk1CgoyMDE1LTAzLTMxIDEwOjUzOjU1ICswMTAwICBWaWN0b3IgVG9zbyA8dmljdG9ydG9zb0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEltcGxlbWVudCB2b2x1bWUgYW5kIG11dGUKCSAgVXNpbmcgdGhlIE1peGVyQVBJIGFzIElEaXJlY3RTb3VuZENhcHR1cmVCdWZmZXIgZG9lc24ndCBpbXBsZW1lbnQgdm9sdW1lCgkgIGNvbnRyb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzODMKCjIwMTUtMDMtMzAgMTM6NDk6MDEgKzAxMDAgIEFudG9uIE9iemhpcm92IDxvYnpoaXJvdkB5YWhvby5jby51az4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIGdsZWZmZWN0czogcG9ydCBhbGwgZWZmZWN0cyB0byBHTEVTMi4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU5NTUKCjIwMTUtMDMtMjggMTE6NDA6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBpbXBsZW1lbnQgYSBjaGFpbl9saXN0IHRvIHJlcXVlc3Qga2V5IHVuaXQgZm9yIHNlZ21lbnRzCgkgIHVwc3RyZWFtIG1pZ2h0IHNlbmQgYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YgYnVmZmVycyBhbmQgaGxzc2luaydzCgkgIHByb2JlIHdvbid0IGdldCBjYWxsZWQgYW5kIGEgbmV3IHNlZ21lbnQgd29uJ3QgYmUgY3JlYXRlZCB3aGVuIG5lZWRlZC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBhZGRpbmcgYSBjaGFpbl9saXN0IGZ1bmN0aW9uIHRvIHRoZSBzaW5rIHBhZAoJICB0aGF0IHdpbGwganVzdCBwYXNzIHRocm91Z2ggdGhlIHdob2xlIGJ1ZmZlcmxpc3QgaWYgbm8gc2VnbWVudCBuZWVkcwoJICB0byBiZSByZXF1ZXN0ZWQgYXQgdGhlIG1vbWVudCBvciBjb252ZXJ0IHRoZSBsaXN0IGludG8gYnVmZmVycyB0bwoJICBjaGVjayB0aGUgcHJvcGVyIHRpbWVzdGFtcCB0byByZXF1ZXN0IHRoZSBuZXh0IGtleS11bml0IHRoYXQgd2lsbAoJICBzdGFydCB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjkwNgoKMjAxNS0wMy0yOCAxNzoyODozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yOCAxNzoyODoyNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTI3IDAwOjI3OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWR2YW5jZSBmcmFnbWVudCBpZiB0aGVyZSBpcyBub25lCgkgIEl0IG1pZ2h0IHJldHVybiBPSyBmcm9tIHN1YmNsYXNzZXMgYW5kIGl0IGNvdWxkIGNhdXNlIGEgYml0cmF0ZQoJICByZW5lZ290aWF0aW9uLiBGb3IgREFTSCBhbmQgTVNTIHRoYXQgaXMgb2sgYXMgdGhleSB3b24ndCBleHBvc2UKCSAgbmV3IHBhZHMgYXMgcGFydCBvZiB0aGlzIGJ1dCBpdCBjYW4gY2F1c2UgaXNzdWVzIGZvciBITFMgYXMKCSAgaXQgd2lsbCBleHBvc2UgbmV3IHBhZHMsIGxlYWRpbmcgdG8gcGFkcyB0aGF0IHdpbGwgb25seSBoYXZlIEVPUwoJICB0aGF0IGNhdXNlIGRlY29kZWJpbiB0byBmYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU5MDUKCjIwMTUtMDMtMjQgMTM6NTc6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEZvcndhcmQgc3RlcmVvIHByZWZlcmVuY2VzIGZyb20gY2FwcyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTI0IDEzOjU2OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBTZXQgdGhlIG51bWJlciBvZiBjaGFubmVscyB0byAyIGFzIHBlciBSRkMgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0xNyAyMTo0OTo0MCArMDgwMCAgSnVuIFhpZSA8eGl4aTEwMTExMDExQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHNldCBkZWZhdWx0IEBzdGFydE51bWJlciBhbmQgYWxzbyBhdm9pZCB3cm9uZyBvdmVyd3JpdGUKCSAgU2V0IGRlZmF1bHQgQHN0YXJ0TnVtYmVyIHRvIDEsIGlmIEBzdGFydE51bWJlciBpcyBtaXNzaW5nIGF0IGFsbCBsZXZlbC4KCSAgQWxzbyBhdm9pZCBpbmNvcnJlY3Qgb3ZlcndyaXRpbmcgaW5oZXJpdGVkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MzQ3CgoyMDE1LTAzLTI0IDE2OjE4OjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogY2hlY2sgc2luayBjYXBzIGFyZSB2YWxpZAoKMjAxNS0wMy0yNCAxNjoxNzowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBSZXZlcnQgImF1ZGlvYWdncmVnYXRvcjogY2hlY2sgc2luayBjYXBzIGFyZSB2YWxpZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDRkMGQxY2RmN2M3NTMxZmJmNzJjZTM5ZTFlYWIxMjYwZDIwNTUwLgoJICBOZXZlciBwdXQgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyBpbnRvIGFuIGFzc2VydGlvbiwgaXQgY2FuIGJlIGNvbXBpbGVkIG91dAoKMjAxNS0wMy0yNCAxNTo0NToyNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IGNoZWNrIHNpbmsgY2FwcyBhcmUgdmFsaWQKCSAgQ0lEICMxMjkxNjIyCgoyMDE1LTAzLTI0IDE1OjEzOjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmYWxsIHRocm91Z2ggc3dpdGNoIHN0YXRlbWVudAoJICBBZGRpbmcgYSBjb21tZW50IG1ha2VzIGNvdmVyaXR5IGhhcHB5IGFuZCBxdWVsbHMgdGhlIGlzc3VlLgoJICBDSUQgMTI5MTYyOQoKMjAxNS0wMy0yNCAxOTowNTowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvY3VtZW50IHdoeSBidWZmZXJfdmluZm8gaXMgbmVlZGVkCgoyMDE1LTAzLTI0IDE5OjA0OjI2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ2hlY2sgaWYgdGhlcmUncyBhIHByZXZpb3VzIGJ1ZmZlciB0byAna2VlcCcKCSAgSWYgd2Ugd2FudCB0byBrZWVwIGEgcHJldmlvdXMgYnVmZmVyIGJ1dCB0aGVyZSdzIG5vIHByZXZpb3VzIGJ1ZmZlciwgd2UgYWN0dWFsbHkKCSAgbmVlZCBtb3JlIGRhdGEgaW5zdGVhZC4KCjIwMTUtMDMtMjMgMTY6NDM6MDEgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBzdXJmYWNlbGVzcyBFR0wgY29udGV4dCBzdXBwb3J0CgkgIFNob3cgdGhlIERpc3BtYW5YIHdpbmRvdyBvbmx5IGlmIHRoZXJlJ3Mgbm8gc2hhcmVkIGV4dGVybmFsIEdMIGNvbnRleHQKCSAgc2V0IHVwLiBXaGVuIGEgd2luZG93IGlzIHJlcXVpcmVkIGJ5IHRoZSBjb250ZXh0IGEgdHJhbnNwYXJlbnQKCSAgRGlzcG1hblggZWxlbWVudCBpcyBjcmVhdGVkIGFuZCBsYXRlciBvbiBtYWRlIHZpc2libGUgYnkgdGhlIDo6c2hvdwoJICBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MzIKCjIwMTUtMDMtMjMgMTU6MDk6MzMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogY2xlYW4gc29sYXJpemUgY29kZQoKMjAxNS0wMy0yMyAxNDozOTo1NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHJlbW92aW5nIHZhbHVlcyBvbmx5IHVzZWQgb25jZQoKMjAxNS0wMy0yMyAxMToxMzoyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBzbWFsbCBjbGVhbnVwIGluIGhlYWRlcnMKCjIwMTUtMDMtMjMgMTM6MTU6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFNldCBvdXRwdXQgZm9ybWF0IGltbWVkaWF0ZWx5IGFmdGVyIGNyZWF0aW5nIHRoZSBlbmNvZGVyIGluc3RhbmNlCgkgIFdlIGtub3cgdGhlIGNhcHMgYnkgdGhlbiwgdGhlcmUncyBubyBuZWVkIHRvIHdhaXQgdW50aWwgd2UgYWN0dWFsbHkgcmVjZWl2ZQoJICB0aGUgZmlyc3QgYnVmZmVyLgoKMjAxNS0wMy0yMyAxMzoxMzozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBSZW1vdmUgYW5vdGhlciB1bnVzZWQgdmFyaWFibGUKCjIwMTUtMDMtMjMgMTM6MTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzZW5jOiBSZW1vdmUgdXNlbGVzcyBoZWFkZXJzIGFuZCBoZWFkZXJfc2VudCB2YXJpYWJsZXMgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIFRoZXkgYXJlIG9ubHkgdXNlZCBpbnNpZGUgYSBzaW5nbGUgZnVuY3Rpb24uCgoyMDE1LTAzLTIzIDEyOjI0OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogSGFuZGxlIHNwcm9wLXN0ZXJlbyBhbmQgc3Byb3AtbWF4Y2FwdHVyZXJhdGUgUlRQIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjMgMTI6MDk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRha2UgY2hhbm5lbHMgYW5kIHNhbXBsZSByYXRlIGZyb20gdGhlIGNhcHMgaWYgd2UgaGF2ZSBubyBzdHJlYW0gaGVhZGVyCgoyMDE1LTAzLTIzIDEyOjA3OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBSZXNldCB0aGUgZGVjb2RlciBpZiB0aGUgY2FwcyBjaGFuZ2UKCjIwMTUtMDMtMjMgMTE6NTc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRha2Ugb3V0cHV0IHNhbXBsZSByYXRlIGZyb20gdGhlIHN0cmVhbSBoZWFkZXJzIHRvbwoJICBUaGlzIHdheSB3ZSBsZXQgb3B1c2RlYyBkbyB0aGUgcmVzYW1wbGluZyBpZiBuZWVkZWQgYW5kIGRvbid0IGNhcnJ5CgkgIGFyb3VuZCBidWZmZXJzIHdpdGggYSB0b28gaGlnaCBzYW1wbGUgcmF0ZSBpZiBub3QgcmVxdWlyZWQuCgkgIFdoaWxlIE9wdXMgYWx3YXlzIHVzZXMgNDhrSHogaW50ZXJuYWxseSwgdGhpcyBpbmZvcm1hdGlvbiBmcm9tIHRoZQoJICBoZWFkZXIgc3BlY2lmaWVzIHdoaWNoIGZyZXF1ZW5jaWVzIGFyZSBzYWZlIHRvIGRyb3AuCgoyMDE1LTAzLTIzIDExOjU2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzaGVhZGVyOiBQdXQgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGUgcmF0ZSBpbnRvIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjIgMTk6MTI6MTUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiByZW1vdmUgdW51c2VkIGdsX3RocmVhZCBmaWVsZAoKMjAxNS0wMy0yMiAxOTowMzoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogZml4IEdUaHJlYWQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQxCgoyMDE1LTAzLTIwIDE4OjMzOjQ1ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQxCgoyMDE1LTAzLTE4IDExOjI1OjQyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOSAxNjoxNzo1OCArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogRG8gbm90IGRyb3AgYWxsIGJ1ZmZlcnMgaW4gYnVmZmVyIGxpc3QgaWYgb25lIGZhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTkgMTM6NTk6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVwZGF0ZSBjb3B5cmlnaHQgZGF0ZXMgb2YgZGlsYXRlCgoyMDE1LTAzLTE5IDEzOjU4OjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBmYWN0b3JpemUgdHJhbnNmb3JtIGNvZGUgb2YgZGlsYXRlCgoyMDE1LTAzLTE5IDE0OjA0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogUGFzcyB0aGUgY29ubmVjdGlvbiBpbnN0YW5jZSBhcyBkYXRhIHRvIHRoZSB0aHJlYWQgcG9vbAoJICBObyBuZWVkIHRvIHJlZi91bnJlZiB0aGUgY29ubmVjdGlvbiBldmVyeSB0aW1lIHdlIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBwb29sLgoJICBIb3dldmVyIHdlIGhhdmUgdG8gcHJvdmlkZSBub24tTlVMTCBkYXRhIHRvIHRoZSBwb29sLCBzbyBsZXQncyBqdXN0IGdpdmUgaXQKCSAgc29tZSBjb2ZmZWUuCgoyMDE1LTAzLTE5IDEzOjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogUmVtb3ZlIHVudXNlZCB0aHJlYWQgc3RydWN0IGZpZWxkCgoyMDE1LTAzLTE5IDEzOjMwOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzOiBVc2UgYSBzaGFyZWQgdGhyZWFkIHBvb2wgZm9yIHRoZSB0aW1lb3V0cwoJICBUaGlzIHdheSB3ZSB3aWxsIHNoYXJlIHRocmVhZHMgd2l0aCBvdGhlciBEVExTIGNvbm5lY3Rpb25zIGlmIHBvc3NpYmxlLCBhbmQKCSAgZG9uJ3QgaGF2ZSB0byBzdGFydC9zdG9wIHRocmVhZHMgZm9yIHRpbWVvdXRzIGlmIHRoZXJlIGFyZSBtYW55IHRvIGJlIGhhbmRsZWQKCSAgaW4gYSBzaG9ydCBwZXJpb2Qgb2YgdGltZS4KCSAgQWxzbyB1c2UgdGhlIHN5c3RlbSBjbG9jayBhbmQgYXN5bmMgd2FpdGluZyBvbiBpdCBmb3Igc2NoZWR1bGluZyB0aGUgdGltZW91dHMuCgoyMDE1LTAzLTE4IDE4OjE3OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogU2h1dGRvd24gdGltZW91dCB0aHJlYWQgd2hlbiBpdCdzIG5vdCBuZWVkZWQKCSAgSXQgaXMgbm90IG5lZWRlZCBtb3N0IG9mIHRoZSB0aW1lIGFuZCB1c3VhbGx5IHdlIGhhdmUgYSB0aHJlYWQKCSAgaWRsaW5nIGFyb3VuZCBkb2luZyBub3RoaW5nIGFsbCB0aGUgdGltZSBhZnRlciB0aGUgZmlyc3QgZmV3IHNlY29uZHMuCgoyMDE1LTAzLTE4IDEwOjEyOjQ5IC0wNzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9kb2NzOiB1cGRhdGUgc29tZSBkb2MgY29tbWVudHMKCjIwMTUtMDMtMTggMTc6NDA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IENsZWFyIHRoZSBxdWV1ZSB3aGVuIGRlYWN0aXZhdGluZyB0aGUgcGFkCgoyMDE1LTAzLTE4IDE3OjM4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkgIGR0bHNlbmM6IEhhbmRsZSBwYWQgYWN0aXZpdHkgc3RhdGVzIHByb3Blcmx5CgoyMDE1LTAzLTE4IDE3OjM1OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBEb24ndCBtYW51YWxseSBhY3RpdmF0ZS9kZWFjdGl2YXRlIHNyY3BhZAoKMjAxNS0wMy0xOCAxMDo0NzoxNSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogU2VwYXJhdGUgYnVmZmVyIGVuY29kaW5nIGZ1bmN0aW9uYWxpdHkgaW50byBhIGRpZmZlcmVudCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDEwOjE2OjQxICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAwOTozOTo0OSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogQWRkIG1pc3NpbmcgbG9ja3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAwOToxNzozMSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogU3BsaXQgY2hhaW4gZnVuY3Rpb25hbGl0eSBzbyBpdCBjYW4gYmUgcmV1c2VkIGZvciBidWZmZXIgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDEzOjUyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkgIGR0bHNlbmM6IFVzZSBhIEdRdWV1ZSBpbnN0ZWFkIG9mIGEgR1B0ckFycmF5CgkgIFVzaW5nIGEgR1B0ckFycmF5IGFzIGEgcXVldWUgaXMgbm90IHZlcnkgZWZmaWNpZW50IGFzIHRoZSB3aG9sZQoJICBhcnJheSBoYXMgdG8gYmUgY29waWVkIHdoZW5ldmVyIGFuIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZQoJICBiZWdpbm5pbmcuCgoyMDE1LTAzLTE4IDEwOjA2OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggbG9ja2luZwoJICBFc3BlY2lhbGx5IGRvbid0IGhvbGQgYW55IG11dGV4IHdoaWxlIGFkZGluZy9yZW1vdmluZyBwYWRzIG9yIHB1c2hpbmcgZGF0YS4KCjIwMTUtMDMtMTggMDk6NTc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTUtMDMtMTggMDk6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmg6CgkgIGR0bHM6IEZpeCBzb21lIHNlYXJjaCAmIHJlcGxhY2UgbWlzdGFrZXMgZnJvbSByZW5hbWluZyB0aGUgZWxlbWVudHMKCjIwMTUtMDMtMTcgMTY6NDk6NTQgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEltcHJvdmUgbWVtb3J5IG1hbmFnZW1lbnQgb24gY2hhaW4gZnVuY3Rpb24KCSAgQXZvaWRpbmcgY29weSB0aGUgYnVmZmVyIHR3aWNlLCBvbmUgd2hpbGUgbWFwcGluZyBhbmQgb3RoZXIgd2l0aCBtZW5jcHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM1NgoKMjAxNS0wMy0xNyAxNjo1MDo0MSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogRml4IHR5cG8gaW4gbG9nCgoyMDE1LTAzLTE3IDExOjQzOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkgIGR0bHM6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgZWFybGllcgoJICBPdGhlcndpc2UgdGhlIG9wZW5zc2wgaW5pdGlhbGl6YXRpb24gd2lsbCB1c2UgaXQgYmVmb3JlIGluaXRpYWxpemF0aW9uCgoyMDE0LTExLTEzIDIwOjM5OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IEFkZCB1bml0IHRlc3RzCgkgIEFsbW9zdCBhIGNvcHkgb2YgdGhlICJpbnRlcmxlYXZlIiB1bml0IHRlc3RzLCBpbXByb3ZlZCB0byBzdXBwb3J0CgkgIHRoZSB0aHJlYWQgb24gdGhlIHNyYyBwYWQgb24gR3N0QWdncmVnYXRvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNS0wMy0wNiAxMzo0OTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSAgYXVkaW9pbnRlcmxlYXZlOiBTZXQgc3JjIGNhcHMgaW4gYWdncmVnYXRlCgkgIFRoaXMgcHJldmVudHMgcmFjZXMgYmV0d2VlbiB0aGUgc2V0Y2FwcyBvZiB0aGUgc2luayBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTQtMTEtMTMgMTU6NDA6MTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQWRkIGludGVybGVhdmUgZWxlbWVudCBiYXNlZCBvbiBhdWRpb2FnZ3JlZ2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNS0wMy0wNiAxNjo1MToxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFByaW50IGEgbWVzc2FnZSB3aGVuIGEgYnVmZmVyIGlzIGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNC0xMS0xNSAxNzo1NDo1MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IERvbid0IHJlLXNlbmQgdGhlIGNhcHMgaWYgdGhleSBkaWQgbm90IGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE0LTExLTA2IDE3OjE1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvYWdncmVnYXRvcjogU3BsaXQgYmFzZSBjbGFzcyBmcm9tIGF1ZGlvbWl4ZXIKCSAgQWxzbzoKCSAgLSAgRG9uJ3QgbW9kaWZ5IHNpemUgb24gZWFybHkgYnVmZmVyCgkgIFRoZSBzaXplIGlzIHRoZSBzaXplIG9mIHRoZSBidWZmZXIsIG5vdCBvZiByZW1haW5pbmcgcGFydC4KCSAgLSBVc2UgdGhlIGlucHV0IGNhcHMgd2hlbiBtYW5pcHVsYXRpbmcgdGhlIGlucHV0IGJ1ZmZlcgoJICBBbHNvIHN0b3JlIGluIGluIHRoZSBzaW5rIHBhZAoJICAtIFJlcGx5IHRvIHRoZSBwb3NpdGlvbiBxdWVyeSBpbiBieXRlcyB0b28KCSAgLSBQdXQgR0FQIGZsYWcgb24gb3V0cHV0IGlmIGFsbCBpbnB1dHMgYXJlIEdBUCBkYXRhCgkgIC0gT25seSB0cnkgdG8gY2xpcCBidWZmZXIgaWYgdGhlIGluY29taW5nIHNlZ21lbnQgaXMgaW4gdGltZSBvciBzYW1wbGVzCgkgIC0gVXNlIGluY29taW5nIHNlZ21lbnQgd2l0aCBpbmNvbWluZyB0aW1lc3RhbXAKCSAgSGFuZGxlIG5vbi10aW1lIHNlZ21lbnRzIGFuZCBOT05FIHRpbWVzdGFtcHMKCSAgLSBEb24ndCByZXNldCB0aGUgcG9zaXRpb24gd2hlbiBwdXNoaW5nIG91dCBuZXcgY2FwcwoJICAtIE1ha2UgYSBudW1iZXIgb2YgbWVtYmVyIHZhcmlhYmxlcyBwcml2YXRlCgkgIC0gQ29ycmVjdGx5IGhhbmRsZSBjYXNlIHdoZXJlIG5vIHBhZCBoYXMgYSBidWZmZXIKCSAgSWYgbm9uZSBvZiB0aGUgcGFkcyBoYXZlIGJ1ZmZlcnMgdGhhdCBjYW4gYmUgaGFuZGxlZCwgZG9uJ3QgY2xhaW0gdG8gYmUgRU9TLgoJICAtIEVuc3VyZSBwcm9wZXIgbG9ja2luZwoJICAtIE9ubHkgc3VwcG9ydCB0aW1lIHNlZ21lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTUtMDMtMDcgMjI6MDg6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVsZWFzZSBwYWQgb2JqZWN0IGxvY2sgYmVmb3JlIGRyb3BwaW5nIGJ1ZmZlcgoJICBPdGhlcndpc2UsIHRoZSBsb2NraW5nIG9yZGVyIGlzIHZpb2xhdGVkIGFuZCBkZWFkbG9ja3MgaGFwcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIwOjIyOjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBPbmx5IGlnbm9yZSBwYWRzIHdpdGggbm8gYnVmZmVycyBvbiB0aW1lb3V0CgkgIFdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZCwgb25seSBpZ25vcmUgcGFkcyB3aXRoIG5vIGJ1ZmZlcnMsIGl0ZXJhdGUKCSAgb3ZlciB0aGUgb3RoZXIgcGFkcyB1bnRpbCBhbGwgYnVmZmVycyBoYXZlIGJlZW4gcmVhZC4gVGhpcyBpcyBpbXBvcnRhbnQKCSAgaW4gdGhlIGNhc2VzIHdoZXJlIHRoZSBpbnB1dCBidWZmZXJzIGFyZSBzbWFsbGVyIHRoYW4gdGhlIG91dHB1dCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjE6MTI6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEJlIG1vcmUgYWdncmVzc2l2ZSB3aXRoIGludmFsaWQgcmVwbGllcyB0byBvdXIgbGF0ZW5jeSBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIwOjI1OjAzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBPbmx5IGFkdmFuY2UgYnkgdGhlIGJ1ZmZlciBzaXplIHdoZW4gYSBidWZmZXIgaXMgbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTE2IDE3OjQ5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBtYWtlIHN1cmUgd2UgYWN0dWFsbHkgbG9nIGludG8gdGhlIHJpZ2h0IGRlYnVnIGNhdGVnb3J5CgkgIEdTVF9EVExTX1VTRV9HU1RfTE9HIGlzIG5vdCBkZWZpbmVkIGFueXdoZXJlLCBzbwoJICB3ZSdkIGp1c3QgbG9nIGludG8gdGhlIGRlZmF1bHQgY2F0ZWdvcnkgYnkgYWNjaWRlbnQuCgkgIFdlIHVzZSB0aGUgZ3N0IGxvZ2dpbmcgc3lzdGVtIHVuY29uZGl0aW9uYWxseSBub3csCgkgIHNvIG1pZ2h0IGp1c3QgYXMgd2VsbCByZW1vdmUgdGhpcyAjaWYgI2Vsc2UuCgoyMDE1LTAzLTE2IDE3OjM2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IGZpeCBzb21lIG1vcmUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ2NjLTQuOS4yOgoJICBnc3RkdGxzYWdlbnQuYzoxMTQ6MTogZXJyb3I6IG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MjUzOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MjkxOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MzkxOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6NDM0OjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6NzczOjE6IGVycm9yOiAnQklPX3NfZ3N0X2R0bHNfY29ubmVjdGlvbicgd2FzIHVzZWQgd2l0aCBubyBwcm90b3R5cGUgYmVmb3JlIGl0cyBkZWZpbml0aW9uCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6NzczOjE6IGVycm9yOiBvbGQtc3R5bGUgZnVuY3Rpb24gZGVmaW5pdGlvbgoKMjAxNS0wMy0xNiAxNzo1MzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb21tb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdTdHJlYW1lciBkZWJ1ZyBsb2cgc3lzdGVtCgoyMDE1LTAzLTE2IDE3OjQ4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5oOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb21tb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuaDoKCSogZXh0L2R0bHMvcGx1Z2luLmM6CgkgIGR0bHM6IFJlLW5hbWVzcGFjZSBmcm9tIEVyIHRvIEdzdAoKMjAxNS0wMy0xNiAxNzozNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MTI4OjMyOiBlcnJvcjogcGFzc2luZyAnY29uc3QgY2hhciBbMzBdJyB0byBwYXJhbWV0ZXIgb2YgdHlwZSAndm9pZCAqJwoJICBkaXNjYXJkcyBxdWFsaWZpZXJzIFstV2Vycm9yLC1XaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMtZGlzY2FyZHMtcXVhbGlmaWVyc10KCSAgU1NMX2dldF9leF9uZXdfaW5kZXggKDAsICJnc3RkdGxzYWdlbnQgY29ubmVjdGlvbiBpbmRleCIsIE5VTEwsIE5VTEwsCgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgL3Vzci9pbmNsdWRlL29wZW5zc2wvc3NsLmg6MTk4MTo0Mzogbm90ZTogcGFzc2luZyBhcmd1bWVudCB0byBwYXJhbWV0ZXIgJ2FyZ3AnIGhlcmUKCSAgaW50IFNTTF9nZXRfZXhfbmV3X2luZGV4KGxvbmcgYXJnbCwgdm9pZCAqYXJncCwgQ1JZUFRPX0VYX25ldyAqbmV3X2Z1bmMsCgkgIF4KCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo4MjI6NDA6IGVycm9yOiBhcml0aG1ldGljIG9uIGEgcG9pbnRlciB0byB2b2lkIGlzIGEgR05VIGV4dGVuc2lvbgoJICBbLVdlcnJvciwtV3BvaW50ZXItYXJpdGhdCgkgIG1lbWNweSAob3V0X2J1ZmZlciwgcHJpdi0+YmlvX2J1ZmZlciArIHByaXYtPmJpb19idWZmZXJfb2Zmc2V0LCBjb3B5X3NpemUpOwoJICB+fn5+fn5+fn5+fn5+fn5+IF4KCjIwMTUtMDMtMTYgMTc6MzQ6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL3BsdWdpbi5jOgoJICBkdGxzOiBGaXggaW5kZW50aW9uCgoyMDE1LTAzLTE2IDE3OjMzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NvbW1vbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5oOgoJKiBleHQvZHRscy9wbHVnaW4uYzoKCSAgZHRsczogQWRkIG5ldyBEVExTIHBsdWdpbgoJICBUaGlzIGlzIGEgY29weSBvZiB0aGUgRXJpY3Nzb24gRFRMUyBwbHVnaW4gZnJvbQoJICBodHRwczovL2dpdGh1Yi5jb20vRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zL3RyZWUvbWFzdGVyL2V4dC9lcmR0bHMvc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1ODIKCjIwMTUtMDMtMTYgMDM6NTM6MzMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkgIGNvbXBvc2l0b3I6IFJldmVydCBtb3N0IG9mIHByZXZpb3VzIHBhdGNoLgoJICBUaGUgY2FsY3VsYXRpb24gZG9lc24ndCBwcm9kdWNlIHRoZSBzYW1lIHJlc3VsdHMuCgkgIEtlZXAganVzdCB0aGUgY2hhbmdlIHRvIGRpdmlkZSBhbHBoYSBieSAyNTUgaW5zdGVhZCBvZiAyNTYsCgkgIGZvciBzbGlnaHRseSBiZXR0ZXIgYWNjdXJhY3kKCjIwMTUtMDMtMTUgMTY6NTU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgaGVscGVycyBmb3IgY2FsbGluZyBzdGF0aWMgbWV0aG9kcwoKMjAxNS0wMy0xNSAxNjozODoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBpbmRlbnRpb24KCjIwMTQtMDYtMDUgMTA6MzM6NTYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgbW9yZSBKTkkgaGVscGVyIGZ1bmN0aW9ucwoKMjAxNC0wNi0wMiAxMjozNzowOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IFNwbGl0IGpuaSBjb2RlIHRvIGdzdGpuaXV0aWxzLmMKCjIwMTUtMDMtMTUgMTY6MTA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRyb3Agc29tZSBzdXBlcmZsdW91cyBhc3NlcnRpb25zCgkgIGdfcmV0dXJuXypfaWZfZmFpbCgpIGlzIGZvciBwdWJsaWMgQVBJIHRvIGNhdGNoCgkgIHByb2dyYW1taW5nIGVycm9ycy4gRm9yIGludGVybmFsIGNvZGUsIHdlIHNob3VsZAoJICBqdXN0IHVzZSBnX2Fzc2VydCgpIHRvIGNoZWNrIGludGVybmFsIHN0YXRlLgoKMjAxNS0wMy0xNSAxNTo1NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGQgdGVzdCBmb3Iga2V5ZnJhbWUvZGVsdGEgZmxhZyBwcm9wYWdhdGlvbgoJICBUaGUgZmlyc3Qgb3V0cHV0IE1QRUctVFMgcGFja2V0IHRoYXQgY29ycmVzcG9uZHMgdG8gYSB2aWRlbyBpbnB1dAoJICBidWZmZXIgd2hpY2ggaGFkIHRoZSBkZWx0YSBmbGFnIGNsZWFyZWQgKGkuZS4gd2FzIGEga2V5ZnJhbWUpCgkgIHNob3VsZCBoYXZlIHRoZSBkZWx0YSBmbGFnIGNsZWFyZWQgYXMgd2VsbC4KCSAgVGhpcyBpcyBuZWVkZWQgZS5nLiBieSB0Y3BzZXJ2ZXJzaW5rIGluIG9yZGVyIHRvIGtlZXAgdHJhY2sKCSAgb2YgdGhlIGxhc3Qga2V5ZnJhbWUgYW5kIGJlIGFibGUgdG8gYnVyc3QgZGF0YSB0byBuZXdseS0KCSAgY29ubmVjdGVkIGNsaWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY4NzIKCjIwMTUtMDMtMTUgMTQ6MzU6MTUgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZ2wvZG9jczogYWRkIG1pc3NpbmcgZnVuY3Rpb25zL29iamVjdHMKCjIwMTUtMDMtMTUgMTI6NTg6MjYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiB0ZW50YXRpdmUgcHJvcGVyIGNvbnRleHQgY29sbGlzaW9uIGRldGVjdGlvbgoJICBGaXhlcwoJICB0ZWUgbmFtZT10ICEgcXVldWUgISBnbGlhbWdlc2luayB0LiAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsKCjIwMTQtMDctMTggMTA6NDQ6NTkgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBuYW1lc3BhY2Ugb2Ygc29tZSBpbnRlcm5hbCBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM0NwoKMjAxNS0wMy0xNiAwMDoyMjoxNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLm9yYzoKCSAgY29tcG9zaXRvcjogRml4IGJsZW5kaW5nIGZ1bmN0aW9ucwoJICBDb3JyZWN0bHkgY2FsY3VsYXRlIGFscGhhIGluIGEgZmV3IHBsYWNlcyBieSBkaXZpZGluZyBieSAyNTUsCgkgIG5vdCAyNTYuCgkgIEZpeCB0aGUgYXJnYiBhbmQgYmdyYSBibGVuZGluZyBmdW5jdGlvbnMgdG8gYXZvaWQgYW4gb2ZmLWJ5LW9uZQoJICBlcnJvciBpbiB0aGUgY2FsY3VsYXRpb25zLCBzbyBwYWludGluZyB3aXRoIGFscGhhID0gMHhmZiBkb2Vzbid0CgkgIGV2ZXIgYmxlZWQgdGhyb3VnaCBmcm9tIGJlaGluZAoKMjAxNS0wMy0xNSAxMjowNjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGQgdW5pdCB0ZXN0IGZvciAiYWxpZ25tZW50IiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI5CgoyMDE1LTAzLTE0IDE1OjI3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtYWtlICJhbGlnbm1lbnQiIHByb3BlcnR5IG1vcmUgdXNlZnVsIGZvciBwYWNrZXRpc2F0aW9uCgkgIEN1cnJlbnRseSB0aGUgYWxpZ25tZW50IHByb3BlcnR5IGp1c3QgbWFrZXMgc3VyZSB0aGF0IHdlCgkgIG91dHB1dCB0aGluZ3MgaW4gbXVsdGlwbGVzIG9mIGFsaWduKnBhY2tldF9zaXplIGJ5dGVzLCBidXQKCSAgd2l0aCBubyBjbGVhciBtYXhpbXVtIHNpemUuIFdoZW4gc3RyZWFtaW5nIE1QRUctVFMgb3ZlcgoJICBVRFAgb25lIHdhbnRzIGJ1ZmZlcnMgd2l0aCBhIG1heGltdW0gcGFja2V0IHNpemUgb2YgMTMxNi4KCSAgVGhlIGFsaWdubWVudCBwcm9wZXJ0eSBzbyBmYXIgd291bGQganVzdCBvdXRwdXQgYnVmZmVycwoJICB0aGF0IGFyZSBhIG11bHRpcGxlIG9mIDEzMTYgdGhlbi4KCSAgSW5zdGVhZCB3ZSBub3cgbWFrZSB0aGUgYWxpZ25tZW50IHByb3BlcnR5IG91dHB1dAoJICBpbmRpdmlkdWFsIGJ1ZmZlcnMgd2l0aCB0aGUgYWxpZ25tZW50IHNpemUsIHdoaWNoCgkgIGlzIGVudGlyZWx5IGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggdGhlIGV4cGVjdGVkCgkgIGJlaGF2aW91ciB1cCB1bnRpbCBub3cuIEZvciBlZmZpY2llbmN5IHJlYXNvbgoJICBjb2xsZWN0IGFsbCB0aG9zZSBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QgYW5kCgkgIHNlbmQgdGhhdCBkb3duc3RyZWFtLgoJICBBbHNvIGNvbGxlY3QgZGF0YSB0byBwdXNoIGRvd25zdHJlYW0gaW4gYSBidWZmZXIKCSAgbGlzdCBmcm9tIHRoZSBhZGFwdGVyIGlmIHdlIGRvbid0IGFsaWduIHRoaW5ncywKCSAgd2hpY2ggaXMgc3RpbGwgbW9yZSBlZmZpY2llbnQgYmVjYXVzZSBvZiB0aGUKCSAgc2lsbHkgd2F5IHRoZSBtdXhlciBjdXJyZW50bHkgY3JlYXRlcyBvdXRwdXQKCSAgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOQoKMjAxNS0wMy0xMSAyMzowMzoyNCArMDgwMCAgeGl4aSA8eGl4aTEwMTExMDExQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZldGNoIHdyb25nIHNlZ21lbnQgYXQgdGhlIGVuZCBvZiBQZXJpb2QKCSAgRml4IGNoZWNrIGZvciBlbmQgb2YgUGVyaW9kIHRpbWUgdG8gYXZvaWQgdHJ5aW5nCgkgIHRvIGZldGNoIGEgc2VnbWVudCB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAzOAoKMjAxNS0wMy0xNCAxOTo0ODoyMSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogbW92ZSBtZXRhLWRhdGEgY29weSBpbnRvIGdzdC1nbCBsaWJyYXJ5CgkgIEluIHNvbWUgdXBsb2FkIGltcGxlbWVudGF0aW9ucyB0aGUgb3V0IGJ1ZmZlciBoYXMgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2VzLAoJICB0dXJuaW5nIHRoZSBidWZmZXIgbm90IHdyaXRhYmxlLCBzbyBpdCB3b24ndCBiZSBwb3NzaWJsZSB0byBtb2RpZnkgaXRzCgkgIG1ldGEtZGF0YS4KCSAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgbWV0YS1kYXRhIGNvcHkgYmVmb3JlIGluY3JlYXNpbmcgdGhlIHJlZmVyZW5jZSBvZiB0aGUgb3V0CgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE3MwoKMjAxNS0wMy0xNCAxODo0NTowMSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBmaXggdGhlIHNsaWdodCBkaWZmZXJlbmNlIGJldHdlZW4gRVhUX3JnIGFuZCBBUkJfcmcKCSAgR0xfRVhUX3RleHR1cmVfcmcgZG9lc24ndCB0YWtlIHNpemVkIGZvcm1hdHMgZm9yIHRoZSBpbnRlcm5hbGZvcm1hdAoJICBwYXJhbWV0ZXIgb2YgVGV4SW1hZ2UqIGJ1dCBHTF9BUkJfdGV4dHVyZV9yZyBhbmQgR0woRVMpMyBkby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUwNwoKMjAxNS0wMy0xNCAxNzoyOTowMiArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBoYWNrIGFyb3VuZCBidWcgNjQ4MzU5CgkgIEl0IGlzIGFscmVhZHkgZml4ZWQKCjIwMTUtMDMtMTQgMTI6MjQ6NTMgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgZGVwcmVjYXRlZCBnX2F0b21pYyBmdW5jdGlvbgoJICBXZSBkZXBlbmQgb24gMi4zMiBhbHJlYWR5CgoyMDE1LTAzLTE0IDExOjQ1OjIwICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBwYWQgbGVhawoJICBPbmx5IGdldCB0aGUgcGFkIGlmIGl0IGlzIHJlYWxseSBnb2luZyB0byBiZSB1c2VkIHRvIGF2b2lkCgkgIGxlYWtpbmcgaXQKCjIwMTUtMDMtMTQgMTg6MTA6MjQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IGZpeHVwIGdlbmVyaWMgY3ViZSBleGFtcGxlIGZvciBOREMKCSAgdHJhbnNsYXRpbmcgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24gZG9lc24ndCB3b3JrCgoyMDE1LTAzLTE0IDE1OjM4OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZTIuYzoKCSAgZ2wvZXhhbXBsZXM6IGFkZCBzZGxzaGFyZTIgdGhhdCB1c2VzIGdsaW1hZ2VzaW5rIHRvIG91dHB1dCB0ZXh0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NjgxCgoyMDE1LTAzLTE0IDE2OjMwOjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazoga2VlcCB3aW5kb3cgaW52aXNpYmxlIHdoZW4gc2hhcmluZyBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTY4MQoKMjAxNS0wMy0xNCAxNToxNjo1NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJICBnbGltYWdlc2luazogcHJvdmlkZSBHc3RTYW1wbGUgaW4gY2xpZW50LWRyYXcgc2lnbmFsCgkgIEluc3RlYWQgb2YgcHJpdmlkaW5nIHRleHR1cmUgYW5kIHNpemUgZGlyZWN0bHkuCgkgIEFuZCBhcHBseSBjaGFuZ2VzIHRvIGV4YW1wbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NjgxCgoyMDE1LTAzLTE0IDE1OjM3OjA1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBzZGxzaGFyZTogdXNlIGdsdXBsb2FkIGFuZCB1bm1hcCBmcmFtZQoKMjAxNS0wMy0xNCAxNjoyNToyOSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbHN5bmNtZXRhOiBtYWtlIGNvbnRleHQgdG8gd2FpdCBhbmQgc2V0IHN5bmMgZXhwbGljaXQKCSAgb3RoZXJ3aXNlIHdlIG1heSB3YWl0IG9uIGEgc3luYyBvYmplY3QgaW4gc2FtZSBjb250ZXh0IGJ5IGFjY2lkZW50CgoyMDE1LTAzLTE0IDE1OjE2OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZAoJICBXYXMgc3VwcG9zZWQgdG8gYmUgc3F1YXNoZWQgaW50byBlYXJsaWVyIGNvbW1pdC4KCjIwMTUtMDMtMTQgMTU6MTU6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxNS0wMy0xNCAxNDo0MzozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkgIFJlbW92ZSB1bnBvcnRlZCBhbmQgdXNlbGVzcyBvc3h2aWRlb3NyYyBlbGVtZW50CgkgIFRoZXJlIGFyZSBvdGhlciBlbGVtZW50cyBmb3IgdGhpcyBub3cuCgoyMDE1LTAzLTEzIDE4OjI0OjQzICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBwcm9wZXJseSBlc2NhcGUgcGVyY2VudCBzaWduIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDMtMTQgMTI6NTg6MjIgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQWRkIE5VTEwgY2hlY2sgaW4gZXJyb3IgY2FzZQoJICBPdGhlciBjb250ZXh0IG1heSBiZSBOVUxMIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nLiBBdm9pZCB0cnlpbmcgdG8gdW5yZWYKCSAgYSBOVUxMIHBvaW50ZXIuCgoyMDE1LTAzLTE0IDExOjAxOjEyICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MgaW4gY29uZmlndXJlLmFjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQwMjAKCjIwMTUtMDMtMTQgMTA6Mzk6MDYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZC9jb2xvcmNvbnZlcnQ6IG9ubHkgY29weSB0aW1lc3RhbXBzIGlmIHRoZSBpbnB1dCBidWZmZXIgIT0gb3V0cHV0CgoyMDE1LTAzLTExIDAwOjA2OjU1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGRpc3BsYXlfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogYWRkIEdzdEdMRGlzcGxheUNvY29hCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwMTIKCjIwMTUtMDMtMTMgMDk6MDc6MTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGV4YW1wbGVzOiBpbml0aWFsaXplIE5TQXBwIGF0IHRoZSBiZWdpbm5pbmcKCjIwMTUtMDMtMTQgMDc6NDk6MTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBkbyBub3QgdGVybWluYXRlIGxvb3AgaW4gZ3N0X2dsX3dpbmRvd19jb2NvYV9jbG9zZQoJICBJdCBpcyBub3cgZG9uZSBpbiBfZmluYWxpemUuCgkgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkKCSAgImdsL3dpbmRvdzogY3JlYXRlIHRoZSBtYWluIGxvb3AvY29udGV4dCBvbiBpbml0L2ZpbmFsaXplIgoJICBiYzdhNzI1OWYzNTdiMDA2NWRkOTRlMDY2OGI1YTg5NWQ4M2ZhNTNhCgoyMDE1LTAzLTEzIDE1OjM0OjU1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBhdm9pZCBvdmVyd3JpdGluZyBkaXNwbGF5IGFuZCBjb250ZXh0IHRvIE5VTEwKCSAgSXQgaGFwcGVucyB3aGVuIHRoZSBhcHBsaWNhdGlvbiBwcm92aWRlcyBkaXNwbGF5CgkgIGFuZC9vciBjb250ZXh0LgoKMjAxNS0wMy0xMyAxNzo0MToxNyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGF0dHJpYnV0ZSBsb2NhdGlvbnMgYXJlIC0xIG9uIGVycm9yCgoyMDE1LTAzLTEzIDE3OjA0OjE3ICswMDAwICBOZW9zMzQ1MiA8bmVvczM0NTJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBwcmV2ZW50IGZyb20gZ2V0dGluZyBhdHRyaWJ1dGVzIHdpdGhvdXQgdmVydGV4IHNoYWRlcgoJICBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcXVlcnkgZm9yIHZlcnRleCBhdHRyaWJ1dGVzIHdpdGhvdXQgYSB2ZXJ0ZXgKCSAgc2hhZGVyLiBNb3Jlb3ZlciB0aGlzIGlzIGNhdXNpbmcgYSBjcmFzaCBvbiBPU1guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNjgKCjIwMTUtMDMtMTQgMDI6NTM6MDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkgIEdMOiBSZW1vdmUgYW5ub3lpbmcgcHJpbnRmIGluIHRoZSBmaWx0ZXJiaW4gY2xhc3NfaW5pdAoKMjAxNS0wMy0xMiAwOToyNzozMCArMDEwMCAgaWpzZiA8aWpzZkBnbXgubmV0PgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgUmVzdHJpY3RlZCBhY3RpdmVWaWRlb01heEZyYW1lRHVyYXRpb24gdG8gZml4IGZyYW1lIHJhdGUKCjIwMTUtMDMtMTMgMTI6NDM6MTMgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvbiB0aGUgYmluCgoyMDE1LTAzLTEzIDEyOjQwOjA0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHVucmVmIHRoZSBidWZmZXJwb29sCgoyMDE1LTAzLTEzIDEyOjI5OjU0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZvcndhcmQgQUxMIHRoZSBwcm9wZXJ0aWVzIG9uIHRoZSBiaW4KCjIwMTUtMDMtMTMgMTI6Mjg6MzYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBwcm9wZXJseSB1bnJlZiBidWZmZXJzIHRoYXQgYXJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dAoJICBiYXNldHJhbnNmb3JtIGRvZXNuJ3QgdW5yZWYgZXF1YWwgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzCgoyMDE1LTAzLTEzIDEwOjI1OjM1ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBnZXQgdGhlIGNvbnRleHQgZnJvbSBiYXNlbWl4ZXIvYmFzZWZpbHRlcgoKMjAxNS0wMy0xMyAwOTozODo1NCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiByZXRyZWl2ZSB0aGUgZ2xkaXNwbGF5L2FwcCBnbCBjb250ZXh0IGFzIHNvb24gYXMgcG9zc2libGUKCSAgZml4ZXMgdGhlIHVzYWdlIG9mIGdzdF9nbF9kaXNwbGF5X2ZpbHRlcl9nbF9hcGkKCjIwMTUtMDMtMTMgMDk6Mzc6NDYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL3Rlc3RzOiBmaXggZGVhZGxvY2sgb24gZ2xjb250ZXh0IHdyYXBwZWQgY29udGV4dCB0ZXN0CgoyMDE1LTAzLTEyIDE2OjQ2OjQ0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogY2FjaGUgaW5kaWNlcyBpbiBhIGJ1ZmZlciBvYmplY3QKCjIwMTUtMDMtMTIgMTc6MTE6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBkaXNjb250IGRldGVjdGlvbiBhbmQgYnVmZmVyIGFsaWdubWVudCBjb2RlCgkgIEFjdHVhbGx5IGFjY3VtdWxhdGUgdGhlIHNhbXBsZSBjb3VudGVyIHRvIGNoZWNrIHRoZSBhY2N1bXVsYXRlZCBlcnJvcgoJICBiZXR3ZWVuIGFjdHVhbCB0aW1lc3RhbXBzIGFuZCBleHBlY3RlZCBvbmVzIGluc3RlYWQgb2YganVzdCByZXNldHRpbmcKCSAgdGhlIGVycm9yIGJhY2sgdG8gMCB3aXRoIGV2ZXJ5IG5ldyBidWZmZXIuCgkgIEFsc28gZG9uJ3QgcmVzZXQgZGlzY29udF90aW1lIHdoZW5ldmVyIHdlIGRvbid0IHJlc3luYy4gVGhlIHdob2xlIHBvaW50IG9mCgkgIGRpc2NvbnRfdGltZSBpcyB0byByZW1lbWJlciB3aGVuIHdlIGZpcnN0IGRldGVjdGVkIGEgZGlzY29udCB1bnRpbCB3ZSBhY3R1YWxseQoJICBhY3Qgb24gaXQgYSBiaXQgbGF0ZXIgaWYgdGhlIGRpc2NvbnQgc3RheWVkIGFyb3VuZCBmb3IgZGlzY29udF93YWl0IHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwMzIKCjIwMTUtMDMtMDggMTg6MTY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBjYW9wZW5nbGxheWVyc2luazogaW1wbGVtZW50IGFzIGEgYmluIGxpa2UgZ2xpbWFnZXNpbmsKCjIwMTUtMDMtMDMgMTg6MDU6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBhdm9pZCBkZWFkbG9jayB3aGVuIGNyZWF0aW5nIGNvbnRleHQgb24gdGhlIG1haW4gdGhyZWFkLgoJICBNYWtlIHdpbmRvdy92aWV3IGNyZWF0aW9uIGFzeW5jIHNvIHRoYXQgaXQgaXMgcG9zc2libGUgdG8KCSAgZ3N0X2dsX2NvbnRleHRfY3JlYXRlIGZyb20gdGhlIG1haW4gdGhyZWFkLgoKMjAxNS0wMy0wMyAxNzoyNjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsOiBzdG9yZSB0aGUgbGlzdCBvZiBjb250ZXh0cyB3aXRoaW4gZ2xkaXNwbGF5CgkgIFJlbW92ZXMgdGhlIHJlbGlhbmNlIG9uIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHRvIHByb3BvZ2F0ZSBHTCBjb250ZXh0cy4KCSAgQWxsb3dzIHRocmVhZCBzYWZlbHkgZ2V0dGluZyBhIGNvbnRleHQgZm9yIHRoZSBhIHNwZWNpZmljIHRocmVhZC4KCjIwMTUtMDMtMDMgMTY6NDg6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5zZXQgdGhlIGN1cnJlbnQgc2hhZGVyIGFmdGVyIHJlbmRlcmluZwoJICBmaXhlcyBnbHRlc3RzcmMgISBnbGltYWdlc2luayB3aGVuIGdsdGVzdHNyYyBkb2Vzbid0IHVzZSBhIHNoYWRlcgoKMjAxNS0wMy0wMyAxNjozODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogcmVtb3ZlIHVzYWdlIG9mIGdsZG93bmxvYWQgbGlicmFyeSBvYmplY3QKCjIwMTUtMDItMjggMDA6MzA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IHN0b3JlIHRoZSB0aHJlYWQgY3VycmVudCBjb250ZXh0CgoyMDE1LTAyLTI2IDE4OjI2OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGdsc3JjYmluIGVsZW1lbnQKCjIwMTUtMDItMjYgMTM6NDU6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsdmlkZW9taXhlcjogaW1wbGVtZW50IHdpdGggZ2xtaXhlcmJpbgoJICBUaGUgcmVsZXZhbnQgcHJvcGVydGllcyBhcmUgZm9yd2FyZGVkIHRvL2Zyb20gdGhlIGNvbnRhaW5pbmcgYmluCgkgIGFuZCBzaW5rIHBhZHMuCgoyMDE1LTAyLTI2IDAwOjIwOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiByZW1vdmUgdXNhZ2Ugb2YgdXBsb2FkL2Rvd25sb2FkIG9iamVjdHMKCjIwMTUtMDItMjUgMjM6NDg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGdsbWl4ZXJiaW4gZWxlbWVudAoKMjAxNS0wMi0yMCAxNjo0NzowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4KCSAgZ2x1cGxvYWQgISBnbGNvbG9yY29udmVydCAhIHNpbmsKCSAgU29tZSBwcm9wZXJ0aWVzIGFyZSBtYW51YWxseSBmb3J3YXJkZWQuICBUaGUgcmVzdCBhcmUgYXZhaWxhYmxlIHVzaW5nCgkgIEdzdENoaWxkUHJveHkuCgkgIFRoZSB0d28gc2lnbmFscyBhcmUgZm9yd2FyZGVkIGFzIHdlbGwuCgoyMDE1LTAyLTE5IDE4OjIzOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZ2xzaW5rYmluIGVsZW1lbnQKCSAgc2ltaWxhciB0byBnbGZpbHRlcmJpbiBidXQgZm9yIHNpbmtzCgoyMDE1LTAyLTE5IDE0OjE5OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGRvbid0IHVzZSB0aGUgbGlicmFyeSB1cGxvYWQvY29udmVydCBvYmplY3RzCgoyMDE1LTAyLTE5IDEzOjMzOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGVsZW1lbnQgZ2xmaWx0ZXJiaW4KCSAgSXQgZW5jYXBzdWxhdGVzIGEgY29uZml1cmFibGUgR0wgcHJvY2Vzc2luZyBlbGVtZW50IGluIHRoZQoJICB1cGxvYWQvY29sb3Jjb252ZXJ0L2Rvd25sb2FkIGRhbmNlIHJlcXVpcmVkIHRvIHRyYW5zcGFyZW50bHkgcHJvY2VzcwoJICB0aGUgbWFqb3JpdHkgb2YgR3N0QnVmZmVyJ3MuCgoyMDE1LTAyLTE5IDEzOjI0OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIG5ldyBnbGRvd25sb2FkZWxlbWVudAoJICBTaW1wbHkgdHJhbnNmb3JtcyBjYXBzIHRvL2Zyb20gcmF3L2dsbWVtb3J5IGNhcHNmZWF0dXJlcwoKMjAxNS0wMi0xMiAxNzo1OToyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIGEgbmV3IGdsY29sb3Jjb252ZXJ0IGVsZW1lbnQgYmFzZWQgb24gdGhlIGdsY29sb3Jjb252ZXJ0IGxpYnJhcnkgb2JqZWN0CgoyMDE1LTAzLTExIDE2OjU2OjE2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGltcGxlbWVudCBwcm9wb3NlX2FsbG9jYXRpb24gcG9vbCBoYW5kbGluZyBmb3IgZ2xtZW1vcnkgdXBsb2FkCgoyMDE1LTAyLTExIDIzOjI5OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgYSBuZXcgZ2x1cGxvYWQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2x1cGxvYWQgbGlicmFyeSBvYmplY3QKCjIwMTUtMDItMTEgMTQ6NDg6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsOiBhZGQgYSBuZXcgZ2xiYXNlbWl4ZXIgY2xhc3MgYmVsb3cgZ2xtaXhlcgoJICBJdCBkZWFscyB3aXRoIHByb3BhZ2F0aW5nIHRoZSBnbCBkaXNwbGF5L2NvbnRleHRzIHRocm91Z2hvdXQgdGhlCgkgIGFwcGxpY2F0aW9uL3BpcGVsaW5lCgoyMDE1LTAyLTExIDAxOjQ4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBhZGQgYSBuZXcgZ2xiYXNlZmlsdGVyIGNsYXNzIGJlbG93IGdsZmlsdGVyCgkgIEl0IGRlYWxzIHdpdGggcHJvcGFnYXRpbmcgdGhlIGdsIGRpc3BsYXkvY29udGV4dHMgdGhyb3VnaG91dCB0aGUKCSAgYXBwbGljYXRpb24vcGlwZWxpbmUKCjIwMTUtMDItMTEgMDE6Mjc6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXRpbHM6IGV4cG9zZSBydW5uaW5nIGEgcXVlcnkgb24gYSBzZXQgb2Ygc3JjL3NpbmsgcGFkcwoKMjAxNS0wMy0xMiAxMjo0OTo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcmVwbGFjZSBjYnIgYW5kIGNvbnN0cmFpbmVkLXZiciBwcm9wZXJ0aWVzIHdpdGggYW4gZW51bQoJICBJdCB3YXMgZGVlbWVkIGNvbmZ1c2luZyBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MDkKCjIwMTUtMDMtMTIgMTA6MTQ6NTAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogYWR2ZXJ0aXNlIHJlc2l6ZSBpbiB0aGUgY2FwcyBuZWdvdGlhdGlvbiBwcm9wZXJseQoKMjAxNS0wMy0xMiAwMTo0OTo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgbG9ja2luZyB0byBmaWxsX2J1ZmZlciBhbmQgZml4IG1peF9idWZmZXIKCSAgVGhlIGF1ZGlvbWl4ZXIgcGFkIHN0cnVjdCBmaWVsZHMgbWF5IGJlIGNoYW5nZWQgZnJvbSBvdGhlciB0aHJlYWRzCgoyMDE1LTAzLTEyIDAxOjU2OjQ0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogTWFyayBhIGRpc2NvbnQgd2hlbiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQKCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGFuZGxlIG5ldyBzZWdtZW50IGV2ZW50cyBjb3JyZWN0bHk7IGVpdGhlciBieSBkcm9wcGluZwoJICBidWZmZXJzIG9yIGluc2VydGluZyBzaWxlbmNlOyBmb3IgZXhhbXBsZSBpZiB0aGUgb2Zmc2V0IGlzIGNoYW5nZWQgb24gYW4gc3JjcGFkCgkgIGNvbm5lY3RlZCB0byBhdWRpb21peGVyLgoKMjAxNS0wMy0xMiAwOTo0NjowMiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB3ZSBkb24ndCBkbyByZXNpemluZyBvZiB0aGUgdmlkZW8gZnJhbWVzCgkgIEFzIHdlIGNhbm5vdCBkbyBhY2N1cmF0ZSB0ZXhlbCBzYW1wbGluZyB0aGVuIGR1ZSB0byB0aGUgdGV4dHVyZQoJICBjb29yZGluYXRlcyBiZWluZyBpbnRlcnBvbGF0ZWQgYmFzZWQgb24gdGhlIG91dHB1dCBmcmFtZSBzaXplLgoKMjAxNS0wMS0yMCAxOTo1MzowOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFdoaWxlIGFnZ3JlZ2F0aW5nLCBzeW5jIHZhbHVlcyBmb3IgYWxsIHBhZHMgYmVmb3JlIGNvbnZlcnRpbmcgZnJhbWVzCgoyMDE1LTAzLTExIDE4OjQ5OjIyICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IGRvbid0IFhHZXRXaW5kb3dBdHRyaWJ1dGVzIGV2ZXJ5IFhFdmVudAoJICBmaXhlcyBhIGRlYWRsb2NrIGluIHhjYiB3aGVyZSB0aGUgWCB3aW5kb3cgbWF5IG5vdCBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTYzMwoKMjAxNS0wMy0xMSAxNDo1MDoyOCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC93aW5kb3c6IGhvcGVmdWxseSBmaXh1cCBjb21waWxlIHdhcm5pbmdzIG9uIGFuZHJvaWQvaW9zCgoyMDE1LTAzLTExIDE3OjE5OjE3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogUmVtb3ZlIHJlZHVuZGFudCBjaGVjayBmb3IgY2xlYXJpbmcgY29udGV4dCBvbiByZXNldC4KCSAgVGhlIGNvbnRleHQgaXMgYWxyZWFkeSBjbGVhcmVkIGEgZmV3IGxpbmVzIGFib3ZlLgoKMjAxNS0wMy0xMSAxNjo1NToxNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJICBSZW1vdmUgYSBidW5jaCBvZiBzaWxseSAnOzsnIHR5cG9zIGF0IHRoZSBlbmQgb2YgbGluZXMKCjIwMTUtMDMtMDYgMTU6MzE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdzogY3JlYXRlIHRoZSBtYWluIGxvb3AvY29udGV4dCBvbiBpbml0L2ZpbmFsaXplCgkgIEF2b2lkcyByYWNlcyBzZXR0aW5nIHRoZSB3aW5kb3cgaGFuZGxlIGZyb20gdGhlIG1haW4gdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NjMzCgoyMDE1LTAzLTA4IDAyOjA0OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3J5OiBkb24ndCByZWRlZmluZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUwoKMjAxNS0wMy0wNCAxMToxMjozMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1vdmUgdW51c2VkIGxhYmVsL3ZhcmlhYmxlCgoyMDE1LTAzLTEwIDE1OjMxOjIxICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBnZXRfcHJlc2VudGF0aW9uX29mZnNldCBjaGVjay4KCSAgQW5kIHJldHVybiAwIGlzbnRlYWQgb2YgRkFMU0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDIgMTQ6MDA6MDMgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IGdldF9wcmVzZW50YXRpb25fb2Zmc2V0LgoJICBUbyBhY2NvdW50IGZvciBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IGFzIHBlciBzZWN0aW9uIDcuMi4xIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wMiAxMzo1MzowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IFtBUEldOiBnZXRfcHJlc2VudGF0aW9uX29mZnNldCB2aXJ0dWFsIG1ldGhvZC4KCSAgQXNrcyB0aGUgc3ViY2xhc3MgZm9yIGEgcG90ZW50aWFsIHRpbWUgb2Zmc2V0IHRvIGFwcGx5IHRvIGVhY2gKCSAgc2VwYXJhdGUgc3RyZWFtLCBpbiBkYXNoIHN0cmVhbXMgY2FuIGhhdmUgInByZXNlbnRhdGlvbiB0aW1lIG9mZnNldHMiLAoJICB3aGljaCBjYW4gYmUgZGlmZmVyZW50IGZvciBlYWNoIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wNiAxMjoyNDo0NCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGdzdG1wZHBhcnNlcjogUmVhbGx5IHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3Igc3RhcnROdW1iZXIuCgkgICsgVGhlIHNwZWNzIGFzayBmb3IgYSBkZWZhdWx0IG9mIDEsIHRoZSBjdXJyZW50IGNvZGUgb25seSBkaWQKCSAgc2V0IGEgZGVmYXVsdCB3aGVuIHRoZSBmaWVsZCB3YXMgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wOSAxMToxMToxNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXI6IHVudXNlZCB2YWx1ZQoJICBWYWx1ZSBzZXQgaW4gb2ZmIHdpbGwgYmUgaW1tZWRpYXRlbHkgb3ZlcndyaXR0ZW4gYWZ0ZXIgZ29pbmcgdG8gbmV4dC4KCSAgQ0lEICMxMjI2NDc2CgoyMDE1LTAzLTA5IDEyOjUxOjIxICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IHNlbWljb2xvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODc3CgoyMDE1LTAzLTA5IDEyOjQxOjU5ICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzOiBnbGNvbnRleHQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZW1pY29sb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg3NQoKMjAxNS0wMy0wNiAxNDo0OToyMCArMDIwMCAgTW9oYW1tZWQgSGFzc2FuIDxtb2hhbW1lZC5oYXNzYW5Aam9sbGEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB6b29tIHBhcmFtIHNwZWMgaWYgdmlkZW8gc291cmNlIGNoYW5nZXMgaXRzIG1heC16b29tCgkgIElmIHRoZSB2aWRlbyBzb3VyY2UgaGFwcGVucyB0byBhbGxvdyBtYXgtem9vbSB0byBiZSBncmVhdGVyIHRoYW4gb3VyIG1heGltdW0gaGFyZCBjb2RlZAoJICB2YWx1ZSBvZiAxMCB0aGVuIHRoZSB1c2VyIGNhbm5vdCBzZXQgYW55dGhpbmcgZ3JlYXRlciB0aGFuIG91ciBtYXhpbXVtIHNwZWNpZmllZCBpbiB0aGUKCSAgcGFyYW0gc3BlYy4gV2UgaGF2ZSB0byB1cGRhdGUgb3VyIHBhcmFtIHNwZWMgdG8gcHJldmVudCBnbGliIGZyb20gY2FwcGluZyB0aGUgdmFsdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc0MAoKMjAxNS0wMy0wNyAxMDoyODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICB2dGRlYzogUmVnaXN0ZXIgYSBoYXJkd2FyZS1vbmx5IHZ0ZGVjX2h3IG9uIE9TWCBhbmQgZ2l2ZSBpdCBhIGhpZ2hlciByYW5rCgkgIHdoaWxlIGhhdmluZyB0aGUgZGVmYXVsdCB2dGRlYyBhdCBzZWNvbmRhcnkgcmFuay4gVGhpcyBhbGxvd3MgZGVjb2RlYmluL3BsYXliaW4KCSAgdG8gcHJlZmVyIHRoZSBoYXJkd2FyZSBiYXNlZCBkZWNvZGVycywgYW5kIGlmIHRoYXQgZmFpbHMgdG8gaW5pdGlhbGl6ZSBiZWNhdXNlCgkgIGhhcmR3YXJlIHJlc291cmNlcyBhcmUgYnVzeSB0byBmYWxsIGJhY2sgdG8gZS5nLiB0aGUgbGliYXYgYmFzZWQgaDI2NCBkZWNvZGVyCgkgIGluc3RlYWQgb2YgdGhlIHNvZnR3YXJlIGJhc2VkIHZ0ZGVjICh3aGljaCBpcyBzbG93ZXIpLCBhbmQgb25seSBmYWxsIGJhY2sgdG8KCSAgdGhlIHNvZnR3YXJlIGJhc2VkIHZ0ZGVjIGlmIHRoZXJlIGlzIG5vIGhpZ2hlciByYW5rZWQgZGVjb2RlciBhdmFpbGFibGUuCgoyMDE1LTAzLTA2IDIwOjExOjAwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBEb24ndCBzaGFyZSBvdXIgZG93bnN0cmVhbSBwb29sIHdpdGggdXBzdHJlYW0KCSAgUG9vbCBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBvd25lci4gVGhpcyBjYW4gbGVhZCB0byBzcHVyaW91cwoJICBwb29sIHdhcyBmbHVzaGluZyBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwCgoyMDE1LTAzLTA1IDE2OjI4OjM2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IERvbid0IGNoYWluIGRvd25zdHJlYW0gcG9vbAoJICBDaGFpbmluZyBhIGRvd25zdHJlYW0gcG9vbCB3b3VsZCBsZWFkIHRvIHR3byBvd25lciBvZiB0aGUgc2FtZQoJICBwb29sLiBJbiBkeW5hbWljIHBpcGVsaW5lLCBpZiBvbmUgb3duZXIgaXMgcmVtb3ZlZCBmcm9tIHRoZSBwaXBlbGluZQoJICB0aGUgcG9vbCB3aWxsIGJlIHN0b3BwZWQsIGFuZCB0aGUgcmVzdCBvZiB0aGUgcGlwZWxpbmUgd2lsbCBmYWlsCgkgIHNpbmNlIHRoZSBwb29sIHdpbGwgbm93IGJlIGZsdXNoaW5nLiBBbHNvIGZpeCBwcm9wb3NlZCBwb29sIGNhY2hpbmcsCgkgIGZpbHRlci0+cG9vbCB3YXMgbmV2ZXIgc2V0LCBuZXZlciB1bnJlZmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzA1CgoyMDE1LTAzLTA1IDE1OjQ5OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE9ubHkgY2FjaGUgcG9vbCwgZG9uJ3QgbWFuYWdlIGl0CgkgIEdMSW1hZ2UgZG9lcyBub3QgdXNlIGFueSBraW5kIG9mIGludGVybmFsIHBvb2wuIFRoZXJlIHdhcyBzb21lCgkgIHJlbWFpbmluZyBjb2RlIGFuZCBjb21tZW50IHN0YXRpbmcgdGhhdCBpdCB3YXMgbWFuYWdpbmcgdGhlCgkgIHBvb2wsIGFuZCBpdCB3YXMgaW4gZmFjdCBzZXR0aW5nIHRoZSBhY3RpdmUgc3RhdGUgd2hlbiBkb2luZwoJICB0byByZWFkeSBzdGF0ZS4KCSAgKiBPbmx5IGNyZWF0ZSB0aGUgcG9vbCBpZiByZXF1ZXN0ZWQgYW5kIGluIHByb3Bvc2VfYWxsb2NhdGlvbgoJICAqIENhY2hlIHRoZSBwb29sIHRvIGF2b2lkIHJlYWxsb2NhdGlvbiBvbiBzcHVyaW91cyByZWNvbmZpZ3VyZQoJICAqIERvbid0IHRyeSB0byBkZWFjdGl2YXRlIHRoZSBwb29sICh3ZSBkb24ndCBvd24gaXQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDUKCjIwMTUtMDMtMDYgMTI6MDc6NDcgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IHN0b3Agc3BhbW1pbmcgaW5mbyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzU1CgoyMDE1LTAzLTA2IDE4OjU0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2xkb3dubG9hZDogU2ltcGxpZnkgY2FwcyBmZWF0dXJlIHNldHRpbmcgY29kZQoKMjAxNS0wMy0wNiAxODoxNToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IFJlbW92ZSBmb3JtYXQgaW5mbyBpbiBnbGNvbG9yY29udmVydCdzIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uIGluc3RlYWQgb2Ygb24gZXZlcnkgY2FsbGVyCgkgIC4uLiBhbmQgbGV0IGdsbWl4ZXIgYWN0dWFsbHkgdHJhbnNmb3JtIHRoZSBjYXBzIGl0IGlzIHN1cHBvc2VkIHRvIHRyYW5zZm9ybQoJICBpbnN0ZWFkIG9mIGludmVudGluZyBuZXcgY2Fwcy4KCjIwMTUtMDMtMDYgMTg6NDk6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIFJldmVydCAidmlkZW9hZ2dyZWdhdG9yOiBDcmVhdGUgbmV3IGNhcHMgZnJvbSB0aGUgdmlkZW8taW5mbyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3ODIxNWJlMGRmYmI0ZThlZDRmMjQ5ZTE2MWE5NGM2NDQzMjhkMjhkLgoJICBiZWNhdXNlIGl0IGJyb2tlIGdsdmlkZW9taXhlciB3aXRoIGN1c3RvbSBjYXBzIGZlYXR1cmVzLgoKMjAxNS0wMy0wNiAxODozNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogU2ltcGxpZnkgY2FwcyBmZWF0dXJlIHNldHRpbmcgY29kZQoKMjAxNS0wMy0wNiAxNDo1NDo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZG9ubF9wcmVzZW50IHZhcmlhYmxlIHVudXNlZAoJICBkb25sX3ByZXNlbnQgaXMgbm90IGltcGxlbWVudGVkLCB5ZXQgdGhlIHZhbHVlIGlzIHNldCBhbmQgY2hlY2tlZCBhIGZldyB0aW1lcy4KCSAgQ2xlYW5pbmcgdGhpcy4KCSAgQ0lEICMxMjQ5Njg3CgoyMDE1LTAzLTA2IDE0OjI3OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IGZhbGwgdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEFkZGluZyBhIGNvbW1lbnQgbWFrZXMgY292ZXJpdHkgaGFwcHkgYW5kIHF1ZWxscyB0aGUgaXNzdWUuCgkgIENJRCAjMTEzOTc0OAoKMjAxNS0wMy0wNiAxNDozNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDcmVhdGUgbmV3IGNhcHMgZnJvbSB0aGUgdmlkZW8taW5mbwoJICBJbiBjYXNlIHRoZSBvcmlnaW5hbCBjYXBzIHdlcmUgbWlzc2luZyBzb21lIG9wdGlvbmFsIGZpZWxkcyBsaWtlCgkgIGludGVybGFjZS1tb2RlLiBXZSBhc3N1bWUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRob3NlIGV2ZXJ5d2hlcmUsCgkgIGJ1dCB0aGV5IGNhbiBzdGlsbCBjYXVzZSBuZWdvdGlhdGlvbiB0byBmYWlsIGlmIGEgZG93bnN0cmVhbSBlbGVtZW50CgkgIGV4cGVjdHMgdGhlIGZpZWxkIHRvIGJlIHRoZXJlIGFuZCBhdCBhIHNwZWNpZmljIHZhbHVlLgoKMjAxNS0wMi0yNSAxMzo1MjoyMSArMDEwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhbGxvdyAiY2FwdHVyZS1zY3JlZW4iIG1vZGUgdG8gc2VsZWN0IHdoaWNoIHNjcmVlbiB0byBjYXB0dXJlIHZpYSB0aGUgImRldmljZS1pbmRleCIgb3B0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxNjEKCjIwMTUtMDMtMDUgMTk6MDk6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogT25seSB1c2UgZGVidWdnaW5nIGlmIHdlIGhhdmUgdmFsaWQgdmFsdWVzCgkgIFRoZSBkZWJ1ZyBjYXRlZ29yeSB3b24ndCBoYXZlIGJlZW4gY3JlYXRlZC9hY3RpdmF0ZWQgaWYgaXQncyBub3QgYQoJICB2YWxpZCBkaXNwbGF5CgoyMDE1LTAzLTA1IDE1OjU0OjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgbW90aW9uY2VsbHM6IHByb3RlY3QgYWdhaW5zdCBub3QgZm91bmQgaWQKCSAgSWYgc2VhcmNoSWR4KCkgZG9lc24ndCBmaW5kIHRoZSBpZCBpdCByZXR1cm5zIC0xLCB3aGljaCBicmVha3MKCSAgbW90aW9uY2Vsc3N2ZWN0b3IuYXQgKGlkeCkuIENoZWNrIGZvciBpdCBhbmQgcmV0dXJuIGlmIG5vdCBmb3VuZC4KCSAgQ2hhbmdpbmcgYSBmZXcgb3RoZXIgbGluZXMgZm9yIHN0eWxlIGNvbnNpc3RlbmN5LgoKMjAxNS0wMy0wNSAxNTozNDowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IHJlbW92ZSBhbHdheXMtdHJ1ZSBjaGVjawoJICBmaWx0ZXItPmN2SW1hZ2UgaGFzIGp1c3QgYmVlbiB1c2VkL2RlcmVmZXJlbmNlZCwgdGhlcmUgd291bGQgYmUgYW4gZXJyb3IKCSAgdGhlcmUgaWYgdGhlIHBvaW50ZXIgd2FzIE5VTEwuIE5vIG5lZWQgdG8gY2hlY2sgc2luY2UgaXQgd2lsbCBhbHdheXMgYmUgdHJ1ZS4KCjIwMTUtMDMtMDQgMTY6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IENhbGN1bGF0ZSB0aGUgZHVyYXRpb24gbW9yZSBhY2N1cmF0ZWx5IGZyb20gdGhlIGNhcHR1cmUgdGltZSBhbmQgbnVtYmVycyBvZiBzYW1wbGVzCgkgIFRoaXMgc2hvdWxkIHByZXZlbnQgYW55IGFjY3VtdWxhdGluZyByb3VuZGluZyBlcnJvcnMgd2l0aCB0aGUgZHVyYXRpb24uCgoyMDE1LTAzLTA0IDE2OjA1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBGaXggdGhlIHRpbWVzdGFtcCBhbmQgb2Zmc2V0IGNhbGN1bGF0aW9ucyBldmVuIG1vcmUKCjIwMTUtMDMtMDQgMTY6MDQ6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IHN1YnRyYWN0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBjYXB0dXJlIHRpbWUKCSAgV2UgYWxyZWFkeSBoYXZlIHRoZSByZWFsIGNhcHR1cmUgdGltZSwgbm90IHRoZSB0aW1lIHdoZW4gd2UgcmVjZWl2ZWQKCSAgdGhlIGVuZCBvZiB0aGUgcGFja2V0LgoKMjAxNS0wMy0wNCAxMzoxNjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgUmV2ZXJ0ICJhdWRpb21peGVyOiBMYXRlbmN5IGlzIHR3aWNlIHRoZSBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uLCBub3Qgb25seSBvbmNlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzODdjZjY3ZGY5MWI1OTU0MGYzMmVlMTdiNGMwMmY3NDc5NjlhZGQuCgkgIFRoZSBhbmFseXNpcyB3YXMgd3Jvbmc6IFRoZSBmaXJzdCAyMG1zIG9mIGxhdGVuY3kgYXJlIGludHJvZHVjZWQgYnkgdGhlIHNvdXJjZQoJICBhbHJlYWR5IGFuZCBwdXQgaW50byB0aGUgbGF0ZW5jeSBxdWVyeSwgbWFraW5nIGl0IG9ubHkgbmVjZXNzYXJ5IHRvIGNvdmVyIHRoZQoJICBhZGRpdGlvbmFsIDIwbXMgb2YgYXVkaW9taXhlciBpbnNpZGUgYXVkaW9taXhlci4KCjIwMTUtMDMtMDQgMDk6MjQ6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggbGF0ZW5jeSBxdWVyeSBpbiBGRUMgY2FzZQoJICBUaGUgbWF4IGxhdGVuY3kgcGFyYW1ldGVyIGlzICJ0aGUgbWF4aW11bSB0aW1lIGFuIGVsZW1lbnQKCSAgc3luY2hyb25pemluZyB0byB0aGUgY2xvY2sgaXMgYWxsb3dlZCB0byB3YWl0IGZvciByZWNlaXZpbmcgYWxsCgkgIGRhdGEgZm9yIHRoZSBjdXJyZW50IHJ1bm5pbmcgdGltZSIgKGRvY3MvZGVzaWduL3BhcnQtbGF0ZW5jeS50eHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzM4CgoyMDE1LTAzLTAzIDExOjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlc2V0IHRoZSBwYXJzZXIgaW5mb3JtYXRpb24gd2hlbiBjYXBzIGNoYW5nZXMKCSAgVGhpcyBwcmV2ZW50cyBpdCBmcm9tIGdvaW5nIGludG8gcGFzc3Rocm91Z2ggYWZ0ZXIgcmVjZWl2aW5nIDIKCSAgYnl0ZS1zdHJlYW0gY2FwcyAoZGlmZmVyZW50IG9uZXMpIGFzIGl0IHdvdWxkIGtlZXAgdGhlIGhhdmVfcHBzIGFuZAoJICBoYXZlX3NwcyBzZXQgdG8gdHJ1ZSBhbmQgd291bGQganVzdCBnbyBpbnRvIHBhc3N0aHJvdWdoIHdpdGhvdXQKCSAgdXBkYXRpbmcgaXRzIGNhcHMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgcmVzZXQgaXRzIHN0cmVhbSBpbmZvcm1hdGlvbiB0byByZXN0YXJ0IHByb3Blcmx5CgkgIHdoZW4gbmV3IGNhcHMgYXJlIHJlY2VpdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDA5CgoyMDE1LTAzLTAzIDE3OjQ3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgdGltZXN0YW1wIG9uIGRpc2NvbnQgYnVmZmVycwoJICBNYWtlIHN1cmUgZGlzY29udCBidWZmZXJzIGhhdmUgaXRzIHRpbWVzdGFtcCBzZXQgdG8gYWxsb3cgZG93bnN0cmVhbQoJICB0byByZXN5bmMgaWYgbmVlZGVkCgoyMDEyLTAzLTIyIDA4OjQ3OjU3ICswMTAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IGNoZWNrIG5lZ290aWF0ZWQgY2FwcyBhdm9pZCByZXNldGluZyBvZiB0aGUgcGlwZQoJICBUbyBhdm9pZCB1c2VsZXNzIHJlbmVnb3RpYXRpb24gb2YgdGhlIHBpcGUgd2UgY2FuIGNoZWNrIGZvcgoJICBuZWdvdGlhdGVkIGNhcHMgb24gc3JjX2ZpbHRlciBhbmQgY29tcGFyZSBpdCB3aXRoIHJlcXVlc3RlZAoJICBmaWx0ZXIuIElmIHRoZSBjYXBzIGludGVyc2VjdCwgYXZvaWQgcmVzdGFydC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjYxMAoKMjAxNS0wMy0wMiAwMTowODoxNSArMDMwMCAgSWx5YSBBdmVyeWFub3YgPGkuYXZlcnlhbm92QGdlb3NjYW4uYWVybz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVtb3ZlIGR1cGxpY2F0ZSBjb2RlCgkgIFRoZSBtdXhlciBpcyBhbHJlYWR5IGFsbG9jYXRlZCBpbiByZXNldCgpLCB3aGljaCBpcyBjYWxsZWQgc29vbiBhZnRlcndhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTA2CgoyMDE1LTAzLTAzIDEwOjEyOjExICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBTZXQgcXVlcnkgQUxMT0NBVElPTiBuZWVkX3Bvb2wgdG8gRkFMU0UKCSAgU2V0IHF1ZXJ5IEFMTE9DQVRJT04gbmVlZF9wb29sIHRvIEZBTFNFIGFzIGl0IG9ubHkgbmVlZCBxdWVyeSBpZiBjYW4KCSAgc3VwcG9ydCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0OTUKCjIwMTUtMDMtMDQgMTQ6Mzg6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkgIGFwcGxlbWVkaWEvYXZzYW1wbGVzaW5rOiB1dGlsaXNlIGEgcHVsbCBiYXNlZCBhcHByb2FjaCBvZiBkaXNwbGF5aW5nIHZpZGVvIGZyYW1lcwoJICBVc2luZyByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZSB0aGUgbGF5ZXIgd2lsbCBleGVjdXRlIGEgYmxvY2sKCSAgd2hlbiBpdCB3b3VsZCBsaWtlIG1vcmUgZnJhbWVzLiBVc2luZyB0aGlzIHdlIGNhbiBwcm92aWRlIHRoZSBjdXJyZW50CgkgIGZyYW1lIGFuZCBhdm9pZCBuZWVkbGVzc2x5IGZpbGxpbmcgdGhlIGxheWVyJ3MgYnVmZmVyIHF1ZXVlIGNhdXNpbmcKCSAgb2xkZXIgZnJhbWVzIHRvIGJlIGRpc3BsYXllZCB3aGVuIHVuZGVyIHJlc291cmNlIHByZXNzdXJlLgoKMjAxNS0wMy0wMyAxNToyMjozOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IEZpeCB1cHNpZGUgZG93biBhbmQgbWlzcy1hbGlnbmVkIEpQRUcKCSAgTGliSlBFRyB1c2VzIG1hY3JvYmxvY2sgb2YgOHg4IHNhbXBsZS4gSW4gdGhpcyBlbGVtZW50IHdlIHVzZSBSR0IgYW5kCgkgIFk0NDQsIHR3byAyNGJpdCBmb3JtYXRzIHRoYXQgYXJlIHN0b3JlZCBpbiAzMmJpdCBwaXhlbHMuIFRoaXMgbWVhbiB3ZQoJICBoYXZlIDMyeDMyIGJ5dGVzIG1hY3JvYmxvY2tzLiBGb3IgdGhpcyByZWFzb24sIHdlIG5lZWQgdG8gYWxsb2NhdGUKCSAgb3VyIGJ1ZmZlciBzbGlnaHRseSBsYXJnZXIuIFdlIGFsc28gbmVlZCB0byBwYXNzIHRoZSBsaW5lIHBvaW50ZXIgaW4KCSAgdGhlIHJpZ2h0IG9yZGVyLCBvdGhlcndpc2UgdGhlIGltYWdlIGVuZHVwIHVwc2lkZS1kb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA5CgoyMDE1LTAzLTAzIDIwOjAzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBMYXRlbmN5IGlzIHR3aWNlIHRoZSBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uLCBub3Qgb25seSBvbmNlCgkgIExldCdzIGFzc3VtZSBhIHNvdXJjZSB0aGF0IG91dHB1dHMgb3V0cHV0cyAyMG1zIGJ1ZmZlcnMsIGFuZCBhdWRpb21peGVyIGhhdmluZwoJICBhIDIwbXMgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbi4gSG93ZXZlciB0aW1lc3RhbXBzIGRvbid0IGFsaWduIHBlcmZlY3RseSwgdGhlCgkgIHNvdXJjZSBidWZmZXJzIGFyZSBvZmZzZXR0ZWQgYnkgNW1zLgoJICBGb3Igb3VyIEFTQ0lJIGFydCBwaWN0dXJlLCBlYWNoIGxldHRlciBpcyA1bXMsIGVhY2ggcGlwZSBpcyB0aGUgc3RhcnQgb2YgYQoJICAyMG1zIGJ1ZmZlci4gU28gd2hhdCBoYXBwZW5zIGlzIHRoZSBmb2xsb3dpbmc6CgkgIDAgICAyMCAgNDAgIDYwCgkgIE9PT09PT09PT09PT09PT08KCSAgfCAgIHwgICB8ICAgfAoJICA1ICAgMjUgIDQ1ICA2NQoJICBJSUlJSUlJSUlJSUlJSUlJCgkgIHwgICB8ICAgfCAgIHwKCSAgVGhpcyBtZWFucyB0aGF0IHRoZSBzZWNvbmQgb3V0cHV0IGJ1ZmZlciAoMjAgdG8gNDBtcykgb25seSBnZXRzIGl0cyBsYXN0IDVtcwoJICBhdCB0aW1lIDQ1bXMgKHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5leHQgYnVmZmVyIGlzIHRoZSB0aW1lIHdoZW4gdGhlIGJ1ZmZlcgoJICBhcnJpdmVzKS4gQnV0IGlmIHdlIG9ubHkgaGF2ZSBhIGxhdGVuY3kgb2YgMjBtcywgd2Ugd291bGQgd2FpdCB1bnRpbCA0MG1zCgkgIHRvIGdlbmVyYXRlIHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBtaXNzIHRoZSBsYXN0IDVtcyBvZiB0aGUgaW5wdXQgYnVmZmVyLgoKMjAxNS0wMi0xOCAyMToyMTowMSAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogbm9ybWFsaXplIHRyYW5zbGF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NzYzCgkgICogTHVib3N6OiB1c2UgbWF4ZmxvYXQgZm9yIHRyYW5zZm9ybWF0aW9uIHJhbmdlCgoyMDE1LTAyLTE4IDIwOjQxOjE0IC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBGaXggZG9jIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc2MwoKMjAxNS0wMy0wMyAxMzo0NTo0NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBHZXQgcmlkIG9mIHVwbG9hZGVyIGlmIGNhcHMgaGF2ZSBjaGFuZ2VkCgkgIFdlIG5lZWQgdG8gdXBkYXRlIHRoZSB1cGxvYWRlciBmb3JtYXQgaWYgdGhhdCBjYXBzIGhhdmUgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU0OQoKMjAxNS0wMy0wMyAxNjo1MDozMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIHdheWxhbmRzaW5rOiBnX21rc3RlbXAgaXMgc2FmZXIgdGhhbiBta3N0ZXAKCjIwMTUtMDMtMDMgMTY6NDk6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICBSZXZlcnQgIndheWxhbmRzaW5rOiBta3N0ZW1wIHJlcXVpcmVzIHNldHRpbmcgcGVybWlzc2lvbiBtYXNrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE4OTBlNzM1NWE1NDY0ZmNmZmY1ODYzMzg1MTI2NWIzZmM3YTM3MzEuCgkgIEJldHRlciB0byB1c2UgZ19ta3N0ZW1wIHRoYXQgdGFrZXMgY2FyZSBvZiB0aGUgbWFzayB3aXRob3V0IGFmZmVjdGluZyB0aGUKCSAgZW50aXJlIHByb2Nlc3MuCgoyMDE1LTAzLTAzIDE2OjU1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBGaXggY29udGV4dCBsZWFrcwoJICBJbnRyb2R1Y2VkIGJ5IGExMmNhMTM3NTBhMTUzMDBhYjNjNzE4ZWJkZTI5ODRkYzNkNTg3YjMKCjIwMTUtMDMtMDMgMTY6MjM6NDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjb25kaXRpb25hbAoJICBUaGUgdHdvIGJyYW5jaGVzIG9mIHRoZSBpZiBjb25kaXRpb25hbCBhcmUgaWRlbnRpY2FsLCB3aGljaCBtZWFucyBpbiBhbGwgY2FzZXMKCSAgdGhlIHNhbWUgZ3N0X2FzZl9wdXRfZ3VpZCgpIHdpbGwgYmUgZXhlY3V0ZWQuIERvIGl0IGRpcmVjdGx5LgoJICBDSUQgIzEyMjY0NDgKCjIwMTUtMDMtMDMgMTU6NTE6NTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICB3YXlsYW5kc2luazogbWtzdGVtcCByZXF1aXJlcyBzZXR0aW5nIHBlcm1pc3Npb24gbWFzawoJICBVc2luZyBta3N0ZW1wIHdpdGhvdXQgc2V0dGluZyB0aGUgcGVybWlzc2lvbiBtYXNrIGlzIHBvdGVudGlhbGx5IGhhcm1mdWwuCgkgIFBPU0lYIHNwZWNpZmljYXRpb24gb2YgbWtzdGVtcCgpIGRvZXMgbm90IHNheSBhbnl0aGluZyBhYm91dCBmaWxlIG1vZGVzLCBzbyB3ZQoJICBuZWVkIHRvIG1ha2Ugc3VyZSBpdHMgZmlsZSBtb2RlIGNyZWF0aW9uIG1hc2sgaXMgc2V0IGFwcHJvcHJpYXRlbHkgYmVmb3JlCgkgIGNhbGxpbmcgaXQuCgoyMDE1LTAzLTAyIDE2OjQ1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogUmVzZXQgdGhlIGNsb2NrIGNhbGlicmF0aW9uIHdoZW4gdW5zZXR0aW5nIHRoZSBtYXN0ZXIgY2xvY2sKCSAgT3RoZXJ3aXNlIHRoZSBvbGQgY2FsaWJyYXRpb24gd2lsbCBzdGljayBhcm91bmQgZm9yIHRoZSBuZXh0IHRpbWUgd2UgdXNlIGl0LAoJICBwb3RlbnRpYWxseSBnaXZpbmcgdXMgY29tcGxldGVseSB3cm9uZyB0aW1lcy4KCjIwMTUtMDMtMDIgMTM6NTc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wMi0xMiAxMzo0MzozMCArMDEwMCAgRGFuaWVsRDEwIDxkLmRlZGlzc2VAdm9nby5mcj4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBJbmNvcnJlY3QgZnJhbWUgcmF0ZSBmb3IgaW50ZXJsYWNlZCBtb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0Mzg2CgoyMDE1LTAzLTAxIDE5OjU3OjIzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IHJlZ2lzdGVyIG9ubHkgb25lIGN1c3RvbSBuc2FwcCBsb29wCgkgIE90aGVyd2lzZSB0aGUgcGlwZWxpbmUgc3RhbGxzIHdoZW4gcnVubmluZwoJICBtb3JlIHRoYW4gb25lIGdsaW1hZ2VzaW5rIHdpdGggZ3N0LWxhdW5jaC4KCSAgQWxzbyBvbmx5IHJlZ2lzdGVyIHRoZSBjdXN0b20gbnNhcHAgbG9vcAoJICB3aGVuIHNldHRpbmcgdXAgdGhlIG5zYXBwIGZyb20gZ3N0Z2wuCgoyMDE1LTAzLTAxIDE2OjU0OjEwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IGluc3RlYWQgb2YgY2xhc3NfaW5pdCB1c2UgZ19vbmNlIHRvIHNldHVwIG5zYXBwCgoyMDE1LTAyLTI2IDIzOjA0OjA5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IGNoZWNrIGZvciBkZXByZWNhdGVkIGNvbnN0YW50cyBwcmlvciB0byBPU1ggMTAuMTAKCjIwMTUtMDMtMDEgMDk6NDM6MzIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IEZpeCBvZmZzZXQgZm9yIG9kZCBoZWlnaHQKCSAgV2UgYWxzbyBuZWVkIHRvIHJlY2FsY3VsYXRlIHRoZSBvZmZzZXQsIHNpbmNlIG90aGVyd2lzZSB0aGUgZnJhbWUKCSAgbWFwcGluZyB3aWxsIGJlIGZvcndhcmQgdHdvIGxpbmVzIGluIHRoZSBVIGFuZCBWIHBsYW5lcyAoSTQyMCkgZHVlCgkgIHRvIGdzdF92aWRlb19pbmZvX2FsaWduKCkgcm91bmQgdXAgdGhlIFkgcGxhbmUgdG8gYSBldmVuIG51bWJlciBvZgoJICBsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA1NAoKMjAxNS0wMy0wMSAwMDowODo0MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsLXRlc3Q6IFBvcnQgdW5pdCB0ZXN0cyB0byBuZXcgQVBJCgoyMDE1LTAyLTI4IDE1OjAwOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogU3VwcG9ydCBvZmZzZXQgd2hlbiBkb3dubG9hZGluZwoJICBNYWtlIHN1cmUgd2Ugc3VwcG9ydCBvZmZzZXQgYW5kIHZpZGVvIGFsaWdubWVudCB3aGVuIGRvd25sb2FkaW5nIHRvby4KCSAgVGhpcyBpcyBjdXJyZW50bHkgbm90IHVzZWQgKHBsYW5lX3N0YXJ0IGlzIGFsd2F5cyAwKSwgYnV0IGl0IG1ha2VzCgkgIHRoZSBjb2RlIGNvcnJlY3QgaWYgd2Ugd2FudCB0byB1c2UgdGhhdCBsYXRlci4KCjIwMTUtMDItMjggMTM6MDE6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBQcm92aWRlIGNvcnJlY3Qgc2l6ZSBvbiB1cGxvYWQKCSAgUHJvdmlkZSB0aGUgcmlnaHQgc2l6ZSB0byBHTCB3aGVuIHVwbG9hZGluZy4gVXNpbmcgbWF4c2l6ZSBpcyB3cm9uZwoJICBzaW5jZSB3ZSBvZmZzZXQgdGhlIGRhdGEgcG9pbnQgd2l0aCB0aGUgbWVtb3J5IG9mZnNldCBhbmQgdmlkZW8KCSAgYWxpZ25lbWVudCBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjggMTI6NDg6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBQcm92aWRlIGNvcnJlY3Qgc2l6ZSBvbiBkb3dubG9hZAoJICBQcm92aWRlIHRoZSByaWdodCBzaXplIHRvIEdMIHdoZW4gZG93bmxvYWRpbmcuIFRoaXMgZml4ZXMgZG93bmxvYWRpbmcKCSAgZnJvbSBHTE1lbW9yeSB0aGF0IHdoZXJlIGNyZWF0ZWQgZm9yIGxpYmF2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI4IDExOjU1OjI2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IFVzZSBmYWxsYmFjayBmb3IgcGFydGlhbCBjb3B5CgkgIFdoZW4gdGhlIG1lbW9yeSBpcyBwYXJ0aWFsIGNvcHksIHRoZSB0ZXh0dXJlIHNpemUgYW5kIHZpZGVvaW5mbyBubwoJICBsb25nZXIgbWFrZSBzZW5zZS4gQXMgd2UgY2Fubm90IGd1ZXNzIHdoYXQgdGhlIGFwcGxpY2F0aW9uIHdhbnRzLCB3ZQoJICBzYWZlbHkgY29weSBpbnRvIGEgc3lzbWVtIG1lbW9yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yNSAxODowNzowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsbWVtb3J5OiBBZGQgR3N0QWxsb2NhdGlvblBhcmFtcyBhbmQgYWxpZ25tZW50IHN1cHBvcnQKCSAgVGhpcyBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIEdzdEFsbG9jYXRpb25QYXJhbXMgYW5kIG1lbW9yeSBhbGlnbm1lbnRzLgoJICBUaGUgcGFyYW1ldGVycyB3aGVyZSBzaW1wbHkgaWdub3JlZCB3aGljaCBjb3VsZCBsZWFkIHRvIGNyYXNoIG9uCgkgIGNlcnRhaW4gcGxhdGZvcm0gd2hlbiB1c2VkIHdpdGggbGliYXYgYW5kIG5vIGx1Y2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjggMTg6MjE6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcGVyZm9ybSBlZ2wgdXBsb2FkIG9uIHRoZSBnbCB0aHJlYWQKCSAgRml4ZXMgRUdMSW1hZ2UgdXNhZ2Ugb24gcmFzcGJlcnJ5IHBpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MTQKCjIwMTUtMDItMjcgMTE6MDc6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEZpeCBzY2FsaW5nIHdpdGggcmF0ZSBvZiBpbnRlcm5hbC9leHRlcm5hbCBjbG9jawoKMjAxNS0wMi0yNyAwMDoyNjowMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSBzdGFuZGFyZCB1cHN0cmVhbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgaXMgZHVwbGljYXRlZCBpbiB0aGUgZGVmYXVsdCBsYXRlbmN5IHF1ZXJ5aW5nCgkgIG5vdy4KCjIwMTUtMDItMjcgMDA6MDE6NDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBVc2UgZGVmYXVsdCB1cHN0cmVhbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFdlIGNhbiByZWx5IG9uIHRoZSBzdGFuZGFyZCB1cHN0cmVhbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljIGFuZCB0aGVuIGFkZAoJICBvdXIgb3duIGxhdGVuY3kuCgoyMDE1LTAyLTI2IDEzOjIwOjI2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogU2V0IGZyZWVkIG1ldGhvZCBpbXBsZW1lbnRhdGlvbiB0byBOVUxMCgkgIFdoZW4gdHJ5aW5nIHRvIHJlbmRlciBidWZmZXJzIHdpdGggbWV0YTpHTFRleHR1cmVVcGxvYWQgdGhlIGdsaW1hZ2VzaW5rIGNyYXNoZXMKCSAgd2l0aCBhIHNlZ21lbnRhdGlvbiBmYXVsdC4KCSAgVGhpcyBwYXRjaCB3b3JrYXJvdW5kcyB0aGlzIGNyYXNoIHNldHRpbmcgdG8gTlVMTCB0aGUgbWV0aG9kIGltcGxlbWVudGF0aW9uCgkgIGFmdGVyIGZyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUyMDYKCjIwMTUtMDItMjUgMTQ6NDg6NTkgKzAxMDAgIFJvbWFuIE5vd2lja2kgPHIubm93aWNraUBzaW1zLnBsPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSBleGlzdGluZyBEM0Qgc3dhcCBjaGFpbiBvbiBpbml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxNTkKCjIwMTUtMDItMjQgMTk6MDE6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgb3BlbmdsOiBDbGVhbiBNYWtlZmlsZS5hbQoJICArIFNwbGl0IGhlYWRlcnMgZnJvbSBzb3VyY2UKCSAgKyBSZW1vdmUgdW5lZWRlZCBBTV9DRkxBR1MsIEFNX0xERkxBR1MKCSAgKyBBbHdheXMgc2V0IE9CSkNGTEFHUwoJICBEdWUgdG8gdGhlIHByZXNlbmNlIG9mIGEgLm0gYW5kIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbmRpdGlvbmFsIHZhbHVlcywKCSAgYXV0b21ha2Ugd2lsbCBwcm9tb3RlIHRoZSBsaW5rIGNvbW1hbmQgdG8gT0JKQyB1c2luZyBPQkpDRkxBR1MuIE9ubHkKCSAgdGhlIGJhc2ljIGZsYWdzIChsaWtlIHdhcm5pbmdzIGFuZCBvcHRpbWl6YXRpb24pIGFyZSBnb2luZyB0byBtYWtlIGEKCSAgZGlmZmVyZW5jZSB0aG91Z2guCgkgIFRoaXMgY2xlYW51cCBidWlsZHMgdXAgdGhlIG1ha2VmaWxlIHdpdGggbGVzcyBzcGVjaWZpYyBmaWxlcyBmaXJzdAoJICB0b3dhcmQgbW9yZSBzcGVjaWZpYyBmaWxlLiBGTEFHUyBhcmUgYnVpbHQgd2l0aCB0aGUgYmFzaWMgdGhhdCB1bnVzZWQKCSAgZmxhZ3Mgd2lsbCBoYXZlIGVtcHR5IHZhcmlhYmxlLgoKMjAxNS0wMi0yNCAxMjo1NDo1NCAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjb3NtZXRpYyBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDUKCjIwMTUtMDItMjQgMTk6NTI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIG9wZW5nbDogZG9uJ3QgYWRkIC0tdGFnPUNDIHR3aWNlIHRvIExJQlRPT0xGTEFHUwoKMjAxNS0wMi0yNCAxNDozNTozNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBvcGVuZ2w6IEFkZCAtLXRhZz1DQyB0byBMSUJUT09MQ0xGQUdTCgkgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHN0YXRpYyBidWlsZC4KCjIwMTUtMDItMjQgMTg6NTA6MDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW50ZXJsYWNlZCBkb2Vzbid0IG1lYW4gcHJvZ3Jlc3NpdmUgc2NhbgoJICBSZW1vdmluZyBpbnRlcmxhY2VkIHZhcmlhYmxlIHNpbmNlIGl0IGlzIG1lYW50IHRvIG1lYW4gcHJvZ3Jlc3NpdmUgc2NhbgoJICBhbmQgdGhhdCBpc24ndCB1c2VkLgoKMjAxNS0wMi0yNCAxODozODozMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBSZXZlcnQgInRlc3RzOiBjaGVjayBqcGVncGFyc2UgZm9yIHByb2dyZXNzaXZlIG1hcmtlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYzc3ZDEyY2U4NzcwZjBlMDY1ZTljMDBjMzVkNzExZmRlZjFjOWY4LgoJICAiaW50ZXJsYWNlZCIgaW4gdGhlIGNhcHMgZG9uJ3QgbWVhbiB0aGUgc2FtZSB0aGluZyBhcyB0aGUgU09GMiBtYXJrZXIgaW4gdGhlCgkgIEpQRUcgZm9ybWF0LiBUaGlzIHRlc3QgcGFzc2VzIGJlY2F1c2Ugb2YgYnJva2VuIGJlaGF2aW91ci4KCjIwMTUtMDItMjQgMTc6NDE6NDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IGNoZWNrIGpwZWdwYXJzZSBmb3IgcHJvZ3Jlc3NpdmUgbWFya2VyCgoyMDE1LTAyLTI0IDE0OjAxOjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBEZWFjdGl2YXRlIHdpbmRvdyBiZWZvcmUgY2hhbmdpbmcgaGFuZGxlCgkgIFdoZW4gc2V0dGluZyBhIG5ldyB3aW5kb3cgaGFuZGxlLCB3ZSBuZWVkIHRvIGVuc3VyZSBhbGwgaW1wbGVtZW50YXRpb25zCgkgIHdpbGwgZGV0ZWN0IHRoZSBjaGFuZ2UuCgkgIEZvciB0aGF0IHdlIGRlYWN0aXZhdGUgdGhlIGNvbnRleHQgYmVmb3JlIHNldHRpbmcgdGhlIHdpbmRvdyBoYW5kbGUsIHRoZW4KCSAgcmVhY3RpdmF0ZSB0aGUgY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDkwCgoyMDE1LTAyLTI0IDEzOjU4OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJICBnbC9lZ2w6IERldGVjdCB3aW5kb3cgaGFuZGxlIGNoYW5nZXMKCSAgV2hlbiAocmUpYWN0aXZhdGluZyB0aGUgY29udGV4dCwgdGhlIGJhY2tpbmcgd2luZG93IGhhbmRsZSBtaWdodCBoYXZlIGNoYW5nZWQuCgkgIElmIHRoYXQgaGFwcGVuZWQsIGRlc3Ryb3kgdGhlIHByZXZpb3VzIHN1cmZhY2UgYW5kIGNyZWF0ZSBhIG5ldyBvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA5MAoKMjAxNS0wMi0yNCAxNDoyMDo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBnbDogcmVtb3ZlIGRvY2Jvb2sgcmVsYXRlZCB3YXJuaW5ncwoKMjAxNS0wMi0yNCAxMzo1MToyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTUtMDItMjQgMTM6MzY6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBub3QgdXNpbmcgZGVwcmVjYXRlZCBBUEkgYW55bW9yZQoKMjAxNS0wMi0yNCAxMzoxNjoyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lIGNvbW1hbmQKCjIwMTUtMDItMjQgMTk6MDM6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggYSBjb21waWxlciB3YXJuaW5nCgkgIENhdXNlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmcgb24gY2xhbmc6CgkgIGdzdC1kdmItc2VjdGlvbi5jOjU2NzozNjogZXJyb3I6IGZvcm1hdCBzcGVjaWZpZXMgdHlwZSAndW5zaWduZWQgbG9uZycgYnV0IHRoZSBhcmd1bWVudCBoYXMgdHlwZSAnaW50JyBbLVdlcnJvciwtV2Zvcm1hdF0KCSAgZGVzY3JpcHRvcnNfbG9vcF9sZW5ndGgsIGVuZCAtIDQgLSBkYXRhKTsKCSAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fn5+fgoKMjAxNS0wMi0yNCAyMzo1NDoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IG9ubHkgYXR0ZW1wdCB1c2Ugb2YgdGhlIHRleHR1cmUgY2FjaGUgd2l0aCBHTE1lbW9yeSBjYXBzIGZlYXR1cmVzCgkgIE90aGVyd2lzZSB3ZSBzZW5kIHJlY3RhbmdsZSB0ZXh0dXJlcyB0byBnbGltYWdlc2luawoKMjAxNS0wMi0yNCAyMzo1MjozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiByZW5kZXIgYmxhY2sgd2hlbiB3ZSBkb24ndCBoYXZlIGEgdGV4dHVyZSB0byBkaXNwbGF5CgkgIExpa2Ugd2hlbiB0aGUgd2luc3lzIGFza3MgdXMgdG8gcmVkcmF3IGJlZm9yZSB0aGUgcGlwZWxpbmUgaGFzIHN0YXJ0ZWQKCjIwMTUtMDItMjUgMDA6MDA6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWxsb3cgc2hhcmluZyBiZXR3ZWVuIGJ1ZmZlcnMKCSAgVGhlcmUgd2FzIG5vIHJlYWwgcmVhc29uIHdoeSB0aGUgZmxhZyB3YXMgc2V0LiAgV2Ugc2hvdWxkIGJlIGFibGUKCSAgdG8gaGFuZGxlIGl0LiAgRml4ZXMgbGFzdC1zYW1wbGUgaGFuZGxpbmcgb24gZ2wgc2lua3MKCjIwMTUtMDItMjQgMjA6MzQ6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGFkZCBjb21wYXQgZGVmaW5pdGlvbiBmb3IgZ2xlczIKCjIwMTUtMDItMjQgMTE6MTk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBpbml0aWFsaXplIHRoZSByZW5kZXIgd2luZG93IHN3YXAgY2hhaW4gd2hpbGUgdGhlIGRldmljZSBpcyBsb3N0IGFuZCB3ZSdyZSB3YWl0aW5nIGZvciByZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjE1CgoyMDE1LTAyLTI0IDExOjE4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEZWFjdGl2YXRlIHRoZSBmYWxsYmFjayBidWZmZXIgcG9vbCB3aGVuIHJlcGxhY2luZyBpdCBkdXJpbmcgY2FwcyBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTUKCjIwMTUtMDEtMjkgMTc6NDE6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG5ldyBjYW9wZW5nbGxheWVyc2luayBlbGVtZW50CgkgIHJlbmRlcnMgZ3N0cmVhbWVyIGdsIHNjZW5lL3ZpZGVvIGZyYW1lcyB0byBhIGNhb3BlbmdsbGF5ZXIgcmV0cmVpdmFibGUKCSAgZnJvbSB0aGUgImxheWVyIiBwcm9wZXJ0eS4KCjIwMTUtMDEtMTkgMTI6NDM6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rL21haW4ubToKCSAgYXBwbGVtZWRpYTogbmV3IEFWU2FtcGxlQnVmZmVyTGF5ZXJTaW5rCgkgIFJlbmRlcnMgYnVmZmVycyB1c2luZyB0aGUgQ0FMYXllciBzdWJjbGFzcyBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgoJICB3aGljaCBjYW4gYmUgcGxhY2VkIGluc2lkZSBhIENvcmUgQW5pbWF0aW9uIHJlbmRlciB0cmVlLgoKMjAxNS0wMi0yNCAxOTowNjoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBkb24ndCB1c2UgdGhlIGFzeW5jIGNhbGxiYWNrIHRvIHJlbmRlcgoJICBub3QgdW50aWwgd2UgY2FuIHByb3ZpZGUgZXF1aXZhbGVudCBmdW5jdGlvbmFsaXR5IGZvciBvdGhlciB3aW5kb3cKCSAgaW1wbGVtZW50YXRpb25zLgoKMjAxNS0wMi0yNCAwMToyMDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogYWxzbyBzdXBwb3J0ZWQgd2l0aCBnbGVzMwoKMjAxNS0wMi0yNCAxNDoyMzo0OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGxpYmdzdGdsOiBlYWdsOiBoYW5kbGUgQ0FMYXllciByZXNpemUKCjIwMTUtMDItMjMgMTY6MTM6MzEgKzAxMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogRml4IHRyYW5zZmVyX3BibyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTc3CgoyMDE1LTAyLTIyIDEwOjAzOjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IHJlZHVjZSBjdXN0b20gbWFpbiBsb29wIGxhdGVuY3kKCSAgVGhpcyBmaXggYSB2ZXJ5IHNsb3cgcmVuZGVyaW5nIHJhdGUgcmVncmVzc2lvbiB0aGF0IG9ubHkKCSAgaGFwcGVucyB3aGVuIHVzaW5nIGdzdC1sYXVuY2gsIGkuZS4gaW4gdGhlIGNhc2Ugd2hlcmUKCSAgdGhlIG1haW4gdGhyZWFkIGRvZXMgbm90IHJ1biBhbnkgTlNBcHAgbG9vcC4KCSAgR2l0IGJpc2VjdCByZXBvcnRlZCBpdCBoYXMgYmVlbiBpbnRyb2R1Y2VkIGJ5IHRoZSBjb21taXQKCSAgZTEwZDI0MTdlMmZlN2FhNDczM2MwNzY5ODQzMzliMGQ2MWNhYTE2OToKCSAgIm1vdmUgdG8gQ0dMIGFuZCBDQU9wZW5HTExheWVyIGZvciByZW5kZXJpbmciLgoJICBUaGVuIHRoZSBjb21taXQgN2Q0NjM1NzYyNzFlNWE0Y2MxMDcwNzgwYmExYTY5Yzk3MWU4YmUxZDoKCSAgImdzdGdsd2luZG93X2NvY29hOiBmaXggc2xvdyByZW5kZXIgcmF0ZSIgYXR0ZW1wdGVkIHRvIGZpeAoJICB0aGUgc2xvdyByZW5kZXJpbmcgcmF0ZSBwcm9ibGVtIHdoZW4gdXNpbmcgZ3N0LWxhdW5jaC4KCSAgQXQgbGVhc3QgZm9yIG1lIGl0IGRvZXMgbm90IHdvcmsuIEkgdHJpZWQgc2V2ZXJhbAoJICBjb21iaW5hdGlvbnMsIGZvciBleGFtcGxlIHRvIGZsdXNoIENBIHRyYW5zYWN0aW9ucyBpbiB0aGUKCSAgY3VzdG9tIGFwcCBsb29wLCBhcyBtZW50aW9uZWQgaW4gdGhlIGRvYywgYnV0IHRoZSBvbmx5IHNvbHV0aW9uCgkgIHRoYXQgZml4ZXMgdGhlIHNsb3cgcmVuZGVyaW5nIGlzIGJ5IHJlZHVjaW5nIHRoZSBsb29wIGxhdGVuY3kuCgkgIEZyb20gd2hhdCBJIHRlc3RlZCwgbm8gbmVlZCB0byBwdXQgbGVzcyB0aGFuIDYwbXMsIGV2ZW4gaWYgdGhlCgkgIGZyYW1lcmF0ZSBoYXMgYW4gaW50ZXJ2YWwgbXVjaCBsb3dlciAoMTYuNm1zIGZvciA2MCBmcHMpLgoKMjAxNS0wMi0xNyAyMzo1MDo1MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBnbG1peGVyOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMgoJICBnc3RnbG1peGVyLmg6NDM6IGVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiDigJhHc3RHTE1peGVy4oCZCgkgIGdzdGdsbWl4ZXJwYWQuaDozMjogZXJyb3I6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmEdzdEdMTWl4ZXLigJkgd2FzIGhlcmUKCSAgZ3N0Z2xtaXhlci5oOjQ2OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYg4oCYR3N0R0xNaXhlckZyYW1lRGF0YeKAmQoJICBnc3RnbG1peGVycGFkLmg6MzM6IGVycm9yOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiDigJhHc3RHTE1peGVyRnJhbWVEYXRh4oCZIHdhcyBoZXJlCgoyMDE1LTAyLTIxIDE5OjA3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTUtMDItMjEgMTk6MDc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgb3B1cyBlbGVtZW50cyB0byBkb2N1bWVudGF0aW9uCgoyMDE1LTAyLTIxIDE4OjUyOjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZG9uJ3QgcXVpdCBvbiBXYXJuaW5nCgkgIERvbid0IHF1aXQgb24gV2FybmluZy4KCSAgUHJpbnQgb3V0IGEgbWVzc2FnZSB3aGVuIHRoZXJlIGlzIGFuIEVycm9yIG9yIFdhcm5pbmcuCgoyMDE1LTAyLTIxIDE4OjQ3OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogYWx3YXlzIHNob3cgZ3RrIHdpbmRvdwoJICBTaG93IGd0ayB3aW5kb3cgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyB0YWdzLCB0byBhbHdheXMgaGF2ZSB2aXN1YWwgZmVlZGJhY2sKCSAgYWJvdXQgdGhlIHBpcGVsaW5lIHJ1bm5pbmcuCgoyMDE1LTAyLTIxIDE3OjM1OjAzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogbWVyZ2UgcmV0dXJucyBpbiBnX3ZhbHVlX3RvX3N0cmluZygpCgoyMDE1LTAyLTIxIDE3OjI1OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogbWFrZSBidXNfY2FsbGJhY2sgY29uc2lzdGVudAoJICBTaW1wbGlmeSB0aGUgYnVzX2NhbGxiYWNrIHRvIG1ha2UgaXQgY29uc2lzdGVuIHdpdGggb3RoZXIgZXhhbXBsZXMuCgoyMDE1LTAyLTIxIDE3OjE4OjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZml4IHVzYWdlIG9mIGFyZ2MgYW5kIGFyZ3YKCjIwMTUtMDItMjEgMTc6MDI6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbiBleGFtcGxlczogcmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlCgkgIHJldCBpcyBvbmx5IHVzZWQgb25jZSwgd2UgZG9uJ3QgbmVlZCB0byBzdG9yZSBpdCBpbiBhIHZhcmlhYmxlIGZvciB0aGF0LgoKMjAxNS0wMi0yMSAxNDo0MjowNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdzdGdsbWVtb3J5OiBSZW1vdmUgbm93IHVudXNlZCB0cmFuc2Zlcl91cGxvYWQgZnVuY3Rpb24uCgoyMDE1LTAyLTIxIDIzOjI5OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGRpc2FibGUgYXV0b21hdGljIHBibyB1cGxvYWQKCSAgdW50aWwgd2UgY2FuIHRyYWNrIHdoZXJlIHRoZSBkYXRhIGlzL29yIGlzIGdvaW5nIHRvIGJlLgoKMjAxNS0wMi0yMCAxMzo1NTowNSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBzZWxlY3QgY29ycmVjdCBzdGFydGluZyBwb3NpdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIFdoZW4gcGxheWluZyBsaXZlIEhMUyBzdHJlYW1zLCB0aGUgbWVkaWEgcGxheWJhY2sgc3RhcnRzIGZyb20gdGhlCgkgIGJlZ2lubmluZyBvZiB0aGUgbWVkaWEgcGxheWxpc3QuIFdoZW4gcGxheWluZyBhIGxpdmUgSExTIHN0cmVhbSwKCSAgbWVkaWEgcGxheWJhY2sgc2hvdWxkIHN0YXJ0IGZyb20gMyBmcmFnbWVudHMgZnJvbSB0aGUgZW5kIG9mIHRoZQoJICBwbGF5bGlzdC4KCSAgU2VlIHNlY3Rpb24gNi4zLjMuIG9mIHRoZSBITFMgZHJhZnQgWzFdCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhlIGxvZ2ljIHRvIHNlbGVjdCAzIGZyYWdtZW50cyBmcm9tIHRoZSBlbmQgd2hlbgoJICBwbGF5aW5nIGEgbGl2ZSBzdHJlYW0uCgkgIFsxXSBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1wYW50b3MtaHR0cC1saXZlLXN0cmVhbWluZy0xMiNwYWdlLTI5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3NDIKCjIwMTUtMDItMjAgMTg6NDI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xlbWVtb3J5OiBvbmx5IHN0b3JlIGFuZCBhY3Qgb24gdGhlIG1hcCBmbGFncyBvbiBmaXJzdC9sYXN0IG1hcC91bm1hcAoJICBBbnl0aW1lIGVsc2UsIHdlIGhhdmUgbm8gaWRlYSBob3cgdG8gbWF0Y2ggdXAgbWFwIGFuZCB1bm1hcHMuCgkgIFdlIGFsc28gZG9uJ3Qga25vdyBleGFjdGx5IGhvdyB0aGUgY2FsbGluZyBjb2RlIGlzIHVzaW5nIHVzLgoJICBBbHNvIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHdlJ3JlIHRyeWluZyB0byB0cmFuc2ZlciB3aGlsZSBzb21lb25lIGVsc2UKCSAgaXMgYWNjZXNzaW5nIG91ciBkYXRhIHBvaW50ZXIgb3IgdGV4dHVyZSByZXN1bHRpbmcgaW4gbWlzbWF0Y2hlZCB2aWRlbwoJICBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ4MzkKCjIwMTUtMDItMTkgMjE6MjE6NTYgLTA1MDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHNyY19sb2NrIHRvIHByb3RlY3QgbGF0ZW5jeSByZWxhdGVkIG1lbWJlcnMKCSAgT25lIGhhcyB0byB1c2UgdGhlIHNyY19sb2NrIGFueXdheSB0byBwcm90ZWN0IHRoZSBtaW4vbWF4L2xpdmUgc28gdGhleQoJICBjYW4gYmUgbm90aWZpZWQgYXRvbWljYWxseSB0byB0aGUgc3JjIHRocmVhZCB0byB3YWtlIGl0IHVwIG9uIGNoYW5nZXMsCgkgIHN1Y2ggYXMgcHJvcGVydHkgY2hhbmdlcy4gU28gbm8gcG9pbnQgaW4gaGF2aW5nIGEgc2Vjb25kIGxvY2suCgkgIEFsc28sIHRoZSBvYmplY3QgbG9jayB3YXMgYmVpbmcgaGVsZCBhY3Jvc3MgYSBjYWxsIHRvCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcsIGd1YXJhbnRlZWluZyBhIGRlYWRsb2NrLgoKMjAxNS0wMi0xOSAxODo1MzozMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIHVudHJ1ZSBjb21tZW50CgoyMDE1LTAyLTE5IDE4OjMwOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCB0cnkgdG8gcHVzaCB0YWdzIHdoaWxlIGZsdXNoIHNlZWtpbmcKCSAgVGhlIGRvd25zdHJlYW0gc2VnbWVudCBjb3VsZCBoYXZlIGJlZW4gZmx1c2hlZCBhbHJlYWR5LCBzbwoJICBuZWVkIHRvIHJlLXNlbmQgdGhlIHNlZ21lbnQgZXZlbnQgYmVmb3JlIHJlLXNlbmRpbmcgdGhlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTkgMTQ6MzQ6MjMgKzAxMDAgIEd1aWxsYXVtZSBTZWd1aW4gPGd1aWxsYXVtZUBzZWd1LmluPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJlZHVjZSBwbGF5bGlzdCdzIEVYVC1YLVZFUlNJT04gdG8gMwoJICBXZSBhcmUgbm90IHVzaW5nIGFueSBmZWF0dXJlcyBncmVhdGVyIHRoYW4gdGhlIDNyZCB2ZXJzaW9uLAoJICBzbyByZWR1Y2UgdG8gd2hhdCB3ZSBhY3R1YWxseSB1c2UgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGgKCSAgbW9yZSBwbGF5ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2ODkKCjIwMTUtMDItMTkgMTQ6MzA6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gT1BVUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE0OjA1OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSB0cnVuY2F0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0wNSAxMDoyNzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG5lZ290aWF0ZSB0aGUgZW5jb2RpbmcgbmFtZQoJICBDaHJvbWUgdXNlcyBhIGRpZmZlcmVudCBlbmNvZGluZyBuYW1lIHRoYXQgZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE3OjIxOjQ2ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSAgc2ltcGxldmlkZW9tYXJrZGV0ZWN0OiBtb3ZlIG9mZnNldCBjYWxjdWxhdGlvbnMgb3V0IG9mIGlubmVyIGxvb3BzCgkgIHRoZSBjYWxjdWxhdGlvbnMgZm9yIGRldGVjdGluZyB0aGUgdmlkZW9tYXJrIGlzIGJlaW5nIHJlcGVhdGVkCgkgIGluIGZvciBsb29wIHVubmVjZXNzYXJpbHkuIE1vdmluZyB0aGlzIG91dHNpZGUgb2YgZm9yIGxvb3AKCSAgc3VjaCB0aGF0IHRoZSBjb2RlIG5lZWQgbm90IGJlIGV4ZWN1dGVkIGV2ZXJ0aW1lIHRoZSBsb29wIGlzIGV4ZWN1dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0Nzc4CgoyMDE1LTAyLTE5IDExOjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2UgdGhlIHNpbmtwYWRzIGl0ZXJhdG9yIGRpcmVjdGx5IHRvIHF1ZXJ5IHVwc3RyZWFtIGxhdGVuY2llcwoJICBXaGlsZSBnc3RfYWdncmVnYXRvcl9pdGVyYXRlX3NpbmtwYWRzKCkgbWFrZXMgc3VyZSB0aGF0IGV2ZXJ5IHBhZCBpcyBvbmx5CgkgIHZpc2l0ZWQgb25jZSwgZXZlbiB3aGVuIHRoZSBpdGVyYXRvciBoYXMgdG8gcmVzeW5jLCB0aGlzIGlzIG5vdCBhbGwgd2UgaGF2ZQoJICB0byBkbyBmb3IgcXVlcnlpbmcgdGhlIGxhdGVuY3kuIFdoZW4gdGhlIGl0ZXJhdG9yIHJlc3luY3Mgd2UgYWN0dWFsbHkgaGF2ZQoJICB0byBxdWVyeSBhbGwgcGFkcyBmb3IgdGhlIGxhdGVuY3kgYWdhaW4gYW5kIGZvcmdldCBvdXIgcHJldmlvdXMgcmVzdWx0cy4gSXQKCSAgbWlnaHQgaGF2ZSBoYXBwZW5lZCB0aGF0IGEgcGFkIHdhcyByZW1vdmVkLCB3aGljaCBpbmZsdWVuY2VkIHRoZSByZXN1bHQgb2YKCSAgdGhlIGxhdGVuY3kgcXVlcnkuCgoyMDE1LTAyLTE5IDEwOjU3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBNb3ZlIGdzdF9hZ2dyZWdhdG9yX2dldF9sYXRlbmN5X3VubG9ja2VkKCkgYSBiaXQKCSAgSXQgd2FzIGJldHdlZW4gYW5vdGhlciBmdW5jdGlvbiBhbmQgaXRzIGhlbHBlciBmdW5jdGlvbiBiZWZvcmUsIHdoaWNoIHdhcwoJICBjb25mdXNpbmcgd2hlbiByZWFkaW5nIHRoZSBjb2RlIGFzIGl0IGhhZCBub3RoaW5nIHRvIGRvIHdpdGggdGhlIG90aGVyCgkgIGZ1bmN0aW9ucy4KCjIwMTUtMDItMTkgMDE6Mjg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJICByc25pbnB1dHNlbGVjdG9yOiBGYWlsIHRoZSBsYXRlbmN5IHF1ZXJ5IGlmIG9uZSBvZiB0aGUgdXBzdHJlYW0gcXVlcmllcyBmYWlscwoKMjAxNS0wMi0xOSAwMToyODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRmFpbCB0aGUgbGF0ZW5jeSBxdWVyeSBpZiBvbmUgb2YgdGhlIHVwc3RyZWFtIHF1ZXJpZXMgZmFpbHMKCjIwMTUtMDItMTkgMDE6Mjg6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZhaWwgdGhlIGxhdGVuY3kgcXVlcnkgaWYgb25lIG9mIHRoZSB1cHN0cmVhbSBxdWVyaWVzIGZhaWxzCgoyMDE1LTAyLTE4IDE5OjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE9ubHkgc2V0IGxhdGVuY3kgaWYgd2UgYWxyZWFkeSBrbm93IG91ciBjYXBzCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzZXQgYm9ndXMgdmFsdWVzIG9yIEdTVF9DTE9DS19USU1FX05PTkUuCgkgIEFsc28gbWFrZSBzdXJlIHRvIHJlc2V0IHRoZSBjYXBzIGZpZWxkIHRvIE5VTEwgYWZ0ZXIgdW5yZWZmaW5nCgkgIHRoZSBjYXBzIHRvIHByZXZlbnQgYWNjaWRlbnRpYWwgdXNlIGFmdGVyd2FyZHMsIGFuZCB1bnJlZiBhbnkKCSAgb2xkIGNhcHMgYmVmb3JlIHdlIHJlbWVtYmVyIG5ldyBjYXBzLgoKMjAxNS0wMi0xOCAxNTo1Mzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbG9ja2luZyBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE1OjExOjE0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW5hbWUgY29uZnVzaW5seSBuYW1lZCBTUkNfU1RSRUFNX0xPQ0sgbWFjcm9zIHRvIFNSQ19MT0NLCgkgIFRoaXMgd2lsbCBtYXRjaCB0aGUgbmFtZSBvZiB0aGUgbG9jayBpdHNlbGYuIEl0IGlzIGFsc28gbm90IGEgc3RyZWFtCgkgIGxvY2sgYXMgaXQgbm90IHJlY3Vyc2l2ZSBhbmQgbm90IGhlbGQgd2hpbGUgcHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNTowNjowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVuYW1lIGNvbmZ1c2luZ2x5IG5hbWVkIHN0cmVhbSBsb2NrIHRvIGZsdXNoIGxvY2sKCSAgVGhpcyBsb2NrIGlzIG5vdCB3aGF0IGlzIGNvbW1vbmx5IGtub3duIGFzIGEgInN0cmVhbSBsb2NrIiBpbiBHU3RyZW1lciwKCSAgaXQncyBub3QgcmVjdXJzaXZlIGFuZCBpdCdzIHRha2VuIGZyb20gdGhlIG5vbi1zZXJpYWxpemVkIEZMVVNIX1NUQVJUIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE1OjA0OjA0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggbWFjcm8gaW5kZW5kYXRpb24KCSAgQ2hhbmdlcyBubyBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTc6MTA6NDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtOiBGaXggaW5jbHVkZXMgb2YgZ3JhcGhlbmUgaGVhZGVycwoJICBUaGUgZ3JhcGhlbmUtMS4wIHBhcnQgc2hvdWxkIG5vdCBiZSBpbiB0aGUgc291cmNlIGNvZGUuIFRoaXMgZGlyZWN0b3J5CgkgIGlzIHBhcnQgb2YgdGhlIGNmbGFncyBpbmNsdWRlLiBUaGlzIGlzIHNpbWlsYXIgdG8gZ3N0cmVhbWVyLTEuMC8KCSAgZGlyZWN0b3J5LiBUaGlzIGJyZWFrIGNvbXBpbGF0aW9uIGlmIHRoZSBpbmNsdWRlIGRpcmVjdG9yeSB3aGVyZQoJICBncmFwaGVuZSBpcyBpbnN0YWxsZWQgaXMgbm90IGluIHlvdXIgaW5jbHVkZSBwYXRoLgoKMjAxNS0wMi0xOCAxOTowNzo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlbW92ZSB1bm5lZWRlZCB2YWx1ZXMKCSAgTm8gbmVlZCB0byBzdG9yZSB0aGUgR3N0Rmxvd1JldHVybiB3aGVuIHdlIGNhbiBjaGVjayBpZiBpdCBpcyBub3QgT0sgZGlyZWN0bHkKCjIwMTUtMDItMTggMTg6MzM6MjAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZW5hbWluZyBHc3RGbG93UmV0dXJuIHZhcmlhYmxlCgkgIEhhdmluZyBhIHZhcmlhYmxlIG5hbWVkIHJldCBpbiBhIHN0YXRpYyB2b2lkIGZ1bmN0aW9uIGlzIHZlcnkgY29uZnVzaW5nIHNpbmNlCgkgIHRoaXMgdXN1YWxseSBpcyB0byBzdG9yZSB3aGF0IHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybi4KCjIwMTUtMDItMTggMTg6MDA6NDggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZW1vdmUgaWdub3JlZCB2YWx1ZQoJICBWYWx1ZSBzdG9yZWQgaW4gcmV0IHdpbGwgYmUgb3Zld3JpdHRlbiBpbiB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGxvb3AuIFdoaWNoCgkgIG1lYW5zIGl0IGlzIG5ldmVyIHVzZWQuCgkgIFBsdXMgYSBzdHlsZSBpc3N1ZSB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcHkgYW5kIGFsbG93IHRoZSBjb21taXQuCgoyMDE1LTAyLTE4IDE3OjQxOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBSZW1vdmUgZ193YXJuaW5ncygpIGZvciB0aGUgZGVwcmVjYXRlZCBhdWRpbyBwcm9wZXJ0eQoJICBPdGhlcndpc2UgdGhlcmUgYXJlIGdfd2FybmluZ3MoKSBhbHJlYWR5IHdoZW4ganVzdCB1c2luZyBnc3QtaW5zcGVjdCBvcgoJICBkdW1waW5nIGEgcGlwZWxpbmUgZ3JhcGguCgoyMDE1LTAyLTE1IDIzOjE2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBhZ2FpbnN0IG1hbGZvcm1lZCBpc29tYmZmIGZvcm1hdAoJICBCZSBtb3JlIGNhcmVmdWwgYXJvdW5kIG1hbGZvcm1lZCBtcGRzIHRoYXQgYW5ub3VuY2UgdXNpbmcKCSAgaXNvbWJmZiBwcm9maWxlIGJ1dCBhY3R1YWxseSBhcmUgcmVndWxhciBtcGRzCgoyMDE1LTAyLTE4IDEyOjQ1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRGVhY3RpdmF0ZSB0aGUgZmFsbGJhY2sgcG9vbCBhbmQgdW5yZWYgdGhlIGZhbGxiYWNrIGJ1ZmZlciB3aGVuIHJlc2V0dGluZwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBzdGlsbCBoYXZlIGEgcmVmZXJlbmNlIHRvIHRoZSBzdXJmYWNlIGxlZnQsIHdoaWNoIHdvdWxkCgkgIHByZXZlbnQgYWN0aXZhdGluZyB0aGUgc2luayBhZ2FpbiBsYXRlci4gRS5nLiBhZnRlciB3ZSBsb3N0IHRoZSBkZXZpY2UuCgkgIEhvcGVmdWxseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjE1CgoyMDE1LTAyLTE3IDExOjUzOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxNS0wMi0xNyAxMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGNvcnJlY3QgZnVuY3Rpb24gdG8gY2xlYXIgZnJhZ21lbnQgaW5mbwoJICBKdXN0IGZyZWVpbmcgdGhlIHVybCB3b24ndCByZXNldCB0aGUgYnl0ZSByYW5nZXMgYW5kIGNhbiBsZWFkIHRvIHdyb25nCgkgIHJhbmdlcyBiZWluZyB1c2VkLgoKMjAxNS0wMi0xNyAxMDo1MDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGRlcHJhY2F0ZSBiYW5kd2lkdGgtdXNhZ2UgaW4gZmF2b3Igb2YgYml0cmF0ZS1saW1pdAoJICBCaXRyYXRlLWxpbWl0IGlzIGFscmVhZHkgYXZhaWxhYmxlIGluIHRoZSBiYXNlY2xhc3MgYW5kLCBldmVuIHRob3VnaAoJICB0aGUgYmFuZHdpZHRoLXVzYWdlIG5hbWUgaXMgYmV0dGVyLCBobHMgYW5kIG1zcyBhbHJlYWR5IHVzZWQKCSAgYml0cmF0ZS1saW1pdC4gVGhpcyBwYXRjaCBkZXByZWNhdGVzIHRoZSBiYW5kd2lkdGgtdXNhZ2UgYW5kIG1hcHMKCSAgaXQgdG8gdGhlIGJhc2VjbGFzcyBiaXRyYXRlLWxpbWl0ZS4KCjIwMTUtMDItMTcgMTA6NDA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBiaXRyYXRlLWxpbWl0IHByb3BlcnR5CgkgIE1vdmUgdGhlIHByb3BlcnR5IGZyb20gc3ViY2xhc3NlcyB0byBhZGFwdGl2ZWRlbXV4LCBpdCBhbGxvd3MKCSAgc2VsZWNpbmcgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIG1lYXN1cmVkIGJpdHJhdGUgdG8gYmUgdXNlZCB3aGVuCgkgIHNlbGVjdGluZyBzdHJlYW0gYml0cmF0ZXMKCjIwMTUtMDItMTcgMTA6MDQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBhbGxvdyBjcmVhdGlvbiBvZiAnaW5maW5pdGUnIHBsYXlsaXN0CgkgIEFsbG93IHRoZSBwbGF5bGlzdC1sZW5ndGggdG8gYWNjZXB0ICcwJyBhcyBhIHZhbHVlLCBpbmRpY2F0aW5nCgkgIHRoYXQgbm8gc2VnbWVudCBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBwbGF5bGlzdC4gVGhpcyBhbGxvd3MKCSAgZ2VuZXJhdGluZyBwbGF5bGlzdHMgdG8gYmUgdXNlZCBhcyBWT0Qgd2hlbiBjb21wbGV0ZS4KCjIwMTUtMDItMTcgMTA6MDQ6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHNzaW5rOiByZW1vdmUgdW51c2VkIGF0dHJpYnV0ZQoJICB0aGUgR0ZpbGUgYXR0cmlidXRlIGlzIG5ldmVyIHVzZWQKCjIwMTUtMDItMTcgMTA6MDM6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIEFsbG93cyB0byBzZXQgYSBiaXRyYXRlIGRpcmVjdGx5IGluc3RlYWQgb2YgbWVhc3VyaW5nIGl0IGludGVybmFsbHkKCSAgYmFzZWQgb24gdGhlIHJlY2VpdmVkIGNodW5rcy4gVGhlIGNvbm5lY3Rpb24tc3BlZWQgd2FzIHJlbW92ZWQgZnJvbQoJICBtc3NkZW11eCBhbmQgaGxzZGVtdXggYXMgaXQgaXMgbm93IGluIHRoZSBiYXNlIGNsYXNzCgoyMDE1LTAyLTE3IDAwOjM0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBkb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscwoJICBEb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscyB0byBjaGVjawoJICB3aGV0aGVyIGl0IGhhcyBiZWVuIGZyZWVkIGFscmVhZHkgb3Igbm90LiBKdXN0IGNsZWFyIG11dGV4CgkgIGFuZCBHQ29uZCB1bmNvbmRpdGlvbmFsbHkgaW4gZnJlZSBmdW5jdGlvbiwgdGhleSBhcmUgYWx3YXlzCgkgIGluaXRlZCBhbnl3YXksIGFuZCB0aGUgZnJlZSBmdW5jdGlvbiBjYW4ndCBiZSBjYWxsZWQgbXVsdGlwbGUKCSAgdGltZXMgZWl0aGVyLgoKMjAxNS0wMi0xNiAyMzo1NDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGRvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzCgkgIERvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHRvIGNoZWNrCgkgIHdoZXRoZXIgaXQgaGFzIGJlZW4gZnJlZWQgYWxyZWFkeSBvciBub3QuIEp1c3QgdHVybiBkaXNwb3NlCgkgIGZ1bmN0aW9uIGludG8gZmluYWxpemUgZnVuY3Rpb24gd2hpY2ggd2lsbCBvbmx5IGJlIGNhbGxlZAoJICBvbmNlLCB0aGF0IHdheSB3ZSBjYW4ganVzdCBjbGVhciB0aGUgbXV0ZXggdW5jb25kaXRpb25hbGx5LgoKMjAxNS0wMi0xNyAxODoxNzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGRvbid0IGRlYWRsb2NrIGlmIHRoZSBkaXNwYXRjaF9zeW5jIGlzIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZAoJICBQcm92aWRlIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgd2UgYXJlIGJlaW5nIGNhbGxlZCBmcm9tCgkgIHRoZSBtYWluIHRocmVhZCBhbmQgYWN0IGFwcHJvcHJpYXRlbHkuCgoyMDE1LTAyLTE3IDE2OjQxOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogb25seSBzdGFydCBkcmF3aW5nIGlmIHRoZSBwYXJlbnQgZ2wgY29udGV4dCBpcyByZWFkeQoJICBvdGhlcndpc2Ugd2UgbWF5IHRyeSB0byB1c2UgR3N0R0xGdW5jcyAqIHRoYXQgaGFzbid0IGJlZW4gc2V0IHlldAoKMjAxNS0wMi0xNyAxNjozOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IHNtYWxsIHJlZmFjdG9yIG9mIGxheWVyL3ZpZXcgY3JlYXRpb24gaW50byB0aGUgd2luZG93CgoyMDE1LTAyLTE3IDAxOjA0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBSZW1vdmUgYXNzZXJ0aW9uIGluIGdzdF9nbF93aW5kb3dfc2hvdygpIGZvciBzdWJjbGFzc2VzIG5vdCBpbXBsZW1lbnRpbmcgaXQKCSAgT24gQW5kcm9pZCBhbmQgaU9TIHdlIGNhbid0IGNyZWF0ZSBhIHdpbmRvdyBvdXJzZWx2ZXMsIHNvIGFsc28gY2FuJ3QganVzdCBzaG93CgkgIG9uZS4gVGhhdCdzIG5vdCBhIHByb2JsZW0gYW5kIGFuIGFzc2VydGlvbiBpcyBub3QgcmVhbGx5IG5lZWRlZCBoZXJlLgoKMjAxNS0wMi0xNiAxMjozNTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBDaGVjayBpZiBWVFNlc3Npb25Db3B5UHJvcGVydHkoKSBzdWNjZWVkcyBiZWZvcmUgdXNpbmcgdGhlIHJlc3VsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTg1CgoyMDE1LTAyLTEzIDIzOjQ1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkcm9wIEdBUCBldmVudHMgdW50aWwgd2UgaGFuZGxlIHRoZW0gcHJvcGVybHkKCjIwMTUtMDItMTIgMTI6MDQ6NDQgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJICBzaW1wbGV2aWRlb21hcms6IHJlZmFjdG9yIGNvZGUKCSAgdGhlIGNhbGN1bGF0aW9ucyBmb3IgZHJhd2luZyB0aGUgdmlkZW9tYXJrIGlzIGJlaW5nIHJlcGVhdGVkCgkgIGluIGZvciBsb29wIHVubmVjZXNzYXJpbHkuIE1vdmluZyB0aGlzIG91dHNpZGUgb2YgZm9yIGxvb3AKCSAgc3VjaCB0aGF0IHRoZSBjb2RlIG5lZWQgbm90IGJlIGV4ZWN1dGVkIGV2ZXJ0aW1lIHRoZSBsb29wIGlzIGV4ZWN1dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzcxCgoyMDE1LTAyLTA5IDExOjIxOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBGaXggc2VnbWVudCBhbmQgc2VnbWVudCBldmVudCBoYW5kbGluZyBkdXJpbmcgc2Vla2luZwoJICBBbHdheXMgdXBkYXRlIHRoZSBzZWdtZW50IGFuZCBub3Qgb25seSBmb3IgYWNjdXJhdGUgc2Vla2luZyBhbmQgYWx3YXlzCgkgIHNlbmQgYSBuZXcgc2VnbWVudCBldmVudCBhZnRlciBzZWVrcy4KCSAgRm9yIG5vbi1hY2N1cmF0ZSBmb3JjZSBhIHJlc2V0IG9mIG91ciBzZWdtZW50IGluZm8gdG8gc3RhcnQgZnJvbQoJICB3aGVyZSBvdXIgc2VlayBsZWQgdXMgYXMgd2UgZG9uJ3QgbmVlZCB0byBiZSBhY2N1cmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzYzCgoyMDE1LTAyLTEzIDE2OjA2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiB1c2UgbmV3IGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgoyMDE1LTAyLTEzIDE2OjAzOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBuZXcgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCjIwMTUtMDItMTMgMTU6NTM6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgoyMDE1LTAyLTEzIDE1OjQ5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoJICBzdGVhbF9idWZmZXIoKSArIHVucmVmIHNlZW1zIHRvIGJlIGEgd2lkZS1zcHJlYWQgaWRpb20KCSAgKHdoaWNoIHBlcmhhcHMgaW5kaWNhdGVzIHRoYXQgc29tZXRoaW5nIGlzIG5vdCBxdWl0ZQoJICByaWdodCB3aXRoIHRoZSB3YXkgYWdncmVnYXRvciBwYWQgd29ya3MgY3VycmVudGx5KS4KCjIwMTUtMDItMTIgMTM6MzI6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IG9ubHkgcG9zdCBsYXRlbmN5IG1lc3NhZ2UgaWYgYW55dGhpbmcgY2hhbmdlZAoJICBQZXJoYXBzIHdlIHNob3VsZCBjaGVjayBmb3IgZWxlbWVudCBzdGF0ZSBhcyB3ZWxsIGFuZAoJICBvbmx5IHBvc3QgaXQgaWYgaW4gUExBWUlORyBzdGF0ZS4KCjIwMTUtMDItMTIgMTU6NDg6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IHJlbW92ZSBHU1RfRElTQUJMRV9QQVJTRSBndWFyZHMgZnJvbSB0d28gdGVzdHMgdGhhdCBkb24ndCByZXF1aXJlIGl0CgoyMDE1LTAxLTI4IDEyOjEyOjI2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBNYWtlIGRlYnVnIGNhdGVnb3J5IG5hbWluZyBhIGJpdCBtb3JlIGNvbnNpc3RlbnQKCjIwMTUtMDItMTMgMTk6MTI6MjAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGZpeCBjcmFzaCB3aGVuIG5vbi1HTCBtZW1vcnkgaXMgdXNlZAoKMjAxNS0wMi0wNSAxODoxMDoxNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggbG9naWMgaW4gZnJhZ21lbnRfZG93bmxvYWRfZmluaXNoLgoJICBUaGlzIHdhcyBwcmV2ZW50aW5nIHVzIGZyb20gc3VyZmFjaW5nIGEgbWVhbmluZ2Z1bCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzcwMwoKMjAxNS0wMi0xMiAyMjowNjoxNyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGhhbmRsaW5nIG9mIGxpdmUgc3RyZWFtcyB3aXRoIHRpbWVzaGlmdCBidWZmZXJzLgoJICBCeSBpbXBsZW1lbnRpbmcgZ2V0X2xpdmVfc2Vla19yYW5nZS4KCSAgQXMgc2hvd24gYnkgOgoJICBnc3QtdmFsaWRhdGUtMS4wIHBsYXliaW4gXAoJICB1cmk9aHR0cDovL2Rldi1pcGxhdGZvcm1zLmt3LmJiYy5jby51ay9kYXNoL25ld3MyNC1hdmMzL25ld3MyNC5waHAKCSAgVGhpcyBwYXRjaCBoYW5kbGVzIGxpdmUgc2Vla2luZywgYnkgc2V0dGluZyBhIGxpdmUgc2VlayByYW5nZQoJICBjb21wcmlzZWQgYmV0d2VlbiBub3cgLSB0aW1lU2hpZnRCdWZmZXJEZXB0aCBhbmQgbm93LgoJICBUaGUgaW50ZWVyc3RpbmcgdGhpbmcgd2l0aCB0aGlzIHN0cmVhbSBpcyB0aGF0IG9uZSBjYW4gYWN0dWFsbHkKCSAgYXNrIGZyYWdtZW50cyB1cCB0byBhdmFpbGFiaWxpdHlTdGFydFRpbWUsIGJ1dCBpdCBzZWVtcyBxdWl0ZSBjbGVhcgoJICBpbiB0aGUgc3BlYyB0aGF0IGNvbnRlbnQgaXMgb25seSBndWFyYW50ZWVkIHRvIGV4aXN0IHVwIHRvCgkgIHRpbWVTaGlmdEJ1ZmZlckRlcHRoLgoJICBPbmUgY2FuIHRlc3QgbGl2ZSBzZWVraW5nIHRoaXMgd2F5IDoKCSAgZ3N0LXZhbGlkYXRlLTEuMCBwbGF5YmluIFwKCSAgdXJpPWh0dHA6Ly9kZXYtaXBsYXRmb3Jtcy5rdy5iYmMuY28udWsvZGFzaC9uZXdzMjQtYXZjMy9uZXdzMjQucGhwIFwKCSAgLS1zZXQtc2NlbmFyaW8gc2Vla19iYWNrLnNjZW5hcmlvCgkgIHdpdGggc2NlbmFyaW8gYmVpbmc6CgkgIGRlc2NyaXB0aW9uLCBzZWVrPXRydWUKCSAgc2VlaywgcGxheWJhY2stdGltZT1wb3NpdGlvbis1LjAsIHN0YXJ0PSJwb3NpdGlvbi02MDAuMCIsCgkgIGZsYWdzPWFjY3VyYXRlK2ZsdXNoCgkgIFRoaXMgZXhhbXBsZSB3aWxsIHBsYXkgdGhlIHN0cmVhbSwgd2FpdCBmb3IgZml2ZSBzZWNvbmRzLCB0aGVuIHNlZWsgYmFjawoJICB0byBhIHBvc2l0aW9uIDEwIG1pbnV0ZXMgZWFybGllci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM2MgoKMjAxNS0wMi0xMiAyMjowNDoxMCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBTZXQgZmlyc3Qgc2VnbWVudCB0aW1lIHRvIHNlZ21lbnQgc3RhcnQuCgkgIE90aGVyd2lzZSBhcyBsb25nIGFzIGEgc2VlayB3YXNuJ3QgZXhlY3V0ZWQsIHRoZSBwb3NpdGlvbiB3YXMKCSAgcmVwb3J0ZWQgaW5jb3JyZWN0bHk6CgkgIGdzdC12YWxpZGF0ZS0xLjAgcGxheWJpbiBcCgkgIHVyaT1odHRwOi8vZGV2LWlwbGF0Zm9ybXMua3cuYmJjLmNvLnVrL2Rhc2gvbmV3czI0LWF2YzMvbmV3czI0LnBocAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzYyCgoyMDE1LTAyLTEyIDE3OjMzOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDE1LTAyLTEyIDE1OjAyOjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2w6IEFkZC9VcGRhdGUgbW9yZSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIFdoZXJlIHBvc3NpYmxlLCB1c2UgdGhlIF9PQkpFQ1QgdmFyaWFudHMgaW4gb3JkZXIgdG8gdHJhY2sgYmV0dGVyIGZyb20KCSAgd2hpY2ggb2JqZWN0IHRoZSBkZWJ1ZyBzdGF0ZW1lbnQgaXMgY29taW5nIGZyb20KCSAgRGVmaW5lIChhbmQgdXNlKSBHU1RfQ0FUX0RFRkFVTFQgd2hlcmUgYXBwbGljYWJsZQoJICBVc2UgR1NUX1BUUl9GT1JNQVQgd2hlcmUgYXBwbGljYWJsZQoKMjAxNS0wMi0xMiAxNDo1ODoxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsOiBNYWtlIGdsY29udGV4dCBkZWJ1ZyBjYXRlZ29yeSB1c2VkIGluIG1vcmUgcGxhY2VzCgkgIEFzIGEgYm9udXMgaXQgbWFrZXMgdGhlIGVnbCBjb250ZXh0IGRlYnVnIG1lc3NhZ2VzIHZpc2libGUgbm93IDopCgoyMDE1LTAyLTEyIDE0OjU2OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBTcHJpbmtsZSBtb3JlIGRlYnVnCgoyMDE1LTAyLTEyIDExOjE1OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBzZXQgcHJvcGVyIHN0cmVhbSB0eXBlIHRvIHN0cmVhbXMKCSAgc3RybmNtcCByZXR1cm5zIDAgd2hlbiBpdCBjb21wYXJlcyBlcXVhbCBhbmQgbm90IGEKCSAgYm9vbGVhbgoKMjAxNS0wMi0xMiAxMToyNjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogY2FsY3VsYXRlIHN0cmVhbV90aW1lIHVzZWQgdG8gc3luYyBwYWQgdmFsdWVzIGNvcnJlY3RseQoJICBVc2UgcGFkIChpbnB1dCkgc2VnbWVudCB0byBjYWxjdWxhdGUgdGhlIHN0cmVhbSB0aW1lIGZyb20gdGhlCgkgIGlucHV0IHRpbWVzdGFtcCwgbm90IHRoZSBhZ2dyZWdhdG9yIChvdXRwdXQpIHNlZ21lbnQuCgoyMDE1LTAyLTEyIDExOjExOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE9ubHkgdXNlIHRoZSBkdXJhdGlvbiBvZiB0aGUgc2FtcGxlIGlmIGl0IGlzIHZhbGlkCgoyMDE1LTAxLTI3IDEzOjQ4OjQyICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogdHJhY2sgcGVyLWZyYWdtZW50IGJpdHJhdGVzLgoJICBBbmQgdXNlIHRoZSBhdmVyYWdlIHRvIGdvIHVwIGluIHJlc29sdXRpb24sIGFuZCB0aGUgbGFzdCBmcmFnbWVudAoJICBiaXRyYXRlIHRvIGdvIGRvd24uCgkgIFRoaXMgYWxsb3dzIHRoZSBkZW11eGVyIHRvIHJlYWN0IHJhcGlkbHkgdG8gYml0cmF0ZSBsb3NzLCBhbmQKCSAgYmUgY29uc2VydmF0aXZlIGZvciBiaXRyYXRlIGltcHJvdmVtZW50cy4KCSAgKyBBZGQgYSBjb25zdHJ1Y3Qgb25seSBwcm9wZXJ0eSB0byBkZWZpbmUgdGhlIG51bWJlciBvZiBmcmFnbWVudHMKCSAgdG8gY29uc2lkZXIgd2hlbiBjYWxjdWxhdGluZyB0aGUgYXZlcmFnZSBtb3ZpbmcgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk3OQoKMjAxNS0wMi0xMSAxNDo0NDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogQWRkIHN1cHBvcnQgZm9yIDEwYml0IDQ6MjowIGFuZCA0OjQ6NCBmb3JtYXRzCgoyMDE1LTAyLTExIDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBJbXByb3ZlIGFuZCBmaXggTEFURU5DWSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIG5vdyBmb2xsb3dzIHRoZSBkZXNpZ24gZG9jcyBldmVyeXdoZXJlLCBlc3BlY2lhbGx5IHRoZSBtYXhpbXVtIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxMDYKCjIwMTUtMDItMTAgMTU6NTU6NTAgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbiBleGFtcGxlczogbWVtb3J5IGxlYWsgaW4gY2FtZXJhYmluIGV4YW1wbGVzIGNvZGUKCSAgc2hvdWxkIHVucmVmIGNhcHMgYWZ0ZXIgc2V0IHRvIHByb2ZpbGUuIHByb2ZpbGUgd2lsbCByZWYgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTkKCjIwMTUtMDItMTAgMTU6NTM6MjEgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluIGV4YW1wbGVzOiBtZW1vcnkgbGVhayBpbiBjYW1lcmFiaW4gZXhhbXBsZXMgY29kZQoJICBzaG91bGQgdW5yZWYgYWZ0ZXIgc2V0IG9iamVjdC4gVGhlIG9iamVjdCB3aWxsIGJlIHJlZmVkIHdoZW4gc2V0CgkgIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjE5CgoyMDE1LTAyLTEwIDE2OjE4OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IE9ubHkgYWxsb2NhdGUgYXQgbW9zdCBoYWxmIHRoZSBudW1iZXIgb2YgaW50ZXJuYWwgYnVmZmVycyBhcyBleHRlcm5hbCBhdWRpb3JpbmdidWZmZXIgb25lcwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZW5kIHVwIHJlYWRpbmcgdG9vIG11Y2ggZnJvbSB0aGUgYXVkaW9yaW5nYnVmZmVyLCB3aGljaAoJICB3b3VsZCByZXN1bHQgaW4gcmVhZGluZyBzaWxlbmNlLgoKMjAxNS0wMi0xMCAxNjowMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQXBwbHkgdGhlIGRpZmYgYmV0d2VlbiBlbGVtZW50IGFuZCBwaXBlbGluZSAiYmFzZSIgdGltZSBpbiBhbGwgY2FzZXMKCSAgRXZlbiBpZiBib3RoIGNsb2NrcyBoYXZlIHRoZSBzYW1lIHJhdGUsIHdlIG5lZWQgdG8gYXBwbHkgdGhpcyBkaWZmLiBPbmx5IHdoZW4KCSAgaXQncyB0aGUgc2FtZSBjbG9jayB3ZSBkb24ndCwgYXMgaXQncyBvdXIgY2xvY2sgdGhlbi4KCjIwMTUtMDItMTAgMTU6MzA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSBwaXBlbGluZSBiYXNlIHRpbWUgYW5kIHdoZW4gd2Ugc3RhcnQgdG8gcGxheQoJICBBZGQgdGhlIGRpZmYgYmV0d2VlbiB0aGUgZXh0ZXJuYWwgdGltZSB3aGVuIHdlIHdlbnQgdG8gcGxheWluZyBhbmQKCSAgdGhlIGV4dGVybmFsIHRpbWUgd2hlbiB0aGUgcGlwZWxpbmUgd2VudCB0byBwbGF5aW5nLiBPdGhlcndpc2Ugd2UKCSAgd2lsbCBhbHdheXMgc3RhcnQgb3V0cHV0dGluZyBmcm9tIDAgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBydW5uaW5nCgkgIHRpbWUuCgoyMDE1LTAyLTEwIDE0OjUzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFjdHVhbGx5IGluY2x1ZGUgdGhlIGNoYW5nZSBtZW50aW9uZWQgaW4gdGhlIGxhc3QgY29tbWl0CgoyMDE1LTAyLTEwIDE0OjQ4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVve3NyYyxzaW5rfTogU2FtcGxlIHRoZSBpbnRlcm5hbCBjbG9jayBpbW1lZGlhdGVseSBhZnRlciBzdGFydGluZyB0aGUgZGV2aWNlCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzdGF5IGF0IDAuMHMgZm9yIHRvbyBsb25nIGJlY2F1c2Ugd2Ugd2lsbCB0YWtlIHRoZSBmaXJzdAoJICB0aW1lc3RhbXAgd2UgZXZlciBzZWUgYXMgMC4wLi4uIHdoaWNoIHdpbGwgYmUgYWZ0ZXIgd2Ugc3RhcnRlZCB0aGUgZGV2aWNlLgoKMjAxNS0wMi0xMCAxMDo1NjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBXaGVuIHJlY2VpdmluZyB0aW1lb3V0IGJlZm9yZSBjYXBzLCBtYWtlIHN1cmUgdG8gYWxzbyBhZHZhbmNlIG91ciBmcmFtZSBjb3VudGVyCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGRpcmVjdGx5IGdvIEVPUyBvbiB0aGUgbmV4dCBub24tdGltZW91dC4KCjIwMTUtMDItMTAgMTA6NDk6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFBhdXNlIHNyY3BhZCB0YXNrIG9uIGZsb3cgZXJyb3JzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNhbGwgdGhlIHRhc2sgZnVuY3Rpb24gb3ZlciBhbmQgb3ZlciBhZ2FpbiB1bnRpbAoJICB1cHN0cmVhbSBmaW5hbGx5IGhhbmRsZWQgdGhlIGZsb3cgcmV0dXJuIGFuZCBzaHV0cyB1cyBkb3duLgoKMjAxNS0wMi0wOSAwMDo1OTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBidWZmZXIgc2VsZWN0aW9uIHdoZW4gZHVyYXRpb249LTEKCSAgSWYgdGhlIHNyYyBmcmFtZXJhdGUgYW5kIHZpZGVvYWdncmVhdG9yJ3Mgb3V0cHV0IGZyYW1lcmF0ZSB3ZXJlCgkgIGRpZmZlcmVudCwgdGhlbiB3ZSB3ZXJlIHRha2luZyBldmVyeSBzaW5nbGUgYnVmZmVyIHRoYXQgaGFkIGR1cmF0aW9uPS0xCgkgIGFzIGl0IGNhbWUgaW4gcmVnYXJkbGVzcyBvZiB0aGUgYnVmZmVyJ3Mgc3RhcnQgdGltZS4gIFRoaXMgY2F1c2VkIHRoZSBzcmMKCSAgdG8gcG9zc2libHkgcnVuIGF0IGEgZGlmZmVyZW50IHNwZWVkIHRvIHRoZSBvdXRwdXQgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MDk2CgoyMDE1LTAyLTA5IDIxOjA0OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggZ2NjCgkgIGdzdGRlY2tsaW5rLmNwcDogSW4gbWVtYmVyIGZ1bmN0aW9uICd2aXJ0dWFsIEhSRVNVTFQgR1N0cmVhbWVyRGVja2xpbmtJbnB1dENhbGxiYWNrOjpWaWRlb0lucHV0RnJhbWVBcnJpdmVkKElEZWNrTGlua1ZpZGVvSW5wdXRGcmFtZSosIElEZWNrTGlua0F1ZGlvSW5wdXRQYWNrZXQqKSc6CgkgIGdzdGRlY2tsaW5rLmNwcDo0OTg6MjI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIGV4cHJlc3Npb25zIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KCSAgaWYgKGNhcHR1cmVfdGltZSA+IG1faW5wdXQtPmNsb2NrX3N0YXJ0X3RpbWUpCgkgIF4KCSAgZ3N0ZGVja2xpbmsuY3BwOjUwMzoyMjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQoJICBpZiAoY2FwdHVyZV90aW1lID4gbV9pbnB1dC0+Y2xvY2tfb2Zmc2V0KQoJICBeCgoyMDE1LTAyLTA5IDE3OjE3OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IEltcGxlbWVudCBjbG9jayBzbGF2aW5nIGlmIHRoZSBwaXBlbGluZSBjbG9jayBpcyBub3QgdGhlIGRlY2tsaW5rIGNsb2NrCgoyMDE1LTAyLTA5IDE3OjE1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlve3NyYyxzaW5rfTogT25seSBzdGFydCBzdHJlYW1zIC8gc2NoZWR1bGVkIHBsYXliYWNrIGlmIHRoZXJlIGlzIGEgdmlkZW9zcmMgYXQgdGhpcyBwb2ludAoKMjAxNS0wMi0wOSAxNzowNDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZSBhdWRpbyBzb3VyY2Ugb25seSB3b3JrcyB0b2dldGhlciB3aXRoIHRoZSB2aWRlbyBzb3VyY2UsIGFuZCB0aGUgdmlkZW8KCSAgc291cmNlIGlzIGFscmVhZHkgcHJvdmlkaW5nIGEgY2xvY2suCgoyMDE1LTAyLTA5IDE2OjE4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbmthdWRpb3Npbms6IFRocm90dGxlIHJlYWRpbmcgZnJvbSB0aGUgcmluZ2J1ZmZlcgoJICBUaGUgZHJpdmVyIGhhcyBhbiBpbnRlcm5hbCBidWZmZXIgb2YgdW5zcGVjaWZpZWQgYW5kIHVuY29uZmlndXJhYmxlIHNpemUsIGFuZAoJICBpdCB3aWxsIHB1bGwgZGF0YSBmcm9tIG91ciByaW5nIGJ1ZmZlciBhcyBmYXN0IGFzIGl0IGNhbiB1bnRpbCB0aGF0IGlzIGZ1bGwuCgkgIFVuZm9ydHVuYXRlbHkgdGhhdCBtZWFucyB0aGF0IHdlIHB1bGwgc2lsZW5jZSBmcm9tIHRoZSByaW5nYnVmZmVyIHVubGVzcyBpdHMKCSAgc2l6ZSBpcyBieSBjb25pbmNpZGVuY2UgbGFyZ2VyIHRoYW4gdGhlIGRyaXZlcidzIGludGVybmFsIHJpbmdidWZmZXIuCgkgIFRoZSBnb29kIG5ld3MgaXMgdGhhdCBpdCdzIG5vdCByZXF1aXJlZCB0byBjb21wbGV0ZWx5IGZpbGwgdGhlIGJ1ZmZlciBmb3IKCSAgcHJvcGVyIHBsYXliYWNrLiBTbyB3ZSBub3cgdGhyb3R0bGUgcmVhZGluZyBmcm9tIHRoZSByaW5nYnVmZmVyIHdoZW5ldmVyCgkgIHRoZSBkcml2ZXIgaGFzIGJ1ZmZlcmVkIG1vcmUgdGhhbiBoYWxmIG9mIG91ciByaW5nYnVmZmVyIHNpemUgYnkgd2FpdGluZwoJICBvbiB0aGUgY2xvY2sgZm9yIHRoZSBhbW91bnQgb2YgdGltZSB1bnRpbCBpdCBoYXMgYnVmZmVyZWQgbGVzcyB0aGFuIHRoYXQKCSAgYWdhaW4uCgoyMDE1LTAyLTA5IDE1OjE5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbmthdWRpb3Npbms6IFN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayB3aGVuIGdvaW5nIHRvIFBMQVlJTkcKCSAgVGhlIHJpbmdidWZmZXIncyBhY3F1aXJlKCkgaXMgdG9vIGVhcmx5LCBhbmQgcmluZ2J1ZmZlcidzIHN0YXJ0KCkgd2lsbCBvbmx5IGJlCgkgIGNhbGxlZCBhZnRlciB0aGUgY2xvY2sgaGFzIGFkdmFuY2VkIGEgYml0Li4uIHdoaWNoIGl0IHdvbid0IHVubGVzcyB3ZSBzdGFydAoJICBzY2hlZHVsZWQgcGxheWJhY2suCgoyMDE1LTAyLTA5IDIxOjE4OjI0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZml4IHRleHR1cmUgc2hhcmluZyBvbiBpT1MKCSAgTW92ZSBHTEVTIGNhbGxzIHRvIHRoZSBjb250ZXh0IHRocmVhZC4gRml4CgkgIENWT3BlbkdMRVNUZXh0dXJlQ2FjaGVDcmVhdGVUZXh0dXJlRnJvbUltYWdlIHVzYWdlIG9uIGlPUy4KCjIwMTUtMDItMDkgMjA6NDQ6NTAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGxpYmdzdGdsOiBzZXQgdXNlciBkYXRhIGFuZCBHRGVzdHJveU5vdGlmeSBmb3Igd3JhcHBlZCB0ZXh0dXJlcwoKMjAxNS0wMi0wOCAyMTo1Mzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBUYWtlIHRoZSBjYXB0dXJlIHRpbWVzIGZyb20gdGhlIHBpcGVsaW5lIGNsb2NrCgkgIE5vdCBmcm9tIHRoZSBkZWNrbGluayBjbG9jay4gQm90aCB3aWxsIHJldHVybiBleGFjdGx5IHRoZSBzYW1lIHRpbWUgb25jZSB0aGUKCSAgZGVja2xpbmsgY2xvY2sgZ290IHNsYXZlZCB0byB0aGUgcGlwZWxpbmUgY2xvY2sgYW5kIHJlY2VpdmVkIHRoZSBmaXJzdAoJICBvYnNlcnZhdGlvbiwgYnV0IHVudGlsIHRoZW4gaXQgd2lsbCByZXR1cm4gYm9ndXMgdmFsdWVzLiBCdXQgYXMgYm90aCByZXR1cm4KCSAgZXhhY3RseSB0aGUgc2FtZSB2YWx1ZXMsIHdlIGNhbiBhcyB3ZWxsIHVzZSB0aGUgcGlwZWxpbmUgY2xvY2sgZGlyZWN0bHkuCgoyMDE1LTAyLTA4IDE0OjMyOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IHNldCBlbGVtZW50IGZhY3RvcnkgZGV0YWlscwoJICBUaGlzIGlzIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MsIG5vdCBhbiBlbGVtZW50LgoKMjAxNS0wMi0wOCAwMToxOTo0MiArMTEwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IHNvbWUgb3B0aW1pemF0aW9ucwoJICBEZXRlY3QgaW52aXNpYmxlIHBpeGVscywgYW5kIHNraXAgZ3N0c3B1X3ZvYnN1Yl9ibGVuZF9jb21wX2J1ZmZlcnMoKQoJICB3aGVuIHRoZXJlIGFyZSBvbmx5IGludmlzaWJsZSBwaXhlbHMuICBUaGlzIHNpZ25pZmljYW50bHkgcmVkdWNlcyB0aGUKCSAgQ1BVIGxvYWQgaW4gY2FzZXMgb2YgRFZEcyB3aGljaCBkb24ndCB1c2UgdGhlIGNsaXBfcmVjdCB0byBleGNsdWRlCgkgIHByb2Nlc3NpbmcgZm9yIHBhcnRzIG9mIHRoZSBzY3JlZW4gd2hlcmUgdGhlIHZpZGVvIGlzIHZpc2libGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjEKCjIwMTUtMDItMDggMDU6MDY6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBdm9pZCB3YXJuaW5nIGlmIHRoZSB2aWRlbyBmb3IgYSBzdGlsbCBmcmFtZSBhcnJpdmVzIGFmdGVyIHRoZSBTUFUKCSAgV2hlbiB3ZSBkb24ndCBoYXZlIGEgc2VnbWVudCBvbiB0aGUgdmlkZW8gcGFkIHlldCBkdXJpbmcgYSBzdGlsbCBmcmFtZQoJICBkb24ndCBmcmVhayBvdXQuCgoyMDE1LTAyLTA4IDA0OjUxOjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgbWVhbmluZ2xlc3Mgc2VnbWVudCBwb3NpdGlvbiBkb3duc3RyZWFtCgkgIERvbid0IHBsYWNlIGEgbWVhbmluZ2xlc3MgdmFsdWUgaW4gdGhlIHBvc2l0aW9uIGZpZWxkIGluCgkgIG91dGdvaW5nIHNlZ21lbnRzIC0gdmFsdWVzIGhhdmUgdG8gYmUgaW4gdGhlIHJhbmdlIHN0YXJ0LT5zdG9wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTU4CgoyMDE1LTAyLTA2IDE2OjIyOjI2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIFJldmVydCAiYWlmZnBhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBkYXRhIGJlZm9yZSBoYW5kbGluZyBzaW5rIGV2ZW50IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE0YmFhYmI0OGQyNTIyMTRkMzgzM2I1MDJjNzkwM2Q5ZjE1ZjM1MDIuCgoyMDE1LTAyLTA2IDE1OjEwOjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogbWFrZSBzdXJlIHdlIGhhdmUgZGF0YSBiZWZvcmUgaGFuZGxpbmcgc2luayBldmVudAoJICBDaGVjayBBSUZGX1BBUlNFX0RBVEEgaXMgVHJ1ZSBiZWZvcmUgaGFuZGxpbmcgc2luayBldmVudCwgaWYgbm90IGdvdG8gZXhpdC4KCjIwMTUtMDItMDUgMTU6NTc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IHJlbW92ZSBub3ctdW51c2VkIGJhc2VfdGltZSBmaWVsZCBpbiBvYmplY3Qgc3RydWN0dXJlCgoyMDE1LTAyLTA2IDEwOjU5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTdHJlYW1saW5lIGxhdGVuY3kgY2FsY3VsYXRpb25zCgkgIE1pbiBsYXRlbmN5IGNhbiBuZXZlciBiZSBpbnZhbGlkLCBsYXRlbmN5IHByb3BlcnR5IGNhbiBuZXZlciBiZSBpbnZhbGlkCgkgIGVpdGhlci4gU28gbm8gbmVlZCB0byBjaGVjayBmb3IgYWxsIHRoZXNlIHRoaW5ncyBpbiB2YXJpb3VzIHBsYWNlcy4KCjIwMTUtMDItMDYgMTA6MzY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IElmIHVwc3RyZWFtIGhhcyBubyBtYXggbGF0ZW5jeSBidXQgdGhlIHN1YmNsYXNzIGhhcywgdGFrZSB0aGUgc3ViY2xhc3MgbWF4IGxhdGVuY3kKCjIwMTUtMDItMDYgMTA6MzM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBtaW4+bWF4IGxhdGVuY3kgZXJyb3IgY2hlY2sKCSAgV2UgaGF2ZSB0byBpbmNsdWRlIHRoZSB1cHN0cmVhbSBsYXRlbmN5LCBvdXIgb3duIGxhdGVuY3kgYW5kIHRoZSBzdWJjbGFzcwoJICBsYXRlbmN5IGluIHRoZSBjYWxjdWxhdGlvbnMuCgkgIEZJWE1FOiBUaGlzIGlzIHN0aWxsIG5vdCBlbnRpcmVseSBjb3JyZWN0CgoyMDE1LTAyLTA2IDEwOjMwOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBhZGQgdGhlIGxhdGVuY3kgcHJvcGVydHkgdG8gdGhlIG1heCBsYXRlbmN5CgkgIEl0IGhhcyBubyBtZWFuaW5nIGZvciB0aGUgbWF4IGxhdGVuY3kgYW5kIGlzIG9ubHkgdXNlZCB0byBpbmNyZWFzZSB0aGUgbWluCgkgIGxhdGVuY3kuCgoyMDE1LTAyLTA2IDEyOjUzOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3Zhby5oOgoJICBnbHByb3RvL3Zhbzogb25seSBzdXBwb3J0ZWQgaW4gY29yZSBmb3IgRVMgMy4wKwoJICBXYXMgY2F1c2luZyBob3Jpem9udGFsbHkgZmxpcHBlZCB2aWRlbyBmb3IgZnJhbWUgMiBvbndhcmQgb24gYW5kcm9pZAoKMjAxNS0wMi0wNSAxMzozMToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWxhY2UgcGFyc2VkIHdpdGggZnJhbWVkIGluIGFhYyBjYXBzCgkgIEZvciBBQUMgaXQgc2hvdWxkIGFsd2F5cyBiZSAnZnJhbWVkJyBhbmQgbm90ICdwYXJzZWQnCgoyMDE1LTAyLTA1IDExOjM5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBvdXRwdXQgY2FwcyB0byBuZWdvdGlhdGUgd2l0aCBzb21lIG11eGVycwoJICBBZGQgcGFyc2VkL2ZyYW1lZD10cnVlIHRvIGFsbG93IG5lZ290aWF0aW9uIHdpdGggc29tZQoJICBtdXhlcnMgdGhhdCByZXF1aXJlZCBwYXJzZWQgaW5wdXQuIEVuY29kZXJzIGFscmVhZHkgcHJvdmlkZQoJICBwYXJzZWQvZnJhbWVkIG91dHB1dCBzbyBpdCBzaG91bGQgc2F5IHNvIGluIGNhcHMuCgoyMDE1LTAyLTA1IDE1OjQ4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogY29tcG9zaXRvcjogYWRkIHVuaXQgdGVzdCBmb3IgcHJvcGVyIHNlZ21lbnQuYmFzZSBoYW5kbGluZwoJICBBcyBhZGp1c3RlZCBieSBnc3RfcGFkX3NldF9vZmZzZXQoKSwgb3Igd2hlbiBkb2luZyBzZWdtZW50IHNlZWtzCgkgIG9yIGxvb3BpbmcgZm9yIGV4YW1wbGUuCgoyMDE1LTAyLTA1IDE1OjIzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogYXVkaW9taXhlcjogYWRkIHVuaXQgdGVzdCBmb3IgcHJvcGVyIHNlZ21lbnQuYmFzZSBoYW5kbGluZwoJICBBcyBhZGp1c3RlZCBieSBnc3RfcGFkX3NldF9vZmZzZXQoKSwgb3Igd2hlbiBkb2luZyBzZWdtZW50IHNlZWtzCgkgIG9yIGxvb3BpbmcgZm9yIGV4YW1wbGUuIFNlZSBwcmV2aW91cyBhdWRpb21peGVyIGNvbW1pdC4KCjIwMTUtMDItMDUgMTY6MDI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbW92ZSB3ZWlyZCBhbmQgd3Jvbmcgc2VnbWVudCBoYW5kbGluZwoJICBUaGVyZSdzIG5vIHJlYXNvbiB3aHkgYXVkaW9taXhlciBzaG91bGQgb3ZlcnJpZGUgdGhlIHNlZ21lbnQKCSAgYmFzZSBvZiB1cHN0cmVhbSB3aXRoIHdoYXRldmVyIHZhbHVlIGl0IGdvdCBmcm9tIGEgU0VFSyBldmVudCwKCSAgb3IgZXZlbiB3b3JzZS4uLiB3aXRoIDAgaWYgdGhlcmUgd2FzIG5vIFNFRUsgZXZlbnQgeWV0LiBUaGlzCgkgIGJyb2tlIHN5bmNocm9uaXphdGlvbiBpZiB1cHN0cmVhbSBwcm92aWRlZCBhIHNlZ21lbnQgYmFzZSBvdGhlcgoJICB0aGFuIDAsIGUuZy4gd2hlbiB1c2luZyBwYWQgb2Zmc2V0cy4KCSAgQWxzbyB0aGF0IHRoaXMgY29kZSBkaWQgdGhpbmdzIGNvbmRpdGlvbmFsIG9uIHRoZSBlbGVtZW50J3Mgc3RhdGUKCSAgc2hvdWxkJ3ZlIGJlZW4gYSBiaWcgd2FybmluZyBhbHJlYWR5IHRoYXQgc29tZXRoaW5nIGlzIGp1c3Qgd3JvbmcuCgkgIElmIHRoaXMgYnJlYWtzIGFueXRoaW5nIGVsc2Ugbm93LCBsZXQncyBmaXggaXQgcHJvcGVybHkgOikKCSAgQWxzbyBkb24ndCBkbyBmYW5jeSBzZWdtZW50IHBvc2l0aW9uIHRyaWNrZXJ5IHdoZW4gcmVjZWl2aW5nIGEKCSAgc2VnbWVudCBldmVudC4gSXQncyBqdXN0IG5vdCBjb3JyZWN0LgoKMjAxNS0wMi0wNSAxMjoyNDowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBPbmx5IHByZS1yb2xsIGEgc2luZ2xlIGJ1ZmZlcgoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gcHJlLXJvbGwgbW9yZSBidWZmZXJzIGhlcmUgYXMgd2UgaGF2ZSBvdXIgb3duIHJpbmdidWZmZXIKCSAgd2l0aCBtb3JlIHNlZ21lbnRzIGFyb3VuZCBpdCwgYW5kIHdlIGNhbiBpbW1lZGlhdGVseSBwcm92aWRlIG1vcmUgYnVmZmVycyB0bwoJICBPcGVuU0wgRVMgd2hlbiBpdCByZXF1ZXN0cyB0aGF0IGZyb20gdGhlIGNhbGxiYWNrLgoJICBQcmUtcm9sbGluZyBhIHNpbmdsZSBidWZmZXIgYmVmb3JlIHN0YXJ0aW5nIGlzIG5lY2Vzc2FyeSB0aG91Z2gsIGFzIG90aGVyd2lzZQoJICB3ZSB3aWxsIG9ubHkgb3V0cHV0IHNpbGVuY2UuCgkgIExvd2VycyBsYXRlbmN5IGEgYml0LCBkZXBlbmRpbmcgb24gbGF0ZW5jeS10aW1lIGFuZCBidWZmZXItdGltZSBzZXR0aW5ncy4KCjIwMTUtMDItMDUgMTI6MjI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogQWxsb2NhdGUgYXQgbW9zdCA0IGludGVybmFsIGJ1ZmZlcnMKCSAgNCBpcyB0aGUgInR5cGljYWwiIG51bWJlciBvZiBidWZmZXJzIGRlZmluZWQgYnkgQW5kcm9pZCdzIE9wZW5TTCBFUwoJICBpbXBsZW1lbnRhdGlvbiwgYW5kIGl0cyBjb2RlIGlzIG9wdGltaXplZCBmb3IgdGhpcy4gQWxzbyBiZWNhdXNlIHdlCgkgIGhhdmUgb3VyIG93biByaW5nYnVmZmVyIGFyb3VuZCB0aGlzLCB3ZSB3aWxsIGFsd2F5cyBoYXZlIGVub3VnaAoJICBidWZmZXJpbmcgb24gb3VyIHNpZGUgYWxyZWFkeS4KCSAgQWxsb3dzIGZvciBtb3JlIGVmZmljaWVudCBwcm9jZXNzaW5nLgoKMjAxNS0wMi0wNSAxMjoyMTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzc2luay9zcmM6IExvd2VyIGRlZmF1bHQgYnVmZmVyIHRpbWUgdG8gMjAwbXMgbGlrZSBhbHNhc2luawoKMjAxNS0wMi0wNSAxNjo0NjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBlbnN1cmUgdGhhdCB0aGUgaW5wdXQgdXBsb2FkL2NvbG9yY29udmVydCBhcmUgYWx3YXlzIGF2YWlsYWJsZQoKMjAxNS0wMi0wNSAxMTowNjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBsb2cgdGhlIGNvbnZlcnRlZCBjYXBzCgoyMDE1LTAyLTA1IDExOjA1OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlc3RyaWN0IEVHTCBhbmQgVXBsb2FkTWV0YSB0byBSR0JBCgkgIG90aGVyIGZvcm1hdHMgYXJlIGhpZ2hseSB1bnRlc3RlZC4KCjIwMTUtMDItMDUgMTE6MDQ6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZG9uJ3QgaW50ZXJzZWN0IHdpdGggdGhlIGlucHV0IGNhcHMKCSAgdGhhdCBsaW1pdHMgb3VyIGZvcm1hdHMgdG8gd2hhdGV2ZXIgaXMgaW4gdGhlIGlucHV0IGNhcHMKCjIwMTUtMDItMDQgMTQ6MTA6MTMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGZpeCBtZW1vcnkgbGVhawoJICBJbiBnc3RfZ2xfZmlsdGVyX2ZpeGF0ZV9jYXBzICgpIGl0IGNhbiBnb3RvIGRvbmUgd2l0aG91dCBmcmVlaW5nIHRoZSBtZW1vcnkgb2YKCSAgdGhlIHRtcCBHc3RTdHJ1Y3R1cmUuIFRoaXMgbWFrZXMgaXQgZ28gb3V0IG9mIHNjb3BlIGFuZCBsZWFrLgoJICBDSUQgIzEyNjU3NjUKCjIwMTUtMDItMDQgMTE6NTI6MjYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGluaXRpYWxpemUgY2xhc3MgdmFyaWFibGVzCgkgIFNvbWUgdmFyaWFibGVzIGFyZSBub3QgaW5pdGlhbGl6ZWQgaW4gdGhlIGNvbnN0cnVjdG9yLiBJdCBpcyBoaWdobHkgdW5saWtlbHkKCSAgdGhleSBhcmUgdXNlZCBiZWZvcmUgYmVpbmcgc2V0LCBidXQgaXQgaXMgc2FmZXIgdG8gaW5pdGlhbGl6ZSB0aGVtLgoJICBDSUQgIzExOTc3MDQKCjIwMTUtMDItMDMgMTg6MTM6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAga3N2aWRlb3NyYzogRml4IG1pc3NpbmcgYnJhY2Ugd2FybmluZwoJICBUaGVyZSBpcyBtb3JlIGJ1dCBpdCdzIGZyb20ga3MuaCBHVUlEIGluaXRpYWxpemVyLCB3aGljaCBpcyBzaGlwcGVkCgkgIHRoaXMgd2F5IHdpdGggbWluZ3cuCgoyMDE1LTAyLTAzIDE3OjQ0OjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nCgkgIFRoZSBwc2V1ZG8gYnVmZmVyIHBvb2wgY29kZSB3YXMgdXNpbmcgZ3N0X2J1ZmZlcl9pc193cml0YWJsZSgpCgkgIGFsb25lIHRvIHRyeSBhbmQgZmlndXJlLW91dCBpZiBjYWNoZWQgYnVmZmVyIGNvdWxkIGJlIHJldXNlZC4KCSAgSXQgbmVlZHMgdG8gY2hlY2sgZm9yIG1lbW9yeSB3cml0YWJpbGl0eSB0b28uIEFsc28gY2hlY2sgbWFwCgkgIHJlc3VsdCBhbmQgZml4IG1hcCBmbGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NAoKMjAxNS0wMi0wMyAxNzowNTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBsZWFraW5nIGZvcmNlIGtleXVuaXQgZXZlbnQgd2hlbiBnb2luZyB0byBOVUxMCgkgIERvIG5vdCBzZXQgdG8gTlVMTCBiZWZvcmUgdW5yZWZmaW5nIHRoZSBldmVudCBvciBpdCB3aWxsIGxlYWsKCjIwMTMtMDMtMTggMDg6MTU6MDAgKzAwMDAgIEFudG9uIEdyaXRzYXkgPGFudG9uQGFuZ3JpLnJ1PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwYXJzZSBmb3JjZSBrZXkgdW5pdCBldmVudHMgd2l0aCB0aGUgY29ycmVjdCBmdW5jdGlvbgoJICBPdGhlcndpc2UgaXQgd29uJ3QgYmUgcGFyc2VkIGFuZCBib2d1cyB2YWx1ZXMgd291bGQgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjAzMgoKMjAxNS0wMS0yNiAyMDo0MjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogcmVtb3ZlIHVwZGF0ZSBzZWdtZW50IGxvZ2ljCgkgIFRoaXMgaXMgbm90IG5lZWRlZCBpbiAxLnggc2VyaWVzIGFueW1vcmUKCjIwMTUtMDItMDMgMTA6NTk6MTYgLTAzMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG9uJ3QgbWFyayBzdHJlYW1zIGFzIG5lZWRpbmcgYSBuZXcgc2VnbWVudCBvbiBmbHVzaAoJICBUaGUgZmx1c2ggaXMgY2FsbGVkIG9uIGRpc2NvbnQgYW5kIHdlIHNob3VsZG4ndCBvdXRwdXQgYSBuZXcgc2VnbWVudAoJICBlYWNoIHRpbWUgYSBkaXNjb250IGhhcHBlbnMuIFNvIHRoaXMgY29tbWl0IHJlbW92ZSB0aGUgbWFyayBmb3IgYSBuZXcKCSAgc2VnbWVudCB3aGVuIGZsdXNoaW5nIHN0cmVhbXMgYnkgcHJvcGFnYXRpbmcgdGhlICdoYXJkJyBmbGFnIHBhc3NlZAoJICBvbiB0aGUgZmx1c2luZyBmcm9tIHRoZSBiYXNlIGNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzYzCgoyMDE1LTAyLTAzIDE3OjMyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGNvcmV2aWRlb3RleHR1cmVjYWNoZTogQWRkIHNvbWUgYXNzZXJ0aW9ucyBpbnN0ZWFkIG9mIGp1c3QgZGVyZWZlcmVuY2luZyBOVUxMCgoyMDE1LTAyLTAzIDE3OjI5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGNvcmV2aWRlb3RleHR1cmVjYWNoZTogRG9uJ3QgdW5jb25kaXRpb25hbGx5IHVzZSB0aGUgQ29yZU1lZGlhIG1ldGEgb24gaU9TCgkgIFdlIG1pZ2h0IGluc3RlYWQgaGF2ZSBhIENvcmVWaWRlbyBtZXRhLgoKMjAxNS0wMi0wMyAxNDo1NTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgVW5kbyBhY2NpZGVudGFsIGNvbW1vbiBtb2R1bGUgcmV3aW5kCgkgIGluIGNvbW1pdCA3ZDQ2MzU3NgoKMjAxNS0wMi0wMyAxNTozODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGZyYW1lcyB3aGVuIGRyYWluaW5nL2ZsdXNoaW5nCgoyMDE1LTAyLTAzIDE1OjMwOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcmVtb3ZlIHRoZSBlZ2wgY2FwcyBmcm9tIHRoZSBzcmMgcGFkcwoJICB3ZSBkb24ndCBhY3R1YWxseSBzdXBwb3J0IHByb2R1Y2luZyBFR0xJbWFnZSBidWZmZXJzIGFueXdoZXJlLgoKMjAxNS0wMi0wMyAxMzozMjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcHV0IEdzdEdMU3luY01ldGEgb24gb3V0cHV0IGJ1ZmZlcnMKCSAgYWxsb3dzIHRocmVhZCBzYWZlbHkgdXNpbmcgdGhlIHByb3ZpZGVkIG91dHB1dCBidWZmZXIgaW4gYSBzZXBhcmF0ZQoJICB0aHJlYWQKCjIwMTUtMDItMDMgMDA6MzU6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogb25seSB0cnkgdGhlIGdsbWVtb3J5IHVwbG9hZCBmb3Igc3lzbWVtL2dsbWVtb3J5IGNhcHMgZmVhdHVyZXMKCSAgQWxsb3dzIHNlbGVjdGluZy90ZXN0aW5nIHRoZSB1cGxvYWQgcGF0aCB3aXRoIGV4cGxpY2l0IGNhcHMgZmVhdHVyZXMuCgoyMDE1LTAyLTAzIDAwOjI2OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBtaXNzaW5nIGluaXRpbGlzYXRpb24gb2YgdGV4X3RhcmdldCB3aGVuIGNvcHlpbmcKCSAgZml4ZXM6CgkgIGdsY29sb3JzY2FsZSAhIHZpZGVvL3gtcmF3XChtZXRhOkdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YVwpICEKCSAgZ2xpbWFnZXNpbmsKCjIwMTUtMDItMDMgMDA6MTU6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogYWxsb3cgTlVMTCBidWZmZXIgZm9yIGFjY2VwdCB2ZnVuYwoKMjAxNS0wMi0wMyAwMDoxMzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZW1vdmUgdW5zZWQgY29udmVydCBmaWVsZCBpbiBwcml2YXRlIHN0cnVjdAoKMjAxNS0wMi0wMyAwMDoxMTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHVwbG9hZC9kb3dubG9hZC9jb252ZXJ0OiBwcm92aWRlIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9ucwoJICBBbGxvd3MgZmluZXIgZ3JhaW4gZGVjaXNpb25zIGFib3V0IGZvcm1hdHMgYW5kIGZlYXR1cmVzIGF0IGVhY2gKCSAgc3RhZ2Ugb2YgdGhlIHBpcGVsaW5lLgoJICBBbHNvIHByb3ZpZGUgcHJvcG9zZV9hbGxvY2F0aW9uIGZvciBnbHVwbG9hZCBiZXNlZCBvbiB0aGUgc3VwcG9ydGVkCgkgIG1ldGhvZHMuCgoyMDE1LTAyLTAzIDExOjA3OjU4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdzdGdsd2luZG93X2NvY29hOiBmaXggc2xvdyByZW5kZXIgcmF0ZQoJICBJbiBnc3RfZ2xfd2luZG93X2NvY29hX2RyYXcgd2UgdXNlZCB0byBqdXN0IGNhbGwgc2V0TmVlZHNEaXNwbGF5OllFUy4gVGhhdCB3YXMKCSAgY3JlYXRpbmcgYW4gaW1wbGljaXQgQ0EgdHJhbnNhY3Rpb24gd2hpY2ggd2FzIGdldHRpbmcgY29tbWl0dGVkIGF0IHRoZSBuZXh0CgkgIHJ1bmxvb3AgaXRlcmF0aW9uLiBTaW5jZSB3ZSBkb24ndCBrbm93IGhvdyBvZnRlbiB0aGUgbWFpbiBydW5sb29wIGlzIHJ1bm5pbmcsCgkgIGFuZCB3aGVuIHdlIHJ1biBpdCBpbXBsaWNpdGx5IChmcm9tIGdzdF9nbF93aW5kb3dfY29jb2FfbnNhcHBfaXRlcmF0aW9uKSB3ZSBvbmx5CgkgIGRvIHNvIGV2ZXJ5IDIwMG1zLCB1c2UgYW4gZXhwbGljaXQgQ0EgdHJhbnNhY3Rpb24gaW5zdGVhZCBhbmQgY29tbWl0IGl0CgkgIGltbWVkaWF0ZWx5LiBDQSB0cmFuc2FjdGlvbnMgbmVzdCBhbmQgZGVib3VuY2UgYXV0b21hdGljYWxseSBzbyB0aGlzIHdpbGwgbmV2ZXIKCSAgcmVzdWx0IGluIGV4dHJhIHdvcmsuCgoyMDE1LTAyLTAyIDIzOjQwOjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkgIGdzdGdsY2FvcGVuZ2xsYXllcjogdXNlIHRoZSBjb3JyZWN0IHJlY3RhbmdsZSB0eXBlIGZvciBpT1MgYW5kIE9TIFgKCjIwMTUtMDItMDIgMjE6MDc6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogdXNlIHRoZSBjb3JyZWN0IGNhcHMgZmVhdHVyZSBmb3Igc3VwcG9ydGVkIGNhcHMKCSAgZ2xjb2xvcmNvbnZlcnQgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgY29udmVydGluZyBiZXR3ZWVuIEdMTWVtb3J5CgkgIHRhcmdldHMuCgoyMDE1LTAyLTAyIDIwOjUxOjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBkb24ndCB1c2UgdGhlIGdzdCBkZWJ1ZyBvYmplY3QgdmFyaWFudHMKCSAgV2UgYXJlIG5vdCBhIEdPYmplY3Qgb3IgYW55IGluZmVyYWJsZSBHc3RNaW5pT2JqZWN0IHN1cHBvcnRlZCBieQoJICB0aGUgZ3N0IGRlYnVnIHN5c3RlbS4gIEFsc28gZml4ZXMgYSBzZWdmYXVsdC4KCjIwMTUtMDEtMzAgMTg6NTE6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IHVwZGF0ZSB1bml0IHRlc3QgZm9yIGdsbWVtb3J5IGFwaSBjaGFuZ2UKCjIwMTUtMDEtMzAgMTU6MTM6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGNsb2JiZXIgdGhlIGFscGhhIGNoYW5uZWwgYnkgZGVmYXVsdAoJICB0aGlzIGNhbiBiZSBkaXNhYmxlZCB3aXRoIHRoZSBpZ25vcmUtYWxwaGEgcHJvcGVydHkKCjIwMTUtMDEtMzAgMTI6MzI6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBSZXZlcnQgImxpYmdzdGdsOiBnc3RnbGNhb3BlbmdsbGF5ZXI6IHNldCB0aGUgbGF5ZXIgYXMgb3BhcXVlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZmMTUyZDM4MWNhMjE1OTVjZGM4MjNmMzIzNDFjOGYyZmU3MWI5YzcuCgkgIFRoZSBsYXllciBzaG91bGRuJ3QgYmUgYWx3YXlzIG9wYXF1ZSwgaXQgc2hvdWxkIGJlIG1hZGUgYSBwcm9wZXJ0eS4KCjIwMTUtMDEtMzAgMTI6MjI6MjUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBsaWJnc3RnbDogZ3N0Z2xjYW9wZW5nbGxheWVyOiBzZXQgdGhlIGxheWVyIGFzIG9wYXF1ZQoKMjAxNS0wMS0yOSAxNjozMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgcG9zc2liaWxpdHkgb2Ygbm9uLUFwcGxlIFlDYkNyNDIyIHJlY3Rhbmd1bGFyIHRleHR1cmVzCgoyMDE1LTAxLTI5IDE2OjI2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBPbmx5IHVzZSBHTF9URVhUVVJFX1JFQ1RBTkdMRSB3aXRoIE9wZW5HTAoJICBJdCdzIG5vdCBkZWZpbmVkIGZvciBHTEVTLgoKMjAxNS0wMS0zMCAwMDoyODoxOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHJld29yayBHTCB0ZXh0dXJlIHNoYXJpbmcKCSAgVXNlIFlVViBpbnN0ZWFkIG9mIFJHQiB0ZXh0dXJlcywgdGhlbiBjb252ZXJ0IHVzaW5nIHRoZSBuZXcgYXBwbGUgc3BlY2lmaWMKCSAgc2hhZGVyIGluIEdzdEdMQ29sb3JDb252ZXJ0LiBBbHNvIHVzZSBHTE1lbW9yeSBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBHTCB1cGxvYWQgbWV0YSwgYXZvaWRpbmcgYW4gZXh0cmEgdGV4dHVyZSBjb3B5IHdlIHVzZWQgdG8gaGF2ZSBiZWZvcmUuCgoyMDE1LTAxLTI4IDAwOjUzOjU5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggQ01CbG9ja0J1ZmZlclJlZiBsZWFrCgkgIEZpeCBodWdlIGxlYWsgdGhhdCB3ZW50IHVubm90aWNlZCBmb3IgdG9vIGxvbmcuIE9vcHMuCgoyMDE1LTAxLTI4IDAwOjQ4OjI3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBsaWJnc3RnbDogcnVuIGEgY3VzdG9tIHNoYWRlciB0byBjb252ZXJ0IFlVViB0byBSR0Igb24gbWFjIGFuZCBpb3MKCSAgV2hlbiBHTF9BUFBMRV95Y2Jjcl80MjIgaXMgYXZhaWxhYmxlLCBydW4gYSBjdXN0b20gc2hhZGVyIHRvIGNvbnZlcnQKCSAgR0xfVEVYVFVSRV9SRUNUQU5HTEUgdGV4dHVyZXMgZnJvbSBZVVYgdG8gUkdCLgoJICBTZWUgaHR0cHM6Ly93d3cub3BlbmdsLm9yZy9yZWdpc3RyeS9zcGVjcy9BUFBMRS95Y2Jjcl80MjIudHh0CgoyMDE1LTAxLTI4IDAwOjQzOjA5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgY2FsbCBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzIHdoZW4gZG9pbmcgdGV4dHVyZSBzaGFyaW5nCgkgIFdoZW4gZG9pbmcgdGV4dHVyZSBzaGFyaW5nIHdlIGRvbid0IG5lZWQgdG8gY2FsbCBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzIHRvCgkgIG1hcCB0aGUgYnVmZmVyIGluIENQVS4gVGhpcyBjdXRzIGFib3V0IDEwJSByZWxhdGl2ZSBjcHUgdGltZSBmcm9tIGEgdnRkZWMgIQoJICBnbGltYWdlc2luayBwaXBlbGluZS4KCjIwMTUtMDEtMjggMDA6MTM6NDYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbDogaW5pdGlhbCBzdXBwb3J0IGZvciB0ZXh0dXJlIHRhcmdldHMgb3RoZXIgdGhhbiBHTF9URVhUVVJFXzJECgkgIE1ha2UgR3N0R0xNZW1vcnkgaG9sZCB0aGUgdGV4dHVyZSB0YXJnZXQgKHRleF90YXJnZXQpIHRoZSB0ZXh0dXJlIGl0IHJlcHJlc2VudHMKCSAgKHRleF9pZCkgaXMgYm91bmQgdG8uIE1vZGlmeSBnc3RfZ2xfbWVtb3J5X3dyYXBwZWRfdGV4dHVyZSBhbmQKCSAgZ3N0X2dsX2Rvd25sb2FkX3BlcmZvcm1fd2l0aF9kYXRhIHRvIHRha2UgdGhlIHRleHR1cmUgdGFyZ2V0IGFzIGFuIGFyZ3VtZW50LgoJICBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCB3cmFwcGluZyB0ZXh0dXJlcyBjcmVhdGVkIG91dHNpZGUgbGliZ3N0Z2wsCgkgIHdoaWNoIG1pZ2h0IGJlIGJvdW5kIHRvIGEgdGFyZ2V0IG90aGVyIHRoYW4gR0xfVEVYVFVSRV8yRC4gRm9yIGV4YW1wbGUgb24gT1NYCgkgIHRleHR1cmVzIGNvbWluZyBmcm9tIFZpZGVvVG9vbGJveCBoYXZlIHRhcmdldCBHTF9URVhUVVJFX1JFQ1RBTkdMRS4KCSAgV2l0aCB0aGlzIGNoYW5nZSB3ZSBzdGlsbCBrZWVwIChhbmQgc29tZXRpbWVzIGltcGx5KSBHTF9URVhUVVJFXzJEIGFzIHRoZQoJICB0YXJnZXQgb2YgdGV4dHVyZXMgY3JlYXRlZCB3aXRoIGxpYmdzdGdsLgoJICBBUEk6IG1vZGlmeSBHc3RHTE1lbW9yeQoJICBBUEk6IG1vZGlmeSBnc3RfZ2xfbWVtb3J5X3dyYXBwZWRfdGV4dHVyZQoJICBBUEk6IGdzdF9nbF9kb3dubG9hZF9wZXJmb3JtX3dpdGhfZGF0YQoKMjAxNS0wMS0yMiAxMzoxODoyMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ3N0Z2xjb2xvcmNvbnZlcnQ6IG1pY3JvIG9wdGltaXphdGlvbgoJICBEb24ndCBjYWxsIGdsQ2xlYXIgJiYgZ2xDbGVhckNvbG9yIGF0IGVhY2ggZHJhdyBzaW5jZSB3ZSdyZSBnb2luZyB0byBkcmF3IHRoZQoJICB3aG9sZSB2aWV3cG9ydCBhbnl3YXkuIEdldHMgcmlkIG9mIGEgZ2xGbHVzaCB0cmlnZ2VyZWQgYnkgZ2xDbGVhciBvbiBPU1guCgoyMDE1LTAxLTIyIDEzOjE3OjExICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IG1ha2UgbWFwcGluZyB0aGUgQ1ZQaXhlbEJ1ZmZlciBpbiBDUFUgb3B0aW9uYWwKCSAgTWFwcGluZyBpcyBub3QgbmVjZXNzYXJ5IGFuZCBpbXBhY3RzIHBlcmZvcm1hbmNlIHdoZW4gZG9pbmcgdGV4dHVyZSBzaGFyaW5nIHdpdGgKCSAgZG93bnN0cmVhbQoKMjAxNS0wMS0yMiAxMzoxMTo0NiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ3N0Z2xjb2xvcmNvbnZlcnQ6IHJlbGF4IGNhcHMgZmVhdHVyZXMgY2hlY2sKCSAgUmVxdWlyZSBjYXBzIHRvIGhhdmUgdGhlIEdTVF9DQVBTX0ZFQVRVUkVfTUVNT1JZX0dMX01FTU9SWSBmZWF0dXJlIGJ1dCBhbGxvdwoJICB0aGVtIHRvIGhhdmUgbW9yZSBmZWF0dXJlcy4KCjIwMTUtMDEtMjggMTY6NDM6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGNoYW5nZSBhdWRpbyBwcm9wZXJ0eSB0byBhdWRpby10eXBlCgkgIFRoaXMgaXMgbm93IGFuIGVudW0gd2l0aCB2YWx1ZXMgZ2VuZXJpYyAoZGVmYXVsdCkgYW5kIHZvaWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwODkxCgoyMDE1LTAxLTI5IDIzOjQ1OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2wvd2luMzI6IGZpeHVwIGNvbXBpbGF0aW9uCgoyMDE1LTAxLTI5IDExOjU0OjM1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIGRvdWJsZS1zZXR0aW5nIG9mIHJlbmRlciBmdW5jdGlvbgoJICBObyBuZWVkIHRvIHNldCB0aGUgYXVkaW92aXN1YWxpemVyLT5yZW5kZXIgZnVuY3Rpb24gdHdpY2UuIE9uY2UgaXMgZW5vdWdoLgoKMjAxNS0wMS0yOSAyMjoyNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogbWFrZSBzaG93aW5nIGEgd2luZG93IGV4cGxpY2l0CgkgIEFsc28gZml4ZXMgdGhlIGNnbCBjb250ZXh0IGFsd2F5cyBkaXNwbGF5aW5nIGEgd2luZG93IHRvIHJlbmRlciB0byBmb3IKCSAgZXZlcnkgR3N0R0xDb250ZXh0Q29jb2EgY3JlYXRlZAoKMjAxNS0wMS0yNiAxNzowNjoyOSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDbGVhbnVwIGxvY2tpbmcgYXJvdW5kIEFnZ3JlZ2F0b3JQYWQgZmx1c2ggcmVsYXRlZCBmaWVsZHMKCSAgQW5kIGRvY3VtZW50IHRoZSBsb2NraW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTM6MTE6MDUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjoga2VlcCBjaGFpbiBmdW5jdGlvbnMgYXMgZHVtYiBhcyBwb3NzaWJsZS4KCSAgKyBBIHBhZCBjaGFpbiBmdW5jdGlvbiBoYXMgbm8gYnVzaW5lc3MgY2hlY2tpbmcgb3RoZXIgcGFkcywKCSAgdGhhdCdzIHdoYXQgdGhlIGFnZ3JlZ2F0ZSB0aHJlYWQgaXMgZm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDExOjMyOjQ3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTW9yZSBmaXhlcyBhcm91bmQgbG9ja2luZyB3aGVuIGFjY2Vzc2luZyBwcm90ZWN0ZWQgcHJpdmF0ZSBmaWVsZHMKCSAgSW4gc29tZSBtb3JlIHBsYWNlcyB3ZSB3ZXJlIGFjY2Vzc2luZyBHc3RBZ2dyZWdhdG9yLT5zZWdtZW50CgkgIGFuZCBHc3RBZ2dyZWdhdG9yLT5zZXFudW0gd2l0aG91dCBob2xkaW5nIHRoZSBHU1RfT0JKRUNUX0xPQ0sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMToyOTowOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogTWFrZSB0aGUgUEFEX0xPQ0sgcHJpdmF0ZQoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBHU1RfT0JKRUNUX0xPQ0sgd2Ugc2hvdWxkIGhhdmUKCSAgYSBkZWRpY2F0ZWQgbXV0ZXggZm9yIHRoZSBwYWQgYXMgaXQgaXMgYWxzbyBhc3NvY2lhdGVkCgkgIHdpdGggdGhlIG11dGV4IG9uIHRoZSBFVkVOVF9NVVRFWCBvbiB3aGljaCB3ZSB3YWl0CgkgIGluIHRoZSBfY2hhaW4gZnVuY3Rpb24gb2YgdGhlIHBhZC4KCSAgVGhlIEdzdEFnZ3JlZ2F0b3JQYWQuc2VnbWVudCBpcyBzdGlsbCBwcm90ZWN0ZWQgd2l0aCB0aGUKCSAgR1NUX09CSkVDVF9MT0NLLgoJICBSZW1vdmUgdGhlIGdzdF9hZ2dyZWdhdG9yX3BhZF9wZWFrX3VubG9ja2VkIG1ldGhvZCBhcyBpdCBkb2VzIG5vdCBtYWtlCgkgIHNlbnNlIGFueW1vcmUgd2l0aCBhIHByaXZhdGUgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMToyNTo1NCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSGlkZSBHc3RBZ2dyZWdhdG9yUGFkIGJ1ZmZlciBhbmQgRU9TIGZpbGVkcwoJICBBbmQgYWRkIGEgZ2V0dGVyIGZvciB0aGUgRU9TLgoJICBUaGUgdXNlciBzaG91bGQgYWx3YXlzIHVzZSB0aGUgdmFyaW91cyBnZXR0ZXJzIHRvIGFjY2VzcwoJICB0aG9zZSBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTowOToxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTWFrZSBmbHVzaCBzdGFydC9zdG9wIHRlc3Qgbm9uLXJhY3kKCSAgVGhlIGZsdXNoIHN0b3AgY291bGQgaGF2ZSBoYXBwZW5lZCBiZXR3ZWVuIHRoZSBzb3VyY2UgdHJ5aW5nCgkgIHRvIHB1c2ggdGhlIHNlZ21lbnQgZXZlbnQgYW5kIHRoZSBidWZmZXIsIHRoaXMgd291bGQgY2F1c2UgYSB3YXJuaW5nLgoJICBQcmV2ZW50IHRoYXQgYnkgdGFraW5nIHRoZSBzb3VyY2UncyBzdHJlYW0gbG9jayB3aGlsZSBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMiAxNzo0MToyNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVwbGFjZSByYWN5IHRpbWVvdXQgYmFzZWQgdGVzdGVkIHdpdGggZHJhaW4gcXVlcnkKCSAgVXNpbmcgdGhlIGRyYWluIHF1ZXJ5LCB3ZSBjYW4gYmUgY2VydGFpbiB0aGF0IHRoZSBidWZmZXIgaGFzIGRvbmUgZ29pbmcKCSAgdGhyb3VnaCB0aGUgYWdncmVnYXRvciBieSB0YWtpbmcgdGhlIHN0cmVhbSBsb2Nrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0MTo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbG9ja2luZyBvZiBHc3RBZ2dyZWdhdG9yUHJpdmF0ZSBtZW1iZXJzCgkgIE1vc3Qgb2YgdGhlbSBhcmUgcHJvdGVjdGVkIGJ5IHRoZSBvYmplY3QgbG9jaywgc3BlY2lmeQoJICB3aGljaCBvbmVzIHVzZSBhIGRpZmZlcmVudCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQ3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBob3cgdGhlIHNlZ21lbnQgaXMgcHJvdGVjdGVkCgkgIERvY3VtZW50IHRoYXQgaXQgY2FuIG9ubHkgYmUgYWNjZXNzZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6NDQ6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgYWxsIGxhdGVuY3kgcmVsYXRlZCBtZW1iZXJzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoZSBsb2NraW5nIHdhcyBub3QgY29uc2lzdGVudCwgbm93IGNvbnNpc3RlbnRseSB1c2UgdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjQzOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbG9ja2luZyBmb3IgZ3N0X2FnZ3JlZ2F0b3JfZ2V0X2xhdGVuY3lfdW5sb2NrZWQoKQoJICBSZW5hbWVkIGl0IHRvIF91bmxvY2tlZCgpIHRvIG1ha2UgaXQgY2xlYXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MzU6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgdGhlIHNyY3BhZCBjYXBzIG5lZ290aWF0aW9uIHdpdGggdGhlIHN0cmVhbSBsb2NrCgkgIEluc3RlYWQgb2YgYWRkaW5nIGFub3RoZXIgbG9jaywgdXNlIHRoZSBzcmNwYWQgc3RyZWFtIGxvY2ssIHdoaWNoIGlzIGFscmVhZHkKCSAgdGFrZW4gYW55d2F5IHRvIHB1c2ggb3V0IHRoZSBuZXcgY2FwcyBpZiBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MzM6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgdGhlIHRhZ3Mgd2l0aCB0aGUgb2JqZWN0IGxvY2sKCSAgVGhlIHRhZ3MgcmVsYXRlZCB2YXJpYWJsZXMgd2VyZSBzb21ldGltZXMgcHJvdGVjdGVkLCBzb21ldGltZXMgbm90IGFuZAoJICBzb21ldGltZXMgYXRvbWljLiBQdXQgdGhlbSBhbGwgdW5kZXIgdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjMyOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBdm9pZCByYWNlIGluIGNhcHMgbmVnb3RpYXRpb24KCSAgV2l0aCB0aGUgY3VycmVudCBhdWRpb21peGVyLCB0aGUgaW5wdXQgY2FwcyBuZWVkIHRvIGJlIHRoZSBzYW1lLAoJICBvdGhlcndpc2UgdGhlcmUgaXMgYW4gdW5hdm9pZGFibGUgcmFjZSBpbiB0aGUgY2FwcyBuZWdvdGlhdGlvbi4gU28KCSAgZW5mb3JjZSB0aGF0IHVzaW5nIGNhcHNmaWx0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NTM6MjAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENvbnNpc3Rlbmx5IGxvY2sgdGhlIGZsb3dfcmV0dXJuIHN0YXRlCgkgIFVzZSB0aGUgb2JqZWN0J3MgbG9jayB0byBwcm90ZWN0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQ3OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBDbGVhciBHc3RBdWRpb0luZm8gdGhlIHRoZSBjYXBzCgkgIFdoZW4gY2xlYXJpbmcgdGhlIGNhcHMsIGFsc28gY2xlYXIgdGhlIG1hdGNoaW5nIEdzdEF1ZGlvSW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQ1OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDb25zaXN0ZW50bHkgbG9jayBzb21lIG1lbWJlcnMKCSAgU29tZSBtZW1iZXJzIHNvbWV0aW1lcyB1c2VkIGF0b21pYyBhY2Nlc3MsIHNvbWV0aW1lcyB3aGVyZSBub3QgbG9ja2VkIGF0CgkgIGFsbC4gSW5zdGVhZCBjb25zaXN0ZW50bHkgdXNlIGEgbXV0ZXggdG8gcHJvdGVjdCB0aGVtLCBhbHNvIGRvY3VtZW50CgkgIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6Mzk6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvbid0IHJlc2V0IGNhcHMgb24gZmx1c2gKCSAgQSBmbHVzaCBldmVudCBkb2Vzbid0IGludmFsaWRhdGUgdGhlIHByZXZpb3VzIGNhcHMgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMTQgMTQ6NDU6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTG9jayBhY2Nlc3MgdG8gbWVtYmVycyBvZiBHc3RBZ2dyZWdhdG9yUGFkCgkgIFRha2UgdGhlIHBhZCdzIG9iamVjdCBsb2NrIGJlZm9yZSBhY2Nlc3NpbmcgbWVtYmVycyBvZiB0aGUKCSAgR3N0QWdncmVnYXRvclBhZCBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMTQgMTQ6Mzg6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCBleHBvcnRlZCBwYWQgbWVtYmVycyB3aXRoIHRoZSBwYWQncyBvYmplY3QgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTE0IDE0OjM1OjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogUmVwbGFjZSBldmVudCBsb2NrIHdpdGggcGFkJ3Mgb2JqZWN0IGxvY2sKCSAgUmVkdWNlIHRoZSBudW1iZXIgb2YgbG9ja3Mgc2ltcGxpZnkgY29kZSwgd2hhdCBpcyBwcm90ZWN0cwoJICBpcyBleHBvc2VkLCBidXQgdGhlIGxvY2sgd2FzIG5vdC4KCSAgQWxzbyBtZWFucyBhZGRpbmcgYW4gX3VubG9ja2VkIHZlcnNpb24gb2YgZ3N0X2FnZ3JlZ2F0b3JfcGFkX3N0ZWFsX2J1ZmZlcigpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTA5IDIyOjAxOjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IGRhdGEgd2l0aCB0aGUgc2FtZSBtdXRleCBhcyBHQ29uZAoJICBXaGVuZXZlciBhIEdDb25kIGlzIHVzZWQsIHRoZSBzYWZlc3QgcGFyYWRpZ20gaXMgdG8gcHJvdGVjdAoJICB0aGUgdmFyaWFibGUgd2hpY2ggY2hhbmdlIGlzIHNpZ25hbGxlZCBieSB0aGUgR0NvbmQgd2l0aCB0aGUgc2FtZQoJICBtdXRleCB0aGF0IHRoZSBHQ29uZCBkZXBlbmRzIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI5IDAyOjI4OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogSWYgZ2V0dGluZyBhIHRpbWVvdXQgYmVmb3JlIGhhdmluZyBjYXBzLCBqdXN0IGFkdmFuY2Ugb3VyIHBvc2l0aW9uCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGlzIGlzIGEgbGl2ZSBwaXBlbGluZSBhbmQgbm8gc291cmNlIHByb2R1Y2VkIGFueSBidWZmZXIKCSAgYW5kIHNlbnQgbm8gY2FwcyB1bnRpbCBhbiBvdXRwdXQgYnVmZmVyIHNob3VsZCd2ZSBiZWVuIHByb2R1Y2VkIGFjY29yZGluZyB0byB0aGUKCSAgbGF0ZW5jeS4KCSAgVGhpcyBmaXggaXMgc2ltaWxhciBpbiBzcGlyaXQgdG8gY29tbWl0IGJlNzAzNGQxIGJ5IFNlYmFzdGlhbiBmb3IgYXVkaW9taXhlci4KCjIwMTUtMDEtMjkgMTc6MzE6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY2FsYXllcjogYWRkIHJlc2l6ZSBjYWxsYmFjayBiYXNlZCBvbiB0aGUgYm91bmRzIHJlY3RhbmdsZQoKMjAxNS0wMS0yOSAxNToyNjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYW9wZW5nbGxheWVyOiBkcmF3IGFzeW5jaHJvbm91c2x5CgkgIFRoaXMgZXNzZW50aWFsbHkgbWFrZXMgdGhlIENBT3BlbkdMTGF5ZXIgZHJhdyBldmVyeSByZWZyZXNoIGN5Y2xlLgoKMjAxNS0wMS0yOCAxNzo1OTo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBkb24ndCBzZWdmYXVsdCBpZiB3ZSBoYXZlIGEgTlVMTCBkcmF3L3Jlc2l6ZS9jbG9zZSBjYWxsYmFjawoKMjAxNS0wMS0yOCAxNzoxNjoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBjZ2wvY2FsYXllcjogdXNlIGEgY2FsbGJhY2sgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZSBkcmF3IGZ1bmN0aW9uYWxpdHkKCjIwMTUtMDEtMjggMTc6MTM6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgY2dsOiBpbnN0YWxsIHRoZSBnbCBjb250ZXh0IGFuZCBnbCBsYXllciBoZWFkZXJzCgoyMDE1LTAxLTI4IDE3OjA1OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgY2dsOiBhZGQgYSBoZWFkZXIgZm9yIHRoZSBDQU9wZW5HTExheWVyIHN1cHBvcnQKCjIwMTUtMDEtMjggMTc6MDI6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWx3YXlzIGxvY2sgdGhlIG11dGV4IGJlZm9yZSBzdGFydGluZyB0aGUgc3RyZWFtcwoKMjAxNS0wMS0yOCAxNjo1ODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBGaXggZGVhZGxvY2sKCjIwMTUtMDEtMjggMTU6NDg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zaW5rOiBPbmx5IHN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayBvbmNlIGJvdGggc291cmNlcyBhcmUgcmVhZHkgYW5kIHdlIGFyZSBpbiBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzdGFydCB0aGUgc2NoZWR1bGVkIHBsYXliYWNrIGJlZm9yZSB0aGUgYXVkaW8gb3IgdmlkZW8gc3RyZWFtcyBhcmUKCSAgYWN0dWFsbHkgZW5hYmxlZCwgYW5kIHRoZW4gZXJyb3Igb3V0IGxhdGVyIGJlY2F1c2UgdGhleSBhcmUgZW5hYmxlZCB0byBsYXRlLgoJICBXZSBlbmFibGUgdGhlIHN0cmVhbXMgd2hlbiBnZXR0aW5nIHRoZSBjYXBzLCB3aGljaCBtaWdodCBiZSAqYWZ0ZXIqIHdlIHdlcmUKCSAgc2V0IHRvIFBMQVlJTkcgc3RhdGUuCgoyMDE1LTAxLTI4IDE1OjI2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IE9ubHkgc3RhcnQgdGhlIHN0cmVhbXMgb25jZSBib3RoIHNvdXJjZXMgYXJlIHJlYWR5IGFuZCB3ZSBhcmUgaW4gUExBWUlORwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc3RhcnQgdGhlIHN0cmVhbXMgYmVmb3JlIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW1zIGFyZQoJICBhY3R1YWxseSBlbmFibGVkLCBhbmQgdGhlbiBlcnJvciBvdXQgbGF0ZXIgYmVjYXVzZSB0aGV5IGFyZSBlbmFibGVkIHRvIGxhdGUuCgkgIFdlIGVuYWJsZSB0aGUgc3RyZWFtcyB3aGVuIGdldHRpbmcgdGhlIGNhcHMsIHdoaWNoIG1pZ2h0IGJlICphZnRlciogd2Ugd2VyZQoJICBzZXQgdG8gUExBWUlORyBzdGF0ZS4KCjIwMTUtMDEtMjggMTQ6MjE6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBNYWtlIHN1cmUgb3VyIGNsb2NrIG5ldmVyIHJldHVybnMgTk9ORSwgYWx3YXlzIGFkdmFuY2VzIGFuZCBkb2VzIG5vdCBqdW1wIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUExBWUlORwoJICBJdCBiYXNpY2FsbHkgYmVoYXZlcyB0aGUgc2FtZSBhcyB0aGUgYXVkaW8gY2xvY2tzLgoKMjAxNS0wMS0yOCAxMjoyMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBIYW5kbGUgdGhlIGNsb2NrIHJldHVybmluZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHByb3Blcmx5CgoyMDE1LTAxLTI4IDExOjQxOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVve3Npbmssc3JjfTogTWFrZSBlbGVtZW50cyBtb3JlIHNpbWlsYXIgdG8gdGhlIGF1ZGlvIGVsZW1lbnRzIGJ5IGVuYWJsaW5nIHRoZSB2aWRlbyBpbnB1dC9vdXRwdXQgb25seSB3aGVuIGdldHRpbmcgdGhlIGFjdHVhbCBjYXBzCgkgIFRoaXMgd2lsbCBhbHNvIG1ha2UgaXQgZWFzaWVyIGxhdGVyIHRvIHN1cHBvcnQgY2FwcyBjaGFuZ2VzIGFuZCBzdXBwb3J0CgkgIHNlbGVjdGluZyB0aGUgbW9kZSBiYXNlZCBvbiB0aGUgY2FwcyBpZiB0aGF0IHNob3VsZCBldmVyIGJlIGltcGxlbWVudGVkLgoKMjAxNS0wMS0yNiAxOTowMjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogUHJvcGVybHkgcmVwb3J0IGNhcHMgaWYgbW9kZSE9YXV0byBhbmQgaGFuZGxlIGNhcHMgY2hhbmdlcyBwcm9wZXJseSBmb3IgbW9kZT1hdXRvCgoyMDE1LTAxLTI2IDE4OjI3OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCByZWxlYXNlIGlucHV0IGRldmljZSB0d2ljZSBvbiBlcnJvcnMgaW4gc2V0X2NhcHMoKQoKMjAxNS0wMS0yNyAxMToyNTo1MyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IGZpeCBidWlsZAoJICBDb21taXQgYWI0OGJiNmYwZjU1MDkxNjYyZTU5NWEwMDFlMTc4MTU0Y2U2MGNkYiBjaGFuZ2VkIHRoZSBBUEkgb2YKCSAgR3N0R0xXaW5kb3cuCgoyMDE1LTAxLTI3IDE0OjUyOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IG1vcmUgY29tcGF0aWJpbGl0eSBkZWZpbmVzIGZvciBnbGVzMiBzeXN0ZW1zCgoyMDE1LTAxLTI3IDEyOjE1OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBhZGQgc29tZSB0aHJlYWQgc2FmZXR5IGZvciBnbCBvcGVyYXRpb25zCgoyMDE1LTAxLTI3IDExOjUzOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiB1c2UgcGJvJ3MgZm9yIGRvd25sb2FkCgkgIEluIG9yZGVyIHRvIHVzZSBwYm8ncyBlZmZpY2llbnRseSwgdGhlIHRyYW5zZmVyIG9wZXJhdGlvbiBoYXMgdG8KCSAgYmUgc2VwYXJhdGVkIGZyb20gdGhlIHVzZSBvZiB0aGUgZG93bmxvYWRlZCBkYXRhIHdoaWNoIHJlcXVpcmVzIHNvbWUKCSAgcmVhcmNoaXRlY3R1cmluZyBhcm91bmQgZ2xjb2xvcmNvbnZlcnQvZ2xkb3dubG9hZCBhbmQgZWxlbWVudHMKCjIwMTUtMDEtMjcgMTE6MDQ6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJICBnbHByb3RvdHlwZXM6IGFkZCBzb21lICh1biltYXAgYnVmZmVyIHZhcmlhbnRzIGZvciBHTC9HTEVTCgoyMDE1LTAxLTI2IDE3OjUxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdXNlIGF1ZGlvXyUwMnUgYW5kIHZpZGVvXyUwMnUgbmFtZXMgZm9yIHBhZHMKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBnaG9zdHBhZCV1IG5hbWluZy4gVGhlIGF1ZGlvXy92aWRlb18KCSAgbmFtZXMgYXJlIG1vcmUgY29tbW9uIGluIGRlbXV4ZXJzCgoyMDE1LTAxLTI2IDE1OjMzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBSZWxlYXNlIHRoZSBhdWRpbyBpbnB1dCBvbiBlcnJvcnMsIG5vdCB0aGUgdmlkZW8gaW5wdXQKCjIwMTUtMDEtMjYgMTM6NDY6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUKCSAgVGhlIGJwcyB2YXJpYWJsZSBpcyBkZWNsYXJlZCB3aXRoIHZhbHVlIGFpZmYtPmJwcywgcmVhZCBvbmNlIGFuZCBuZXZlciB3cml0dGVuLgoJICBhaWZmLT5icHMgY2FuIGJlIHVzZWQgZGlyZWN0bHkgaW5zdGVhZC4KCjIwMTUtMDEtMjYgMTI6NDk6NDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggd2hpY2ggc3RvcCB2YXJpYWJsZSBpcyB1c2VkIGluIGFzc2lnbm1lbnQKCSAgQXNzaWdubWVudCBpcyBkb25lIHRvIHZhcmlhYmxlIHNlZ21lbnQuc3RvcCB3aGVuIHRoZSBpbnRlbnRpb24gd2FzIHRvIGFzc2lnbiB0bwoJICBsb2NhbCB2YXJpYWJsZSBzdG9wLiBJbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGl0LCB0aGUgdmFsdWUgaXMgbm93IGNsYW1wZWQgYW5kCgkgIHNlZ21lbnQuc3RvcCBpcyBzZXQgdG8gaXQgc29vbiBhZnRlci4KCSAgQ0lEICMxMjY1NzcyCgoyMDE1LTAxLTI2IDA5OjIyOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjcmFzaCB3aGVuIHJlY2VpdmluZyBidWZmZXIgd2l0aG91dCB0aW1lc3RhbXBzCgkgIFVuc2V0IG91dCBidWZmZXIgaW4gY2xpcCBmdW5jdGlvbiB3aGVuIHdlIHVucmVmIHRoZSBidWZmZXIgdG8gYmUKCSAgY2xpcHBlZCwgb3RoZXJ3aXNlIGFnZ3JlZ2F0b3Igd2lsbCBjb250aW51ZSB0byB1c2UgdGhlIGFscmVhZHktCgkgIGZyZWVkIGJ1ZmZlci4gRml4ZXMgY3Jhc2ggd2hlbiBidWZmZXJzIHdpdGhvdXQgdGltZXN0YW1wcyBhcmUKCSAgYmVpbmcgZmVkIHRvIGFnZ3JlZ2F0b3IuIFBhcnRseSBiZWNhdXNlIGFnZ3JlZ2F0b3IgaWdub3JlcyB0aGUKCSAgZXJyb3IgZmxvdyByZXR1cm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzMzQKCjIwMTUtMDEtMTggMTg6MDU6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIFJlbW92ZSB1bnBvcnRlZCBkaXJlY3RkcmF3IHBsdWdpbgoJICBUaGlzIEFQSSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBldGVybml0aWVzIGFuZCBtaWNyb3NvZnQKCSAgc3RvcHBlZCBzaGlwcGluZyB0aGUgaGVhZGVycyBpbiAyMDEwIGFjY29kaW5nIHRvIHdpa2lwZWRpYSwKCSAgc28gbGV0J3MganVzdCByZW1vdmUgaXQgYW5kIGZvY3VzIG9uIGJyaW5naW5nIHRoZSBwbHVnaW5zCgkgIGJhc2VkIG9uIHRoZSBuZXdlciBBUElzIHVwIHRvIHNudWZmLgoKMjAxNC0wMy0yNiAxNzo0MzozMyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogd3JpdGUgcGFkZGluZyBieXRlIGF0IGVuZCBvZiBTU05EIGNodW5rIGlmIG5lZWRlZAoJICBBSUZGIGNodW5rcyBhcmUgc3VwcG9zZWQgdG8gYmUgZXZlbiBhbGlnbmVkLgoJICBBbGlnbmluZyB0aGUgU1NORCBjaHVuayB3aWxsIGFsbG93IHRoZSBhaWZmIG11eGVyIHRvIHByb3Blcmx5IHdyaXRlCgkgIGNodW5rcyAobGlrZSB0aGUgSUQzIG9uZSkgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMgoKMjAxNS0wMS0yMyAxMjo0NDoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGcmVlIGxlYWtlZCBHc3RTdHJ1Y3R1cmUKCSAgQ292ZXJpdHkgQ0lEIDogMTI1NjU2NQoKMjAxNS0wMS0yMyAxMjo0MToyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBFbnN1cmUgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgYmVmb3JlIHVzYWdlCgkgIENvdmVyaXR5IENJRDogMTI1NjU2OQoKMjAxNS0wMS0yMyAxMjoyNjoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmM6CgkgIGNvZGVjcGFyc2VyczogSW5kZW50IGZpbGUKCSAgU29tZW9uZSdzIGJlZW4gY29tbWl0aW5nIHdpdGhvdXQgdXNpbmcgZ3N0LWluZGVudCA6KQoKMjAxNS0wMS0yMyAxMjoyNDo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBSRUFEX1VFX01BWCBtYWNybwoJICBSRUFEX1VFX0FMTE9XRUQgd2FzIGFsbW9zdCBleGNsdXNpdmVseSB1c2VkIHdpdGggbWluID09IDAsIHdoaWNoIGRvZXNuJ3QKCSAgbWFrZSBtdWNoIHBvaW50IGZvciB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgQWRkIGEgUkVBRF9VRV9NQVggdmFyaWFudCBhbmQgdXNlIHRoYXQgaW5zdGVhZC4gQWxzbyByZXBsYWNlZCB0d28gdXNhZ2VzCgkgIG9mIENIRUNLX0FMTE9XRUQgKGEsMCxzb21ldGhpbmcpIGJ5IENIRUNLX0FMTE9XRURfTUFYIChhLCBzb21ldGhpbmcpCgoyMDE1LTAxLTIzIDEyOjI4OjQyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBHQVAgZmxhZyBzZXR0aW5nIG9uIG5vbi1ibGFjayBmcmFtZXMKCSAgVGhlIHByZXZpb3VzIGNvbW1pdCBmaXhlZCBzZXR0aW5nIHRoZSBHQVAgZmxhZyBvbiBibGFjayBmcmFtZXMsIGJ1dAoJICBpbmNvcnJlY3RseSBkcm9wcGVkIHRoZSBmbGFnIG9uIHJlcGVhdGVkIHB1c2hlcyBvZiB0aGUgc2FtZSB2aWRlbwoJICBidWZmZXIuCgoyMDE1LTAxLTIzIDE3OjI3OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZ2x3aW5kb3cgYXBpIGNoYW5nZQoKMjAxNS0wMS0yMyAxNjo1MjoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC93aW5kb3cvZWFnbDogZml4IGEgY291cGxlIG9mIHR5cG9zCgoyMDE1LTAxLTIzIDE2OjM5OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IGNsZWFudXAvcmVvcmdhbml6ZSBmdW5jdGlvbnMvbWVtYmVycyBpbnRvIGxvZ2ljYWwgZ3JvdXBzCgoyMDE1LTAxLTIzIDE1OjAyOjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGZvciBnc3RnbCBjb2NvYSAtPiBjZ2wgY2hhbmdlCgoyMDE1LTAxLTIzIDE0OjE4OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2NvY29hX3V0aWxzLm1tOgoJICBnbC9xdC9leGFtcGxlczogdXBkYXRlIGZvciBOU09wZW5HTCAtPiBDR0wgY2hhbmdlCgoyMDE1LTAxLTIzIDE0OjExOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiByZW1vdmUgd2lkdGgvaGVpZ2h0IGZyb20gX2RyYXcoKQoJICBEZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtLCBpdCB3YXMgb25seSBldmVyIGltcGxlbWVudGVkIHRvIDEpIHNldCBhCgkgIGRlZmF1bHQgc3VyZmFjZSBzaXplLCAyKSByZXNpemUgYmFzZWQgb24gdGhlIHZpZGVvIGZyYW1lIG9yIDMpIG5vdGhpbmcuCgkgIEluc3RlYWQsIHByb3ZpZGUgYSBzZXRfcHJlZmVycmVkX3NpemUgKCkgdGhhdCBlbGVtZW50cy9hcHBsaWNhdGlvbnMKCSAgY2FuIHVzZSB0byByZXF1ZXN0IGEgY2VydGFpbiBzaXplIHdoaWNoIG1heSBiZSBpZ25vcmVkIGZvcgoJICB2aWRlb292ZXJsYXkvb3RoZXIgY2FzZXMuCgoyMDE1LTAxLTIyIDIxOjQzOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogYXZvaWQgZGVzdHJveWluZyBhIHBvc3NpYmx5IDAgR1NvdXJjZSBpZAoKMjAxNS0wMS0yMCAyMjowMTozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG1vdmUgdG8gQ0dMIGFuZCBDQU9wZW5HTExheWVyIGZvciByZW5kZXJpbmcKCSAgUmVtb3ZlcyB0aGUgdXNlIG9mIE5TT3BlbkdMKiB2YXJpZXR5IGFuZCBmdW5jdGlvbnMuICBBbnkgQ29jb2EKCSAgc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQgdG9vay9yZXR1cm5lZCBhIE5TT3BlbkdMKiBvYmplY3Qgbm93CgkgIHRha2UvcmV0dXJuIHRoZSBDR0wgZXF1aXZhbGVudHMuCgoyMDE1LTAxLTIyIDE2OjA4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogYWRkIGRlYnVnIGNhdGVnb3J5CgoyMDE1LTAxLTIyIDEwOjUwOjIzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBHQVAgZmxhZyBzZXR0aW5nIG9uIGJsYWNrIGZyYW1lcyBjb3JyZWN0bHkKCSAgVGhpcyBkaWQgbm90IGFjdHVhbGx5IHdvcmsgc2luY2UgdGhlIHZpZGVvX2J1ZmZlciB3YXMgc2V0IHRvIE5VTEwgYWZ0ZXIKCSAgdGhlIGZpcnN0IGJsYWNrIGZyYW1lLgoJICBSZXBvcnRlZCBieTogUGF0cmlrIE9sZHNiZXJnIDxwYXRyaWsub2xkc2JlcmdAZXJpY3Nzb24uY29tPgoKMjAxNS0wMS0yMSAyMzozNzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggbWF4IHZhbHVlIG9mIHRoZSB0aW1lb3V0IHByb3BlcnR5CgkgIFJlcG9ydGVkIGJ5OiBQYXRyaWsgT2xkc2JlcmcgPHBhdHJpay5vbGRzYmVyZ0Blcmljc3Nvbi5jb20+CgoyMDE1LTAxLTIxIDIzOjM1OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBJbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UKCSAgV2lsbCBiZSB1c2VmdWwgd2hlbiB3ZSB3YW50IHRvIHNldCBwcmVzZXRzIG9uIHRoZSBlbmNvZGVyIHZpYSBlbmNvZGViaW4KCSAgb3Igc3VjaC4KCjIwMTUtMDEtMjEgMTU6MzE6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzeW5jIHdpdGggYmFzZSBjbGFzcyBpbiAtYmFzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTAxLTIxIDE1OjA2OjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZW5zdXJlIGRlZmF1bHQgcXVlcnkvZXZlbnQgaGFuZGxlcnMgYXJlIHVzZWQKCSAgU3luYyBhdWRpb3Zpc3VhbGl6ZXIgY2xhc3MgaW1wbGVtZW50YXRpb24gdG8gdGhlIG9uZSBpbiBnc3QtcGx1Z2lucy1iYXNlLiBUaGlzCgkgIGNvbW1pdCBtYXRjaGVzIDlkZDBlNmNjY2M5NzFkOGE2YmNjYTRlOWU0ZDJlZTFkYmIyMGZmZmEgaW4gdGhhdCBtb2R1bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDEtMjEgMTA6MTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJICBzaXJlbjogTWFrZSBzb21lIGxvY2FsIHZhcmlhYmxlcyBub24tc3RhdGljIGZvciB0aHJlYWQtc2FmZXR5CgkgIE90aGVyd2lzZSB3ZSB3aWxsIG92ZXJyaWRlIHZhbHVlcyBmcm9tIGFub3RoZXIgdGhyZWFkIGlmIHdlIGVuY29kZQoJICBvciBkZWNvZGUgZnJhbWVzIGF0IHRoZSBzYW1lIHRpbWUgaW4gZGlmZmVyZW50IHRocmVhZHMuCgoyMDE1LTAxLTIxIDEwOjE3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgIENvbnN0aWZ5IHNvbWUgc3RhdGljIGFycmF5cyBldmVyeXdoZXJlCgoyMDE1LTAxLTIxIDA4OjQ5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBGaXggbGlzdCBvZiBmaWxlcyB0cmFja2VkCgkgIHNmc2luay9zZnNyYyBoYXZlbid0IGJlZW4gcG9ydGVkIChhbmQgdGhlcmVmb3JlIGRpc3QnZWQpIGluIDEueAoKMjAxNC0xMi0wOSAwOTo1ODowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbWlub3IgZGVidWcgdXBkYXRlCgkgIE9ubHkgc2hvdyBQVFMvRFRTIHdoZW4gdGhleSBhcmUgdmFsaWQsIGFuZCBpbmNsdWRlIHRoZSBzdHJlYW0gaWQKCjIwMTUtMDEtMjAgMTQ6NTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IHNraXAgdGhlIGZpcnN0IGZyYWdtZW50CgkgIEF2b2lkIGFkdmFuY2luZyBmcmFnbWVudCByaWdodCBhZnRlciBkb3dubG9hZGluZyB0aGUgaGVhZGVyLiBJZiBpdAoJICBpcyB0aGUgaGVhZGVyLCBieSBkZWZhdWx0LCBkb24ndCBhZHZhbmNlIHRvIHRoZSBuZXh0IGZyYWdtZW50LgoKMjAxNS0wMS0yMCAxNjo1NzoxNSArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMjUxCgoyMDE1LTAxLTE2IDE5OjMyOjE1ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIHN0ZXJlby1oaWdoIHByb2ZpbGUKCSAgRXhwb3Npbmcgc3RlcmVvLWhpZ2ggcHJvZmlsZSBhcyBhIGNvbXBhdGlibGUgcHJvZmlsZSBvZiBtdWx0aXZpZXctaGlnaAoJICBpZiB0aGUgbWF4aW11bSBudW1iZXIgb2YgZW5jb2RlZCB2aWV3cyBpbiB0aGUgc3RyZWFtIGlzIHR3by4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3NAoKMjAxNS0wMS0xOSAxNzozMToyNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBhcnNlIFNQUyBzdWJzZXQKCSAgVGhpcyBwYXRjaCBjYWxscyBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc3Vic2V0X3NwcygpIHdoZW4gYQoJICBTUFMgc3Vic2V0IE5BTCB0eXBlIGlzIGZvdW5kLgoJICBBbGwgdGhlIGJpdHMgcmVxdWlyZWQgZm9yIHBhcnNpbmcgdGhlIFNQUyBzdWJzZXQgaW4gTkFMcyB3ZXJlCgkgIGFscmVhZHkgdGhlcmUsIGp1c3Qgd2UgbmVlZCB0byBjYWxsIHRoZW0gd2hlbiB0aGUgdGhpcyBOQUwgdHlwZQoJICBpcyBmb3VuZC4KCSAgV2l0aCB0aGlzIHBhcnNpbmcsIHRoZSBudW1iZXIgb2Ygdmlld3MgKG1pbnVzIDEpIGF0dHJpYnV0ZSBpcwoJICBmaWxsZWQsIHdoaWNoIHdhcyBhIHJlcXVpcmVtZW50IGZvciBuZWdvdGlhdGluZyB0aGUgc3RlcmVvLWhpZ2gKCSAgcHJvZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3NAoKMjAxMy0wMy0xOSAxNDoyMzowMCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBNVkMgTkFMIHVuaXRzLgoJICBJbml0aWFsIHN1cHBvcnQgZm9yIE1WQyBOQUwgdW5pdHMuIEl0IGlzIG9ubHkgbmVlZGVkIHRvIHByb3BhZ2F0ZSB0aGUKCSAgY29tcGxldGUgc2V0IG9mIE5BTCB1bml0cyBkb3duc3RyZWFtIGF0IHRoaXMgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjEzNQoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTUtMDEtMjAgMDk6MjM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGV4cGxpY2l0IGNhc3QgdG8gbWFrZSBjbGFuZyBoYXBweQoJICBGaXhlcyBjb21waWxhdGlvbgoKMjAxNS0wMS0xNSAxNzo0NDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlZmFjdG9yIGNodW5rIGRvd25sb2FkaW5nIGZsb3cKCSAgQWRkIG1vcmUgcG93ZXIgdG8gdGhlIGNodW5rX3JlY2VpdmVkIGZ1bmN0aW9uIChyZW5hbWVkIHRvIGRhdGFfcmVjZWl2ZWQpCgkgIGFuZCBhbHNvIHRvIHRoZSBmcmFnbWVudF9maW5pc2ggZnVuY3Rpb24uCgkgIFRoZSBkYXRhX3JlY2VpdmVkIGZ1bmN0aW9uIG11c3QgcGFyc2UvZGVjcnlwdCB0aGUgZGF0YSBpZiBuZWNlc3NhcnkgYW5kCgkgIGFsc28gcHVzaCBpdCB1c2luZyB0aGUgbmV3IHB1c2hfYnVmZmVyIGZ1bmN0aW9uIHRoYXQgaXMgZXhwb3NlZCBub3cuIFRoZQoJICBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGdldHMgZGF0YSBmcm9tIHRoZSBzdHJlYW0gYWRhcHRlciAoYWxsIGF2YWlsYWJsZSkKCSAgYW5kIHB1c2hlcyBpdC4KCSAgVGhlIGZyYWdtZW50X2ZpbmlzaCBmdW5jdGlvbiBtdXN0IGFsc28gYWR2YW5jZSB0aGUgZnJhZ21lbnQuIFRoZSBkZWZhdWx0CgkgIGltcGxlbWVudGF0aW9uIG9ubHkgYWR2YW5jZXMgdGhlIGZyYWdtZW50LgoJICBUaGlzIGFsbG93cyB0aGUgc3Vic2VnbWVudCBoYW5kbGluZyBpbiBkYXNoZGVtdXggdG8gY29udGludW91c2x5IGRvd25sb2FkCgkgIHRoZSBzYW1lIGZpbGUgZnJvbSB0aGUgc2VydmVyIGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgZXZlcnkgc3Vic2VnbWVudAoJICBib3VuZGFyeSBhbmQgc3RhcnRpbmcgYSBuZXcgcmVxdWVzdAoKMjAxNS0wMS0xOSAxMjozNzoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZC5jOgoJICBjb21wb3NpdG9yOiBmaXggaWxsZWdhbCBtZW1vcnkgYWNjZXNzIGluIGJsZW5kIGZ1bmN0aW9uIHdpdGggbmVnYXRpdmUgeXBvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTE1CgoyMDE1LTAxLTE5IDA4OjM3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgbG9nIG1lc3NhZ2UgYWJvdXQgc2VnbWVudCB0aW1lIGluZm9ybWF0aW9uCgkgIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMKCjIwMTUtMDEtMTkgMDg6MzY6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IG11bHRpLXBlcmlvZCBwbGF5YmFjawoJICBJZiB3ZSBzYXkgaXQgaXMgdGhlIGZpcnN0IHNlZ21lbnQgYWZ0ZXIgYSBuZXcgcGVyaW9kIGl0IHdpbGwgcmVzeW5jCgkgIHRoZSBzZWdtZW50LnN0YXJ0IHZhbHVlIGFuZCBhbGwgYnVmZmVycyB3aWxsIGJlIGxhdGUgZm9yIHRoZSBuZXcgcGVyaW9kCgkgIHdlIGFyZSB0cnlpbmcgdG8gcGxheS4gT3RoZXJ3aXNlIHdlIHdhbnQgdG8ga2VlcCB0aGUgc2VnbWVudC5zdGFydCB3aXRoCgkgIHRoZSBwcmV2aW91cyB2YWx1ZSB0byBhbGxvdyB0aGUgcnVubmluZyB0aW1lIHRvIHNtb290aGx5IGluY3JlYXNlCgoyMDE1LTAxLTE5IDExOjIzOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBjbGFuZwoJICBnc3RkYXNoZGVtdXguYzoxMzMwOjEzOiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ2VudW0gX0dzdEFkYXB0aXZlRGVtdXhGbG93UmV0dXJuJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0Rmxvd1JldHVybicgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHJldCA9IEdTVF9BREFQVElWRV9ERU1VWF9GTE9XX1NVQlNFR01FTlRfRU5EOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE1LTAxLTE4IDIxOjA1OjQ0ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IG1lbWxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE0MgoKMjAxNS0wMS0xOCAxNzoyNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFJlbW92ZSByZWFsIHBsdWdpbiB3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBoYXMgbmV2ZXIgYmVlbiBwb3J0ZWQKCSAgRGVjb2RlcnMgZm9yIHRoZXNlIGZvcm1hdHMgZXhpc3QgaW4gZ3N0LWxpYmF2LCBpZiBhbnlvbmUKCSAgc3RpbGwgaGFzIGEgbmVlZCBmb3IgdGhlbS4KCjIwMTUtMDEtMTggMTc6MTA6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSBsaWJnbXl0aC1iYXNlZCBNeXRoVFYgc291cmNlIGVsZW1lbnQgd2hpY2ggd2FzIG5ldmVyIHBvcnRlZAoJICBnbXl0aCBzZWVtcyB0byBiZSB1bm1haW50YWluZWQgdXBzdHJlYW0sIGFuZCBubyBvbmUgaGFzIGFza2VkCgkgIGZvciB0aGlzIHRvIGJlIHBvcnRlZCBmb3IgYSB2ZXJ5IGxvbmcgdGltZSwgc28gbGV0J3MganVzdAoJICByZW1vdmUgaXQuIE5laXRoZXIgZGViaWFuIG5vciBGZWRvcmEgc2VlbSB0byBzaGlwIGxpYmdteXRoCgkgIGFueSBsb25nZXIsIGFuZCBpbiBhbnkgY2FzZSBpdCdzIG1vc3QgbGlrZWx5IGRlcHJlY2F0ZWQgYnkKCSAgdGhlIFVQblAgc3VwcG9ydCBpbiBNeXRoVFYuCgoyMDE1LTAxLTE3IDEwOjA2OjQwICsxMTAwICBMYXNzZSBMYXVyc2VuIDxsYXNzZUBsYXNzZWxhdXJzZW4uY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsYXBpOiBmaXggY29tcGlsYXRpb24gd2l0aCBsYXRlc3QgTVNWQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMDQxCgoyMDE1LTAxLTE1IDEyOjU3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVzZSB0aGUgY29ycmVjdCBzaXplIGZvciB0aGUgcGJvCgkgIEl0IHdhcyBtaXNzaW5nIHRoZSBHc3RWaWRlb0FsaWdubWVudCBwYWRkaW5nIHdoaWNoIGNvdWxkIGNhdXNlIEdMCgkgIGVycm9ycyByZWxhdGVkIHRvIG92ZXJydW5uaW5nIHRoZSBzaXplIG9mIHRoZSBwYm8uCgoyMDE1LTAxLTE2IDE2OjE4OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHByZXZlbnQgZWFybHkgRU9TIHdoZW4gc3dpdGNoaW5nIGF0IGxhc3QgZnJhZ21lbnQKCSAgQ2hlY2sgaWYgdGhlcmUgaXMgYSBuZXh0IGZyYWdtZW50IGJlZm9yZSBhZHZhbmNpbmcgdG8gYXZvaWQgY2F1c2luZwoJICBhIGJpdHJhdGUgc3dpdGNoIChhbmQgbWF5YmUgZXhwb3NpbmcgbmV3IHBhZHMpIG9ubHkgdG8gcHVzaCBFT1MuCgkgIFRoaXMgY2F1c2VzIHBsYXliYWNrIHRvIHN0b3Agd2l0aCBhbiBlcnJvciBpbnN0ZWFkIG9mIHByb3Blcmx5CgkgIGZpbmlzaGluZyB3aXRoIEVPUyBtZXNzYWdlLgoKMjAxNS0wMS0xMyAxNDoyMjowMiArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IGRldGVjdGlvbiBmb3IgdGhlIGVuZCBvZiBzZWdtZW50LgoJICBUaGUgc2VnbWVudCBzdGFydCB0aW1lIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG9mZnNldCBpbnRvIHRoZSBjdXJyZW50IHNlZ21lbnQuCgkgIFRoZSBvbGQgY29uZGl0aW9uIHRvIGRldGVjdCB0aGUgZW5kIG9mIHBlcmlvZCAoaS5lLiBzZWdtZW50IHN0YXJ0IHRpbWUgPgoJICBwZXJpb2Qgc3RhcnQgKyBwZXJpb2QgZHVyYXRpb24pIGZhaWxlZCB3aGVuIHRoZSBwZXJpb2Qgc3RhcnQgd2FzIG5vdCAwIHNpbmNlCgkgIHRoZSBzZWdtZW50IHN0YXJ0IHRpbWUgZG9lcyBub3QgdGFrZSB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgaW50byBhY2NvdW50LgoJICBGaXggdGhpcyBkZXRlY3Rpb24gYnkgb25seSBjb21wYXJpbmcgdGhlIHNlZ21lbnQgc3RhcnQgdG8gdGhlIHBlcmlvZCBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM2OQoKMjAxNS0wMS0xNCAyMzoxMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgc2VnbWVudCBhdHRyaWJ1dGUKCSAgSXQgd2FzIG5ldmVyIHVzZWQsIG9ubHkgaW5pdGlhbGl6ZWQKCjIwMTUtMDEtMTIgMTc6NDA6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgSVNPQk1GRiBwcm9maWxlIGhhbmRsaW5nCgkgIFRoZSBJU09CTUZGIHByb2ZpbGUgYWxsb3dzIGRlZmluaW5kIHN1YnNlZ21lbnRzIGluIGEgc2VnbWVudC4gQXQgdGhvc2UKCSAgc3Vic2VnbWVudCBib3VuZGFyaWVzIHRoZSBjbGllbnQgY2FuIHN3aXRjaCBmcm9tIG9uZSByZXByZXNlbnRhdGlvbiB0bwoJICBhbm90aGVyIGFzIHRoZXkgaGF2ZSBhbGlnbmVkIGluZGV4ZXMuCgkgIFRvIGhhbmRsZSB0aG9zZSB0aGUgJ3NpZHgnIGluZGV4IGlzIHBhcnNlZCBmcm9tIHRoZSBzdHJlYW0gYW5kIHRoZQoJICBlbnRyaWVzIHBvaW50IHRvIHB0cy9vZmZzZXQgb2YgdGhlIHNhbXBsZXMgaW4gdGhlIHN0cmVhbS4gS25vd2luZyB0aGF0CgkgIHRoZSBlbnRyaWVzIGFyZSBhbGlnbmVkIGluIHRoZSBkaWZmZXJlbnQgcmVwcmVzZW50YXRpb24gYWxsb3dzIHRoZSBjbGllbnQKCSAgdG8gc3dpdGNoIG1pZCBmcmFnbWVudC4gSW4gdGhpcyBwcm9maWxlIGEgc2luZ2xlIGZyYWdtZW50IGlzIHVzZWQgcGVyCgkgIHJlcHJlc2VudGF0aW9uIGFuZCB0aGUgc3Vic2VnbWVudHMgYXJlIGNvbnRhaW5lZCBpbiB0aGlzIGZyYWdtZW50LgoJICBUbyBub3RpZnkgdGhlIHN1cGVyY2xhc3MgYWJvdXQgdGhlIHN1YnNlZ21lbnQgYm91bmRhcnkgdGhlIGNodW5rX3JlY2VpdmVkCgkgIGZ1bmN0aW9uIHJldHVybnMgYSBzcGVjaWFsIGZsb3cgcmV0dXJuIHRoYXQgaW5kaWNhdGVzIHRoYXQuIEluIHRoaXMgY2FzZSwKCSAgdGhlIHN1cGVyIGNsYXNzIHdpbGwgY2hlY2sgaWYgYSBtb3JlIHN1aXRhYmxlIGJpdHJhdGUgaXMgYXZhaWxhYmxlIGFuZCB3aWxsCgkgIGNoYW5nZSB0byB0aGUgc2FtZSBzdWJzZWdtZW50IGluIHRoaXMgbmV3IHJlcHJlc2VudGF0aW9uLgoJICBJdCBhbHNvIHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcgb2YgdGhlIHBvc2l0aW9uIGluIHRoZSBzdHJlYW0gYXMgdGhlCgkgIGZyYWdtZW50IGFkdmFuY2luZyBpcyBub3cgZG9uZSBieSBpbmNyZW1lbnRpbmcgdGhlIGluZGV4IG9mIHRoZSBzdWJzZWdtZW50LgoJICBJdCB3aWxsIG9ubHkgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudCBvbmNlIGFsbCBzdWJzZWdtZW50cyBoYXZlIGJlZW4KCSAgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI0OAoKMjAxNS0wMS0xMiAxMTo1NzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuaDoKCSAgZGFzaGRlbXV4OiBwYXJzZSB0aGUgc2lkeCBpbmRleCBmcm9tIGlzb2JtZmYgc3RyZWFtcwoJICBBbGxvd3MgZGFzaGRlbXV4IHRvIGlkZW50aWZ5IHRoZSBzdWJzZWdtZW50cyBpbiB0aGUgc3RyZWFtIGFuZAoJICBzd2l0Y2ggYml0cmF0ZXMgd2hlbiBuZWVkZWQKCjIwMTUtMDEtMDkgMTY6NDM6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjaGVjayBmb3IgcHJvZmlsZXMKCSAgQ2hlY2sgZm9yIGF2YWlsYWJsZSBwcm9maWxlcyB0byBlbmFibGUgY2VydGFpbiBmZWF0dXJlcyBmb3IKCSAgZGFzaCBwbGF5YmFjay4gRm9yIG5vdyB3ZSBjaGVjayBmb3IgdGhlIElTT0ZGIE9uIERlbWFuZCAyMDExIHByb2ZpbGUuCgoyMDE1LTAxLTEzIDEwOjE2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGEgc3BlY2lhbCByZXR1cm4gdG8gc2lnbmFsIHN1YnNlZ21lbnQgYm91bmRhcnkKCSAgVGhlIHN1YnNlZ21lbnQgYm91bmRhcnkgcmV0dXJuIHRlbGxzIHRoZSBhZGFwdGl2ZWRlbXV4IHRoYXQgaXQgY2FuCgkgIHRyeSB0byBzd2l0Y2ggdG8gYW5vdGhlciByZXByZXNlbnRhdGlvbiBhcyB0aGUgc3RyZWFtIGlzIGF0IGEgc3VpdGFibGUKCSAgcG9zaXRpb24gZm9yIHN0YXJ0aW5nIGZyb20gYW5vdGhlciBiaXRyYXRlLgoKMjAxNS0wMS0xMyAxMDoxNToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBY3R1YWxseSB1c2UgdGhlIGJ5dGUgcmFuZ2UgZm9yIHRoZSBmcmFnbWVudCB1cmwKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGFsd2F5cyBkb3dubG9hZCB0aGUgZnVsbCBmcmFnbWVudC4gVGhpcyB3b3VsZAoJICBtYWtlIGhhbmRsaW5nIHN1YnNlZ21lbnRzIGluIERBU0ggaW1wb3NzaWJsZS4KCjIwMTUtMDEtMTMgMTA6MTM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsb3cgZG93bmxvYWRzIG9mIGhlYWRlcnMgb25seQoJICBJbiBvcmRlciB0byBnZXQgc29tZSBzdWJzZWdtZW50IGluZm9ybWF0aW9uLCBzdWJjbGFzc2VzIG1pZ2h0IHdhbnQKCSAgdG8gZG93bmxvYWQgb25seSB0aGUgaGVhZGVycyB0byBoYXZlIGVub3VnaCBkYXRhICh0aGUgaW5kZXgpCgkgIHRvIGRlY2lkZSB3aGVyZSB0byBzdGFydCBkb3dubG9hZGluZyBmcm9tIHRoZSBzdWJzZWdtZW50LgoKMjAxNS0wMS0xMiAxODoyMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWZhY3RvciBjb21tb24gY29kZSB0byBmdW5jdGlvbgoJICBSZXVzZSB0aGUgc2FtZSBmdW5jdGlvbiB3aGVuIGZpbmlzaGluZyBkb3dubG9hZGluZyBhbmQgc2lnbmFsaW5nIHRvCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBnZXQgdGhlIG5leHQgZnJhZ21lbnQgb3IgYWJvcnQKCjIwMTUtMDEtMDkgMTc6MTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBpbmZvcm0gc3ViY2xhc3Mgd2hlbiBoZWFkZXJzL2luZGV4IGFyZSBiZWluZyBkb3dubG9hZGVkCgkgIFRoaXMgYWxsb3dzIHRoZSBzdWJjbGFzc2VzIHRvIGtub3cgaWYgdGhlIGNodW5rcyB0aGF0IGFyZSBkb3dubG9hZGVkIGFyZQoJICBwYXJ0IG9mIHRoZSBoZWFkZXIgb3Igb2YgdGhlIGluZGV4IGFuZCB3aWxsIHBhcnNlIHRoZSBwYXJ0cyB0aGF0IGFyZQoJICBvZiB0aGVpciBpbnRlcmVzdC4KCjIwMTUtMDEtMTUgMTY6MTE6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBhIGZldyBsZWFrIGZpeGVzCgoyMDE1LTAxLTE1IDEzOjE2OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkgIGZyYWdtZW50OiBmaXggY2FwcyBhbmQgYnVmZmVyIGxlYWtzIGluIGdldF9wcm9wZXJ0eQoKMjAxNS0wMS0xNCAxNzo0Mzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGZyYWdtZW50c19jYWNoZSBmaWVsZAoKMjAxNS0wMS0xNCAxNjo0MjoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhIGZldyBsZWFrIGZpeGVzCgoyMDE1LTAxLTEyIDIxOjIyOjA2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJICBiczJiOiBpbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UKCSAgSW5zdGVhZCBvZiBhIHByZXNldCBwcm9wZXJ0eSBpbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UgaW4gYSByZWFkLW9ubHkKCSAgZmFzaGlvbi4KCjIwMTUtMDEtMTIgMTI6MTE6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJICBkb2NzOiBhZGQgbmV3IGJzMmIgcGx1Z2luIGFuZCBlbGVtZW50CgoyMDE1LTAxLTEwIDIxOjQxOjEyICswMTAwICBDaHJpc3RvcGggUmVpdGVyIDxyZWl0ZXIuY2hyaXN0b3BoQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYnMyYi9NYWtlZmlsZS5hbToKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJKiBleHQvYnMyYi9nc3RiczJiLmg6CgkgIGJzMmI6IGFkZCBuZXcgcGx1Z2luIChFZmZlY3QvQXVkaW8sIGNyb3NzZmVlZCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY4OQoKMjAxNS0wMS0xNSAxMzoxMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogTWFrZSBzdXJlIHRoYXQgYnVmZmVyIHRpbWUgaXMgYWx3YXlzIGJpZ2dlciB0aGFuIHBlcmlvZCB0aW1lCgoyMDE1LTAxLTE1IDEyOjQ5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFsc28gY29uc2lkZXIgbWF4LWxhdGVuZXNzIHByb3BlcnR5IHZhbHVlIGJlZm9yZSBkcm9wcGluZyBsYXRlIGZyYW1lcwoKMjAxNS0wMS0xNSAxNDowOTo0MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgdnRkZWM6IGltcGxlbWVudCB0aGUgR0wgdGV4dHVyZSB1cGxvYWQgbWV0YQoKMjAxNS0wMS0wOSAwMDoxNjoxNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXZmdmlkZW9zcmM6IGltcGxlbWVudCB0aGUgR0wgdGV4dHVyZSB1cGxvYWQgbWV0YQoKMjAxNS0wMS0xNSAwOTo0Nzo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IHVwbG9hZCBpZiBhbHBoYSA8PSAwCgkgIEltcGxlbWVudGVkIHVzaW5nIGEgdXBsb2FkX2J1ZmZlciB2ZnVuYyB3aXRoaW4gR3N0R0xNaXhlciBhbGxvd2luZwoJICBOVUxMIHVwbG9hZGVkIGJ1ZmZlcnMuCgoyMDE1LTAxLTE1IDA5OjQ1OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSBzcHVyaW91cyBnc3RfdmlkZW9faW5mb19hbGlnbgoJICBUaGF0IHdpbGwgYmUgdGFrZW4gY2FyZSBvZiBieSB0aGUgY2FsbGluZyBjb2RlICh0eXBpY2FsbHkgYSBidWZmZXJwb29sKS4KCSAgVGhlIEdzdFZpZGVvQWxpZ25tZW50IGlzIHB1cmVseSBpbmZvcm1hdGlvbmFsIHRvIGNvbXB1dGUgcGxhbmUgZGF0YSBzaXplcy4KCjIwMTUtMDEtMTQgMjM6NDg6MTYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRG9jdW1lbnQgdGhlIHpvcmRlciBwYWQgcHJvcGVydHkgZnJvbSBnc3R2aWRlb2FnZ3JlZ2F0b3IKCjIwMTUtMDEtMTQgMjM6NDc6MTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTml0cGljayBzcGFjaW5nL3B1bmN0dWF0aW9uIGluIGRlYnVnIGxvZ2dpbmcKCjIwMTUtMDEtMTQgMTY6MzM6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogU3RvcCBzY2hlZHVsZWQgcGxheWJhY2sgc2hvcnRseSBpbiBQQVVTRUQtPlBMQVlJTkcgaWYgaXQgd2FzIHJ1bm5pbmcgYWxyZWFkeQoJICBUaGlzIGZpeGVzIGhhbmRsaW5nIG9mIGZsdXNoaW5nIHNlZWtzLCB3aGVyZSB3ZSB3aWxsIGdldCBhIFBBVVNFRC0+UExBWUlORwoJICBzdGF0ZSB0cmFuc2l0aW9uIGFmdGVyIHRoZSBwcmV2aW91cyBvbmUgd2l0aG91dCBhY3R1YWxseSBnb2luZyB0byBQQVVTRUQKCSAgZmlyc3QuCgoyMDE1LTAxLTE0IDE2OjAxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBEb24ndCBzY2hlZHVsZSB0b28gbGF0ZSBmcmFtZXMgaW4gcHJlcGFyZSgpCgkgIE90aGVyd2lzZSB3ZSB3aWxsIG92ZXJmbG93IHRoZSBpbnRlcm5hbCBidWZmZXIgb2YgdGhlIGhhcmR3YXJlCgkgIHdpdGggdXNlbGVzcyBmcmFtZXMgYW5kIHJ1biBpbnRvIGFuIGVycm9yLiBUaGlzIGlzIG5lY2Vzc2FyeSB1bnRpbAoJICB0aGlzIGJ1ZyBpbiBiYXNlc2luayBpcyBmaXhlZDoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjkxNgoKMjAxNS0wMS0xNCAxNTo1NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogS2VlcCB0cmFjayBvZiB0aGUgdGltZSB3aGVuIHdlIHdlbnQgdG8gUExBWUlORyBmb3IgdGhlIGV4dGVybmFsIGNsb2NrIHRvbwoJICBPdGhlcndpc2Ugd2UncmUgYWRkaW5nIGFuIG9mZnNldCBvZiB0aGUgdGltZSB0aGUgcGlwZWxpbmUgd2FzIGluIFBMQVlJTkcKCSAgYWxyZWFkeSB0byB0aGUgcnVubmluZyB0aW1lIHdoZW4gY29udmVydGluZyBpdCB0byBvdXIgaW50ZXJuYWwgY2xvY2suCgoyMDE1LTAxLTE0IDEzOjMyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEVuYWJsZSBRb1MgYW5kIHNldCBtYXgtbGF0ZW5lc3MgdG8gMjBtcwoKMjAxNS0wMS0xMiAxNzoyNDo1MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IHN0YWNrIHNtYXNoaW5nCgkgIEVuc3VyZSB0aGF0IHdlIGRvIG5vdCB0cnVzdCB0aGUgYml0c3RyZWFtIHdoZW4gZmlsbGluZyBhIHRhYmxlCgkgIHdpdGggYSBmaXhlZCBtYXggc2l6ZS4KCSAgQWRkaXRpb25hbGx5LCB0aGUgY29kZSB3YXMgbm90IHF1aXRlIG1hdGNoaW5nIHdoYXQgdGhlIHNwZWMgc2F5czoKCSAgLSBhIHZhbHVlIG9mIDMgYnJva2UgZnJvbSB0aGUgbG9vcCBiZWZvcmUgYWRkaW5nIGFuIGVudHJ5CgkgIC0gYW4gdW5oYW5kbGVkIHZhbHVlIGRpZCBub3QgYWRkIGFuIGVudHJ5CgkgIFRoZSByZWZlcmVuY2UgYWxnb3JpdGhtIGRvZXMgdGhlc2UgdGhpbmdzIGRpZmZlcmVudGx5ICg3LjMuMy4xCgkgIGluIElUVS1UIFJlYy4gSC4yNjQgKDA1LzIwMDMpKS4KCSAgVGhpcyBwbGF5cyAoYXBwYXJlbnRseSBjb3JyZWN0bHkpIHRoZSBvcmlnaW5hbCByZXBybyBmaWxlLCB3aXRoCgkgIG5vIHN0YWNrIHNtYXNoaW5nLgoJICBCYXNlZCBvbiBhIHBhdGNoIGFuZCBidWcgcmVwb3J0IGJ5IEFuZHLDqSBEcmFzemlrIDxnaXRAYW5kcmVkLm5ldD4KCjIwMTUtMDEtMTQgMjI6MDg6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogc3BsaXQgZ2xjb2xvcmNvbnZlcnQgdXNhZ2UgZnJvbSBnbHVwbG9hZAoJICB0aGUgc2VwYXJhdGlvbiBhbGxvd3MgdGhlIHRyYW5zZmVyIG9wZXJhdGlvbiB0byBvY2N1ciBpbiBhIHNlcGFyYXRlCgkgIHRocmVhZC90aW1lIHdoaWNoIG1heSBpbmNyZWFzZSBwZXJmb3JtYW5jZSBpbiBzcGVjaWZpYyBjaXJjdW1zdGFuY2VzLgoKMjAxNS0wMS0xNCAxMjozOToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBvZmZzZXQgdGhlIGRhdGEgcG9pbnRlciBmb3IgdXBsb2FkIGZvciBHc3RWaWRlb0FsaWdubWVudAoJICBvdGhlcndpc2Ugd2UgYXR0ZW1wdCB0byByZWFkIGZyb20gdGhlIHBhZGRpbmcgZGF0YQoKMjAxNS0wMS0xNCAwMDowODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogdXNlIHBibydzIGZvciB1cGxvYWQKCjIwMTUtMDEtMTMgMjM6NDc6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVsYXggdGhlIEdMTWVtb3J5IHVwbG9hZGVyIGNoZWNrIGZvciBpbnB1dCBjYXBzIGZlYXR1cmVzCgkgIEFzIHRoZXJlIG1heSBiZSBhIHN5c21lbSBjYXBzIGZlYXR1cmVzIHdpdGggR0xNZW1vcnkgZmlsbGVkIGJ1ZmZlcnMuCgkgIGUuZy4KCSAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCjIwMTUtMDEtMTMgMTE6MzI6MDMgLTA4MDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIFJldmVydCAiUmV2ZXJ0ICJvcGVuaDI2NDogZml4IHRvIHdvcmsgd2l0aCByZWxlYXNlZCB2ZXJzaW9ucyBhbmQgbWFzdGVyIG9mIHVwc3RyZWFtIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMjlmMGNjYmExYWE2MDRkYTFiZDgwMjkzZmQxZmU3MTc0NDdkZjVkLgoKMjAxNC0xMi0xNyAwOToxOTo1MiAtMDgwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiByZW1vdmUgYWxsIHRyYWNlIG91dHB1dCB0byBjb25zb2xlIGZyb20gZW5jb2RlcgoKMjAxNS0wMS0xMyAxOTo1NjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogVXNlIEJUMjAyMCBjb2xvcnNwYWNlIGZvciBVbHRyYUhEIHJlc29sdXRpb25zCgoyMDE1LTAxLTEzIDE5OjU1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24gb25jZSBhZ2FpbgoKMjAxNS0wMS0xMyAxNjo0OTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGhhbmRsZSB0aGUgcmV0dXJuIG9mIHRoZSBzZXR1cCBmdW5jdGlvbgoJICBNYWtlIHRoZSBjbGFzcyBmdXR1cmUgcHJvb2YgYnkgaGFuZGxpbmcgdGhlIGdib29sZWFuIHJldHVybiBvZiB0aGUgc2V0dXAKCSAgZnVuY3Rpb24uIFNvIGlmL3doZW4gYSBjaGlsZCBjbGFzcyB1c2VzIHRoaXMgdGhlIGJhc2UgY2xhc3MgaXMgcmVhZHkuCgoyMDE1LTAxLTEzIDE2OjQ2OjEwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIFJldmVydCAiYXVkaW92aXN1YWxpemVyOiByZW1vdmUgdW51c2VkIHZhbHVlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI1Yzk3NTcwODM0ZDZkZTFjMTQ0MjRlNzEyMjFkMTllYjBkMzNlZTMuCgkgIEl0IGlzIHByZWZlcmFibGUgdG8gaGFuZGxlIHRoZSByZXR1biBvZiB0aGUgc2V0dXAgZnVuY3Rpb24uCgoyMDE1LTAxLTEzIDE3OjQ0OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEdldCBvdXIgb3duICJzdGFydCB0aW1lIiBpbnN0ZWFkIG9mIHRoZSBvbmUgb2YgdGhlIHBpcGVsaW5lCgkgIGRlY2tsaW5rdmlkZW9zaW5rIG1pZ2h0IGJlIGFkZGVkIGxhdGVyIHRvIHRoZSBwaXBlbGluZSwgb3IgaXRzIHN0YXRlIG1pZ2h0CgkgIGJlIGhhbmRsZWQgc2VwYXJhdGVseSBmcm9tIHRoZSBwaXBlbGluZS4gSW4gd2hpY2ggY2FzZSB0aGUgcnVubmluZyB0aW1lIHdoZW4KCSAgd2UgKGxhc3QpIHdlbnQgaW50byBQTEFZSU5HIHN0YXRlIHdpbGwgYmUgZGlmZmVyZW50IGZyb20gdGhlIHBpcGVsaW5lJ3MuCgkgIEhvd2V2ZXIgd2UgbmVlZCBvdXIgb3duIHN0YXJ0IHRpbWUgdG8gdGVsbCB0aGUgRGVja2xpbmsgQVBJLCB3aGljaCBydW5uaW5nCgkgIHRpbWUgc2hvdWxkIGJlIGRpc3BsYXllZCBhdCB0aGUgbW9tZW50IHdlIGdvIHRvIFBMQVlJTkcgYW5kIHN0YXJ0IHNjaGVkdWxlZAoJICByZW5kZXJpbmcuCgoyMDE1LTAxLTEzIDE3OjAwOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJICBpbnRlcjogVXNlIGEgI2RlZmluZSBmb3IgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGNoYW5uZWwgcHJvcGVydHkKCjIwMTUtMDEtMTMgMTY6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcnZpZGVvc3JjOiBNYWtlIHRoZSB0aW1lb3V0IGNvbmZpZ3VyYWJsZSBhZnRlciB3aGljaCB3ZSBzdGFydCBzaG93aW5nIGEgYmxhY2sgZnJhbWUKCjIwMTUtMDEtMTMgMTU6NDI6MjYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIGtsYXNzLT5zZXR1cCAoc2NvcGUpIHdpbGwgYWx3YXlzIHJldHVybiBUUlVFIHNpbmNlIGFsbCBjaGlsZHJlbiBvZiB0aGlzIGNsYXNzCgkgIGRvIHNvLCBubyBuZWVkIHRvIHN0b3JlIHRoZSByZXR1cm4uIEJlc2lkZXMsIHRoZSB2YWx1ZSBpcyBvdmVyd3JpdHRlbiBhIGZldwoJICBsaW5lcyBkb3duIGJlZm9yZSBpdCBpcyB1c2VkLgoJICBDaGFuZ2UgaGVscHMga2VlcCBmaWxlcyBpbiBzeW5jIGFmdGVyOgoJICAtYmFzZSBjb21taXQgYTkxZDUyMWEzNjAyZjMzMDgzNDA1NDY3ZGI5NDU0ZDQyMmI5ZGExYgoKMjAxNS0wMS0xMyAxNDo1NDoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRG9uJ3QgZG8gYW55IGNvbnZlcnNpb25zIGlmIHRoZSBwYWQgaXMgY29tcGxldGVseSB0cmFuc3BhcmVudCBhbnl3YXkKCjIwMTUtMDEtMTIgMTI6NTg6MjcgKzAxMDAgIEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IHNpbGVuY2UgbWVzc2FnZXMgZm9yIGZsdXNoZWQgLyBjcmVhdGVkIHNhbXBsZXMKCSAgVGhlc2UgbWVzc2FnZXMgYXJlIGxvZ2dlZCBwZXJpb2RpY2FsbHkgYW5kIHBvbHV0ZSB0aGUgbG9nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE1OTIKCjIwMTQtMTItMjUgMjM6MTA6MTkgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggbWVtbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxOTQzCgoyMDE0LTEyLTI1IDIyOjU5OjQyICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE5NDMKCjIwMTQtMTItMzEgMTc6NDU6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGFsbG93IHdyYXBwZWQgY29udGV4dHMgdG8gYmUgdXRpbGlzZWQgbGlrZSBub24td3JhcHBlZCBjb250ZXh0cwoJICBGaWxsIGluIHRoZSBtaXNzaW5nIHBpZWNlcyBsaWtlIGdldF9wcm9jX2FkZHJlc3MsIHRoZSBnbCBmdW5jdGlvbiB2dGFibGUKCjIwMTUtMDEtMTIgMjE6MjU6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vLmdpdGlnbm9yZToKCSogZ3N0L2NvbXBvc2l0b3IvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIG1vcmUgZmlsZXMKCjIwMTUtMDEtMTIgMTU6MzM6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdmlzdWFsOiB1c2UgdW51c2VkIHZhbHVlCgkgIHJldCBpcyBhc3NpZ25lZCBidXQgbm90IHVzZWQgYW5kIGluIHRoZSBuZXh0IGN5Y2xlIG9mIHRoZSBsb29wIGl0IGlzIG92ZXJ3cml0dGVuCgkgIHdpdGggZGVmYXVsdF9wcmVwYXJlX291dHB1dF9idWZmZXIgKCkuIElmIHRoZXJlIGlzIGEgZmxvdyBlcnJvciB0aGUgZnVuY3Rpb24KCSAgc2hvdWxkIHJldHVybiBpbnN0ZWFkLgoJICBDSUQgIzEyMjY0NzUKCjIwMTUtMDEtMTIgMTY6MTA6MzEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYyYzZiOTUgdG8gYmM3NmE4YgoKMjAxNS0wMS0xMiAxNTo1Nzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rOiBJbml0aWFsaXplIHJlZmNvdW50IG9mIG91ciBDKysgY2xhc3NlcyBpbiB0aGUgY29uc3RydWN0b3IKCSAgQ0lEIDEyNjIyODgKCSAgQ0lEIDEyNjIyODcKCSAgQ0lEIDEyNjIyODkKCjIwMTUtMDEtMTIgMTQ6MjI6NDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHN0b3JlZCB2YWx1ZSBpcyBvdmVyd3JpdHRlbgoJICBWYWx1ZSBmcm9tIGxlZnRfbHVtaW5hbmNlIGlzIGFzc2lnbmVkIHRvIG91dF9sdW1pbmFuY2UgaGVyZSwgYnV0IHRoYXQgc3RvcmVkCgkgIHZhbHVlIGlzIG5vdCB1c2VkIGJlZm9yZSBpdCBpcyBvdmVyd3JpdHRlbiBpbiB0aGUgbmV4dCBjeWNsZSBvZiB0aGUgbG9vcC4KCSAgUmVtb3ZpbmcgYXNzaWduYXRpb24uCgkgIENJRCAjMTIyNjQ3MwoKMjAxNS0wMS0xMiAxMjo1MDozMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IGRlYWQgY29kZQoJICBmb3VuZCBpcyBpbml0aWFsaXplZCB0byBGQUxTRSB0byB0aGVuIG9ubHkgYmUgdXNlZCBpbiB0d28gY29uZGl0aW9uYWwgc3RhdGVtZW50cwoJICB0aGF0IHdpbGwgYWx3YXlzIGJlIGZhbHNlLCBtYWtpbmcgdGhlIGJsb2NrcyBpbnNpZGUgdGhlbSBkZWFkIGNvZGUuIExvb2tpbmcgYmFjawoJICBpbiB0aGUgZmlsZSdzIGhpc3RvcnkgdGhlIHNldHRpbmcgb2YgdGhlIHZhcmlhYmxlJ3MgdmFsdWUgYmVmb3JlIGl0IGlzIGNoZWNrZWQKCSAgd2FzIGRyb3BwZWQgYXMgcGFydCBvZiB0aGUgcG9ydCB0byAwLjExLCBicmluZ2luZyB0aGF0IHZhbHVlIHNldHRpbmcgYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjYzOAoKMjAxNS0wMS0xMSAyMDo0MDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbWlub3Igb3B0aW1pc2F0aW9uIHdoZW4gc2Nhbm5pbmcgZm9yIFNDUnMKCSAgQmFpbCBvdXQgZWFybHkgd2hlbiB3ZSdyZSBzY2FubmluZyBmb3IgU0NSLCBubyBuZWVkIHRvCgkgIHBhcnNlIHN0dWZmIHdlJ3JlIG5vdCBnb2luZyB0byB1c2Ugbm9yIGludGVyZXN0ZWQgaW4uCgoyMDE1LTAxLTExIDAxOjA4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeCBjb21waWxlciB3YXJuaW5nIGFuZCBzaW1wbGlmeSBjaGVja3MgaW4gc2V0X2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5NQoKMjAxNS0wMS0wMyAxMzowNjo0NSArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHJld29yayBzZXRfZm9ybWF0IGNvZGUgc28gbXBnMTIzYXVkaW9kZWMgd29ya3Mgd2l0aCBkZWNvZGViaW4vcGxheWJpbgoJICBUaGUgb2xkIGNvZGUgd2FzIHVzaW5nIGdzdF9jYXBzX25vcm1hbGl6ZSgpIGFuZCB3YXMgZ2VuZXJhbGx5IG92ZXJseQoJICBjb21wbGV4LiBTaW1wbGlmeSBieSBwaWNraW5nIHNhbXBsZSByYXRlIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMgZnJvbQoJICB1cHN0cmVhbSBhbmQgdGhlIHNhbXBsZSBmb3JtYXQgZnJvbSB0aGUgYWxsb3dlZCBjYXBzLiBJZiB0aGUgZm9ybWF0IGNhcHMKCSAgaXMgYSBsaXN0IG9mIHN0cmlucywganVzdCBwaWNrIHRoZSBmaXJzdCBvbmUuIEFuZCBpZiB0aGUgc3JjcGFkIGlzbid0CgkgIGxpbmtlZCB5ZXQsIHVzZSB0aGUgZGVmYXVsdCBmb3JtYXQgKFMxNikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTUKCjIwMTUtMDEtMTAgMTU6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBEaXNhYmxlIGhhY2sgZm9yIE5TQXBwIGl0ZXJhdGlvbiB3aXRoIGEgc3BlY2lhbCAjZGVmaW5lCgkgIFRoZSBoYWNrIGNhdXNlcyBkZWFkbG9ja3MgYW5kIG90aGVyIGludGVyZXN0aW5nIHByb2JsZW1zIGFuZCBpdCByZWFsbHkKCSAgY2FuIG9ubHkgYmUgZml4ZWQgcHJvcGVybHkgaW5zaWRlIEdMaWIuIFdlIHdpbGwgaW5jbHVkZSBhIHBhdGNoIGZvcgoJICBHTGliIGluIG91ciBidWlsZHMgZm9yIG5vdyB0aGF0IGhhbmRsZXMgdGhpcywgYW5kIGhvcGVmdWxseSBhdCBzb21lCgkgIHBvaW50IEdMaWIgd2lsbCBhbHNvIG1lcmdlIGEgcHJvcGVyIHNvbHV0aW9uLgoJICBBIHByb3BlciBzb2x1dGlvbiB3b3VsZCBmaXJzdCByZXF1aXJlIHRvIHJlZmFjdG9yIHRoZSBwb2xsaW5nIGluCgkgIEdNYWluQ29udGV4dCB0byBvbmx5IHByb3ZpZGUgYSBzaW5nbGUgZmQsIGUuZy4gdmlhIGVwb2xsL2txdWV1ZQoJICBvciBhIHRocmVhZCBsaWtlIHRoZSBvbmUgYWRkZWQgYnkgb3VyIHBhdGNoLiBUaGVuIHRoaXMgc2luZ2xlCgkgIGZkIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBHTWFpbkNvbnRleHQgYW5kIGRpcmVjdGx5IGludGVncmF0ZWQKCSAgaW50byBhIE5TUnVuTG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0Mzc0CgoyMDE1LTAxLTEwIDE1OjQwOjMwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBpbnRlcmF1ZGlvc3JjIC0gZml4YXRlIGxheW91dCBmb3IgZGVmYXVsdCBjYXBzCgkgIE1ha2VzIGludGVyYXVkaW9zcmMgcHJvZHVjZSB2YWxpZCBhdWRpbyBjYXBzIGluIHRoZSBhYnNlbmNlIG9mIGFueSBvdGhlcgoJICBndWlkYW5jZSBieSBhZGRpbmcgdG8gdGhlIHBhZCB0ZW1wbGF0ZSBhbmQgZml4YXRlIGZ1bmN0aW9uCgoyMDE1LTAxLTA5IDIxOjUxOjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW1vdmUgcG9pbnRsZXNzIGF0b21pYwoJICBJdCBpcyBvbmx5IG1vZGlmaWVkIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTUtMDEtMDkgMjE6MzA6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBxdWVyeSBsZWFrCgoyMDE1LTAxLTA5IDE3OjU2OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIGNoZWNrIGZvciBiZWxvdyB6ZXJvIGZvciB1bnNpZ25lZCB2YWx1ZQoJICBDTEFNUCBjaGVja3MgYm90aCBpZiB2YWx1ZSBpcyAnPCAwJyBhbmQgJz4gbWF4Jy4gVmFsdWUgd2lsbCBuZXZlciBiZSBhIG5lZ2F0aXZlCgkgIG51bWJlciBzaW5jZSBpdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLiBSZW1vdmluZyB0aGF0IGNoZWNrIGFuZCBvbmx5IGNoZWNraW5nIGlmCgkgIGl0IGlzIGJpZ2dlciB0aGFuIG1heCBhbmQgc2V0dGluZyBpdCBhcHByb3ByaWF0ZWx5LgoJICBBbHNvIGNvbnZlcnRpbmcgdGhlIHByZXZpb3VzIGluc3RhbmNlIG9mIHRoaXMgaW50byBNSU4oKSBmb3IgY29uc2lzdGVuY3kuCgkgIENJRCAxMTM5NzkzCgoyMDE0LTEyLTAyIDEwOjEwOjM5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0KCSAgU29tZSB2aWRlbyBiaXRzdHJlYW1zIHJlcG9ydCBhIHRvbyByZXN0cmljdGl2ZSBzZXQgb2YgcHJvZmlsZXMuIElmIGEgdmlkZW8KCSAgZGVjb2RlciB3YXMgdG8gc3RyaWN0bHkgZm9sbG93IHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSwgaXQgd291bGRuJ3Qgc3VwcG9ydCB0aGF0CgkgIHN0cmVhbSwgd2hlcmVhcyBpdCBjb3VsZCBpbiB0aGVvcnkgYW5kIGluIHByYWN0aWNlLiBTbyB3ZSBzaG91bGQgcmVsYXggdGhlCgkgIHByb2ZpbGUgcmVzdHJpY3Rpb24gZm9yIGFsbG93aW5nIHRoZSBkZWNvZGVyIHRvIGdldCBjb25uZWN0ZWQgd2l0aCBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTIKCjIwMTUtMDEtMDkgMTY6NDM6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByaW50IGppdHRlciBmcm9tIGNsb2NrIHdhaXRpbmcgaW4gdGhlIGRlYnVnIGxvZ3MKCjIwMTUtMDEtMDkgMTQ6NDI6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgY2hlY2sgaWYgYmVsb3cgemVybyBmb3IgdW5zaWduZWQgdmFsdWUKCSAgQ0xBTVAgY2hlY2tzIGJvdGggaWYgeSBpcyAnPCAwJyBhbmQgJz4gaDEnLiB5IHdpbGwgbmV2ZXIgYmUgYSBuZWdhdGl2ZSBudW1iZXIKCSAgc2luY2UgaXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gUmVtb3ZpbmcgdGhhdCBjaGVjayBhbmQgb25seSBjaGVja2luZyBpZiBpdAoJICBiaWdnZXIgdGhhbiBoMSBhbmQgc2V0dGluZyBpdCB0byB0aGF0IG1heCBhcHByb3ByaWV0YWx5LgoJICBDSUQgMTEzOTc5MgoKMjAxNS0wMS0wOCAxNjoyNDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogY2FjaGUgY3VycmVudCBmaWxlIHBvc2l0aW9uIGluIHRoZSBsaXN0CgkgIEF2b2lkcyBpdGVyYXRpbmcgdGhlIGxpc3QgZXZlcnl0aW1lIHRvIGxvb2sgZm9yIHRoZSBuZXh0IHNlZ21lbnQKCSAgdG8gYmUgdXNlZCAob3IgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBvbmUpLgoKMjAxNS0wMS0wOCAxNTo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBzaW1wbGlmeSBuZXh0IHNlZ21lbnQgY2hlY2tpbmcgZnVuY3Rpb25zCgkgIE9wdGltaXplIGxvb3AgYnkgbW92aW5nIGNvbmRpdGlvbiBvdXRzaWRlIG9mIGl0IGFuZCByZXVzZSB0aGUKCSAgZmluZF9uZXh0X2ZyYWdtZW50IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZXJlIGlzIG5leHQgaW5zdGVhZCBvZgoJICByZXBsaWNhdGluZyB0aGUgc2FtZSBsb29wCgoyMDE1LTAxLTA4IDEzOjAzOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBjYWNoZSB0b3RhbCBkdXJhdGlvbiB0byBhdm9pZCBpdGVyYXRpbmcgYXQgZXZlcnkgcXVlcnkKCSAgRHVyYXRpb24gcXVlcmllcyBjYW4gYmUgZG9uZSBhIGZldyB0aW1lcyBwZXIgc2Vjb25kIGFuZCB3b3VsZCBjYXVzZQoJICB0aGUgc2VnbWVudCBsaXN0IHRvIGJlIHRyYXZlcnNlZCBmb3IgZXZlcnkgb25lLiBDYWNoaW5nIHRoZSBkdXJhdGlvbgoJICBwcmV2ZW50cyB0aGF0LgoKMjAxNS0wMS0wOCAxODoxNToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogUG9zdCBMQVRFTkNZIG1lc3NhZ2Ugd2hlbiB0aGUgbW9kZSBjaGFuZ2VzCgkgIERpZmZlcmVudCBtb2RlcyBoYXZlIGRpZmZlcmVudCBmcmFtZXJhdGVzLCBhbmQgdGh1cyBkaWZmZXJlbnQgbGF0ZW5jaWVzLiBXZQoJICBtaWdodCBuZWVkIHRvIHJlY29uZmlndXJlIHRoZSBsYXRlbmN5IG9mIHRoZSBwaXBlbGluZS4KCjIwMTUtMDEtMDggMTg6MTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE1LTAxLTA4IDE2OjQyOjMxICswMTAwICBGbG9yaWFuIExhbmdsb2lzIDxmbG9yaWFuLmxhbmdsb2lzQGZyLnRoYWxlc2dyb3VwLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCBhdXRvbWF0aWMgbW9kZSBkZXRlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTI4NAoKMjAxNS0wMS0wOCAxNTo1NDoxOCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZ19yZXR1cm5faWZfZmFpbCBpbiBmdW5jdGlvbiB3aXRoIHJldHVybiB0eXBlCgkgIE5lZWQgdG8gdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhIHR5cGUsIGluIHRoaXMKCSAgY2FzZSBhIGdib29sZWFuCgoyMDE1LTAxLTA4IDE1OjM2OjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogdmFsdWUgdHJ1bmNhdGVkIHRvbyBzaG9ydCBjcmVhdGVzIGRlYWQgY29kZQoJICB0eXBlIGlzIHRydW5jYXRlZCB0byAwLTMxIHdpdGggIiYgMHgxZiIsIGJ1dCByaWdodCBhZnRlciB0aGF0IGl0IGlzIGNoZWNrcyBpZgoJICB0aGUgdmFsdWUgaXMgZXF1aXZhbGVudCB0byBHU1RfSDI2NV9OQUxfVlBTLCBHU1RfSDI2NV9OQUxfU1BTLCBhbmQKCSAgR1NUX0gyNjVfTkFMX1BQUyAod2hpY2ggYXJlIDMyLCAzMywgYW5kIDM0IHJlc3BlY3RpdmVseSkuIE9idmlvdXNseSwgdGhpcyB3aWxsCgkgIG5ldmVyIGJlIFRydWUgaWYgdGhlIHZhbHVlIGlzIG1heGltdW0gMzEgYWZ0ZXIgdGhlIHRydW5jYXRpb24uCgkgIFRoZSBpbnRlbnRpb24gb2YgdGhlIGNvZGUgd2FzIHRvIHRydW5jYXRlIHRvIDAtNjMuCgoyMDE1LTAxLTA4IDE1OjI3OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggbmFsIHVuaXQgdHlwZSBjaGVjawoJICBBZnRlciBmdXJ0aGVyIGludmVzdGlnYXRpb24gdGhlIHByZXZpb3VzIGNvbW1pdCBpcyB3cm9uZy4gVGhlIGNvZGUgaW50ZW5kZWQgdG8KCSAgY2hlY2sgaWYgdGhlIHR5cGUgaXMgMzkgb3IgdGhlIHJhbmdlcyA0MS00NCBhbmQgNDgtNTUuIEp1c3QgbGlrZSBnc3RoMjY1cGFyc2UuYwoJICBkb2VzLiBUeXBlIDQwIHdvdWxkIG5vdCBiZSBjb21wbGV0ZS4KCjIwMTUtMDEtMDggMTM6NDc6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBkZWFkIGNvZGUgYW5kIGNoZWNrIGZvciBpbXBvc3NpYmxlIHZhbHVlcwoJICBuYWxfdHlwZSBpcyB0aGUgaW5kZXggZm9yIGEgR3N0SDI2NU5hbFVuaXRUeXBlIGVudW0uIFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgZGVhZAoJICBjb2RlIGhlcmU6CgkgIEZpcnN0LCBhZnRlciBjaGVja2luZyBpZiBuYWxfdHlwZSBpcyA+PSAzOSB0aGVyZSBhcmUgdHdvIE9SIGNvbmRpdGlvbmFscyB0aGF0CgkgIGNoZWNrIGlmIHRoZSB2YWx1ZSBpcyBpbiByYW5nZXMgaGlnaGVyIHRoYW4gdGhhdCBudW1iZXIsIHNvIGlmIG5hbF90eXBlID49IDM5CgkgIGZhbGxzIGluIHRoZSBUcnVlIGJyYW5jaCB0aG9zZSBvdGhlciBjb25kaXRpb25zIGFyZW4ndCBjaGVja2VkIGFuZCBpZiBpdCBmYWxscwoJICBpbiB0aGUgRmFsc2UgYnJhbmNoIGFuZCB0aGV5IGFyZSBjaGVja2VkLCB0aGV5IHdpbGwgYWx3YXlzIGFsc28gYmUgRmFsc2UuIFRoZXkKCSAgYXJlIHJlZHVuZGFudC4KCSAgU2Vjb25kLCB0aGUgZW51bSBoYXMgYSByYW5nZSBvZiAwIHRvIDQwLiBTbyB0aGUgY2hlY2tzIGZvciByYW5nZXMgaGlnaGVyIHRoYW4gNDEKCSAgc2hvdWxkIG5ldmVyIGJlIFRydWUuCgkgIFJlbW92aW5nIHRoaXMgcmVkdW5kYW50IGNoZWNrcy4KCSAgQ0lEIDEyNDk2ODQKCjIwMTUtMDEtMDggMTQ6NDc6MTYgKzAxMDAgIEZsb3JpYW4gWndvY2ggPGZ6d29jaEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVW5sb2NrIHRoZSBzdHJlYW0gbG9jayB3aGlsZSB3YWl0aW5nIGZvciBwZW5kaW5nIGZyYW1lcyB0byBiZSBjb21wbGV0ZWQgaW4gZmluaXNoKCkKCSAgV2UgbWlnaHQgb3RoZXJ3aXNlIGRlYWRsb2NrIGJlY2F1c2UgZ3N0X3Z0ZW5jX2VucXVldWVfYnVmZmVyKCkgY2FuIGJlCgkgIGNhbGxlZCBhZ2FpbiBhbmQgd2lsbCB0YWtlIHRoZSBzdHJlYW0gbG9jayBhZ2FpbiBmcm9tIGFub3RoZXIgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMTc0CgoyMDE1LTAxLTA4IDA4OjQ2OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGltcGxlbWVudCBfaGFzX25leHRfZnJhZ21lbnQgdG8gYXZvaWQgYnVzeSBsb29waW5nCgkgIEl0IHdpbGwgYWxsb3cgdGhlIGRlbXV4ZXIgdG8gd2FpdCBmb3IgYSBmcmFnbWVudCB0byBiZSBhdmFpbGFibGUgaW5zdGVhZAoJICBvZiBidXN5IGxvb3BpbmcgcG9sbGluZyB0aGUgcGxheWxpc3QgZm9yIGEgbmV3IGZyYWdtZW50CgoyMDE1LTAxLTA4IDEyOjU1OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEFkZCBhIGR1bW15IHZhbHVlIHRvIHRoZSB2aWRlbyBjb25uZWN0aW9uIG1hcHBpbmcgdGFibGUgZm9yIGF1dG8KCjIwMTUtMDEtMDggMTI6NDg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGF1ZGlvIGlucHV0IGNvbm5lY3Rpb24KCjIwMTUtMDEtMDggMTI6MjM6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEFkZCBYTFIgYW5kIFJDQSBhdWRpbyBjb25uZWN0aW9uIGVudW1zCgoyMDE1LTAxLTA4IDEyOjE3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIGF1dG8gdmFsdWUgZm9yIHRoZSBjb25uZWN0aW9uIHByb3BlcnR5CgkgIFRoaXMgd2lsbCB1c2UgdGhlIGRlZmF1bHQvYXV0byBjb25uZWN0aW9uIGZvciB2aWRlbyBjYXB0dXJpbmcsIGFuZCBjYW4KCSAgYmUgc2V0IHZpYSB0aGUgRGVja2xpbmsgY29uZmlndXJhdGlvbiB0b29scy4KCjIwMTUtMDEtMDggMTI6MTM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24gb25jZSBhZ2FpbgoKMjAxNS0wMS0wNiAxNDowMjozOCArMDEwMCAgRmxvcmlhbiBMYW5nbG9pcyA8Zmxvcmlhbi5sYW5nbG9pc0Bmci50aGFsZXNncm91cC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IGZvciBjb25maWd1cmluZyB0aGUgaW5wdXQgY29ubmVjdGlvbiBvZiB0aGUgdmlkZW8gc291cmNlcwoKMjAxNS0wMS0wOCAwOTozNToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IERvbid0IGluaXQgYW5kIGNsZWFyIHN0YXRpYyBHTXV0ZXggLyBHQ29uZAoJICBXZSB3b3VsZCBwb3RlbnRpYWxseSB1c2UgaXQgZnJvbSB0aGUgbWFpbiBsb29wIGxhdGVyIGluCgkgIGdzdF9nbF93aW5kb3dfY29jb2FfaW5pdF9uc2FwcCgpIGlmIGl0IHRpbWVkIG91dCBiZWZvcmUuCgoyMDE1LTAxLTA3IDE2OjUzOjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiByZW1vdmUgbG9naWNhbGx5IGRlYWQgY29kZQoJICBTb29uIGFmdGVyIHNldHRpbmcgdHdvIHZhcmlhYmxlcyB0byAxLCB0aGUgY29kZSBjaGVja3MgaWYgdGhlaXIgdmFsdWVzIGFyZQoJICBkaWZmZXJlbnQgZnJvbSBlYWNoIG90aGVyLiBUaGlzIHdvdWxkIG5ldmVyIGJlIHRydWUuIFJlbW92aW5nIHRoaXMuCgkgIENJRCAxMjI2NDQzCgoyMDE1LTAxLTA3IDE2OjQwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIFJldmVydCAicG5ncGFyc2U6IGltcHJvdmUgcGFyc2luZyBvZiB0aGUgaW1hZ2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTllN2YwNTk3ZDFjYzUyNDE3NGU4NDdkZTdiOTE0MDc5MjIzMDRjOC4KCSAgVGhpcyBwYXRjaCBzaG91bGQgbm90IGhhdmUgYmVlbiBwdXNoZWQsIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDU4I2MzCgoyMDE1LTAxLTA3IDE2OjI2OjU3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSB1bm5lZWRlZCBjaGVjawoJICBWYXJpYWJsZSBoYW5kcyBpcyBhbHJlYWR5IGNoZWNrZWQgdG8gY29udGFpbiBhIHZhbHVlIHByZXZpb3VzbHkgYXQgdGhlIGJlZ2lubmluZwoJICBvZiB0aGUgY3VycmVudCBibG9jayAoaW4gbGluZSA1MDQpLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluLiBUaGlzIGlzCgkgIGxvZ2ljYWxseSBkZWFkIGNvZGUuCgkgIENJRCAxMTk3NjkzCgoyMDE0LTExLTEzIDE1OjU2OjA3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJICBwbmdwYXJzZTogaW1wcm92ZSBwYXJzaW5nIG9mIHRoZSBpbWFnZQoJICBFdmVyeXRpbWUgYSBidWZmZXIgaXMgYmVpbmcgcHJvdmlkZWQgZnJvbSBiYXNlcGFyc2UsIHdlIGFyZSBwYXJzaW5nIGFsbCB0aGUgZGF0YSBmcm9tIHRoZSBiZWdpbm5pbmcuCgkgIEJ1dCBzaW5jZSB3ZSB3b3VsZCBoYXZlIGFscmVhZHkgcGFyc2VkIHNvbWUgb2YgdGhlIGRhdGEgaW4gdGhlIHByZXZpb3VzIGl0ZXJhdGlvbnMsCgkgIGl0IGRvZXNudCBtYWtlIG11Y2ggc2Vuc2UgdG8ga2VlcCBwYXJzaW5nIHRoZSBzYW1lIGV2ZXJ5dGltZS4KCSAgSGVuY2Ugc2tpcHBpbmcgdGhlIGRhdGEgd2hpY2ggaXMgYWxyZWFkeSByZWFkIGluIHByZXZpb3VzIGl0ZXJhdGlvbnMgdG8gaW1wcm92ZSB0aGUgcGFyc2luZyBwZXJmb3JtYW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA1OAoKMjAxNS0wMS0wNyAxNTozMjowNSArMDEwMCAgRmxvcmlhbiBMYW5nbG9pcyA8Zmxvcmlhbi5sYW5nbG9pc0Bmci50aGFsZXNncm91cC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBsYXRlbmN5IHZhbHVlcyBmb3Igc291cmNlcwoKMjAxNS0wMS0wNyAxMDoyMzozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgZHVwbGljYXRlIGNhbGwgdG8gdXJpX2pvaW4KCjIwMTUtMDEtMDcgMDk6MzA6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogc2tpcCBjaGVja2luZyAnI0VYVC1YLScgdG9rZW4gZm9yIGFsbCBlbnRyaWVzCgkgIFB1dCB0aGlzIGNvbW1vbiBjaGVjayBiZWZvcmUgdG8gYXZvaWQgcmVwZWF0aW5nIGl0IGZvciBhbGwgcG9zc2libGUKCSAgZW50cmllcyB0byBzYXZlIHNvbWUgY3ljbGVzCgoyMDE1LTAxLTA3IDA5OjIxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGF2b2lkIHVzaW5nIGdfbGlzdF9hcHBlbmQgZm9yIGNyZWF0aW5nIHNlZ21lbnRzIGxpc3QKCSAgVXNlIGdfbGlzdF9wcmVwZW5kIGFuZCByZXZlcnNlIGl0IGF0IHRoZSBlbmQgdG8gc2tpcCB0cmF2ZXJzaW5nIHRoZQoJICBzYW1lIGxpc3QgZm9yIGV2ZXJ5IG5ldyBzZWdtZW50CgoyMDE0LTA2LTIwIDEyOjM4OjU5IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBEb24ndCB1c2UgYXBwcm94aW1hdGUgZHVyYXRpb24gZm9yIGZyYWdtZW50IGJ1ZmZlciBwdHMKCSAgVGhlIGR1cmF0aW9uIHZhbHVlcyBpbiBwbGF5bGlzdHMgYXJlIGFwcHJveGltYXRlIG9ubHksIGFuZCBmb3IKCSAgcGxheWxpc3QgdmVyc2lvbnMgMiBhbmQgb2xkZXIgdGhleSBhcmUgb25seSByb3VuZGVkIGludGVnZXIgdmFsdWVzLgoJICBUaGV5IGNhbm5vdCBiZSB1c2VkIHRvIHRpbWVzdGFtcCBidWZmZXJzLiAgVGhpcyByZXN1bHRlZCBpbiBwbGF5YmFjawoJICBnYXBzIGFuZCBza2lwcyBiZWNhdXNlIHRoZSBhY3R1YWwgZHVyYXRpb24gb2YgZnJhZ21lbnRzIGlzIHNsaWdodGx5CgkgIGRpZmZlcmVudC4gIFRoZSBzb2x1dGlvbiBpcyB0byBvbmx5IHNldCB0aGUgcHRzIG9mIHRoZSB2ZXJ5IGZpcnN0CgkgIGJ1ZmZlciBwcm9jZXNzZWQsIG5vdCBmb3IgZWFjaCBmcmFnbWVudC4KCjIwMTUtMDEtMDYgMTg6NDQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogb25seSB1cGRhdGUgc2VnbWVudCBpZiB3ZSBoYXZlIGEgdmFsaWQgUFRTCgkgIE90aGVyd2lzZSB3ZSBzZXQgdGhlIHBvc2l0aW9uIHRvIEdTVF9DTE9DS19USU1FX05PTkUgYW5kIGl0IGRpc3J1cHRzCgkgIGJpdHJhdGUgc3dpdGNoaW5nCgoyMDE1LTAxLTA3IDExOjMxOjMwICswNTMwICBSYWphdCBWZXJtYSA8cmFqYXQudmVybWFAc3QuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGNyYXNoIHdoaWxlIHNldHRpbmcgYml0cmF0ZSBpbiBjYXBzIHN0cnVjdHVyZQoJICBxLT5iaXRyYXRlIGlzIGEgZ3VpbnQ2NCwgYnV0IEdfVFlQRV9JTlQgbWF5IHJlYWQgZmV3ZXIgYml0cwoJICBvZmYgdGhlIHN0YWNrLCBhbmQgaWYgd2UgcGFzcyBtb3JlIHRoZW4gdGhlIE5VTEwgc2VudGluZWwKCSAgbWF5IG5vdCBiZSBmb3VuZCBhdCB0aGUgcmlnaHQgcGxhY2UsIHdoaWNoIGluIHR1cm4gbWlnaHQKCSAgbGVhZCB0byBjcmFzaGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNzUxCgoyMDE1LTAxLTAyIDAwOjU5OjAwICswMDAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggcGVyaW9kaWMgU1BTL1BQUyBzZW5kaW5nIHdvcmsgYWZ0ZXIgYSBzZWVrCgkgIFJlc2V0IHRoZSBpbnRlcnZhbCB2YXJpYWJsZSB0byBoYXZlIFNQUy9QUFMgc2VuZGluZyB3b3JrIGFmdGVyCgkgIGEgKGJhY2t3YXJkcykgc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjIxMgoKMjAxNS0wMS0wNSAyMToyNjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggZGVhZGxvY2sgd2l0aCBwYWQgb2JqZWN0IGxvY2sKCSAgVGhlIGltYWdlIGNhcHR1cmUgbXV0ZXggYW5kIHRoZSBwYWQgb2JqZWN0IGxvY2sgd291bGQgY2F1c2UgYSByYWNlCgkgIGlmIHRoZSBwYWQgcXVlcnkgd2FzIG1hZGUgcmlnaHQgd2hlbiB0aGUgaW1hZ2UgcHJvYmUgd2FzIHJ1bm5pbmcuCgkgIFRoZSBpbWFnZSBwcm9iZSBuZWVkcyB0aGUgY2FwdHVyZSBtdXRleCBhbmQgdGhlIHF1ZXJ5aW5nIHdvdWxkIG5lZWQKCSAgdGhlIHBhZCBvYmplY3QgbG9jay4KCjIwMTUtMDEtMDUgMTU6MTY6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc2ltcGxpZnkgd2VpcmQgaWYvZWxzZSBjbGF1c2UKCSAgSXQgaXMgbm90IGFuIGlmL2Vsc2Ugc2l0dWF0aW9uIGJ1dCBhbiBpZiBlcnJvciBhYm9ydCBvdGhlcndpc2UKCSAganVzdCBjb250aW51ZS4gUmVtb3ZlIGVsc2UgdG8gbWFrZSBpdCBtb3JlIHJlYWRhYmxlCgoyMDE0LTA0LTA0IDE2OjQ1OjUxICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBsaXZlIHNlZWtpbmcKCSAgaGxzZGVtdXggYXNzdW1lcyB0aGF0IHNlZWtpbmcgaXMgbm90IGFsbG93ZWQgZm9yIGxpdmUgc3RyZWFtcywKCSAgaG93ZXZlciBzZWVrIGlzIHBvc3NpYmxlIGlmIHRoZXJlIGFyZSBzdWZmaWNpZW50IGZyYWdtZW50cyBpbiB0aGUKCSAgbWFuaWZlc3QuIEZvciBleGFtcGxlIHRoZSBCQkMgaGF2ZSBsaXZlIHN0cmVhbXMgdGhhdCBjb250YWluIDIgaG91cnMKCSAgb2YgZnJhZ21lbnRzLgoJICBUaGUgc2VlayBjb2RlIGZvciBib3RoIGxpdmUgYW5kIG9uLWRlbWFuZCBpcyBjb21tb24gY29kZS4gVGhlCgkgIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIGlzIHRoYXQgYW4gb2Zmc2V0IGhhcyB0byBiZSBjYWxjdWxhdGVkCgkgIGZvciB0aGUgdGltZWNvZGUgb2YgdGhlIGZpcnN0IGZyYWdtZW50IGluIHRoZSBsaXZlIHBsYXlsaXN0LgoJICBXaGVuIGhsc2RlbXV4IHN0YXJ0cyB0byBwbGF5IGEgbGl2ZSBzdHJlYW0sIHRoZSBwb3NzaWJsZSBzZWVrIHJhbmdlCgkgIGlzIGJldHdlZW4gMCBhbmQgQSBzZWNvbmRzLiBBZnRlciBzb21lIHRpbWUgaGFzIHBhc3NlZCwgdGhlIGJlZ2lubmluZyBvZgoJICB0aGUgc3RyZWFtIHdpbGwgbm8gbG9uZ2VyIGJlIGF2YWlsYWJsZSBpbiB0aGUgcGxheWxpc3QgYW5kIHRoZSBzZWVrCgkgIHJhbmdlIGlzIGJldHdlZW4gQiBhbmQgQyBzZWNvbmRzLgoJICBTZWVrIHJhbmdlOgoJICBzdGFydCAgICAgICAgICAwIC4uLi4uLi4uLi4uIEEKCSAgbGF0ZXIgICAgICAgICAgICAgICBCIC4uLi4uLi4uLi4uIEMKCSAgVGhpcyBjb21taXQgYWRkcyBjb2RlIHRvIGtlZXAgYSBub3RlIG9mIHRoZSBCIGFuZCBDIHZhbHVlcwoJICBhbmQgdGhlIGhpZ2hlc3Qgc2VxdWVuY2UgbnVtYmVyIGl0IGhhcyBzZWVuLiBFdmVyeSB0aW1lIGl0IHVwZGF0ZXMgdGhlCgkgIG1lZGlhIHBsYXlsaXN0LCBpdCB3YWxrcyB0aGUgbGlzdCBvZiBmcmFnbWVudHMsIHNlZWluZyBpZiB0aGVyZSBpcyBhCgkgIGZyYWdtZW50IHdpdGggc2VxdWVuY2UgbnVtYmVyID4gaGlnaGVzdF9zZWVuX3NlcXVlbmNlLiBJZiBzbywgdGhlIHZhbHVlcwoJICBvZiBCIGFuZCBDIGFyZSB1cGRhdGVkLiBUaGUgdmFsdWUgb2YgQiBpcyB1c2VkIHdoZW4gdGltZXN0YW1waW5nCgkgIGJ1ZmZlcnMuCgkgIEl0IGFsc28gbWFrZXMgc3VyZSB0aGUgc2VlayByYW5nZSBpcyBuZXZlciBjbG9zZXIgdGhhbiB0aHJlZSBmcmFnbWVudHMKCSAgZnJvbSB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdCAtIHNlZSA2LjMuMy4gIlBsYXlpbmcgdGhlIFBsYXlsaXN0IGZpbGUiCgkgIG9mIHRoZSBITFMgZHJhZnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0MzUKCjIwMTUtMDEtMDUgMTc6NTg6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBwcmVwYXJlIGZvciBzdXBwb3J0aW5nIHNlZWtzIGluIGxpdmUgc3RyZWFtcwoJICBBZGQgZnVuY3Rpb24gdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBzcGVjaWZ5IHNlZWtpbmcgcmFuZ2UgZm9yCgkgIGxpdmUgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDM1CgoyMDE1LTAxLTA0IDE3OjE1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkb24ndCB1c2UgaXRlcmF0b3Igd2hlbiBzZXR0aW5nIGZsdXNoIHBlbmRpbmcgb24gcGFkcwoKMjAxNS0wMS0wNCAxNjo1NzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogY2hlY2sgaWYgcGFkcyBhcmUgcmVhZHkgbW9yZSBlZmZpY2llbnRseQoJICBObyBuZWVkIHRvIHVzZSBhbiBpdGVyYXRvciBmb3IgdGhpcyB3aGljaCBjcmVhdGVzIGEgdGVtcG9yYXJ5CgkgIHN0cnVjdHVyZSBldmVyeSB0aW1lIGFuZCBhbHNvIGludm9sdmVzIHRha2luZyBhbmQgcmVsZWFzaW5nIHRoZQoJICBvYmplY3QgbG9jayBtYW55IHRpbWVzIGluIHRoZSBjb3Vyc2Ugb2YgaXRlcmF0aW5nLiBOb3QgdG8gbWVudGlvbgoJICBhbGwgdGhhdCBHTGlzdCBoYW5kbGluZyBpbiBnc3RfYWdncmVnYXRvcl9pdGVyYXRlX3NpbmtwYWRzKCkuCgoyMDE1LTAxLTA0IDEyOjU5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBuYW1lIHZmdW5jIGFyZ3VtZW50cyBjb25zaXN0ZW50bHkKCjIwMTQtMTItMzEgMjA6NDc6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbm9kaXN0IGZvciBvcmMgZ2VuZXJhdGVkIGNvZGUKCjIwMTUtMDEtMDEgMTU6NDY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBnLWkgdHJhbnNmZXIgYW5kIHNjb3BlIGFubm90YXRpb25zCgoyMDE1LTAxLTAxIDE0OjEwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZWdpc3RlciBuYW1lcyBvZiBpdGVyYXRlX3NpbmtwYWRzIGZ1bmN0aW9ucyB3aXRoIGRlYnVnIHN5c3RlbQoKMjAxNS0wMS0wMSAxNDowMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVkdWNlIGRlYnVnIG1lc3NhZ2VzIGZvciB0YWtpbmcvcmVsZWFzaW5nIGxvZ3MgdG8gVFJBQ0UgbGV2ZWwKCSAgRG9uJ3Qgc3BhbSBkZWJ1ZyBsb2cgd2l0aCB0aGlzIHN0dWZmLgoKMjAxNC0xMi0zMSAxODoxNjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBtb3ZlIHByb3BlcnR5IG1lbWJlciBpbnRvIHByaXZhdGUgc3RydWN0dXJlCgkgIE91ciBsb2NraW5nIChvciBsYWNrIHRoZXJlb2YpIHdoaWxlIGFjY2Vzc2luZyB0aGlzIGFsc28KCSAgbG9va3MgZ2VuZXJhbGx5IHF1aXRlIGRvZGd5LgoKMjAxNC0xMi0zMSAxNDo1MDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgZnVuY3Rpb24KCjIwMTQtMTItMzAgMjM6NTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogZ2l2ZSBwcml2YXRlIGZ1bmN0aW9ucyBuYW1lc3BhY2UgcHJlZml4CgkgIEVzcGVjaWFsbHkgdGhlIEdTVF9ERUJVR19GVU5DUFRSIG9uZXMuCgoyMDE0LTEyLTMxIDEyOjM1OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBmaXggdXAgc29tZSBkb2NzIGNvbW1lbnRzIGluIGhlYWRlcgoKMjAxNC0xMi0zMCAyMzo0NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgbm93LXVudXNlZCBzeXN0ZW0gY2xvY2sgbWVtYmVyCgoyMDE0LTEyLTMwIDE5OjQzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbG1peGVyLCBnbHZpZGVvbWl4ZXI6IHVwZGF0ZSBmb3IgR3N0QWdncmVnYXRvclBhZEZvcmVhY2hGdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxOToyNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHVwZGF0ZSBmb3IgYWdncmVnYXRvciBzdGFydC9zdG9wIHZmdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxOToyMjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBtYWtlIEdzdEFnZ3JlZ2F0b3JQYWRGb3JlYWNoRnVuYyB0YWtlIGFuIEdzdEFnZ3JlZ2F0b3JQYWQKCjIwMTQtMTItMzAgMTg6MDE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHVwZGF0ZSBmb3IgYWdncmVnYXRvciBzdGFydC9zdG9wIHZmdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxNzo1NjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1cGRhdGUgZm9yIGFnZ3JlZ2F0b3Igc3RhcnQvc3RvcCB2ZnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTc6NTA6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGJyaW5nIHN0YXJ0L3N0b3AgdmZ1bmMgc2VtYW50aWNzIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlY2xhc3NlcwoJICBTdWItY2xhc3Mgc2hvdWxkIG5vdCBoYXZlIHRvIGNoYWluIHVwIHRvIEdzdEFnZ3JlZ2F0b3IncyBzdGFydC9zdG9wCgkgIHZmdW5jcywgc2FtZSBhcyBpbiBHc3RCYXNlU3JjLCBHc3RCYXNlU2luaywgR3N0QmFzZVRyYW5zZm9ybSBldGMuCgoyMDE0LTEyLTMwIDE1OjI5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBmaXggb3V0cHV0LWJsb2NrLXNpemUgcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTQtMTItMzAgMDg6MDc6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG9ubHkgdHlwZWZpbmQgd2hlbiB3ZSBoYXZlIGEgbWluaW11bSBhbW91bnQgb2YgZGF0YQoJICBGb3Igc21hbGwgYW1vdW50cyBzb21lIGRhdGEgbWlnaHQgYmUgbWlzdHlwZWQgYW5kIGl0IHdvdWxkIGNhdXNlCgkgIHRoZSBwaXBlbGluZSB0byBmYWlsLiBGb3IgZXhhbXBsZSBpZiB5b3UgaGF2ZSBBQUMgaW5zaWRlIG1wZWd0cywKCSAgZm9yIHNtYWxsIGFtb3VudHMsIHRoZSBBQUMgc2FtcGxlcyB3b3VsZCBjYXVzZSB0aGUgdHlwZWZpbmRlciB0bwoJICB0aGluayBpdCBpcyBBQUMgYW5kIG5vdCBtcGVndHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNjEKCjIwMTQtMTItMjkgMTE6NDk6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciA0SyAvIFVIRCBtb2RlcwoKMjAxNC0xMi0yOSAxMTo0OTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uCgoyMDE0LTEyLTI5IDEwOjQ0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgdHJ5IHRvIHJlZiBudWxsIHBvaW50ZXIKCSAgUGxheWxpc3RzIG1pZ2h0IGJlIG1pc3NpbmcgdGhlIGF2YWlsYWJpbGl0eSBzdGFydCB0aW1lLCBzbyBjaGVjayBmb3IKCSAgaXQgYmVmb3JlIHRyeWluZyB0byByZWYgdGhlIG9iamVjdAoKMjAxNC0xMi0yOSAxMDo0NDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcnVuIGdzdC1pbmRlbnQgb24gbXBkcGFyc2VyCgkgIFJ1biBnc3QtaW5kZW50IG9uIG1wZHBhcnNlciB0byBoYXZlIGl0IHN0b3AgY29tcGxhaW5pbmcgb24gZXZlcnkKCSAgY29tbWl0CgoyMDE0LTEyLTI4IDE4OjI2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgcG9pbnRsZXNzIEdTVF9ERUJVR19GVU5DUFRSCgkgIE5vdCB1c2VmdWwgZm9yIEdPYmplY3QgdmZ1bmNzLgoKMjAxNC0xMi0yOCAxODoyNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIGR1cGxpY2F0ZSBwYWQgcGFyZW50X2NsYXNzIHZhcmlhYmxlCgkgIEdfREVGSU5FX1RZUEUgYWxyZWFkeSBwcm92aWRlcyBvbmUsIGp1c3QgbmVlZCB0byB1c2UgaXQuCgoyMDE0LTEyLTI4IDE4OjIyOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgX0NBU1QoKSB2YXJpYW50cyBmb3IgY2FzdCBtYWNyb3MKCjIwMTQtMTItMjggMDE6MTM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICBhZ2dyZWdhdG9yOiBtYWtlIHBhZGRpbmcgbGFyZ2VyCgkgIEVzcC4gdGhlIGNsYXNzIHN0cnVjdHVyZXMsIGNhbid0IGhhdmUgZW5vdWdoCgkgIHNwYXJlIHNwYWNlIGZvciB2aXJ0dWFsIGZ1bmN0aW9ucy4KCjIwMTQtMTItMjggMDA6NTg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbjogcmVtb3ZlIHVubmVlZGVkIHN0cnVjdHVyZSBwYWRkaW5nCgkgIFB1YmxpYyBoZWFkZXJzIGFyZSBwcml2YXRlIGFuZCBub3QgaW5zdGFsbGVkLgoKMjAxNC0xMi0yNyAxNjoxNTo0MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBMb2cgdG8gdGhlIHBhZCBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50CgkgIE1vcmUgY29ycmVjdCB3YXkgb2YgZG9pbmcgdGhlIHNhbWUgdGhpbmcgYXMgYmVmb3JlCgoyMDE0LTEyLTI3IDE1OjUwOjE3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogUG9pbnQgdG8gY29tcG9zaXRvciBmb3IgdGhlIHBhZCBwcm9wZXJ0aWVzIGRvY3VtZW50YXRpb24KCjIwMTQtMTItMjcgMTU6NDk6NDcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRG9jdW1lbnQgdGhlIHBhZCBwcm9wZXJ0aWVzCgoyMDE0LTEyLTI3IDE1OjQ5OjM5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvY3VtZW50IHRoZSBwYWQgcHJvcGVydGllcwoKMjAxNC0xMi0yNyAwOTo0OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTWFrZSBzdXJlIHRoYXQgdGhlIG1pbmltdW0gbGF0ZW5jaWVzIGFyZSBuZXZlciBHU1RfQ0xPQ0tfVElNRV9OT05FCgoyMDE0LTEyLTI3IDA5OjQyOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBXYWl0IGZvciB0aGUgbWluaW11bSBsYXRlbmN5LCBub3QgdGhlIG1heGltdW0KCSAgVGhlIG1pbmltdW0gbGF0ZW5jeSBpcyB0aGUgbGF0ZW5jeSB3ZSBoYXZlIHRvIHdhaXQgYXQgbGVhc3QKCSAgdG8gZ3VhcmFudGVlIHRoYXQgYWxsIHVwc3RyZWFtcyBoYXZlIHByb2R1Y2VkIGRhdGEuIFRoZSBtYXhpbXVtCgkgIGxhdGVuY3kgaGFzIG5vIG1lYW5pbmcgbGlrZSB0aGF0IGFuZCBzaG91bGRuJ3QgYmUgdXNlZCBmb3Igd2FpdGluZy4KCjIwMTQtMTItMjcgMDQ6MjE6MzYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2xhbXAgdGhlIG1pbiBsYXRlbmN5IGF0IHRoZSBtYXggaWYgaXQncyBncmVhdGVyCgoyMDE0LTEyLTI3IDA0OjIxOjI2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByaW50IHRoZSBzaW5rcGFkIG5hbWUgd2hpbGUgbG9nZ2luZyBsYXRlbmN5IHF1ZXJpZXMKCSAgVmVyeSB1c2VmdWwgd2hpbGUgZGVidWdnaW5nLgoKMjAxNC0xMi0yNyAwNDoxOTo1MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBUYWtlIHRoZSBzdHJlYW0gbG9jayB3aGVuIGl0ZXJhdGluZyBzaW5rIHBhZHMKCSAgV2hlbiBpdGVyYXRpbmcgc2luayBwYWRzIHRvIGNvbGxlY3Qgc29tZSBkYXRhLCB3ZSBzaG91bGQgdGFrZSB0aGUgc3RyZWFtIGxvY2sgc28KCSAgd2UgZG9uJ3QgZ2V0IHN0YWxlIGRhdGEgYW5kIHBvc3NpYmx5IGRlYWRsb2NrIGJlY2F1c2Ugb2YgdGhhdC4gVGhpcyBmaXhlcwoJICBhIGRlZmluaXRpdmUgZGVhZGxvY2sgaW4gX3dhaXRfYW5kX2NoZWNrKCkgdGhhdCBtYW5pZmVzdHMgd2l0aCBoaWdoIG1heAoJICBsYXRlbmNpZXMgaW4gYSBsaXZlIHBpcGVsaW5lLCBhbmQgZml4ZXMgb3RoZXIgcG9zc2libGUgcmFjZSBjb25kaXRpb25zLgoKMjAxNC0xMi0yNiAyMzowNTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBkbyBub3Qgc2V0IHNvdXJjZSBzdGF0ZSB3aXRoIGxvY2sKCSAgSXQgbWlnaHQgYmUgcmFjeSB3aXRoIHRoZSBpbWFnZSBwcm9iZSB0aHJlYWQgYXMgaXQgdXNlcyB0aGUgY2FwdHVyZQoJICBtdXRleCBqdXN0IGxpa2UgdGhlIHN0YXJ0LWNhcHR1cmUgaGFuZGxlciBmcm9tIGNhbWVyYWJpbi4gVGhlCgkgIHN0YXJ0LWNhcHR1cmUgd291bGQgYmUgd2FpdGluZyBmb3IgdGhlIHNvdXJjZSdzIHN0cmVhbWluZyB0aHJlYWQKCSAgdG8gc3RvcCB0byBiZSBhYmxlIHRvIHNldCB0aGUgc291cmNlIHN0YXRlIHRvIHJlYWR5IHdoaWxlIHRoZQoJICBwcm9iZSB3b3VsZCBiZSBibG9ja2VkIHdhaXRpbmcgdG8gYWNxdWlyZSB0aGUgY2FwdHVyZSBtdXRleC4KCSAgSXQgY2F1c2VzIGEgZGVhZGxvY2suCgoyMDE0LTEyLTI2IDEwOjE3OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHVzZSB0aGUgZHJhaW4gcXVlcnkgaW5zdGVhZCBvZiBmbHVzaAoJICBUaGUgZmx1c2ggbWlnaHQgY2xlYXIgYW55IHBlbmRpbmcgY2FwdHVyZXMgdGhhdCBhcmUgc3RpbGwgaW4KCSAgcXVldWVzIGJlaW5nIHByb2Nlc3NlZCB3aGlsZSB0aGUgZHJhaW4gcXVlcnkgd2lsbCB3YWl0IGZvciB0aG9zZQoJICB0byBiZSBwcm9wZXJseSBkb25lCgoyMDE0LTEyLTI2IDIyOjQ1OjQxICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbXByb3ZlIHRpbWVzdGFtcCBjb2RlCgkgIFVzZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBydW5uaW5nIHRpbWUgYW5kIENNQ2xvY2tHZXRUaW1lIGZyb20gQVZGIHRvIGNvbXB1dGUKCSAgdGltZXN0YW1wcy4KCjIwMTQtMTItMjYgMTE6NDg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHVzZSBwdWJsaWMgQVBJIGZvciBhY2Nlc3Npbmcgc3RyZWFtIGhlYWRlciBhcnJheXMgaW4gY2FwcwoJICBEb24ndCByZWx5IG9uIGNvcmUgaW1wbGVtZW50YXRpb24gZGV0YWlscywgd2hpY2ggYXJlIHByaXZhdGUgYW5kCgkgIG1heSBjaGFuZ2UuIEl0J3MgYWxzbyBub3QgbmVlZGVkIGhlcmUsIHRoZSBwZXJmb3JtYW5jZSBpbXBhY3QgaXMKCSAgY2xvc2UgdG8gbm9uZS4gQWxzbyBjb3B5IGJ1ZmZlciBiZWZvcmUgY2hhbmdpbmcgaXRzIG1ldGFkYXRhLgoKMjAxNC0xMi0yNiAxMToyOToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIHRlc3RzOiBnZHBkZXBheTogdXBkYXRlIGZvciBpbnRlcm5hbCBnZHAgcmVmYWN0b3JpbmcKCSAgVGhpcyB0ZXN0IHVzZXMgc29tZSBpbnRlcm5hbC9wcml2YXRlIEFQSSwgc28gbmVlZHMgdG8KCSAgYmUgdXBkYXRlZCBmb3IgcmVjZW50IGNoYW5nZXMuCgoyMDE0LTEyLTI2IDExOjI3OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiByZWZhY3RvciBwYXlsb2FkaW5nIGNvZGUgYSBsaXR0bGUKCSAgR2V0IHJpZCBvZiBzb21lIGluZGlyZWN0aW9ucyBhbmQgaW5lZmZpY2llbmNpZXMsCgkgIGp1c3QgcGF5bG9hZCB0aGluZ3MgZGlyZWN0bHkgd2hpY2ggZ2l2ZXMgdXMgbW9yZQoJICBjb250cm9sIG92ZXIgd2hhdCBtZW1vcnkgaXMgYWxsb2NhdGVkIHdoZXJlIGFuZAoJICBob3cgYW5kIG1ha2VzIHRoaW5ncyBtdWNoIHNpbXBsZXIuIEluIHBhcnRpY3VsYXIsCgkgIHdlIGNhbiBub3cgYWxsb2NhdGUgdGhlIHBheWxvYWQgaGVhZGVyIHBsdXMgdGhlCgkgIEdzdE1lbW9yeSB0byByZXByZXNlbnQgaXQgaW4gb25lIGdvLgoKMjAxNC0xMi0xNSAwMDo0MToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIGdkcHBheTogcmVmYWN0b3IgYSBsaXR0bGUKCSAgR2V0IHJpZCBvZiBub3ctdXNlbGVzcyBwYWNrZXRpemVyIHN0cnVjdCBhbmQganVzdAoJICBjYWxsIGludGVybmFsIGZ1bmN0aW9ucyBkaXJlY3RseS4gQWxzbyByZW1vdmUKCSAgdmVyc2lvbiBwcm9wZXJ0eSB3aGljaCBpcyBub3cgZGVmdW5jdCwgbm90IGxlYXN0CgkgIGJlY2F1c2Ugd2UgY3JlYXRlIHRoZSBwYWNrZXRpemVyIHdpdGggdGhlCgkgIHZlcnNpb24gaW4gdGhlIGluaXQgZnVuY3Rpb24gYmVmb3JlIGEgdmVyc2lvbgoJICBjYW4gYmUgc2V0LgoKMjAxNC0xMi0xMyAxNjo0NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiBpbml0aWFsaXNlIG1lbW9yeSBvZiBidWZmZXJzIHVzZWQgaW4gdW5pdCB0ZXN0CgoyMDE0LTEyLTEzIDE1OjIzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwcGF5OiBvcHRpbWlzZSBwYXlsb2FkaW5nIG9mIGJ1ZmZlcnMgd2l0aCBtdWx0aXBsZSBtZW1vcmllcwoJICBBZGQgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIGEgcGF5bG9hZCBDUkMgYWNyb3NzIG11bHRpcGxlIG1lbW9yaWVzCgkgIHNvIHdlIGRvbid0IGhhdmUgdG8gbWVyZ2UgYnVmZmVycyB3aXRoIG11bHRpcGxlIG1lbW9yaWVzIGp1c3QgdG8KCSAgY2FsY3VsYXRlIHRoZSBDUkMuIEFsc28gbWFrZSBDUkMgY2FsY3VsYXRpb24gZnVuY3Rpb24gc3RhdGljLAoJICBzaW5jZSBpdCdzIG5vdCB1c2VkIG91dHNpZGUgZGF0YXByb3RvY29sLmggYW5kIG1vdmUgc3BlY2lhbC1jYXNpbmcKCSAgb2YgbGVuZ3RoID0gMCAtPiBDUkMgPSAwIGludG8gQ1JDIGZ1bmN0aW9uIChmcm9tIGNhbGxlcikuCgkgIFBlcmhhcHMgbW9yZSBpbXBvcnRhbnRseSwgc2luY2UgcGF5bG9hZCBDUkMgaXMgb2ZmIGJ5IGRlZmF1bHQ6CgkgIGRvbid0IG1hcCBidWZmZXIgKGFuZCBwb3NzaWJseSBtZXJnZSBtZW1vcmllcyBpbiB0aGUgcHJvY2VzcykKCSAgaWYgd2UgYXJlIG5vdCBnb2luZyB0byB1c2UgaXQgdG8gY2FsY3VsYXRlIGEgQ1JDIGFueXdheS4KCjIwMTQtMTItMTMgMTU6MTk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHBwYXk6IGRhdGFwcm90b2NvbDogZHJvcCBib2d1cyBjb25zdAoJICBEb2Vzbid0IHJlYWxseSBtYWtlIHNlbnNlIGdpdmVuIHRoYXQgd2UgbWFwCgkgIGl0IGFuZCBwb3NzaWJseSBtZXJnZSBtZW1vcmllcyBhbmQgc3VjaC4KCjIwMTQtMTEtMjQgMTI6MTg6MzYgLTA3MDAgIFZpamF5IEpheWFyYW1hbiA8VmlqYXkuSmF5YXJhbWFuQGVjaG9zdGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHR5cGVmaW5kIG1pZ2h0IGZhaWwgaWYgZmlyc3QgYnVmZmVyIGlzIHRvbyBzaG9ydAoJICBJZiB0eXBlZmluZCBmYWlscywgY2hlY2sgdG8gc2VlIGlmIHRoZSBidWZmZXIgaXMgdG9vIHNob3J0IGZvciB0eXBlZmluZC4gSWYgdGhpcyBpcyB0aGUgY2FzZSwKCSAgcHJlcGVuZCB0aGUgZGVjcnlwdGVkIGJ1ZmZlciB0byB0aGUgcGVuZGluZyBidWZmZXIgYW5kIHRyeSBhZ2FpbiB0aGUgbmV4dCB0aW1lIGFyb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQ1OAoKMjAxNC0wOC0yNyAxNjoyNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBwb3J0IHRvIGFkYXB0aXZlIGJhc2UgY2xhc3MKCSAgQ29uZmxpY3RzOgoJICBleHQvaGxzL2dzdGhsc2RlbXV4LmMKCSAgZXh0L2hscy9nc3RobHNkZW11eC5oCgoyMDE0LTEyLTIzIDAxOjUxOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGNoZWNrIGlmIGVsZW1lbnQgZXhpc3RzIGJlZm9yZSBzZXR0aW5nIGl0IHRvIG51bGwKCSAgVW5kZXIgY2VydGFpbiBlcnJvciBjb25kaXRpb25zIGl0IG1pZ2h0IGhhcHBlbiB0aGF0IHRoZSBlbGVtZW50CgkgIGhhcyBiZWVuIGZyZWVkIGFscmVhZHkgYW5kIHRyeWluZyB0byBzZXQgaXQgdG8gTlVMTCBjYXVzZXMgYW4KCSAgYXNzZXJ0aW9uCgoyMDE0LTEyLTIzIDAxOjUxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG1ha2Ugc3VyZSB0YXNrIGhhcyBzdG9wcGVkIGJlZm9yZSBmcmVlaW5nIGl0CgkgIE90aGVyd2lzZSB0aGUgdGhyZWFkIHdpbGwgYmUgcnVubmluZyBhbmQgaXRzIG1lbW9yeSB3aWxsIGdldCBmcmVlZC4KCSAgVGhpcyBsZWFkcyB0byBtZW1vcnkgY29ycnVwdGlvbgoKMjAxNC0xMi0yMyAwMTo0ODo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2VnbWVudCBzdGFydCB3aGVuIGV4cG9zaW5nIG5ldyBzdHJlYW1zCgkgIFNlZ21lbnQgc3RhcnQgbmVlZHMgb25seSB0byBiZSB1cGRhdGVkIHdoZW4gc3RhcnRpbmcgdGhlIHN0cmVhbXMKCSAgb3IgYWZ0ZXIgYSBzZWVrLCBkb2luZyBpdCBkdXJpbmcgYml0cmF0ZSBjaGFuZ2VzIHdpbGwgY2F1c2UgdGhlCgkgIHJ1bm5pbmcgdGltZSB0byBnbyBkaXNjb250aW51b3VzIChqdW1wIGJhY2sgdG8gYSBwcmV2aW91cyB0cykKCSAgYW5kIFFPUyB3aWxsIGRyb3AgYnVmZmVycwoKMjAxNC0xMi0xOSAwMjoyMjo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGxvdyBzdWJjbGFzcyB0byB1c2UgbmV3IHBhZHMgZ3JvdXAgd2hlbiBzd2l0Y2hpbmcgYml0cmF0ZQoJICBGaXggcGFkIGdyb3VwcyBzd2l0Y2hpbmcgd2hlbiBiaXRyYXRlIGNoYW5nZXMgdG8gYWxsb3cgSExTIHRvIHVzZSB0aGlzIGZlYXR1cmUKCjIwMTQtMTItMjMgMTI6MjQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IElmIGdldHRpbmcgYSB0aW1lb3V0IGJlZm9yZSBoYXZpbmcgY2FwcywganVzdCBhZHZhbmNlIG91ciBwb3NpdGlvbgoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhpcyBpcyBhIGxpdmUgcGlwZWxpbmUgYW5kIG5vIHNvdXJjZSBwcm9kdWNlZCBhbnkgYnVmZmVyCgkgIGFuZCBzZW50IG5vIGNhcHMgdW50aWwgdGhlIGFuIG91dHB1dCBidWZmZXIgc2hvdWxkJ3ZlIGJlZW4gcHJvZHVjZWQgYWNjb3JkaW5nCgkgIHRvIHRoZSBsYXRlbmN5LgoKMjAxNC0xMi0yMyAxMjoxNTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTWFrZSBzdXJlIHRvIHJlbGVhc2UgdGhlIGN1cnJlbnQgYnVmZmVyIGluIHJlc2V0KCkKCSAgSWYgd2UgZGlkbid0IG91dHB1dCB0aGUgbGFzdCBvbmUgaW4gYWdncmVnYXRlIGJlY2F1c2Ugd2Ugd2VyZSBzaHV0dGluZyBkb3duCgkgIGVhcmxpZXIgd2UgbWlnaHQgb3RoZXJ3aXNlIGxlYWsgaXQuCgoyMDE0LTEyLTIzIDExOjQ1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQ2hhbmdlIGJsb2Nrc2l6ZSBwcm9wZXJ0eSB0byBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uIGluIHRpbWUgZm9ybWF0CgkgIFRoaXMgbWFrZXMgdGhlIGludGVyZmFjZSBvZiBhdWRpb21peGVyIGluZGVwZW5kZW50IG9mIHRoZSBhY3R1YWwgY2Fwcy4KCjIwMTQtMTItMjMgMTE6NDU6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGxlYWsgZmx1c2gtc3RhcnQgZXZlbnRzCgoyMDE0LTEyLTIzIDEwOjI0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBbHNvIGNoYW5nZSB0aGUgZGVmYXVsdCBsYXRlbmN5IHRvIDAsIG5vdCBqdXN0IHRoZSBtaW5pbXVtCgoyMDE0LTEyLTIzIDA5OjUyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggZG9jcyBhbmQgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgbGF0ZW5jeSBwcm9wZXJ0eQoKMjAxNC0xMi0yMiAyMjoxOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWxzbyBpbmNsdWRlIHRoZSBzdWJjbGFzcyBsYXRlbmN5IGluIHRoZSByZXN1bHQgb2YgdGhlIGxhdGVuY3kgcXVlcnkKCjIwMTQtMTItMjIgMjI6MTE6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogVXNlIHRoZSBzcmMgcXVlcnkgaW1wbGVtZW50YXRpb24gb2YgYWdncmVnYXRvciBhcyB0aGUgZGVmYXVsdCBjYXNlCgoyMDE0LTEyLTIyIDIyOjExOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBVc2UgdGhlIHNyYyBxdWVyeSBpbXBsZW1lbnRhdGlvbiBvZiBhZ2dyZWdhdG9yIGFzIHRoZSBkZWZhdWx0IGNhc2UKCjIwMTQtMTItMjIgMTY6NDU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogdGFrZSBpbnRvIGFjY291bnQgZmlsdGVyIGluIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGNyaXRpY2FscyB3aGVuIGZpbHRlciBjYXBzIGFyZSBwYXNzZWQuCgkgIEFsc28gZml4IHdyb25nIEdTVF9ERUJVR19PQkpFQ1QgdXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxODYzCgoyMDE0LTEyLTIyIDE1OjI2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQb3N0IGEgbGF0ZW5jeSBtZXNzYWdlIGlmIHRoZSB2YWx1ZSBvZiB0aGUgbGF0ZW5jeSBwcm9wZXJ0eSBjaGFuZ2VzCgoyMDE0LTEyLTIyIDE1OjAzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBXYWtlIHVwIHRoZSBzcmMgdGhyZWFkIGFmdGVyIGhhbmRsaW5nIGEgbGF0ZW5jeSBxdWVyeQoJICBEdWUgdG8gY2hhbmdlZCBsYXRlbmNpZXMgb3IgY2hhbmdlZCBsaXZlLW5lc3Mgd2UgbWlnaHQgaGF2ZSB0bwoJICBhZGp1c3QgaWYgd2Ugd2FpdCBvbiBhIGRlYWRsaW5lIGF0IGFsbCBhbmQgaG93IGxvbmcuCgoyMDE0LTEyLTIyIDE1OjAwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBjb3VudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHdlIG5lZWQgdG8gd2FrZSB1cCBidXQgaW5zdGVhZCBjaGVjayBhbGwgY29uZGl0aW9ucyBmb3Igd2FpdGluZyBhZ2FpbgoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYW5kIGFsc28gbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGZvcmdldCB0byBjaGVjayBhbGwKCSAgY29uZGl0aW9ucyBmb3Igd2FpdGluZy4KCSAgQWxzbyBmaXggYSBwb3RlbnRpYWwgZGVhZGxvY2sgY2F1c2VkIGJ5IG5vdCBjaGVja2luZyBpZiB3ZSdyZSBhY3R1YWxseSBzdGlsbAoJICBydW5uaW5nIGJlZm9yZSBzdGFydGluZyB0byB3YWl0LgoKMjAxNC0xMi0yMiAxMTo0OTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBJbnN0ZWFkIG9mIGNyYXNoaW5nIGlmIG5vIGNvcnJlc3BvbmRpbmcgZnJhbWUgaXMgZm91bmQsIGlnbm9yZSB0aGlzCgkgIC4uLiBhbmQgaG9wZSB0aGF0IGV2ZXJ5dGhpbmcgd2lsbCBiZSBmaW5lLiBUaGlzIHNob3VsZG4ndCByZWFsbHkgaGFwcGVuIGJ1dAoJICBwcmV2aW91c2x5IGhhcHBlbmVkIGR1cmluZyBzaHV0ZG93bi4gSXQgc2hvdWxkIGJlIGZpeGVkIGluIHZpZGVvZW5jb2RlciBub3csCgkgIGJ1dCBiZXR0ZXIgYmUgb24gdGhlIHNhZmUgc2lkZSBoZXJlLgoKMjAxNC0xMi0yMiAxMTo0NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1BSU5UQUlORVJTOgoJICBNQUlOVEFJTkVSUzogVXBkYXRlIG15IG1haWwgYWRkcmVzcwoKMjAxNC0xMi0yMSAwNzo0NzoyNSAtMDUwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJICBhdWRpb21peGVyOiBmaXggYnVpbGQgZmxhZyBvcmRlcgoJICBIYXZlIHRoZSBsaWJyYXJpZXMvaW5sY3VkZXMgZnJvbSBwbHVnaW5zLWJhZCBmaXJzdCB0byBhdm9pZCBwaWNraW5nIHVwIHRoZSBpbnN0YWxsZWQgdmVyc2lvbi4KCSAgRml4ZXMgdGhlIGJ1aWxkIHdoZW4gdGhlIGxvY2FsIGFwaSBjaGFuZ2VkLgoKMjAxNC0xMi0yMCAxMjoyNDo1MyAtMDUwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mcmVldmVyYi9Hc3RGcmVldmVyYi5wcnM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSAgZnJlZXZlcmI6IGFkZCBhIGZldyBwcmVzZXRzCgoyMDE0LTEyLTE5IDEzOjE4OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHRlc3Q6IFBvcnQgdG8gbmV3IEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTE5IDEyOjIyOjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogQWx3YXlzIHJlY2FsY3VsYXRlIGJ1ZmZlciBzaXplCgkgIEFjdHVhbGx5IHdlIHNob3VsZCBhbHdheXMgcmVjYWxjdWxhdGUgYnVmZmVyIHNpemUgc2luY2Ugb3VyIGJ1ZmZlciBzaXplCgkgIGV2ZW4gd2hlbiBub3QtcGFkZGVkIGlzIHNtYWxsZXIgZm9yIG1hbnkgc3ViLXNhbXBsZWQgZm9ybWF0cy4gVGhpcyBpcwoJICBiZWNhdXNlIHdlIGRvbid0IGFkZCBwYWRkaW5nIGJldHdlZW4gdGhlIHBsYW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xOSAxMjoxMjowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBObyBuZWVkIGZvciBwYWRkaW5nCgkgIEEgbWVtb3J5IG9iamVjdCBjYW5ub3QgYmUgcHV0IG9uIHN0YWNrLCBzbyBubyBuZWVkIGZvciBwYWRkaW5nLgoKMjAxNC0xMi0xOSAxMjoxMTowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9BbGlnbm1lbnQKCSAgVGhpcyBhbGxvdyBzYXZpbmcgYSBjb3B5IHdpdGggbGliYXYgdmlkZW8gZGVjb2RlcnMgb3IgZGVjb2RlcnMgd2l0aAoJICBzaW1pbGFyIHBhZGRpbmcgcmVxdWlyZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTEtMjIgMTE6MjU6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogSGFuZGxlIHVwbG9hZC9kb3dubG9hZCBmbGFncyBmcm9tIG1hcAoJICBQcm9ibGVtIHdhcyB0aGF0IGlmIGJ1ZmZlciB3YXMgbWFwcGVkIFJFQURXUklURSAoc3RhdGUgb2YgYnVmZmVycyBmcm9tCgkgIGxpYmF2IHJpZ2h0IG5vdyksIG1hcHBpbmcgaXQgUkVBRC9HTCB3aWxsIG5vdCB1cGxvYWQuIFRoaXMgaXMgYmVjYXVzZSB0aGUKCSAgZmxhZyBpcyBvbmx5IHNldCB3aGVuIHRoZSBidWZmZXIgaXMgdW5tYXBwZWQuIFdlIGNhbiBmaXggdGhpcyBieSBzZXR0aW5nCgkgIHRoZSBmbGFncyBpbiBtYXAuIFRoaXMgcmVzdWx0IGluIGFscmVhZHkgbWFwcGVkIGJ1ZmZlciB0aGF0IGdldCBtYXBwZWQKCSAgdG8gYmUgcmVhZCBpbiBHTCB3aWxsIGJlIHVwbG9hZGVkLiBUaGUgcHJvYmxlbSBpcyB0aGF0IGlmIHRoZSB3cml0ZQoJICBtYXBwZXIgbWFrZXMgbW9kaWZpY2F0aW9uIGFmdGVyd2FyZCwgdGhlIG1vZGlmaWNhdGlvbiB3aWxsIG5ldmVyIGdldAoJICB1cGxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xMyAyMTo0NzozOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEhhbmRsZSBjdXN0b20gc3RyaWRlIHdpdGggT1BFTkdMMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTE5IDE1OjA1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGluazogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MKCjIwMTQtMTItMTkgMTQ6NTA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogUmUtYWRkIHRoZSBDT00gaW5pdGlhbGl6YXRpb24gY29kZSBmb3IgV2luZG93cwoJICBVbnRlc3RlZCwgYW5kIHdlIHdpbGwgbmV2ZXIgZGVpbml0aWFsaXplIENPTSBhZ2Fpbi4KCjIwMTQtMTItMTkgMTQ6Mzg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBSZW1vdmUgaW4tc2FtZS1waXBlbGluZSBkZXRlY3Rpb24gY29kZSBmb3IgYXVkaW8vdmlkZW8gZWxlbWVudHMgb2YgdGhlIHNhbWUgZGV2aWNlCgkgIFRoaXMgY2F1c2VzIGRlYWRsb2NrcyBzb21ldGltZXMgZm9yIHNvbWUgcmVhc29uLgoKMjAxNC0xMi0xOSAxNDozNTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogSW1wbGVtZW50IGNsb2NrIHNsYXZpbmcKCjIwMTQtMTItMTkgMTM6NTI6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQgZm9yIHdoZW4gZnJhbWVzIGFyZSBzY2hlZHVsZWQKCjIwMTQtMTItMTkgMTM6Mjg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBwcm9wZXJ0eSBmb3IgY29uZmlndXJpbmcgdGhlIGJ1ZmZlciBzaXplIG9mIHRoZSBzb3VyY2VzCgoyMDE0LTEyLTE5IDEzOjI0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBJbXBsZW1lbnQgdGltZXN0YW1wIGppdHRlciBhbmQgZGlzY29udCBoYW5kbGluZwoKMjAxNC0xMi0xOSAxMjozNzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogT3VyIGNhcHR1cmUgdGltZSBpcyB0aGUgZW5kIHRpbWVzdGFtcCBvZiB0aGUgYnVmZmVyLCBzdWJ0cmFjdCB0aGUgZHVyYXRpb24KCjIwMTQtMTItMTkgMTI6MzA6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFsbG93IGZvciBhIG1heGltdW0gb2YgNSBwYWNrZXRzIHRvIGJlIHF1ZXVlZCB1cAoJICBJbiBjYXNlIGRvd25zdHJlYW0gaXMgYSBiaXQgc2xvdyB3aXRoIGNvbnN1bWluZyBwYWNrZXRzIGF0IHRpbWVzLgoKMjAxNC0xMi0xOSAxMjowMzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGluIHNvdXJjZXMgYW5kIHJlbWVtYmVyIHNlbGVjdGVkIG1vZGUKCjIwMTQtMTItMTggMTg6MzA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogUmVtb3ZlIG9ic29sZXRlIGZpbGVzCgoyMDE0LTEyLTE4IDE3OjMxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgaW5pdGlhbCB2ZXJzaW9uIG9mIGF1ZGlvIGFuZCB2aWRlbyBzb3VyY2VzCgoyMDE0LTEyLTEzIDE3OjIzOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGluazogSW5pdGlhbCB2ZXJzaW9uIG9mIHRoZSBhdWRpby92aWRlbyBzaW5rIHJld3JpdGUKCjIwMTQtMTItMTkgMTM6MDQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogVHJhY2sgZGlzY29udC10aW1lIHBlciBwYWQgaW5zdGVhZCBvZiBnbG9iYWxseQoJICBXZSBkbyBkaXNjb250IGhhbmRsaW5nIHBlciBwYWQsIG5vdCBwZXIgZWxlbWVudCEKCjIwMTQtMTItMTUgMTY6Mjc6MTYgKzAxMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmxzbXRwc2luazogYWRkIGZpbmFsIGJvdW5kYXJ5IHRvIGFsbCBtdWx0aXBhcnQgZW1haWxzCgkgIENvcnJlY3RlZCB0aGUgZmluYWwgYm91bmRhcnkgbWVjaGFuaXNtIHNvIHRoYXQgYSBmaW5hbCBib3VuZGFyeSBpcwoJICBhZGRlZCB0byBlYWNoIG1haWwgd2l0aCBtdWx0aXBhcnQgY29udGVudCB0aGF0IGlzIHNlbnQsCgkgIG5vdCBqdXN0IHRvIHRoZSBsYXN0IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTU1MwoKMjAxNC0xMi0xOCAyMzozMzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogV2UncmUgb25seSBFT1MgaWYgYWxsIG91ciBwYWRzIGFyZSBhY3R1YWxseSBFT1MKCSAgSGF2aW5nIGEgYnVmZmVyIG9yIG5vdCBvbiB0aGUgcGFkIGlzIGlycmVsZXZhbnQuCgoyMDE0LTEyLTE4IDIyOjQyOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBUaGUgcGFkJ3Mgc2l6ZSBpcyBhbHdheXMgc3VwcG9zZWQgdG8gYmUgdGhlIHdob2xlIGJ1ZmZlciBzaXplCgkgIEFuZCB0aGUgb2Zmc2V0IHRoZSBvZmZzZXQgaW50byB0aGF0IGJ1ZmZlci4gQ2hhbmdpbmcgdGhlIHNpemUgd2lsbAoJICBjYXVzZSBhbGwga2luZHMgb2YgYXNzdW1wdGlvbnMgdG8gZmFpbCBhbmQgY2F1c2UgY3Jhc2hlcy4KCjIwMTQtMTItMTggMjI6MDQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3QgdHJ5IHRvIG1hcCBOVUxMIGJ1ZmZlcnMKCjIwMTQtMTItMTggMjI6MDM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWFrZSBzdXJlIHRvIGFsd2F5cyB1cGRhdGUgdGhlIHBhZCdzIHZpZGVvaW5mbyB0b2dldGhlciB3aXRoIGJ1ZmZlcnMKCSAgT3RoZXJ3aXNlIHRoZSB2aWRlb2luZm8gYW5kIHRoZSBidWZmZXIgY29udGVudCBjYW4gZ28gb3V0IG9mIHN5bmMuCgoyMDE0LTEyLTE4IDExOjQ4OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBGaXggbWVtb3J5IGxlYWsgd2hlbiBubyBidWZmZXIgaXMgYXZhaWxhYmxlIGZvciBhIHBhZCBjdXJyZW50bHkKCSAgQ0lEIDEyNTg3MTgKCjIwMTQtMTItMTggMTA6NTQ6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVmMWZmZGMgdG8gZjJjNmI5NQoKMjAxNC0xMi0xNyAyMjowMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiByZXVzZSB0aGUgZ3N0dmlkZW8gcHJveHkgZ2V0Y2FwcwoJICBUaGUgY2FwcyBxdWVyeSBpcyBpbXBsZW1lbnRpbmcgdGhlIHNhbWUgbG9naWMgYXMgdGhlIGRlZmF1bHQKCSAgaGFuZGxlciBmcm9tIHRoZSBiYXNlIGNsYXNzLiBSZXVzZSBpdCB0byBzaW1wbGlmeSBjb2RlLgoKMjAxNC0xMi0xNyAyMTo1MjoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBwbHVnIHJlZiBsZWFrIG9mIHRlbXBsYXRlIGNhcHMKCSAgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGlzIGFscmVhZHkgYSBuZXcgcmVmLiBObyBuZWVkIHRvIGNvcHkuCgoyMDE0LTEyLTE3IDE5OjUxOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgZnVuY3Rpb24gdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBzZXQgdGhlaXIgb3duIGxhdGVuY3kKCSAgRm9yIGF1ZGlvbWl4ZXIgdGhpcyBpcyBvbmUgYmxvY2tzaXplLCBmb3IgdmlkZW9hZ2dyZWdhdG9yIHRoaXMgc2hvdWxkCgkgIGJlIHRoZSBkdXJhdGlvbiBvZiBvbmUgb3V0cHV0IGZyYW1lLgoKMjAxNC0xMi0xNyAxOTozNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTWFrZSBzdXJlIHRvIG5vdCBoYXZlIHBhZHMgYmVpbmcgYmVoaW5kIHRoZSBjdXJyZW50IG9mZnNldAoJICBXZSB3b3VsZCBicmVhayBzeW5jIGJldHdlZW4gdGhlIGRpZmZlcmVudCBzdHJlYW1zIHRoZW4uCgoyMDE0LTEyLTE3IDE3OjU0OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgYSB0aW1lb3V0IHBhcmFtZXRlciB0byA6OmFnZ3JlZ2F0ZSgpCgkgIFdoZW4gdGhpcyBpcyBUUlVFLCB3ZSByZWFsbHkgaGF2ZSB0byBwcm9kdWNlIG91dHB1dC4gVGhpcyBoYXBwZW5zCgkgIGluIGxpdmUgbWl4aW5nIG1vZGUgd2hlbiB3ZSBoYXZlIHRvIG91dHB1dCBzb21ldGhpbmcgZm9yIHRoZSBjdXJyZW50CgkgIHRpbWUsIG5vIG1hdHRlciBpZiB3ZSBoYXZlIGVub3VnaCBpbnB1dCBvciBub3QuCgoyMDE0LTEyLTE3IDE4OjIwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgcXVldWVzIGFmdGVyIHRoZSAobGl2ZSkgc291cmNlcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDE0LTEyLTE3IDEyOjIwOjU0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbXByb3ZlIHRpbWVzdGFtcGluZyBhbmQgbGF0ZW5jeSByZXBvcnRpbmcKCSAgVXNlIEFWRiBwcm92aWRlZCB0aW1pbmdzIHRvIHRpbWVzdGFtcCBvdXRwdXQgYnVmZmVycy4gVXNlIHRoZSBydW5uaW5nIHRpbWUgYXQKCSAgdGhlIHRpbWUgdGhlIGZpcnN0IGJ1ZmZlciBpcyBwcm9kdWNlZCB0byBiYXNlIHRpbWVzdGFtcHMgb24uIFJlcG9ydCAxLWZyYW1lCgkgIGxhdGVuY3kgYmFzZWQgb24gdGhlIG5lZ290aWF0ZWQgZnJhbWVyYXRlIGluc3RlYWQgb2YgaGFyZGNvZGluZyA0bXMgbGF0ZW5jeS4KCjIwMTQtMTItMTUgMjI6MjQ6MjYgLTA1MDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBSZW1vdmUgZGVwZW5kZW5jeSBvbiBBVEwKCSAgVGhpcyBmaXhlcyBjb21waWxpbmcgd2l0aCBWaXN1YWwgQysrIEV4cHJlc3MKCSAgdGhhdCBkb2Vzbid0IGluY2x1ZGUgQVRMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MjIzCgoyMDE0LTEyLTA0IDIzOjMwOjIzIC0wNTAwICBNYXR0aGV3IEJhZGVyIDxtYXR0QGh5cGVybG9iaWMubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogQWRkZWQgc3VwcG9ydCBmb3IgaW1hZ2UvanBlZyBhbmQgaDI2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTg4CgoyMDE0LTEyLTE2IDE5OjQ5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBmaXggYWdncmVnYXRvciB1bml0IHRlc3QgYWZ0ZXIgcHJvcGVydHkgcmVuYW1pbmcKCjIwMTQtMTItMTYgMTc6Mzc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEltcGxlbWVudCBnZXRfbmV4dF90aW1lKCkKCjIwMTQtMTItMTYgMTc6MzM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxNC0xMi0wNSAxODoxOTo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogbWFrZSB0aGUgc3JjIHBhZCB0YXNrIGRyaXZlIHRoZSBwaXBlbGluZSBmb3IgbGl2ZSBwaXBlbGluZXMKCSAgVGhpcyByZW1vdmVzIHRoZSB1c2VzIG9mIEdBc3luY1F1ZXVlIGFuZCByZXBsYWNlcyBpdCB3aXRoIGV4cGxpY2l0CgkgIEdNdXRleCwgR0NvbmQgYW5kIHdha2V1cCBjb3VudCB3aGljaCBpcyB1c2VkIGZvciB0aGUgbm9uLWxpdmUgY2FzZS4KCSAgRm9yIGxpdmUgcGlwZWxpbmVzLCB0aGUgYWdncmVnYXRvciB3YWl0cyBvbiB0aGUgY2xvY2sgdW50aWwgZWl0aGVyCgkgIGRhdGEgYXJyaXZlcyBvbiBhbGwgc2luayBwYWRzIG9yIHRoZSBleHBlY3RlZCBvdXRwdXQgYnVmZmVyIHRpbWUKCSAgYXJyaXZlcyBwbHVzIHRoZSB0aW1lb3V0L2xhdGVuY3kgYXQgd2hpY2ggdGltZSwgdGhlIHN1YmNsYXNzCgkgIHByb2R1Y2VzIGEgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTQ2CgoyMDE0LTEyLTA4IDE1OjE4OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogYWx3YXlzIHRyeSB0byB1c2UgbmV3ZXIgYnVmZmVycwoJICBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0gZm9yIGJlaW5nIHRvbyBvbGQuICBUaGlzIGVuc3VyZXMgdGhhdAoJICB0aGUgbmV3ZXN0IGJ1ZmZlciBpcyBhbHdheXMgdXNlZCBmb3IgcmVuZGVyaW5nCgoyMDE0LTEyLTE2IDEzOjM1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICByZWN0YW5nbGU6IGNsZWFyIHJlY3RhbmdsZSBzdHJ1Y3QgYmVmb3JlIHVzZQoKMjAxNC0xMi0xNSAxNToyMTo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggZnJhbWUgc2l6ZSBkZXRlcm1pbmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzMjEKCjIwMTQtMDYtMTkgMjE6MzI6MDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBVc2UgSW5kZXhUYWJsZVNlZ21lbnRzLgoJICBUaGlzIHNwZWVkcyB1cCBzZWVraW5nIGRyYXN0aWNhbGx5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjk0CgoyMDE0LTEyLTE0IDAxOjI5OjI2ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHMvYWdncmVnYXRvcjogVXNlIGNvcnJlY3QgdHlwZSB3aGVuIHNldHRpbmcgcHJvcGVydHkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ5NQoKMjAxNC0wNS0wOCAxMDo0MTowMyArMDUzMCAgU3VkaXAgSmFpbiA8c3VkaXAuamFpbkBsaW5hcm8ub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogc2NhbiBtb3JlIGJ5dGVzIHRvIGZpbmQgaW5pdGlhbCBQQ1JzCgkgIEZpeGVzIHBsYXliYWNrIG9mIFNhbXN1bmctQ29sb3JmdWwtVmFyaWV0eS0xMDgwaS50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc2OAoKMjAxNC0xMi0xMiAyMDo1NzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgUmV2ZXJ0ICJvcGVuaDI2NDogZml4IHRvIHdvcmsgd2l0aCByZWxlYXNlZCB2ZXJzaW9ucyBhbmQgbWFzdGVyIG9mIHVwc3RyZWFtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE1Mzk0YWE3MDU0M2Y1NWM1NGZhOGE0NzQ4MDUyMjRmNDEzOGY3NmMuCgkgIFRoZSBsYXRlc3QgcmVsZWFzZSAodjEuMSkgZG9lcyBub3QgaGF2ZSBwa2ctY29uZmlnIHN1cHBvcnQKCSAgeWV0LCBzbyB0aGlzIHBsdWdpbiB3b24ndCBiZSBidWlsdCB3aXRoIHRoZSBsYXRlc3QgcmVsZWFzZS4KCSAgQ2VyYmVybyB1c2VzIHRoZSBsYXRlc3QgcmVsZWFzZSwgc28gdGhpcyBtYWtlcyBjZXJiZXJvCgkgIGJ1aWxkcyBmYWlsLCB3aGljaCBleHBlY3QgdGhlIHBsdWdpbiB0byBiZSBidWlsdC4KCSAgV2UgY2FuIHJlLWNvbW1pdCB0aGlzIG9uY2UgdGhlcmUncyBhIHJlbGVhc2UgdGhhdCBpbmNsdWRlcwoJICBwa2ctY29uZmlnIHN1cHBvcnQuCgoyMDE0LTEyLTEyIDEwOjA1OjIzIC0wODAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogZml4IHRvIHdvcmsgd2l0aCByZWxlYXNlZCB2ZXJzaW9ucyBhbmQgbWFzdGVyIG9mIHVwc3RyZWFtCgoyMDE0LTEyLTEyIDExOjIxOjI3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogR3N0RWxlbWVudC0+c3RhdGUgaXMgcHJvdGVjdGVkIHdpdGggdGhlIE9CSkVDVF9MT0NLCgkgIE5vdCB0aGUgU1RBVEVfTE9DSy4KCSAgZ3N0X3dhdGNoZG9nX2ZlZWQgd2FzIGFscmVhZHkgYWx3YXlzIGNhbGxlZCB3aXRoIHRoZSBPQkpFQ1RfTE9DSyB0YWtlbi4KCjIwMTQtMTEtMjcgMjA6NDg6MjQgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEhpZGUgc29tZSBtb3JlIGZpZWxkcyBmcm9tIHRoZSBBUEkKCSAgKyBBZGQgc29tZSBkb2N1bWVudGF0aW9uCgoyMDE0LTEyLTEyIDAwOjMwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJICBvbnZpZjogZml4ICdtYWtlIGRpc3QnCgoyMDE0LTEyLTExIDIxOjAxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nCgkgIFByb3Blcmx5IGRvIHNlZWtpbmcgYW5kIGF2b2lkIG9ubHkgc2Vla2luZyB3aGVuIHRoZSBzZWdtZW50IHdhcyB1cGRhdGVkLgoJICBJdCB3b3VsZCBjYXVzZSBzZWVrcyBhZnRlciB0aGUgc3RyZWFtIHdhcyBFT1MgdG8gZmFpbCwgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg5MjAKCjIwMTQtMTEtMTcgMTk6MjY6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVyIHRoZSBudHAtb2Zmc2V0IGJ5IGRlZmF1bHQuCgkgIFRoaXMgb25seSB3b3JrcyBpZiBubyBwYWNrZXRzIGFyZSBwdXNoZWQgaW4gYmVmb3JlIHRoZSBwaXBlbGluZSBnb2VzCgkgIHRvIHBsYXlpbmcuIFNvIGl0IGhlbHBzIHRvIGhhdmUgYSBsaXZlIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OQoKMjAxNC0wNi0wNSAxNTowNjozMyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZi5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZwYXJzZS5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZwYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJICBhZGQgcnRwb252aWZleHRyYWN0IGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OQoKMjAxNC0wNC0yOCAxMTowNzoxNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkgIGFkZCBydHBvbnZpZnRpbWVzdGFtcCBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjkKCjIwMTQtMTItMDggMTE6MDI6NTEgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGZpeCBwb3NpdGlvbi90ZXhjb29yZCBhdHRyaWIgaW5kZXggdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTIzMQoKMjAxNC0xMi0xMSAxODoxNzowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBnbGZpbHRlcmN1YmU6IHVzZSBhIHNoYWRlciBldmVyeXdoZXJlCgoyMDE0LTEyLTExIDE4OjE1OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBmaXh1cCB2YW8gYW5kIHZibyB1c2FnZSBmb3IgbGVnYWN5IEdMCgoyMDE0LTEyLTExIDE0OjU3OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogZG9uJ3QgYWJvcnQgd2hlbiBzZXR0aW5nIHRoZSBlZmZlY3QgdG8gMCwxLDIKCjIwMTQtMTItMTAgMTI6NDg6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlczogZml4dXAgc2RsIGV4YW1wbGUgZm9yIGdsdVBlcnNwZWN0aXZlIHJlbW92YWwKCjIwMTQtMTItMDkgMDg6Mzg6NTUgLTA4MDAgIE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IHN1cHBvcnQgY29tcGlsZS10aW1lIGRpc3RpbmN0aW9uIGJldHdlZW4gYmx1ZXo0IGFuZCBibHVlejUKCSAgU2lnbmVkLW9mZi1ieTogTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODYyNgoKMjAxNC0xMi0xMCAxODoyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBjaGVjayB0aGUgcmV0dXJuIGZyb20gdXBkYXRlX21hbmlmZXN0IGNvcnJlY3RseQoJICBJdCBpcyBhIEdzdEZsb3dSZXR1cm4gYW5kIG5vdCBhIGJvb2xlYW4KCjIwMTQtMTItMTAgMDk6MjQ6MTcgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IENoYW5nZSBwZXJpb2Qgd2hlbiBzZXR0aW5nIGJ5IHBlcmlvZCBpZC4KCSAgTWFrZSBnc3RfbXBkX2NsaWVudF9zZXRfcGVyaW9kX2lkIHNldCB0aGUgY3VycmVudCBwZXJpb2QgaW5kZXggd2hlbiBpdCBmaW5kcyBhCgkgIHBlcmlvZCB3aXRoIGEgbWF0Y2hpbmcgcGVyaW9kIGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzIyCgoyMDE0LTEyLTEwIDE1OjI3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjayBmcmFnbWVudCB0cmFja2luZwoJICBSZXdvcmsgcmV2ZXJzZSBmcmFnbWVudCB0cmF2ZXJzaW5nIHdpdGggcmVwZXRpdGlvbiBmaWVsZHMgdG8gcHJldmVudAoJICBOVUxMIHBvaW50ZXIgZGVyZWYgYW5kIGF2b2lkIG5ldmVyIGFkdmFuY2luZyBhIGZyYWdtZW50IGFzIHRoZSB2YXJpYWJsZQoJICBpcyB1bnNpZ25lZCBhbmQgd291bGQgYWx3YXlzIGJlIG5vbi1uZWdhdGl2ZS4KCSAgQ0lEICMxMjU3NjI3CgkgIENJRCAjMTI1NzYyOAoKMjAxNC0xMi0xMSAwMDowMjoyNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYnVtcCByYW5rIHRvIFBSSU1BUlkKCjIwMTQtMTItMTAgMjI6MzY6NTMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IG5lZ290aWF0ZSBwcm9maWxlIGFuZCBsZXZlbCB3aXRoIGRvd25zdHJlYW0KCjIwMTQtMTItMTAgMTk6NDQ6MDEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IHJlcG9ydCBsYXRlbmN5CgoyMDE0LTEyLTA1IDE2OjIwOjA4ICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaW5kIGN1cnJlbnQgc2VnbWVudCBpbiB0aGUgc3RyZWFtcyB0aGF0IGhhdmUganVzdCBiZWVuIHNldHVwCgkgIFVzaW5nIGRlbXV4LT5zdHJlYW1zIHdpbGwganVzdCBza2lwIHRoZSB3aG9sZSBsb29wIGFzIGRlbXV4LT5zdHJlYW1zIHdpbGwKCSAgYWx3YXlzIGJlIE5VTEwgYXQgdGhhdCBwb2ludAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjg1CgoyMDE0LTEyLTA5IDA1OjAzOjExICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJICBtaXJyb3I6IE5lZWRzIHJlbWFwIHdoZW4gdGhlIG1vZGUgY2hhbmdlcy4KCSAgVGhpcyBjYXVzZWQgdGhlIHVzZXIgdG8gdGhpbmsgdGhlIG1vZGUgd2Fzbid0IHRha2VuIGludG8gYWNjb3VudC4KCjIwMTQtMTItMDkgMDQ6Mjg6MTcgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIFJldmVydCAiaDI2NHBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDM5MTBjYmU3Y2UxYTY3ZWQ1NTA2Zjg3ZTRjNWEwMDVjMTY4ZDBlNmMuCgoyMDE0LTEyLTA4IDA4OjUzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCB0cnkgdG8gdW5sb2NrIG5vdCBsb2NrZWQgbXV0ZXgKCSAgQSBtaXNwbGFjZWQgdW5sb2NrIHdhcyBjYXVzaW5nIGFuIGFzc2VydGlvbiBmb3IgcGxheWJhY2sgd2l0aCBhCgkgIHNldCBzdG9wIHRpbWUKCjIwMTQtMTItMDggMDg6MjQ6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgZ3N0LWxpYnM6IGJ1aWxkIG9yZGVyOiB1cmlkb3dubG9hZGVyIGJlZm9yZSBhZGFwdGl2ZWRlbXV4CgkgIE90aGVyd2lzZSBtYWtlIGluc3RhbGwgZmFpbHMKCjIwMTQtMTItMDUgMTY6MzM6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBrZXlmcmFtZSBpbnRlcnZhbCBpbiBmcmFtZXMgYW5kIHNlY29uZHMKCjIwMTQtMTItMDUgMTY6MTU6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRml4IGNvbnZlcnNpb24gb2YgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW5kIG91ciBpbnRlcm5hbCBiaXRyYXRlIHN0b3JhZ2UKCSAgVGhlIHByb3BlcnR5IGlzIGluIGtiaXQvcyBhbmQgd2Ugc3RvcmUgaXQgaW4gYml0L3MsIHNvIGp1c3QgbXVsdGlwbHkgYW5kCgkgIGRpdmlkZSBieSAxMDAwLiBObyBuZWVkIHRvIHB1dCBhIGZhY3RvciBvZiA4IGluIHRoZXJlLgoJICBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X0F2ZXJhZ2VCaXRSYXRlIGlzIGFsc28gaW4gYml0L3MgYWNjb3JkaW5nIHRvCgkgIGl0cyBkb2N1bWVudGF0aW9uLgoKMjAxNC0xMi0wNSAxMzoxMjo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggYSBtZW1vcnkgbGVhawoJICBGcmVlcyB0aGUgc291cmNlIEFSR0IgYmxhY2sgZnJhbWUgdGhhdCB3ZSB1c2UgdG8gY3JlYXRlIHRoZSBibGFjayBmcmFtZQoJICBpbiBvdXIgdGFyZ2V0IGZvcm1hdC4KCjIwMTQtMTItMDIgMTA6MTA6MzkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbQoJICBTb21lIHZpZGVvIGJpdHN0cmVhbXMgcmVwb3J0IGEgdG9vIHJlc3RyaWN0aXZlIHNldCBvZiBwcm9maWxlcy4gSWYgYSB2aWRlbwoJICBkZWNvZGVyIHdhcyB0byBzdHJpY3RseSBmb2xsb3cgdGhlIGluZGljYXRlZCBwcm9maWxlLCBpdCB3b3VsZG4ndCBzdXBwb3J0IHRoYXQKCSAgc3RyZWFtLCB3aGVyZWFzIGl0IGNvdWxkIGluIHRoZW9yeSBhbmQgaW4gcHJhY3RpY2UuIFNvIHdlIHNob3VsZCByZWxheCB0aGUKCSAgcHJvZmlsZSByZXN0cmljdGlvbiBmb3IgYWxsb3dpbmcgdGhlIGRlY29kZXIgdG8gZ2V0IGNvbm5lY3RlZCB3aXRoIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5MgoKMjAxMy0wNS0wMSAxMToxNzowMiArMDgwMCAgQ2h1bi13ZWkgRmFuIDxmYW5jaHVud2VpQHNyYy5nbm9tZS5vcmc+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IFBvcnQgdG8gMS4wIGFuZCBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgkgIFRoaXMgdXBkYXRlcyB0aGUgZHNob3d2aWRlb3NpbmsgdG8gd29yayB3aXRoIHRoZSBHU3RyZWFtZXIgMS4wLnggQVBJcywgYW5kCgkgIGF2b2lkcyB0aGUgdXNlIG9mIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJIHRoYXQgYXJlIG5vdyB1c2VkIHNpbmNlCgkgIEdMaWIgMi4zMisKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM2NAoKMjAxNC0xMi0wNCAwMTo0Njo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBsaXZlIHN1cHBvcnQKCSAgSW1wbGVtZW50IHRoZSBmdW5jdGlvbnMgb2YgYWRhcHRpdmVkZW11eCB0byBoYXZlIGxpdmUgc3VwcG9ydAoJICBlbmFibGVkLiBUaGlzIGFsbG93cyBtc3NkZW11eCB0byByZWZyZXNoIHRoZSBNYW5pZmVzdCBwZXJpb2RpY2FsbHkKCjIwMTQtMTItMDQgMTU6NTI6NDQgLTA1MDAgIE1hdHRoZXcgQmFkZXIgPG1hdHRAaHlwZXJsb2JpYy5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL0NNYWtlTGlzdHMudHh0OgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjd3JhcHBlcjogUG9ydCB0byAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk0NQoKMjAxNC0xMi0wMSAxNjo0MDoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IHBvcnQgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0NzY2MQoKMjAxNC0xMi0wNCAxMjoyMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGdldHRpbmcgY3VycmVudCBwb3NpdGlvbiBpbiBzZWdtZW50cyB3aGVuIGFmdGVyIGxhc3Qgb25lCgkgIEZvciBsaXZlIHN0cmVhbXMgdGhpcyBtYWtlcyBhIGRpZmZlcmVuY2Ugd2hlbiByZXN5bmNpbmcgYWZ0ZXIgYQoJICBNYW5pZmVzdCByZWZyZXNoLCBvdGhlcndpc2UgaXQgZG9lc24ndCBrbm93IHdoZXJlIHRvIHJlc3RhcnQKCjIwMTQtMTItMDIgMjM6Mjc6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHN1cHBvcnQgbWFuaWZlc3RzIHdpdGggcmVwZXRpdGlvbiBmcmFnbWVudHMKCSAgUmVhZCB0aGUgInIiIGF0dHJpYnV0ZSBmcm9tIGZyYWdtZW50cyB0byBzdXBwb3J0IGZyYWdtZW50cyBub2RlcwoJICB0aGF0IHVzZSByZXBldGl0aW9uIHRvIGhhdmUgYSBzaG9ydGVyIE1hbmlmZXN0IHhtbC4KCSAgSW5zdGVhZCBvZiBkb2luZzoKCSAgPGMgZD0iMTAwIiAvPgoJICA8YyBkPSIxMDAiIC8+CgkgIFlvdSBjYW4gdXNlOgoJICA8YyBkPSIxMDAiIHI9IjIiIC8+CgoyMDE0LTExLTIyIDAxOjAxOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBwb3J0IHRvIGFkYXB0aXZlZGVtdXggYmFzZSBjbGFzcwoKMjAxNC0xMi0wMyAxNjoxMzoxNyAtMDUwMCAgTWF0dGhldyBCYWRlciA8bWF0dEBoeXBlcmxvYmljLm5ldD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogRml4ZWQgbnVsbCBjYXBzIGNvbXBhcmlzb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTA4NgoKMjAxNC0xMi0wNCAwMjoxMjowOCAtMDIwMCAgRmzDoXZpbyBSaWJlaXJvIDxlbWFpbEBmbGF2aW9yaWJlaXJvLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiByZW1vdmUgdW5uZWNlc3NhcnkgdGl0bGUgb24gRVhUSU5GIHRhZwoJICBBY2NvcmRpbmcgdG8gdGhlIEhMUyBzcGVjIHRoZSByZW1haW5kZXIgb2YgdGhlIGxpbmUgZm9sbG93aW5nCgkgIHRoZSBjb21tYSBvbiBFWFRJTkYgdGFnIGlzIG5vdCByZXF1aXJlZC4gVGhpcyBwYXRjaCByZW1vdmVzCgkgIHRoZSBmYWtlIHRpdGxlIGFuZCBzYXZlcyBzb21lIGJ5dGVzIG9uIHRoZSBwbGF5bGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTA5NgoKMjAxNC0xMi0wNCAyMDozNzo1MSArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBSZW5hbWUgZ3N0LWxhdW5jaC0wLjEwIHRvIGdzdC1sYXVuY2gtMS4wIGluIGRvY3MKCjIwMTQtMTItMDQgMTU6NDI6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBGaXggbWFrZSBkaXN0Y2hlY2sKCSAgQW5kIHByb3Blcmx5IGRpc3QgYWxsIGhlYWRlcnMgYW5kIHNvdXJjZSBmaWxlcy4KCjIwMTQtMTItMDMgMTg6MzE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVsZWFzZSB0aHJlYWRzIHdhaXRpbmcgZm9yIG1hbmlmZXN0IHVwZGF0ZSBvbiBzaHV0ZG93bgoJICBGb3IgbGl2ZSBzdHJlYW1zLCBhbHNvIHVuYmxvY2sgdGhyZWFkcyB0aGF0IG1pZ2h0IGJlIHdhaXRpbmcgZm9yIGEgbWFuaWZlc3QKCSAgdXBkYXRlIHdoZW4gc3RvcHBpbmcgdGhlIHBpcGVsaW5lLgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcgbWVzc2FnZXMKCjIwMTQtMTItMDMgMTM6NTI6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdXNlIGdzdF90YXNrX3N0b3AgaW5zdGVhZCBvZiBnc3RfdGFza19wYXVzZQoJICBUbyBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBnc3RfdGFza19zdG9wKCk7IGdzdF90YXNrX2pvaW4oKSB3aXRoCgkgIGFub3RoZXIgdGhyZWFkIGRvaW5nIGdzdF90YXNrX3BhdXNlKCksIHRoZSBqb2luaW5nIHRocmVhZCB3b3VsZCBiZQoJICB3YWl0aW5nIGZvciB0aGUgdGFzayB0byBzdG9wIGJ1dCBpdCB3b3VsZCBuZXZlciBoYXBwZW4uIFNvIGp1c3QKCSAgdXNlIGdzdF90YXNrX3N0b3AoKSBldmVyeXdoZXJlIHRvIHByZXZlbnQgbW9yZSBtdXRleGVzCgoyMDE0LTEyLTAzIDEyOjQ4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBkZWFkbG9jayB3aGVuIHN0b3BwaW5nIHN0cmVhbXMKCSAgUmVtZW1iZXIgdG8gdW5sb2NrIHRoZSBtYW5pZmVzdCdzIGxvY2sgd2hlbiBsZWF2aW5nIHRoZSBkb3dubG9hZCB0YXNrLgoKMjAxNC0xMi0wMyAxNjowMToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSAgZGVja2xpbms6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyBpbiB0aGUgZGlzcGF0Y2hlcgoKMjAxNC0xMi0wMyAxNTozMDo0MyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsc3luY21ldGE6IGFkZCBHX0VORF9ERUNMUwoKMjAxNC0xMi0wMyAxNTowNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSV9pLmM6CgkgIGRlY2tsaW5rOiBVcGRhdGUgV2luZG93cyBTREsgaGVhZGVycyB0byAxMC4zLjEKCSAgTm8gaWRlYSB3aGVyZSB0aGUgRGVja2xpbmtBUElEaXNwYXRjaC5jcHAgY29tZXMgZnJvbSBvbiBXaW5kb3dzLAoJICBidXQgdGhpcyBzaG91bGQgc3RpbGwgd29yay4gV2lsbCBqdXN0IGJlY29tZSBhIHByb2JsZW0gb25jZSB3ZQoJICB1c2Ugb3RoZXIgcGFydHMgb2YgdGhlIEFQSS4KCjIwMTQtMTItMDMgMTQ6NDI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElTdHJlYW1pbmcuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVR5cGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElWZXJzaW9uLmg6CgkgIGRlY2tsaW5rOiBVcGRhdGUgT1MgWCBTREsgaGVhZGVycyB0byAxMC4zLjEKCjIwMTQtMTItMDMgMTQ6Mzk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElUeXBlcy5oOgoJICBkZWNrbGluazogVXBkYXRlIExpbnV4IFNESyBoZWFkZXJzIHRvIDEwLjMuMQoKMjAxNC0xMi0wMyAxMDowNjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgdW51c2VkIGVycm9yIHZhcmlhYmxlCgkgIENJRCAjMTI1NjU1NgoKMjAxNC0xMi0wMyAwOTo0NTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgbW9yZSBnZXRfZHVyYXRpb24gY2hlY2tzCgkgIFN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgZ2V0X2R1cmF0aW9uIGZ1bmN0aW9uLiBJZiB0aGV5IGRvIG5vdCBrbm93CgkgIHRoZSBkdXJhdGlvbiB0aGV5IGNhbiByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORQoKMjAxNC0xMi0wMyAwOTo0MDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGwgc3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCBnZXRfZHVyYXRpb24KCSAgQ0lEICMxMjU2NTU3CgoyMDE0LTEyLTAyIDIzOjI5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG1ha2Ugc3VyZSB0byBhbHdheXMgc3RvcCB0aGUgc3RyZWFtIG9uIEVPUwoJICBGb3IgT24tRGVtYW5kIHN0cmVhbXMsIGFsd2F5cyBzdG9wIHRoZSB0YXNrcyBmb3Igc3RyZWFtcyB0aGF0IHJlYWNoZWQKCSAgRU9TCgoyMDE0LTEyLTAzIDA4OjAyOjU4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiB0cnkgY2dsIGJlZm9yZSBnbHgKCSAgSXQgd2FzIGFscmVhZHkgZG9uZSBieSBjb21taXQKCSAgZjUwNmU4MDY4NmVlZGM2NjkxMjU4M2RiMTE5MTRlYzNmNzEzYjQ3OAoJICBidXQgaXQgaGFzIGJlZW4gYnJva2VuIGJ5IGNvbW1pdAoJICA0NWVjNzc3Y2VhMGU2OWIyNTk3ZDFlYzAyYjE4ZWMzMWQ2MThjOTIwCgoyMDE0LTEyLTAzIDA3OjQ2OjUwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgZ2xpbWFnZXNpbmsgdW5pdCB0ZXN0IHRvIC5naXRpZ25vcmUKCjIwMTQtMTItMDIgMTU6NTI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBkb3VibGUgdW5yZWYgb2Ygb2JqZWN0CgkgIHRoZSBkYXRldGltZSBpcyBhbHJlYWR5IHJlbGVhc2VkIGJ5IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uCgoyMDE0LTEwLTEwIDExOjI0OjA4ICswMTAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEZpbmQgdGhlIGN1cnJlbnQgcGVyaW9kIGluIGEgbGl2ZSBzdHJlYW0KCSAgU3RhcnQgZnJvbSB0aGUgY29ycmVjdCBwZXJpb2Qgb24gYSBsaXZlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NDIxCgoyMDE0LTEyLTAyIDEwOjA2OjAwICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggcGVyaW9kIHNlbGVjdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIEZpeCBwZXJpb2Qgc2VsZWN0aW9uIGFuZCBwcm9wZXJseSBlcnJvciBvdXQgd2hlbiB1cGRhdGUgY2Fubm90IGJlIGRvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI5OAoKMjAxNC0wNy0wOSAxMDoxMTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogSW1wcm92ZSBsYXN0IFBDUiBkZXRlY3Rpb24KCSAgV2hlbiBkZWFsaW5nIHdpdGggcmFuZG9tLWFjY2VzcyBjb250ZW50IChzdWNoIGFzIGZpbGVzKSwgd2UgaW5pdGlhbGx5CgkgIHNlYXJjaCBmb3IgdGhlIGxhc3QgUENSIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgZHVyYXRpb24gYW5kIHRvIGhhbmRsZQoJICBvdGhlciBwb3NpdGlvbiBlc3RpbWF0aW9uIHN1Y2ggYXMgdGhvc2UgdXNlZCBpbiBzZWVraW5nLgoJICBQcmV2aW91c2x5LCB0aGUgY29kZSBsb29raW5nIGZvciB0aGF0IGxhc3QgUENSIHdvdWxkIHNlYXJjaCBpbiB0aGUgbGFzdAoJICA2NDBrQiBvZiB0aGUgZmlsZSBnb2luZyBmb3J3YXJkLCBhbmQgc3RvcCBhdCB0aGUgZmlyc3QgUENSIGVuY291bnRlcmVkLgoJICBUaGUgcHJvYmxlbSB3aXRoIHRoYXQgd2FzIHR3by1mb2xkOgoJICAqIEl0IHdvdWxkbid0IHJlYWxseSBiZSB0aGUgbGFzdCBQQ1IgKGl0IHdvdWxkIGJlIHRoZSBmaXJzdCBvbmUgd2l0aGluCgkgIHRob3NlIGxhc3QgNjQwa0IuIEluIGNhc2Ugb2YgVkJSIGZpbGVzLCB0aGlzIHdvdWxkIHB1dCBvZmYgZHVyYXRpb24KCSAgYW5kIHNlZWsgY29kZSBzbGlnaHRseS4KCSAgKiBJdCB3b3VsZCBmYWlsIG9uIGZpbGVzIHdpdGggYml0cmF0ZXMgaGlnaGVyIHRoYW4gNTJNYml0L3MgKG5vdCBjb21tb24pCgkgIEluc3RlYWQgdGhpcyBwYXRjaCBtb2RpZmllcyB0aGF0IGNvZGUgYnk6CgkgICogU2Nhbm5pbmcgb3ZlciB0aGUgbGFzdCAyMDQ4a0IgKGFsbG93cyB0byBjb3BlIHdpdGggc3RyZWFtcyB1cCB0byAxNjBNYml0L3MpCgkgICogU3RhcnRzIGJ5IHRoZSBlbmQgb2YgdGhlIGZpbGUsIGdvaW5nIG92ZXIgY2h1bmtzIG9mIDMwMCBNUEVHLVRTIHBhY2tldHMKCSAgKiBEb2Vzbid0IHN0b3AgYXQgdGhlIGZpcnN0IFBDUiBkZXRlY3RlZCBpbiBhIGNodW5rLCBidXQgaW5zdGVhZCByZWNvcmRzIGFsbAoJICBvZiB0aGVtLCBhbmQgb25seSBzdG9wIHNlYXJjaGluZyBpZiB0aGVyZSB3YXMgImF0IGxlYXN0IiBvbmUgUENSIHdpdGhpbgoJICB0aGF0IGNodW5rCgkgIFRoaXMgc2hvdWxkIGltcHJvdmUgZHVyYXRpb24gcmVwb3J0aW5nIGFuZCBzZWVraW5nIG9wZXJhdGlvbnMgb24gVkJSIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MzIKCjIwMTQtMTItMDEgMTE6NDc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBPbmx5IGFjdGl2YXRlIHdhcm5pbmcgZm9yIHJlYWwgc3RyZWFtcwoJICBzdHJlYW1zIHdpdGggc3RyZWFtX3R5cGUgMHhmZiBhcmUgUENSLW9ubHkgc3RyZWFtcywgaXQncyBub3JtYWwgbm90CgkgIHRvIGhhdmUgYSBwYWQgZm9yIHRoZW0uCgoyMDE0LTEyLTAxIDEyOjE0OjIwICswMTAwICBKw7xyZ2VuIFNsb3dhY2sgPGp1cmdlbi5zbG93YWNrQGJhcmNvLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5oOgoJICB4MjY1ZW5jOiBhZGQgcXAgcHJvcGVydHkKCSAgUVAgcHJvcGVydHkgZW5hYmxlcyBDUVAgbW9kZSBhbmQgc2V0cyB0aGUgUVAgZm9yIFAgc2xpY2VzLgoKMjAxNC0xMi0wMSAxMDo1OTozMiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2wvY29jb2E6IEZpeCBleGFtcGxlIG9uIE1hYyBPUyBYIDEwLjEwCgkgIFVzaW5nIE5TQXBwIGRpcmVjdGx5IHNlZW1zIHRvIGNvbmZ1c2Ugc29tZXRoaW5nLCBhcyB0aGUgY29tcGlsZXIKCSAgd2FzIGV4cGVjdGluZyBhbiBpZDxOU0ZpbGVNYW5hZ2VyRGVsZWdhdGU+LiBTd2l0Y2hlZCB0byB1c2luZwoJICBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0sIGFuZCBzcGVjaWZpZWQgdGhlIGRlbGVnYXRlCgkgIHByb3RvY29sIG9uIHRoZSB3aW5kb3cgY2xhc3MgYXMgd2VsbC4KCSAgU2ltaWxhciB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzQwCgoyMDE0LTEyLTAxIDEwOjI3OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSAgZ3N0LWxpYnM6IEZpeCBkZXBlbmRlbmN5IGJ1aWxkCgkgIGFkYXB0aXZlZGVtdXggZGVwZW5kcyBvbiB1cmlkb3dubG9hZGVyIGFuZCB2aWRlbyBkZXBlbmRzIG9uIGJhc2UKCjIwMTQtMTItMDEgMDk6NDg6NDEgKzAxMDAgIFRob21hcyBLbGF1c25lciA8d2l6QGRhbmJhbGEudHV3aWVuLmFjLmF0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvIGNvbXBhcmlzb25zIGluIGEgcG9ydGFibGUgd2F5IHdpdGggPSBpbnN0ZWFkIG9mID09CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5NTMKCjIwMTQtMTEtMzAgMjE6NTQ6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmV3b3JraW5nIGxpdmUgbWFuaWZlc3QgdXBkYXRlIHdhaXQKCSAgQ2hlY2sgaWYgdGhlIHN0cmVhbSBpcyBsaXZlIGJlZm9yZSBjaGVja2luZyBpZiBpdCBpcyBFT1MgYXMgYSBsaXZlCgkgIHN0cmVhbSBtaWdodCBiZSBjb25zaWRlcmVkIEVPUyB3aGVuIGl0IGp1c3QgbmVlZHMgdG8gd2FpdCBmb3IgYSBtYW5pZmVzdAoJICB1cGRhdGUgdG8gcHJvY2VlZCB3aXRoIHRoZSBuZXh0IGZyYWdtZW50cwoKMjAxNC0xMS0yOSAxMDoyODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggbWFuaWZlc3QgdXBkYXRlIGxvY2tpbmcKCSAgVG8gYXZvaWQgdW5sb2NraW5nIGEgbm90IGxvY2tlZCBtdXRleAoKMjAxNC0xMS0yOSAxMDoyNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggc2VnbWVudCBmb3IgbWFuaWZlc3RzIHRoYXQgd29uJ3Qgc3RhcnQgYXQgMAoJICBGb3IgbGl2ZSBzdHJlYW1zLCB0aGUgbWFuaWZlc3QgbWlnaHQgc3RhcnQgYXQgYW4gYWR2YW5jZWQgcG9zaXRpb24uIEF2b2lkCgkgIHVzaW5nIHNlZ21lbnQgc3RhcnQ9MCB0byBoYXZlIHBsYXliYWNrIHN0YXJ0IGltbWVkaWF0ZWx5CgoyMDE0LTExLTI5IDEwOjI2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXBsYWNlIHRoZSBzdHJlYW1zIHdpdGggdGhlIG5ldyBtcGQgY2xpZW50J3Mgc3RyZWFtcwoJICBPdGhlcndpc2UgaXQgd29uJ3QgdXBkYXRlIHdpdGggdGhlIG5ldyBzZWdtZW50IGluZm8gZnJvbSB0aGUgcGxheWxpc3QKCSAgdXBkYXRlCgoyMDE0LTExLTI5IDEwOjI1OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB3aGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdCwgc2V0IHRoZSB1cmkKCSAgVGhpcyB3aWxsIGFsbG93IGRhc2hkZW11eCB0byBjcmVhdGUgdGhlIGNvcnJlY3QgZnVsbCBwYXRoIFVSSXMgdG8KCSAgY29udGludWUgZG93bmxvYWRpbmcgZnJhZ21lbnRzCgoyMDE0LTA4LTI2IDE2OjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcG9ydCB0byBhZGFwdGl2ZSBkZW11eAoKMjAxNC0xMS0yMiAxNzoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbHNvIGNsZWFyIGZsdXNoaW5nIHN0YXRlIG9uIHBhZHMgYmVmb3JlIHJlc3RhcnRpbmcKCSAgRHVyaW5nIGZsdXNoaW5nIHNlZWtzIHRoZSBmbHVzaGluZyBmbG93IHJldHVybiB3aWxsIHByb3BhZ2F0ZSB1cCB0byB0aGUKCSAgc291cmNlIGVsZW1lbnQgYW5kIGFsbCBwYWRzIGFyZSBnb2luZyB0byBoYXZlIHRoZSBmbHVzaGluZyBmbGFnIHNldC4KCSAgU28gYmVmb3JlIHJlc3RhcnRpbmcgYWxzbyByZW1vdmUgdGhhdCBmbGFnIHRvZ2V0aGVyIHdpdGggdGhlIEVPUyBvbmUuCgkgIFdlIGRvbid0IGRvIHRoYXQgd2hlbiBwdXNoaW5nIHRoZSBmbHVzaCBzdG9wIGV2ZW50IGJlY2F1c2Ugb3VyIGV2ZW50CgkgIGhhbmRsZXIgZm9yIHRoZSBwcm94eXBhZCB3aWxsIGRyb3AgYWxsIGV2ZW50cy4KCjIwMTQtMTEtMjEgMjA6NDI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBhZGFwdGl2ZWRlbXV4IGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg0OAoKMjAxNC0xMS0yOSAxMzoxNjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogbWlub3IgY2FwcyBldmVudCBwYXlsb2FkaW5nIG9wdGltaXNhdGlvbgoJICBBdm9pZCBjcmVhdGlvbiBvZiBidWZmZXIgd2UncmUganVzdCBnb2luZyB0byB0aHJvdwoJICBhd2F5IHR3byBsaW5lcyBsYXRlciBhbnl3YXkuCgoyMDE0LTExLTI5IDEzOjE1OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXggc29tZSBtZW1vcnkgbGVha3MKCjIwMTQtMTEtMzAgMDA6NDI6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiByZXF1aXJlIEdMX0FSQl9FUzJfY29tcGF0aWJpbGl0eSBmb3Igb3BlbmdsMwoJICB1bnRpbCB3ZSBnZW5lcmF0ZSBnbDMgY29tcGxpYW50IHNoYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDAxMgoKMjAxNC0xMS0zMCAwMDoxODo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcHJvcGVybHkgaGFuZGxlIHRoZSAhb3BlbmdsMyBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwMTIKCjIwMTQtMTEtMjggMTc6MzE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBEcm9wIHRvbyBsYXRlIGZyYW1lcyBhbmQgc3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIGF0IHRoZSBjb3JyZWN0IHRpbWUKCjIwMTQtMTEtMjggMTY6MDQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgZ2xmaWx0ZXJhcHA6IGZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBXaGVuIEdTVF9HTF9IQVZFX09QRU5HTCBpcyAwIG9yIHVuc2V0LgoKMjAxNC0xMS0yOCAxNTowNjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBGb3IgdGhlIHNvdXJjZSwgdW5zZXR0aW5nIHRoZSBjYWxsYmFjayBhbHJlYWR5IGRlbGV0ZXMgaXQKCjIwMTQtMTEtMTQgMTE6MTk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBXYWl0IGZvciB0aGUgcGlwZWxpbmUgY2xvY2sgaW5zdGVhZCBvZiB0aGUgZGVja2xpbmsgY2xvY2sKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHN0YXJ2ZSBvdGhlciBlbGVtZW50cyBpZiB0aGUgZGVja2xpbmsgY2xvY2sKCSAgaXMgc2xvd2VyIHRoYW4gdGhlIHBpcGVsaW5lIGNsb2NrLCBvciBzdGFydHMgbXVjaCBsYXRlci4KCSAgT2YgY291cnNlIHRoaXMgd2lsbCBzdGlsbCBjYXVzZSBwcm9ibGVtcyBpZiB0aGUgZGVja2xpbmsgY2xvY2sgYW5kIG91cnMgYXJlCgkgIGNvbXBsZXRlbHkgb3V0IG9mIHN5bmMsIG9yIHJ1bm5pbmcgYXQgYSB2ZXJ5IGRpZmZlcmVudCByYXRlLiBCdXQgdGhpcyBhdCBsZWFzdAoJICB3b3JrcyBiZXR0ZXIgbm93LgoKMjAxNC0xMS0xNCAxMDo1ODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogU2NoZWR1bGUgdmlkZW8gZnJhbWVzIGFjY29yZGluZyB0byB0aGVpciB0aW1lc3RhbXBzLCBub3QgYWNjb3JkaW5nIHRvIGEgZnJhbWUgY291bnRlcgoKMjAxNC0xMS0xNCAxMTowMjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEFkZCBzb21lIEZJWE1FIGNvbW1lbnRzIGFib3V0IHN5bmNocm9uaXphdGlvbgoKMjAxNC0xMS0xNCAxMDozODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBTYW1wbGUgdGhlIHBpcGVsaW5lIGNsb2NrIGZvciB0aGUgdGltZXN0YW1wcyBpbnN0ZWFkIG9mIGNvbWluZyB1cCB3aXRoIG91ciBvd24KCSAgSWYgd2UganVzdCBjb3VudCB0aGUgZnJhbWVzIGFuZCBjYWxjdWxhdGUgdGltZXN0YW1wcyBmcm9tIHRoYXQsIGFsbCBmcmFtZXMKCSAgd2lsbCBhcnJpdmUgbGF0ZSBpbiB0aGUgc2luayBhcyB3ZSBoYXZlIGEgbGl2ZSBzb3VyY2UgaGVyZS4gSW5zdGVhZCB0YWtlCgkgIHRoZSBwaXBlbGluZSBjbG9jayBhdCBjYXB0dXJlIHRpbWUgYXMgcmVmZXJlbmNlLgoKMjAxNC0xMS0yOCAxNDo1MDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogSGFuZGxlIGNhbGxiYWNrL2RlbGVnYXRlIG9iamVjdCB0aGUgc2FtZSB3YXkgYXMgaW4gdGhlIHNpbmsKCSAgUG90ZW50aWFsbHkgZml4ZXMgY3Jhc2hlcy4KCjIwMTQtMTEtMjggMTQ6NDY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IERvbid0IGNyYXNoIHdoZW4gZ29pbmcgdG8gUkVBRFkgYW5vdGhlciB0aW1lCgkgIFdlIGhhdmUgdG8gaGFuZGxlIHRoZSBjYWxsYmFjayBvYmplY3QgYSBiaXQgZGlmZmVyZW50OgoJICBhKSBpdCBuZWVkcyBhIHZpcnR1YWwgZGVzdHJ1Y3RvcgoJICBiKSB3ZSBuZWVkIHRvIHNldCB0aGUgY2FsbGJhY2sgdG8gTlVMTCB3aGVuIHdlJ3JlIGRvbmUgd2l0aCB0aGUgb3V0cHV0CgkgIGMpIGNyZWF0ZSBhIG5ldyBvbmUgZXZlcnkgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjE2CgoyMDE0LTExLTI4IDEwOjIzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBGYWlsdXJlIHRvIG1hcCBhIHZpZGVvIGZyYW1lIGlzIG5vdCBqdXN0IGEgd2FybmluZwoJICBBbHNvIGFkZCBzb21lIHdhcm5pbmcgZGVidWcgb3V0cHV0IGlmIG1hcHBpbmcgYSBvdXRwdXQgYnVmZmVyIGZhaWxzCgoyMDE0LTExLTI4IDEwOjIyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEZhaWx1cmUgdG8gbWFwIGEgdmlkZW8gZnJhbWUgaXMgbm90IGp1c3QgYSB3YXJuaW5nCgoyMDE0LTExLTI4IDE0OjA4OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsZmlsdGVyYXBwIGlzIG5vdyBhdmFpbGFibGUgb24gZ2xlczIgYXMgd2VsbCBzbyBidWlsZCBpdAoKMjAxNC0xMS0yOCAxMzowNDoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBnbDogZml4dXAgY29tcGF0IGRlZmluaXRpb24gZm9yIEdMdWludDY0IGZvciBPUyBYCgoyMDE0LTExLTI4IDExOjU2OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBnbDogYWRkIGNvbXBhdCBkZWZpbml0aW9uIGZvciBHTHVpbnQ2NCBmb3IgYW5kcm9pZAoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDo0MToyMzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdHTHVpbnQ2NCcKCSAgR0x1aW50NjQgdGltZW91dCkpCgoyMDE0LTExLTI4IDAyOjIxOjQ5ICswOTAwICBEYW5ueSBTb25nIDxkYW5ueS5zb25nLmdhQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogZml4IHR5cG8gaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwODE1CgoyMDE0LTExLTI4IDExOjExOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmM6IGZpeCBidWlsZCB3aXRoIGRlc2t0b3AgZ2wKCjIwMTQtMTEtMjggMTE6MDQ6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2w6IGZpeCB0eXBvIGluICNpZgoJICBHU1RfR0xfQVBJX0hBVkVfT1BFTkdMIGRvZXNuJ3QgZXhpc3QKCjIwMTQtMTEtMjggMTA6NTk6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsOiBmaXggdmFyaW91cyBidWlsZCBlcnJvcnMgd2l0aG91dCBkZXNrdG9wIGdsCgoyMDE0LTExLTI4IDEwOjAzOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogZml4IGJ1aWxkIGVycm9yCgkgIGdzdGdsZGlzcGxheS5jOjIzNDo1NDE6IGVycm9yOiAncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3JdCgkgIGdfcmV0dXJuX2lmX2ZhaWwgKEdTVF9JU19HTF9ESVNQTEFZIChkaXNwbGF5KSk7CgoyMDE0LTExLTI3IDIxOjA1OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGRpc3BsYXk6IGltcGxlbWVudCBydW50aW1lIEdMIGFwaSBmaWx0ZXJpbmcKCSAgTmVlZGVkIHNvIHRoYXQgdGhlIHBpcGVsaW5lL2FwcGxpY2F0aW9uIGNhbiBsaW1pdCB0aGUgY2hvaWNlIG9mIEdMIGFwaQoJICB0byB3aGF0IGl0IHN1cHBvcnRzCgoyMDE0LTExLTI3IDE2OjE3OjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbDogcmVtb3ZlIHRoZSB1c2Ugb2YgZ2x1CgoyMDE0LTEwLTE3IDE1OjIyOjI0ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2w6IGFkZCBhIHN5bmMgbWV0YSBmb3Igc3luY2hyb25pemluZyBhY3Jvc3MgR0wgY29udGV4dHMKCSAgQSBjb250ZXh0IGNhbiBjcmVhdGUgYSBHTHN5bmMgb2JqZWN0IHRoYXQgY2FuIGJlIHdhaXRlZCBvbiBpbiBvcmRlcgoJICB0byBlbnN1cmUgdGhhdCBHTCByZXNvdXJjZXMgY3JlYXRlZCBpbiBvbmUgY29udGV4dCBhcmUgYWJsZSB0byBiZQoJICB1c2VkIGluIGFub3RoZXIgc2hhcmVkIGNvbnRleHQgd2l0aG91dCBhbnkgY2hhbmNlIG9mIHJlYWRpbmcgaW52YWxpZAoJICBkYXRhLgoJICBUaGlzIG1ldGEgd291bGQgYmUgcGxhY2VkIG9uIGJ1ZmZlcnMgdGhhdCBhcmUga25vd24gdG8gY3Jvc3MgZnJvbQoJICBvbmUgY29udGV4dCB0byBhbm90aGVyLiAgVGhlIHJlY2VpdmluZyBlbGVtZW50IHdvdWxkIHRoZW4gd2FpdAoJICBvbiB0aGUgc3luYyBvYmplY3QgdG8gZW5zdXJlIHRoYXQgdGhlIGRhdGEgdG8gYmUgdXNlZCBpcyBjb21wbGV0ZS4KCjIwMTQtMTAtMTcgMTU6MDg6MjkgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2xwcm90b3R5cGVzOiBhZGQgc3luYyBmdW5jdGlvbiBkZWZpbml0aW9ucwoKMjAxNC0xMS0xNyAxODowNjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xmaWx0ZXJhcHA6IHBvcnQgdG8gZ2xlczIgYW5kIGdsMwoKMjAxNC0xMS0xNCAyMzoyNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIGdsb3ZlcmxheTogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTQgMDA6MjA6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTEtMTMgMjE6MzA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJICBnbGZpbHRlcmN1YmU6IGFkZCBhIGdsMyBjb2RlIHBhdGgKCjIwMTQtMTEtMTMgMTU6MDk6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbGZpbHRlcnNoYWRlcjogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTMgMTI6MTI6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTEyIDIzOjQ4OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogc3VwcG9ydCBnbDMgd2hlcmVldmVyIGdsZXMyIGlzIHN1cHBvcnRlZAoKMjAxNC0xMS0xMiAyMzo0NzoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIGdsY29sb3JzY2FsZTogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTIgMjI6NDk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IGFkZCBhIGdsMyBjb2RlIHBhdGggdXNpbmcgdmFvJ3MgYW5kIHZibydzCgoyMDE0LTExLTEyIDIyOjQ4OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTEwLTIzIDIyOjM1OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTEwLTIxIDIyOjE4OjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiB1c2UgdmJvJ3MgYW5kIHZhbydzIGZvciBnbDMKCjIwMTQtMTAtMjEgMTk6MzA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXIgYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMC0xOSAwODowOTozNyArMDQwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbHg6IGFzayBmb3IgYSBHTDMgY29yZSBjb250ZXh0CgoyMDE0LTExLTI3IDIxOjIyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1pbm9yIGNsZWFudXAKCjIwMTQtMTEtMjYgMTU6MDI6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSAgY29tcG9zaXRvcjogSW1wbGVtZW50IHJlc2NhbGluZyBvZiB0aGUgaW5wdXQgdmlhIHBhZCBwcm9wZXJ0aWVzCgkgIGNvbXBvc2l0b3IgaGFzIG5vdyB0aGUgc2FtZSBpbnRlcmZhY2UgYXMgZ2x2aWRlb21peGVyLgoKMjAxNC0xMS0yNyAyMDozNDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDb3B5IG92ZXIgbW9yZSBmaWVsZHMgZnJvbSB0aGUgcmVsZXZhbnQgdmlkZW8taW5mbwoJICBnc3RfdmlkZW9faW5mb19zZXRfZm9ybWF0KCkgd2lsbCByZXNldCB0aGUgY29tcGxldGUgdmlkZW8taW5mbywgYnV0CgkgIHdlIHdhbnQgdG8ga2VlcCB2YWx1ZXMgbGlrZSB0aGUgUEFSLCBjb2xvcmltZXRyeSBhbmQgY2hyb21hIHNpdGUuCgkgIE90aGVyd2lzZSB3ZSByaXNrIHNldHRpbmcgZGlmZmVyZW50IHZhbHVlcyBvbiB0aGUgc3JjcGFkIGNhcHMgdGhhbgoJICB3aGF0IGlzIGFjdHVhbGx5IGluc2lkZSB0aGUgYnVmZmVycy4KCjIwMTQtMTEtMjcgMjA6MjU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRGlyZWN0bHkgdXNlIHRoZSBjb252ZXJ0ZXJzIHZpZGVvLWluZm8gaW5zdGVhZCBvZiByZWNhbGN1bGF0aW5nIGl0CgoyMDE0LTExLTI3IDE5OjUyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvIHNvdXJjZSBwYWQgbmVnb3RpYXRpb24gb25seSBmcm9tIHRoZSBhZ2dyZWdhdGVkIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBuZWdvdGlhdGUgZnJvbSB0aGUgc2lua3BhZCBzdHJlYW1pbmcgdGhyZWFkcyBhdAoJICB0aGUgc2FtZSB0aW1lIGFzIG9uIHRoZSBzcmNwYWQgc3RyZWFtaW5nIHRocmVhZCwgYW5kIHRoZW4gYWxsIGtpbmRzCgkgIG9mIGNyYXp5IGJ1Z3MgaGFwcGVuIHRoYXQgZG9uJ3QgbWFrZSBhbnkgc2Vuc2UgYXQgYWxsLgoKMjAxNC0xMS0yNyAxODo0NjowMyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvY29udmVydDogSGlkZSBhbGwgY29udmVyc2lvbiByZWxhdGVkIGZpZWxkcwoJICBBbmQgZG8gbm90IGRlbGF5IHRoZSBzZXR0aW5nIG9mIHRoZSBjb252ZXJzaW9uX2luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc2OAoKMjAxNC0xMS0yNyAxNjo0MzozOSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEbyBub3QgdHJ5IHRvIHJlc2l6ZSBhIGJ1ZmZlciB0byBhIG5lZ2F0aXZlIHNpemUgb24gRU9TCgoyMDE0LTExLTI2IDE4OjI0OjA1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEV4cG9zZSB2bWV0aG9kcyB0byBzZXQgY29udmVydGVycyBhbmQgcHJlcGFyZS9jbGVhbiBmcmFtZXMKCSAgVGhpcyBnaXZlcyBtb3JlIGZsZXhpYmlsaXR5IHRvIHRoZSBzdWJjbGFzc2VzIGFuZCBwZXJtaXRzIHRvIHJlbW92ZSB0aGUKCSAgR3N0VmlkZW9BZ2dyZWdhdG9yQ2xhc3MtPmRpc2FibGVfZnJhbWVfY29udmVyc2lvbiB1Z2x5IEFQSS4KCSAgV0FSTklORzogVGhpcyBicmVha3MgdGhlIEFQSSBhcyBpdCByZW1vdmVzIHRoZSBkaXNhYmxlX2ZyYW1lX2NvbnZlcnNpb24KCSAgZmllbGQKCSAgQVBJOgoJICArIEdzdFZpZGVvQWdncmVnYXRvckNsYXNzLT5maW5kX2Jlc3RfZm9ybWF0CgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkQ2xhc3MtPnNldF9mb3JtYXQKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWRDbGFzcy0+cHJlcGFyZV9mcmFtZQoJICArIEdzdFZpZGVvQWdncmVnYXRvclBhZENsYXNzLT5jbGVhbl9mcmFtZQoJICAtIEdzdFZpZGVvQWdncmVnYXRvckNsYXNzLT5kaXNhYmxlX2ZyYW1lX2NvbnZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc2OAoKMjAxNC0xMS0yNiAxNTo0MTozNyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuaDoKCSAgd2F0Y2hkb2c6IEhhbmRsZSBGTFVTSElORyBzZWVrIGV2ZW50cyBldmVuIGluIFBBVVNFRCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzU3CgoyMDE0LTExLTI2IDE1OjQzOjEyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogUHJvcGVybHkgaGFuZGxlIFBBVVNFRCBzdGF0ZQoJICBJbiBQQVVTRUQgc3RhdGUgd2Ugc2hvdWxkIGp1c3QgcHJlcm9sbCwgc28gZ2V0IG9uZSBidWZmZXIKCSAgYW5kIHN0b3AgbW9uaXRvcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc1NwoKMjAxNC0xMC0zMSAxMTowMTo0NyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IExldCBhIGZ1bGwgcmVuZWdvdGlhdGlvbiBoYXBwZW4gYWZ0ZXIgcmVtb3ZpbmcgdGhlIGxhc3QgcGFkCgkgIFdpdGggdGhlIGN1cnJlbnQgY29kZSwgd2Ugd2lsbCBlbmQgdXAgc2V0dGluZyB0aGUgcHJlZmVycmVkIGRvd25zdHJlYW0KCSAgZm9ybWF0IGFzIHRoZSBzcmNwYWQgZm9ybWF0LCBhbmQgaXQgbWlnaHQgbm90IGJlIGFjY2VwdGVkIGJ5IHRoZSBuZXh0CgkgIHNpbmtwYWQgdG8gYmUgYWRkZWQuIFdlIHNob3VsZCBpbnN0ZWFkIGxldCB0aGUgbmV4dCBzaW5rcGFkIHJlY29uZmlndXJlCgkgIGV2ZXJ5dGhpbmcuCgoyMDE0LTExLTI3IDEzOjQwOjU2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBhZGQgcXVhbGl0eSBwcm9wZXJ0eQoKMjAxNC0xMS0yNyAxMzozMzowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IHNldCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgoyMDE0LTExLTI3IDE4OjA5OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBVbnJlZiBidWZmZXIgd2l0aCB0aGUgY29ycmVjdCBmdW5jdGlvbgoKMjAxNC0xMS0yNyAxODowOToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogSGFuZGxlIGZhaWx1cmUgb2YgbWVtb3J5IGFsbG9jYXRpb24gZ3JhY2VmdWxseQoKMjAxNC0xMS0yNyAxODowNDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogVXNlIGdfdHJ5X21hbGxvYygpIGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZXMKCSAgZ19tYWxsb2MoKSBhYm9ydHMgaWYgYWxsb2NhdGlvbiBmYWlscywgaXQncyBwb2ludGxlc3MgdG8gY2hlY2sgYWdhaW5zdCBOVUxMCgkgIGFmdGVyd2FyZHMuIFRoYXQncyB3aHkgZ190cnlfbWFsbG9jKCkgZXhpc3RzLgoKMjAxNC0xMS0yNyAxNzoxMToxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjMyY2ZjZCB0byBlZjFmZmRjCgoyMDE0LTExLTI3IDEwOjQ4OjQzICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBzdXBwb3J0IFJHQjE2L0JHUjE2IHZpZGVvIGZvcm1hdCBkb3dubG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwODAxCgoyMDE0LTExLTI3IDEzOjAxOjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IG9ubHkgYXR0ZW1wdCBhIHJlc2l6ZSB3aGVuIHRoZSB3aW5kb3cgaGFzIGFscmVhZHkgcmVzaXplZAoJICBmaXhlcyBhIGJsYWNrIHN0YXJ0dXAgc2NyZWVuIG9uIHdheWxhbmQKCjIwMTQtMTEtMjcgMTE6NDc6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsL3dheWxhbmQ6IGltcGxlbWVudCByZXNpemluZyB0aGUgd2luZG93IHVzaW5nIHRoZSByaWdodCBtb3VzZSBidXR0b24KCjIwMTQtMTEtMjYgMjI6MDU6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVc2UgbmV3ZXIgQVhfUFRIUkVBRCBpbnN0ZWFkIG9mIEFDWF9QVEhSRUFECgoyMDE0LTExLTI2IDE0OjM2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIFJlbW92ZSB1bnBvcnRlZCBhbmQgb2Jzb2xldGUgcXR3cmFwcGVyIHBsdWdpbiBjb2RlCgkgIFF1aWNrVGltZSBpcyBkZXByZWNhdGVkLCB3ZSB3YW50IG5ldyBwbHVnaW5zIGJhc2VkCgkgIG9uIGF2Zm91bmRhdGlvbiAob3N4KSBvciBkeHZhL21lZGlhZm91bmRhdGlvbiAod2luZG93cykuCgoyMDE0LTExLTI3IDAxOjI3OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHN1cHBvcnQgZml4ZWQgZGltZW5zaW9ucyBvbiBib3RoIHNpZGVzIG9mIHRoZSBlbGVtZW50CgkgIEZpeGVzOgoJICB3aWR0aD0zMjAsaGVpZ2h0PTI0MCAhIGdsZmlsdGVyICEgd2lkdGg9ODAwLGhlaWdodD02MDAKCSAgd2lkdGg9MjMwLGhlaWdodD0yNDAgISBnbGZpbHRlciAhIHdpZHRoPTYwMAoJICAuLi4gISBnbGZpbHRlciAhIHdpZHRoPTgwMAoKMjAxNC0xMS0yNSAxMzozMzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZml4IGF1dG9tYWdpYyBkaXNhYmxpbmcgb2YgZGVza3RvcCBHTAoJICBJZiBjb25maWd1cmUgZmluZHMgR0wgKyBHTEVTMiBidXQgdGhlIHVzZXIgcGFzc2VzIC0tZW5hYmxlLWdsZXMyIGFuZAoJICB0aGUgdHdvIEdMIEFQSSdzIGNhbm5vdCBiZSBidWlsdCBhZ2FpbnN0IHRvZ2V0aGVyLCBjb25maWd1cmUgd2FzIHN0aWxsCgkgIGFsbG93aW5nIHRoZSBkZXNrdG9wIEdMIHN0YWNrIHRvIGJlIGJ1aWx0LgoKMjAxNC0xMS0yNiAxMzowNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBbHNvIHN5bmMgcGFkIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgY29udmVyc2lvbiBpcyBkaXNhYmxlZAoKMjAxNC0xMS0yNiAxMjozNTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcnBhZC5oOgoJICBjb21wb3NpdG9yOiBSZW1vdmUgdW51c2VkIHpvcmRlciBwYWQgcHJvcGVydHkKCSAgSXQncyBoYW5kbGVkIGluIHZpZGVvYWdncmVnYXRvciBhbHJlYWR5LgoKMjAxNC0xMS0yMyAyMzo0OTo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yIChHQ0MpIDQuMi4xCgkgICJ3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkCgkgIHJhbmdlIG9mIGRhdGEgdHlwZSIKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDY3MwoKMjAxNC0xMS0yNSAxODo1Mzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogR3N0VmlkZW9NZXRhIGlzIHN1cHBvcnRlZCBqdXN0IGZpbmUsIHRlbGwgdXBzdHJlYW0gYWJvdXQgdGhhdAoJICBBbHNvIHByb3ZpZGUgYSBHc3RWaWRlb0J1ZmZlclBvb2wgdG8gdXBzdHJlYW0ganVzdCBpbiBjYXNlLgoKMjAxNC0xMS0yNCAxMzoyNTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZml4IGRlYnVnIG1lc3NhZ2UgZm9ybWF0IGlzc3VlcwoJICBBbmQgcHJpbnQgbGFzdCBiaXRzIG9mIEdVSUQgcHJvcGVybHkgaW5zdGVhZAoJICBvZiBwcmludGluZyBub25zZW5zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA1NQoKMjAxNC0xMS0yNSAwODoyNDoxNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMiAoR0NDKSA0LjIuMQoJICAid2FybmluZzogY29tcGFyaXNvbiBpcyBhbHdheXMgdHJ1ZSBkdWUgdG8gbGltaXRlZAoJICByYW5nZSBvZiBkYXRhIHR5cGUiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzQKCjIwMTQtMTEtMjQgMTk6NTM6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IFgxMQoJICBMaWtlIHdlIGRvIGluIC1iYXNlIGFuZCAtZ29vZCBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwNDcKCjIwMTQtMTEtMjQgMTk6MjE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogVXNlIGEgZml4ZWQgbnVtYmVyIG9mIHNsaWNlcyBieSBkZWZhdWx0CgoyMDE0LTExLTI0IDE5OjE2OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBzb21lIG1vcmUgZW5jb2RpbmcgcHJvcGVydGllcwoJICBNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zCgkgIGJhc2VkIG9uIGEgcGF0Y2hzZXQgYnkgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZXJpY3Nzb24uY29tPgoKMjAxNC0xMS0yNCAxODo0MDo1MyArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogRml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIGJ5IG1vdmluZyBkZWNsYXJhdGlvbiB3aGVyZSBpdCBpcyBhY3R1YWxseSB1c2VkCgoyMDE0LTExLTI0IDE0OjA3OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3VwcG9ydCBmb3IgMmsgbW9kZXMKCjIwMTQtMTEtMjQgMTM6NTY6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSEQxMDgwaTUwIGlzIDUwIGZyYW1lcyBwZXIgc2Vjb25kCgoyMDE0LTExLTI0IDE3OjU4OjQyICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMTEtMjQgMTc6MTg6NDQgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgZHZic2VjdGlvbjogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAxNC0xMS0yNCAxNjo1NDo0MiArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzZGVzY3JpcHRvcjogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoJICBnc3RtcGVndHNkZXNjcmlwdG9yLmM6Nzc4OjE2OiB3YXJuaW5nOiBmb3JtYXQgc3BlY2lmaWVzIHR5cGUgJ3Vuc2lnbmVkIGxvbmcnIGJ1dCB0aGUgYXJndW1lbnQgaGFzIHR5cGUgJ2ludCcgWy1XZm9ybWF0XQoKMjAxNC0xMS0yNCAxMTozMjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRml4IHZhbGlkIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2x1cGxvYWQuYzo0NDI6MzI6IGVycm9yOiBpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHkgWy1XZXJyb3IsLVdlbXB0eS1ib2R5XQoJICBpZiAodXBsb2FkLT50ZXh0dXJlX2lkc1tpXSk7CgkgIF4KCjIwMTQtMTEtMjQgMTA6NDM6MjMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJICBnbDogc2hpcCB0aGUgZ3N0Z2xjb250ZXh0X2VnbC5oIGhlYWRlcgoJICBJdCBpcyByZXF1aXJlZCBieSBnc3RlZ2xpbWFnZW1lbW9yeS5oLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjExCgoyMDE0LTExLTIzIDIxOjQzOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsOiBzaGFkZXJ2YXJpYWJsZXM6IG1ha2UgcGFyc2luZyBvZiBmbG9hdHMgbG9jYWxlLWluZGVwZW5kZW50CgkgIEZsb2F0aW5nIHBvaW50IG51bWJlcnMgYXJlIHdyaXR0ZW4gZGlmZmVyZW50bHkgaW4gZGlmZmVyZW50CgkgIGxvY2FsZXMsIGUuZy4gaW4gbWFueSBjb3VudHJpZXMgMS8yID0gMCw1IGluc3RlYWQgb2YgMC41LCBhbmQKCSAgc3RydG9kIHdpbGwgbm90IGJlIGFibGUgdG8gcGFyc2UgIjAuNSIgY29ycmVjdGx5IGluIHN1Y2ggYQoJICBsb2NhbGUuCgoyMDE0LTExLTI0IDAyOjUyOjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2xzaGFkZXJ2YXJpYWJsZXM6IGFsc28gdHJpbSBcciBhcyB3ZWxsIGFzIFxuCgoyMDE0LTExLTA1IDIwOjE4OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVhcmNoaXRlY3R1cmUgZm9yIG5vbiBHTE1lbW9yeSBpbnB1dHMvb3V0cHV0cwoJICBBbGxvd3Mgb3RoZXIgbWVtb3J5IHR5cGVzIHRvIGJlIGltcGxlbWVudGVkL3JldHVybmVkL3VzZWQgYnkgdGhlIGNhbGxlci4KCjIwMTQtMTEtMTQgMTA6NTU6MTQgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsODYubGVlQGxnZS5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IHNlbmQgU0VFS0lORyBxdWVyeSB1cHN0cmVhbSBmaXJzdAoJICBTb21ldGltZXMgcmF3cGFyc2UgZG9lcyBub3QgaGFuZGxlIHRoZSBzZWVraW5nIHF1ZXJ5CgkgIHByb3Blcmx5LCB0aGUgcmF3cGFyc2Ugc2hvdWxkIHNlbmQgdGhlIHF1ZXJ5IHVwc3RyZWFtCgkgIGZpcnN0LiBGb3IgZXhhbXBsZSwgdXBzdHJlYW0gY291bGQgc3VwcG9ydCBzZWVraW5nIGluCgkgIFRJTUUgZm9ybWF0IChidXQgbm90IGluIEJZVEUgZm9ybWF0KSwgc28gdGhlIEJZVEUgZm9ybWF0CgkgIHNlZWtpbmcgcXVlcnkgdGhhdCByYXdwYXJzZSBzZW5kcyBpbiBwdXNoIG1vZGUgd291bGQKCSAgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjc2NAoKMjAxNC0xMS0yMSAxNTo0Njo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogbGV0IFZUIHBpY2sgdGhlIGJpdHJhdGUgYnkgZGVmYXVsdAoKMjAxNC0xMS0yMCAxMDoyMzozMCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IGZpeCBydHAvcnRjcCBzaW5rIGV2ZW50IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0NTEKCjIwMTQtMTEtMjAgMTY6MDQ6MzQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IHNldCBIMjY0X0Jhc2VsaW5lX0F1dG9MZXZlbCBvbiBPU1ggYXMgd2VsbAoKMjAxNC0xMS0yMCAxNTo1MDoxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZGlzYWJsZSB0aGUgcmVvcmRlciBxdWV1ZSBmb3IgYmFzZWxpbmUgc3RyZWFtcwoKMjAxNC0xMS0yMCAwOTo0MTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggZGl2aWRlIGJ5IHplcm8gaW4gdGhlIHBpY3R1cmUgYnVmZmVyIGxlbmd0aCBjYWxjdWxhdGlvbgoKMjAxNC0xMS0yMCAwOToxMzo1OCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNyaXRpY2FsIGVycm9yIHdoaWxlIHNlZWsgcGxheWJhY2stdGVzdChzdG9wIHN0YXRlKQoJICBJZiB3ZSBzZWVrIHdoZW4gbWVkaWEgaXMgaW4gc3RvcCBzdGF0ZSwgcGxheWJhY2stdGVzdCBnaXZlcwoJICBjcml0aWNhbCBlcnJvciwgc2luY2UgY29udGV4dCBvZiBnbGltYWdlc2luayBpcyBkZXN0cm95ZWQgZHVyaW5nIHN0b3AuCgkgIEJ1dCBzaW5jZSBjb250ZXh0IGlzIG5vdCBwcmVzZW50LCB3ZSBuZWVkIG5vdCBoYW5kbGUgc2VuZF9ldmVudCBpbiBnbGltYWdlc2luawoJICBIZW5jZSBhZGRpbmcgYSBjb25kaXRpb24gdG8gY2hlY2sgaWYgY29udGV4dCBpcyB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDMwNQoKMjAxNC0xMS0xOSAxNzoxNzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5ibG9jayBldmVudHMvcXVlcmllcyBpbW1lZGlhdGVseSBpZiB0aGUgcGFkIGlzIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MTU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERyb3Agc2VyaWFsaXplZCBldmVudHMvcXVlcmllcyBpZiB0aGUgcGFkIGlzIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEJsb2NrIHNlcmlhbGl6ZWQgZXZlbnRzL3F1ZXJpZXMgdW50aWwgdGhlIHBhZCBoYXMgY29uc3VtZWQgYWxsIGJ1ZmZlcnMKCSAgT3RoZXJ3aXNlIHRoZSBjYXBzIG9mIHRoZSBwYWQgbWlnaHQgY2hhbmdlIHdoaWxlIHRoZSBzdWJjbGFzcyBzdGlsbCB3b3JrcyB3aXRoCgkgIGEgYnVmZmVyIG9mIHRoZSBvbGQgY2FwcywgYXNzdW1pbmcgdGhlIHRoZSBjdXJyZW50IHBhZCBjYXBzIGFwcGx5IHRvIHRoYXQKCSAgYnVmZmVyLiBXaGljaCB0aGVuIGxlYWRzIHRvIGNyYXNoZXMgYW5kIG90aGVyIG5pY2UgZWZmZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzowMjo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCBvdXRwdXQgMC1kdXJhdGlvbiBidWZmZXJzIGF0IHRoZSBzZWdtZW50IGVuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjAzOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggdHlwbyBpbiBkZWJ1ZyBvdXRwdXQKCjIwMTQtMTEtMTcgMTQ6MDU6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggdXAgUW9TIGhhbmRsaW5nIGZvciBsaXZlIHNvdXJjZXMKCSAgT25seSBhdHRlbXB0IGFkYXB0aXZlIGRyb3Agd2hlbiB3ZSBhcmUgbm90IGxpdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5NgoKMjAxNC0xMS0xNyAxNDowMDoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBfZ2V0X2xhdGVuY3koKSBmb3Igc3ViY2xhc3MgdXNhZ2UKCSAgQVBJOiBnc3RfYWdncmVnYXRvcl9nZXRfbGF0ZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTE3IDA5OjM2OjUyICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBidWlsZCBlcnJvcnMgd2hlbiBHU1RfR0xfSEFWRV9PUEVOR0wgaXMgMAoJICBNb3ZpbmcgdmFyaWFibGVzIHdpdGhpbiAjaWYgR1NUX0dMX0hBVkVfT1BFTkdMLCB3aGljaCBhcmUgbm90IGdvaW5nIHRvIGJlIHVzZWQgb3RoZXJ3aXNlLgoJICBhbmQgd2hpY2ggYXJlIG5lZWRlZCBvbmx5IHdoZW4gT3BlbkdsIGlzIHByZXNlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNQoKMjAxNC0xMS0xNyAxMToxMDozNSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogcmVsaWNlbnNlIG9wZW5jdiBnc3RoYW5kZGV0ZWN0X3Rlc3QgdG8gTEdQTHYyKwoJICBUaGUgR1BMMyBsaWNlbnNlIGhlYWRlciB3YXMgY29weSduJ3Bhc3RlZCBmcm9tIGEKCSAgbmVpZ2hib3VyaW5nIHNvdXJjZSBmaWxlIGJ5IG1pc3Rha2UsIHRoZSBvcmlnaW5hbAoJICBjb2RlIHdhcyBub3QgR1BMMyBsaWNlbnNlZCwgYnV0IGZlbGwgdW5kZXIgdGhlCgkgIGRlZmF1bHQgR1N0cmVhbWVyIGxpY2Vuc2UsIHdoaWNoIGlzIExHUEx2MisuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTQtMTEtMTcgMTg6NTA6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogYWRkIHJlYWQtb25seSBjb250ZXh0IHByb3BlcnR5CgoyMDE0LTExLTE3IDE4OjUwOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBhZGQgcmVhZC1vbmx5IGNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTEtMTEgMTc6MDg6MjUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uaXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgb3BlbmN2LWV4YW1wbGU6IFVzZSBnX3NucHJpbnRmIGluc3RlYWQgb2Ygc3ByaW50ZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODQ2CgoyMDE0LTExLTE2IDIwOjMyOjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIGV4cGxpY2l0IGNvbXBhcmlzb25zIGFnYWluc3QgMCBmb3IgdHJ1ZS9mYWxzZQoKMjAxNC0xMS0xNiAxMTowMDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogT25seSB1c2UgY29udmVydFJlY3RUb0JhY2tpbmcgb24gT1NYID49IDEwLjcKCSAgSXQgZG9lcyBub3QgZXhpc3QgYmVmb3JlIGFuZCBvbGRlciB2ZXJzaW9ucyBhbHNvIGRvbid0IGhhdmUKCSAgc3VwcG9ydCBmb3IgSGlEUEkgZGlzcGxheXMgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjAxCgoyMDE0LTExLTE2IDEwOjU3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IFVzZSBudW1lcmljIE9TWCB2ZXJzaW9uIGluc3RlYWQgb2YgdGhlIG1hY3JvCgkgIFRoZSBtYWNybyBpcyBub3QgZGVmaW5lZCBvbiBvbGRlciBPU1ggdmVyc2lvbnMgYW5kIGV2YWx1YXRlcyB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjAxCgoyMDE0LTExLTE1IDIxOjU5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBwb3NzaWJsZSBjcmFzaCBieSBwYXNzaW5nIDY0IGJpdHMgZm9yIDY0LWJpdCBxdWV1ZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTkxCgoyMDE0LTExLTE0IDEwOjQwOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbgoKMjAxNC0xMS0xMCAxMDowMToyNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnYi5kZXZlbEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZGVyaXZhdGlvbiBvZiBNYXhQaWNOdW0gdmFyaWFibGUuCgkgIFRoZSBsb2dpYyB0byBjb21wdXRlIHRoZSBNYXhQaWNOdW0gdmFyaWFibGUgd2FzIHJldmVyc2VkLiBJbiBwYXJpY3VsYXIsCgkgIE1heFBpY051bSBpcyBkb3VibGUgTWF4RnJhbWVOdW0gb25seSBpZiBmaWVsZF9waWNfZmxhZyBpcyBzZXQgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTI5MQoKMjAxNC0xMS0xMyAxMjowMToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRG9uJ3Qgb3ZlcnJpZGUgdGhlIGFwcGxpY2F0aW9uIGRlbGVnYXRlCgkgIE90aGVyd2lzZSBpbnRlcmVzdGluZyB0aGluZ3Mgd2lsbCBoYXBwZW4gaW4gQ29jb2EgYXBwbGljYXRpb25zLCBsaWtlCgkgIGluZmluaXRlIGV2ZW50IGxvb3BzIHRoYXQgYmxvY2sgdGhlIE5TQXBwbGljYXRpb24gbG9vcCBmb3JldmVyLgoJICBUaGlzIHdhcyBvbmx5IG5lZWRlZCBmb3IgR05VU3RlcCBhbmQgdGh1cyBjYW4gc2FmZWx5IGJlIHJlbW92ZWQgbm93LgoKMjAxNC0xMS0xMyAxMTo1ODowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsL2NvY29hOiBSZW1vdmUgR05VU3RlcCBzdXBwb3J0CgkgIFVudGlsIGdjYyBhbmQgR05VU3RlcCBwcm9wZXJseSBzdXBwb3J0IE9iamVjdGl2ZS1DIGJsb2NrcyBhbmQgb3RoZXIKCSAgIm5ldyIgZmVhdHVyZXMgb2YgT2JqZWN0aXZlLUMgd2UgY2FuJ3QgcHJvcGVybHkgc3VwcG9ydCB0aGVtIHdpdGhvdXQKCSAgbWFraW5nIHRoZSBjb2RlIG11Y2ggbW9yZSB1Z2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MTUyCgoyMDE0LTExLTEyIDE4OjA2OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJICBpbnRlcmF1ZGlvc2luazogTWFrZSBzdXJlIHRvIHN0b3JlIGF0IGxlYXN0IHBlcmlvZC10aW1lIHNhbXBsZXMgYXQgb25jZSBpbiB0aGUgYWRhcHRlcgoJICBJdCdzIGJldHRlciB0byBjcmVhdGUgc29tZSBtb3JlIHNpbGVuY2UgdGhhbiBoYXZpbmcgdGhlIHNvdXJjZSBwdWxsIG11bHRpcGxlCgkgIHNob3J0IGJ1ZmZlcnMgb3V0IG9mIHRoZSBhZGFwdGVyIGFuZCBpbnNlcnQgc2lsZW5jZSBiZXR3ZWVuIHRoZW0uCgoyMDE0LTExLTEyIDE2OjQ1OjEyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggYnVpbGQgb24gaU9TCgoyMDE0LTExLTEyIDE1OjM1OjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBjb3JlbWVkaWFidWZmZXI6IHNldCAtPnBpeGVsX2J1ZiBmb3IgQ1ZQaXhlbEJ1ZmZlciBidWZmZXJzCgkgIEZpeCBhIGJ1ZyBmb3Igd2hpY2ggd2UgbmV2ZXIgYWN0dWFsbHkgc2V0IC0+cGl4ZWxfYnVmIHRvIG5vbi1OVUxMIGZvcgoJICBDVlBpeGVsQnVmZmVyIGJ1ZmZlcnMuCgoyMDE0LTA2LTA2IDEzOjU3OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogc2V0IGNoYW5uZWwgcG9zaXRpb25zIHVzaW5nIHRoZSBhcHByb3ByaWF0ZSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAzOAoKMjAxNC0xMS0xMiAxMzo1ODo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IFN0b3Agc2hvd2luZyB0aGUgY3VycmVudCBmcmFtZSBhZnRlciAxIHNlY29uZCwgbm90IGFmdGVyIDMwIGZyYW1lcwoKMjAxNC0xMS0xMiAwOTo0MTo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBDRkxBR1MgYW5kIExBREQgZm9yIGdsaW1hZ2VzaW5rIHVuaXQgdGVzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTEyIDExOjUyOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBuZXcgZW5hYmxlLWZyYW1lLXNraXAgcHJvcGVydHkgYW5kIGRpc2FibGUgaXQgYnkgZGVmYXVsdAoJICBPdGhlcndpc2UgZS5nLiB2aWRlb3Rlc3RzcmMgISBvcGVuaDI2NGVuYyAhIC4uLiB3aWxsIGRyb3AgZXZlcnkgc2Vjb25kIGZyYW1lCgkgIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSB0YXJnZXQgYml0cmF0ZSBjYW4ndCBiZSByZWFjaGVkIHdpdGhvdXQgbG9vc2luZyB0b28KCSAgbXVjaCBxdWFsaXR5LgoKMjAxNC0xMS0xMiAwOTo1OTo1MyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGNvbXBpbGF0aW9uIG9uIDwgMTAuOQoKMjAxNC0xMS0xMiAxMTo0NDowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBzZXQgdGhlIHVwbG9hZCB0byBOVUxMIG9uIHRoZSBkcmFpbiBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTExIDE3OjA0OjQ4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbmlzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogQ29ycmVjdCBpbnZhbGlkIGNvbW1lbnQgdGV4dAoKMjAxNC0xMS0xMSAyMzo1NDo0NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGFkZCB1bml0IHRlc3QgdGhhdCBjaGVja3MgZm9yIGdsaW1hZ2VzaW5rIGRyYWluIHF1ZXJ5IGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTEgMjM6NDk6NTkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZWxlYXNlIHN0b3JlZCBidWZmZXJzIG9uIGRyYWluIHF1ZXJ5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTEgMjM6NDM6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBkbyBub3QgcmFpc2UgYSBjcml0aWNhbCBtc2cgaWYgdGhlIGJhY2tlbmQgZG9lcyBub3QgaGFuZGxlIHdpbmRvdyBldmVudHMKCSAgRml4ICJhc3NlcnRpb24gJ3dpbmRvd19jbGFzcy0+aGFuZGxlX2V2ZW50cyAhPSBOVUxMJyBmYWlsZWQiCgkgIGlmIG5vdCB1c2luZyBhIFgxMSB3aW5kb3cuCgoyMDE0LTExLTExIDE4OjAxOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBlbmFibGUgdGhlIGh3IGVuY29kZXIgb24gT1NYCgoyMDE0LTExLTExIDEyOjAwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogQ2hlY2sgdGhlIGNvcnJlY3QgdmFyaWFibGUgZm9yIGZhaWx1cmUKCSAgSWYgd2UgY2FuJ3QgZ2V0IGFuIG91dHB1dCwgd2Ugd291bGQgb3RoZXJ3aXNlIGp1c3QgdXNlIGl0IGxhdGVyIGFuZCBjcmFzaC4KCjIwMTQtMTEtMTEgMTE6MTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBNYWtlIHN1cmUgd2UgaGF2ZSBhIHdyaXRhYmxlIGJ1ZmZlciBiZWZvcmUgd2Ugc3RhcnQgY2hhbmdpbmcgbWV0YWRhdGEKCjIwMTQtMTEtMTEgMTE6MTU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBTZXQgdGhlIEdBUCBmbGFnIG9uIHJlcGVhdGVkIGJ1ZmZlcnMKCSAgdmlkZW9yYXRlIGRvZXMgdGhlIHNhbWUgYW5kIGl0IGFsbG93cyBvcHRpbWl6YXRpb25zIGRvd25zdHJlYW0uCgoyMDE0LTExLTExIDExOjEyOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogU2V0IHRoZSBHQVAgZmxhZyBvbiBidWZmZXJzIHRoYXQgb25seSBjb250YWluIHNpbGVuY2UKCjIwMTQtMTEtMTEgMTQ6MjM6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcmVtb3ZlIHRoZSB3aWR0aC9oZWlnaHQgZmllbGRzIGZyb20gdGhlIGNhcHMgdG8gc3VwcG9ydCBmcmFtZSByZXNpemluZwoJICBJdCB3YXMgcHJldmlvdXNseSBvbmx5IG9jY3VyaW5nIHdpdGggc3lzbWVtIGNhcHMgZmVhdHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTMzNAoKMjAxNC0xMS0xMCAxNzo0MjoyMCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogZml4IEdzdEgyNjRQYXJzZXJSZXN1bHQgZG9jdW1lbnRhdGlvbiB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5MDYKCjIwMTQtMTEtMTAgMTY6MDE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogQWRkIHgyNjVlbmMgdW5pdCB0ZXN0IHRvIC5naXRpZ25vcmUKCjIwMTQtMTEtMDkgMjA6NTM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBvcHRpbWlzZSByZWFkaW5nIG9mIHBuZyBmaWxlcwoJICBSZWFkIFBORyBkYXRhIGNodW5rIGluIG9uZSBnbyBieSBsZXR0aW5nIHRoZSBwYXJzZXIKCSAgYmFzZSBjbGFzcyBrbm93IHRoZSBzaXplIHdlIG5lZWQsIHNvIHRoYXQgaXQgZG9lc24ndAoJICBkcmlwLWZlZWQgdXMgc21hbGwgY2h1bmtzIG9mIGRhdGEgKGNhdXNpbmcgYSBsb3Qgb2YKCSAgcmVhbGxvY3MgYW5kIG1lbWNweSBpbiB0aGUgcHJvY2VzcykgdW50aWwgd2UgaGF2ZQoJICBldmVyeXRoaW5nLgoJICBJbXByb3ZlcyBwYXJzaW5nIHBlcmZvcm1hbmNlIG9mIHZlcnkgbGFyZ2UgUE5HIGZpbGVzCgkgICg2NU1CKSBmcm9tIH4xMyBzZWNvbmRzIHRvIGEgY291cGxlIG9mIG1pbGxpc2Vjcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjE3NgoKMjAxNC0xMS0wOSAxOToyMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0c211eC9tcHRzX3Rlc3QyLmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgcG9pbnRsZXNzIG1wZWd0c211eCBleGFtcGxlCgkgIFNlcnZlcyBubyBwdXJwb3NlLCBpcyBub3QgZXZlbiBob29rZWQgdXAgdG8gdGhlCgkgIGJ1aWxkIHN5c3RlbSwgaGFzIGhhcmQgY29kZWQgZmlsZSBuYW1lcyBhbmQgcGF0aHMsCgkgIGFuZCBjYW4gZWFzaWx5IGJlIHJlcGxhY2VkIHdpdGggYSBnc3QtbGF1bmNoIGxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NDQKCjIwMTQtMTEtMDkgMTA6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogRG9uJ3QgcHJldGVuZCB0byBzdXBwb3J0IHJlY29uZmlndXJhdGlvbgoJICBXZSB3aWxsIHJ1biBpbnRvIGFuIGFzc2VydGlvbiBpbiBzZXRfY2FwcygpIGlmIHdlIHRyeSB0byBjaGFuZ2UKCSAgY2FwcyB3aGlsZSB0aGUgc291cmNlIGlzIGFscmVhZHkgcnVubmluZy4gRG9uJ3QgdHJ5IHRvIGZpbmQgbmV3CgkgIGNhcHMgaW4gR3N0QmFzZVNyYzo6bmVnb3RpYXRlKCkgdG8gcHJldmVudCBjYXBzIGNoYW5nZXMuCgoyMDE0LTEwLTA5IDEzOjExOjQ4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogc2V0IHNlcV9sYXllcl9zZW50IHRvIEZBTFNFIG9uIHJlc2V0KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0xMC0wOSAxMzowMzo1NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogaW1wbGVtZW50IGFzZiB0byAqLWZyYW1lLWxheWVyIHN0cmVhbS1mb3JtYXQKCSAgVGhpcyBjb21taXQgYWRkIGFuIGhlbHBlciB0byBjb252ZXJ0IGEgZnJhbWUgdG8gZnJhbWUtbGF5ZXIgZm9ybWF0IGFuZAoJICB1c2UgaXQgdG8gaW1wbGVtZW50IHRoZXNlIHR3byBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb246CgkgIC0gYXNmIC0tPiBzZXF1ZW5jZS1sYXllci1mcmFtZS1sYXllcgoJICAtIGFzZiAtLT4gZnJhbWUtbGF5ZXIKCSAgSW4gc2ltcGxlL21haW4gcHJvZmlsZSwgd2UgYmFzaWNhbGx5IGhhdmUgYSByYXcgZnJhbWUsIHNvIGJ1aWxkaW5nIGEKCSAgZnJhbWUgbGF5ZXIgaXNuJ3QgdG9vIGNvbXBsaWNhdGVkLiBCdXQgaW4gYWR2YW5jZWQgcHJvZmlsZSwgdGhlIGZpcnN0CgkgIGZyYW1lLWxheWVyIHNob3VsZCBjb250YWluIHNlcXVlbmNlLWhlYWRlciwgZW50cnlwb2ludCwgYW5kIGZyYW1lIGFuZAoJICBlYWNoIGtleWZyYW1lIHNob3VsZCBjb250YWluIGVudHJ5cG9pbnQsIHNvIHdlIGhhdmUgdG8gaGFuZGxlIHRoZXNlCgkgIGNhcmVmdWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0xMC0wOSAxMDozODo0MCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGNoZWNrIG91dHB1dCBmb3JtYXQgYXQgbmVnb3RpYXRpb24gdGltZQoJICBBZGQgYW4gaGVscGVyIHRvIGNoZWNrIHRoYXQgb3V0cHV0IHN0cmVhbS1mb3JtYXQgaXMgY29oZXJlbnQgd2l0aAoJICBwcm9maWxlIGFuZCBoZWFkZXItZm9ybWF0LiBJdCBhbHNvIGNoZWNrIGlmIHdlIGtub3cgaG93IHRvIGRvIHRoZQoJICBjb252ZXJzaW9uIGlmIHRoZSBpbnB1dCBzdHJlYW0tZm9ybWF0IGRpZmZlcnMgZnJvbSBzZWxlY3RlZAoJICBvdXRwdXQtZm9ybWF0LgoJICBTbywgaW4gY2FzZSBvdXRwdXQgc3RyZWFtLWZvcm1hdCBpcyBub3QgYWxsb3dlZCwgaXQgd2lsbCBub3cgZmFpbCBhdAoJICBuZWdvdGlhdGlvbiByYXRoZXIgdGhhbiBpbiBwcmVfcHVzaF9mcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0zMCAxNTozNTozOCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGFkZCBzb21lIGFzZiByZWxhdGVkIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbnMKCSAgVGhpcyBjb21taXQgaW50cm9kdWNlcyBhbiBoZWxwZXIgdG8gY29udmVydCBhbiBBU0YgZnJhbWUgdG8gQkRVcyBmb3JtYXQgd2l0aAoJICBzdGFydGNvZGVzIGFuZCB1c2UgdGhpcyBoZWxwZXIgdG8gaW1wbGVtZW50cyBmb2xsb3dpbmcgc3RyZWFtLWZvcm1hdAoJICBjb252ZXJzaW9uczoKCSAgLSBhc2YgLS0+IGJkdQoJICAtIGFzZiAtLT4gc2VxdWVuY2UtbGF5ZXItYmR1CgkgIC0gYXNmIC0tPiBzZXF1ZW5jZS1sYXllci1yYXctZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0zMCAxNToyODo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgc2ltcGxlIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbgoJICBJdCBhZGQgdGhlIHN1cHBvcnQgb2YgZm9sbG93aW5nIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbjoKCSAgLSBiZHUgLS0+IHNlcXVlbmNlLWxheWVyLWJkdQoJICAtIGJkdS1mcmFtZSAtLT4gc2VxdWVuY2UtbGF5ZXItYmR1LWZyYW1lCgkgIC0gZnJhbWUtbGF5ZXIgLS0+IHNlcXVlbmNlLWxheWVyLWZyYW1lLWxheWVyCgkgIEZvciB0aGVzZSBjb252ZXJzaW9uLCB0aGUgb25seSByZXF1aXJlbWVudHMgaXMgdG8gcHVzaCBhIHNlcXVlbmNlLWxheWVyCgkgIGJ1ZmZlciBwcmlvciB0byBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTMwIDE0OjUzOjI1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcHJlcGFyZSB0aGUgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uIGNvZGUgYW5kIGFkZCB0aGUgc2ltcGxlc3Qgb25lcwoJICBJdCBwcmVwYXJlcyB0aGUgdGVtcGxhdGUgZm9yIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBhbmQgaXQgaW1wbGVtZW50cwoJICB0aGUgZm9sbG93aW5nIGNvbnZlcnNpb246CgkgIC0gc2VxdWVuY2UtbGF5ZXItYmR1IC0tPiBiZHUKCSAgLSBzZXF1ZW5jZS1sYXllci1iZHUtZnJhbWUgLS0+IGJkdS1mcmFtZQoJICAtIHNlcXVlbmNlLWxheWVyLWZyYW1lLWxheWVyIC0tPiBmcmFtZS1sYXllcgoJICBXb3JrIGlzIGRvbmUgaW4gdGhlIHByZV9wdXNoX2ZyYW1lKCkgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTA1IDE3OjU3OjQ3ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IG92ZXJyaWRlIGxhc3Qga25vd24gc3RyZWFtIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxNDEKCjIwMTQtMTEtMDcgMTk6MzA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBzZWVrcyBpbiB0aGUgbWFuaWZlc3QgbmV2ZXIgZmFpbAoJICBTZXQgdm9pZCBhcyB0aGUgcmV0dXJuIGFuZCByZW1vdmUgZXJyb3IgaGFuZGxpbmcgYXMgaXQgY291bGQKCSAgbmV2ZXIgZmFpbAoKMjAxNC0xMS0wNyAxOToxNjo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbWFrZSBzdXJlIGZsdXNoZXMgaGF2ZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZXZlbnQKCSAgVGhleSBhcmUgcGFydCBvZiB0aGUgc2FtZSBvcGVyYXRpb24gYW5kIHNob3VsZCBwcmVzZXJ2ZSB0aGUgc2VxbnVtCgoyMDE0LTExLTA3IDE5OjA5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzaW1wbGlmeSBzZWVrIHRvIGVvcyBoYW5kbGluZwoJICBSZW1vdmUgcmVkdW5kYW50IGZsdXNoIHN0b3AgcHVzaGluZyBhbmQgcmVtb3ZlIGEgZ290byB0byBtYWtlCgkgIHRoZSBjb2RlIGZsb3cgc2ltcGxlcgoKMjAxNC0wOS0xNyAxNToyMjo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgbWlzc2luZyBGTFVTSF9TVE9QL0VPUyB3aGVuIG5vIHNlZWtpbmcgcGVyaW9kIGlzIGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4MDAKCjIwMTQtMTEtMDcgMTU6NTA6NTEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogc2V0IHRoZSBIRUFERVIgZmxhZyBvbiBidWZmZXJzIGNvbnRhaW5pbmcgU1BTIG9yIFBQUwoKMjAxNC0xMS0wNyAxNTo0MToxNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSAgaDI2NXBhcnNlOiBzZXQgdGhlIEhFQURFUiBmbGFnIG9uIGJ1ZmZlcnMgY29udGFpbmluZyBWUFMsIFNQUyBvciBQUFMKCjIwMTQtMTEtMDcgMTE6NDE6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIGdzdGdsY29uZmlnOiBQdXQgZ3N0Z2xjb25maWcuaCBpbnRvICQobGliZGlyKS9nc3RyZWFtZXItMS4wL2luY2x1ZGUKCSAgSXQncyBhcmNoaXRlY3R1cmUgZGVwZW5kZW50IGFuZCBzaG91bGQgbm90IGJlIHBsYWNlZCBpbnRvIHRoZSBpbmNsdWRlCgkgIGRpcmVjdG9yeSBhcyB0aGUgYXNzdW1wdGlvbiBpcyB0aGF0IGFsbCB0aG9zZSBoZWFkZXJzIGFyZSBhcmNoaXRlY3R1cmUKCSAgaW5kZXBlbmRlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3NjcKCjIwMTQtMTEtMDcgMDA6MTY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogaW5pdGlhbGlzZSBuZXcgR3N0SDI2NE5hbFVuaXQgZmllbGRzCgkgIENJRCAjMTI1MTEwNy4KCjIwMTQtMTEtMDYgMjM6NTg6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBtYWtlIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cyBjYWxsIF9lbnN1cmVfZ2xfc2V0dXAKCSAgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzIGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgb3ZlcmxheSBpbnRlcmZhY2UgYW5kIGZyb20KCSAgdGhlIG1haW4gdGhyZWFkIGJlZm9yZSBHTCBpcyBzZXR1cC4gQmVmb3JlIHRoaXMgY2hhbmdlLCB0aGF0IHdvdWxkIGNhbGwKCSAgX2Vuc3VyZV9nbF9zZXR1cCgpIGFuZCBkZWFkbG9jayBvbiBPU1guCgkgIENoYW5nZSB0aGluZ3Mgc28gdGhhdCBpdCdzIGFsd2F5cyBzYWZlIHRvIGNhbGwgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzKCkKCSAgd2l0aG91dCBzdHVmZiBkZWFkbG9ja2luZy4KCjIwMTQtMTEtMDYgMjM6NTU6MjAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggcG9zc2libGUgZGVhZGxvY2sgb24gb3N4CgkgIFJlbW92ZSBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMgY2FsbCBpbiBnc3RfZ2xpbWFnZV9zaW5rX2luaXQuIEl0IHdhcwoJICB1bm5lY2Vzc2FyeSBhbmQgd2hlbiB0aGUgZWxlbWVudCB3YXMgaW5zdGFudGlhdGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLCBjYXVzZWQgYQoJICBkZWFkbG9jayBpbiBPU1ggY3JlYXRpbmcgdGhlIGNvbnRleHQgKHRocmVhZCkuCgoyMDE0LTExLTA2IDEzOjIyOjE3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBhZGQgcmVhbHRpbWUgYW5kIGFsbG93LWZyYW1lLXJlb3JkZXJpbmcgcHJvcGVydGllcwoKMjAxNC0xMS0wNyAxMDowMTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjbGFtcCB0aGUgcmVzaXplIHdpZHRoL2hlaWdodCB0byA+PSAxIHRvIGF2b2lkIGEgR0wgZXJyb3IKCjIwMTQtMTEtMDYgMTc6MzY6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBQcmludCBhIHdhcm5pbmcgaW50byB0aGUgZGVidWcgbG9nIG9uIGdlbmVyYXRpbmcgYmxhY2sgZnJhbWVzCgoyMDE0LTExLTA2IDE3OjIxOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVydmlkZW9zaW5rOiBBZGQgc29tZSBkZWJ1ZyBvdXRwdXQgaW4gdGhlIHJlbmRlciBmdW5jdGlvbgoKMjAxNC0xMS0wNiAxMTo1MzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZG9uJ3QgdW5uZWNlc2FyaWx5IHNldCBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mzc0CgoyMDE0LTEwLTI5IDIyOjU1OjQ3ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCB1bm5lY2VzYXJpbHkgc2V0IHNyY19jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNzQKCjIwMTQtMTEtMDYgMTg6NDM6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsdXRpbHM6IG9ubHkgYXR0ZW1wdCBnZXR0aW5nIHRoZSBhcHAgY29udGV4dCB3aGVuIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBhIGRpc3BsYXkKCSAgYXZvaWRzIHF1ZXJ5aW5nL21lc3NhZ2luZyB0aGUgd29ybGQgb24gZWFjaCBmcmFtZQoKMjAxNC0xMS0wNiAxODozNzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZhaWwgY29udGV4dCBjcmVhdGlvbiBpZiBnbEdldFN0cmluZyByZXR1cm5zIE5VTEwKCjIwMTQtMTAtMjkgMTI6MjQ6MTYgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbGltYWdlc2luazogaW1wbGVtZW50IGdzdF92aWRlb19vdmVybGF5X2hhbmRsZV9ldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAzNQoKMjAxNC0xMS0wNCAxNToxNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCB2YXJpYWJsZXMKCSAgZ3N0aW50ZXJhdWRpb3NyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2ludGVyX2F1ZGlvX3NyY19jcmVhdGUnOgoJICBnc3RpbnRlcmF1ZGlvc3JjLmM6MzM5OjI3OiBlcnJvcjogdmFyaWFibGUgJ2J1ZmZlcl9zYW1wbGVzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQoJICBndWludDY0IHBlcmlvZF9zYW1wbGVzLCBidWZmZXJfc2FtcGxlczsKCSAgXgoKMjAxNC0xMS0wNCAxNDo1Njo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXJhdWRpbzogTWFrZSBidWZmZXIgc2l6ZSBhbmQgbGF0ZW5jeSBoYW5kbGluZyBtb3JlIGV4cGxpY2l0IGFuZCBhZGQgcHJvcGVydGllcyBmb3IgdGhlbQoJICBUaGlzIG5vdyBtYWtlcyBhdWRpbyB3b3JrIG1vcmUgcmVsaWFibGUgd2l0aG91dCBkaXNjb250cy4KCjIwMTQtMTEtMDQgMTM6NTk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IFVzZSB0aGUgYnBmIGZyb20gdGhlIGF1ZGlvIGluZm8gaW5zdGVhZCBvZiBoYXJkY29kaW5nIDQKCjIwMTQtMTEtMDQgMTM6NTg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBPbmx5IGZsdXNoIHRoZSByaW5nYnVmZmVyIG9uIHRoZSBzaW5rIHNpZGUKCjIwMTQtMTEtMDQgMTM6NDY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IEZsdXNoIHRoZSBhZGFwdGVyIHdoZW4gd2UgZ2V0IG5ldyBjYXBzCgkgIElkZWFsbHkgd2Ugd291bGQgZHJhaW4gdGhlIHNvdXJjZSBidXQgdGhhdCB3b3VsZCByZXF1aXJlIG1vcmUgY29vcmRpbmF0aW9uCgkgIGJldHdlZW4gc2luayBhbmQgc291cmNlIHRoYW4gd2hhdCB3ZSBjdXJyZW50bHkgaGF2ZS4KCjIwMTQtMTEtMDQgMDk6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL2NvY29hOiBpbmNsdWRlIGdsMy5oIGluIGNvbmZpZ3VyZSB0b28gZm9yIGNvbnNpc3RlbmN5IHdpdGggZ3N0Z2xhcGkuaAoKMjAxNC0xMS0wMyAyMDo0NTowMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQWRkIGRvYyBmb3IgdGhlIGlnbm9yZWQgdXNlci1kYXRhIGluIGFjdGlvbiBzaWduYWxzCgoyMDE0LTExLTAzIDIzOjI0OjMzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogdXNlIE5TQXV0b3JlbGVhc2VQb29sIHRvIGZyZWUgcmVzaXplIGRhdGEKCSAgT3RoZXJ3aXNlIHdoZW4gcmVzaXppbmcgdGhlIHdpbmRvdyB5b3Ugd2lsbCBhbHNvIGdldCBtZXNzYWdlcyBsaWtlOgoJICBjbGFzcyBOU0NvbmNyZXRlTWFwVGFibGUgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoJICBjbGFzcyBOU0NvbmNyZXRlVmFsdWUgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoJICBjbGFzcyBOU0NvbmNyZXRlVmFsdWUgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoJICBjbGFzcyBfX05TQ0ZEaWN0aW9uYXJ5IGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCjIwMTQtMTEtMDMgMjM6MDg6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsL2NvY29hOiBpbmNsdWRlIGdsMy5oIHRvIGhhdmUgR0xfQ09OVEVYVF9QUk9GSUxFX01BU0sKCjIwMTQtMTEtMDMgMjM6MDc6MzQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBtYWtlIHN1cmUgdG8gdHVybiBvbiBmcmFtZSByZWN0YW5nbGUgY2hhbmdlcyBub3RpZmljYXRpb25zCgkgIERlZmF1bHQgdmFsdWUgb2YgcHJvcGVydHkgcG9zdHNGcmFtZUNoYW5nZWROb3RpZmljYXRpb25zIGlzIFlFUwoJICBidXQgaXQgaXMgd29ydGggdG8gZXhwbGljaXRseSBlbmFibGUgaXQuCgoyMDE0LTExLTAzIDIzOjAyOjE3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IHVuY2F1Z2h0IGV4Y2VwdGlvbiAndW5yZWNvZ25pemVkIHNlbGVjdG9yIHNlbnQgdG8gaW5zdGFuY2UnCgkgIE5lZWQgdG8gc2V0IHRoZSAnOicgYXMgdGhlIHJlc2hhcGUgbWV0aG9kIG5vdyB0YWtlcyBvbmUgcGFyYW1ldGVyLgoJICBGb3IgdGhlIHN0b3J5LCB0aGUgR3N0R0xOU1ZpZXcgd2FzIHByZXZpb3VzbHkgaW5oZXJpdGluZyBmcm9tCgkgIE5TT3BlbkdMVmlldyB3aGljaCBoYXMgYSByZXNoYXBlIGZ1bmN0aW9uIHdpdGhvdXQgYW55IHBhcmFtZXRlci4KCSAgTm93IHRoZSBHc3RHTE5TVmlldyBpbmhlcml0cyBmcm9tIE5TVmlldyBhbmQgd2UgcmUtdXNlIHRoZSByZXNoYXBlCgkgIGZ1bmN0aW9uIG1hbnVhbGx5LgoKMjAxNC0xMS0wMyAyMjo1OTo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIFVzZSB0aGUgcmVzaGFwZSBmdW5jdGlvbiBhZnRlciBiZWluZyBkZWZpbmVkLiBUaGUgb3RoZXIgd2F5CgkgIHdvdWxkIGhhdmUgYmVlbiB0byBkZWNsYXJlIHRoZSByZXNoYXBlIGZ1bmN0aW9uIGluIHRoZSBoZWFkZXIuCgkgIGdzdGdsd2luZG93X2NvY29hLm06IEluIGZ1bmN0aW9uICctW0dzdEdMTlNWaWV3IGRyYXdSZWN0Ol0nOgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJ0dzdEdMTlNWaWV3JyBtYXkgbm90IHJlc3BvbmQgdG8gJy1yZXNoYXBlJwoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogKE1lc3NhZ2VzIHdpdGhvdXQgYSBtYXRjaGluZyBtZXRob2Qgc2lnbmF0dXJlCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiB3aWxsIGJlIGFzc3VtZWQgdG8gcmV0dXJuICdpZCcgYW5kIGFjY2VwdAoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJy4uLicgYXMgYXJndW1lbnRzLikKCjIwMTQtMTEtMDMgMTY6NTQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBOZWdvdGlhdGUgZnJhbWVyYXRlIHdpdGggZG93bnN0cmVhbQoJICBQcmVmZXIgdGhlIGNsb3Nlc3QgZnJhbWVyYXRlIHRvIHRoZSBpbnB1dCBmcmFtZXJhdGUgdGhvdWdoLgoKMjAxNC0xMS0wMyAxNjoyNDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyKnNyYzogTm8gbmVlZCB0byBzZXQgY2FwcyBtYW51YWxseSBvbiB0aGUgcGFkCgkgIGJhc2VzcmMgZG9lcyB0aGF0IGZvciB1cyBhbHJlYWR5LgoKMjAxNC0xMS0wMyAxNjoxMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBTd2FwIHNvdXJjZS9kZXN0aW5hdGlvbiBwYXJhbWV0ZXJzIG9mIGdzdF92aWRlb19jb252ZXJ0ZXJfZnJhbWUoKQoKMjAxNC0xMS0wMyAxNToxOTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogZml4IG9yZGVyIG9mIGFyZ3VtZW50cwoKMjAxNC0xMS0wMyAxMDowNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBTZXQgYWxsIHJlcXVpcmVkIGZpZWxkcyBvbiB0aGUgdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTQyCgoyMDE0LTExLTAzIDAwOjE3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBmaXggU2luY2UgbWFya2VyIGZvciBnc3RfZ2xfd2luZG93X3J1bl9uYXZpZ2F0aW9uKCkKCjIwMTQtMTEtMDIgMjM6MjQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBkb24ndCBsZWFrIHN1cmZhY2UgbmFtZQoKMjAxMy0wOS0wMyAxMToxMTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc3RhcnQgcHVzaGluZyBkYXRhIGFnYWluIHdoZW4gYSBwYWQgZ2V0cyBsaW5rZWQgbGF0ZXIKCSAgVGhlIHdob2xlIG5vdF9saW5rZWQgb3B0aW1pc2F0aW9uIGlzIHJlYWxseSBhIGJpdCBkb2RneSBoZXJlLCBidXQKCSAgbGV0J3MgbGVhdmUgaXQgaW4gcGxhY2UgZm9yIG5vdyBhbmQgYXQgbGVhc3Qgc3RhcnQgcHVzaGluZyBkYXRhCgkgIGFnYWluIHdoZW4gYSBwYWQgZ290IGxpbmtlZCBsYXRlciwgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQgZ2V0IGEKCSAgUkVDT05GSUdVUkUgZXZlbnQuCgoyMDEzLTA5LTAyIDIzOjM2OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9wbHVnaW4uYzoKCSAgbXBlZ2RlbXV4OiBuYW1lc3BhY2UgZml4ZXMKCjIwMTQtMTEtMDIgMTk6MjY6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBwb3N0IFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGZyYW1lcyBkdWUgdG8gUW9TCgoyMDE0LTExLTAyIDE5OjEyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IGJvaWxlcnBsYXRlIG1hY3JvcwoKMjAxNC0xMS0wMiAxNzoxODoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFNwcmlua2xlIHNvbWUgR19QQVJBTV9ERVBSRUNBVEVEIGFuZCAjaWZuZGVmIEdTVF9SRU1PVkVfREVQUkVDQVRFRAoKMjAxNC0xMS0wMiAxNzoxNzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBmaXggaW5kZW50YXRpb24KCjIwMTQtMTAtMjkgMTg6MTg6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2xzaGFkZXI6IEZpeCBtZW1vcnkgbGVhawoJICBNZW1vcnkgaXMgb25seSBmcmVlZCBpbiB0aGUgVFJVRSBjbGF1c2Ugb2YgdGhlIGlmIGNvbmRpdGlvbmFsLiBGcmVlIGluIHRoZSBlbHNlCgkgIGNsYXVzZSBhcyB3ZWxsLgoJICBBbHNvLCBjb25zb2xpZGF0ZSBnX21hbGxvYyArIHNwcmludGYgaW50byBhIGdfc3RyZHVwX3ByaW50ZigpLgoJICBDSUQgIzEyMTIxNzEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM2OAoKMjAxNC0xMS0wMSAxMDoxMDoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzOiBVc2UgT1BVUyBlbmNvZGluZyBuYW1lCgkgIEJvdGggRmlyZWZveCBhbmQgQ2hyb21lIHVzZXMgT1BVUyBhcyB0aGUgZW5jb2RpbmcgaW4gdGhlaXIgU0RQLgoJICBBZGRpbmcgdGhpcyBub3cgZGVmYWN0byBzdGFuZGFyZCBuYW1lIHJlbW92ZSB0aGUgbmVlZCBmb3Igc3BlY2lhbAoJICBjYXNlIGluIFNEUCBwYXJzaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTQtMTAtMzEgMTc6MzI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCB0eXBlIG9mIHN0cmVhbSB0byBkZWJ1ZyBsb2cKCSAgTWFrZXMgaXQgZmFzdGVyIHRvIGRlYnVnIHdoeSBjZXJ0YWluIHN0cmVhbXMgYXJlIG5vdCBzaG93aW5nCgoyMDE0LTEwLTMxIDE3OjMyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdW5sb2NrIG5vdCBsb2NrZWQgbXV0ZXgKCjIwMTQtMTAtMzEgMTA6NDU6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBjb21tZW50cyB0aGF0IGNvbmZ1c2UgZ3RrLWRvYwoJICBHVEstRG9jIHVzZXMgYSBzcGVjaWFsIHN5bnRheCBmb3IgY29kZSBkb2N1bWVudGF0aW9uLiBBIG11bHRpbGluZSBjb21tZW50IHRoYXQKCSAgc3RhcnRzIHdpdGggYW4gYWRkaXRpb25hbCAnKicgbWFya3MgYSBkb2N1bWVudGF0aW9uIGJsb2NrIHRoYXQgd2lsbCBiZSBwcm9jZXNzZWQKCSAgYnkgdGhlIEdUSy1Eb2MgdG9vbHMuIFNvIEdUSy1Eb2MgaXMgY29uZnVzZWQgaWYgYSBjb21tZW50IGJsb2NrIHN0YXJ0cyB3aXRoIHRoYXQKCSAgYWRkaXRpb25hbCAnKicgYnV0IGlzbid0IG1lYW50IHRvIGJlIHByb2Nlc3NlZC4gUmVtb3ZpbmcgdGhpcyBhZGRpdGlvbmFsICcqJy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ0NAoKMjAxNC0xMC0zMSAxMjo1Mjo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVzaXplIHRoZSB2aWV3cG9ydCBjb3JyZWN0bHkgb24gYSBjYXBzIGNoYW5nZQoJICB3aXRoIGZvcmNlLWFzcGVjdC1yYXRpbz10cnVlLCBpZiB0aGUgd2lkdGggb3IgaGVpZ2h0IGNoYW5nZWQsIHRoZQoJICB2aWV3cG9ydCB3YXNuJ3QgYmVpbmcgdXBkYXRlZCB0byByZXNwZWN0IHRoZSBuZXcgdmlkZW8gd2lkdGggYW5kIGhlaWdodAoJICB1bnRpbCBhIHJlc2l6ZSBvY2N1cmVkLgoKMjAxNC0xMC0zMSAxMjo1MjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogYWR2ZXJ0aXNlIHN1cHBvcnQgZm9yIGNoYW5naW5nIGlucHV0IGNhcHMgbWlkLXN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzM0CgoyMDE0LTEwLTMxIDEyOjMwOjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBzcHJpbmtsZSBzb21lIFNpbmNlIG1hcmtlcnMKCjIwMTQtMTAtMzAgMTQ6Mjc6MzggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiByZW1vdmUgc3RvcmFnZSBvZiBuZXZlciB1c2VkIHZhbHVlcwoJICBCb3RoIF9wYXJzZV9hdHNjX21ndCgpIGFuZCAgX3BhcnNlX2F0c2NfdmN0ICgpIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlCgkgIGRhdGEganVzdCBiZWZvcmUgcmV0dXJuaW5nLiBUaGUgbmV3IHZhbHVlIGlzIG5ldmVyIHVzZWQgc2luY2UgZGF0YSBpcyBhIHBvaW50ZXIKCSAgZGVjbGFyZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24gYW5kIGdvaW5nIG91dCBvZiBzY29wZSBqdXN0IGFmdGVyIHRoZQoJICBuZXcgdmFsdWUgaXMgc3RvcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDA0CgoyMDE0LTEwLTMwIDE3OjA2OjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHJlbW92ZSA8IDAgY29tcGFyaXNvbiBvbiBndWludDMyCgkgIEN1cnJlbnQgQ0xBTVAgY2hlY2tzIGJvdGggaWYgdGhlIHZhbHVlIGlzIGJlbG93IDAgb3IgYWJvdmUgMjU1LiBDb25zaWRlcmluZyBpdAoJICBpcyBhbiB1bnNpZ25lZCB2YWx1ZSBpdCBjYW4gbmV2ZXIgYmUgbGVzcyB0aGFuIHplcm8sIHNvIHRoYXQgY29tcGFyaXNvbiBpcwoJICB1bm5lY2Vzc2FyeS4gU3dpdGNoaW5nIHRvIHVzaW5nIGlmIGp1c3QgZm9yIHRoZSB1cHBlciBib3VuZC4KCSAgQ0lEICMxMTM5Nzk2CgoyMDE0LTEwLTMwIDE2OjA1OjE0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGRlY2xhcmUgZmxvb3IgYW5kIGNlaWxpbmcgYXMgY29uc3RhbnRzCgoyMDE0LTEwLTMwIDE1OjQ5OjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBzdG9yZWQgdmFsdWUgaXMgb3ZlcndyaXR0ZW4KCSAgVmFsdWUgZnJvbSBsZWZ0X2x1bWluYW5jZSBpcyBhc3NpZ25lZCB0byBvdXRfbHVtaW5hbmNlIGhlcmUsIGJ1dCB0aGF0IHN0b3JlZAoJICB2YWx1ZSBpcyBub3QgdXNlZCBiZWZvcmUgaXQgaXMgb3ZlcndyaXR0ZW4gaW4gdGhlIG5leHQgY3ljbGUgb2YgdGhlIGxvb3AuCgkgIFJlbW92aW5nIGFzc2lnbmF0aW9uLgoJICBDSUQgIzEyMjY0NzMKCjIwMTQtMTAtMjQgMTY6NTI6NDIgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkbyBub3QgcmVtb3ZlIHByb2dyYW1zIG9uIEVPUwoJICBBcyBhIGNvbnNlcXVlbmNlLCB0c2RlbXV4IHdvbid0IHJlbW92ZSBpdHMgcGFkcyBhbnltb3JlIG9uIEVPUy4KCSAgRml4ZXMgdGhlIGNhc2Ugd2hlbiBtcGVndHNiYXNlIGlzIG5vdCBhYmxlIHRvIHByb2Nlc3MgbmV3IHBhY2tldHMKCSAgYWZ0ZXIgRU9TIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBpZHMgYXJlbid0IGtub3duIGFueW1vcmUgYmVjYXVzZQoJICB0aGUgcHJvZ3JhbXMgd2VyZSByZW1vdmVkIGFuZCB0aGUgcGVzL3BzaSB3ZXJlIGtlcHQsIHByZXZlbnRpbmcgdGhlCgkgIFBBVCB0byBiZSBwYXJzZWQgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2OTUKCjIwMTQtMDQtMjEgMTE6NDg6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJICBzaXJlbjogZml4IHNhbXBsZSByYXRlIGxpc3QKCSAgSXQgd2FzIHVzaW5nIGEgMjQwMDAvMjQwMDAvNDgwMDAsIGJ1dCBJIHRoaW5rIGl0IG1lYW50IHRvIHVzZQoJICAyNDAwMC8zMjAwMC80ODAwMC4gTm90IDEwMCUgc3VyZS4uLgoJICBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HLjcyMi4xIGhhcyB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQKCSAgYml0cmF0ZXMuIEl0J3Mgbm90IGNsZWFyIHdoZXRoZXIgdGhlICJmbGFnIiBjb2RlIG1hcHMgdG8gdGhpcywKCSAgaG93ZXZlci4KCSAgQ292ZXJpdHkgMjA2MDcyCgoyMDE0LTEwLTMwIDE0OjQ5OjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlbW92ZSBzdG9yYWdlIG9mIG5ldmVyIHVzZWQgdmFsdWVzCgkgIFRoZXNlIHR3byB2YWx1ZXMgYXJlIHN0b3JlZCBqdXN0IGJlZm9yZSB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbmQgdGhleSBnbyBvdXQgb2YKCSAgc2NvcGUuCgoyMDE0LTA2LTEwIDA5OjMzOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCB0aW1lIHRvIG1hdGNoIGNsaXBwZWQgc2FtcGxlcwoJICBUaGlzIHdpbGwgbGV0IG9nZ211eCBnZW5lcmF0ZSBhIGdyYW5wb3Mgb24gdGhlIGxhc3QgcGFnZSB0aGF0IHByb3Blcmx5CgkgIHJlcHJlc2VudHMgdGhlIGNsaXBwZWQgc2FtcGxlcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0uCgoyMDE0LTEwLTMwIDE4OjQ1OjA0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogVHJpdmlhbCBkb2N1bWVudGF0aW9uIGZpeAoKMjAxNC0xMC0zMCAyMzowODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZG9uJ3QgZ2V0IHRoZSBjdXJyZW50IGNhcHMgZnJvbSBHc3RWaWRlb0luZm8gZm9yIHRoZSBzcmNwYWQKCSAgSXQncyBtaXNzaW5nIHRoZSBjYXBzIGZlYXR1cmVzIG5lZWRlZC4KCjIwMTQtMTAtMzAgMTg6NTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBmb3Igb3RoZXItY29udGV4dCBwcm9wZXJ0eSByZW1vdmFsCgoyMDE0LTEwLTMwIDE2OjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJICBnbGNvbnRleHQ6IGFkZCBtb3JlIGZ1bmN0aW9uYWxpdHkgdG8gd3JhcHBlZCBjb250ZXh0cwoJICBJbXBsZW1lbnRzIGdldF9jdXJyZW50X2NvbnRleHQoKSBhbmQgZ2V0X3Byb2NfYWRkcmVzcygpIGZvciB3cmFwcGVkCgkgIGNvbnRleHRzLgoKMjAxNC0xMC0zMCAxMjo0MzowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlcjogYWR2ZXJ0aXNlIHRoZSBkZWZhdWx0IHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycyBvbiBkZXNrdG9wIEdMCgoyMDE0LTA1LTIyIDEzOjEzOjE0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb2duaXplIFNWQyBOQUwgdW5pdHMuCgkgIElkZW50aWZ5IFNWQyBOQUwgdW5pdHMgYW5kIHRhZyB0aGVtIGFzIHN1Y2guIFRoaXMgaXMgbmVjZXNzYXJ5IGZvcgoJICBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2xpY2VfaGRyKCkgdG8gZmFpbCBncmFjZWZ1bGx5LCBpZiB0aGUgdXNlcgoJICBkaWQgbm90IHBlcmZvcm0gdGhlIGNoZWNrIGhpbXNlbGYuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMTAtMjkgMTQ6NTM6MTUgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBudW1iZXIgb2YgbGlzdDAgeyxub24tfWFuY2hvciByZWZzLgoJICBGaXggY29weS1wYXN0ZSBlcnJvciBpbiBnc3RfaDI2NF9zcHNfbXZjX2NvcHkoKSB3aGVyZSBudW1fYW5jaG9yX3JlZnNfbDAKCSAgYW5kIG51bV9ub25fYW5jaG9yX3JlZnNfbDAgd2VyZSBpbmNvcnJlY3RseSBpbml0aWFsaXplZCBmcm9tIGxpc3QxLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTEwLTI5IDEzOjUxOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIFVwZGF0ZSAuZGVmIGZvciBuZXcgQVBJCgoyMDE0LTEwLTI5IDEzOjE1OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHNwcmlua2xlIHNvbWUgZ3RrLWRvYyBTaW5jZTogbWFya2VycyBmb3IgbmV3IEFQSQoKMjAxNC0xMC0yOSAxMjoyMjoxNCArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIHNhdGlzZnkgZ3N0LWluZGVudAoKMjAxNC0xMC0yOSAyMjoyMzoxMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIGdsZmlsdGVyY3ViZTogRml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTQtMTAtMjkgMjI6MjM6MDIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogSW5pdGlhbGlzZSBuYWx1IGV4dGVuc2lvbiB0eXBlIHRvIE5PTkUKCSAgQWx3YXlzIHNldCBhIGRlZmF1bHQgTkFMVSBleHRlbnNpb24gdHlwZSwgYW5kIG92ZXJyaWRlIGl0CgkgIHdoZW4gd2UgZmluZCBhIHN1cHBvcnRlZCBleHRlbnNpb24sIHRvIGF2b2lkIGhhdmluZyBpdCB1bnNldC9yYW5kb20KCSAgZm9yIHVuc3VwcG9ydGVkIE5BTFUgZXh0ZW5zaW9ucwoKMjAxNC0xMC0wNyAxNjoyODowMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogRml4IGZyYW1lIHBhY2tpbmcgU0VJIHBhcnNpbmcKCjIwMTQtMDMtMjUgMTQ6MDg6NDQgKzAxMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgc3VwcG9ydCBmb3IgRnJhbWUgUGFja2luZyBBcnJhbmdlbWVudCBTRUkgbWVzc2FnZS4KCSAgVGhpcyBwYXJzZXMgdGhlIGZyYW1lX3BhY2tpbmdfYXJyYWdlbWVudCgpIHBheWxvYWQgaW4gU0VJIG1lc3NhZ2UuCgkgIFRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgYnkgZGVjb2RlcnMgdG8gYXBwcm9wcmlhdGVseSByZWFycmFuZ2UgdGhlCgkgIHNhbXBsZXMgd2hpY2ggYmVsb25nIHRvIFN0ZXJlb3Njb3BpYyBhbmQgTXVsdGl2aWV3IEhpZ2ggcHJvZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAzLTA4IDE4OjE3OjE2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHN1cHBvcnQgZm9yIFN0ZXJlbyBWaWRlbyBJbmZvcm1hdGlvbiBTRUkgbWVzc2FnZS4KCSAgQWRkIHRoZSBuZWNlc3NhcnkgcGF5bG9hZCBwYXJzaW5nIHN1cHBvcnQgZm9yIHN0ZXJlb192aWRlb19pbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCjIwMTItMTAtMDEgMTM6MzY6NDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBwYXJzZSBzZXFfcGFyYW1ldGVyX3NldF9tdmNfZXh0ZW5zaW9uKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yNiAxODo0NjozNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHBhcnNlIE1WQyBzeW50YXggZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0xMC0yOSAyMjo1ODozNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogSGFuZGxlIGJhY2t3YXJkIGFuZCBkaXNjb250IHRpbWVzdGFtcHMgYmV0dGVyLgoJICBBc3N1bWUgdGhhdCBzbWFsbCBiYWNrd2FyZCBQQ1IganVtcHMgYXJlIGp1c3QgZnJvbSB1cHN0cmVhbSBwYWNrZXQKCSAgbWlzLW9yZGVyaW5nIGFuZCBkb24ndCByZXNldCB0aW1lc3RhbXAgdHJhY2tpbmcgc3RhdGUgLSBhc3N1bWluZyB0aGF0CgkgIHRoaW5ncyB3aWxsIGJlIE9LIGFnYWluIHNob3J0bHkuCgkgIE1ha2UgdGhlIHRocmVzaG9sZCBmb3IgZGV0ZWN0aW5nIGRpc2NvbnQgYmV0d2VlbiBzZXF1ZW50aWFsIGJ1ZmZlcnMKCSAgY29uZmlndXJhYmxlIGFuZCBtYXRjaCB0aGUgc21vb3RoaW5nLWxhdGVuY3kgc2V0dGluZyBvbiB0c3BhcnNlCgkgIHRvIGJldHRlciBjb3BlIHdpdGggZGF0YSBidXJzdHMuCgoyMDE0LTEwLTI5IDIyOjU4OjM3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogSW1wbGVtZW50IHRpbWVzdGFtcC9yZXRpbWVzdGFtcGluZyBvZiBvdXRwdXQgYnVmZmVycwoJICBXaGVuIHRoZSBzZXQtdGltZXN0YW1wcyBwcm9wZXJ0eSBpcyBzZXQsIHVzZSBQQ1JzIG9uIHRoZSBwcm92aWRlZAoJICAob3IgYXV0b2RldGVjdGVkKSBwY3ItcGlkIHRvIGFwcGx5IChvciByZXBsYWNlKSB0aW1lc3RhbXBzIG9uIHRoZQoJICBvdXRwdXQgYnVmZmVycywgdXNpbmcgcGllY2Utd2lzZSBsaW5lYXIgaW50ZXJwb2xhdGlvbi4KCSAgVGhpcyBhbGxvd3MgdHNwYXJzZSB0byBiZSB1c2VkIHRvIHN0cmVhbSBhbiBhcmJpdHJhcnkgbXBlZy10cyBmaWxlLAoJICBvciB0byBzbW9vdGggaml0dGVyeSByZWNlcHRpb24gdGltZXN0YW1wcyBmcm9tIGEgbmV0d29yayBzdHJlYW0uCgkgIFRoZSByZXBvcnRlZCBsYXRlbmN5IGlzIGluY3JlYXNlZCB0byBtYXRjaCB0aGUgc21vb3RoaW5nIGxhdGVuY3kgaWYKCSAgbmVjZXNzYXJ5LgoKMjAxNC0xMC0yOSAxMDowOTozNSArMDEwMCAgVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBhdXRvIGRlY2lzaW9uIHRvIGluY2x1ZGUgR0wgbGlicmFyeSBmYWlscwoJICBUaGUgcGFydCBvZiB0aGUgY29uZmlndXJlLmFjIHRoYXQgY29uc2lzdCB0byBjaGVjayBpZiB3ZQoJICBjYW4gaW5jbHVkZSBib3RoIEdMIGFuZCBHTEVTMiBhdCB0aGUgc2FtZSB0aW1lIGlzIGZhaWxpbmcuCgkgIEluZGVlZCwgaW4gdGhlIGNhc2UgTkVFRF9HTEVTMj15ZXMgYW5kIE5FRURfT1BFTkdMPWF1dG8sCgkgIEhBVkVfT1BFTkdMIHZhcmlhYmxlIGlzIHVwZGF0ZWQgd2hlcmVhcyBpdCBzaG91bGQgYmUgSEFWRV9HTAoJICB2YXJpYWJsZSB0aGF0IGhhcyB0byBiZSB1cGRhdGVkIChIQVZFX09QRU5HTCB2YXJpYWJsZSBpcyBub3QKCSAgdXNlZCBpbiB0aGUgcmVzdCBvZiB0aGUgY29uZmlndXJlLmFjKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0OAoJICBTaWduZWQtb2ZmLWJ5OiBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VAc3QuY29tPgoJICBSZXZpZXdlZC1ieTogQmVuamFtaW4gR0FJR05BUkQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoyMDE0LTEwLTI5IDEwOjM3OjM4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlbW92ZSBpZ25vcmVkIGluY3JlbWVudCBvZiByZXR1cm4KCSAgJ3JldHVybiB2YWwrKzsnIHJldHVybnMgdGhlIHZhbHVlIGJlZm9yZSBpdCBpcyBpbmNyZW1lbnRlZCBiZWNhdXNlIHRoZSBwb3N0CgkgIGluY3JlbWVudCBoYXBwZW5zIGFmdGVyIHRoZSBzdGF0ZW1lbnQuIFJlbW92aW5nIHRoZSB1bnVzZWQgaW5jcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ1CgoyMDE0LTEwLTI5IDA4OjI3OjU3ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjpmaXggaW5jb3JyZWN0IHBhcmFtZXRlciBwYXNzZWQgdG8gaGFuZGxlX3NldF9jb250ZXh0CgoyMDE0LTEwLTI4IDIxOjQyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSAgQWRkIHNvbWUgbWlzc2luZyBHX0VORF9ERUNMUwoKMjAxNC0xMC0yOCAxNzo0NDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4IHdyb25nIHVucmVmcyBpbiBzZXRfZm9ybWF0IGVycm9yIGNvZGUgcGF0aAoKMjAxNC0xMC0yOCAxODoyNzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBnZXQgdGhlIGNvbmZpZyBmcm9tIHRoZSBjb3JyZWN0IHBvb2wKCjIwMTQtMTAtMjggMTg6MDE6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogYXZvaWQgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBzaXplIHdoZW4gY2hhaW5pbmcgbXVsdGlwbGUgZ2xmaWx0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkyNzcKCjIwMTQtMTAtMjggMTg6MDE6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZ3N0LWluZGVudCBmaWxlCgoyMDE0LTEwLTI4IDE3OjMxOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGFkZCBhcGkgZm9yIHJldHJlaXZpbmcgdGhlIGN1cnJlbnQgY29udGV4dCBhbmQgYXBpCgkgIHRoYXQgaXMgY3VycmVudCBpbiB0aGUgY2FsbGluZyB0aHJlYWQuCgoyMDE0LTEwLTIxIDE5OjAzOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy92YW8uaDoKCSAgZ2xwcm90b3R5cGVzOiBhZGQgdmVydGV4IGF0dHJpYnV0ZSBhcnJheSBkZWZpbml0aW9ucwoKMjAxNC0xMC0yNyAxNzo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODRkMDZjZCB0byA3YmIyYmNlCgoyMDE0LTEwLTI3IDE1OjM0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IFVzZSA2NC1iaXQgc2FmZSBzY2FsaW5nIGZ1bmN0aW9ucwoKMjAxNC0xMC0yNyAxMjo0Mzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVmbG93IHN3aXRjaCBjYXNlIHN0YXRlbWVudCBhIGJpdAoJICBNYWtlIGl0IGNsZWFyIHRoZXJlJ3Mgbm8gJ2JyZWFrJyBtaXNzaW5nIGF0IHRoZSBlbmQKCSAgb2YgdGhlIGNhc2UgU1lTX0RWQlQsIGFuZCBwYWNpZnkgY292ZXJpdHkgKENJRCAxMjQ5Njg5KS4KCjIwMTQtMDYtMTIgMTY6NTk6NDYgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkgIGN1cmxzc2hzaW5rOiB1c2UgdGhlIGxvY2FsbHkgZGVmaW5lZCB0eXBlcwoJICBKdXN0IGEgbWF0dGVyIG9mIGNvZGluZyBzdHlsZSwgbWFrZXMgdGhlIGNvZGUgYSBiaXQgdGlkaWVyLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1ODEKCjIwMTQtMTAtMjYgMTU6NDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgUGFyYWxsZWxpc2UgJ21ha2UgY2hlY2stdmFsZ3JpbmQnCgoyMDE0LTEwLTI2IDE1OjQ0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBtb3JlIG9wZW5oMjY0IEFQSSB0aGF0IHdlIG5lZWQKCjIwMTQtMTAtMjUgMTg6NTA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogZml4IGF1ZGlvbWl4ZXIgdGVzdCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTQtMTAtMjQgMjE6NDI6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogY29ycmVjdGx5IGNhcGl0YWxpemUgRGlTRXFDCgoyMDE0LTEwLTI0IDIwOjEyOjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJld29yayBfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKCkKCSAgUmV0cnkgc3RhdCByZXBvcnRpbmcgaW9jdGxzIG9uIEVJTlRSCgoyMDE0LTEwLTI0IDE5OjMwOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBjaGVja3Mgb24gYWxsb3dlZCBEVkItVCBiYW5kd2lkdGhzCgoyMDE0LTEwLTI0IDE5OjEyOjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBmaXhtZSBub3RlIG9uIERUVl9MTkEgc2V0dGluZwoJICBSZXBocmFzZSBhbm90aGVyIGNvbW1lbnQgd2hpbGUgYXQgaXQKCjIwMTQtMTAtMjQgMTg6NTc6NDAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgbG9naWMgZm9yIGFkZGl0aW9uYWwgYmFuZHdpZHRocwoJICBOZXcgMS43MTIsIDUgYW5kIDEwIE1IeiBiYW5kd2lkdGhzIHdlcmUgYmVlbiBpZ25vcmVkCgkgIGF0IHNldC9nZXQgcHJvcC4KCjIwMTQtMTAtMjQgMTU6NTM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogVXNlIGxpYnNydHAucGMgaWYgcHJlc2VudAoKMjAxNC0xMC0yMyAxNzo0MjoyNyArMDMwMCAgVm9vdGVsZSBWZXN0ZXJibG9tIDx2b3ZAYmFuZy1vbHVmc2VuLmRrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggaGFuZGxpbmcgb2Ygc2VnbWVudCBldmVudCBpbiBzaW5rIGV2ZW50IGhhbmRsZXIKCjIwMTQtMTAtMjQgMDA6MzU6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IG92ZXJyaWRlIHRoZSBjYXBzIHF1ZXJ5IGluIG9yZGVyIHRvICdjb252ZXJ0JyBjYXBzZmVhdHVyZXMKCSAgT3RoZXJ3aXNlLCBpdCBpcyBvbmx5IHBvc3NpYmxlIGZvciB0aGUgc2luayBwYWRzIGFuZCB0aGUgc3JjIHBhZHMgdG8KCSAgaGF2ZSB0aGUgZXhhY3Qgc2FtZSBjYXBzIGZlYXR1cmVzLiAgV2UgY2FuIGNvbnZlcnQgZnJvbSBhbnkgZmVhdHVyZQoJICB0byBhbm90aGVyIGZlYXR1cmUgc28gc3VwcG9ydCB0aGF0LgoKMjAxNC0xMC0yMyAyMzo1NTo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogb3ZlcnJpZGUgdGhlIGFjY2VwdCBjYXBzIHF1ZXJ5IGluIG9yZGVyIHRvICdjb252ZXJ0JyBjYXBzZmVhdHVyZXMKCSAgT3RoZXJ3aXNlLCBpdCBpcyBvbmx5IHBvc3NpYmxlIGZvciB0aGUgc2luayBwYWRzIGFuZCB0aGUgc3JjIHBhZHMgdG8KCSAgaGF2ZSB0aGUgZXhhY3Qgc2FtZSBjYXBzIGZlYXR1cmVzLiAgV2UgY2FuIGNvbnZlcnQgZnJvbSBhbnkgZmVhdHVyZQoJICB0byBhbm90aGVyIGZlYXR1cmUgc28gc3VwcG9ydCB0aGF0LgoKMjAxNC0wOC0xNCAyMzoyOTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IHByb3BvZ2F0ZSBvdGhlci1jb250ZXh0IHVzaW5nIEdzdENvbnRleHQKCjIwMTQtMTAtMjAgMDM6MDc6MDggLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBleHQvZGFzaC9SRUFETUU6CgkgIGRhc2g6IFJlbW92ZSBvYnNvbGV0ZSBSRUFETUUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4NDgKCjIwMTQtMTAtMjIgMTk6MzQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogQWRkIHN1cHBvcnQgZm9yIGFyYml0cmFyeSByYXcgYXVkaW8gZm9ybWF0cwoKMjAxNC0xMC0yMiAxOTozMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcnZpZGVvOiBBZGQgc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IHZpZGVvIGZvcm1hdHMKCjIwMTQtMTAtMjIgMTk6Mjg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogVHJ1bmNhdGUgdGhlIGNhcHMgYXMgcGFydCBvZiB0aGUgZml4YXRpbmcKCjIwMTQtMTAtMjIgMTk6MDg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogRml4IHRpbWVzdGFtcCwgbGF0ZW5jeSBhbmQgcGVyaW9kIGhhbmRsaW5nCgoyMDE0LTEwLTIyIDE4OjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IFVzZSBHU1RfREVCVUdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfREVCVUcoKQoKMjAxNC0xMC0yMiAxODo0MDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcmF1ZGlvOiBQcm9wZXJseSBwYXNzIHRocm91Z2ggY2FwcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgT3RoZXJ3aXNlIGEgbWFnaWMgY2Fwc2ZpbHRlciBhZnRlciB0aGUgc291cmNlIGlzIHJlcXVpcmVkIHdpdGgKCSAgZXhhY3RseSB0aGUgc2FtZSBjYXBzIGFzIHRoZSBpbnB1dC4KCjIwMTQtMTAtMjIgMTg6MTM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXI6IENsZWFuIHVwIHN1cmZhY2VzIGFmdGVyIHRoZSBsYXN0IHVzZXIgaXMgZ29uZQoKMjAxNC0xMC0yMiAxODowNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogV2hpdGVzcGFjZSBjbGVhbnVwCgoyMDE0LTEwLTIyIDE4OjAzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVydmlkZW86IFByb3Blcmx5IHBhc3MgdGhyb3VnaCBjYXBzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHNvdXJjZQoJICBPdGhlcndpc2UgYSBtYWdpYyBjYXBzZmlsdGVyIGFmdGVyIHRoZSBzb3VyY2UgaXMgcmVxdWlyZWQgd2l0aAoJICBleGFjdGx5IHRoZSBzYW1lIGNhcHMgYXMgdGhlIGlucHV0LgoJICBUaGlzIHdvdWxkJ3ZlIGZhaWxlZCBiZWZvcmUgd2l0aCBpbnZhbGlkIGJ1ZmZlciBzaXplczoKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgaW50ZXJ2aWRlb3NpbmsgIGludGVydmlkZW9zcmMgISAidmlkZW8veC1yYXcsd2lkdGg9NjQwLGhlaWdodD00ODAiICEgeHZpbWFnZXNpbmsKCjIwMTQtMTAtMjIgMTU6MDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IENoZWNrIGZvciAwLXNpemUgYWZ0ZXIgYWRqdXN0aW5nIHRoZSBzaXplIGZvciB0aGUgZnJhbWUgc2l6ZQoJICBJZiB3ZSBkb24ndCBoYXZlIGEgY29tcGxldGUgcmF3IGF1ZGlvIGZyYW1lIHdlIHdvdWxkIG90aGVyd2lzZSBzdGlsbAoJICBhc2sgZm9yIGEgMCBzaXplZCBidWZmZXIgZnJvbSB0aGUgYWRhcHRlci4KCjIwMTQtMTAtMjIgMTQ6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IERvbid0IHRyeSB0byByZXRyaWV2ZSAwIGJ5dGUgYnVmZmVycyBmcm9tIHRoZSBhZGFwdGVyIGluIG11bHRpLWZyYW1lIG1vZGUKCjIwMTQtMTAtMjIgMTM6MDM6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaW1wcm92ZSBvcGVuaDI2NCBjaGVjawoJICBUaGUgb3BlbmgyNjQgQVBJIGlzIHN0aWxsIHVuc3RhYmxlLCBzbyBjaGVjayBmb3IKCSAgc3RydWN0dXJlIG1lbWJlciB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCBidWlsZGluZwoJICBhZ2FpbnN0IGFuIG9sZGVyIGluY29tcGF0aWJsZSB2ZXJzaW9uLgoKMjAxNC0xMC0yMiAxMjozNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzaW1wbGlmeSBvcGVuaDI2NCBjaGVjawoJICBPZiBjb3Vyc2UgUFRIUkVBRFNfQ0ZMQUdTIGlzIG5vdCB1c2VkIGFueXdoZXJlIG5vdwoJICBmb3IgdGhlIGNoZWNrLCBidXQgdGhhdCB3YXMgdGhlIGNhc2UgYmVmb3JlIGFzIHdlbGwuCgoyMDE0LTEwLTIxIDE2OjIxOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbHdpbmRvd19jb2NvYS5tOiBJbiBmdW5jdGlvbiAnLVtHc3RHTE5TVmlldyBkcmF3UmVjdDpdJzoKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICdHc3RHTE5TVmlldycgbWF5IG5vdCByZXNwb25kIHRvICctcmVzaGFwZScKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IChNZXNzYWdlcyB3aXRob3V0IGEgbWF0Y2hpbmcgbWV0aG9kIHNpZ25hdHVyZQoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogd2lsbCBiZSBhc3N1bWVkIHRvIHJldHVybiAnaWQnIGFuZCBhY2NlcHQKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICcuLi4nIGFzIGFyZ3VtZW50cy4pCgoyMDE0LTEwLTIxIDE1OjQyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEZpeCBsb2NraW5nCgkgIFRoZSBvYmplY3QgbG9jayBvbmx5IHByb3RlY3RzIHRoZSBzZXNzaW9uLCBhcyB3ZSBtb2RpZnkKCSAgdGhlIHNlc3Npb24gZnJvbSBvdGhlciB0aHJlYWRzIHdoZW4gdGhlIGJpdHJhdGUgcHJvcGVydHkKCSAgaXMgY2hhbmdlZC4gRG9uJ3QgaG9sZCBpdCBtdWNoIGxvbmdlciB0aGFuIGZvciBzZXNzaW9uCgkgIHJlbGF0ZWQgdGhpbmdzLgoJICBBbmQgd2UgbmVlZCB0byByZWxlYXNlIHRoZSB2aWRlbyBkZWNvZGVyIHN0cmVhbSBsb2NrIGJlZm9yZQoJICBlbnF1ZXVlaW5nIGEgZnJhbWVzLiBJdCBtaWdodCB3YWl0IGZvciBvdXIgY2FsbGJhY2sgdG8gZGVxdWV1ZQoJICBhIGZyYW1lIGZyb20gYW5vdGhlciB0aHJlYWQsIHdoaWNoIHdpbGwgdGhlbiB0YWtlIHRoZSBzdHJlYW0KCSAgbG9jayB0b28gYW5kIGRlYWRsb2NrLgoKMjAxNC0xMC0yMSAxMzowMTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYThjODkzOSB0byA4NGQwNmNkCgoyMDE0LTEwLTIxIDEzOjI4OjUwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBhIG1hY3JvIHRvIGNoZWNrIGZvciBwdGhyZWFkCgkgIFJlcGxhY2UgdGhlIGhhcmRjb2RlZCAtbHB0aHJlYWQgaW4gbW9zdCBvZiB0aGUgcGxhY2VzIHdpdGggJFBUSFJFQURfTElCUy4gRm9yCgkgIG9wZW5oMjY0IGFsc28gYWRkICRQVEhSRUFEX0xJQlMgdG8gT1BFTkgyNjRfTElCUyB1bnRpbCB1cHN0cmVhbSBzaGlwcyBhIC5wYwoJICBmaWxlLgoKMjAxNC0xMC0yMSAxMjo1ODozOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNjM4OGExIHRvIGE4Yzg5MzkKCjIwMTQtMTAtMjEgMTI6Mzk6MTQgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZXNldCBlbmRfb2ZfcGxheWxpc3QgYXR0cmlidXRlIHdoZW4gd2UgcmVjZWl2ZSBhIHNlZWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY5NgoKMjAxNC0xMC0yMCAxODoyNTowOCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogY3JpdGljYWwgZXJyb3IgZm9yIGJsb2Nrc2l6ZSwgdGltZW91dCBtaW4vbWF4IHZhbHVlcwoJICBBdWRpb21peGVyIGJsb2Nrc2l6ZSwgY2FudCBiZSAwLCBoZW5jZSBhZGp1c3RpbmcgdGhlIG1pbmltdW0gdmFsdWUgdG8gMQoJICB0aW1lb3V0IHZhbHVlIG9mIGFnZ3JlZ2F0b3IgaXMgZGVmaW5lZCB3aXRoIE1BWCBvZiBNQVhJTlQ2NCwKCSAgYnV0IGl0IGNhbm5vdCBjcm9zcyBHX01BWExPTkcgKiBHU1RfU0VDT05EIC0gMQoJICBIZW5jZSBjaGFuZ2VkIHRoZSBtYXggdmFsdWUgb2YgdGhlIHNhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODg0NQoKMjAxNC0xMC0yMSAwNjowNDoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZml4dXAgZWdsaW1hZ2UgaW5jbHVkZSBwYXRoCgoyMDE0LTEwLTIxIDAyOjUyOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4YXRlIHRoZSBwYXJ0cyBvZiB0aGUgY2FwcyB3ZSBkb24ndCBrbm93IGhvdyB0byBkZWFsIHdpdGgKCSAgZml4ZXMgZ2x2aWRlb21peGVyIHdpdGggdmlkZW8veC1yYXcsd2lkdGg9Zm9vIGkuZS4gbm8gZm9ybWF0IGZpZWxkLgoKMjAxNC0xMC0xOCAxMDowMzo0MyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGJ1ZmZlcnBvb2w6IGFkZCB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGJ1ZmZlciBwb29sIG9wdGlvbgoKMjAxNC0xMC0yMCAxMDozNDoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IG9wZXJhdGUgb24gY2FwcyByYXRoZXIgdGhhbiB2aWRlbyBpbmZvCgkgIE90aGVyd2lzZSB0aGUgQ2Fwc0ZlYXR1cmVzIHdpbGwgYmUgbG9zdCBhbG9uZyB3aXRoIHRoZSBwb3NzaWJpbGl0eQoJICBvZiBtdWx0aXBsZSBvdXRwdXQgdHlwZXMgYW5kIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMjkKCjIwMTQtMDktMTkgMTE6Mzc6NTYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBpbnRyb2R1Y2UgYSBoZWxwZXIgdG8gbWFrZSBzZXF1ZW5jZS1sYXllcgoJICBJdCB3aWxsIGJlIHVzZWZ1bCB0byBpbXBsZW1lbnQgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTEwLTIwIDAyOjI3OjE1IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogQ2hlY2sgZm9yIEdMVSBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdCBpbiBjb25maWd1cmUuYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODgxNgoKMjAxNC0xMC0yMCAxNTowMjoyOCArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBzdXBwb3J0IFJHQjE2L0JHUjE2IHZpZGVvIGZvcm1hdCB1cGxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODg0MgoKMjAxNC0xMC0wOSAxNToxMjowMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZml4IGV4cGVjdGVkIGxldmVsIGluIHNlcXVlbmNlLWxheWVyIHBhcnNpbmcgdW5pdCB0ZXN0CgkgIFNlcXVlbmNlLWxheWVyIHVzZWQgZm9yIHVuaXQgdGVzdCBoYXZlIGEgbGV2ZWwgc2V0IHRvIDIgd2hpY2ggc2hvdWxkCgkgIG1hdGNoIHRoZSBtZWRpdW0gbGV2ZWwsIG5vdCB0aGUgaGlnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzMAoKMjAxNC0xMC0wOSAxNTowNTo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIHZjMXBhcnNlcjogZml4IGxldmVsIHZhbHVlcyBmb3Igc2ltcGxlL21haW4gcHJvZmlsZQoJICBJbiBzaW1wbGUgcHJvZmlsZSwgbGV2ZWwgc2V0IHRvIDAgb3IgMiBpbmRpY2F0ZSBsb3cgYW5kIG1lZGl1bSBsZXZlbAoJICByZXNwZWN0aXZlbHkuIEluIG1haW4gcHJvZmlsZSwgbGV2ZWwgc2V0IHRvIDAsIDIgb3IgNCBpbmRpY2F0ZSBsb3csCgkgIG1lZGl1bSBhbmQgaGlnaCBsZXZlbCByZXNwZWN0aXZlbHkuCgkgIExldmVsIHZhbHVlcyBhcmUgZGVmaW5lZCBpbiBBbm5leCBKLjEuMiBvZiB0aGUgU01QVEUgNDIxTS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzMAoKMjAxNC0wOC0wMiAxMToyOTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNlbmQgaW5pdGlhbCBHQVAgZXZlbnQgb24gc3BhcnNlIHN0cmVhbXMgZm9yIGZhc3RlciBzdGFydHVwIHdpdGggcGxheWJpbgoJICBTaWduYWwgc3BhcnNlIHN0cmVhbXMgcHJvcGVybHkgaW4gc3RyZWFtLXN0YXJ0IGV2ZW50IGFuZCBmb3JjZSBzZW5kaW5nCgkgIG9mIHBlbmRpbmcgc3RpY2t5IGV2ZW50cyB3aGljaCBoYXZlIGJlZW4gc3RvcmVkIG9uIHRoZSBwYWQgYWxyZWFkeSBhbmQKCSAgd2hpY2ggb3RoZXJ3aXNlIHdvdWxkIG9ubHkgYmUgc2VudCBvbiB0aGUgZmlyc3QgYnVmZmVyIG9yIHNlcmlhbGl6ZWQKCSAgZXZlbnQgKHdoaWNoIG1lYW5zIHZlcnkgbGF0ZSBpbiBjYXNlIG9mIHN1YnRpdGxlIHN0cmVhbXMpLiBQbGF5c2luayBpbgoJICBwbGF5YmluIHdhaXRzIGZvciBzdHJlYW0tc3RhcnQgb3IgYW5vdGhlciBzZXJpYWxpemVkIGV2ZW50LCBhbmQgaWYgd2UKCSAgZG9uJ3QgZG8gdGhpcyBpdCB3aWxsIHdhaXQgZm9yIHRoZSBtdWx0aXF1ZXVlIHRvIHJ1biBmdWxsIGJlZm9yZQoJICBzdGFydGluZyBwbGF5YmFjaywgd2hpY2ggbWlnaHQgdGFrZSBhIGNvdXBsZSBvZiBzZWNvbmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDQwCgoyMDE0LTEwLTIwIDEyOjMwOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogR0FQIGRldGVjdGlvbgoJICBBbGwgcGFkcyBvZiBhIHN0cmVhbSBhcmUgbm93IGFkZGVkIGF0IHRoZSBiZWdpbm5pbmcuIEluIG9yZGVyIHRvIGNvcGUgd2l0aAoJICBzdHJlYW1zIHRoYXQgZG9uJ3QgZ2V0IGFueSBkYXRhIChmb3JldmVyIG9yIGZvciBhIGxvbmcgdGltZSkgd2UgZGV0ZWN0IGdhcHMKCSAgYW5kIHB1c2ggb3V0IEdBUCBldmVudHMgd2hlbiBuZWVkZWQuCgkgIENsZWFudXBzIGFuZCBjb21tZW50aW5nIGJ5IEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDQwCgoyMDE0LTEwLTAxIDE2OjE3OjQ2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBzZWxlY3QgY2FwcyBhY2NvcmRpbmcgdG8gd212IGZvcm1hdCBhdCBuZWdvdGlhdGlvbgoJICBTb21lIFZDMSBkZWNvZGVyIGNhbiBoYXZlIGRpZmZlcmVudCBjYXBzIGFjY29yZGluZyB0byB3bXYgZm9ybWF0LCBpZQoJICBXTVYzIG9yIFdWQzEuCgkgIFNvIGluc3RlYWQgb2Yga2VlcGluZyB0aGUgZmlyc3QgYXZhaWxhYmxlIGNhcHMsIHdlIGludGVyc2VyY3Qgd2l0aAoJICBjdXJyZW50IFdNViBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MzIKCjIwMTQtMTAtMjAgMTE6MjI6NTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIHB0aHJlYWQgdG8gdGhlIGNvbmZpZ3VyZSBjaGVjayBmb3Igb3BlbmgyNjQKCjIwMTQtMTAtMjAgMDk6NDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogRGVjbGFyZSBzaW5rIHZhcmlhYmxlIHRoYXQgd2FzIGZvcmdvdHRlbiBpbiBsYXN0IGNvbW1pdAoKMjAxNC0xMC0xOSAyMDozNTo0MSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IEZyZWUgVVJJIHN0cmluZyBpbiBmaW5hbGl6ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2NzQKCjIwMTQtMTAtMTcgMjE6MjY6NTIgLTA3MDAgIEJyaW9uIFZpYmJlciA8YnJpb25AcG9ib3guY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBGaXggZm9yIGJ1aWxkaW5nIG9uIE1hYyBPUyBYIDEwLjEwCgkgIFVzaW5nIE5TQXBwIGRpcmVjdGx5IHNlZW1zIHRvIGNvbmZ1c2Ugc29tZXRoaW5nLCBhcyB0aGUgY29tcGlsZXIKCSAgd2FzIGV4cGVjdGluZyBhbiBpZDxOU0ZpbGVNYW5hZ2VyRGVsZWdhdGU+LiBTd2l0Y2hlZCB0byB1c2luZwoJICBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0sIGFuZCBzcGVjaWZpZWQgdGhlIGRlbGVnYXRlCgkgIHByb3RvY29sIG9uIHRoZSB3aW5kb3cgY2xhc3MgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODc0MAoKMjAxNC0xMC0xOSAxNDo1Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVc2Uga1ZUUHJvZmlsZUxldmVsX0gyNjRfQmFzZWxpbmVfQXV0b0xldmVsIG9ubHkgb24gaU9TCgkgIEl0IGlzIG5vdCByZXF1aXJlZCBvbiBPU1ggYXBwYXJlbnRseSBhbmQgd2FzIG9ubHkgYWRkZWQgaW4gMTAuOS42IHRoZXJlLgoJICBDYWxjdWxhdGluZyB0aGUgY29ycmVjdCBsZXZlbCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGlzIG5vdCB0cml2aWFsLCBzbyBsZXQncwoJICBqdXN0IG5vdCBzZXQgYSBsZXZlbCBhdCBhbGwgaGVyZS4KCjIwMTQtMTAtMTkgMTQ6NTE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBWVENvbXByZXNzaW9uU2Vzc2lvblByZXBhcmVUb0VuY29kZUZyYW1lcyBvbmx5IGV4aXN0cyBzaW5jZSAxMC45LjYKCSAgQ2hlY2sgd2l0aCBjb25maWd1cmUgZm9yIGl0IGluc3RlYWQgb2YgdXNpbmcgb25lIG9mIHRoZSBhdmFpbGFiaWxpdHkgbWFjcm9zCgkgIGFzIHRob3NlIHdvdWxkbid0IHdvcmsgYXMgZXhwZWN0ZWQgd2l0aCBtaW5vciB2ZXJzaW9ucy4KCjIwMTQtMTAtMTkgMTQ6MzI6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogUmVtb3ZlIHVudXNlZCAjZGVmaW5lCgoyMDE0LTEwLTE5IDEzOjQ0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwYmFkOiBGaXggbWFrZSBkaXN0IGJ5IHJlbW92aW5nIG5vbi1leGlzdGluZyBmaWxlIGZyb20gRVhUUkFfRElTVAoJICBJdCdzIHVzZWQgYnkgdGhlIHJ0cCBwbHVnaW4gaW4gZ3N0LXBsdWdpbnMtZ29vZCBmb3IgVlA4IGJ1dCBub3QgbmVlZGVkCgkgIG9yIHVzZWQgaGVyZS4KCjIwMTQtMTAtMTcgMTY6NTE6MjcgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHBiYWQ6IGluY2x1ZGUgcGx1Z2lucyBiYXNlIGNmbGFncyAoZml4IGJ1aWxkIG9uIGplbmtpbnMpCgoyMDE0LTEwLTE2IDEwOjM0OjAxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyCgoyMDE0LTEwLTE1IDE1OjI1OjU1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogc3RyaXAgbmV3bGluZXMgZnJvbSBjdXJsIGRlYnVnIG1lc3NhZ2VzCgkgIFRoZSBtZXNzYWdlcyB3ZSByZWNlaXZlIGluIHRoZSBjdXN0b20gbG9nIGhhbmRsZXIgbWlnaHQgZW5kIHdpdGggYSBuZXdsaW5lIGFuZAoJICBhcmUgbm90IFwwIHRlcm1pbmF0ZWQuIENvcHkgdGhlIG1lc3NhZ2VzLCB0cmltIGFuZCB0ZXJtaW5hdGUgdGhlbS4KCjIwMTQtMTAtMTUgMTU6MjQ6MTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBzbWFsbCBjb2RlIGNsZWFudXAKCSAgVXNlIGEgbG9jYWwgdmFyIGFuZCBzYXZlIGEgbG9jYWwgdmFyLgoKMjAxNC0xMC0xNSAxNjo1MjowOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY1ZW5jLmM6CgkgIHRlc3RzL3gyNjVlbmM6IGFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDE0LTAzLTA1IDE2OjM5OjMwICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY1L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuaDoKCSAgeDI2NWVuYzogYWRkIHgyNjUgZW5jb2RlciBlbGVtZW50CgoyMDE0LTEwLTE0IDE0OjAwOjExICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBnbGRlaW50ZXJsYWNlOiByZWYgdGhlIHVwbG9hZGVkIGJ1ZmZlcgoJICBJbnN0ZWFkIG9mIHRoZSBwb3NzaWJseSBub24tR0wgaW5wdXQgYnVmZmVyLgoKMjAxNC0xMC0xNCAxNjo0MTo1MSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogYWRkIHVwbG9hZGVkX2J1ZmZlciBmaWVsZAoKMjAxNC0wOS0yMiAwOTo0NDoxNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHBhcnNlIGZyYW1lIGhlYWRlciB3aGVuIHN0cmVhbSBmb3JtYXQgaXMgQVNGL3JhdyBmb3Igc2ltcGxlL21haW4gcHJvZmlsZQoJICBXaGVuIHN0cmVhbS1mb3JtYXQgaXMgQVNGIG9yIHNlcXVlbmNlLWxheWVyLXJhdy1mcmFtZSwgd2UgYmFzaWNhbGx5IGhhdmUKCSAgYSByYXcgZnJhbWUgc28gd2UgY2FuIHBhcnNlIGl0IHRvIGV4dHJhY3Qgc29tZSBpbmZvcm1hdGlvbiBzdWNoIHRoZQoJICBrZXlmcmFtZSBmbGFnLiBUaGUgb25seSByZXF1aXJlbWVudCBpcyB0byBoYXZlIGEgdmFsaWQgc2VxdWVuY2UtaGVhZGVyLgoJICBUaGlzIGNvbW1pdCBwYXJzZSB0aGUgZnJhbWUgaGVhZGVyIGFuZCBzZXQgdGhlIERFTFRBX1VOSVQgYnVmZmVyIGZsYWcgaW4KCSAgY2FzZSB0aGUgZnJhbWUgaXMgbm90IGEga2V5ZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MTkKCjIwMTQtMTAtMTQgMTA6NTE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1OiBDaGFuZ2UgcmFuayB0byBTRUNPTkRBUlksIGdzdC1saWJhdiBoYXMgUFJJTUFSWSByYW5rCgoyMDE0LTA5LTE3IDEwOjM4OjQ0ICswMjAwICBKb2FjaGltIEJhdWNoIDxiYXVjaEBzdHJ1a3R1ci5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGliZGUyNjUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJkZTI2NS9nc3RsaWJkZTI2NS5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEludGVncmF0ZSBsaWJkZTI2NSBpbnRvIGdzdC1wbHVnaW5zLWJhZC4KCjIwMTQtMTAtMTMgMTQ6MDU6MjQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBqdXN0IGFzc3VtZSBub25lIGhlYWRlci1mb3JtYXQgd2hlbiBubyBjb2RlY19kYXRhIGlzIHByZXNlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODQ0OQoKMjAxNC0xMC0xNCAwOToxOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBTZXQgcmVvcmRlciBsZW5ndGggdG8gMCBpZiB3ZSBjYW4ndCBjYWxjdWxhdGUgaXQKCSAgSW5zdGVhZCBvZiBsZWF2aW5nIGl0IGF0IHdoYXRldmVyIHZhbHVlIGl0IGhhZCBiZWZvcmUuCgoyMDE0LTEwLTEzIDEzOjI4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBPbmx5IGZpbmFsaXplIHRoZSBvdGhlciBjb250ZXh0IGluIGZpbmFsaXplKCkKCSAgT3RoZXJ3aXNlIHdlIGNoYW5nZSBhIHZhbHVlIG9mIGEgcHJvcGVydHkgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZSwKCSAgd2hpY2ggaXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgoyMDE0LTEwLTEzIDEzOjI3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogQ2FsbCB0aGUgcGFkJ3MgcGFyZW50IGNsYXNzIGZpbmFsaXplIG1ldGhvZAoKMjAxNC0xMC0xMyAxMzoyNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IE9ubHkgZmluYWxpemUgdGhlIG90aGVyIGNvbnRleHQgaW4gZmluYWxpemUoKQoJICBPdGhlcndpc2Ugd2UgY2hhbmdlIGEgdmFsdWUgb2YgYSBwcm9wZXJ0eSB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlLAoJICB3aGljaCBpcyB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCjIwMTQtMTAtMTMgMTM6MjU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBBZGQgb3RoZXItY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMC0xMyAxMTo1NjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRG9uJ3QgbGVhayBvdGhlci1jb250ZXh0CgoyMDE0LTEwLTEzIDExOjUzOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogQWRkIG90aGVyLWNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTAtMTIgMjE6MjU6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmI6IG1ha2UgaW50ZXJsZWF2aW5nIGEgcHJvcCBhbmQgcHJveHkgb24gZHZiYmFzZWJpbgoJICBEVFZfSU5URVJMRUFWSU5HIGlzIGN1cnJlbnRseSB1c2VkIG9ubHkgZm9yIERUQk0uIFRoaXMgaXMKCSAgY29uZ3J1ZW50IHdpdGggdGhlIHY0bCBkdmIgQVBJIHdoZXJlIHRoZSBkaWZmZXJlbnQgaW50ZXJsZWF2aW5nCgkgIG1vZGVzIHdoZXJlIGFkZGVkIGZvciB2NS43CgoyMDE0LTEwLTEyIDE4OjMwOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCB0cmFuc21pc3Npb24gbW9kZSBjaGVja3MgZm9yIERWQi1UL1QyCgkgIFRoZXNlIGFuZCBldmVyeSBzYW5pdHkgY2hlY2sgbGVhZGluZyB0byBhIHdhcm5pbmcKCSAgKHdlIGhhdmUgYSBmZXcgaW4gcGxhY2UpIHNob3VsZCBjb21lIGhhbmR5IHdoZW4KCSAgZGVidWdpbmcgZmFpbGVkIHR1bm5pbmcgc2NlbmFyaW9zLgoKMjAxNC0xMC0xMiAxMzozNDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkb2NzLCBkcm9wIHY1IEFQSSBjaGFuZ2UgaGlzdG9yeSBjb21tZW50cyA8IC41CgkgIFdlIG9ubHkgc3VwcG9ydCBmcm9tIG1pbm9yIDUgYW5kIHVwIG5vdy4gQWxzbyBhZGQgYQoJICBub3RlIGFib3V0IHRoZSByZWNlbnRseSBhZGRlZCBwcmVsaW1pbmFyIERUTUIgc3VwcG9ydC4KCjIwMTQtMTAtMTIgMTM6MDg6MTMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRFZCLVQyIGJhbmR3aWR0aCB0eXBlcwoJICBEVkItVDIgc3VwcG9ydHMgNSwgMTAgYW5kIDEuNzEyIE1IegoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyB2YWx1ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kKCjIwMTQtMTAtMDcgMTA6Mzc6MzMgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCByZW5kZXIgdHdpY2UgdGhlIHNhbWUgYnVmZmVyCgkgIERvIG5vdCB0cnkgdG8gcmVuZGVyIGEgYnVmZmVyIHRoYXQgaXMgYWxyZWFkeSBiZWluZyByZW5kZXJlZC4KCSAgVGhpcyBoYXBwZW5zIHR5cGljYWxseSBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyaW5nIHN0YWdlIGFzIHRoZSBmaXJzdAoJICBidWZmZXIgaXMgcmVuZGVyZWQgdHdpY2U6IGZpcnN0IGJ5IHByZXJvbGwoKSwgdGhlbiBieSByZW5kZXIoKS4KCSAgVGhpcyBjb21taXQgYXZvaWRzIHRoaXMgYXNzZXJ0aW9uIGZhaWx1cmU6CgkgIENSSVRJQ0FMOiBnc3Rfd2F5bGFuZF9jb21wb3NpdG9yX2FjcXVpcmVfYnVmZmVyOiBhc3NlcnRpb24KCSAgJ21ldGEtPnVzZWRfYnlfY29tcG9zaXRvciA9PSBGQUxTRScgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwNjkKCSAgU2lnbmVkLW9mZi1ieTogRmFiaWVuIERlc3Nlbm5lIDxmYWJpZW4uZGVzc2VubmVAc3QuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCjIwMTQtMDctMjQgMTY6NTM6NTMgKzAyMDAgIFRpZmFpbmUgSW5ndWVyZSA8dGlmYWluZS5pbmd1ZXJlQHN0LmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rIDogQWxsb3cgc3VyZmFjZSB0byBjYXRjaCBpbnB1dCBldmVudHMKCSAgSWYgd2F5bGFuZHNpbmsgaXMgdGhlIG93bmVyIG9mIHRoZSBkaXNwbGF5IHRoZW4gaXQgaXMgaW4gY2hhcmdlCgkgIG9mIGNhdGNoaW5nIGlucHV0IGV2ZW50cyBvbiB0aGUgc3VyZmFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY4MgoJICBTaWduZWQtb2ZmLWJ5OiBUaWZhaW5lIEluZ3VlcmUgPHRpZmFpbmUuaW5ndWVyZUBzdC5jb20+CgkgIFJldmlld2VkLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCjIwMTQtMDctMDIgMTM6Mjk6NTUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiB0YWtlIGludG8gYWNjb3VudCB0aGUgY2FzZSB3aGVyZSBhIHBvb2wgbWF5IGJlIGRlc3Ryb3llZCB0b2dldGhlciB3aXRoIEdzdFdsRGlzcGxheQoJICBUaGVyZSBhcmUgdHdvIGNhc2VzIGNvdmVyZWQgaGVyZToKCSAgMSkgVGhlIEdzdFdsRGlzcGxheSBmb3JjZXMgdGhlIHJlbGVhc2Ugb2YgdGhlIGxhc3QgYnVmZmVyIGFuZCB0aGUgcG9vbAoJICBnZXRzIGRlc3Ryb3llZCBpbiB0aGlzIGNvbnRleHQsIHdoaWNoIG1lYW5zIGl0IHVucmVnaXN0ZXJzIGFsbCB0aGUKCSAgb3RoZXIgYnVmZmVycyBmcm9tIHRoZSBHc3RXbERpc3BsYXkgYXMgd2VsbCBhbmQgdGhlIGRpc3BsYXktPmJ1ZmZlcnMKCSAgaGFzaCB0YWJsZSBnZXRzIGNvcnJ1cHRlZCBiZWNhdXNlIGl0IGlzIGl0ZXJhdGluZy4KCSAgMikgVGhlIHBvb2wgYW5kIGl0cyBidWZmZXJzIGdldCBkZXN0cm95ZWQgY29uY3VycmVudGx5IGZyb20gYW5vdGhlcgoJICB0aHJlYWQgd2hpbGUgR3N0V2xEaXNwbGF5IGlzIGZpbmFsaXppbmcgYW5kIG1hbnkgdGhpbmdzIGdldCBjb3JydXB0ZWQuCgoyMDE0LTA3LTAxIDExOjQzOjIwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuaDoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogc3RhY2sgdGhlIHZpZGVvIHN1YnN1cmZhY2UgaW50byBhbm90aGVyIHN1YnN1cmZhY2UgdGhhdCBjb3ZlcnMgdGhlIHdob2xlIHJlbmRlciByZWN0YW5nbGUKCSAgVGhlIG1haW4gcmVhc29uIGJlaGluZCB0aGlzIGlzIHRoYXQgd2hlbiB0aGUgdmlkZW8gY2FwcyBjaGFuZ2UgYW5kIHRoZSB2aWRlbwoJICBzdWJzdXJmYWNlIG5lZWRzIHRvIHJlc2l6ZSBhbmQgY2hhbmdlIHBvc2l0aW9uLCB0aGUgd2xfc3Vic3VyZmFjZS5zZXRfcG9zaXRpb24KCSAgY2FsbCBuZWVkcyBhIGNvbW1pdCBpbiBpdHMgcGFyZW50IGluIG9yZGVyIHRvIHRha2UgZWZmZWN0LiBQcmV2aW91c2x5LAoJICB0aGUgcGFyZW50IHdhcyB0aGUgYXBwbGljYXRpb24ncyBzdXJmYWNlLCBvdmVyIHdoaWNoIHRoZXJlIGlzIG5vIGNvbnRyb2wuCgkgIE5vdywgdGhlIHBhcmVudCBpcyBpbnNpZGUgdGhlIHNpbmssIHNvIHdlIGNhbiBjb21taXQgaXQgYW5kIGNoYW5nZSBzaXplIHNtb290aGx5LgoJICBBcyBhIHNpZGUgZWZmZWN0LCB0aGlzIGFsc28gYWxsb3dzIHRoZSBzaW5rIHRvIGRyYXcgaXRzIGJsYWNrIGJvcmRlcnMgb24KCSAgaXRzIG93biwgd2l0aG91dCB0aGUgbmVlZCBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGRvIHRoYXQuIEFuZCBhbm90aGVyIHNpZGUKCSAgZWZmZWN0IGlzIHRoYXQgdGhpcyBjYW4gbm93IGFsbG93IHJlc2l6aW5nIHRoZSBzaW5rIHdoZW4gaXQgaXMgaW4gdG9wLWxldmVsCgkgIG1vZGUgYW5kIGhhdmUgaXQgcmVzcGVjdCB0aGUgYXNwZWN0IHJhdGlvLgoKMjAxNC0wNi0yMCAxNjoyNDozNiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJICB3YXlsYW5kc2luazogcmVuYW1lIHZpZGVvIGZvcm1hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucyB0byBpbmRpY2F0ZSB0aGV5IGFyZSBhYm91dCB3bF9zaG0KCSAgTmVlZGVkIHRvIGFkZCBsaW51eF9kbWFidWYgZm9ybWF0IGNvbnZlcnNpb24gZnVuY3Rpb25zIGxhdGVyCgoyMDE0LTA2LTIzIDE3OjI3OjAxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSB1Z2x5IGdzdF93bF9kaXNwbGF5X3N0b3AoKSBub3cgdGhhdCB0aGlzIG1lY2hhbmlzbSBpcyBub3QgbmVlZGVkIGFueW1vcmUKCSAgQmVjYXVzZSB3ZSBubyBsb25nZXIgaGF2ZSBhIGN1c3RvbSBidWZmZXIgcG9vbCB0aGF0IGhvbGRzIGEgcmVmZXJlbmNlCgkgIHRvIHRoZSBkaXNwbGF5LCB0aGVyZSBpcyBubyB3YXkgZm9yIGEgY3ljbGljIHJlZmVyZW5jZSB0byBoYXBwZW4gbGlrZQoJICBiZWZvcmUsIHNvIHdlIG5vIGxvbmdlciBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCBhIGZ1bmN0aW9uIGZyb20gdGhlCgkgIGRpc3BsYXkgdG8gcmVsZWFzZSB0aGUgd2xfYnVmZmVycy4KCSAgSG93ZXZlciwgdGhlIGdlbmVyYWwgbWVjaGFuaXNtIG9mIHJlZ2lzdGVyaW5nIGJ1ZmZlcnMgdG8gdGhlIGRpc3BsYXkKCSAgYW5kIGZvcmNpYmx5IHJlbGVhc2luZyB0aGVtIHdoZW4gdGhlIGRpc3BsYXkgaXMgZGVzdHJveWVkIGlzIHN0aWxsCgkgIG5lZWRlZCB0byBhdm9pZCBwb3RlbnRpYWwgbWVtb3J5IGxlYWtzLiBUaGUgY29tbWVudCBpbiB3bGJ1ZmZlci5jCgkgIGlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgY3VycmVudCBzaXR1YXRpb24uCgoyMDE0LTA2LTIzIDE2OjQwOjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmg6CgkgIHdheWxhbmRzaW5rOiByZXBsYWNlIHRoZSBjdXN0b20gYnVmZmVyIHBvb2wgd2l0aCBhbiBhbGxvY2F0b3IKCSAgVGhpcyByZWR1Y2VzIHRoZSBjb21wbGV4aXR5IG9mIGhhdmluZyBhIGN1c3RvbSBidWZmZXIgcG9vbCwgYXMKCSAgd2UgZG9uJ3QgcmVhbGx5IG5lZWQgaXQuIFdlIG9ubHkgbmVlZCB0aGUgY3VzdG9tIGFsbG9jYXRpb24gcGFydC4KCSAgQW5kIHNpbmNlIHRoZSB3bF9idWZmZXIgaXMgbm8gbG9uZ2VyIHNhdmVkIGluIGEgR3N0TWV0YSwgd2UgY2FuCgkgIGNyZWF0ZSBpdCBhbmQgYWRkIGl0IG9uIHRoZSBidWZmZXJzIGluIHRoZSBzaW5rJ3MgcmVuZGVyKCkKCSAgZnVuY3Rpb24sIHdoaWNoIHJlbW92ZXMgdGhlIHJlZmVyZW5jZSBjeWNsZSBjYXVzZWQgYnkgdGhlIHBvb2wKCSAgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgZGlzcGxheSBhbmQgYWxzbyBhbGxvd3MgbW9yZSBnZW5lcmljCgkgIHNjZW5hcmlvcyAodGhlIGFsbG9jYXRvciBiZWluZyB1c2VkIGluIGFub3RoZXIgcG9vbCwgb3IgYnVmZmVycwoJICBiZWluZyBhbGxvY2F0ZWQgd2l0aG91dCBhIHBvb2wgW2lmIGFueXRoaW5nIHN0dXBpZCBkb2VzIHRoYXRdKS4KCSAgVGhpcyBjb21taXQgYWxzbyBzaW1wbGlmaWVzIHRoZSBwcm9wb3NlX2FsbG9jYXRpb24oKSBmdW5jdGlvbiwKCSAgd2hpY2ggZG9lc24ndCByZWFsbHkgbmVlZCB0byBkbyBhbGwgdGhlc2UgY29tcGxpY2F0ZWQgY2hlY2tzLAoJICBzaW5jZSB0aGVyZSBpcyBhbHdheXMgYSBjb3JyZWN0IGJ1ZmZlciBwb29sIGF2YWlsYWJsZSwgY3JlYXRlZAoJICBpbiBzZXRfY2FwcygpLgoJICBUaGUgb3RoZXIgc2lkZSBlZmZlY3Qgb2YgdGhpcyBjb21taXQgaXMgdGhhdCBhIG5ldyB3bF9zaG1fcG9vbAoJICBpcyBub3cgY3JlYXRlZCBmb3IgZXZlcnkgR3N0TWVtb3J5LCB3aGljaCBtZWFucyB0aGF0IHdlIHVzZQoJICBhcyBtdWNoIHNobSBtZW1vcnkgYXMgd2UgYWN0dWFsbHkgbmVlZCBhbmQgbm8gbW9yZS4gUHJldmlvdXNseSwKCSAgdGhlIGNyZWF0ZWQgd2xfc2htX3Bvb2wgd291bGQgYWxsb2NhdGUgc3BhY2UgZm9yIDE1IGJ1ZmZlcnMsIG5vCgkgIG1hdHRlciBpZiB0aGV5IHdlcmUgYmVpbmcgdXNlZCBvciBub3QuCgoyMDE0LTA2LTIwIDE0OjQ3OjU3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHJld29yayB0aGUgbWVjaGFuaXNtIGZvciBrZWVwaW5nIGJ1ZmZlcnMgb3V0IG9mIHRoZSBwb29sIHVudGlsIHdsX2J1ZmZlcjo6cmVsZWFzZQoJICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgR3N0V2xNZXRhIGFuZCBhZGRzIGEgd3JhcHBlciBjbGFzcyBmb3Igd2xfYnVmZmVyCgkgIHdoaWNoIGlzIHNhdmVkIGluIHRoZSBHc3RCdWZmZXIgcWRhdGEgaW5zdGVhZCBvZiBiZWluZyBhIEdzdE1ldGEuCgkgIFRoZSBtb3RpdmF0aW9uIGJlaGluZCB0aGlzIGlzIG1haW5seSB0byBhbGxvdyBhdHRhY2hpbmcgd2xfYnVmZmVycyBvbgoJICBHc3RCdWZmZXJzIHRoYXQgaGF2ZSBub3QgYmVlbiBhbGxvY2F0ZWQgaW5zaWRlIHRoZSBHc3RXYXlsYW5kQnVmZmVyUG9vbCwKCSAgc28gdGhhdCBpZiBmb3IgZXhhbXBsZSBhbiB1cHN0cmVhbSBlbGVtZW50IGlzIHNlbmRpbmcgdXMgYSBidWZmZXIKCSAgZnJvbSBhIGRpZmZlcmVudCBwb29sLCB3aGljaCBob3dldmVyIGRvZXMgbm90IG5lZWQgdG8gYmUgY29waWVkCgkgIHRvIGEgYnVmZmVyIGZyb20gb3VyIHBvb2wgYmVjYXVzZSBpdCBtYXkgYmUgYSBoYXJkd2FyZSBidWZmZXIKCSAgKGhlbGxvIGRtYWJ1ZiEpLCB3ZSBjYW4gY3JlYXRlIGEgd2xfYnVmZmVyIGRpcmVjdGx5IGZyb20gaXQgYW5kIGZpcnN0LAoJICBhdHRhY2ggaXQgb24gaXQgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIHJlLWNyZWF0ZSBhIHdsX2J1ZmZlciBldmVyeQoJICB0aW1lIHRoZSBzYW1lIEdzdEJ1ZmZlciBhcnJpdmVzIGFuZCBzZWNvbmQsIGZvcmNlIHRoZSB3aG9sZSBtZWNoYW5pc20KCSAgZm9yIGtlZXBpbmcgdGhlIGJ1ZmZlciBvdXQgb2YgdGhlIHBvb2wgdW50aWwgdGhlcmUgaXMgYSB3bF9idWZmZXI6OnJlbGVhc2UKCSAgb24gdGhhdCBmb3JlaWduIEdzdEJ1ZmZlci4KCjIwMTQtMTAtMDkgMDg6MjA6MTUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogb3B0aW1pemUgcGFyc2UgbG9naWMKCSAgSGVhZGVyIHdpbGwgYmUgcmVhZCBlYWNoIGFuZCBldmVyeXRpbWUgcGFyc2UgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKCSAgd2hpY2ggaXMgbm90IG5lY2Vzc2FyeSBzaW5jZSB1bnRpbCB3ZSBoYXZlIGNvbXBsZXRlIGRhdGEsCgkgIHdlIG5lZWQgbm90IHBhcnNlIHRoZSBoZWFkZXIgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc5ODQKCjIwMTQtMTAtMTAgMTM6MDU6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogZG9uJ3QgbGVhayBpbmNvbWluZyBjYXBzIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyOTEKCjIwMTQtMTAtMDkgMTg6MTg6MDIgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmaXggZnJhbWVzaXplIHdoZW4gaW5wdXQgaXMgZnJhbWUtbGF5ZXIKCSAgZnJhbWUtbGF5ZXIgaGVhZGVyIGlzIHJlcHJlc2VudGVkIGFzIGEgc2VxdWVuY2Ugb2YgMzIgYml0IHVuc2lnbmVkCgkgIGludGVnZXIgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIsIHNvIGZyYW1lc2l6ZSBpcyBvbiB0aGUKCSAgZmlyc3QgMyBieXRlcy4KCSAgU01QVEUgNDIxTSBBbm5leCBMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjQzCgoyMDE0LTEwLTA3IDE3OjA1OjA0ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IG1lbnRpb24gZmx1aWRkZWMgaW5zdGVhZCBvZiBmbHVpZHN5bnRoCgkgIFRoZSBlbGVtZW50IG5hbWUgaXMgYWN0dWFsbHkgZmx1aWRkZWMgZXZlbiBpZiBpdCB1c2VzIGZsdWlkc3ludGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMjMKCjIwMTQtMTAtMDkgMTE6NTE6MTYgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGZpeCBzb21lIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjIzCgoyMDE0LTEwLTA5IDA0OjExOjAwIC0wNDAwICBEYXZpZCBXb29kaG91c2UgPGR3bXcyQGluZnJhZGVhZC5vcmc+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBMSU5LVFlQRV9SQVcKCSAgQWxzbywgc3RyaWN0bHkgc3BlYWtpbmcsIHRoZXNlIG51bWJlcnMgYXJlbid0IERMVF8qOyB0aGV5IGFyZSBMSU5LVFlQRV8qIGJlY2F1c2UKCSAgbGlicGNhcCB0cmFuc2xhdGVzIGZyb20gaW50ZXJuYWwgT1Mtc3BlY2lmaWMgRExUXyBudW1iZXJpbmcgdG8gdGhlIHBvcnRhYmxlCgkgIExJTktUWVBFXyBudW1iZXIgc3BhY2Ugd2hlbiB3cml0aW5nIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjA2CgoyMDE0LTEwLTA5IDE0OjUxOjU2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0OiB1c2UgR19HU0laRV9GT1JNQVQgaW4gYXVkaW9taXhlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMjcKCjIwMTQtMTAtMDcgMTY6NTc6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0cy9hZ2dyZWdhdG9yOiBhZGQgdGltZW91dCBoYW5kbGluZyB0ZXN0IGZvciB0aGUgdGltZW91dCBwYXJhbWV0ZXIKCjIwMTQtMTAtMDYgMjE6NDY6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBsYXRlbmN5IHF1ZXJ5IGhhbmRsaW5nCgoyMDE0LTEwLTA2IDE4OjMzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogc3VwcG9ydCB1bnJlc3BvbnNpdmUgcGFkcwoJICBSZW5kZXIgdW5yZXNwb25zaXZlIHBhZHMgd2l0aCB0aGUgbGFzdCB2aWRlbyBmcmFtZSByZWNlaXZlZC4KCjIwMTQtMTAtMDYgMTg6MjM6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgYSB0aW1lb3V0IHByb3BlcnR5IGRldGVybWluaW5nIGJ1ZmZlciB3YWl0IHRpbWUKCSAgRGV0ZXJtaW5lcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCBhIHBhZCB3aWxsIHdhaXQgZm9yIGEgYnVmZmVyIGJlZm9yZQoJICBiZWluZyBtYXJrZWQgdW5yZXNwb25zaXZlLgoJICBOZXR3b3JrIHNvdXJjZXMgbWF5IGZhaWwgdG8gcHJvZHVjZSBidWZmZXJzIGZvciBhbiBleHRlbmRlZCBwZXJpb2Qgb2YgdGltZSwKCSAgY3VycmVudGx5IGNhdXNpbmcgdGhlIHBpcGVsaW5lIHRvIHN0YWxsIHBvc3NpYmx5IGluZGVmaW5pdGVseSwgd2FpdGluZyBmb3IKCSAgdGhlc2UgYnVmZmVycyB0byBhcHBlYXIuCgkgIFN1YmNsYXNzZXMgc2hvdWxkIHJlbmRlciB1bnJlc3BvbnNpdmUgcGFkcyB3aXRoIGVpdGhlciBzaWxlbmNlIChhdWRpbyksIHRoZQoJICBsYXN0ICh2aWRlbykgZnJhbWUgb3Igd2hhdCBtYWtlcyB0aGUgbW9zdCBzZW5zZSBpbiB0aGUgZ2l2ZW4gY29udGV4dC4KCjIwMTQtMTAtMDYgMTg6MTA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlbW92ZSB0aGUgdXNlIG9mIHRoZSBxdWV1ZWQgYnVmZmVyIG9uIHNpbmsgcGFkcwoJICBUaGF0IGRhdGEgaXMgbm93IGhlbGQgYnkgdGhlIGFnZ3JlZ2F0b3IgY2xhc3MKCjIwMTQtMTAtMDkgMTE6NDY6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGV4cG9zZSBwYXJzZWQgcHJvZmlsZSwgdGllciBhbmQgbGV2ZWwgdG8gZG93bnN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM5CgoyMDE0LTEwLTA5IDAxOjE4OjE2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBwYXJzZWQgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gZG93bnN0cmVhbQoJICBTZXQgcGFyc2VkIHByb2ZpbGUgYW5kIGxldmVsIGluIHNyYyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM5CgoyMDE0LTEwLTA5IDEwOjU0OjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBBZGQgc3VwcG9ydCBmb3IgSGlEUEkgZGlzcGxheXMKCSAgV2l0aG91dCB0aGlzIG91ciBHTCBzdXJmYWNlIHdvdWxkIGJlIHVwc2NhbGVkIGFmdGVyIHJlbmRlcmluZwoJICBieSBDb2NvYSwgd2hpY2ggd291bGQgcmVkdWNlIGltYWdlIHF1YWxpdHkuCgoyMDE0LTEwLTA5IDEyOjI4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IG91dHB1dCB3aHkgd2UgY2Fubm90IGNvbnZlcnQgYSBidWZmZXIKCjIwMTQtMTAtMDkgMTI6MjU6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IHBsYW5hciBZVVYgZG93bmxvYWQKCSAgLSBzYW1wbGUgdGhlIHUgYW5kIHYgcGxhbmVzIHByb3Blcmx5CgkgIC0gb3V0cHV0IHRoZSBjb3JyZWN0bHkgc2NhbGVkIHUgYW5kIHYgcGxhbmVzIGZvciBkaWZmZXJlbnQgY2hyb21hIGJsb2NrIHNpemVzCgoyMDE0LTEwLTA4IDIxOjUxOjEyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDxuLnZpdmlhQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBBbmQgZml4IGFub3RoZXIgdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMTAtMDggMjE6NDk6MjUgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPG4udml2aWFAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRob3V0IGRlc2t0b3AgR0wKCjIwMTQtMDktMjYgMTM6NTU6MjAgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBBZGQgWVZVOSBhbmQgWVVWOSB0byBaQkFSX1lVVl9DQVBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc0MDcKCjIwMTQtMDktMjggMTA6NTE6MDkgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgY2hlY2tlcnMgcGF0dGVybiB3aXRoIEdMU0wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzUwNQoKMjAxNC0xMC0wNyAxNToyNDoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBNM1U4IHBhcnNpbmcgdW5pdCB0ZXN0IGFmdGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTEwLTAyIDEwOjM3OjU3IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEZpeCBhY2Nlc3NpbmcgaW52YWxpZGF0ZWQgbWVtb3J5CgkgIEluIGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQoKSB0aGUgbmV4dCBmcmFnbWVudCBVUkkgZ2V0cwoJICBzdG9yZWQgaW4gbmV4dF9mcmFnbWVudF91cmksIGJ1dCB0aGUgZ3N0X2hsc19kZW11eF91cGRhdGVzX2xvb3AoKQoJICBjYW4gYXQgYW55IHRpbWUgdXBkYXRlIHRoZSBwbGF5bGlzdCwgcmVuZGVyaW5nIHRoaXMgc3RyaW5nIGludmFsaWQuCgkgIFRoZXJlZm9yZSwgYW55IGRhdGEgKGxpa2Uga2V5LCBpdiwgVVJJcykgdGhhdCBpcyB0YWtlbiBmcm9tIGEKCSAgR3N0TTNVOENsaWVudCBuZWVkcyB0byBiZSBjb3BpZWQuIEluIGFkZGl0aW9uLCBhY2Nlc3NpbmcgdGhlCgkgIGludGVybmFscyBvZiBhIEdzdE0zVThDbGllbnQgcmVxdWlyZXMgbG9ja2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc5MwoKMjAxNC0xMC0wNyAxMjoxMjowNCArMDIwMCAgRmVsaXggU2Nod2FyeiA8ZmVsaXguc2Nod2FyekBvc3Muc2Nod2Fyei5ldT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogZml4IHR5cG9zIGluIGNvbW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwNzIKCjIwMTQtMTAtMDcgMjM6MDQ6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IFVZVlkgZG93bmxvYWQgZ3JlZW4gc2NyZWVuCgoyMDE0LTEwLTA3IDIyOjUwOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xyY29udmVydDogZml4IFlVWTIgZG93bmxvYWQKCSAgLSBUaGUgc2hhZGVyIHdhcyBvdXRwdXRpbmcgdGhlIHdyb25nIHZhbHVlcyBjb21wYXJlZCB3aXRoIHJhdwoJICB2aWRlb3Rlc3RzcmMuCgkgIC0gZGVhbCB3aXRoIHRoZSB0ZXh0dXJlIGVkZ2UgcHJvcGVybHkuCgkgIC0gcHJvcGVybHkgc2FtcGxlIHRoZSAyeDEgcmVjdGFuZ2xlIGZvciB0aGUgdSBhbmQgdiB2YWx1ZXMKCSAgLSBkb24ndCBkb3VibGUgc2FtcGxlIHRoZSB5IHZhbHVlCgoyMDE0LTEwLTA2IDIxOjI1OjMwICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDxuLnZpdmlhQGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IFNldCBDVVJMT1BUX1VQTE9BRCB0byAxIHRvIG5vdCB1c2UgVlJGWSBhbmQgb3RoZXIgdW5uZWVkZWQgY29tbWFuZHMKCSAgRml4ZXMgdGhlIHNpbmsgd2l0aCBTTVRQIHNlcnZlcnMgdGhhdCBkaXNhYmxlIFZSRlkgZm9yIHNwYW0gcHJvdGVjdGlvbi4KCSAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL2N1cmwvYnVncy8xMzg5LwoKMjAxNC0wOS0xNyAxNjo0ODowMiArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVwbGFjZSBHTWFpbkNvbnRleHQgd2l0aCBHQXN5bmNRdWV1ZSAodjIpCgkgIFRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBrZXB0IGFjY3VtdWxhdGluZyBHU291cmNlcywKCSAgc2xvd2luZyBkb3duIHRoZSBpdGVyYXRpb24gYW5kIGxlYWtpbmcgbWVtb3J5LgoJICBJbnN0ZWFkIG9mIHRyeWluZyB0byBmaXggdGhlIG1haW4gY29udGV4dCBmbHVzaGluZywgcmVwbGFjZQoJICBpdCB3aXRoIGEgR0FzeW5jUXVldWUgd2hpY2ggaXMgc2ltcGxlIHRvIGZsdXNoIGFuZCBoYXMKCSAgbGVzcyBvdmVyaGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc4MgoKMjAxNC0xMC0wNiAxMzowOTowMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBIYW5kbGUgc2VlayBldmVudCBpbiBSRUFEWSBzdGF0ZQoKMjAxNC0wNy0yMSAxMTowNzoxOSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IFNldCB0aGUgc2lua3BhZCBzZWdtZW50cyBiYXNldGltZSBhZnRlciBzZWVraW5nCgkgIE90aGVyd2lzZSBzdHJlYW0gb2Zmc2V0IGFuZCBydW5uaW5nIHRpbWUgY29tcGFyaXNvbiB3aWxsIG5vdCBiZQoJICBjb3JyZWN0LCBsZWFkaW5nIHRvIHNlZ2ZhdWx0cyBhZnRlciBzZWVrcwoKMjAxNC0wNS0yOCAxNjoyOTozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFBvcnQgdG8gR3N0QWdncmVnYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTgzCgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoyMDE0LTA5LTIzIDE1OjU5OjEwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gbm90IHdyb25nbHkgc2V0IHRoZSBhZ2dyZWdhdG9yLnNlZ21lbnQKCSAgVGhlIGFnZ3JlZ2F0b3Iuc2VnbWVudCBpcyBub3QgdG8gYmUgaW5pdGlhbGl6ZWQgYnkgdGhlIHN1YmNsYXNzZXMgYnV0CgkgIGJ5IHRoZSBhZ2dyZWdhdG9yIGl0c2VsZi4gTW9yZW92ZXIsIGluaXRpYWxpemluZyBpdCBvbiBzdGFydCB3b3VsZCBtYWtlCgkgIHVzIGxvb3NlIHRoZSBpbmZvcm1hdGlvbiBjb21pbmcgZnJvbSB0aGUgaW5pdGlhbCBzZWVrLgoKMjAxNC0wNy0zMCAxMTo1Nzo0NiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1ha2Ugc3VyZSBub3QgdG8gdW5yZWYgYSBOVUxMIHBvaW50ZXIKCjIwMTQtMDgtMDUgMTU6MzY6MzAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU2V0IHNlcW51bSBvbmx5IHdoZW4gc2VnbWVudHMgYXJlIHJlY2VpdmVkLgoKMjAxNC0wOC0wMiAxODoyNTowMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgYSBzdHJlYW1pbmcgbG9jayBzbyB0byBzZWN1cmUgZmx1c2ggc3RhcnQgYWN0aW9uCgkgIFdpdGhvdXQgYSBsb2NrIHRoYXQgaXMgdGFrZW4gaW4gRkxVU0hfU1RBUlQgd2UgaGFkIGEgcmFyZSByYWNlIHdoZXJlIHdlCgkgIGVuZCB1cCBhZ2dyZWdhdGluZyBhIGJ1ZmZlciB0aGF0IHdhcyBiZWZvcmUgdGhlIHdob2xlIEZMVVNIX1NUQVJUL1NUT1AKCSAgZGFuY2UuIFRoYXQgY291bGQgbGVhZCB0byB2ZXJ5IHdyb25nIGJlaGF2aW91ciBpbiBzdWJjbGFzc2VzLgoKMjAxNC0wNy0xOCAxMzo1ODo1NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWVyeSBzZWVraW5nIHdoZW4gYSBzZWVrIGZhaWxlZCB0byBzZWUgaWYgaXQgd2FzIGV4cGVjdGVkCgkgIEFuZCBkbyBub3Qgd29ycnkgaWYgc2Vla2luZyBmYWlsZWQgb24gYSBzdHJlYW0gdGhhdCBpcyBub3Qgc2Vla2FibGUKCjIwMTQtMDctMTggMDE6NDE6MjYgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogc2V0IGZ1dHVyZSBzZXFudW0gYmVmb3JlIHByb3BhZ2F0aW5nIHRoZSBzZWVrIGV2ZW50LgoJICBTbyB0aGUgc2VxbnVtIGlzIHByb3Blcmx5IHNldCBmb3IgdGhlIGZvbGxvd2luZyBldmVudHMuCgoyMDE0LTA3LTA4IDE2OjE2OjU1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFN0b3JlIHNlZ21lbnQgd2hlbiBzZWVrZWQgaW4gUkVBRFkgZm9yIGxhdGVyIHVzZQoKMjAxNC0xMC0wNiAxNjo0NDo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NHBsdWdpbi5jOgoJICBvcGVuaDI2NDogVXNlIGEgTUFSR0lOQUwgcmFuayBmb3IgdGhlIGVuY29kZXIgYW5kIGRlY29kZXIKCSAgVGhleSB3b3JrIGJ1dCBmb3Igbm93IHdlIHByZWZlciBvdGhlcnMgdW50aWwgdGhlc2UgYXJlIGV4dGVuc2l2ZWx5IHRlc3RlZC4KCjIwMTQtMTAtMDEgMTA6NTc6MjYgKzAyMDAgIExpaHVhIExpdSA8bGlodWFsQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogRW1haWwgd2l0aCBtdWx0aXBhcnQgY29udGVudC10eXBlIHNob3VsZCBlbmQgd2l0aCBhIGZpbmFsIGJvdW5kYXJ5CgkgIEFkZCBmaW5hbCBib3VuZGFyeSBmb3IgZWFjaCBvZiB0aGUgc2VuZGluZyBvdXQgZW1haWxzIGZyb20gc210cHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMzQKCjIwMTQtMTAtMDYgMTE6NDQ6MTIgKzAxMDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZpZGVvcGFyc2VyOiBjb21tZW50IHVudXNlZCBHU1RfQkFTRV9QQVJTRV9GUkFNRV9GTEFHX1BBUlNJTkcKCSAgR1NUX0JBU0VfUEFSU0VfRlJBTUVfRkxBR19QQVJTSU5HIHZhbHVlIGlzIHdyb25nLCBhbmQgdGhlIHNhbWUgZmxhZyBpcwoJICBub3QgYmVpbmcgdXNlZCBwcmVzZW50bHkuIEhlbmNlIGNoYW5naW5nIHRoZSB2YWx1ZSBhbmQgY29tbWVudGluZyBpdCBvdXQuCgkgIFRoaXMgbmVlZHMgdG8gYmUgaW5jbHVkZWQgaW4gYmFzZXBhcnNlLmggbGF0ZXIgb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzQxMQoKMjAxNC0xMC0wNCAyMDo1NTowOCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogbWFrZSBkZW5vaXNlIHdvcmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzg5NAoKMjAxNC0xMC0wNiAxMDoxMTo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBVbm1hcCBhbmQgZnJlZSBHc3RWaWRlb0ZyYW1lcyBhcyBuZWVkZWQgYWZ0ZXIgY29udmVyc2lvbiBhbmQgZXJyb3JzCgoyMDE0LTEwLTA2IDEwOjExOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbnJlZiB0aGUgdGFnbGlzdCBpbiBHc3RBZ2dyZWdhdG9yOjpzdG9wKCkKCjIwMTQtMTAtMDMgMjA6NDI6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIERUTUIKCSAgUHJldmlvdXNseSBrbm93biBhcyBETUItVC9ILCB0aGlzIGlzIHRoZQoJICB0ZXJyZXN0aWFsIERUViBicm9hZGNhc3Qgc3RhbmRhcmQgY3VycmVudGx5CgkgIHVzZWQgYnkgdGhlIFBlb3BsZSdzIFJlcHVibGljIG9mIENoaW5hLAoJICBIb25nIEtvbmcsIExhb3MgYW5kIE1hY2F1IChvZmZpY2lhbGx5KSwKCSAgYW5kIGJ5IE1hbGF5c2lhLCBJcmFxLCBKb3JkYW4sIFN5cmlhIGFuZAoJICBMZWJhbm9uIChleHBlcmltZW50YWxseSkuCgoyMDE0LTEwLTAzIDIwOjIwOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIHN0YW5kYXJkIHRyYW5zbWlzc2lvbiBtb2RlcwoJICBUaGVzZSBhcHBseSB0byBJU0RCLVQsIERWQi1UMiBhbmQgRFRNQgoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyByYXRlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeS4KCjIwMTQtMTAtMDMgMjA6MDM6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRFRNQiBndWFyZCBpbnRlcnZhbHMKCjIwMTQtMTAtMDMgMTk6NTU6MDIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRFZCLVQyIGd1YXJkIGludGVydmFscwoJICBBY2NvcmRpbmcgdG8gdGhlIHY0bC1kdmIgQVBJIGRvY3MsIHRoZXNlIGFyZSBvbmx5CgkgIHVzZWQgZm9yIERWQi1UMiBhdCB0aGUgbW9tZW50LgoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyByYXRlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeS4KCjIwMTQtMTAtMDMgMTk6MjA6MDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogZml4IHR5cG8gaW4gR3N0TXBlZ3RzRXh0ZW5kZWRFdmVudERlc2NyaXB0b3IgZG9jCgoyMDE0LTEwLTAzIDE5OjA2OjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBfTVVUQUJMRV9QTEFZSU5HIHRvIHR1bmluZyBwcm9wcwoJICBUaGUgZWxlbWVudCBjYW4gKHJlKXR1bmUgd2hpbGUgcGxheWluZyBzbyBiYXNpY2FsbHkKCSAgZXZlcnkgcHJvcGVydHkgdXNlZCBhdCBzZXRfZmVfcGFyYW1zKCkgY2FuIGJlIHNldAoJICBpbiBzdGF0ZSA8PSBQTEFZSU5HLgoKMjAxNC0xMC0wMyAxNzoyMjoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBUaGUgY29kZWMgY2FuIG9ubHkgZG8gYmFzZWxpbmUgc28gc2ltcGxpZnkgdGhlIGNvZGUgYSBiaXQKCSAgYW5kIGRlY2xhcmUgdGhpcyBhbHNvIG9uIHRoZSBzcmNwYWQgY2Fwcy4KCSAgV2l0aCBiYXNlbGluZSBwcm9maWxlIHRoZXJlIGFyZSBubyBCLWZyYW1lcyBvciBmcmFtZSByZW9yZGVyaW5nLgoKMjAxNC0xMC0wMyAxNzoyMDoyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBPbiA6OmZpbmlzaCgpIHN0b3AgdHJ5aW5nIGlmIHRoZSBkZWNvZGVyIHJldHVybmVkIHRoYXQgbm8gb3V0cHV0IGlzIGF2YWlsYWJsZQoKMjAxNC0xMC0wMyAxMzo1NDoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NHBsdWdpbi5jOgoJICBvcGVuaDI2NDogUnVuIGdzdC1pbmRlbnQgb3ZlciBldmVyeXRoaW5nCgoyMDE0LTEwLTAzIDEzOjUyOjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L01ha2VmaWxlLmFtOgoJICBvcGVuaDI2NDogUmVtb3ZlIHVudXNlZCBjb2RlY3BhcnNlcnMgbGliCgoyMDE0LTEwLTAyIDE2OjQ2OjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IG1pc3NpbmcgQVBJIGluIG9wZW5oMjY0CgoyMDE0LTEwLTAyIDE2OjMzOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFRyeSB0byBoYW5kbGUgZnJhbWUgcmVvcmRlcmluZwoJICBBcyBvcGVuaDI2NCBoYXMgbm8gd2F5IHRvIGF0dGFjaCBhbnkgSURzIHRvIGlucHV0IGZyYW1lcyB0aGF0IHdlIHRoZW4gZ2V0IG9uCgkgIHRoZSBvdXRwdXQgZnJhbWVzLCB3ZSBoYXZlIHRvIGFzc3VtZSB0aGF0IHRoZSBpbnB1dCBoYXMgdmFsaWQgUFRTLiBXZSBqdXN0CgkgIHRha2UgdGhlIGZyYW1lIHdpdGggdGhlIG9sZGVzdCBQVFMsIGFuZCBpZiB0aGVyZSBpcyBubyBQVFMgaW5mb3JtYXRpb24gd2UgdGFrZQoJICB0aGUgb25lIHdpdGggdGhlIG9sZGVzdCBEVFMuCgoyMDE0LTEwLTAyIDE2OjIzOjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IERvbid0IGRyb3AgdmlkZW9jb2RlYyBmcmFtZXMgaWYgd2UgY2FuJ3QgZGVjb2RlIHRoZW0gKnlldCoKCSAgRml4ZXMgaml0dGVyeSBwbGF5YmFjayBvZiBzdHJlYW1zIHdpdGggQiBmcmFtZXMuCgoyMDE0LTEwLTAyIDE2OjIxOjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEdzdFZpZGVvRGVjb2RlciB3b3JrcyBvbiBmcmFtZXMsIG5vdCBzdWItZnJhbWVzIChlLmcuIE5BTHMpCgkgIEFuZCB3ZSBjYW4ganVzdCBwYXNzIGNvbXBsZXRlIEFVcyB0byB0aGUgZGVjb2RlciB3aXRob3V0IHByb2JsZW1zLgoKMjAxNC0xMC0wMiAxNjoxOTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBBcyB3ZSByZXF1aXJlIE5BTCBhbGlnbm1lbnQgZnJvbSB1cHN0cmVhbSB3ZSBkb24ndCBuZWVkIHRvIHBhcnNlIGFueXRoaW5nCgoyMDE0LTEwLTAyIDE1OjQ4OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFByb3Blcmx5IGRyYWluIGNvZGVjIG9uIDo6ZmluaXNoKCkKCjIwMTQtMTAtMDIgMTU6MjI6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogUHJvcGVybHkgZHJhaW4gdGhlIGVuY29kZXIgb24gOjpmaW5pc2goKQoKMjAxNC0xMC0wMiAxNDozNjo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBXZSBhbHdheXMgZ2V0IGEgc2luZ2xlIGZyYW1lIGFzIG91dHB1dCwgbm90IGEgTkFMCgkgIE5vIG5lZWQgdG8gYWNjdW11bGF0ZSBOQUxzLgoKMjAxNC0xMC0wMiAxNDoyMDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBGaXggdXAgY2FwcyBhbmQgc3RyaWRlIGhhbmRsaW5nCgoyMDE0LTEwLTAyIDE0OjE1OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEKCSAgVGhpcyB3aWxsIGFsbG93IHVwc3RyZWFtIGVsZW1lbnRzIHRvIHdvcmsgbW9yZSBlZmZpY2llbnRseS4KCjIwMTQtMTAtMDIgMTQ6MTI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvTWV0YQoJICBUaGlzIHdpbGwgbWFrZSBvcGVyYXRpb24gd2l0aCB2YXJpb3VzIHNpbmtzIGZhc3RlciBmb3IgZnJlZS4KCjIwMTQtMTAtMDIgMTQ6MDg6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogT3B0aW1pemUgZnJhbWUgY29weWluZyBhIGJpdAoKMjAxNC0xMC0wMiAxNDowNjo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBEb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIGlucHV0IHN0YXRlCgoyMDE0LTEwLTAyIDE0OjAzOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEZpeCB2YXJpb3VzIGNyYXNoZXMgb24gOjpzdG9wKCkKCjIwMTQtMTAtMDIgMTQ6MDA6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogUmVtb3ZlIGludmFsaWQgc3Byb3BzLXBhcmFtZXRlci1zZXQgaGFuZGxpbmcKCSAgVGhpcyBvbmx5IGV4aXN0cyBvbiBSVFAgY2Fwcywgbm90IEgyNjQgY2Fwcy4KCjIwMTQtMTAtMDIgMTM6NTM6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogRG9uJ3Qgc2V0IGNhcHMgbWFudWFsbHkKCSAgVGhpcyB3aWxsIGJyZWFrIHRoZSBvcmRlciBvZiBldmVudHMgaW4gR1N0cmVhbWVyLgoKMjAxNC0xMC0wMiAxMzo0OToxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBGaXggaW5wdXQgc3RhdGUgaGFuZGxpbmcgYW5kIHByb3BhZ2F0aW9uIG9mIHVwc3RyZWFtIGNhcHMgZmllbGRzCgoyMDE0LTEwLTAzIDEzOjQ1OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuaDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmg6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSAgb3BlbmgyNjQ6IEFkZCBPcGVuSDI2NCBiYXNlZCBlbmNvZGVyL2RlY29kZXIgZWxlbWVudHMKCSAgVGhlc2UgYXJlIHRoZSBvcGVuaDI2NCBlbGVtZW50cyByZWxlYXNlZCB1bmRlciB0aGUgQlNELTIgbGljZW5zZQoJICBieSBFcmljc3NvbiBhcyBwYXJ0IG9mIHRoZSBPcGVuV2ViUlRDIHByb2plY3QuCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9Fcmljc3NvblJlc2VhcmNoL29wZW53ZWJydGMtZ3N0LXBsdWdpbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc4OAoKMjAxNC0wOS0xOCAxNzoxNDoyMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvIG5vdCB0byByZWxlYXNlIFZJREVPX0FHR1JFR0FUT1JfTE9DSyB3aGlsZSBzZXR0aW5nIGZvcm1hdCBpbmZvCgkgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGFsd2F5cyBrZWVwIHRoZSBWSURFT19BR0dSRUdBVE9SX0xPQ0sgd2hpbGUKCSAgbmVnb3RpYXRpbmcgY2FwcywgdGhpcyBwYXRjaCBpbnRyb2R1Y2UgdGhhdCBjaGFuZ2UuCgkgIFRoYXQgYWxzbyBpbXBsaWVzIHRoYXQgd2UgZG8gbm90IG5lZWQgdGhlIFNFVENBUFNfTE9DSyBhbnltb3JlIGJlY2F1c2UKCSAgbm93IFZJREVPX0FHR1JFR0FUT1JfTE9DSyBndWFyYW50ZWVzIHRoYXQgc2V0Y2FwcyBpcyBub3QgY2FsbGVkIGZyb20KCSAgc2V2ZXJhbCB0aHJlYWRzIGFuZCB0aGUgZ3N0X2FnZ3JlZ2F0b3Jfc2V0X2NhcHMgbWV0aG9kIGlzIG5vdwoJICBwcm90ZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwNDIKCjIwMTQtMTAtMDMgMTI6MzQ6MTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVGFrZSBsb2NrIHRvIGVuc3VyZSBzZXRfY2FwcyBpcyBub3QgY2FsbGVkIGNvbmN1cmVudGx5CgkgIEF2b2lkaW5nIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZSB3aGVyZSB3ZSBkbyBub3QgaGF2ZQoJICBhY3R1YWwgbmVnb3RpYXRlIGNhcHMgc2V0IGFzIHNyY2NhcHMgYW5kIGxlYWRpbmcgdG8gcG9pbnQgd2hlcmUgd2UKCSAgdHJ5IHRvIHVucmVmIC0+c3JjY2FwcyB3aGVuIHRoZXkgaGF2ZSBhbHJlYWR5IGJlZW4gc2V0IHRvIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwNDIKCjIwMTQtMDktMjkgMTA6MTU6MzkgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgZ3N0OiByZW1vdmUgdW5uZWNlc3NhcnkgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFRoZXJlIGFyZSB1bm5lY2Vzc2FyeSBkZWZpbml0aW9ucyBmb3IgZGlzYWJsaW5nIGRlcHJlY2F0aW9uIHdhcm5pbmdzLgoJICBTaW5jZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MgaXMgbm90IG5lZWRlZCBhbnltb3JlIGluIHRoZXNlIGZpbGVzLAoJICByZW1vdmluZyB0aGUgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU1OQoKMjAxNC0xMC0wMSAxNjoxOTowMiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHVucmVmIGNhcHMgd2hlbiBpdCBpcyBlbXB0eSBpbiByZW5lZ290aWF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MjQKCjIwMTQtMTAtMDIgMTA6MjY6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgc2l6ZSBmb3IgQ09MT1JfRm9ybWF0WVVWNDIwUGxhbmFyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQxNTYKCjIwMTQtMTAtMDEgMTc6MjI6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWxzbyBjb3B5IG92ZXIgdGhlIGNocm9tYSBzaXRpbmcgYW5kIGNvbG9yaW1ldHJ5IHdoZW4gZGVjaWRpbmcgb24gYSBjb252ZXJzaW9uCgoyMDE0LTEwLTAxIDE3OjE4OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJldmVydCB0aGUgbGFzdCBjb21taXQgYW5kIGhhbmRsZSByZXNvbHV0aW9ucyBkaWZmZXJlbmNlcyBwcm9wZXJseQoJICBUaGlzIGlzIGFib3V0IGNvbnZlcnRpbmcgdGhlIGZvcm1hdCwgbm90IGFib3V0IGNvbnZlcnRpbmcgYW55IHdpZHRocyBhbmQKCSAgaGVpZ2h0cy4gU3ViY2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gaGFuZGxlciBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgdGhlbXNlbHZlcywKCSAgbGlrZSB0aGUgdmlkZW9taXhlcnMgYWxyZWFkeSBkbyBwcm9wZXJseS4KCjIwMTQtMTAtMDEgMTc6MTE6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogR3N0VmlkZW9Db252ZXJ0ZXIgY3VycmVudGx5IGNhbid0IHJlc2NhbGUgYW5kIHdpbGwgYXNzZXJ0CgkgIExlYWRzIHRvIHVnbHkgYXNzZXJ0aW9ucyBpbnN0ZWFkIG9mIHByb3Blcmx5IGVycm9yaW5nIG91dDoKCSAgQ1JJVElDQUwgKio6IGdzdF92aWRlb19jb252ZXJ0ZXJfbmV3OiBhc3NlcnRpb24gJ2luX2luZm8tPndpZHRoID09IG91dF9pbmZvLT53aWR0aCcgZmFpbGVkCgoyMDE0LTEwLTAxIDE2OjA0OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBBbHdheXMgdXBkYXRlIG91ciB2aWV3cG9ydCBpZiBDb2NvYSB0ZWxscyB1cyBzb21ldGhpbmcgaGFzIGNoYW5nZWQKCSAgVGhlIHZpc2libGUgcmVjdCBhbmQgYm91bmRzIG1pZ2h0IGJlIHRoZSBzYW1lIGFzIGJlZm9yZSwgYnV0IENvY29hCgkgIG1pZ2h0J3ZlIGNoYW5nZWQgb3VyIHZpZXdwb3J0IHdpdGhvdXQgdXMgbm90aGluZy4gVGhpcyBoYXBwZW5zIGlmCgkgIHlvdSBoaWRlIHRoZSB2aWV3IGFuZCBzaG93IGl0IGFnYWluLgoKMjAxNC0xMC0wMSAxMTo1NToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogSGFuZGxlIE5TVmlldzo6cmVuZXdHU3RhdGUoKSBwcm9wZXJseQoJICBEb24ndCB1cGRhdGUgdGhlIHNjcmVlbiB1bnRpbCB3ZSByZWRyYXcsIHRoaXMgcHJldmVudHMgZmxpY2tlcmluZyBkdXJpbmcKCSAgc2Nyb2xsaW5nLCBjbGlwcGluZywgcmVzaXppbmcsIGV0YwoKMjAxNC0xMC0wMSAwMDo1Mzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBkb24ndCBjcmFzaCBvbiAwLXNpemVkIGlucHV0IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzY1OAoKMjAxNC0wOS0zMCAxNDo1ODowNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbHRyYW5zZm9ybWF0aW9uOiByZXF1aXJlcyBncmFwaGVuZSAxLjAuMAoKMjAxNC0wOS0yNSAxNzowMTozMSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZ3JhcGhlbmUgbXVsdGlwbGljYXRpb24gb3JkZXIgaGFzIGNoYW5nZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzUxMAoKMjAxNC0wOS0zMCAyMDozOTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHVwZGF0ZSBlbGVtZW50IGRvY3VtZW50YXRpb24KCjIwMTQtMDktMzAgMTg6MjY6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgdGVzdHMvZ2xjb2xvcmNvbnZlcnQ6IGRvIHJlb3JkZXIgY2hlY2tpbmcgZm9yIHJnYmEgZm9ybWF0cwoKMjAxNC0wOS0zMCAxNDo0NjoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBjb252ZXJ0IHhSR0IgaW50byBBUkdCIHByb3Blcmx5CgkgIFRoZSBhbHBoYSBjaGFubmVsIG1pZ2h0IG5vdCBiZSB0aGUgbGFzdCBjb21wb25lbnQgc28gY2hlY2sgd2hpY2ggb25lCgkgIGl0IGlzIGluIGFuZCBjbG9iYmVyIHRoYXQgb25lIGluc3RlYWQuCgoyMDE0LTA5LTMwIDAxOjQ1OjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIHRlc3RzL2dsbWVtb3J5OiBhZGQgc2ltcGxlIHRyYW5zZmVyIHRlc3QKCSAgdGVzdHMgdHJhbnNmZXJyaW5nIHRvL2Zyb20gdGhlIEdMIHdpdGggYSAxeDEgUkdCQSBwaXhlbC4KCjIwMTQtMDktMzAgMDE6Mzg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdW5zZXQgdGhlIG9wcG9zaXRlIGNvcnJlc3BvbmRpbmcgdHJhbnNmZXIgZmxhZ3Mgd2hlbiBtYXBwZWQgd2l0aCB3cml0ZQoJICBmaXhlcyBjb25zaXN0ZW5jeSB3aXRoIGNvbnNlY3V0aXZlIGdzdF9tZW1vcnlfbWFwKCkncyB3aXRoCgkgIGZsYWdzICYgR1NUX01BUF9XUklURQoKMjAxNC0wOS0yOSAwOTozMzo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogVXBkYXRlIHZpZXdwb3J0IGFjY29yZGluZyB0byB0aGUgY3VycmVudCBjbGlwcGluZwoJICBXZSBoYXZlIHRvIHVwZGF0ZSB0aGUgR0wgdmlld3BvcnQgaWYgdGhlIE5TVmlldyBpcyBvbmx5IHBhcnRpYWxseQoJICB2aXNpYmxlLiBPdGhlcndpc2UgdGhlIGNvbnRlbnQgb2YgdGhlIGZyYW1lIHdpbGwgYmUgdmlzaWJseSBvZmZzZXQuCgoyMDE0LTA5LTI5IDEwOjAxOjI3ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IGRpc2NhcmQgb24gZGlzY29udCBpZiBQRVMgc3RhcnQKCSAgSWYgYSBkaXNjb250aW51aXR5IGluIHRoZSBzdHJlYW0gaXMgZGV0ZWN0ZWQsIGRhdGEgaXMgZGlzY2FyZGVkIHVudGlsCgkgIGEgbmV3IFBFUyBzdGFydHMuIElmIHRoZSBmaXJzdCBwYWNrZXQgYWZ0ZXIgdGhlIGRpc2NvbnRpbnVpdHkgaXMgYWxzbwoJICB0aGUgc3RhcnQgb2YgYSBQRVMsIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBkaXNjYXJkIHRoZSBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTY5CgoyMDE0LTA3LTMxIDIyOjU3OjQwICswMTAwICBEYXZpZCBXYXJpbmcgPGRhdmlkandAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBVc2UgR3N0VXJpIHRvIGpvaW4gVVJJcwoKMjAxNC0wOS0yOSAxMDo0OTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IEltcHJvdmUgdGhlIE5TQXBwbGljYXRpb24gaW5pdGlhbGl6YXRpb24KCSAgVGhpcyBpcyBvbmx5IGZvciBub24tQ29jb2EgYXBwcyBidXQgcHJldmlvdXNseSBjYXVzZWQgYSAyIHNlY29uZAoJICB3YWl0aW5nIGR1cmluZyBzdGFydHVwIGZvciBDb2NvYSBhcHBzLiBUaGlzIGlzIHVuYWNjZXB0YWJsZS4KCSAgSW5zdGVhZCB3ZSBub3cgY2hlY2sgYSBiaXQgbW9yZSBleHRlbnNpdmUgaWYgc29tZXRoaW5nIGFjdHVhbGx5CgkgIHJ1bnMgb24gdGhlIEdMaWIgZGVmYXVsdCBtYWluIGNvbnRleHQsIGFuZCBpZiBub3QgZG9uJ3QgZXZlbgoJICBib3RoZXIgd2FpdGluZyBmb3Igc29tZXRoaW5nIHRvIGhhcHBlbiBmcm9tIHRoZXJlLgoKMjAxNC0wOS0yOSAwOToyNDo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogTlNWaWV3OjpkcmF3UmVjdCgpIHNob3VsZCBjYWxsIGludG8gcmVzaGFwZSB0b28KCSAgV2UgYSkgbmVlZCB0byByZW5kZXIgYWdhaW4gYmVjYXVzZSBwYXJ0IG9mIHRoZSB3aW5kb3cgd2FzCgkgIG9ic2N1cmVkIGFuZCBiKSBtaWdodCBuZWVkIHRvIHJlc2hhcGUgYmVjYXVzZSBvZiBjbGlwcGluZwoJICBjaGFuZ2VzLgoKMjAxNC0wOS0yNiAxNDoyMTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBDYWxsIFVJIHJlbGF0ZWQgQVBJIGZyb20gdGhlIGFwcGxpY2F0aW9uIG1haW4gdGhyZWFkCgoyMDE0LTA5LTI2IDEzOjA1OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IFN3aXRjaCB0byBhIHBsYWluIE5TVmlldyBzdWJjbGFzcyBpbnN0ZWFkIG9mIE5TT3BlbkdMVmlldwoJICBXZSBkb24ndCBhbmQgY2FuJ3QgdXNlIE5TT3BlbkdMVmlldyBhcyBpdCdzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYW5kCgkgIGl0IGdldHMgaW50byBvdXIgd2F5IGJ5IGJlaW5nIHRvIGNsZXZlciBpbiB2YXJpb3VzIHNpdHVhdGlvbnMuCgoyMDE0LTA5LTI5IDA4OjU0OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEluaXRpYWxpemUgdmFyaWFibGUKCSAgQXZvaWRzIHRoZSBmb2xsb3dpbmcgd2FybmluZzoKCSAgZ3N0Z2xjb250ZXh0LmM6NjQ3OjU4OiBlcnJvcjogJ3ByZXYnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4KCSAgdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoKMjAxNC0wOS0yOCAxODowMzowOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICB2aWRlbzogZml4IGJ1aWxkIGluIGdzdC11bmluc3RhbGxlZCBzZXR1cAoJICBJbmNsdWRlIHRoZSBiYXNlIHZpZGVvIGxpYiBhcHByb3ByaWF0ZWx5IGFuZCByZXNvcnQgYWxsIG9mIHRoZW0gYXMKCSAgdGhheXRhbiBzdWdnZXN0ZWQuCgoyMDE0LTA5LTI5IDAwOjIzOjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJICBleGFtcGxlczogRml4IFF0L0dMIHFnbHd0ZXh0dXJlc2hhcmUgZXhhbXBsZSBmb3IgWDExCgkgIFdlIG5lZWQgdG8gcGFzcyB0aGUgWDExIGRpc3BsYXkgdG8gR3N0R0wgb3IgZWxzZSBpdCB3aWxsCgkgIHVzZSBpdHMgb3duIFgxMSBEaXNwbGF5IHBvaW50ZXIsIGFuZCB0aGUgR0wgQ29udGV4dCB3b24ndCBnZXQgc2hhcmVkCgkgIGNvcnJlY3RseSBvbiBuZXdlciBYIHNlcnZlcnMKCjIwMTQtMDktMjggMjA6MjE6NTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9EZWJ1Zy92aWRlb292ZXJsYXk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkucHJvOgoJICBleGFtcGxlczogcG9ydCBHTC9RdCBleGFtcGxlcyB0byBRdDUKCSAgVXBkYXRlIHRoZSBHTCBRdCBpbnRlZ3JhdGlvbiBleGFtcGxlcyBmb3IgUXQ1IGNoYW5nZXMgYW5kIGZvciBHc3RHTAoJICBzaWduYWwgc2lnbmF0dXJlIGNoYW5nZXMuCgoyMDE0LTA5LTI5IDAwOjMyOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4dXAgZXJyb3IgaW4gc2hhcmVncm91cCBjb21tZW50CgoyMDE0LTA5LTI5IDAwOjI3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgUmV2ZXJ0IGFjY2lkZW50YWwgcHVzaDogImdsdGVzdHNyYzogaW1wbGVtZW50IGNoZWNrZXJzIHBhdHRlcm4gd2l0aCBHTFNMIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGVhZTA5MTc5ZjBiNGViNTg0YzhmYzdiNjU2MGQ4ZmM4ZTg2ZWVkNGMuCgoyMDE0LTA5LTI5IDAwOjI0OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZGV0ZWN0IHRoZSBzaGFyZWdyb3VwIGNhc2Ugd2hlcmUgdGhlIGNvbnRleHQgYXJlIGluIGRpZmZlcmVudCBjaGFpbnMKCSAgSW4gdGhlIGVuZCB0aGV5IHdpbGwgbGVhZCB0byB0aGUgc2FtZSByb290IGNvbnRleHQgaW4gdGhlIHRyZWUgc28gY2hlY2sgdGhhdAoJICBmb3IgZXF1YWxpdHkuCgoyMDE0LTA5LTI4IDEwOjUxOjA5ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IGNoZWNrZXJzIHBhdHRlcm4gd2l0aCBHTFNMCgoyMDE0LTA5LTI4IDIxOjE4OjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHNpbGVuY2UgYSB3YXJuaW5nIHdpdGggZW1wdHkgaW5wdXQgY2FwcwoJICBkaXNjb3ZlcmVkIHdpdGggdGhlIGRvdWJsZWN1YmUgZXhhbXBsZQoJICBnc3RfY2Fwc19nZXRfZmVhdHVyZXM6IGFzc2VydGlvbiAnaW5kZXggPCBHU1RfQ0FQU19MRU4gKGNhcHMpJyBmYWlsZWQKCjIwMTQtMDktMjggMjA6Mzc6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZXhhbXBsZXMvZ2w6IHVwZGF0ZSBmb3Igc2lnbmFsIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTQtMDktMjggMTY6NTg6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBjcmVhdGUgY29udmVydGVycyB3aGVuIHRoZSBzdWJjbGFzcyBkb2Vzbid0IHdhbnQgdGhlbQoJICBmaXhlcyBhIGNyaXRpY2FsIHdpdGggZ2x2aWRlb21peGVyIGFmdGVyCgkgIDM1YmQxOTY5ZjkxMmNlY2RhMGZiNWRmOTU5NWEwMDVlNmRkZjRlN2EKCSAgQ1JJVElDQUwgKio6IGdzdF92aWRlb19jb252ZXJ0ZXJfbmV3OiBhc3NlcnRpb24gJ2luX2luZm8tPndpZHRoID09IG91dF9pbmZvLT53aWR0aCcgZmFpbGVkCgoyMDE0LTA5LTI2IDIyOjI5OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogZml4IHplcm8gb3V0cHV0IGZyYW1lcyB3aXRoIFlVWTIvVVlWWQoJICBhbHNvLCBiZSBuaWNlIGFuZCBkaXNhYmxlIGJsZW5kaW5nIGZvciBvdGhlciBlbGVtZW50cwoKMjAxNC0wOS0yNiAyMjoyMjowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IHByb3RlY3QgZGVza3RvcCBnbCBzcGVjaWZpYyB0b2tlbnMgd2l0aCAjaWYKCjIwMTQtMDktMjYgMTI6Mjg6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBmcmVlIHRoZSBpbWFnZSBtZW1vcnkgZXZlcnkgdGltZSB0aGUgbG9jYXRpb24gY2hhbmdlcwoJICBmaXhlcyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA5LTI1IDIwOjQ4OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbG92ZXJsYXk6IEluY2x1ZGUgaW50byB0aGUgYnVpbGQgd2l0aCBHTEVTMiBvbmx5IHRvbwoKMjAxNC0wOS0yNiAwMTo0NToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGZyZWUgdGhlIHNoYWRlciBvbiBzdG9wCgoyMDE0LTA5LTI2IDAxOjM0OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZml4IGJsZW5kaW5nIHdpdGggbG93LWFscGhhIHNvdXJjZXMKCSAgV2UgYWxzbyBuZWVkIHRvIGFwcGx5IHRoZSBibGVuZCBwYXJhbWF0ZXJzIHRvIHRoZSBhbHBoYSBjaGFubmVsIG90aGVyd2lzZQoJICB0aGUgb3V0cHV0IG9mIHRoZSBibGVuZCB3aWxsIGFwcGVhciBibGFjayBhdCBsb3cgYWxwaGEgdmFsdWVzICg8IDAuMikuCgoyMDE0LTA5LTI2IDAxOjE0OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbG92ZXJsYXk6IHJlaW1wbGVtZW50IGV2ZXJ5dGhpbmcKCSAgLSB1cGRhdGUgZm9yIHNoYWRlcnMKCSAgLSBhZGQgYWxwaGEgcHJvcGVydHkKCSAgLSBpbWFnZSBwbGFjZW1lbnQgcHJvcGVydGllcyBzaGFtZWxlc3NseSBib3Jyb3dlZCBmcm9tIGdka3BpeGJ1Zm92ZXJsYXkKCSAgLSBpbWFnZSBwbGFjZW1lbnQgcHJvcGVydGllcyBhcmUgR3N0Q29udHJvbGxlciBhYmxlCgkgIC0gdXNlIEdzdEdMTWVtb3J5IGZvciB0aGUgb3ZlcmxheSBpbWFnZSBkYXRhCgkgIC0gYWRkIHN1cHBvcnQgZm9yIGdsZXMyCgoyMDE0LTA5LTI1IDE2OjA0OjMzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBzdHlsZTogcmVtb3ZlIHVubmVjZXNzYXJ5IGJyZWFrIHN0YXRlbWVudHMKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlc2UgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG9zIHByZWNlZGluZwoJICB0aGVtLiBTbyB0aGUgYnJlYWtzIGFyZSB1bm5lY2Vzc2FyeSwgYXMgZGlzY3Vzc2VkIGluIGJ1ZyA3MzY5NDIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzczNzAKCjIwMTQtMDktMjUgMTU6NDU6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBicmVhayBzdGF0ZW1lbnQgdW5uZWNlc3NhcnkKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvJ3MuIFNvIHRoZQoJICBicmVha3MgYXJlIHVubmVjZXNzYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTQyCgoyMDE0LTA5LTI1IDE2OjEzOjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBTd2l0Y2ggZnJvbSBvdXIgY3VzdG9tIG1haW4gbG9vcCB0byBhIEdNYWluTG9vcAoJICBTaW1wbGlmaWVzIGNvZGUgYSBsb3QgYW5kIG1ha2VzIGl0IG1vcmUgc2ltaWxhciB0byB0aGUgb3RoZXIgYmFja2VuZHMuCgoyMDE0LTA5LTI1IDE2OjEyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogQ2xlYXIgdGhlIGN1cnJlbnQgR0wgY29udGV4dCB3aGVuIGl0IHNob3VsZCBoYXBwZW4KCjIwMTQtMDktMjQgMTI6NDI6MjMgKzAyMDAgIExpaHVhIExpdSA8bGlodWFsQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogRW1haWwgd2l0aCBtdWx0aXBhcnQgY29udGVudC10eXBlIHNob3VsZCBlbmQgd2l0aCBhIGZpbmFsIGJvdW5kYXJ5CgkgIEFkZCBmaW5hbCBib3VuZGFyeSBmb3IgZWFjaCBvZiB0aGUgc2VuZGluZyBvdXQgZW1haWxzIGZyb20gc210cHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMzQKCjIwMTQtMDktMjUgMTA6MTQ6NDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmwqc2luazogYWRkIG1vcmUgbG9nZ2luZwoKMjAxNC0wOS0yNSAwODowNTo1MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IGFkZCBhIGRlYnVnIGZ1bmN0aW9uCgkgIElmIGdzdHJlYW1lciBpcyBidWlsZCB3aXRoIGxvZ2dpbmcgZW5hYmxlZCwgYWRkIGEgZGVidWcgZnVuY3Rpb24gYW5kIG91dHB1dAoJICB2ZXJib3NlIG1lc3NhZ2VzIHRvIHRoZSBsb2cgaW5zdGVhZCBvZiBzdGRlcnIuCgoyMDE0LTA5LTI0IDIyOjI0OjQ5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmxodHRwc2luazogb25seSBhZGQgY29udGVudC1kaXNwb3NpdGlvbiBoZWFkZXIgaWYgYSBmaWxlbmFtZSBpcyBzZXQKCSAgVGhlIGhlYWRlciBpcyBvcHRpb25hbCBhbmQgdGhlcmVmb3JlIHdlIGJldHRlciBvbWl0IGl0IGlmIHdlIGRvbid0IGhhdmUgYSBmaWxlbmFtZS4KCjIwMTQtMDktMjQgMjI6MDY6MjEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBkb24ndCByZXBsYWNlIHNwZWNpZmljIGVycm9yIG1lc3NhZ2VzIHdpdGggYSBnZW5lcmljIG9uZQoJICBPbmx5IHNldCBhbiBlcnJvciBpZiB3ZSBoYXZlbid0IHNldCBvbmUgYWxyZWFkeS4KCjIwMTQtMDktMjQgMjE6MDc6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsdGxzc2luazogc3dhcCBjaGVjawoJICBMZXRzIGNoZWNrIGZvciBOVUxMIGZpcnN0LCBhcyB0aGF0IGlzIHRoZSBkZWZhdWx0IGFueXdheS4KCjIwMTQtMDctMjkgMTY6MTI6MjYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUmV0dXJuIGZsdXNoaW5nIGlmIHdlIGdldCBjaGFpbmVkIHdoaWxlIGJlaW5nIHNldCB0byBSRUFEWQoJICBPciBub3QgbmVnb3RpYXRlZCBpbiB0aGUgY2FzZSB3ZSB3b3VsZCBiZSBhY3R1YWxseSBub3QgbmVnb3RpYXRlZAoJICBDdXJyZW50bHkgd2UgYXJlIGdldHRpbmcgYXNzZXJ0aW9ucyBmcm9tCgkgIGdzdF9wYl91dGlsc19hZGRfY29kZWNfZGVzY3JpcHRpb25fdG9fdGFnX2xpc3QgYmVjYXVzZSBvZiBOVUxMCgkgIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxODYKCjIwMTQtMDktMDkgMTM6MTI6MzEgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbWFyayBmaXJzdCBidWZmZXIgYXMgZGlzY29udCBhZnRlciByZXN0YXJ0aW5nIGEgZG93bmxvYWQgdGFzawoJICBNYXJrIGZpcnN0IGJ1ZmZlciBhcyBkaXNjb250IGFmdGVyIHJlc3RhcnRpbmcgYSBkb3dubG9hZCB0YXNrLCBzbwoJICBkb3duc3RyZWFtIGNhbiByZXNldCBpdHMgc3RhdGUgdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBuZXcgZnJhZ21lbnQuCgkgIFJlbGF0ZWQgaXNzdWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzMTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjMxOQoKMjAxNC0wOS0xOSAyMjozMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHVzaCBhIHRpbWUgc2VnbWVudCB3aGVuIHJlc3RhcnRpbmcgc3RyZWFtaW5nCgkgIFRoaXMgc2hvdWxkIGluZm9ybSBkZW11eGVycy9kZWNvZGVycyBkb3duc3RyZWFtIHRoYXQgdGhlIHN0cmVhbSBpcwoJICBhYm91dCB0byBzdGFydCBmcm9tIGEgbmV3IHBvc2l0aW9uIGFuZCB0aGV5IHNob3VsZCBmbHVzaCBhY2NvcmRpbmdseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzE5CgoyMDE0LTA5LTI0IDE2OjU1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLm9yYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0Lmg6CgkgIHZpZGVvOiB1c2UgdmlkZW8gbGliIGNvbnZlcnNpb24gY29kZSBpbnN0ZWFkIG9mIGNvcHkKCjIwMTQtMDktMTggMTc6MjY6MzcgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogYnJlYWsgc3RhdGVtZW50IHVubmVjZXNzYXJ5CgkgIE9uZSBtb3JlIGNvZGUgZmxvdyBpc3N1ZSB3aGVyZSBpdCBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnQgZHVlIHRvCgkgIHRoZSBnb3RvLiBTbyB0aGUgYnJlYWsgaXMgdW5uZWNlc3NhcnkuCgkgIFBsdXMgdHdvIGNvZGluZyBzdHlsZSBmaXhlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5NQoKMjAxNC0wOS0yNCAyMjo0Mjo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBUcmFuc2ZlciB0aW1lc3RhbXBzIHRvIG91dHB1dCBidWZmZXJzCgkgIEFsbG93cyB1c2luZyBjaG9wbXlkYXRhIGFzIGEgc2ltcGxlIHJlcGFja2V0aXplcgoKMjAxNC0wOS0xOSAwOTo1MTo0OCArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogYnJlYWsgc3RhdGVtZW50cyB1bm5lY2Vzc2FyeQoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG8ncy4gU28gdGhlCgkgIGJyZWFrcyBhcmUgdW5lY2Vzc2FyeS4gU2Vjb25kIHBhcnQgdG8gY29tbWl0IGEzOTU4YWU2NWIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk0MAoKMjAxNC0wOS0xOSAwOTo1OTo0MSArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogYnJlYWsgc3RhdGVtZW50IHVubmVjZXNzYXJ5CgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290bydzLiBTbyB0aGUKCSAgYnJlYWtzIGFyZSB1bmVjZXNzYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTQyCgoyMDE0LTA5LTE4IDE2OjEzOjU4IC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBhdm9pZCBlcnJvciB3aGVuIHNldF9jYXBzIGNhbGxlZCB0d2ljZQoJICBJZiBzZXRfY2FwcyBpcyBjYWxsZWQgaW4gYSBydW5uaW5nIHN0YXRlLCByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhlIGNhcHMKCSAgaGF2ZW4ndCBjaGFuZ2VkLiBJZiB0aGUgcGlucyBhcmUgYWxyZWFkeSBjb25uZWN0ZWQsIGRpc2Nvbm5lY3QgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkyNgoKMjAxNC0wOS0yNCAxNDoyOTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHNraXAgaW5wdXQgZnJhbWVzIHdpdGggYW4gYWxwaGEgb2YgMAoKMjAxNC0wOS0yNCAxMzoxMzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGRvd25sb2FkIHdoZW5ldmVyIHdlIGhhdmUgc3lzbWVtIGNhcHNmZWF0dXJlcwoJICBPdGhlcndpc2Ugd2UgY291bGQgcGFzcyBvbiBhIFJHQkEgZm9ybWF0dGVkIGJ1ZmZlciBhbmQgZG93bnN0cmVhbSB3b3VsZAoJICBtaXNpbnRlcnByZXQgdGhhdCBhcyBzb21lIG90aGVyIHZpZGVvIGZvcm1hdC4KCSAgRml4ZXMgcGlwZWxpbmVzIG9mIHRoZSBmb3JtCgkgIGdsZWZmZWN0cyAhIHRlZSAhIHh2aW1hZ2VzaW5rCgoyMDE0LTA5LTE5IDAxOjIyOjE0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSAgZ3NldHRpbmdzOiBGaXggdHlwbyBpbiBkZXNjcmlwdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTMzCgoyMDE0LTA5LTIzIDE3OjMyOjU5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg6IHJlZmFjdG9yIGR1cGxpY2F0ZSBlbHNlIGJyYW5jaGVzCgkgIFVua25vd24gY2FzZSBzaG91bGQgYXNzZXJ0IGlmIHJlYWNoZWQgaW5zdGVhZCBvZiBqdXN0IGFzc3VtaW5nIHRoZSBtYXggYnVmZmVyCgkgIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0NjAKCjIwMTQtMDktMTkgMDk6NTQ6MTEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBpbml0aWFsaXplIHNlbnRfY29kZWNfdGFnIGJlZm9yZSB1c2luZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTUxCgoyMDE0LTA5LTIyIDE3OjE0OjI5ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSAgdmlkZW9maWx0ZXJzOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSBZVVYgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTExCgoyMDE0LTA4LTIxIDAyOjE0OjQwICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBhZGQgTWFuZGVsYnJvdCBmcmFjdGFsIHBhdHRlcm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMzEKCjIwMTQtMDgtMjEgMDI6MTM6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgc25vdyBwYXR0ZXJuIHdpdGggR0xTTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTEzMQoKMjAxNC0wOS0yMyAxMjowMjoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZhbGxiYWNrIHRvIHVwbG9hZCBpZiBjb250ZXh0cyBjYW5ub3Qgc2hhcmUgR0wgcmVzb3VyY2VzCgkgIEZpeGVzIHBpcGVsaW5lcyBvZiB0aGUgZm9ybQoJICBnbGVmZmVjdHMgISB0ZWUgISBnbGltYWdlc2luawoJICBhcyB0ZWUgZG9lcyBub3QgcGFzcyBvbiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTQtMDktMjMgMTI6MDE6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGdzdF9nbF9jb250ZXh0X2Nhbl9zaGFyZQoJICBXaGljaCBkZXRlcm1pbmVzIHdoZXRoZXIgdHdvIEdzdEdMQ29udGV4dCdzIGNhbiBzaGFyZSBzaGFyYWJsZQoJICBPcGVuR0wgcmVzb3VyY2VzLgoKMjAxNC0wOS0yMiAyMDowMToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZm9yIHVwbG9hZCBBUEkgY2hhbmdlcwoKMjAxNC0wOS0yMiAxMDowODoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IExldCBnc3RfZ2xfY29udGV4dF9nZXRfdGhyZWFkKCkgcmV0dXJuIGEgbmV3IHJlZmVyZW5jZSB0byB0aGUgR1RocmVhZAoJICBPdGhlcndpc2UgaXQgbWlnaHQgZ28gYXdheSBpbiB0aGUgbWVhbnRpbWUgYW5kIHRoZSBjYWxsZXIgaGFzIHNvbWUgcmFuZG9tIHBvaW50ZXIuCgoyMDE0LTA5LTIyIDExOjEwOjQyICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogY29uc2VjdXRpdmUgcmV0dXJuLCBicmVhayBzdGF0ZW1lbnQKCSAgU2lnbmVkLW9mZi1ieTogQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MzkKCjIwMTQtMDktMjIgMTI6MjE6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJICBnbC9kZWJ1ZzogZGVza3RvcCBHTCBkb2VzIG5vdCBoYXZlIHRoZSBLSFIgc3VmZml4ZXMKCjIwMTQtMDktMjIgMTE6NTk6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZXhhbXBsZXMvZ2wvZ3RrOiB1c2UgdGhlIHN5bmMgYnVzIGNhbGxiYWNrIHRvIHNldCB0aGUgd2luZG93IGhhbmRsZQoJICBBbmQgb3V0cHV0IGVycm9yIG1lc3NhZ2VzLgoKMjAxNC0wOS0xOSAxODo1OTowMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBGRUMgcmF0ZXMKCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgcmF0ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kuCgoyMDE0LTA5LTIxIDEzOjMyOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogYWRkIHNpbmNlIG1hcmtlcnMgZm9yIG5ldyBBUEkKCjIwMTQtMDktMjEgMjE6NDI6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgZGVidWcgbGluZSBmb3IgZnJlZWluZyB0ZXh0dXJlcwoKMjAxNC0wOS0yMSAyMTozNjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsdXBsb2FkOiBwcm92aWRlIHRoZSBvdXRwdXQgYnVmZmVyIHRoYXQgaXMgcmVuZGVyZWQgaW50bwoJICBBbGxvd3MgY2FsbGVycyB0byBwcm9wZXJseSByZWZlcmVuY2UgY291bnQgdGhlIGJ1ZmZlcnMgdXNlZCBmb3IKCSAgcmVuZGVyaW5nLgoJICBGaXhlcyBhIHJlZHJhdyByYWNlIGluIGdsaW1hZ2VzaW5rIHdoZXJlIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgKHRoZSBvbmUgdXNlZCBmb3IgcmVkcmF3IG9wZXJhdGlvbnMpIGlzIGZyZWVkIGFzIHNvb24gYXMgdGhlIG5leHQKCSAgYnVmZmVyIGlzIHVwbG9hZGVkLgoJICAxLiBnbGltYWdlc2luayB1cGxvYWRzIGluIF9wcmVwYXJlKCkgdG8gdGV4dHVyZSBuCgkgIDEuMSBnbHVwbG9hZCBob2xkcyBidWZmZXIgbgoJICAyLiBnbGltYWdlc2luayBfcmVuZGVyKClzIHRleHR1cmUgbgoJICAzLiBnbGltYWdlc2luayB1cGxvYWRzIHRleHR1cmUgbisxCgkgIDMuMSBnbHVwbG9hZCBmcmVlIHByZXZpb3VzIGJ1ZmZlciB3aGljaCBkZWxldGVzIHRleHR1cmUgbgoJICAzLjIgZ2x1cGxvYWQgaG9sZHMgYnVmZmVyIG4rMQoJICA0LiBnbHdpbmRvdyByZXNpemUvZXhwb3NlCgkgIDUuIGdsaW1hZ2VzaW5rIHJlZHJhd3Mgd2l0aCB0ZXh0dXJlIG4KCSAgVGhlIHJhY2UgaXMgdGhhdCB0aGUgYnVmZmVyIG4gKHRoZSBvbmUgdXNlZCBmb3IgcmVkcmF3aW5nKSBpcyBmcmVlZCBhcyBzb29uIGFzCgkgIHRoZSBidWZmZXIgbisxIGFycml2ZXMuICBUaGVyZSBjb3VsZCBiZSBhbnkgYW1vdW50IG9mIHRpbWUgYW5kIG51bWJlciBvZgoJICByZWRyYXdzIGJldHdlZW4gdGhpcyBldmVudCBhbmQgd2hlbiBidWZmZXIgbisxIGlzIGFjdHVhbGx5IHJlbmRlcmVkIGFuZCB0aHVzCgkgIHJlcGxhY2VzIGJ1ZmZlciBuIGFzIHRoZSByZWRyYXcgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzQwCgoyMDE0LTA5LTIxIDIxOjMwOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBBUEkgdG8gcmV0cmVpdmUgdGhlIHRocmVhZCB0aGF0IGNvbnRleHQgaXMgYWN0aXZlIGluCgoyMDE0LTA5LTE5IDE1OjMyOjMzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogUmVtb3ZlZCB1bnJlYWNoYWJsZSBicmVhaywgdW51c2VkIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NTcKCjIwMTQtMDktMTkgMTQ6MzY6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRml4IGVuY29kZXIgdG8gd29yayBvbiBpT1MKCSAgaU9TIGhhcyBzcGVjaWFsIHN0cmlkZSByZXF1aXJlbWVudHMgdGhhdCB3ZSBkb24ndCBrbm93IHlldCwgc28gY29weQoJICBpbnB1dCBidWZmZXJzIGludG8gYnVmZmVycyBhbGxvY2F0ZWQgYnkgaU9TIGZvciBub3cuCgkgIExhdGVyIHdlIHNob3VsZCBjaGVjayB0aGUgc3RyaWRlIGFuZCBwcm9iYWJseSBwcm92aWRlIGEgYnVmZmVyIHBvb2wgZm9yIHRoZXNlCgkgIGJ1ZmZlcnMgc28gdXBzdHJlYW0gY2FuIGRpcmVjdGx5IHdyaXRlIGluIHRoZXJlLgoKMjAxNC0wOS0xOSAxNDozMjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogV2UgbmVlZCB0byBtYXAgdGhlIGNvcmVtZWRpYSBidWZmZXJzIGluIG5vbi1yZWFkb25seSBtb2RlCgkgIE91ciBidWZmZXJzIGNsYWltIHRvIGJlIHdyaXRhYmxlIHNvIG90aGVyIGVsZW1lbnRzIGV4cGVjdCB0byBiZSBhYmxlCgkgIHRvIHdyaXRlIHRoZXJlIHdpdGhvdXQgbG9zaW5nIHRoZWlyIGNoYW5nZXMuCgoyMDE0LTA5LTE4IDE4OjE2OjU5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayBjbGllbnQgbXV0ZXggYmVmb3JlIGVudGVyaW5nIHRoZSByZXRyeV9mYWlsb3ZlciBibG9jawoJICBUaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgY2FzZSB3aGVyZSB0aGUgYmxvY2sgZXhlY3V0aW9uIGlzCgkgIHRyaWdnZXJlZCBieSB0aGUgZ290byBpbnZva2VkIGFmdGVyIHRoZSBjdXJyZW50X3ZhcmlhbnQgdXBkYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTE5CgoyMDE0LTA5LTEyIDAyOjM2OjQ3IC0wMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBzeW5jaHJvbml6ZSB3aXRoIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBzaWduYWwgaXQgdG8gY29udGludWUKCSAgSWYgRU9TIG9yIEVSUk9SIGhhcHBlbnMgYmVmb3JlIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBoYXMgcmVhY2hlZCBpdHMKCSAgZ19jb25kX3dhaXQoKSBjYWxsLCB0aGVuIHRoZSBnX2NvbmRfc2lnbmFsIGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0IGFuZAoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgc3R1Y2tzIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYzCgoyMDE0LTA5LTEyIDAyOjM1OjQ0IC0wMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBzeW5jaHJvbml6ZSB3aXRoIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBzaWduYWwgaXQgdG8gY29udGludWUKCSAgSWYgRU9TIG9yIEVSUk9SIGhhcHBlbnMgYmVmb3JlIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBoYXMgcmVhY2hlZCBpdHMKCSAgZ19jb25kX3dhaXQoKSBjYWxsLCB0aGVuIHRoZSBnX2NvbmRfc2lnbmFsIGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0IGFuZAoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgc3R1Y2tzIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYzCgoyMDE0LTA4LTI5IDEyOjM4OjEyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHN5bmNocm9uaXplIHdpdGggdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIHNpZ25hbCBpdCB0byBjb250aW51ZQoJICBJZiBFT1Mgb3IgRVJST1IgaGFwcGVucyBiZWZvcmUgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIGhhcyByZWFjaGVkIGl0cwoJICBnX2NvbmRfd2FpdCgpIGNhbGwsIHRoZW4gdGhlIGdfY29uZF9zaWduYWwgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QgYW5kCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBzdHVja3MgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjMKCjIwMTQtMDktMTcgMTc6Mjc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBjbGVhcmluZyBvZiBlb3Mgc3RhdGUgaW4gcGFkcwoJICBUaGUgaW50ZXJuYWwgcGFkIHN0aWxsIGtlZXBzIGl0cyBFT1MgZmxhZyBhbmQgZXZlbnQgYXMgaXQgY2FuIGJlIGFzc2lnbmVkCgkgIGFmdGVyIHRoZSBmbHVzaC1zdGFydC9zdG9wIHBhaXIgaXMgc2VudC4gVGhlIEVPUyBpcyBhc3NpZ25lZCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIHNvIHRoaXMgaXMgcmFjeS4KCSAgVG8gYmUgc3VyZSB0byBjbGVhciBpdCwgaXQgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgc2V0dGluZyB0aGUgc291cmNlIHRvIFJFQURZIHRvCgkgIGJlIHN1cmUgdGhhdCBpdHMgc3RyZWFtaW5nIHRocmVhZCBpc24ndCBydW5uaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTE3IDE3OjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggY2xlYXJpbmcgb2YgZW9zIHN0YXRlIGluIHBhZHMKCSAgVGhlIGludGVybmFsIHBhZCBzdGlsbCBrZWVwcyBpdHMgRU9TIGZsYWcgYW5kIGV2ZW50IGFzIGl0IGNhbiBiZSBhc3NpZ25lZAoJICBhZnRlciB0aGUgZmx1c2gtc3RhcnQvc3RvcCBwYWlyIGlzIHNlbnQuIFRoZSBFT1MgaXMgYXNzaWduZWQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBzbyB0aGlzIGlzIHJhY3kuCgkgIFRvIGJlIHN1cmUgdG8gY2xlYXIgaXQsIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIHNldHRpbmcgdGhlIHNvdXJjZSB0byBSRUFEWSB0bwoJICBiZSBzdXJlIHRoYXQgaXRzIHN0cmVhbWluZyB0aHJlYWQgaXNuJ3QgcnVubmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0xNyAxNDo1MTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IGNsZWFyaW5nIG9mIGVvcyBzdGF0ZSBpbiBwYWRzCgkgIFRoZSBpbnRlcm5hbCBwYWQgc3RpbGwga2VlcHMgaXRzIEVPUyBmbGFnIGFuZCBldmVudCBhcyBpdCBjYW4gYmUgYXNzaWduZWQKCSAgYWZ0ZXIgdGhlIGZsdXNoLXN0YXJ0L3N0b3AgcGFpciBpcyBzZW50LiBUaGUgRU9TIGlzIGFzc2lnbmVkIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgc28gdGhpcyBpcyByYWN5LgoJICBUbyBiZSBzdXJlIHRvIGNsZWFyIGl0LCBpdCBoYXMgdG8gYmUgZG9uZSBhZnRlciBzZXR0aW5nIHRoZSBzb3VyY2UgdG8gUkVBRFkgdG8KCSAgYmUgc3VyZSB0aGF0IGl0cyBzdHJlYW1pbmcgdGhyZWFkIGlzbid0IHJ1bm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMTggMTc6NDk6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogTGV0IHRoZSBlbmNvZGVyIGF1dG9tYXRpY2FsbHkgY2hvb3NlIGEgaDI2NCBsZXZlbAoJICBXZSBzaG91bGQgbmVnb3RpYXRlIHRoZXNlIHRoaW5ncyB2aWEgY2Fwcy4uLgoKMjAxNC0wOS0xOCAxMzo0NTozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVc2UgMCBpbnN0ZWFkIG9mIEdfTUFYRE9VQkxFIGFzIHRoZSBtYXgga2V5ZnJhbWUgaW50ZXJ2YWwKCSAgMCBtZWFucyBubyBsaW1pdCwgd2hpY2ggd2FzIG1lYW50IGhlcmUgd2l0aCBHX01BWERPVUJMRSBwcm9iYWJseS4KCjIwMTQtMDktMTggMTM6NDI6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRXhwZWN0ZWQgZHVyYXRpb24gaXMgc3VwcG9zZWQgdG8gYmUgdGhlIGR1cmF0aW9uIG9mIHRoZSBzdHJlYW0sIG5vdCBhIGZyYW1lCgkgIEp1c3QgZG9uJ3Qgc2V0IGl0IGZvciBub3csIGl0IGlzbid0IHJlYWxseSBuZWVkZWQuCgoyMDE0LTA5LTE4IDExOjM5OjUzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBhZGQgdW5pdCB0ZXN0IGZvciBzZXF1ZW5jZS1sYXllciBwYXJzaW5nCgkgIENoZWNrIHRoYXQgYSBzZXF1ZW5jZS1sYXllciBoZWFkZXIgaXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3MQoKMjAxNC0wOS0xOCAxMTo0OToxMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogdGFrZSBjYXJlIG9mIGVuZGlhbm5lc3Mgd2hlbiBwYXJzaW5nIHNlcXVlbmNlLWxheWVyCgkgIHNlcXVlbmNlLWxheWVyIGlzIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlIG9yZGVyIGV4Y2VwdCBmb3IKCSAgU1RSVUNUX0Mgd2hpY2ggaXMgc2VyaWFsaXplZCBpbiBiaWctZW5kaWFuIGJ5dGUgb3JkZXIuCgkgIEJ1dCBzaW5jZSBTVFJVQ1RfQSBhbmQgU1RSVUNUX0IgZmllbGRzIGFyZSBkZWZpbmVkIGFzIHVuc2lnbmVkIGludCBtc2IKCSAgZmlyc3QsIHdlIGhhdmUgdG8gcGFzcyB0aGVtIGFzIGJpZy1lbmRpYW4gdG8gdGhlaXIgcGFyc2luZyBmdW5jdGlvbi4gU28KCSAgd2UgYmFzaWNhbGx5IHVzZSB0ZW1wb3JhcnkgYnVmZmVycyB0byBjb252ZXJ0IHRoZW0gaW4gYmlnLWVuZGlhbi4KCSAgU2VlIFNNUFRFIDQyMU0gQW5uZXggSiBhbmQgTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3MQoKMjAxNC0wOS0xOCAxMzoxMTowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBQcm9wZXJseSBoYW5kbGUga2V5ZnJhbWVzCgkgIEVzcGVjaWFsbHkgc2V0IHRoZSBTWU5DX1BPSU5UIGZsYWcgb24ga2V5ZnJhbWVzLgoKMjAxNC0wOS0xOCAxNDoyNDoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlbW92ZWQgYW4gdW53YW50ZWQgaW5pdGlhbGl6YXRpb24gYW5kIGEgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg2MwoKMjAxNC0wOS0xNyAxMjoyNDozOSArMDIwMCAgSmVyb21lIExhaGV1cnRlIDxqbGFoZXVydGVAcXVpdmlkaS5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL0JVSUxELnR4dDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9DTWFrZUxpc3RzLnR4dDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBQb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjgzCgoyMDE0LTA5LTE4IDEyOjUzOjExICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlZCByZWR1bmRhbnQgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg1MwoKMjAxNC0wOS0xNyAxNTo1MDoyMyArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGxvZ2ljYWwgZGlzanVuY3Rpb24gY29uc2VjdXRpdmUgcmV0dXJuLCBicmVhayB1bm5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzkwCgoyMDE0LTA5LTE3IDExOjQ5OjIyICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZW5hYmxlIGhlYWRlci1mb3JtYXQgY29udmVyc2lvbgoJICBJbiBmYWN0IHdlIHN1cHBvcnQgaGVhZGVyLWZvcm1hdCBjb252ZXJzaW9uIHdoaWNoIGlzIGRvbmUgaW4KCSAgdXBkYXRlX2NhcHMoKSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3ODYKCjIwMTQtMDktMTggMTA6MzA6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGNvbXBpbGF0aW9uCgoyMDE0LTA5LTE4IDA5OjQ3OjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEhhbmRsZSAwLzEgZnJhbWVyYXRlcyBjb3JyZWN0bHkgYnkgbm90IGNhbGN1bGF0aW5nIHRoZWlyIGZyYW1lIGR1cmF0aW9uCgoyMDE0LTA5LTE3IDE3OjM3OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggbmV3ZXIgY2xhbmcKCjIwMTQtMDktMTcgMTc6MTA6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogUHJlcGFyZSBlbmNvZGVyIGFmdGVyIHNldHVwCgkgIFRoaXMgd2lsbCBhbGxvdyBlbmNvZGluZyB0byBoYXBwZW4gZmFzdGVyIG9uIHRoZSBmaXJzdCBmcmFtZS4KCjIwMTQtMDktMTcgMTc6MDg6NTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogT25seSBkcmFpbiB0aGUgZW5jb2RlciBpbiA6OmZpbmlzaCgpLCBub3Qgb24gZXZlcnkgZnJhbWUKCSAgT3RoZXJ3aXNlIHF1YWxpdHkgYW5kIGJpdHJhdGUgd2lsbCBiZSBiYWQuCgoyMDE0LTA5LTE3IDE1OjM5OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEVycm9yIG91dCBpZiBlbmNvZGluZyByZXR1cm5lZCBhbiBlcnJvcgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IGNvbnRpbnVlIGNvbnN1bWluZyBmcmFtZXMgdW50aWwgYWxsIG1lbW9yeSBpcyBmaWxsZWQKCSAgdXAgYW5kIHRoZSBhcHAgY3Jhc2hlcy4KCjIwMTQtMDktMTcgMTQ6NTY6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQ2hlY2sgZm9yIGVycm9ycyBmcm9tIFZUQ29tcHJlc3Npb25TZXNzaW9uQ29tcGxldGVGcmFtZXMoKQoKMjAxNC0wOS0xNyAxNDo1NToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBQcm9wZXJseSBzY2FsZSB0aW1lc3RhbXBzIGZvciB0aGUgQVBJIGFuZCBzZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTQtMDktMTcgMTQ6NTQ6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogUHJvcGVybHkgc2NhbGUgdGltZXN0YW1wcyBmb3IgdGhlIEFQSSBhbmQgc2V0IGludmFsaWQgdmFsdWVzCgoyMDE0LTA5LTE3IDEzOjE5OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSAgYXBwbGVtZWRpYTogUmVtb3ZlIG9sZCBjb2RlIHRoYXQgaXMgb2Ygbm8gdXNlIGFueW1vcmUKCjIwMTQtMDktMTYgMTc6Mzg6NTMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmb3JnZSBzZXF1ZW5jZS1sYXllciBmcm9tIHNlcV9oZHIgaW5zdGVhZCBvZiBzZXFfbGF5ZXIKCSAgSWYgd2UgZG9uJ3QgaGF2ZSBhIHNlcV9sYXllcl9idWZmZXIsIHdlIGFsc28gZG9uJ3QgaGF2ZSBhIHZhbGlkCgkgIHNlcV9sYXllciBiZWNhdXNlIHRoZXJlIGFyZSBzZXQgdG9nZXRoZXIgaW4KCSAgZ3N0X3ZjMV9wYXJzZV9oYW5kbGVfc2VxX2xheWVyKCkuCgkgIFNvIHdoZW4gb3V0cHV0IGhlYWRlciBmb3JtYXQgaXMgc2VxdWVuY2UtbGF5ZXIgYW5kIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhCgkgIHNlcV9sYXllcl9idWZmZXIsIHdlIGZvcmdlIG9uZSBmcm9tIHNlcV9oZHIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3ODEKCjIwMTQtMDktMTcgMTA6Mzk6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFwcGxlbWVkaWE6IFVuY29uZGl0aW9uYWxseSB1c2UgVmlkZW9Ub29sYm94IG9uIGlPUyBpZiBhdmFpbGFibGUKCSAgQmVjYXVzZSB3ZSBkbyB3ZWFrIGxpbmtpbmcgbm93IHdlIGNhbiBhbHdheXMgY29tcGlsZSBpdCBpbiBhbmQgY2hlY2sgYXQKCSAgcnVudGltZSBpZiBpdCBpcyBhY3R1YWxseSBhdmFpbGFibGUgb3Igbm90LgoKMjAxNC0wOS0xNyAxMDozODoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogRG8gd2VhayBsaW5raW5nIHdpdGggdGhlIFZpZGVvVG9vbGJveCBmcmFtZXdvcmsKCSAgSXQgZG9lcyBub3QgZXhpc3Qgb24gb2xkZXIgT1NYIGFuZCBpT1MgYnV0IHdlIHN0aWxsIHdhbnQgdG8KCSAgYmUgYWJsZSB0byB1c2UgaXQgd2hlbiBpdCdzIGF2YWlsYWJsZS4KCjIwMTQtMDktMTYgMTI6MDY6MzUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IGxlYWsgYnVmZmVyIHBvb2wgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzM1CgoyMDE0LTA5LTE2IDE1OjU5OjU4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZml4IHNlcXVlbmNlLWxheWVyL2ZyYW1lLWxheWVyIGVuZGlhbm5lc3MKCSAgU2VxdWVuY2UtbGF5ZXIgYW5kIGZyYW1lLWxheWVyIGFyZSBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZQoJICBvcmRlciBleGNlcHQgZm9yIFNUUlVDVF9DIGFuZCBmcmFtZWRhdGEgZmllbGRzIGFzIGRlc2NyaWJlZCBpbiBTTVBURSA0MjFNIEFubmV4CgkgIEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3NTAKCjIwMTQtMDktMTYgMTY6NTE6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogUG9ydCB0byBHc3RWaWRlb0VuY29kZXIgYmFzZSBjbGFzcwoKMjAxNC0wOS0xNiAxNjoxMzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVc2UgY29ycmVjdCBpbnN0YW5jZSBzdHJ1Y3Qgc2l6ZQoKMjAxNC0wOS0xNiAxNTo0ODoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgdmFsdWVzIG9mIHR5cGUgJ09TU3RhdHVzJyBzaG91bGQgbm90IGJlIHVzZWQgYXMgZm9ybWF0IGFyZ3VtZW50czsgYWRkIGFuIGV4cGxpY2l0IGNhc3QgdG8gJ2ludCcgaW5zdGVhZCBbLVdmb3JtYXRdCgoyMDE0LTA5LTE2IDE1OjAyOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFBvcnQgdG8gdGhlIHJlYWwgVmlkZW9Ub29sYm94IEFQSSBpbnN0ZWFkIG9mIHVzaW5nIG91ciBkbG9wZW4oKSB3cmFwcGVyCgkgIEl0J3MgYSBwdWJsaWMgZnJhbWV3b3JrIHNpbmNlIGEgbG9uZyB0aW1lLgoKMjAxNC0wOS0xNiAxMTo0MjozNCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZG8gbm90IGxlYWsgcG9vbCBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMyCgoyMDE0LTA5LTE2IDExOjQzOjAyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwZGVjb2RlcjogZG8gbm90IGxlYWsgcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMzCgoyMDE0LTA5LTE2IDExOjQxOjQzICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGRvIG5vdCBsZWFrIHBvb2wgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMAoKMjAxNC0wOS0xNiAxMTo0MjoxMyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBkbyBub3QgbGVhayBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzEKCjIwMTQtMDktMTYgMTE6NDE6MTYgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBkbyBub3QgbGVhayBwb29sIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MjkKCjIwMTQtMDktMTYgMTM6MjE6MjIgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAxMToyNDozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wOS0xNiAxMzoxOToyNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDAxOjE1OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBDb21wYXJlIHRoZSBjb3JyZWN0IGxvb3AgdmFyaWFibGVzCgoyMDE0LTA5LTE1IDE1OjQyOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IE5vIG5lZWQgdG8gc2V0IGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBvbiBpT1MKCjIwMTQtMDktMTUgMTU6MzY6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQW5kIG1ha2UgdGhlIHByZXByb2Nlc3NvciBjaGVjayB3b3JrIHByb3Blcmx5CgoyMDE0LTA5LTE1IDE1OjI1OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvIHRoZSBBTV9DT05ESVRJT05BTCgpIGFmdGVyIGZpbmFsbHkgc2V0dGluZyB0aGUgdmFyaWFibGUKCjIwMTQtMDktMTUgMTU6MTI6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IERvbid0IGluY2x1ZGUgVmlkZW9Ub29sYm94IG9uIGlPUyA8IDguMAoJICBJdCdzIHByaXZhdGUgQVBJIGFuZCBkb2VzIG5vdCB3b3JrIHdpdGhvdXQgYSBqYWlsYnJva2VuIGRldmljZS4KCjIwMTQtMDktMTUgMTM6MzM6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIHJlZmV0Y2ggdGhlIHBsYXlsaXN0IGFmdGVyIHRoZSBmaXJzdCBmcmFnbWVudCBmYWlsdXJlCgkgIFByZXZpb3VzbHkgd2Ugb25seSByZWZldGNoZWQgdGhlIHBsYXlsaXN0IGlmIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQKCSAgaGFzIGZhaWxlZCBvbmNlLiBXZSBzaG91bGQgYWxzbyBkbyB0aGF0IGlmIGl0IGZhaWxlZCBhIHNlY29uZCBvciB0aGlyZCB0aW1lLAoJICBjaGFuY2VzIGFyZSB0aGF0IHRoZSBwbGF5bGlzdCB3YXMgdXBkYXRlZCBub3cgYW5kIGNvbnRhaW5zIG5ldyBVUklzLgoKMjAxNC0wOS0xNSAxMTo1OTozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoOiBBY3R1YWxseSByZXRyeSAzIHRpbWVzIGFzIGFkdmVydGlzZWQgaW5zdGVhZCBvZiAyCgoyMDE0LTA5LTE1IDExOjU5OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IEFjdHVhbGx5IHJldHJ5IDMgdGltZXMgYXMgYWR2ZXJ0aXNlZCBpbnN0ZWFkIG9mIDIKCjIwMTQtMDktMTMgMjA6NDk6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGNvbXBpbGF0aW9uIG9uIGlPUyA4LjAKCjIwMTQtMDktMTEgMTQ6MzY6MzEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmaXggbWFsZm9ybWVkIHNlcXVlbmNlIGxheWVyIGhlYWRlciBhbmQgU1RSVUNUX0MKCSAgVGhpcyBjb21taXQgZml4IHNldmVyYWwgaXNzdWVzIHdpdGggc2VxdWVuY2UgbGF5ZXIgaGVhZGVyIGZvcmdpbmcgb24KCSAgdXBkYXRlX2NhcHMoKToKCSAgLSAweDAwMDAwMDA0IHVuc2lnbmVkIGludGVnZXIgaXMgYmVmb3JlIFNUUlVDVF9DLgoJICAtIFNldCByZXNlcnZlZCBiaXRzIG9mIFNUUlVDVF9DIHRvIHRoZWlyIHZhbHVlcyBmb3Igc2ltcGxlL21haW4KCSAgcHJvZmlsZXMgaW4gc2VxdWVuY2UgbGF5ZXIgaGVhZGVyIGZvcm1hdCBhbmQgQVNGIGhlYWRlciBmb3JtYXQuCgkgIC0gU2VxdWVuY2UgbGF5ZXIgc2hhbGwgYmUgcmVwcmVzZW50ZWQgYXMgYSBzZXF1ZW5jZSBvZiAzMiBiaXRzIHVuc2lnbmVkCgkgIGludGVnZXJzIGFuZCBzaGFsbCBiZSBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZSBvcmRlciBleGNlcHQKCSAgZm9yIFNUUlVDVF9DIHdoaWNoIHNoYWxsIGJlIHNlcmlhbGl6ZWQgaW4gYmlnLWVuZGlhbiBieXRlLW9yZGVyLgoJICBTZWUgU01QVEUgNDIxTSBBbm5leCBMIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgc2VxdWVuY2UgbGF5ZXIgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDc0CgoyMDE0LTA5LTEyIDE0OjQ5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBVc2UgcHJvcGVyIHZhcmlhYmxlIGZvciBkZWxpdmVyeSBzeXN0ZW0KCSAgV2Ugd2FudCB0byBjaGVjayB0aGUgZGVsaXZlcnkgc3lzdGVtIGlzIElTREJUIChhbmQgbm90IHRoZSBtb2R1bGF0aW9uCgkgIHdoaWNoIHdlIGNoZWNrIGxhdGVyIGluIHRoYXQgY2FzZSkuCgkgIENJRCAjMTIzODQzOQoKMjAxNC0wOS0xMiAwOTozMDowNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTMxCgoyMDE0LTA5LTExIDE4OjMzOjIwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHRzZGVtdXg6IGZpeCBvdmVyZmxvdyBvZiBwYWNrZXRfbGVuZ3RoIGZpZWxkIG9mIFBFU0hlYWRlcgoJICBwYWNrZXRfbGVuZ3RoIGlzIGRlZmluZWQgYXMgYSBndWludDE2IGluIHRoZSBQRVNIZWFkZXIgc3RydWN0dXJlLiBUaGlzCgkgIGRlZmluaXRpb24gbWF0Y2ggdGhlIHNwZWNpZmljYXRpb24uIEJ1dCBzaW5jZSB3ZSBhZGQgNiBieXRlcyB0byB0aGUKCSAgcGFja2V0X2xlbmd0aCB2YWx1ZSAobGVuZ3RoIG9mIHN0YXJ0X2NvZGUgKyBzdHJlYW1faWQgKyBwYWNrZXRfbGVuZ3RoKSwKCSAgd2UgY2FuIG92ZXJmbG93IHRoZSBndWludDE2IHdoZW4gdGhlIHZhbHVlIGluIHRoZSBQRVMgaGVhZGVyIGlzIGdyZWF0ZXIKCSAgdGhhbiA2NTUyOS4KCSAgU28gdXNlIGEgZ3VpbnQzMiBpbnN0ZWFkIG9mIGEgZ3VpbnQxNiB0byBhdm9pZCBvdmVyZmxvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ5MAoKMjAxNC0wOS0xMCAxNTozOTo0NCAtMDMwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgcG9zaXRpb24gZGV0ZWN0aW9uIHdoZW4gYSBkb3dubG9hZCByZXN0YXJ0CgkgIFF1ZXJ5IG90aGVyIHNyYyBwYWRzIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZSBsYXN0CgkgIGtub3duIHB1c2hlZCBzZWdtZW50ICh3aGljaCBjYW4gYmUgZmFyIGFoZWFkIGluIHRpbWUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDIxCgoyMDE0LTA5LTEwIDE1OjQzOjA1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wcm92ZSBwb3NpdGlvbiBkZXRlY3Rpb24gd2hlbiBhIGRvd25sb2FkIHJlc3RhcnQKCSAgUXVlcnkgb3RoZXIgc3JjIHBhZHMgYmVmb3JlIGZhbGxpbmcgYmFjayB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGxhc3QKCSAga25vd24gcHVzaGVkIHNlZ21lbnQgKHdoaWNoIGNhbiBiZSBmYXIgYWhlYWQgaW4gdGltZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0MjEKCjIwMTQtMDktMTEgMTY6MjE6MzAgKzA0MDAgIEJlbG96b3JvdiBTZW1lbiA8c2tpbWlub2tEQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSAgbXBlZ3BzbXV4OiBmaXggbWVtb3J5IGxlYWsgd2hlbiBjb252ZXJ0aW5nIEguMjY0IGF2YyB0byBieXRlLXN0cmVhbSBmb3JtYXQKCSAgRml4IG1lbW9yeSBsZWFrIGZvciBpbnB1dCBzdHJlYW0gd2l0aCBjYXBzICJ2aWRlby94LWgyNjQsc3RyZWFtLWZvcm1hdD1hdmMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDI2CgoyMDE0LTA5LTEwIDE5OjI3OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiBhbGxvY2F0ZSBieXRlIHdyaXRlciBvbiBzdGFjawoKMjAxNC0wOS0xMCAxOToxOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZm11eDogYWxsb2NhdGUgYnl0ZSByZWFkZXJzIG9uIHRoZSBzdGFjawoKMjAxNC0wOS0xMCAxMDo1ODowMyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGNsZWFyIG11dGV4IHJlc291cmNlcyBpbiBkaXNwb3NlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOTAKCjIwMTQtMDktMTAgMTc6MjQ6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICBGaXggdXAgb25lLWVsZW1lbnQgbGlzdHMgaW4gdGVtcGxhdGUgY2FwcwoKMjAxNC0wOS0xMCAxNjozODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYm9ndXMgQkdSQSBjYXBzCgkgIFJlbW92ZSAwLjEwLXN0eWxlIGVuZGlhbm5lc3MvKl9tYXNrL2JwcC9kZXB0aCBmaWVsZHMuCgoyMDE0LTA5LTEwIDE5OjE2OjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGRvbid0IEFDX1NVQlNUIGludGVybWVkaWF0ZSB2YWx1ZXMKCjIwMTQtMDktMDkgMTI6MDE6NDcgKzAyMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgR3N0R0xXaW5kb3c6IEludHJvZHVjZSBuYXZpZ2F0aW9uIHRocmVhZAoJICBUaGlzIHRocmVhZCBkaXNwYXRjaGVzIG5hdmlnYXRpb24gZXZlbnRzLiBJdCBpcyBuZWVkZWQgdG8gYXZvaWQgZGVhZGxvY2tzCgkgIGJldHdlZW4gd2luZG93IGJhY2tlbmQgdGhyZWFkcyB0aGF0IGVtaXQgbmF2aWdhdGlvbiBldmVudHMgKGUuZy4gWDExL0dNYWluTG9vcAoJICB0aHJlYWQpIGFuZCBjb25zdW1lcnMgb2YgbmF2aWdhdGlvbiBldmVudHMgc3VjaCBhcyBnbGltYWdlc2luaywgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2NjEKCSAgR3N0R2xXaW5kb3dfeDExIHRocmVhZCBpcyBjaGFuZ2VkIHRvIGludm9rZSB0aGUgbmF2aWdhdGlvbiB0aHJlYWQgZm9yIG5hdmlnYXRpb24KCSAgZGlzcGF0Y2hpbmcsIGluc3RlYWQgb2YgZW1pdGluZyB0aGUgZXZlbnQgaXRzZWxmLiBPdGhlIGJhY2tlbmRzIGJlc2lkZSBYMTEgZG8KCSAgbm90IGRpc3BhdGNoIG5hdmlnYXRpb24gZXZlbnRzIHlldCwgYnV0IHNob3VsZCB1c2UgdGhpcyB0aHJlYWQgd2hlbiBkaXNwYXRjaGluZwoJICB0aGVzZSBldmVudHMgaW4gdGhlIGZ1dHVyZS4KCSAgVGhlIG5hdmlnYXRpb24gdGhyZWFkIGlzIGN1cnJlbnRseSBwYXJ0IG9mIEdzdEdMV2luZG93IGFuZCBub3QgaW1wbGVtZW50ZWQgaW4KCSAgc2VwYXJhdGUgc3ViY2xhc3NlcyAvIGJhY2tlbmRzLiBUaGlzIHdpbGwgYmUgbmVlZGVkIGluIHRoZSBmdXR1cmUuCgkgIGdzdF9nbF93aW5kb3dfeDExX2dldF9zdXJmYWNlX2RpbWVuc2lvbnMgaXMgYWxzbyBjaGFuZ2VkIHRvIHVzZSBhIGNhY2hlZCB2YWx1ZQoJICBvZiB0aGUgd2luZG93J3Mgd2lkdGgsIGhlaWdodC4gVGhlc2UgdmFsdWVzIGFyZSBub3cgcmV0cmlldmVkIGluIHRoZSBYMTEKCSAgdGhyZWFkLCBmdW5jdGlvbiBnc3RfZ2xfd2luZG93X3gxMV9oYW5kbGVfZXZlbnQuIFRoaXMgY2hhbmdlIGlzIG5lZWRlZCBiZWNhdXNlCgkgIG90aGVyd2lzZSB0aGUgWEdldFdpbmRvd0F0dHJpYnV0ZXMgZ2V0cyBjYWxsZWQgZnJvbSB0aGUgbmF2aWdhdGlvbiB0aHJlYWQsCgkgIGxlYWRpbmcgdG8geGxpYiBhYm9ydGluZyBkdWUgdG8gbXVsdGl0aHJlYWRlZCBhY2Nlc3MgKGlmIFhJbml0VGhyZWFkcyBpcyBub3QKCSAgY2FsbGVkIGJlZm9yZSwgYXMgaXMgdGhlIGNhc2UgZm9yIGdzdC1sYXVuY2gpCgoyMDE0LTA5LTA1IDEzOjU4OjE5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJldHJ5IG9wZW5pbmcgdGhlIGZyb250ZW5kIG9uIEVJTlRSCgoyMDE0LTA5LTA1IDEzOjMyOjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFzc29ydGVkIGRvYyAmIHNwZWxsaW5nIGZpeGVzCgoyMDE0LTA5LTA3IDAxOjMwOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIFJldmVydCAiZGF0YXVyaXNyYzogUmVtb3ZlIHVubmVjZXNzYXJ5IGVsc2UgaWYgY29uZGl0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMwMjRhZTljMzg0OTA4MTdhNzZjODNmZWFiM2M4NDcyOTg5Y2FmYWQuCgkgIFRoZSAqYnVmIGNhbiBiZSBOVUxMIG9yIG5vdCBkZXBlbmRpbmcgaWYgdGhlIGNhbGxlciBvZiBnc3RfcGFkX2dldF9yYW5nZQoJICBmdW5jdGlvbiBwcm92aWRlZCBvciBub3QgYSBidWZmZXIuCgoyMDE0LTA5LTA1IDE2OjExOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIHRlc3RzOiBobHNkZW11eDogZml4IGNvbXBpbGF0aW9uCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS90aGlhZ29zcy9nc3QvaGVhZC9nc3RyZWFtZXIvZ3N0L2dzdC5oOjU0OjAsCgkgIGZyb20gL2hvbWUvdGhpYWdvc3MvZ3N0L2hlYWQvZ3N0cmVhbWVyL2xpYnMvZ3N0L2NoZWNrL2dzdGNoZWNrLmg6MzQsCgkgIGZyb20gZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOjI3OgoJICAuLi8uLi9leHQvaGxzL2dzdGZyYWdtZW50ZWQuaDo4OjI4OiBlcnJvcjogcmVkdW5kYW50IHJlZGVjbGFyYXRpb24gb2Yg4oCYZnJhZ21lbnRlZF9kZWJ1Z+KAmSBbLVdlcnJvcj1yZWR1bmRhbnQtZGVjbHNdCgkgIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gKGZyYWdtZW50ZWRfZGVidWcpOwoJICBNb3ZlIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSB0byBhZnRlciB0aGUgZGVjbGFyYXRpb24uCgoyMDE0LTA5LTA1IDEyOjU2OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBBbmQgZml4IE1ha2VmaWxlIHlldCBhZ2FpbgoKMjAxNC0wOS0wNSAxMjoyNTowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIHRoZSBtM3U4LmMgZmlsZSBkaXJlY3RseSBpbiB0aGUgdGVzdCBiZWNhdXNlIG9mIGFuIGF1dG9tYWtlIGJ1ZwoJICAkKHRvcF9zcmNkaXIpIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggX1NPVVJDRVMgYmVjYXVzZSB0aGF0IHdvdWxkIGJlIHRvbwoJICBvYnZpb3VzLgoJICBodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0b21ha2UvMjAxMy0wOS9tc2cwMDAwNS5odG1sCgoyMDE0LTA5LTA1IDA5OjUzOjE1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEZpeCBoYW5kbGluZyBvZiA2NCBiaXQgZmxvYXRpbmcgcG9pbnQgZGF0YQoJICBJbiBnc3RfYWlmZl9wYXJzZV9jcmVhdGVfY2FwcyBpZiBhbmQgZWxzZS1pZiBjb25kaXRpb25zCgkgIGFyZSBkdXBsaWNhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDkwCgoyMDE0LTA5LTA1IDA4OjUxOjMwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogQWRkIG5ldyBwcm9wZXJ0eSBtaW4tc3RkZGV2CgkgIGZhY2UgZGV0ZWN0aW9uIHdpbGwgYmUgcGVyZm9ybWVkIG9ubHkgaWYgaW1hZ2Ugc3RhbmRhcmQgZGV2aWF0aW9uIGlzCgkgIGdyZWF0ZXIgdGhhdCBtaW4tc3RkZGV2LiBEZWZhdWx0IG1pbi1zdGRkZXYgaXMgMCBmb3IgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eS4gVGhpcyBwcm9wZXJ0eSB3aWxsIGF2b2lkIHRvIHBlcmZvcm0gZmFjZSBkZXRlY3Rpb24gb24KCSAgaW1hZ2VzIHdpdGggbGl0dGxlIGNoYW5nZXMgaW1wcm92aW5nIGNwdSB1c2FnZSBhbmQgcmVkdWNpbmcgZmFsc2UKCSAgcG9zaXRpdmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MTAKCjIwMTQtMDctMDcgMTA6NTI6NTcgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IGZpeCBpc3N1ZXMgYW5kIGV4cG9zZSBtdnAgbWF0cml4CgkgICogYXNwZWN0IHNob3VsZCBub3QgYmUgMCBvbiBpbml0CgkgICogcmVuYW1lIGZvdnkgdG8gZm92CgkgICogYWRkIG12cCB0byBwcm9wZXJ0aWVzIGFzIGJveGVkIGdyYXBoZW5lIHR5cGUKCSAgKiBmaXggdHJhbnNmb3JtYXRpb24gb3JkZXIuIHNjYWxlIGZpcnN0CgkgICogY2xlYXIgY29sb3Igd2l0aCAxLjAgYWxwaGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDIyMwoKMjAxNC0wOS0wNCAyMTo0MTo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogQWxzbyBnZXQgdGhlIG0zdTguYyBzb3VyY2UgZmlsZSBmcm9tIHRoZSAkKHRvcF9zcmNkaXIpIGZvciB0aGUgdGVzdAoJICBTaG91bGQgZml4IG1ha2UgZGlzdGNoZWNrIGZvciByZWFsIG5vdy4KCjIwMTQtMDktMDQgMTk6MDE6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IFVzZSAkKHRvcF9zcmNkaXIpIGluc3RlYWQgb2YgJCh0b3BfYnVpbGRkaXIpIGZvciB0aGUgaW5jbHVkZSBwYXRoCgoyMDE0LTA5LTA0IDE4OjIxOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgdG8gZGVhY3RpdmF0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTA0IDE4OjIxOjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgdG8gZGVhY3RpdmF0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTA0IDE4OjIwOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMgdG8gZGVhY3RpdmF0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTA0IDE3OjUyOjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBDb21waWxlIHRoZSBtM3U4LmMgZGlyZWN0bHkgaW5zdGVhZCBvZiByZS11c2luZyB0aGUgLm8gZmlsZQoKMjAxNC0wOS0wNCAxNzo1MDoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBBZGQgdW5pdCB0ZXN0IGZvciBwYXJzaW5nIG9mIE0zVTggcGxheWxpc3RzCgkgIFBvcnRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS95bGF0dXlhL2dzdC1wbHVnaW5zLWJhZAoJICBUaGlzIHN0aWxsIGhhcyBzb21lIHVuaXQgdGVzdHMgZm9yIGFsdGVybmF0aXZlIHJlbmRpdGlvbnMgYW5kCgkgIHNlZWtpbmcsIHdoaWNoIGFyZSBjb21tZW50ZWQgb3V0IGZvciB0aGUgdGltZSBiZWluZyB1bnRpbCB3ZQoJICBzdXBwb3J0IHRoZW0gcHJvcGVybHkuCgoyMDE0LTA5LTA0IDE3OjQ5OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBhc3NpZ24gb2Zmc2V0cyB0byB0aGUgZmlsZXMgaWYgd2UgYWNjdW11bGF0ZSB0aGVtIGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBwbGF5bGlzdAoKMjAxNC0wOS0wNCAxMzozODoyMSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBlbHNlIGlmIGNvbmRpdGlvbgoJICBJbiBnc3RfZGF0YV91cmlfc3JjX2NyZWF0ZSgpLCBidWYgY2Fubm90IGJlIE5VTEwsIGhlbmNlCgkgIGVsc2UgaWYgKCpidWYgIT0gTlVMTCkgd2lsbCBiZSBpbnZhbGlkIHNvIHJlbW92aW5nIHRoZQoJICBlbHNlIGlmIGNvbmRpdGlvbiBhbmQgYWRkaW5nIGEgY2hlY2sgdG8gdW5yZWZlcmVuY2UgYnVmCgkgIGluIGVsc2UgY29uZGl0aW9uLCBqdXN0IGluIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg2MQoKMjAxNC0wOS0wMiAxODowNjo1MyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzaW1wbGlmeSBJU0RCLVQgbGF1bmNoIGxpbmUgZXhhbXBsZQoKMjAxNC0wOS0wMiAxMjoxMzowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkZWxheSBsb2NraW5nIHRpbGwgYWN0dWFsbHkgbmVlZGVkCgkgIEdldCByaWQgb2YgdW5uZWVkZWQgbG9ja2luZyBhdCBwcm9wIHNldHRpbmcgYnkgZG9pbmcKCSAgaXQgb25seSB3aGVuIHR1bmluZyB0aGUgZnJvbnRlbmQgYXQgX3R1bmVfZmUoKQoKMjAxNC0wOS0wMiAxMjoxMTo0NCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IE1ha2UgZ2V0X3VyaSgpIHRocmVhZHNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg2MQoKMjAxNC0wOS0wMSAxNzo0MTo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogUmVtb3ZlIGhhY2sgZm9yIEdvb2dsZSBNUDMgZGVjb2RlcgoJICBUaGUgZmlyc3QgYnVmZmVyIGRvZXMgbm90IGNvbnRhaW4gbW9yZSBnYXJiYWdlIHRoYW4gYW55IG90aGVyIE1QMyBkZWNvZGVyCgkgIG91dHB1dHMgYW5kIHdlIGRvbid0IHJlYWxseSBrbm93IGhvdyBtdWNoIHdlIGhhdmUgdG8gZHJvcCBvciBub3QuCgkgIEFmdGVyIHRoaXMgY2hhbmdlIHRoZSBvdXRwdXQgaGFzIHRoZSBzYW1lIGR1cmF0aW9uIGFzIHdpdGggbWFkLgoKMjAxNC0wOS0wMSAwODoyNDo1NyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkgIHplYnJhc3RyaXBlOiBSZWZhY3RvciB0byByZW1vdmUgZHVwbGljYXRlIGNvZGUKCSAgZ3N0X3plYnJhX3N0cmlwZV90cmFuc2Zvcm1fZnJhbWVfaXBfcGxhbmFyWQoJICBnc3RfemVicmFfc3RyaXBlX3RyYW5zZm9ybV9mcmFtZV9pcF9ZVVkyCgkgIGdzdF96ZWJyYV9zdHJpcGVfdHJhbnNmb3JtX2ZyYW1lX2lwX0FZVVYKCSAgYWxsIGFib3ZlIDMgZnVuY3Rpb25zIGRvIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgZXhjZXB0IGZvciBvZmZzZXQgYW5kIHBpeGVsIHN0cmlkZS4KCSAgSGVuY2UgbW92aW5nIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGEgc2luZ2xlIGZ1bnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwMzIKCjIwMTQtMDgtMjkgMTg6NTU6MzIgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGRlc2NyaXB0aW9uIGZvciBtb2R1bGF0aW9uIHByb3AKCjIwMTQtMDgtMjkgMTc6MTY6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGJhc2ljIGNoZWNrcyBvbiBJU0RCLVQgcGFyYW1ldGVycwoJICBBbHNvIGFkZCBhIHJvdXRpbmUgZm9yIGNoZWNraW5nIHdyb25nIGRlbHN5cy9tb2R1bGF0aW9uCgkgIGNvbWJpbmF0aW9ucyByaWdodCBiZWZvcmUgdHVuaW5nIChvbmx5IGltcGxlbWVudGVkIGZvcgoJICBJU0RCLVQgZm9yIG5vdykuCgoyMDE0LTA4LTI5IDE4OjA5OjA3IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIG1vZHVsYXRpb24gdHlwZXMKCjIwMTQtMDgtMjkgMTM6MjY6MTIgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBGSVhNRSBvbiBfSVNEQlRfTEFZRVJfRU5BQkxFRCBwcm9wCgkgIFZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDEgdG8gNyBhcyBzdGF0ZWQuCgkgIERUVl9JU0RCVF9MQVlFUl9FTkFCTEVEIGJpdG1hc2sgaXMgYnVpbHQgZnJvbQoJICBPUi1pbmcgMHgxIDB4MiAweDQuIElmIGFsbCBiaXRzIGFyZSBzZXQKCSAgKDB4MDAwMDAxMTEgPSA3KSBpdCBtZWFucyBhbGwgbGF5ZXJzIHNob3VsZCBiZQoJICBkZW1vZHVsYXRlZC4KCjIwMTQtMDgtMjkgMTk6MjY6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlbW92ZSBjb2RlIHRoYXQgY2FuJ3QgYmUgcmVhY2hlZAoJICBJZiB0aGlzIGNvZGUgY291bGQgZXZlciBiZSByZWFjaGVkLCBpdCB3b3VsZCBsZWFrCgkgIG1lbW9yeSAoQ0lEIDEyMzE5NzkpLCBidXQgZ3N0X2NhcHNfZ2V0X2ZlYXR1cmVzKCkKCSAgbmV2ZXIgcmV0dXJucyBOVUxMLCBzbyB0aGF0IGNhbid0IGhhcHBlbi4KCjIwMTQtMDgtMjkgMTk6MjQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSBjb2RlIHRoYXQgY2FuJ3QgYmUgcmVhY2hlZAoJICBJZiB0aGlzIGNvZGUgY291bGQgZXZlciBiZSByZWFjaGVkLCBpdCB3b3VsZCBsZWFrCgkgIG1lbW9yeSAoQ0lEIDEyMzE5NzcpLCBidXQgZ3N0X2NhcHNfZ2V0X2ZlYXR1cmVzKCkKCSAgbmV2ZXIgcmV0dXJucyBOVUxMLCBzbyB0aGF0IGNhbid0IGhhcHBlbi4KCjIwMTQtMDgtMjggMjA6MTI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB1cCBoYW5kbGluZyBvZiBpbnB1dCBjYXBzIGNvcm5lciBjYXNlcwoJICBEbyBtb3JlIGVsYWJvcmF0ZSB2YWxpZGF0aW9uIG9mIHRoZSBpbnB1dCBjYXBzOiB3aGF0IGZpZWxkcwoJICBhcmUgcmVxdWlyZWQgYW5kL29yIG5vdCBhbGxvd2VkLiBEb24ndCBhc3N1bWUgQVZDMyBmb3JtYXQKCSAgaW5wdXQgd2l0aG91dCBjb2RlY19kYXRhIGZpZWxkIGlzIGJ5dGUtc3RyZWFtIGZvcm1hdC4gRml4CgkgIHVwIHNvbWUgbm93LXVucmVhY2hhYmxlIGNvZGUgKENJRCAxMjMyODAwKS4KCjIwMTQtMDgtMjggMTY6NDI6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEFkZCBtaXNzaW5nIGJyZWFrIHRvIHN3aXRjaAoJICBDSUQgMTIzMjgwMQoKMjAxNC0wOC0yOCAxMTozNzo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogUmVzZXQgbmVnb3RpYXRpb24gc3RhdGUgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZCgkgIEFmdGVyIGdvaW5nIGJhY2sgdG8gUkVBRFkgd2UgY2FuIGFjY2VwdCBuZXcgZm9ybWF0IHNldHRpbmdzIGFnYWluLgoKMjAxNC0wOC0yMiAxNToxODo1OSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBTdXBwb3J0IE9wZW5TU0wgZm9yIEFFUyBkZWNyeXB0aW9uIG9mIEhMUyBmcmFnbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzUyNDgKCjIwMTQtMDgtMjYgMTY6MjE6NDIgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJICBnbDogcWdsd3RleHR1cmVzaGFyZSBkZW1vIGZpeGVzIGFuZCBjbGVhbnVwCgkgIDEuIGdsY29udGV4dGlkIGZ1bmN0aW9uIGlzIHJlcGxhY2VkIGJ5IGdzdHJlYW1lciBnc3RfZ2xfY29udGV4dF9uZXdfd3JhcHBlZCAuCgkgIDIuIGNhbGwgZ3N0X2luaXQgYmVmb3JlIGdzdF9nbF9kaXNwbGF5X25ldyAsIHNlZW1zIGdzdF9nbF9kaXNwbGF5X25ldyBkZXBlbmRzCgkgIG9uIGdzdF9hbGxvY2F0b3JfcmVnaXN0ZXIgLCB3aGljaCBvbmx5IHdvcmtlZCBhZnRlciBnc3RfaW5pdCBjYWxsZWQKCSAgMy4gZmx1c2ggZ3N0cmVhbWVyIE9wZW5HTCBjb250ZXh0IGJlZm9yZSB1c2luZyBzaGFyZWQgdGV4dHVyZSwgZml4CgkgIGZsaWNrZXIgcHJvYmxlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2NgoKMjAxNC0wOC0yNyAxMzo0MDo0MiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IEFkZCBHU1RHTEFQSSBtYWNybyB0byB0aGUgZGVidWcgY2FsbGJhY2sgZnVuY3Rpb24KCSAgRml4ZXMgdGhlIFdpbmRvd3MgYnVpbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1NjUKCjIwMTQtMDgtMjggMDk6NTM6MTcgKzAzMDAgIEJsYWtlIFRyZWdyZSA8Ymxha2UudHJlZ3JlQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IENsYW1wIG91dCBvZiBib3VuZHMgcmVzb2x1dGlvbnMgdG8gcHJldmVudCBzZWdmYXVsdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgwMQoKMjAxNC0wOC0yNyAxNDo0NzoyNSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZG8gbm90IGNoZWNrIGZvciBHTC9HTFUvRUdML0dMRVMyIGxpYnMgaWYgZGlzYWJsZWQgaW4gY29uZmlndXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTIyCgoyMDE0LTA4LTI2IDEyOjM4OjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBlZ2w6IFdyYXAgS0hSX2NyZWF0ZV9jb250ZXh0IGZsYWdzIGluIGFuIGlmZGVmCgkgIEVHTF9DT05URVhUX0ZMQUdTX0tIUiBhbmQgRUdMX0NPTlRFWFRfT1BFTkdMX0RFQlVHX0JJVF9LSFIKCSAgZG9uJ3QgZXhpc3QgaW4gdGhlIEFuZHJvaWQgTkRLLiBXcmFwIHRoZWlyIHVzYWdlIGluIGFuICNpZmRlZgoJICBFR0xfS0hSX2NyZWF0ZV9jb250ZXh0IHRvIGZpeCB0aGUgYnVpbGQgdGhlcmUuCgoyMDE0LTA4LTIxIDEyOjMyOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IGNvbnNpZGVyIHVua25vd24gc3RyZWFtLWZvcm1hdCBhcyBhdmMKCSAgSXQgc2hvdWxkIHRyeSB0byB1c2UgYnl0ZXN0cmVhbSBpbiB0aGVzZSBjYXNlcyB0aGF0IHRoZSBmb3JtYXQKCSAgaXMgc2V0IHRvIF9GT1JNQVRfTk9ORSBhcyBpdCBzZWVtcyB0aGF0IGlzIHdoYXQgdGhlICdlbHNlJyBjbGF1c2UKCSAgZm9yIGJ5dGVzdHJlYW0gY2FuIGhhbmRsZSAoYnkgZGVmYXVsdGluZyB0byBfRk9STUFUX0JZVEVTVFJFQU0pLgoKMjAxNC0wOC0yNSAxMzozMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdGVzdHM6IGZpeCBjYXBzIGZvciBhdmMgZm9ybWF0CgkgIElmIGl0IGhhcyBhIGNvZGVjX2RhdGEgZmllbGQsIGl0IHNob3VsZCBhbHNvIHVzZSB0aGUgc3RyZWFtLWZvcm1hdD1hdmMgYXMKCSAgY29kZWNfZGF0YSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugb3RoZXJ3aXNlIGFuZCB0aGUgZGVmYXVsdCBzaG91bGQKCSAgYmUgYnl0ZXN0cmVhbQoKMjAxNC0wOC0yNSAxNToyMTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJICBkb2NzOiBhZGQgbXBlZ3BzbXV4IGFuZCBtcGVndHNtdXgKCjIwMTQtMDgtMjUgMTU6MjA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkgIGRvY3M6IGFkZCBhdWRpb21peGVyIHRvIGRvY3MKCjIwMTQtMDgtMjUgMTU6MjA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkgIGRvY3M6IGFkZCBhaWZmIGVsZW1lbnRzIHRvIGRvY3MKCjIwMTQtMDgtMjUgMTQ6NTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgZG9jczogcGx1Z2luczogbWlzYyB1cGRhdGVzCgoyMDE0LTA4LTI1IDE0OjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBkb2NzOiBtb3ZlIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBkb2NzIGludG8gdGhlIGxpYnJhcnkgZG9jcwoJICBOb3cgdGhhdCB3ZSBoYXZlIGRvY3MgZm9yIHRoZSBsaWJzLgoKMjAxNC0wOC0yNSAxMjoyMTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgIHNuZGZpbGU6IGRvbid0IGRlY29kZSBmb3JtYXRzIHRoYXQgYXJlIGJldHRlciBoYW5kbGVkIGJ5IG90aGVyIGVsZW1lbnRzCgkgIEluIHBhcnRpY3VsYXI6IGZsYWMsIG9nZywgcGNtLCBhdSwgYWlmZiwgd2F2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzE2CgoyMDE0LTA4LTIyIDE2OjQ5OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBlZ2w6IGZhbGxiYWNrIHRvIGEgbm9uLWRlYnVnIGNvbnRleHQgaWYgYSBkZWJ1ZyBvbmUgZmFpbHMKCSAgVGhlIHRleHQgZm9yIEVHTF9LSFJfY3JlYXRlX2NvbnRleHQgYWRkZWQgdGhlIHBvc3NpYmxpdHkgZm9yIEVTCgkgIGNvbnRleHRzIHRvIGFzayBmb3IgYSBkZWJ1ZyBjb250ZXh0IGhvd2V2ZXIgdGhhdCBoYXMgbm90IGJlZW4KCSAgZnVsbHkgcmVhbGl6ZWQgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4gIEZhbGxiYWNrIHRvIGEgbm9uLWRlYnVnCgkgIGNvbnRleHQgd2hlbiB0aGUgaW1wbGVtZW50YXRpb24gZXJyb3JzLgoKMjAxNC0wOC0wNSAxNDowNjowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPGtha2Fyb3RvQGtha2Fyb3RvLmhvbWVsaW51eC5uZXQ+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFkZCBzdXBwb3J0IGZvciBSVFAvUlRDUCBtaXhpbmcgaWYgZGF0YSBhcnJpdmVzIG9uIFJUQ1AgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQzMjEKCjIwMTQtMDgtMjEgMTY6MjQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggYWJvcnQgaW4gZXJyb3IgY29kZSBwYXRoIHdpdGggbmV3ZXIgZ2xpYgoJICBEb24ndCBmb3JnZXQgdG8gdW5sb2NrIG1wZCBjbGllbnQgYWdhaW4gd2hlbiBlcnJvcmluZyBvdXQuCgkgIEZpeGVzIGFib3J0IHdoZW4gZ19tdXRleF9jbGVhcigpIGlzIGNhbGxlZCBvbiBhIGxvY2tlZCBtdXRleC4KCjIwMTQtMDctMDIgMTI6NDk6NDQgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ3N0b3BlbmdsOiBhZGQgaW50cm9zcGVjdGlvbiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDgtMDUgMTI6MDc6MDggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGV4YW1wbGVzOiBmaXggZ3RrKyAzLjE0IGRlcHJlY2F0aW9uIGVycm9yCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9ndGszLzMuMTMvR3RrV2lkZ2V0Lmh0bWwjZ3RrLXdpZGdldC1zZXQtZG91YmxlLWJ1ZmZlcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDctMDcgMTA6NTI6MDYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZXhwb3NlIGNvbnRleHQKCSAgKiBleHBvc2UgY29udGV4dCBpbiBkcmF3IC8gcmVzaGFwZSBjYWxsYmFja3MKCSAgKiBhZGQgY29udGV4dCBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA3LTA3IDEwOjUxOjI4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBleHBvc2Ugb3BlbmdsIGhhbmRsZSBpbiBnZXR0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wOC0yMCAwOTozNzowMSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBjaGVjayBudWxsIGJlZm9yZSB1bnJlZiBHc3RHTERpc3BsYXkKCjIwMTQtMDgtMjEgMTA6MDM6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJICBnbDogYWRkIHByb3RvdHlwZSBkZWZpbml0aW9uIGZvciBLSFJfZGVidWcKCjIwMTQtMDgtMjAgMjM6MjQ6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dDogaW1wbGVtZW50IHRoZSBkZWJ1ZyBjYWxsYmFjawoJICBGb3IgYm90aCBHTF9LSFJfZGVidWcgYW5kIEFSQl9kZWJ1Z19vdXRwdXQuICBUaGlzIGFsbG93cyB1cyB0bwoJICByZWNlaXZlIGVycm9ycyBhbmQgb3RoZXIgaGludHMgZnJvbSB0aGUgR0wgaW5zdGVhZCBvZiBxdWVyeWluZyBhZnRlcgoJICBldmVyeSBHTCBvcGVyYXRpb24uCgoyMDE0LTA4LTIwIDIzOjIzOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGFkZCBwcm90b3R5cGVzIGZvciBLSFJfZGVidWcvQVJCX2RlYnVnX291dHB1dAoKMjAxNC0wOC0xOSAxNzoxNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdW5yZWYgcGFkIHJlZmVyZW5jZSB3aGVuIHJlbW92aW5nIGludGVybmFsIHNvdXJjZSBpbiBlcnJvcgoJICBBdm9pZHMgbGVha2luZyB0aGUgcGFkIGluIGVycm9yIHNpdHVhdGlvbnMKCjIwMTQtMDgtMTkgMTY6MDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlYWQgbGFuZ3VhZ2UgZnJvbSBDb250ZW50Q29tcG9uZW50IG5vZGUgYXMgYSBmYWxsYmFjawoJICBJZiB0aGUgbGFuZ3VhZ2UgaXMgbm90IHNwZWNpZmllZCBpbiB0aGUgQWRhcHRhdGlvblNldCwgdXNlIHRoZSBDb250ZW50Q29tcG9uZW50CgkgIG5vZGUgdG8gZ2V0IGl0LiBXZSBvbmx5IGdldCBpdCBpZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIENvbnRlbnRDb21wb25lbnQgYXMKCSAgaXQgZG9lc24ndCBzZWVtIGNsZWFyIG9uIHdoYXQgdG8gZG8gaWYgdGhlcmUgYXJlIG11bHRpcGxlIGVudHJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzNwoKMjAxNC0wNi0yNSAxNTo1NTozMiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcHVzaCBsYW5ndWFnZSBjb2RlIHRhZwoJICBMYW5ndWFnZSBjb2RlIHRhZyBpcyByZXRyaWV2ZWQgZnJvbSB0aGUgQWRhcHRhdGlvblNldCBsYW5ndWFnZQoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzNwoKMjAxNC0wOC0xOSAyMDoxNDoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZG9uJ3QgdGFrZSBhbiBleHRyYSByZWYgb24gdGhlIGRpc3BsYXkgb24gc2V0X2NvbnRleHQKCSAgZ3N0X2NvbnRleHRfZ2V0X2dsX2Rpc3BsYXkoKSByZXR1cm5zIGEgcmVmLiAgRG9uJ3QgdGFrZSBhbm90aGVyIGluCgkgIGdzdF9vYmplY3RfcmVwbGFjZSgpLgoKMjAxNC0wOC0xOSAxNzowMTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiB1bnJlZiB0aGUgR3N0R0xVcGxvYWQgaW4gdGhlIHBhZCBpZiBmcmVlZCB3aGlsZSBydW5uaW5nCgkgIER5bmFtaWMgcGlwZWxpbmVzIHRoYXQgZ2V0IGFuZCByZWxlYXNlIHRoZSBzaW5rIHBhZHMgd2lsbCBmaW5hbGl6ZQoJICB0aGUgcGFkIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBnc3RfZ2xfbWl4ZXJfc3RvcCgpIHdoaWNoIGlzIHdoZXJlIHRoZQoJICB1cGxvYWQgb2JqZWN0IGlzIHVzdWFsbHkgZnJlZWQuICBEb24ndCBsZWFrIG9iamVjdHMgaW4gc3VjaCBjYXNlLgoKMjAxNC0wOC0xNCAyMzo1MToyMSAtMDQwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogYXZvaWQgZ2wgcmVzb3VyY2UgcmFjZSBjb25kaXRpb24gYmV0d2VlbiBkaWZmZXJlbnQgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ4MzAKCjIwMTQtMDgtMTkgMTQ6NDQ6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IGNsb2JiZXIgdW5uZWNlc3NhcnkgR3N0VmlkZW9JbmZvIGZpZWxkcwoJICBvdGhlcndpc2Ugd2UgbWlnaHQgY2xvYmJlciBvdGhlciBpbXBvcnRhbnQgZmllbGRzIHN1Y2ggYXMgdGhlIGZyYW1lIHJhdGUuCgoyMDE0LTA4LTE5IDE0OjQzOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBnZXQgdGhlIGF0dHJpYnV0ZSBmcm9tIHRoZSBjb3JyZWN0IHNoYWRlcgoKMjAxNC0wOC0xOSAxNDoyMzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVucmVmIHRoZSB3aW5kb3cgb24gbmF2aWdhdGlvbiBldmVudAoJICBwbHVncyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA4LTE5IDAwOjAxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgcGFkcyB3aGVuIHJlc2V0dGluZyB0aGUgZWxlbWVudAoJICBPdGhlcndpc2UgdGhlIHBhZHMgd2lsbCBiZSB0aGVyZSBpZiBpdCBpcyByZXN0YXJ0ZWQgYW5kIHRoZSBzdHJlYW0KCSAgY2FuIGJlIGEgY29tcGxldGVseSBkaWZmZXJlbnQgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0Mzk0CgoyMDE0LTA4LTE3IDAxOjQyOjA1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiBoMjY0OiBVc2UgcHJvcGVyIGJpdF9yZWFkZXIgYXBpIHdoaWxlIHBhcnNpbmcgYnVmZmVyaW5nX3BlcmlvZCBTRUkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk3MAoKMjAxNC0wOC0xNCAxMDoxOToxMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkgIHNjZW5lY2hhbmdlOiBmaXggY3Jhc2ggb24gc3RhcnR1cAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2FzIHVzaW5nIHRoZSBvbGRpbmZvIEdzdFZpZGVvSW5mbwoJICBiZWZvcmUgaXQncyBiZWVuIHBvcHVsYXRlZCwgcmVzdWx0aW5nIGluIGEgY3Jhc2ggcmlnaHQKCSAgYXQgdGhlIHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NzYzCgoyMDE0LTA4LTE0IDE1OjI2OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBNYWtlIHN1cmUgdG8gdW5ibG9jayBhbnkgdGhyZWFkIHdhaXRpbmcgb24gdGhlIGRyYWluIGNvbmRpdGlvbiB2YXJpYWJsZSB3aGVuIGVycm9ycyBoYXBwZW4KCjIwMTQtMDgtMTQgMTU6MjQ6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBkcmFpbmluZyBsb2dpYyB0byBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIEVPUyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzQ3NzUKCjIwMTQtMDgtMTEgMjE6MjU6NDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBmaXggcGFyc2luZyBvZiBmcmVxcyBpbiBzb21lIFpBUCBmaWxlcwoJICBDaGFuZ2UgYXZvaWRzIGF0dGVtcHRpbmcgdG8gY29udmVydCB0byBrSHogaWYgdW5uZWVkZWQuCgkgIFRoZXJlIGFyZSBxdWl0ZSBzb21lIFpBUCBmb3JtYXQgdmFyaWFudHMgb3V0IHRoZXJlLiBBbW9uZwoJICB0aGVpciBzdWJ0bGUgbGl0dGxlIGRpZmZlcmVuY2VzLCBzb21lIHN0b3JlIHRyYW5zcG9uZGVyCgkgIGZyZXF1ZW5jaWVzIGluIE1oeiBhbmQgb3RoZXJzIGluIGtIei4gVGhlIGxhdHRlciBiZWVuIHRoZQoJICBtb3N0IGNvbW1vbiB2YXJpYW50LgoKMjAxNC0wOC0wNyAxOTozNzowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBnZXQgcmlkIG9mIHJlbWFpbmluZyB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDE0LTA4LTA3IDE5OjE5OjM2IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHdyYXAgYXJvdW5kIGtub3duLWludGVycnVwdGlibGUgaW9jdGxzCgkgIEFsc28gZ2V0IHJpZCBvZiB0aGUgYXN1bXB0aW9uIHRoYXQgc29tZSByZXF1ZXN0cyBsaWtlCgkgIEZFX1NFVF9UT05FIG9yIEZFX1NFVF9WT0xUQUdFIG9ubHkgZXJyb3Igb3V0IHdpdGggLTEKCjIwMTQtMDgtMDcgMTQ6MDA6NDAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBnc3RfZHZic3JjX3JldHJ5X2lvY3RsIGZvciByZXRyeSBtYWNybwoJICBMT09QX1dISUxFX0VJTlRSIG1hY3JvIG1ha2VzIGl0IGVhc2llciB0byBoYW5kbGUKCSAgYXNzb3J0ZWQgaW9jdGwgYXJncCB0eXBlcy4gRnVuY3Rpb25hbGl0eSBpcyBvdGhlcndpc2UKCSAgZXF1aXZhbGVudC4KCjIwMTQtMDgtMTIgMTI6MzU6MDAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBkdmJiYXNlYmluOiBhZGQgJ3R1bmUnIHNpZ25hbAoJICBJdCB3b3JrcyB0aGUgc2FtZSBhcyB0aGUgJ3R1bmUnIHByb3BlcnR5IHRoYXQgaXMgdXNlZCBvbmx5IHRvIHNpZ25hbAoJICB0aGUgZWxlbWVudCB0aGF0IGl0IHNob3VsZCB0dW5lLCBidXQgaXQgaXMgbW9yZSBuYXR1cmFsIHRvIGJlIHVzZWQKCSAgYXMgYSBzaWduYWwgcmF0aGVyIHRoYW4gYSBwcm9wZXJ0eS4KCSAgSXQgaXMgYWxzbyBwcm94aWVkIGF0IHRoZSBkdmJiYXNlYmluIGVsZW1lbnQKCjIwMTQtMDgtMDcgMTU6MjU6MzIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBzd2l0Y2ggcGxheWxpc3Qgb24gdHJpY2sgbW9kZXMKCSAgSW5zdGVhZCBhbHdheXMgdXNlIHRoZSBsb3cgYmFuZHdpdGggcGxheWxpc3QgbWFraW5nIHRoaW5ncyBnbyBzbW9vdGhlcgoJICBhcyB0aGUgY3VycmVudCBoZXVyaXN0aWMgaXMgcmF0aGVyIHNldCBmb3Igbm9ybWFsIHBsYXliYWNrLCBhbmQKCSAgY3VycmVudGx5IGl0IGRvZXMgbm90IGJlaGF2ZSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0NQoKMjAxNC0wNy0yMSAxNDo0Mjo0NyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTm8gbmVlZCB0byBoYXZlIGEgSS1GcmFtZSBsaXN0IHRvIGRvIHRyaWNrIG1vZGVzCgkgIEl0IGp1c3Qgd29ya3MgY2xlYW5seSB3aXRob3V0IGFueSBpbmRleCBhbmQgdGhlcmUgaXMgbm8gcmVhbCByZWFzb24gZm9yCgkgIHRoYXQgbGltaXRhdGlvbi4gQWxzbywgdGhlcmUgYXJlIHZlcnkgZmV3IHN0cmVhbSB3aXRoIHRoYXQgZmVhdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0NQoKMjAxNC0wOC0wNSAxNzoxMzoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG8gbm90IHR3ZWFrIHNlZ21lbnRzIG9uIHJldmVyc2UgcGxheWJhY2sKCSAgV2UgY2FuJ3QgY29tcGFyZSB0aGUgZmlyc3QgYnVmZmVyIHN0YXJ0IGFuZCB0aGUgc2VnbWVudCBzdGFydCBpbiB0aGF0CgkgIGNhc2UuLi4gcGxheWJhY2sgaXMgZ29pbmcgYmFja3dhcmQhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDUKCjIwMTQtMDgtMTMgMTY6NTc6MTUgKzAyMDAgIFZhbGVudGluIFBPTlMgPHZhbHg3NkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogVXNlIE5VTEwgdG8gZGlzYWJsZSBleWVzL25vc2UvbW91dGgKCSAgV2l0aG91dCBwcmludGluZyBhIHdhcm5pbmcgYWJvdXQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDYyMwoKMjAxNC0wOC0xMCAyMjo1ODoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBmaXggYWxsb2NhdG9yIGxlYWsgaW4gc29tZSBjYXNlcwoJICBTcG90dGVkIGJ5IFNlYmFzdGlhbiBSYXNtdXNzZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjMKCjIwMTQtMDgtMTEgMTI6MzI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogc2F2ZSBhIGZldyByZWYvdW5yZWYgcGFpcnMKCSAgVGhlIGV2ZW50L3F1ZXJ5IGZ1bmN0aW9ucyBhbHJlYWR5IGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQsIGF2b2lkCgkgIHJlZi91bnJlZiBpbiB0aGUgZnVuY3Rpb25zIGhhbmRsaW5nIGNhcHMgcXVlcmllcyBhbmQgZXZlbnRzLgoKMjAxNC0wOC0xMSAxMjozMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZW1vdmUgb2Jzb2xldGUgZml4bWUKCjIwMTQtMDgtMTEgMTI6MjI6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogaW1wcm92ZSBuZWdvdGlhdGlvbgoJICBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIG92ZXJsYXkgbWV0YSwgaWYgcG9zc2libGUgdXNlIGl0IGFuZAoJICBpZiBub3QgZmFsbGJhY2sgdG8gbm8tb3ZlcmxheSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMTI6MjE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogYWx3YXlzIGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgY2FwcwoJICBBdm9pZHMgcmV0dXJuaW5nIHZhbHVlcyB0aGF0IHBlZXJzIGNhbid0IHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDExOjM1OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcHJvdmUgbmVnb3RpYXRpb24KCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBvdmVybGF5IG1ldGEsIGlmIHBvc3NpYmxlIHVzZSBpdCBhbmQKCSAgaWYgbm90IGZhbGxiYWNrIHRvIG5vLW92ZXJsYXkgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDExOjMzOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFsd2F5cyBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGluIGdldGNhcHMKCSAgQXZvaWRzIHJldHVybmluZyB1bnN1cHBvcnRlZCBjYXBzIHRvIHBlZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMjM6Mzg6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggdXAgZG9jIGNvbW1lbnQgZm9yIHNldF9zcmNfY2FwcwoJICBJdCBkb2VzIG5vdCBvY2N1ciAnbGF0ZXInIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY2MgoKMjAxNC0wOC0wNyAxOTo1NDozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBwdXNoIHRoZSBjYXBzIGV2ZW50IGFzIHNvb24gYXMgd2UgcmVjZWl2ZSBpdAoJICBBbG9uZyB3aXRoIHRoZSByZXF1aXJlZCBtYW5kYXRvcnkgZGVwZW5kZW50IGV2ZW50cy4KCSAgU29tZSBlbGVtZW50cyBuZWVkIHRvIHBlcmZvcm0gYW4gYWxsb2NhdGlvbiBxdWVyeSBpbnNpZGUKCSAgOjpuZWdvdGlhdGVkX2NhcHMoKS4gIFdpdGhvdXQgdGhlIGNhcHMgZXZlbnQgYmVpbmcgc2VudCBwcmlvciwKCSAgZG93bnN0cmVhbSBlbGVtZW50cyB3aWxsIGJlIHVuYWJsZSB0byBhbnN3ZXIgYW5kIHdpbGwgcmV0dXJuCgkgIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjYyCgoyMDE0LTA4LTExIDE2OjAxOjMyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2VicC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvZ3N0d2VicC5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBlbmMuaDoKCSAgd2ViZW5jOiBBZGQgV2ViUCBpbWFnZSBlbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwODcKCjIwMTQtMDgtMDkgMDE6Mjk6MzAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiY2VuYzogVW5yZWYgb3V0cHV0IGNhcHMgaW4gZXJyb3IgY2FzZXMKCSAgZ3N0X2NhcHNfaW50ZXJzZWN0KCkgcmV0dXJucyBhIHJlZmVyZW5jZSB0byBhIGNhcHMgb2JqZWN0IHdoaWNoIGluCgkgIHRoZSBub3JtYWwgY2FzZSBpcyBjb25zdW1lZCwgYnV0IGluIGVycm9yIGNhc2VzIG11c3QgYmUgdW5yZWZlcmVuY2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIxCgoyMDE0LTA4LTA4IDE0OjA4OjE5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTcKCjIwMTQtMDgtMDkgMTE6NDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IFVucmVmIGJ1cyBhZnRlciB1c2FnZQoJICBnc3RfcGlwZWxpbmVfZ2V0X2J1cygpIHJldHVybnMgYSByZWZlcmVuY2UgdG8gYSBidXMgdGhhdCBuZWVkcyB0bwoJICBiZSB1bnJlZmVyZW5jZWQgYWZ0ZXIgdXNhZ2UuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjUKCjIwMTQtMDgtMDkgMTE6NDU6NDEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIGV4YW1wbGVzL2dsOiB1bnJlZiBidXMgYW5kIGVsZW1lbnQgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X3BpcGVsaW5lX2dldF9idXMoKSBhbmQgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlKCkgYm90aAoJICByZXR1cm4gcmVmZXJlbmNlcyB0aGF0IG5lZWQgdG8gYmUgdW5yZWZlcmVuY2VkIGFmdGVyIHVzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI3CgoyMDE0LTA4LTEwIDE5OjEyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTQtMDgtMTAgMTk6MDU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSAgZG9jczogcmVtb3ZlIHJ0cHZwOCBwbHVnaW4gZG9jcywgdGhlIGVsZW1lbnRzIGFyZSBub3cgaW4gLWdvb2QKCjIwMTQtMDgtMTAgMTg6MDc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgb3BlbmdsOiB1cGRhdGUgZWxlbWVudCBkb2NzIGZvciAxLngKCjIwMTQtMDgtMTAgMTc6NDg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJICBkb2NzOiByZW1vdmUgZWdsZ2xlc3NpbmsgZnJvbSBkb2NzIGFzIGl0IG5vIGxvbmdlciBleGlzdHMKCjIwMTQtMDgtMDkgMTE6MzY6MzggKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogVW5yZWYgZWxlbWVudHMgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X2Jpbl9nZXRfYnlfbmFtZSgpIGFuZCBnc3RfYmluX2dldF9ieV9pbnRlcmZhY2UoKSBib3RoIHJldHVybgoJICByZWZlcmVuY2VzIHRvIGVsZW1lbnRzIHRoYXQgbmVlZCB0byBiZSB1bnJlZmVyZW5jZWQgYWZ0ZXIgdXNhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjQKCjIwMTQtMDgtMDkgMDE6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJICBvcGVuYWw6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjAKCjIwMTQtMDgtMTAgMTI6Mjk6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IGZpeCB1cCBicm9rZW4gcGF0Y2ggbWVyZ2UKCSAgU29ycnksIHNob3VsZCd2ZSBiZWVuIGNvbW1pdCAtLWFtZW5kCgoyMDE0LTA4LTA5IDEzOjI0OjAwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkgIHB2cnZpZGVvc2luazogQXZvaWQgbGVha2luZyBidWZmZXJwb29sIGNvbmZpZ3VyYXRpb24KCSAgZ3N0X2J1ZmZlcl9wb29sX2dldF9jb25maWcoKSByZXR1cm5zIGEgY29weSB0byB0aGUgYnVmZmVycG9vbCdzCgkgIGNvbmZpZ3VyYXRpb24sIHdoaWNoIG11c3QgYmUgcGFzc2VkIHRvIGdzdF9zdHJ1Y3R1cmVfZnJlZSgpIGFmdGVyCgkgIHVzZSBpZiBub3QgZ2l2ZW4gYXdheSB0byBnc3RfYnVmZmVyX3Bvb2xfc2V0X2NvbmZpZygpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM3CgoyMDE0LTA4LTA5IDEzOjIyOjQyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzNgoKMjAxNC0wOC0wOSAxMzoyMDo0MSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEF2b2lkIGxlYWtpbmcgY2FwcyBvYmplY3QgYW5kIGl0cyBjb3B5CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLiBBbHNvCgkgIHRoZSBjYXBzIGFyZSBwdXNoZWQgYXMgYW4gZXZlbnQgZG93bnN0cmVhbSwgYnV0IHRoaXMgZG9lc24ndCBjb25zdW1lIHRoZQoJICBjYXBzIHNvIGl0IG11c3Qgc3RpbGwgYmUgdW5yZWZlcmVuY2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM0CgoyMDE0LTA4LTA5IDEzOjE3OjE3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEFsc28gcmVtb3ZlIHRoZSBpbmNvcnJlY3QgY29tbWVudCB0byBhdm9pZCBjb25mdXNpb24gaW4gdGhlIGZ1dHVyZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzMwoKMjAxNC0wOC0wOSAxMzoxMjoxNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggY2FwcyByZWZjb3VudGluZwoJICB0Y2FwcyB3YXMgdW5yZWZlZCB3aGVuIGl0IHNob3VsZG4ndCBoYXZlIGJlZW4gdW5yZWZlZAoJICBpbiBzb21lIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTMxCgoyMDE0LTA4LTA5IDEzOjA5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyOAoKMjAxNC0wOC0wOSAxMToxNzo0NCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFVucmVmIGFsbG93ZWQgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIyCgoyMDE0LTA4LTA5IDAxOjI1OjIxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTkKCjIwMTQtMDgtMDkgMDE6MjU6MjEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxOQoKMjAxNC0wOC0wOSAwMToyMzo1MCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTgKCjIwMTQtMDgtMTAgMTE6MzU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiByZW1vdmUgZGVmdW5jdCB0ZXN0IGNvZGUgZm9yIG9sZCBjb2xvcnNwYWNlIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzOAoKMjAxNC0wOC0wOSAxMzoyNzowMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJICBlbGVtZW50LW1ha2VyOiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzkKCjIwMTQtMDgtMDkgMTQ6Mjc6MzQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzdGdzbWVuYzogVW5yZWYgY2FwcyBvYmplY3QgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X291dHB1dF9mb3JtYXQoKSBkb2VzIG5vdCBjb25zdW1lIGNhcHMsIHNvCgkgIHVucmVmZXJlbmNlIHRoYXQgb2JqZWN0IGluc3RlYWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1NDQKCjIwMTQtMDgtMDkgMTQ6MjQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogSW1wcm92ZSBhbm5vdGF0aW9uIG9mIGludGVybmFsIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1NDMKCjIwMTQtMDgtMDYgMTg6MTE6MjAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHN1cHBvcnQgZG93bmxvYWRpbmcgc2VnbWVudHMgaW4gcmV2ZXJzZSBvcmRlcgoJICBXaGVuIGEgc2VlayB3aXRoIGEgbmVnYXRpdmUgcmF0ZSBpcyByZXF1ZXN0ZWQsIGZpbmQgdGhlIHRhcmdldAoJICBzZWdtZW50IHdoZXJlIGdzdHNlZ21lbnQuc3RvcCBiZWxvbmdzIGluIGFuZCB0aGVuIGRvd25sb2FkIGZyb20KCSAgdGhpcyBzZWdtZW50IGJhY2t3YXJkcyB1bnRpbCB0aGUgZmlyc3Qgc2VnbWVudC4KCSAgVGhpcyBhbGxvd3MgcHJvcGVyIHJldmVyc2UgcGxheWJhY2suCgoyMDE0LTA4LTA3IDE5OjE4OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBhIGJhY2tncm91bmQgcHJvcGVydHkKCSAgVGhhdCdzIGNvbXBhdGlibGUgd2l0aCB0aGUgY29tcG9zaXRvci92aWRlb21peGVyIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5NTQKCjIwMTQtMDgtMDYgMTM6Mjc6MDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZXh0OmZhYWQ6IFNldCByYW5rIHRvIFNFQ09OREFSWSBhcyB0aGUgbGliYXYgZGVjb2RlciBpcyBjb25jaWRlcmVkIGJldHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTMxCgoyMDE0LTA4LTA2IDE2OjQ4OjAzICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBHc3RHTFdpbmRvdywgR3N0R0xJbWFnZXNpbmssIHgxMTogU2NhbGUgbmF2aWdhdGlvbiBldmVudHMgb24gcmVzaXplZCB3aW5kb3dzCgkgIElmIHdpbmRvdyBpcyByZXNpemVkLCBHc3RTdHJ1Y3R1cmUgcG9pbnRlciB2YWx1ZXMgaGF2ZSB0byBiZSByZXNjYWxlZCB0bwoJICBvcmlnaW5hbCBnZW9tZXRyeS4gQSBnZXRfc3VyZmFjZV9kaW1lbnNpb25zIEdMV2luZG93IGNsYXNzIG1ldGhvZCBpcyBhZGRlZCBmb3IKCSAgdGhpcyBwdXJwb3NlIGFuZCB1c2VkIGluIHRoZSBuYXZpZ2F0aW9uIHNlbmRfZXZlbnQgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDgtMDYgMDg6MTU6MzggLTA0MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGRvbid0IGRldGVybWluZSBpZiBmcmFtZSBuZWVkcyB1cGxvYWQgYnkgcG9pbnRlciBjb21wYXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjkKCjIwMTQtMDgtMDUgMTE6NDU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBTdG9yZSBQQ1IgdGltZS9ieXRlIG9mZnNldHMgaW4gNjQgYml0IGludGVnZXJzCgkgIDMyIGJpdCBpbnRlZ2VycyBhcmUgZ29pbmcgdG8gb3ZlcmZsb3csIGVzcGVjaWFsbHkgdGhlIFBDUiBvZmZzZXQgdG8KCSAgdGhlIGZpcnN0IFBDUiB3aWxsIG92ZXJmbG93IGFmdGVyIGFib3V0IDE1OSBzZWNvbmRzLiBUaGlzIG1ha2VzIHBsYXliYWNrCgkgIG9mIHN0cmVhbXMgc3RvcCBhdCAxNTkgc2Vjb25kcyBhcyBzdWRkZW5seSB0aGUgdGltZXN0YW1wcyBhcmUgc3RhcnRpbmcKCSAgYWdhaW4gZnJvbSAwLiBOb3cgd2UgaGF2ZSBhIGZldyBtb3JlIHllYXJzIHRpbWUgdW50aWwgaXQgaGFwcGVucyBhZ2FpbgoJICBhbmQgNjQgYml0cyBhcmUgdG9vIHNtYWxsLgoKMjAxNC0wOC0wNSAxMDo0MjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJldmVydCAibXBlZ3RzcGFja2V0aXplcjogQ29udmVydCBQQ1IgdGltZXMgdG8gR1N0cmVhbWVyIHRpbWVzIGJlZm9yZSBjb21wYXJpbmcgdGhlbSBhZ2FpbnN0IDUwMCAqIEdTVF9NU0VDT05EIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmMTg2YzZhYjMyYzFlOTQ5OTE2ZDM4NTE4NmIyZDQwMDE5MGFkZDYuCgkgIFRoYXQgY29tbWl0IHdhcyBhY3R1YWxseSBjb21wbGV0ZWx5IHdyb25nLCBuZXZlcm1pbmQuCgoyMDE0LTA4LTA1IDEwOjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ29udmVydCBQQ1IgdGltZXMgdG8gR1N0cmVhbWVyIHRpbWVzIGJlZm9yZSBjb21wYXJpbmcgdGhlbSBhZ2FpbnN0IDUwMCAqIEdTVF9NU0VDT05ECgkgIE90aGVyd2lzZSBpdCB3aWxsIGJlbGlldmUgdG8gZGV0ZWN0IFBDUiBnYXBzIGFscmVhZHkgd2hlbiB0aGVyZSdzIGEgdmVyeSBzbWFsbAoJICBnYXAgb2YgYSBmZXcgbWlsbGlzZWNvbmRzLCBicmVha2luZyBwbGF5YmFjayBvZiBzb21lIGZpbGVzLgoKMjAxNC0wNy0zMSAxNzo0MDozMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiByZW1vdmUgc3JjcGFkIGxlZnRvdmVyCgkgIFRoZSBlbGVtZW50IGlzIGluaGVyaXRpbmcgaXRzIHNyY3BhZCBmcm9tIGJhc2VzcmMKCjIwMTQtMDgtMDEgMTg6MDI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBJbml0aWFsaXplIHBpeGVsIGZvcm1hdCB0byBibWRGb3JtYXQ4Qml0WVVWCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4NzEKCjIwMTQtMDgtMDEgMTY6NDA6NDkgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzX2gyNjQ6IGluaXRpYWxpemUgc29tZSBmaWVsZHMgb2YgcGljX3RpbWluZyBzdHJ1Y3R1cmUKCSAgT3RoZXJ3aXNlIHBpYyB0aW1pbmcgc3RydWN0dXJlIGNhbiBoYXZlIGludmFsaWQgY3BiX3JlbW92YWxfZGVsYXksCgkgIGRwYl9vdXRwdXRfZGVsYXkgb3IgcGljX3N0cnVjdF9wcmVzZW50X2ZsYWcgd2hpY2ggYXJlIGJsaW5kbHkgcmV0cmlldmVkCgkgIGluIGgyNjRwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDEyNAoKMjAxNC0wOC0wMSAxNjo1ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IENhdGNoIGVycm9ycyBkdXJpbmcgZGF0YSBmbG93IGFuZCBlcnJvciBvdXQgcHJvcGVybHkKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBkZWFkbG9jayB0aGUgdGhyZWFkIGlmIGUuZy4gc2NoZWR1bGluZyBhIHZpZGVvCgkgIGZyYW1lIGZhaWxzIGZvciB3aGF0ZXZlciByZWFzb24uCgoyMDE0LTA3LTMxIDIwOjUyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXR1cm4gdGhlIGVycm9yIHRvIHRoZSBzb3VyY2UgaW1tZWRpYXRlbHkgdG8gc3RvcCBmYXN0ZXIKCSAgV2hlbiBmbHVzaGluZywgdGhpcyB3aWxsIHByZXZlbnQgZGFzaGRlbXV4IGZyb20gdHJ5aW5nIHRvIGRvd25sb2FkIG1vcmUKCSAgZnJhZ21lbnRzIG9yIG1vcmUgY2h1bmtzIG9mIHRoZSBzYW1lIGZyYWdtZW50IGJlZm9yZSBzdG9wcGluZy4KCSAgQWxzbyBpbXByb3ZlcyB0aGUgZXJyb3IgaGFuZGxpbmcgdG8gbm90IHRyYW5zZm9ybSBldmVyeXRoaW5nIG5vbi1vayBpbnRvCgkgIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDE0CgoyMDE0LTA3LTI5IDAyOjExOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBhdm9pZCB0aW1lc3RhbXAgb3ZlcmZsb3dzCgkgIENhdXNlIHRpbWluZyB0byBicmVhayBpbiB0aGUgcGlwZWxpbmUgdGhhdCBjYW4gbGVhZCB0byBhIHN0YWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MzcKCjIwMTQtMDgtMDEgMTM6MTQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBSZW1vdmUgZmlsZXMgbm8gbG9uZ2VyIHByZXNlbnQKCSAgVGhleSB3ZXJlIHJlbW92ZWQgd2hlbiBzbmRmaWxlIHdhcyBwb3J0ZWQgdG8gMS54CgoyMDE0LTA4LTAxIDEyOjM4OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IDU5Ljk0ZnBzIGlzIDYwMDAwLzEwMDEsIG5vdCAzMDAwMC8xMDAxCgkgIEFuZCBhbHNvIGNoYW5nZSAzMC8xIHRvIDYwLzEgZm9yIG9uZSA2MGZwcyBtb2RlLgoKMjAxNC0wOC0wMSAxNzo1MTowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2RvY3M6IHJlbW92ZSBzdXBlcmZsb3VzICd0aGUnCgoyMDE0LTA4LTAxIDE2OjQxOjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBkb2N1bWVudCBHU1RfR0xfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzI0NQoKMjAxNC0wOC0wMSAxMDowMToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMKCjIwMTQtMDctMzEgMTg6NTU6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgTWFrZWZpbGU6IEFkZCB1c2FnZSBvZiBidWlsZC1jaGVja3Mgc3RlcAoJICBBbGxvd3MgYnVpbGRpbmcgY2hlY2tzIHdpdGhvdXQgcnVubmluZyB0aGVtCgoyMDE0LTA3LTMxIDE4OjQ2OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBhIGRlc3Ryb3kgZnVuY3Rpb24KCSAgdGhhdCBqdXN0IGNhbGxzIHRoZSBzdWJjbGFzcwoKMjAxNC0wNy0zMSAxODozNjo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IHNpbGVuY2UgcnVudGltZSB3YXJuaW5nCgkgIGdfbWFpbl9sb29wX3F1aXQ6IGFzc2VydGlvbiAnbG9vcCAhPSBOVUxMJyBmYWlsZWQKCjIwMTQtMDctMzEgMTU6MTg6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1c2UgdGhlIHBsYW5lIG9mZnNldHMgdG8gY29tcHV0ZSB0aGUgc2l6ZSBvZiB0aGUgZGF0YSBwb2ludGVyCgkgIENlcnRhaW4gZWxlbWVudHMgZXhwZWN0IHRoYXQgdGhlcmUgYmUgYSBjZXJ0YWluIG51bWJlciBvZiBsaW5lcwoJICB0aGF0IHRoZXkgY2FuIHdyaXRlIGludG8uICBlLmcuIGZvciBvZGQgaGVpZ2h0cywgSTQyMCwgWVYxMiwgTlYxMiwKCSAgTlYyMSAoYW5kIG90aGVycykgWSBsaW5lcyBhcmUgZXhwZWN0ZWQgdG8gaGF2ZSBleGFjdGx5IHR3aWNlIHRoZQoJICBudW1iZXIgb2YgVS9VViBsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcxNwoKMjAxNC0wNy0zMSAxNDowNzoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbG1lbW9yeTogdXNlIEdzdFZpZGVvSW5mbyBldmVyeXdoZXJlCgkgIFNpbXBsaWZpZXMgYSBsb3Qgb2YgdGhlIGNhbGxpbmcgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzE3CgoyMDE0LTA3LTMwIDE2OjMyOjAxIC0wMzAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWJsdXI6IGZhY2VkZXRlY3Q6IGFkZCBwcm9wZXJ0aWVzIHRvIGZhY2VibHVyCgkgIE1ha2VzIGZhY2VibHVyIGhhdmUgdGhlIHNhbWUgcHJvcGVydGllcyBhcyBmYWNlZGV0ZWN0LiBBbHNvIGltcHJvdmVzCgkgIHRoZSBzdGFuZGFyZCBkZWZhdWx0cyBhbmQgbWFrZXMgdGhlbSB0aGUgc2FtZSBpbiB0aGUgMiBlbGVtZW50cwoKMjAxNC0wNy0zMCAxNjozMDozOSAtMDMwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogcG9zdCBtZXNzYWdlIHdoZW4gcHJvZmlsZSBsb2FkaW5nIGZhaWxzCgoyMDE0LTA3LTMwIDE2OjA3OjE3IC0wMzAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZmFjZWJsdXI6IHVwZGF0ZSBsYXVuY2ggbGluZSBleGFtcGxlcwoJICBSZWZsZWN0IDEuMCBhbmQgbW9yZSB1c2VmdWwgZXhhbXBsZXMKCjIwMTQtMDctMjkgMTM6MjU6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBrZWVwIHRoZSB1cGxvYWRlZCBidWZmZXIgYXJvdW5kIG9uIHN1Y2Nlc3NmdWwgcmVkaXNwbGF5CgkgIFdlIG1pZ2h0IG5lZWQgaXQgbGF0ZXIgdG8gcGVyZm9ybSBhIHJlZGlzcGxheS4gIEdzdEdMVXBsb2FkIHdpbGwgdGFrZQoJICBvZiByZWxlYXNpbmcgdGhlIHByZXZpb3VzIGJ1ZmZlciB3aGVuIGl0IHJlY2VpdmVzIGEgbmV3IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcyNgoKMjAxNC0wNy0yOSAxMTo0Nzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZWVuYWJsZSB0aGUgdGV4dHVyZV9yZyBzdXBwb3J0IGZvciAhZWFnbAoJICBUaGUgR1NUX0dMX0hBVkVfUExBVEZPUk1fRUFHTCBpcyBhbHdheXMgZGVmaW5lZCB3ZSBuZWVkIHRvIGNvbXBhcmUKCSAgYWdhaW5zdCB0aGUgdmFsdWUgaW5zdGVhZC4KCjIwMTQtMDctMjggMTk6MTE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGdpdGlnbm9yZTogdXBkYXRlIHdpdGggbmV3IHRlc3RzCgoyMDE0LTA3LTI4IDE2OjU1OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9maWxlcy9ibHVlLXNxdWFyZS5wbmc6CgkgIHRlc3RzOiBmaWxlczogYWRkcyBtaXNzaW5nIGZpbGUgZnJvbSBwcmV2aW91cyBjb21taXQKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlIHRlbXBsYXRlbWF0Y2ggdGVzdCB0byB3b3JrCgoyMDE0LTA3LTI4IDE1OjQ1OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHRlbXBsYXRlbWF0Y2g6IGFkZCB0ZXN0IHRvIGNoZWNrIHRoYXQgd2UgdXNlIHRoZSBjb3JyZWN0IHJnYiBmb3JtYXQKCSAgdGVtcGxhdGVtYXRjaCBzaG91bGQgdXNlIHRoZSBzYW1lIFJHQiBmb3JtYXQgdGhhdCBvcGVuY3YgdXNlcyAoQkdSKSwgbWFrZSBzdXJlCgkgIHdlIGtlZXAgaXQgdGhhdCB3YXkgd2l0aCB0aGlzIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0ODUKCjIwMTItMDYtMTUgMTM6MTk6MDYgKzAxMDAgIERhdmlkIFJvdGhsaXNiZXJnZXIgPGRhdmlkLnJvdGhsaXNiZXJnZXJAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2IHRlbXBsYXRlbWF0Y2g6IFNldCBjYXBzIHRvIEJHUiBvcmRlcgoJICB0ZW1wbGF0ZW1hdGNoIG9wZXJhdGVzIG9uIEJHUiBkYXRhLiBJbiBmYWN0LCBPcGVuQ1YncyBJcGxJbWFnZSBhbHdheXMKCSAgc3RvcmVzIGNvbG9yIGltYWdlIGRhdGEgaW4gQkdSIG9yZGVyIC0tIHRoaXMgaXNuJ3QgZG9jdW1lbnRlZCBhdCBhbGwgaW4KCSAgdGhlIE9wZW5DViBzb3VyY2UgY29kZSwgYnV0IHRoZXJlIGFyZSBoaW50cyBhcm91bmQgdGhlIHdlYiAoc2VlIGZvcgoJICBleGFtcGxlCgkgIGh0dHA6Ly93d3cuY3MuaWl0LmVkdS9+YWdhbS9jczUxMi9sZWN0LW5vdGVzL29wZW5jdi1pbnRyby9vcGVuY3YtaW50cm8uaHRtbCNTRUNUSU9OMDAwNDEwMDAwMDAwMDAwMDAwMDAKCSAgYW5kIGh0dHA6Ly93d3cuY29tcC5sZWVkcy5hYy51ay92aXNpb24vb3BlbmN2L2lwbGltYWdlLmh0bWwgKS4KCSAgZ3N0X3RlbXBsYXRlbWF0Y2hfbG9hZF90ZW1wbGF0ZSBsb2FkcyB0aGUgdGVtcGxhdGUgKHRoZSBpbWFnZSB0byBmaW5kKQoJICBmcm9tIGRpc2sgdXNpbmcgT3BlbkNWJ3MgY3ZMb2FkSW1hZ2UsIHNvIGl0IGlzIHN0b3JlZCBpbiBhbiBJcGxJbWFnZSBpbgoJICBCR1Igb3JkZXIuIEJ1dCBpbiBnc3RfdGVtcGxhdGVtYXRjaF9jaGFpbiwgbm8gT3BlbkNWIGNvbnZlcnNpb24KCSAgZnVuY3Rpb25zIGFyZSB1c2VkOiB0aGUgaW1hZ2VEYXRhIHBvaW50ZXIgb2YgdGhlIElwbEltYWdlIGZvciB0aGUgdmlkZW8KCSAgZnJhbWUgKHRoZSBpbWFnZSB0byBzZWFyY2ggaW4pIGlzIGp1c3Qgc2V0IHRvIHBvaW50IHRvIHRoZSByYXcgYnVmZmVyCgkgIGRhdGEuIFdpdGhvdXQgdGhpcyBmaXgsIHRoYXQgcmF3IGRhdGEgaXMgaW4gUkdCIG9yZGVyLCBzbyB0aGUgY2FsbCB0bwoJICBjdk1hdGNoVGVtcGxhdGUgZW5kcyB1cCBjb21wYXJpbmcgdGhlIHRlbXBsYXRlJ3MgQmx1ZSBjaGFubmVsIGFnYWluc3QKCSAgdGhlIGZyYW1lJ3MgUmVkIGNoYW5uZWwsIHByb2R1Y2luZyB2ZXJ5IHBvb3IgcmVzdWx0cy4KCjIwMTQtMDctMjggMTM6MTA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBtYXJrIHBhZHMgYXMgcHJveHkgY2FwcwoJICBBbGxvd3MgbmVnb3RpYXRpb24gdG8gaGFwcGVuIHByb3Blcmx5CgoyMDEyLTA2LTI1IDIwOjM3OjAxICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUHJvZHVjZSBhIHdhcm5pbmcgbWVzc2FnZSBpZiB3ZSBjYW4ndCBsb2FkIGEgdGVtcGxhdGUgaW1hZ2UKCjIwMTItMDYtMjAgMTU6MjI6NTIgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBNYXRjaCByZWN0YW5nbGUgZ3Jvd3MgcmVkZGVyIHdpdGggaW5jcmVhc2VkIG1hdGNoIGNlcnRhaW50eQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nIHlvdXIgbWF0Y2hlcyBhcyBpdCBpbmRpY2F0ZXMgaG93IGNlcnRhaW4gdGhlCgkgIG1hdGNoIHdhcyBpbiBhZGRpdGlvbiB0byBpdHMgcG9zaXRpb24uCgoyMDEyLTA2LTIwIDE1OjA1OjQwICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJICB0ZW1wbGF0ZW1hdGNoOiBBbGxvdyBjaGFuZ2luZyB0ZW1wbGF0ZSBwcm9wZXJ0eSBvbiB0aGUgZmx5CgkgIFByZXZpb3VzbHkgY2hhbmdpbmcgdGhlIHRlbXBsYXRlIHByb3BlcnR5IHJlc3VsdGVkIGluIGFuIGV4Y2VwdGlvbgoJICB0aHJvd24gZnJvbSBjdk1hdGNoVGVtcGxhdGUsIGJlY2F1c2UgImRpc3RfaW1hZ2UiICh0aGUgaW50ZXJtZWRpYXRlCgkgIG1hdGNoLWNlcnRhaW50eS1kaXN0cmlidXRpb24pIHdhcyB0aGUgd3Jvbmcgc2l6ZSAoYmVjYXVzZSB0aGUKCSAgdGVtcGxhdGUgaW1hZ2Ugc2l6ZSBoYWQgY2hhbmdlZCkuCgkgIExvY2tpbmcgaGFzIGFsc28gYmVlbiBhZGRlZCB0byBhbGxvdyBjaGFuZ2luZyB0aGUgcHJvcGVydGllcyAoZS5nLiB0aGUKCSAgcGF0dGVybiB0byBtYXRjaCkgd2hpbGUgdGhlIHBpcGVsaW5lIGlzIHBsYXlpbmcuCgkgICogZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlIGlzIG1vdmVkIG91dHNpZGUgb2YgdGhlIGxvY2ssIGJlY2F1c2UgaXQgd2lsbAoJICBjYWxsIGludG8gYXJiaXRyYXJ5IHVzZXIgY29kZSAob3RoZXJ3aXNlLCBpZiB0aGF0IHVzZXIgY29kZSBjYWxscyBpbnRvCgkgIGdzdF90ZW1wbGF0ZW1hdGNoX3NldF9wcm9wZXJ0eSBvbiB0aGlzIHNhbWUgdGhyZWFkIGl0IHdvdWxkIGRlYWRsb2NrKS4KCSAgKiBnc3RfdGVtcGxhdGVfbWF0Y2hfbG9hZF90ZW1wbGF0ZTogSWYgd2UgZmFpbCB0byBsb2FkIHRoZSBuZXcgdGVtcGxhdGUKCSAgd2Ugc3RpbGwgdW5sb2FkIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZSwgc28gdGhpcyBlbGVtZW50IGJlY29tZXMgYSBuby1vcAoJICBpbiB0aGUgcGlwZWxpbmUuIFRoZSBhbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byBrZWVwIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZTsKCSAgSSBiZWxpZXZlIHVubG9hZGluZyB0aGUgcHJldmlvdXMgdGVtcGxhdGUgaXMgYSBiZXR0ZXIgY2hvaWNlLCBiZWNhdXNlIGl0CgkgIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgc3RhdGUgdGhpcyBlbGVtZW50IHdvdWxkIGJlIGluIGlmIGl0IGZhaWxzIHRvCgkgIGxvYWQgdGhlIHZlcnkgZmlyc3QgdGVtcGxhdGUgYXQgc3RhcnQtdXAuCgkgIFRoYW5rcyB0byBXaWxsIE1hbmxleSBmb3IgdGhlIGJ1bGsgb2YgdGhpcyB3b3JrOyBhbnkgZXJyb3JzIGFyZSBwcm9iYWJseQoJICBtaW5lLgoKMjAxMi0wNi0wMSAxNjowNzozNCArMDEwMCAgRGF2aWQgUm90aGxpc2JlcmdlciA8ZGF2aWQucm90aGxpc2JlcmdlckB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBQYXNzIHZpZGVvIHRocm91Z2ggd2hlbiBub3RoaW5nIHRvIG1hdGNoIGFnYWluc3QKCSAgVGhlIGVhcmx5IHJldHVybiB3YXMgYnlwYXNzaW5nIHRoZSBjYWxsIHRvIGdzdF9wYWRfcHVzaC4gV2l0aCBubwoJICBmaWx0ZXItPnRlbXBsYXRlIChhbmQgdGh1cyBubyBmaWx0ZXItPmN2VGVtcGxhdGVJbWFnZSkgdGhlIHJlc3Qgb2YgdGhpcwoJICBmdW5jdGlvbiBpcyBlc3NlbnRpYWxseSBhIG5vLW9wIChleGNlcHQgZm9yIHRoZSBjYWxsIHRvIGdzdF9wYWRfcHVzaCkuCgkgIFRoaXMgKHBsdXMgdGhlIHByZXZpb3VzIGNvbW1pdCkgYWxsb3dzIHRlbXBsYXRlbWF0Y2ggdG8gYmUKCSAgZW5hYmxlZC9kaXNhYmxlZCB3aXRob3V0IHJlbW92aW5nIGl0IGVudGlyZWx5IGZyb20gdGhlIHBpcGVsaW5lLCBieQoJICBzZXR0aW5nL3Vuc2V0dGluZyB0aGUgdGVtcGxhdGUgcHJvcGVydHkuCgoyMDEyLTA2LTIwIDE1OjA1OjA2ICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUmVtb3ZlIG5vLW9wIGNhbGwgdG8gZ3N0X3RlbXBsYXRlbWF0Y2hfbG9hZF90ZW1wbGF0ZQoJICBXZSBoYXZlIGp1c3Qgc2V0IGZpbHRlci0+dGVtcGxhdGUgdG8gTlVMTCwgc28KCSAgZ3N0X3RlbXBsYXRlbWF0Y2hfbG9hZF90ZW1wbGF0ZSBkaWQgbm90aGluZy4KCjIwMTQtMDctMDggMTk6MTg6NDggLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBjbGFyaWZ5IHVuaXRzIGZvciBmcmVxIGFuZCBzeW1ib2wtcmF0ZQoKMjAxNC0wNy0wNyAxODo1MjoyMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhZGQgcHJlbGltaW5hcnkgIHN1cHBvcnQgZm9yIElTREItVC9UYgoJICBJU0RCLVQgYW5kIElTREItVGIgKHRoZSBCcmF6aWxpYW4gdmFyaWFudCkgYXJlIHRoZQoJICB0ZXJyZXN0aWFsIERUViBzdGFuZGFyZHMgdXNlZCBieSBKYXBhbiwgUGhpbGlwcGluZXMsCgkgIE1hbGRpdmVzLCBUaGFpbGFuZCwgbW9zdCBTb3V0aCBBbWVyaWNhbiBjb3VudHJpZXMKCSAgYW5kIEJvdHN3YW5hLiBDaGFuZ2VzZXQgYWRkcyB0aGUgc2V0IG9mIHByZXZpb3VzbHkKCSAgbWlzc2luZyAoYW5kIHJlcXVpcmVkKSBJU0RCLVQgcGFyYW1ldGVycywgYWRhcHRlcgoJICBhbmQgZnJvbnRlbmQgc2V0dXAgbG9naWMgYW5kIHByb3hpZXMgdGhlIG5ldwoJICBwcm9wZXJ0aWVzIG9uIGR2YmJhc2ViaW4uCgkgIFRlc3RlZCB0byB3b3JrIHdpdGggdGhlIGxpdmUgYWVyaWFsIGJyb2FkY2FzdCBieQoJICBUdiBQYXJhw61iYSBIRCBpbiBDYW1waW5hIEdyYW5kZSAoQnJhemlsKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjg3NQoKMjAxNC0wNy0wNSAwMzowODowMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBtYWtlIHNsb2YvbG9mMS9sb2YyIHNldHRhYmxlIHByb3BlcnRpZXMKCSAgQWxsb3dzIHByb3BlciB0dW5pbmcgYXJvdW5kIGhpZ2gvbG93IGJhbmQgYm91bmRhcmllcyB3aGVuIHVzaW5nCgkgIG5vbiAic3RhbmRhcmQiIExOQnMuCgkgIE5vdCBhbGwgTE5CcyAoTG93IG5vaXNlIGJsb2NrIGRvd24gY29udmVydGVycykgYXJlIG1hZGUgZXF1YWwuCgkgIFRoaXMgaXMgcGFydGljdWxhcmx5IHRydWUgZm9yIHVuaXZlcnNhbCBMTkJGcywgd2hlcmUsIGV2ZW4gdGhvdWdoCgkgIHRoZXJlIGFyZSBzZWVtaW5nbHkgc3RhbmRhcmQgdmFsdWVzIGZvciB0aGUgbG9jYWwgb3NjaWxsYXRvcgoJICBmcmVxdWVuY2llcywgdGhlc2UgY2FuIHZhcnkgZnJvbSBtYW51ZmFjdHVyZXIgdG8gbWFudWZhY3R1cmVyCgkgIGFuZCBMTkIgbW9kZWwuIENoYW5nZSBhbHNvIHByb3hpZXMgdGhlIG5ldyBMTkIgcHJvcGVydGllcyBpbgoJICBkdmJiYXNlYmluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODE4CgoyMDE0LTA3LTI3IDEzOjI2OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogc2lsZW5jZSBnc2lnbmFsIHdhcm5pbmcKCSAgaW5zdGFuY2UgJzB4YmxhaCcgaGFzIG5vIGhhbmRsZXIgd2l0aCBpZCAnMTMnCgoyMDE0LTA3LTI2IDEzOjI3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGRvIG5vdCBnaXZlIHJlZmVyZW5jZXMgdG8gcHJvYmVzCgkgIFRoZXkgYXJlIGtlcHQgdW50aWwgdGhlIHByb2JlcyBhcmUgcmVtb3ZlZCBidXQgdGhleSB3aWxsIG5ldmVyIGJlCgkgIHJlbW92ZWQgYXMgdGhlIHJlZmNvdW50IG9mIHRoZSBlbGVtZW50IHdvbid0IGdldCB0byAwIGJlY2F1c2UgdGhlCgkgIHByb2JlcyBvd24gcmVmZXJlbmNlcyAoY3ljbGljIHJlZnMpLiBBcyB0aGUgcHJvYmVzIHNob3VsZCBvbmx5IGJlCgkgIHJ1bm5pbmcgYXMgbG9uZyBhcyB0aGUgZWxlbWVudCBpcyBydW5uaW5nIHRoZXJlIGlzIG5vIG5lZWQgdG8KCSAgc2VjdXJlIGEgcmVmIGZvciB0aGVtLgoJICBSZW1vdmVzIDMgbGVha2VkIHJlZnMgb2Ygd3JhcHBlcmNhbWVyYWJpbnNyYwoKMjAxNC0wNy0yNiAxMjo0NjowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVzZSBnc3Rfb2JqZWN0X3JlZiB0byBtYWtlIGl0IGVhc2llciB0byB0cmFjayByZWZzCgkgIEhlbHBzIGRlYnVnZ2luZwoKMjAxNC0wNy0yNiAxMjozODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiB1bnJlZiByZXF1ZXN0IHBhZHMKCSAgRG8gbm90IGZvcmdldCB0byB1bnJlZiBvdXRwdXQtc2VsZWN0b3IgcmVxdWVzdGVkIHBhZHMKCjIwMTQtMDQtMjEgMjM6MDU6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJICBqcGVncGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNTYKCjIwMTQtMDctMjQgMTI6MjU6MzYgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93LzExOiBFbWl0IHNpZ25hbHMgZm9yIG1vdXNlIGFuZCBrZXkgbmF2aWdhdGlvbiBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wNy0yNCAxMjoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IENvbnN0aWZ5IHN0cmluZyBwYXJhbWV0ZXJzIHRvIHRoZSBzZW5kXypfZXZlbnQoKSBmdW5jdGlvbnMKCjIwMTQtMDctMjQgMTM6MDU6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgZXh0cmEgYXJndW1lbnQgZnJvbSBkZWJ1ZyBjYWxsCgoyMDE0LTA3LTA3IDAwOjIwOjAxICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBBZGQgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIGNhbGxiYWNrcyBmb3IgR3N0R0xXaW5kb3cgbW91c2Uva2V5IHNpZ25hbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wNy0wNiAyMzozOTo0NyArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBHc3RHTFdpbmRvdyA6IEFkZCBtb3VzZS1ldmVudCBhbmQga2V5LWV2ZW50IHNpZ25hbHMgZm9yIG5hdmlnYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wNy0yMyAxMDoyNTozMSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbDogZml4IG11bHRpIGdsIG9iamVjdCBsZWFrcwoJICAxLiBmaXggRkJPIGxlYWtzIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIDIuIGZpeCB0ZXh0dXJlIGxlYWtzIGluIGRlY2lkZV9hbGxvY2F0aW9uIGFuZCByZXNldAoJICAzLiBmaXggdGV4dHVyZSBsZWFrcyBpbiBGQk8gaW5jb21wbGV0ZSBlcnJvciBwYXRoCgoyMDE0LTA3LTIzIDEzOjU1OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBvbmx5IGZsdXNoIGJ1ZmZlcnMgaWYgcmVuZWdvdGlhdGlvbiBpcyBuZWVkZWQKCSAgVGhpcyBhdm9pZCBleHRyYSBvdmVyaGVhZCB3aGVuIHRha2luZyBzZXF1ZW50aWFsIHBpY3R1cmVzIHRoYXQgd291ZGxuJ3QKCSAgbmVlZCByZW5lZ290aWF0aW9uCgoyMDE0LTA3LTIzIDEzOjM3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogaGFuZGxlIEVPUyBvbiB0aGUgcGlwZWxpbmUKCSAgTWFrZSBjYW1lcmFiaW4gaGFuZGxlIEVPUyB0byB0aGUgcGlwZWxpbmUgdG8gYWxsb3cgc3RhbmRhcmQgcGlwZWxpbmUKCSAgY2xvc2Ugd2hlcmUgYW4gRU9TIGlzIHNlbnQgdG8gdGhlIHdob2xlIHBpcGVsaW5lIGJlZm9yZSBzZXR0aW5nIGl0IHRvIE5VTEwuCgoyMDE0LTA3LTIxIDE4OjIyOjE4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEbyBub3Qgc2NhbiBmb3Iga2V5ZnJhbWUgd2hlbiBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0OTAKCjIwMTQtMDctMjEgMTg6MjE6NDEgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvIG5vdCBzY2FuIGZvciBhIGtleWZyYW1lIGluIG5vbi1hY2N1cmF0ZSBtb2RlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDkwCgoyMDE0LTA3LTAxIDEwOjI0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcmVtb3ZlIG9ic29sZXRlIGNvZGUKCSAgQnVmZmVycyBoYXZlIG5vIGNhcHMgaW4gMS4wCgoyMDE0LTA3LTAxIDEwOjA3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHBwYXk6IHB1dCBhbGwgc3RpY2t5IGV2ZW50cyBpbiBzdHJlYW1oZWFkZXIKCSAgVXNlIHRoZSBzdGlja3kgZXZlbnRzIHRvIGNvbXBvc2UgdGhlIHN0cmVhbWhlYWRlciBhcyB0aGV5IGFyZSB0aGUKCSAgb25lcyB0aGF0IGFyZSBwZXJzaXN0ZWQgdG8gY29uZmlnIG5ldyBwYWRzIGxpbmtlZC4gSW5zdGVhZCBvZiBzdG9yaW5nCgkgIHRoZW0gb3Vyc2VsdmVzIHJlbHkgb24gdGhlIHBhZCBzdG9yYWdlIHRoYXQgYWxyZWFkeSBvcmRlcnMgaXQgZm9yIHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1OTYKCjIwMTQtMDctMjEgMjE6MDM6MjYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGltcHJvdmUgZW51bSBHc3RGYWNlRGV0ZWN0VXBkYXRlcyBkZXNjcmlwdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUwOQoKMjAxNC0wNS0yMSAxMjo1OTo1NyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogbWFrZSB1cGRhdGVzIG9uX2NoYW5nZSB3b3JrcyBhcyBleHBlY3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTA5CgoyMDE0LTA3LTIyIDEyOjQyOjM2ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubWVuYzogUG9ydCBQTk0gRW5jb2RlciB0byB1c2UgR3N0VmlkZW9FbmNvZGVyIENsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5NDMKCjIwMTQtMDYtMTggMTE6NDQ6NTQgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm1kZWM6IFBhdGNoIHRvIGhhbmRsZSBtYXggdmFsdWUKCSAgQ29udmVydCB0aGUgaW1hZ2UgdmFsdWVzIGZyb20gMC1tYXh2YWx1ZSB0byAwLTI1NSB3aGVuCgkgICdkZWNvZGluZycgdGhlIHBubSBpbWFnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzczCgoyMDE0LTA3LTE1IDE2OjQyOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZWRlYzogaGFuZGxlIHNlZ21lbnQgZXZlbnQgZWFybGllcgoJICBEZWxheWluZyB0aGUgc2VnbWVudCBldmVudCB0byB3aGVuIGNhcHMgYXJlIGRlY2lkZWQgY2FuIGNhdXNlIGlzc3VlcyBhcwoJICB0aGUgZmlyc3QgdGhpbmcga2F0ZWRlYyBkb2VzIG9uIGl0cyBjaGFpbiBmdW5jdGlvbiBpdCBkb2luZyBhIHNlZ21lbnQgY2xpcC4KCSAgSXQgd2lsbCBsZWFkIHRvIGFuIGFzc2VydGlvbiBpZiB0aGUgc2VnbWVudCBmb3JtYXQgaXMgdW5kZWZpbmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMjYKCjIwMTQtMDctMTUgMTY6NDE6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBoYW5kbGUgc3RyZWFtaGVhZGVycyBpbiBjYXBzCgkgIFByb3Blcmx5IGhhbmRsZSB0aGUgY2FwcyBldmVudCBieSBjb25maWd1cmluZyB0aGUga2F0ZSBkZWNvZGluZyBsaWIgdXNpbmcgdGhlCgkgIGF2YWlsYWJsZSBzdHJlYW1oZWFkZXJzLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGRlY29kZSBrYXRlIHN1YnRpdGxlcyB3aGVuCgkgIHRoZSBzdHJlYW0gaXMgc2Vla2VkIGJlZm9yZSBrYXRlZGVjIGdldHMgdGhlIGluaXRpYWwgYnVmZmVycyB0aGF0IGFyZSB1c3VhbGx5CgkgIHRoZSBzdHJlYW1oZWFkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjI2CgoyMDE0LTA3LTIxIDE3OjM0OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuanBlZzogRG9uJ3QgcmVtZW1iZXIgLWxvcGVuanAyIGFzIGxpYnMgd2hlbiBmYWxsaW5nIGJhY2sgdG8gb3BlbmpwZWcxCgoyMDE0LTA3LTIxIDExOjA3OjI4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2w6IFJlb3JkZXIgQ0ZMQUdTIHRvIGluY2x1ZGUgaW4tc291cmNlIGRpcnMgZmlyc3QgaW4gZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQyNgoKMjAxNC0wNS0wNiAwOToyODoxNCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5qcGVnOiBXaW4zMi1jb21wYXRpYmxlIE9wZW5KUEVHLTIuMCBkZXRlY3Rpb24KCSAgT3BlbkpQRUcgMi4wIEFQSSB1c2VzIHN0ZGNhbGwgb24gVzMyIGJ5IGRlZmF1bHQuIFRoaXMgcHJldmVudHMgbm9ybWFsCgkgIGF1dG9jb25mIGxpYnJhcnkgbWFjcm9zIGZyb20gZmluZGluZyBpdHMgZnVuY3Rpb25zLgoJICBBIG1vcmUgY29tcGF0aWJsZSBjaGVjayBpcyB0byBhY3V0YWxseSBsaW5rIGEgcHJvZ3JhbSB0aGF0IGluY2x1ZGVzIGEKCSAgcmVhbCBoZWFkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0ODcKCjIwMTQtMDctMjEgMTA6MTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjE0OiBlcnJvcjogdmFyaWFibGUgJ29uaV90cycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjc1MjoyNjogbm90ZTogdW5pbml0aWFsaXplZCB1c2Ugb2NjdXJzIGhlcmUKCSAgR1NUX0JVRkZFUl9QVFMgKGJ1ZikgPSBvbmlfdHMgLSBzcmMtPm9uaV9zdGFydF90czsKCSAgXn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxMDogbm90ZTogcmVtb3ZlIHRoZSAnaWYnIGlmIGl0cyBjb25kaXRpb24gaXMgYWx3YXlzIHRydWUKCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjE0OiBlcnJvcjogdmFyaWFibGUgJ29uaV90cycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyICcmJicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjc1MjoyNjogbm90ZTogdW5pbml0aWFsaXplZCB1c2Ugb2NjdXJzIGhlcmUKCSAgR1NUX0JVRkZFUl9QVFMgKGJ1ZikgPSBvbmlfdHMgLSBzcmMtPm9uaV9zdGFydF90czsKCSAgXn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxNDogbm90ZTogcmVtb3ZlIHRoZSAnJiYnIGlmIGl0cyBjb25kaXRpb24gaXMgYWx3YXlzIHRydWUKCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NjQyOjE4OiBub3RlOiBpbml0aWFsaXplIHRoZSB2YXJpYWJsZSAnb25pX3RzJyB0byBzaWxlbmNlIHRoaXMgd2FybmluZwoJICB1aW50NjRfdCBvbmlfdHM7CgkgIF4KCSAgPSAwCgoyMDE0LTA3LTE3IDE2OjI1OjU0ICswMjAwICBGYWJyaWNlIEJlbGxldCA8ZmFicmljZUBiZWxsZXQuaW5mbz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgcGFyc2VyOiBtcGVnNDogZml4IHZsYyB0YWJsZSB1c2VkIGZvciBzcHJpdGUgdHJhamVjdG9yeQoJICBUaGUgdmxjIHRhYmxlIG1lbWJlcnMgY2JpdHMsIGN3b3JkIGFuZCB2YWx1ZXMgd2VyZSBhc3NpZ25lZCBpbiB0aGUgd3JvbmcKCSAgb3JkZXIsIGNhdXNpbmcgdGhlIG1wZWc0IHBhcnNlciB0byBmYWlsIHdoZW4gaGFuZGxpbmcgc3ByaXRlCgkgIHRyYWplY3Rvcmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzMyMgoKMjAxNC0wNy0xOCAxNTowOTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE1ha2Ugc3RhdGlzdGljcyBtZXNzYWdlIG1vcmUgZ2VuZXJpYyBmb3Igb3RoZXIgYWRhcHRpdmUgc3RyZWFtaW5nIGRlbXV4ZXJzIHRvIHJldXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4MjgKCjIwMTQtMDItMjUgMTE6NTg6NTcgKzAxMDAgIEFsZXhhbmRlciBaYWxsZXNvdiA8emFsbGVzb3ZAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvdmlkZSBzdGF0aXN0aWNzIGFib3V0IHRpbWUgdG8gZG93bmxvYWQgcGxheWxpc3RzIGFuZCBmcmFnbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTgyOAoKMjAxNC0wNy0xOSAxODowNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS40LjAgPT09CgoyMDE0LTA3LTE5IDE3OjI3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjQuMAoKMjAxNC0wNy0xOSAxNjo0NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTE5IDEyOjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTE2IDE4OjI3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc2V0IHNyYyB0byByZWFkeSB3aGVuIHRoZXJlIGFyZSBubyBwZW5kaW5nIGJ1ZmZlcnMKCSAgU2V0dGluZyB0byByZWFkeSB3aWxsIGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgdG8gYmUgcmVjbGFpbWVkLCBzbyBmbHVzaAoJICBiZWZvcmUgc2V0dGluZyB0byBudWxsIHRvIG1ha2Ugc3VyZSBubyBidWZmZXJzIGFyZSBwZW5kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNzIKCjIwMTQtMDctMTcgMTA6MDU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBvZiBnbCBmeHRlc3QgZXhhbXBsZSBvbiB3aW4zMiB3aXRoIEd0aysgMy4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNjMKCjIwMTQtMDctMTcgMDA6MTE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogUHJvdmlkZSB0aGUgc2l6ZSBvZiBvdXIgYXJyYXkgdG8gR2V0RGVzdGluYXRpb25PdXRwdXREZXZpY2VJRHMKCSAgT3RoZXJ3aXNlIGl0IGRvZXMgbm90IGFuZCBqdXN0IGZhaWxzLiBJdCBuZWVkcyB0byBrbm93IHRoZSBzaXplIG9mIHRoZQoJICBhcnJheSB0byBub3Qgd3JpdGUgdG9vIG11Y2ggdG8gaXQuCgoyMDE0LTA3LTE3IDAwOjExOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlc3Npbms6IFNpbGVuY2Ugc29tZSBlcnJvciBkZWJ1ZyBvdXRwdXQgdG8gbG9nIG91dHB1dAoJICBUaGVzZSBhcmUgbm90IHJlYWxseSBlcnJvcnMsIGp1c3QgdW5zdXBwb3J0ZWQgZmVhdHVyZXMgd2UgZG9uJ3QKCSAgbmVjZXNzYXJpbHkgbmVlZC4KCjIwMTQtMDctMTYgMTY6NTc6MzUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVzZXQgZmxvd19yZXR1cm4gKmFmdGVyKiBzdG9wcGluZyB0aGUgc3JjcGFkIHRhc2suCgkgIE90aGVyd2lzZSBpdCBtaWdodCBiZSBzZXQgaW4gYW4gYWxyZWFkeSBydW5uaW5nIGFnZ3JlZ2F0ZSBmdW5jdGlvbi4KCjIwMTQtMDctMTAgMTM6MTg6MjEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRmx1c2ggc2lua3BhZHMgd2hlbiBzdG9wcGluZwoJICBBbGwgdmFsdWVzIGFyZSBtZWFuaW5nbGVzcyBpbiB0aGF0IGNhc2UsIHNvIHdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdAoJICB3ZSBjbGVhbiBldmVyeXRoaW5nCgoyMDE0LTA3LTEwIDEzOjE1OjU1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvIG5vdCBmb3JnZXQgdG8gcmVzZXQgdGhlIGZsb3cgcmV0dXJuIHdoZW4gc3RvcGluZwoJICBTZXR0aW5nIGl0IHRvIEZMVVNISU5HIHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IHN0YXJ0ZWQsIGFuZCB0byBPSwoJICB3aGVuIGl0IHN0YXJ0cy4KCjIwMTQtMDctMDggMTY6NDg6MDggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSGFuZGxlIGV2ZW50IHNlcW51bQoKMjAxNC0wNy0xMyAxNjowNzowMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBdm9pZCB0YWtpbmcgdW5uZWNlc3NhcnkgcmVmCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMjMKCjIwMTQtMDctMTYgMTY6MzE6MjcgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IEluY2x1ZGUgR0xfQ0ZMQUdTIHdoaWxlIGNoZWNraW5nIGZvciBHTCB0eXBlZGVmcwoJICBPdGhlcndpc2UgdGhvc2UgY2hlY2tzIG1heSBmYWlsIGF0IGNvbmZpZ3VyZSB0aW1lIGlmIHRoZXkgY29udGFpbiBleHRyYQoJICBpbmNsdWRlIHBhdGhzLCB3aGlsZSBhdCBidWlsZCB0aW1lIHRoZXkgYXJlIGluY2x1ZGVkLCBwb3RlbnRpYWxseSBjYXVzaW5nCgkgIGluY29tcGF0aWJsZSB0eXBlZGVmcyBiZXR3ZWVuIHN5c3RlbSBHTCBoZWFkZXJzIGFuZCBnc3RyZWFtZXIgY29tcGF0aWJpbGl0eQoJICBwcm90b3R5cGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjQ4CgoyMDE0LTA3LTE2IDE2OjI5OjEwICswMzAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBBbHdheXMgaW5jbHVkZSBFR0xfQ0ZMQUdTIGluIEdMX0NGTEFHUyB3aGVuIEVHTF9MSUJTIGlzIGFkZGVkIHRvIEdMX0xJQlMKCSAgVGhleSBzaG91bGQgYmUgaGFuZGxlZCBpbiB0YW5kZW0sIGluIGNhc2UgYW55IEVHTCBwcm92aWRlciBjb3VsZCByZXF1aXJlIHNvbWUKCSAgQ0ZMQUdTIGFuZCBzZXQgdGhlbSAocG9zc2libHkgb25jZSBtb3ZlZCB0byBwcmVmZXIgcGtnLWNvbmZpZyBmaWxlcyksCgkgIHN1Y2ggYXMgZm9yIGEgY3VzdG9tIGhlYWRlciBsb2NhdGlvbi4KCjIwMTQtMDMtMTcgMTY6MDk6NDYgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU1NQoKMjAxNC0wNy0xNSAxMzoyOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE9wZW4gRGlyZWN0M0QgZGV2aWNlcyBpbiBhIHRocmVhZHNhZmUgd2F5CgkgIE90aGVyd2lzZSB3ZSdsbCBnZXQgY3Jhc2hlcyB3aGVuIHVzaW5nIHRoZSBkZXZpY2UgZnJvbSBtdWx0aXBsZQoJICB0aHJlYWRzLCBlLmcuIHdoZW4gdXNpbmcgbXVsdGlwbGUgc2lua3MgYXQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUyMwoKMjAxNC0wNy0xMSAyMToxNTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsc3Noc2luazogSW5jbHVkZSBnc3QuaCBhbmQgb3RoZXIgc3R1ZmYgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTQtMDctMTEgMTA6NDA6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggY2FwcyBmaWx0ZXIgY2FwcyBwcm94eWluZwoJICBUaGUgbm90aWZ5IHNpZ25hbCBpcyB0cmlnZ2VyZWQgd2hlbiBjYXBzIGlzIGNoYW5nZWQuIEJ1dCBpbnN0ZWFkIG9mCgkgIHByb3h5aW5nIHRoZSBmaXhlZCBjYXBzLCB3ZSBxdWVyeSBmb3IgdGhlIGNhcHMuIEhlbmNlLCB3aGVuIHdlIGdvIHRvCgkgIFJFQURZIHN0YXRlLCB3ZSBlbmR1cCBzZXR0aW5nIHRlbXBsYXRlIGNhcHMgb24gdGhlIHByb3hpZWQgY2FwcwoJICBmaWx0ZXIgaW5zdGVhZCBvZiBOVUxMLCB3aGljaCBsZWFkcyB0byBuZWdvaXRhdGlvbiBmYWlsdXJlLiBDb3JyZWN0bHkKCSAgcHJveHkgTlVMTCBjYXBzIGlmIHRoaXMgaXMgdGhlIG5ldyBjYXBzLiBGaXhlcyBub3QgbmVnb3RpYXRlZCBlcnJvcgoJICB3aGVuIHJ1bm5pbmcgaW4gY2hlZXNlLiBBbHNvIGZpeCBhIGxlYWsgb2YgY2FwcyBzdHJpbmcgaW4gb25lIG9mIHRoZQoJICB0cmFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc0MQoKMjAxNC0wNy0xMSAxMzo1ODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IEFsd2F5cyBidWlsZCBnc3RnbG1peGVyLCBub3Qgb25seSB3aGVuIGZ1bGwgT3BlbkdMIHN1cHBvcnQgaXMgZW5hYmxlZAoKMjAxNC0wNy0xMSAxMzoyNTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsOiBVc2Ugd2luc29jazIgaW5zdGVhZCBhbmQgdGhlIEdMaWIgbWFjcm8gZm9yIGNoZWNraW5nIGlmIHdlJ3JlIG9uIFdpbmRvd3MKCjIwMTQtMDctMTEgMTM6MjU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IFVzZSBubyBuZXR3b3JrIEFQSSBpZiBub3QgcmVxdWlyZWQKCjIwMTQtMDctMTEgMTM6MjE6MjEgKzAyMDAgIEFsZXhleSBQYXZsb3YgPGFsZXhwdXhAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBleHQ6IEluY2x1ZGUgd2luc29jay5oIG9uIFdpbmRvd3Mgd2hlbiByZXF1aXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDUyCgoyMDE0LTA3LTExIDEyOjEzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTEKCjIwMTQtMDctMTEgMTI6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IExpbmsgdG8gYWxsIHJlcXVpcmVkIGxpYnJhcmllcyBidXQgbm90IG1vcmUKCjIwMTQtMDctMTEgMTI6MDE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBQcm9wZXJseSBpbmNsdWRlIGhlYWRlcnMgaW4gTWFrZWZpbGUuYW0KCSAgYW5kIGRvbid0IHNldCBub2luc3RfSEVBREVSUyB0d2ljZS4KCjIwMTQtMDctMTEgMTE6MDU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xMSAwOTo0Mzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdGRlYzogQ2hhbmdlIHJhbmsgdG8gTUFSR0lOQUwgdW50aWwgaXQgY2FuIHByb3Blcmx5IGhhbmRsZSBtdWx0aWNoYW5uZWwgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzc1NwoKMjAxNC0wNy0xMSAwOTo0MTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJICBnbDogTW92ZSBHc3RHTE1peGVyIHRvIHRoZSBwbHVnaW4gZm9yIG5vdwoJICBJdCBkZXBlbmRzIG9uIEdzdEFnZ3JlZ2F0b3IgYW5kIHdlIGRvbid0IHdhbnQgdG8gaW5zdGFsbCBoZWFkZXJzCgkgIGZvciB0aGF0IHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwNwoKMjAxNC0wNy0xMSAwOTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGxpYnM6IERvbid0IGluc3RhbGwgaGVhZGVycyBhbmQgcGMgZmlsZXMgZm9yIGxpYmdzdHdheWxhbmQvYmFkdmlkZW8vYmFkYmFzZQoJICBUaGVzZSB3aWxsIGRpc2FwcGVhciBhZnRlciAxLjQuMCBhbmQgaXQgd291bGQgYmUgcmF0aGVyIGFubm95aW5nIGlmCgkgIHBlb3BsZSBzdGFydGVkIGRlcGVuZGluZyBvbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjA3CgoyMDE0LTA3LTEwIDE1OjUyOjQ2ICswMTAwICBQaGlsaXAgV2l0aG5hbGwgPHBoaWxpcC53aXRobmFsbEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IEZpeCBhIGRvdWJsZS11bnJlZiBpbiB0aGUgT3B1cyBoZWFkZXIgY29kZQoJICBUaGUgaGVhZGVycyB3ZXJlIG5ldmVyIGdldHRpbmcgcmVmZmVkIHdoZW4gYmVpbmcgYWRkZWQgdG8gdGhlIGhlYWRlcnMKCSAgbGlzdCwgd2hpY2ggaXMgbGF0ZXIgdW5yZWZmZWQtYW5kLWZyZWVkIGJ5IHRoZSBjYWxsZXIgKGUuZy4KCSAgZ3N0X29wdXNfcGFyc2VfcGFyc2VfZnJhbWUoKSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwMTMKCjIwMTQtMDctMTEgMDg6NTQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMTAgMTE6Mjk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgQ0FUIHNlY3Rpb24gYW5kIENBIGRlc2NyaXB0b3Igc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTg2CgoyMDE0LTA3LTEwIDExOjI0OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBwYXJzaW5nIGZvciBDQSBkZXNjcmlwdG9yICgweDA1KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTg2CgoyMDE0LTA3LTA3IDExOjUyOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogRmx1c2ggZG93bnN0cmVhbSBhZnRlciBzZXR0aW5nIHNyYyB0byBSRUFEWQoJICB2NGwyc3JjIHJlcXVpcmVzIGFsbCBidWZmZXJzIHRvIGNvbWUgYmFjayBpbiBvcmRlciB0byBjbGVhbmx5IHN0b3AKCSAgc3RyZWFtaW5nLiBGbHVzaGluZyB0aGUgcGlwbGluZSBzaG91bGQgZm9yY2UgYWxsIGJ1ZmZlcnMgdG8gY29tZQoJICBiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzQxCgoyMDE0LTA3LTA2IDExOjI4OjM0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUENsaWVudC5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJICB0ZXN0cy9pY2xlcy9kY2NwOiBSZWxlYXNlIHJlZmVyZW5jZSB0byBwYXJlbnQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk3NwoKMjAxNC0wNy0wOSAxNTowMzo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEtlZXAgYXNwZWN0IHJhdGlvIGJ5IGRlZmF1bHQKCSAgVGhlIGV4cGVjdGVkIGRlZmF1bHQgYmVoYXZpb3VyIGZvciB2aWRlbyBzaW5rIGlzIHRvIG1haW50YWluIHRoZQoJICBhc3BlY3QgcmF0aW8uIEZpeCB0aGUgZGVmYXVsdCB2YWx1ZSB0byByZWZsZWN0IHRoaXMuIFRoZSBwcm9wZXJ0eQoJICBkZWZhdWx0IHdhcyBhbHJlYWR5IFRSVUUsIGJ1dCB0aGUgdmFsdWUgd2FzIG5vdCBpbml0aWFsbHkgVFJVRS4KCjIwMTQtMDctMDYgMDE6NTU6NTAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogTm8gbmVlZCB0byBjaGVjayBmb3IgTlVMTCBiZWZvcmUgY2FsbGluZyBnX2ZyZWUoKQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzg5CgoyMDE0LTA3LTA2IDAxOjU1OjE2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IERvbid0IGNvbmZ1c2Ugc2xpY2UgYWxsb2NhdG9yIHdpdGggcmVndWxhciBvbmUKCSAgUHJldmlvdXNseSBzZWxlY3Rvcl9ieXRlcyBhbmQgcHJpdmF0ZV9kYXRhX2J5dGVzIHdlcmUgc29tZXRpbWVzIGFsbG9jYXRlZCBhbmQKCSAgZnJlZSB1c2luZyB0aGUgbm9ybWFsIGFsbG9jYXRvciBhbmQgc29tZXRpbWVzIHVzaW5nIHRoZSBzbGljZSBhbGxvY2F0b3IuCgkgIEFkZGl0aW9uYWxseSBwcmVmZXIgZ19zdHJkdXAoKSB0byBnX21lbWR1cCgpIGZvciBzdHJpbmdzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzg5CgoyMDE0LTA3LTA5IDA3OjUwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGR2YiBsaW5rYWdlIGxlYWtzCgkgIENJRCAjMTIyNDEzMAoKMjAxNC0wNy0wNCAxNDowNDo0NyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogdXNlIGdldHRlciBmb3IgZWdkZSBsaW5rYWdlIGRlc2NyaXB0b3IgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA3LTA0IDE0OjAyOjIyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIG1wZWd0czogZG9jczogYWRkIG1pc3NlZCAqX2ZyZWUgbWV0aG9kcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA2LTI0IDE5OjE4OjU2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogZml4IGFubm90YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNy0wOSAwNzozODozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHBhZGRpbmcgdG8gcHVibGljIHN0cnVjdHVyZXMKCSAgQWxsb3dzIHVzZSB0byBhZGQgQVBJIGluIHRoZSBmdXR1cmUgd2l0aG91dCBicmVha2luZyBBQkkuIFdlIGJyb2tlIHRoZSBBUEkvQUJJCgkgIG9uY2UgYmV0d2VlbiAxLjIgYW5kIDEuNCwgbGV0J3MgdHJ5IHRvIGF2b2lkIHRoaXMgaW4gdGhlIGZ1dHVyZSBldmVuIGlmIHRoaXMKCSAgaXMgYW4gdW5zdGFibGUgbGlicmFyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNy0wOCAxNTo0MzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBmaXggbGVhayBvZiBzaG9ydCBuYW1lCgoyMDE0LTA3LTA4IDE0OjU2OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZml4IGxlYWsgb2YgbGFuZ3VhZ2UgY29kZQoKMjAxNC0wNy0wNiAyMzozMDo1MyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEZpeCBzb21lIG1vcmUgdGhlIGxvY2tpbmcgbG9naWMgaW4gdXBkYXRlX3NyY19jYXBzCgkgIFdlIG5lZWQgdGhlIEdTVF9PQkpFQ1RfTE9DSyBvbmx5IHRvIGl0ZXJhdGUgdGhlIHNpbmtwYWRzLCBub3RoaW5nIGVsc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTAKCjIwMTQtMDctMDYgMjI6MTY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGJyb2tlbiBsb2NraW5nIGluIHVwZGF0ZV9zcmNfY2FwcyBmdW5jdGlvbgoJICBXZSB3b3VsZCB1bmxvY2sgYW4gYWxyZWFkeS11bmxvY2tlZCBtdXRleCB0aGF0IHdlIG5ldmVyIHJlLWxvY2tlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1MAoKMjAxNC0wNy0wNiAxNjoxNzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4IGxvY2tpbmcKCSAgV2Ugd291bGQgdW5sb2NrIGEgbXV0ZXggd2UgbmV2ZXIgbG9ja2VkIG9uIFNFR01FTlQKCSAgZXZlbnRzLgoKMjAxNC0wNy0wNCAyMTowMDozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogTWFrZSBjYXNjYWRlcyBkaXIgYSBsaXR0bGUgbW9yZSBwb3J0YWJsZQoKMjAxNC0wNy0wNCAyMDo1NToxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IFVzZSBhbHJlYWR5IG1hcHBlZCBpbWFnZQoJICBObyBuZWVkIHRvIG1hcCBhZ2FpbiB0aGUgaW1hZ2UsIGl0J3MgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBiYXNlIGNsYXNzLgoKMjAxNC0wNy0wNCAyMDozOTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogTW92ZSBzaXplIHdhcm5pbmcgaW4gc2V0X2NhcHMgc28gaXQncyBjYWxsZWQgb25jZQoKMjAxNC0wNy0wNCAyMDozMzo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IFBvcnQgdG8gT3BlbmN2VmlkZW9GaWx0ZXIgYmFzZSBjbGFzcwoJICBUaGlzIGZpeGVzIGlzc3VlIHdoaXQgYmxhY2sgZnJhbWVzIHdoZW4gc3BlY2lhbCBtZW1vcnksIGxpa2UgR2xNZW1vcnkgaXMKCSAgaW4gdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1NgoKMjAxNC0wNy0wNCAyMDozMTo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIGN2dmlkZW9maWx0ZXI6IERvbid0IHRyeSB0byBtYWtlIGJ1ZmZlciB3cml0YWJsZQoJICBGaXJzdCB0aGlzIGlzIGhhbmRsZSBieSBiYXNlIHRyYW5zZm9ybSwgaGVuY2UgdGhpcyBpcyBhIG5vLW9wLCBhbmQgaWYgaXQgd2Fzbid0IGl0CgkgIHdvdWxkIGxlYWQgdG8gYSBidWZmZXIgY29weSBiZWluZyBsZWFrZWQsIGFuZCB0aGVuIGFuIHVucmVmZmVkIGJ1ZmZlciBiZWluZwoJICBwdXNoZWQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1NgoKMjAxNC0wNy0wNCAyMDozMDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIGN2dmlkZW9maWx0ZXI6IENoZWNrIGJ1ZmZlcl9tYXAgcmV0dXJuIHZhbHVlCgkgIENoZWNrIHRoZSByZXN0dXJuIHZhbHVlIGFuZCBjbGVhbmx5IGZhaWwgaWYgd2UgY291bGQgbm90IG1hcHBlZCB0aGUgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1NgoKMjAxNC0wNy0wNCAwMzoxOTo0MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFByaW50IGludmFsaWQgZm91cmNjIGluIGVycm9yIG1lc3NhZ2UgaW4gaGV4CgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgcHJpbnRlZCBhcyBjaGFyYWN0ZXJzIHdoaWNoIGNhdXNlZCBsYXRlciBwcm9jZXNzaW5nCgkgIG9mIHRoZSBlcnJvciBtZXNzYWdlIHRvIHNvbWV0aW1lcyB3YXJuIGFib3V0IG5vbi1VVEYtOCBjaGFyYWN0ZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzE1CgoyMDE0LTA3LTA0IDAzOjIwOjIyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBQcmludCBpbnZhbGlkIGZvdXJjYyBpbiBlcnJvciBtZXNzYWdlIGluIGhleAoJICBQcmV2aW91c2x5IHRoaXMgd2FzIHByaW50ZWQgYXMgY2hhcmFjdGVycyB3aGljaCBjYXVzZWQgbGF0ZXIgcHJvY2Vzc2luZwoJICBvZiB0aGUgZXJyb3IgbWVzc2FnZSB0byBzb21ldGltZXMgd2FybiBhYm91dCBub24tVVRGLTggY2hhcmFjdGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcxNQoKMjAxNC0wNy0wNCAxNzo1MTo1OCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc0NAoKMjAxNC0wNy0wMSAxMjozNDo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQWRkIHByb3BlciBjbGVhbiB1cCBvZiBPcGVuTkkyIG9iamVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMjoxODo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmkyc3JjOiBEb24ndCBlbWJlZCBDKysgb2JqZWN0cyBpbiBvdXIgR09iamVjdAoJICBTaW5jZSBDKysgb2JqZWN0cyBzaG91ZGwgYmUgcHJvcGVybHkgY29uc3RydWN0ZWQsIHdlIGtlZXAgb25seSBwb2ludGVycwoJICB0byB0aGVtIGFuZCBtYW51YWxseSBjb25zdHJ1Y3QgdGhlbSBvbiB0aGUgaGVhcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMjoxODoxOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2xvc2UgZGV2aWNlIHdoZW4gc3RvcHBpbmcgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjU4OjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTJzcmM6IEZpeCB0aW1lc3RhbXBpbmcKCSAgT3Blbk5JMiBtYWtlcyBubyBndWFyYW50ZWVzIG9mIHRpbWVzdGFtcCBzdGFydGluZyBmcm9tIHplcm8sIGp1c3QgdGhhdAoJICBpdCB3aWxsIGJlIGEgbWlsbGlzZWNvbmQgdGltZXN0YW1wLiBNYWtlIHRpbWVzdGFtcHMgc3RhcnQgZnJvbSB6ZXJvCgkgIG1hbnVhbGx5IHNvIHRoaW5ncyB3b3JrIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1Njo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogTWFrZSB0aGUgbG9jYXRpb24gcHJvcGVydHkgbm90IGJlIG1hbmRhdG9yeQoJICBPdXIgY2FsbHMgdG8gZGV2aWNlIG9wZW4gYWxyZWFkeSBoYW5kbGUgdGhlIHVuc2V0IGxvY2F0aW9uIGNhc2UgKGJ5CgkgIG9wZW5pbmcgYW55IGF2YWlsYWJsZSBkZXZpY2UpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjU2OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBPcGVuIGRldmljZSBvbiBOVUxMLT5SRUFEWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjUzOjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggZGVhZGxvY2sgd2hlbiBfZ2V0X2NhcHMoKSBpcyBjYWxsZWQgYmVmb3JlIFJFQURZCgkgIFRoZSBvYmplY3QgbG9jayB3YXMgbm90IGJlaW5nIGRyb3BwZWQgaW4gdGhlIGVtcHR5IGNhc2UuIFJlc3RydWN0dXJlZAoJICB0aGUgY29kZSBhIGJpdCB0byBtYWtlIHRoaXMgc29ydCBvZiBlcnJvciBsZXNzIGxpa2VseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1MToyMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogTWFyayBlbGVtZW50IGFzIGEgbGl2ZSBzb3VyY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMyAxOToxMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEFsd2F5cyBsb2NrIHRoZSBEM0Qgc3VyZmFjZXMgaW4gd3JpdGUgbW9kZQoJICBMb2NraW5nIHRoZW0gaW4gcmVhZG9ubHkgbW9kZSBjYW4gZ2l2ZSBkaWZmZXJlbnQgc3RyaWRlIHRvIG1hcHBpbmcKCSAgaW4gd3JpdGUgbW9kZSwgd2hpY2ggdGhlbiBjYXVzZXMgcmVuZGVyaW5nIHRvIGJlIGJyb2tlbi4KCSAgSGFwcGVuZWQgb24gYWxsIChtYW55PykgTlZJRElBIEdQVXMuCgkgIFRoYW5rcyB0byB2b3NrYXRlcjE1QGdtYWlsLmNvbSBmb3IgaGludGluZyBhdCB0aGUgcHJvYmxlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgwOQoKMjAxNC0wNy0wMyAxOTowNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2RoZWxwZXJzOiBTd2FwIFVWIHBsYW5lcyBwcm9wZXJseSBmb3IgWVYxMiBhcyBjb21wYXJlZCB0byBJNDIwCgkgIElmIHdlIG9ubHkgZG8gaXQgaW4gb25lIHBsYWNlIGNvbG9ycyB3aWxsIGxvb2sgZnVubnkuCgoyMDE0LTA3LTAzIDE3OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBQcm9wZXJseSBpbnRlZ3JhdGUgQ09MT1JfUUNPTV9Gb3JtYXRZVlU0MjBTZW1pUGxhbmFyMzJtIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2ODMKCjIwMTQtMDctMDMgMTU6MDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWNhdWRpb2RlYzogYXVkaW8vbXBlZyBpcyBhbHdheXMgTVBFRyAxIGxheWVyIDMKCSAgQ29uZmlndXJpbmcgZS5nLiBsYXllciAyIG9uIHN1Y2ggYSBkZWNvZGVyIHVzdWFsbHkgZmFpbHMgdW5sZXNzCgkgIGl0IGFkZGl0aW9uYWxseSBhbHNvIGFjY2VwdHMgYXVkaW8vbXBlZy1MMi4KCjIwMTQtMDctMDMgMTQ6MTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGlmIHdlIGhhdmUgbm8gUENSIHlldAoJICBDYW4gaGFwcGVuIHNvbWV0aW1lcyBpZiB0aGUgZHVyYXRpb24gaXMgcmVxdWVzdGVkIGJlZm9yZSB3ZQoJICByZWNlaXZlZCBlbm91Z2ggZGF0YSB3aXRoIGEgUENSLgoKMjAxNC0wNy0wMyAyMTozOToxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICB0c2RlbXV4OiBBZGQgbG9ja2luZyBhcm91bmQgbXBlZ3RzcGFja2V0aXNlciBncm91cHMuCgkgIE90aGVyd2lzZSBvY2Nhc2lvbmFsbHkgRFVSQVRJT04gcXVlcmllcyBjYW4gY3Jhc2gsIGlmIHRoZXkgaGFwcGVuIGF0CgkgIHRoZSB3cm9uZyBtb21lbnQuCgoyMDE0LTA3LTAzIDA5OjAwOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb2NvYTogaW5pdGFsaXplIE5TQXBwIGFzYXAgd2hlbiB1c2luZyBnc3QtbGF1bmNoCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjYxCgoyMDE0LTA3LTAyIDEyOjU0OjQ1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBlbmFibGUgdnRkZWMgYW5kIHZ0ZW5jIG9ubHkgb24gPj0gMTAuOCB3aGVyZSBWaWRlb1Rvb2xib3ggaXMgcHVibGljCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNjcwCgoyMDE0LTA3LTAyIDA0OjU0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBhdm9pZCBzZWdmYXVsdCB3aGVuIG91dHB1dCBpc24ndCBjb25maWd1cmVkCgkgIFRoaXMgY2FuIGhlbHAgd2hlbiB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkIGR1cmluZy9hZnRlciB2aWRlb2RlY29kZXIKCSAgYmFzZSBjbGFzcyBzaHV0IGRvd24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzNQoKMjAxNC0wNy0wMiAwMDoyNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogaWdub3JlIHRoZSBkcm9wcGVkIGZsYWcgaWYgYnVmZmVyIHdhcyByZWNlaXZlZAoJICBBcHBhcmVudGx5IHRoZXJlIGlzIHNvbWUgaXNzdWUgd2l0aCBWVCB0aGF0IG1ha2VzIGl0IG1hcmsgdGhlIGRyb3BwZWQKCSAgZmxhZyBldmVuIHRob3VnaCB0aGUgYnVmZmVyIHdhcyBkZWNvZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM1CgoyMDE0LTA3LTAyIDEwOjMxOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgbGVhayBhbGwgc3VyZmFjZXMKCSAgVGhpcyB3YXMgYnJva2VuIHdoZW4gZGlzYWJsaW5nIHRoZSBidWZmZXIgcG9vbCBleHBvcnRpbmcuCgkgIEFsc28gZGlzYWJsZSBidWZmZXIgcG9vbCBhIGJpdCBtb3JlIGVmZmljaWVudC4uLgoKMjAxNC0wNy0wMiAxMDowMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IFBvc3RNZXNzYWdlKCkgdGFrZXMgaW50ZWdlcnMgYXMgbGFzdCBwYXJhbWV0ZXJzLCBub3QgcG9pbnRlcnMKCjIwMTQtMDctMDIgMDk6NTk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA3LTAyIDE3OjM4OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZToKCSAgZ2wvZXhhbXBsZXM6IGdpdGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMTQtMDctMDEgMDg6MzY6NTMgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJICBnbCA6IGZpeCBxZ2x3dGV4dHVyZXNoYXJlIGRlbW8KCjIwMTQtMDYtMjMgMTE6NTM6MTEgKzAyMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBPbmx5IGNyZWF0ZSBhIG5ldyBHU291cmNlIGlmIHdlIGhhdmUgYSBtYWluIGNvbnRleHQKCSAgV2UgY2FuIHN0aWxsIGdldCBPT0IgZXZlbnRzIHdoaWxlIHN0b3BwaW5nIHRoZSB3YXRjaGRvZyBlbGVtZW50LCBhbmQgd2hpbGUKCSAgc3RvcHBpbmcgaXQgd2UgZGVzdHJveSB0aGUgbWFpbiBjb250ZXh0LgoJICBBbHNvIGxldCB0aGUgR1NvdXJjZSBvd24gYSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgZm9yIGFkZGl0aW9uYWwgc2FmZXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTU0CgoyMDE0LTA3LTAxIDEyOjUyOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZXNldCBRb1Mgb24gc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTQwCgoyMDE0LTA3LTAxIDE2OjU0OjAwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZXI6IGFkZCB0ZXN0IHRvIGlkZW50aWZ5IEVPU0VRIC8gRU9TIE5BTHMuCgkgIENoZWNrIHRoYXQgZW5kX29mX3NlcSgpIFtFT1NFUV0gYW5kIGVuZF9vZl9zdHJlYW0gW0VPU10gTkFMIHVuaXRzCgkgIGFyZSBjb3JyZWN0bHkgcGFyc2VkIGFuZCB0aGUgcmVwb3J0ZWQgTkFMIHVuaXQgc2l6ZSB5aWVsZHMgMSBieXRlLAoJICBpLmUuIHRoZSBvbmx5IE5hbEhlYWRlckJ5dGVzIGluIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTUzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTc6MTk6MDAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBhZGQgdGVzdCBmb3IgYnl0ZS1zdHJlYW0vYXUgb3V0cHV0LgoJICBDaGVjayB0aGF0IGNvbnZlcnNpb24gdG8gYnl0ZS1zdHJlYW0vYXUgZm9ybWF0cyB3b3JrIGFuZCB0aGF0IHdlCgkgIGNhbiBlZmZlY3RpdmVseSBkcm9wIGJyb2tlbi9pbnZhbGlkIE5BTCB1bml0cyBmcm9tIHRoZSByZXN1bHRpbmcKCSAgYWNjZXNzIHVuaXQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTg6NDc6NTUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBjaGVjayBTRUkgYnVmZmVyaW5nX3BlcmlvZCgpIG1lc3NhZ2UgaXMgb3V0cHV0LgoJICBJZiBhbiBTRUkgTkFMIHVuaXQgd2l0aCBhIGJ1ZmZlcmluZ19wZXJpb2QoKSBtZXNzYWdlIGlzIGluc2VydGVkCgkgIGJldHdlZW4gYW4gU1BTIGFuZCBQUFMgTkFMIHVuaXQsIGNoZWNrIHRoYXQgdGhlIG91dHB1dCBidWZmZXIgc3RpbGwKCSAgY29udGFpbiBpdC4gaS5lLiBtYWtlIHN1cmUgdGhhdCB0aGlzIFNFSSBtZXNzYWdlIGlzIG5vdCBkcm9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTU2CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMDk6NDQ6MjYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNvbGxlY3Rpb24gb2YgYWNjZXNzIHVuaXRzIHRvIHByZXNlcnZlIGNvbmZpZyBoZWFkZXJzLgoJICBBbHdheXMgdXNlIGEgR3N0QWRhcHRlciB3aGVuIGNvbGxlY3RpbmcgYWNjZXNzIHVuaXRzIChhbGlnbm1lbnQ9ImF1IikKCSAgaW4gZWl0aGVyIGJ5dGUtc3RyZWFtIG9yIGF2Y0MgZm9ybWF0LiBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5CgkgIHByZXNlcnZlIGNvbmZpZyBoZWFkZXJzIGxpa2UgU1BTIGFuZCBQUFMgd2hlbiBpbnZhbGlkIG9yIGJyb2tlbiBOQUwKCSAgdW5pdHMgYXJlIHN1YnNlcXVlbnRseSBwYXJzZWQuCgkgIE1vcmUgcHJlY2lzZWx5LCB0aGlzIGZpeGVzIHNjZW5hcmlvIGxpa2U6CgkgIDxTUFM+IDxQUFM+IDxpbnZhbGlkLU5BTD4gPHNsaWNlPgoJICB3aGVyZSB3ZSB1c2VkIHRvIHJlc2V0IHRoZSBvdXRwdXQgZnJhbWUgYnVmZmVyIHdoZW4gYW4gaW52YWxpZCBvcgoJICBicm9rZW4gTkFMIGlzIHBhcnNlZCwgaS5lLiBTUFMgYW5kIFBQUyBOQUwgdW5pdHMgd2VyZSBsb3N0LCB0aHVzCgkgIHByZXZlbnRpbmcgdGhlIG5leHQgc2xpY2UgdW5pdCB0byBiZSBkZWNvZGVkLCBzaG91bGQgdGhpcyBhbHNvCgkgIHJlcHJlc2VudCBhbnkgdmFsaWQgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDEzOjE0OjEwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGltcHJvdmUgY29uZGl0aW9ucyBmb3Igc2tpcHBpbmcgTkFMIHVuaXRzLgoJICBDYXJlZnVsbHkgdHJhY2sgY2FzZXMgd2hlbiBza2lwcGluZyBicm9rZW4gb3IgaW52YWxpZCBOQUwgdW5pdHMgaXMKCSAgbmVjZXNzYXJ5LiBJbiBwYXJ0aWN1bGFyLCBhbHdheXMgYWxsb3cgTkFMIHVuaXRzIHRvIGJlIHByb2Nlc3NlZAoJICBhbmQgbGV0IHRoYXQgZ3N0X2gyNjRfcGFyc2VfcHJvY2Vzc19uYWwoKSBmdW5jdGlvbiBkZWNpZGUgb24gd2hldGhlcgoJICB0aGUgY3VycmVudCBOQUwgbmVlZHMgdG8gYmUgZHJvcHBlZCBvciBub3QuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBvZiBzdHJlYW1zIHdpdGggU0VJIE5BTCBidWZmZXJpbmdfcGVyaW9kKCkgbWVzc2FnZQoJICBpbnNlcnRlZCBiZXR3ZWVuIFNQUyBhbmQgUFBTLCBvciBTUFMtRXh0IE5BTCBmb2xsb3dpbmcgYSB0cmFkaXRpb25hbAoJICBTUFMgTkFMIHVuaXQsIGFtb25nIG90aGVyIGNhc2VzIHRvby4KCSAgUHJhY3RpY2FsIGV4YW1wbGVzIGZyb20gdGhlIEguMjY0IEFWQyBjb25mb3JtYW5jZSBzdWl0ZSBpbmNsdWRlCgkgIGFscGhhY29uZm9ybWFuY2VHLCBDVlNFMl9Tb255X0IsIENWU0UzX1NvbnlfSCwgQ1ZTRUZERlQzX1NvbnlfRQoJICB3aGVuIHBhcnNpbmcgaW4gc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSxhbGlnbm1lbnQ9YXUgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDExOjA2OjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGludHJvZHVjZSBuZXcgc3RhdGUgdHJhY2tpbmcgdmFyaWFibGVzLgoJICBJbXByb3ZlIHBhcnNlciBzdGF0ZSB0cmFja2luZyBieSBpbnRyb2R1Y2luZyBuZXcgZmxhZ3MgcmVmbGVjdGluZwoJICBpdDogImdvdC1zcHMiLCAiZ290LXBwcyIgYW5kICJnb3Qtc2xpY2UiLiBUaGlzIGlzIGFuIGFkZGl0aW9uIGZvcgoJICByb2J1c3RuZXNzIHB1cnBvc2VzLgoJICBPbGRlciBoYXZlX3NwcyBhbmQgaGF2ZV9wcHMgdmFyaWFibGVzIGFyZSBrZXB0IGJlY2F1c2UgdGhleSBoYXZlCgkgIGEgZGlmZmVyZW50IG1lYW5pbmcuIGkuZS4gdGhleSBhcmUgdXNlZCBmb3IgZGVjaWRpbmcgb24gd2hlbiB0bwoJICBzdWJtaXQgdXBkYXRlZCBjYXBzIG9yIG5vdCwgYW5kIHJhdGhlciBtZWFuICJoYXZlIG5ldyBTUFMvUFBTIHRvCgkgIGJlIHN1Ym1pdHRlZD8iCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjQgMTM6NTU6MTMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGFuZCBvcHRpbWl6ZSBOQUwgY29sbGVjdGlvbiBmdW5jdGlvbi4KCSAgVXNlIGdzdF9oMjY0X3BhcnNlcl9pZGVudGlmeV9uYWx1X3VuY2hlY2tlZCgpIHRvIGlkZW50aWZ5IHRoZSBuZXh0CgkgIE5BTCB1bml0LiBXZSBkb24ndCB3YW50IHRvIHBhcnNlIHRoZSBmdWxsIE5BTCB1bml0LCBidXQgb25seSB0aGUKCSAgaGVhZGVyIGJ5dGVzIGFuZCBwb3NzaWJseSB0aGUgZmlyc3QgUkJTUCBieXRlIGZvciBpZGVudGlmeWluZyB0aGUKCSAgZmlyc3RfbWJfaW5fc2xpY2Ugc3ludGF4IGVsZW1lbnQuCgkgIEFsc28gZml4IGNoZWNrIGZvciBmYWlsdXJlIHdoZW4gcmV0dXJuaW5nIGZyb20gdGhhdCBmdW5jdGlvbi4gVGhlCgkgIG9ubHkgc3VjY2VzcyBjb25kaXRpb24gZm9yIHRoYXQgaXMgR1NUX0gyNjRfUEFSU0VSX09LLCBzbyB1c2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNTQKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNy0wMSAxNjowOToyOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xhcmlmaWNhdGlvbnMgYW5kIGRvY3VtZW50YXRpb24gZml4ZXMuCgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBHc3RIMjY0TmFsVW5pdC4gVGhlIEByZWZfaWRjIHBhcnQgd2FzIHRvdGFsbHkKCSAgdW5iYWxhbmNlZC4gQWxzbyBhZGQgYSBub3RlIGFib3V0IEBvZmZzZXQgYW5kIEBzaXplIGZpZWxkcyB0byByZW1pbmQKCSAgdGhhdCB0aGlzIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgTkFMIHVuaXQsIHRodXMgaW5jbHVkaW5nCgkgIHRoZSBoZWFkZXIgYnl0ZXMuCgoyMDE0LTA3LTAxIDE1OjQ2OjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggaWRlbnRpZmljYXRpb24gb2YgRU9TRVEgYW5kIEVPUyBOQUxzLgoJICBBbiBlbmRfb2Zfc2VxKCkgW0VPU0VRXSBvciBlbmRfb2Zfc3RyZWFtKCkgW0VPU10gTkFMIHVuaXQgaXMgcmVhbGx5CgkgIG9uZSBieXRlIGxvbmcgYmVjYXVzZSB0aGlzIHNoYWxsIGluY2x1ZGUgdGhlIE5hbEhlYWRlckJ5dGVzICgxKSB0b28uCgkgIFRoZSBOQUxVLm9mZnNldCBzdGFydHMgZnJvbSB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgaGVhZGVyLgoJICBUaGlzIGlzIHRoZSBwcm9wZXIgZml4IHRvIGNvbW1pdCBkMzdmODQyLiBJbiBwcmFjdGljZSwgdGhpcyBmaXhlcwoJICBwYXJzaW5nIG9mIEZSRXh0MV9QYW5hc29uaWNfRCBhbmQgRlJFeHQyX1BhbmFzb25pY19DLCB0aGF0IGluY2x1ZGUKCSAgYWRkaXRpb25hbCBmcmFtZXMgYWZ0ZXIgYW4gRU9TRVEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NTMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNyAxMjoyNDo0OSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogUmVwb3J0IGxpbWl0ZWQgYmFuZHdpZHRoCgkgIE1ha2VzIHVyaWRlY29kZWJpbiB0cmVhdCB0aGlzIHNvdXJjZSBhcyBhIHN0cmVhbSBzb3VyY2UsCgkgIGFsbG93aW5nIHRpbWVzaGlmdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjMzNQoKMjAxNC0wNy0wMSAxMDowMzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgbXBlZ3RzOiBFeHBvc2UgR3N0TXBlZ3RzRGVzY3JpcHRvciBmcmVlIGZ1bmN0aW9uCgkgIE5vdGhpbmcgZWFydGggc2hhdHRlcmluZywgYnV0IGF2b2lkcyBwZW9wbGUgaGF2aW5nIHRvIHVzZSBnX2JveGVkX2ZyZWUoKQoKMjAxNC0wNi0zMCAxOToxNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZWFnbDogRGlzYWJsZSB1c2FnZSBvZiBSIGFuZCBSRyB0ZXh0dXJlcyBvbiBpT1MKCSAgVGhleSBkb24ndCB3b3JrIGN1cnJlbnRseSBhbmQganVzdCByZW5kZXIgemVyb2VzLCB3aGlsZSB0aGUKCSAgZmFsbGJhY2sgY29kZSBwYXRoIHdpdGggTFVNIGFuZCBMVU1fQUxQSEEgdGV4dHVyZXMgc3RpbGwgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzOTAKCjIwMTQtMDYtMzAgMTE6NTQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogcmVsZWFzZSB0aGUgaGFhciBjYXNjYWRlCgoyMDE0LTA2LTMwIDEyOjIyOjA3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBdm9pZCBkZXN0cm95aW5nIHNvdXJjZXMgd2UgZG8gbm90IG93bgoJICArIFVucmVmIHRoZSBtYWluY29udGV4dCBpbiBhIG5ldyBkaXNwb3NlIGZ1bmN0aW9uCgkgICsgTWFrZSBzdXJlIHRvIHJlbW92ZSBhbGwgc291cmNlcyBvbiBkaXNwb3NlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI0NDUKCjIwMTQtMDYtMTYgMTI6MzU6MTMgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIFRoZSBwaXhlbCBidWZmZXIgcmVsZWFzZSBjYWxsYmFjayBpcyBjYWxsZWQgaWYgdGhlIHZvaWQgKgoJICBkYXRhUHRyIGdpdmVuIHRvIHRoZSBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aFBsYW5hckJ5dGVzCgkgIGlzIG5vdCBOVUxMLgoJICBBY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50YXRpb24gZGF0YVB0ciBpcyBzdXBwb3NlZCB0byBiZSBhCgkgICJwbGFuZSBkZXNjcmlwdGlvbiBibG9jayIgYnV0IG5vIHNwZWNpZmljIHR5cGUgaXMgZ2l2ZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDcKCjIwMTQtMDYtMzAgMDA6MjI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIHNlZ21lbnRhdGlvbjogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZSBpbiBmaW5hbGl6ZQoKMjAxNC0wNi0zMCAwMDoxODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UgYW5kIHJlc2l6ZSBpbWFnZSB3aGVuIGNhcHMgY2hhbmdlCgoyMDE0LTA2LTMwIDAwOjE1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFJlbGVhc2UgY3ZJbWFnZXMgd2hlbiByZWxvYWRpbmcgdGVtcGxhdGVzIGFyZSBjaGFuZ2luZyBjYXBzCgoyMDE0LTA2LTMwIDAwOjEyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogUmVsZWFzZSBpbWFnZSB3aGVuIGNoYW5naW5nIGNhcHMgb3IgcmV1c2luZyB0aGUgZWxlbWVudAoKMjAxNC0wNi0zMCAwMDowOToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlCgoyMDE0LTA2LTMwIDAwOjA3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZQoJICBBbmQgYWxzbyByZWxlYXNlIGN2SW1hZ2VzIGFuZCBtZW1vcnkgc3RvcmFnZSB3aGVuIGNoYW5naW5nIGNhcHMgb3IgcmV1c2luZyB0aGUKCSAgZWxlbWVudC4KCjIwMTQtMDYtMzAgMDA6MDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogRG9uJ3QgbGVhayBjdkltYWdlcyB3aGVuIGNhcHMgYXJlIGNoYW5naW5nIG9yIHRoZSBlbGVtZW50IGlzIHJldXNlZAoKMjAxNC0wNi0yOSAyMzo0Mjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2Ugd2hlbiBmaW5hbGl6aW5nCgoyMDE0LTA2LTI5IDIzOjMzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogUmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnQKCjIwMTQtMDYtMjkgMjM6MzE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzCgoyMDE0LTA2LTI5IDIzOjIyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IG1lbW9yeSBsZWFrIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMjozMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IEZyZWUgdGV4dCBidWZmZXIgaW4gZmluYWxpemUKCjIwMTQtMDYtMjkgMjI6MjY6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGZpbmFsaXplIGZ1bmN0aW9uCgoyMDE0LTA2LTI5IDIyOjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVucmVmIHRoZSBkaXNwbGF5CgkgIEV2ZW4gaWYgd2UgZGlkbid0IGNyZWF0ZSBhIGNvbnRleHQgeWV0LgoKMjAxNC0wNi0yOSAyMjoyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSAgaW50ZXJzdWJzcmM6IGJhc2VzcmMgaXMgYWxyZWFkeSBjcmVhdGluZyBhIHBhZCBmb3IgdXMsIG5vIG5lZWQgdG8gZG8gaXQgdHdpY2UKCjIwMTQtMDYtMjkgMjI6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkgIHlhZGlmOiBiYXNldHJhbnNmb3JtIGlzIGNyZWF0aW5nIHBhZHMgZm9yIHVzIGFscmVhZHksIGRvbid0IGRvIGl0IHR3aWNlCgoyMDE0LTA2LTI5IDIxOjU3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRml4IG1lbW9yeSBsZWFrIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMTo1MzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogRml4IG1lbW9yeSBsZWFrcyBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjE6MzQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgbXBlZ3RzOiBGaXggbWVtb3J5IGxlYWtzIGluIHRoZSB0ZXN0IGFuZCB0aGUgbGlicmFyeQoJICBDdXJyZW50bHkgdXNlcyBnX2JveGVkX2ZyZWUoKSBpbiB0aGUgdW5pdCB0ZXN0LCB0aGlzIG5lZWRzIHRvCgkgIGJlIGZpeGVkIHByb3Blcmx5IHdoZW4gY2xlYW5pbmcgdXAgdGhlIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNi0yOSAyMTowNToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBzdGF0aWMgY2FwcyBhY3R1YWxseSBzdGF0aWMKCSAgT3RoZXJ3aXNlIHdlIGxlYWsgb25jZSBjYXBzIGluc3RhbmNlIG9uIGV2ZXJ5IGZ1bmN0aW9uIGNhbGwuCgoyMDE0LTA2LTI5IDIxOjAxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRnJlZSBwcm9wZXJ0eSBzdHJpbmdzIHdoZW4gZGlzcG9zaW5nIHRoZSBpbnN0YW5jZQoKMjAxNC0wNi0yOSAyMDo1ODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkgIGludGVyc3Vic2luay9zcmM6IEZyZWUgY2hhbm5lbCBzdHJpbmcgd2hlbiBmaW5hbGl6aW5nIHRoZSBpbnN0YW5jZQoKMjAxNC0wNi0yOSAyMDoxMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAyMDoxMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjggMjM6MjY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mIHVucG9ydGFibGUgJXp1CgoyMDE0LTA2LTI4IDE3OjAyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0Lmg6CgkgIGJhZHZpZGVvOiBVcGRhdGUgZGlzdCBnZW5lcmF0ZWQgT1JDIGZpbGVzCgoyMDE0LTA2LTI4IDE3OjAxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMub3JjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSAgYmFkdmlkZW86IFJlbmFtZSB2aWRlb2NvbnZlcnQgZnVuY3Rpb25zIHRvIHByZXZlbnQgY29uZmxpY3RzIHdpdGggc3RhdGljIGxpbmtpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ0MwoKMjAxNC0wNi0yOCAxMToyMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6IGFnZ3JlZ2F0b3I6IGZpeCB2YXJpb3VzIGxlYWtzIGluIHRoZSB0ZXN0cwoKMjAxNC0wNi0yOCAwOTo0Mzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHRlc3RzOiBGaXggcGFkIGxlYWsKCSAgUmVtZW1iZXIgdG8gdW5yZWYgcmVxdWVzdGVkIHBhZAoKMjAxNC0wNi0yOCAwOTozNToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGZpeCBsZWFrIGFzIGdzdF9idWZmZXJfcmVwbGFjZSBhZGRzIGl0cyBvd24gcmVmCgkgIFNvIHVucmVmIHRoZSBidWZmZXIgYWZ0ZXIgdGhhdCBvdGhlcndpc2UgaXQgbGVha3MKCjIwMTQtMDYtMjggMDk6MzQ6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhbHdheXMgc3RvcmUgb3IgdW5yZWYgdGhlIGJ1ZmZlciBvbiB0aGUgX2NoYWluIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSBpdCBsZWFrcywgYW5kIGl0IGlzIHZlcnkgY29tbW9uIHRvIGdvIHRvIGZsdXNoaW5nIHdoZW4gdGhlCgkgIHBpcGVsaW5lIGlzIHN0b3BwaW5nLCBsZWFraW5nIGEgYnVmZmVyLgoKMjAxNC0wNi0yOCAwOTozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFsd2F5cyB1bnJlZiB0aGUgYnVmZmVyIG9uIF9maW5pc2ggZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIHRoZSB1c2VyIGRvZXNuJ3Qga25vdyBpZiBpdCB3YXMgdW5yZWYnZCBvciBub3QKCjIwMTQtMDYtMjggMDk6MzE6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgZGlzcG9zZS9maW5hbGl6ZSBmdW5jdGlvbnMKCSAgQWRkIGZ1bmN0aW9ucyB0byBiZSBhYmxlIHRvIGNsZWFudXAgdGhlIG11dGV4L2NvbmQgYW5kIHBlbmRpbmcgYnVmZmVycwoJICBvbiB0aGUgYWdncmVnYXRvciBhbmQgb24gaXRzIHBhZAoKPT09IHJlbGVhc2UgMS4zLjkwID09PQoKMjAxNC0wNi0yOCAxMTozMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MAoKMjAxNC0wNi0yOCAxMToyNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTI4IDEwOjQzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogRmFpbCBpbiBzZXRfY2FwcygpIGlmIHRoZSBjYXBzIGNhbid0IGJlIHBhcnNlZAoKMjAxNC0wNi0yNyAxNzozNTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IGNhcHMgbGVhayBpbiB0ZXN0CgkgIFRoZSBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0IGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAgb2YgY2FwcwoKMjAxNC0wNi0yNyAxNzoyNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggY2FwcyBsZWFrcwoJICBGaXggbGVhayBvZiBjYXBzIGV2ZW50IGFuZCBvZiBjYXBzIG9iamVjdHMgd2hlbiBzZXR0aW5nIGNhcHMgb24KCSAgc2luayBhbmQgc3JjIHBhZHMKCjIwMTQtMDYtMjcgMTc6MDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdW5yZWYgZXZlbnRzIHdoZW4gZnJlZWluZyBldmVudHMgbGlzdAoJICBJbnN0ZWFkIG9mIGp1c3QgZmVlaW5nIHRoZSBxdWV1ZSBzdHJ1Y3RzCgoyMDE0LTA2LTI3IDE2OjU4OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogZml4IHNlZ21lbnQgZXZlbnQgbGVhawoJICBnc3RfZXZlbnRfcmVwbGFjZSBpbmNyZW1lbnRzIHRoZSByZWZjb3VudAoKMjAxNC0wNi0yNyAxMjo1MDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBhdm9pZCBjYWxsaW5nIGdfY29udmVydCB3aXRoIDAtc2l6ZWQgaW5wdXQKCSAgQXZvaWRzIGFuIGFzc2VydGlvbi4gVGhlIGNhY2hlZCBzdHJpbmcgd2lsbCBiZSBhc3NpZ25lZCBhbiBlbXB0eSBzdHJpbmcKCSAgYXMgaXRzIHZhbHVlIHdoZW4gc2l6ZSBpcyAwLgoKMjAxNC0wNi0yNyAxMDo1MzoyMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggbWVtb3J5IGxlYWsgaW4gR3N0SDI2NFBQUy4KCSAgVGhlIGdzdF9oMjY0X3BhcnNlX3BwcygpIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGFsbG9jYXRlcyB0aGUgc2xpY2UKCSAgZ3JvdXAgaWRzIG1hcCBhcnJheSwgc28gdGhhdCBuZWVkcyB0byBiZSBjbGVhcmVkIGJlZm9yZSBwYXJzaW5nIGEKCSAgbmV3IFBQUyBOQUwgdW5pdCBhZ2Fpbiwgb3Igd2hlbiBpdCBpcyBubyBsb25nZXIgbmVlZGVkLgoJICBMaWtld2lzZSwgYSBjbGVhbiBjb3B5IHRvIHRoZSBpbnRlcm5hbCBOQUwgcGFyc2VyIHN0YXRlIG5lZWRzIHRvIGJlCgkgIHBlcmZvcm1lZCBzbyB0aGF0IHRvIGF2b2lkIGEgZG91YmxlLWZyZWUgY29ycnVwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI4MgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI2IDE3OjE4OjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggdHlwbyBpbiBHc3RIMjY0VlVJUGFyYW1zIGRlc2NyaXB0aW9uLgoKMjAxNC0wMS0zMSAxNzowNzo0MiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgc3VwcG9ydCBmb3IgUmVjb3ZlcnkgUG9pbnQgU0VJIG1lc3NhZ2UuCgkgIFRoZSByZWNvdmVyeSBwb2ludCBTRUkgbWVzc2FnZSBoZWxwcyBhIGRlY29kZXIgaW4gZGV0ZXJtaW5pbmcgaWYgdGhlCgkgIGRlY29kaW5nIHByb2Nlc3Mgd291bGQgcHJvZHVjZSBhY2NlcHRhYmxlIHBpY3R1cmVzIGZvciBkaXNwbGF5IGFmdGVyCgkgIHRoZSBkZWNvZGVyIGluaXRpYXRlcyByYW5kb20gYWNjZXNzIG9yIGFmdGVyIHRoZSBlbmNvZGVyIGluZGljYXRlcwoJICBhIGJyb2tlbiBsaW5rIGluIHRoZSBjb2RlZCB2aWRlbyBzZXF1ZW5jZS4KCSAgVGhpcyBpcyBub3QgdXNlZCBpbiB0aGUgaDI2NHBhcnNlIGVsZW1lbnQsIGJ1dCBpdCBjb3VsZCBoZWxwIGRlYnVnZ2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM4MAoKMjAxNC0wMy0yNSAxMjowMTo1NSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBuYWxfcmVhZGVyX3NraXBfbG9uZygpIGhlbHBlci4KCSAgQWRkIG5hbF9yZWFkZXJfc2tpcF9sb25nKCkgaGVscGVyIGZ1bmN0aW9uIHRvIGFsbG93IGFuIGFyYml0cmFyeSBudW1iZXIKCSAgb2YgYml0cyB0byBiZSBza2lwcGVkLiBUaGUgZm9ybWVyIG5hbF9yZWFkZXJfc2tpcCgpIGZ1bmN0aW9uIGlzIHRvbwoJICBsaW1pdGVkIHRvIHRoZSBhY3R1YWwgY2FjaGUgc2l6ZS4KCSAgVXNlIHRoaXMgbmV3IGZ1bmN0aW9uIHRvIHNpbXBsaWZ5IGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWlfbWVzc2FnZSgpCgkgIGRlZmF1bHQgY2FzZSwgdGhhdCBza2lwcyB1bnN1cHBvcnRlZCBwYXlsb2Fkcy4KCSAgdjI6IG1hZGUgYXJncyBjb25zaXN0ZW50IGZyb20gaGVhZGVyIHRvIHNvdXJjZSBmaWxlLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI3IDAwOjA5OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggYSByZWZjb3VudCBlcnJvciB3aGVuIGtlZXBpbmcgdGhlIGJ1ZmZlcgoJICBXZSB0YWtlIGEgcmVmIG9uIHRoZSBwYWQncyBidWZmZXIgYXQgdGhlIGJlZ2lubmluZyBzbyB3ZSBuZWVkIHRvCgkgIHVucmVmIHdoZW4gd2UgYXJlIGRvbmUgaW4gYWxsIGNhc2VzLgoKMjAxNC0wNi0yNiAxNTo1OTozNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2cDg6IG1vdmUgdXAgYnVpbHQtaW4gcmFuZ2UgZGVjb2RlciBwcml2YXRlIGRhdGEuCgkgIFVzZSB0aGUgZmlyc3QgX2dzdF9yZXNlcnZlZFtdwqBzbG90IHRvIGhvbGQgdGhlIGJ1aWx0LWluIHJhbmdlIGRlY29kZXIKCSAgcHJpdmF0ZSBkYXRhLiBUaGUgZmlyc3Qgc2xvdCB3YXMgZm9ybWVybHkgdGhlIGJ1ZmZlciBzaXplLCB3aGljaCB3YXMKCSAgdGhlbiBwcm9tb3RlZCB0byBzZW1pLXB1YmxpYyBuYW1lc3BhY2Ugd2hlbiBpdCBnb3QgaW50ZWdyYXRlZCBhcyBnaXQKCSAgY29tbWl0IDI5NDBhYzYuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMTE6MjU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmcmVlIHBpeGVsIHN3aXp6bGluZyBpbmZvcm1hdGlvbgoKMjAxNC0wNi0yNiAxMToxNTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiByZW1vdmUgcmVkdW5kYW50L3VudXNlZCBsb2NrCgkgIFVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZAoKMjAxNC0wNi0yNiAxMToxMjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiByZW1vdmUgcmVkdW5kYW50IGNyZWF0aW9uIGFuZCBmcmVlIG9mIEdQdHJBcnJheXMKCSAgQWxzbyBwbHVncyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA2LTI2IDEwOjU0OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHBsdWcgYSBtZW1vcnkgbGVhayBmb3IgdGhlIGNhcHMKCSAgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdCgpIHRha2VzIGEgcmVmIG9uIHRoZSBjYXBzCgoyMDE0LTA2LTI2IDEwOjUzOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcGx1ZyBhIG1lbW9yeSBsZWFrIG9mIHRoZSBzcmNjYXBzCgoyMDE0LTA2LTI2IDEwOjMxOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXJjYXBzIGlmIGF2YWlsYWJsZQoKMjAxNC0wNi0yNiAxMDozMDo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkgIGdsOiB1cGRhdGUgZ2xlczIgY29tcGF0YWJpbGl0eSBoZWFkZXIKCjIwMTQtMDYtMjUgMTQ6NTA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3Qtc2N0ZS1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogVW5pZnkgQVBJIDogR3N0TXBlZ3RzIC8gZ3N0X21wZWd0c18gLyBHU1RfKl9NUEVHVFNfCgkgIEl0IHdhcyBwcmV2aW91c2x5IGEgbWl4IGFuZCBtYXRjaCBvZiBib3RoIHZhcmlhbnRzLCBpbnRyb2R1Y2luZyBqdXN0IHRvbyBtdWNoCgkgIGNvbmZ1c2lvbi4KCSAgVGhlIHByZWZpeCBhcmUgZnJvbSBub3cgb246CgkgICogR3N0TXBlZ3RzIGZvciBzdHJ1Y3R1cmVzIGFuZCB0eXBlIG5hbWVzIChhbmQgbm90IEdzdE1wZWdUcykKCSAgKiBnc3RfbXBlZ3RzXyBmb3IgZnVuY3Rpb25zIChhbmQgbm90IGdzdF9tcGVnX3RzXykKCSAgKiBHU1RfTVBFR1RTXyBmb3IgZW51bXMvZmxhZ3MgKGFuZCBub3QgR1NUX01QRUdfVFNfKQoJICAqIEdTVF9UWVBFX01QRUdUU18gZm9yIHR5cGVzIChhbmQgbm90IEdTVF9UWVBFX01QRUdfVFNfKQoJICBUaGUgcmF0aW9uYWxlIGZvciBjaG9zaW5nIHRoYXQgaXM6CgkgICogdGhlIG5hbWVzcGFjZSBpcyBzaG9ydGVyL2RpcmVjdCAoaXQncyBtcGVndHMsIG5vdCBtcGVnX3RzIG5vciBtcGVnLXRzKQoJICAqIHRoZSBuYW1lc3BhY2UgaXMgb25lIHdvcmQgdW5kZXIgR3N0CgkgICogaXQncyBzaG9ydGVyICh5YWgpCgoyMDE0LTA2LTI1IDE0OjEzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0c3NlY3Rpb246IEZyZWUgZGF0YSBpbiBlcnJvciBjYXNlcwoJICBEYXRhIGlzIG1hcmtlZCBhcyAidHJhbnNmZXIgZnVsbCIsIGlmIHdlIGhhdmUgYW4gZXJyb3Igd2UgbmVlZCB0bwoJICBmcmVlIGl0LgoKMjAxNC0wNi0yNSAyMjowNTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHBhc3MgdGhyb3VnaCB0aGUgYWxsb2NhdGlvbiBxdWVyeSB3aGVuIGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgT3RoZXJ3aXNlIHR3byBHTCBlbGVtZW50cyBvbiBlaXRoZXIgc2lkZSB3aWxsIGZhaWwgdG8gdXNlIHRoZSBzYW1lCgkgIEdMIGNvbnRleHQuCgoyMDE0LTA2LTI1IDIxOjUwOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcHJlZmVyIHBhc3N0aHJvdWdoIGZvciBub24tc3lzbWVtIGNhcHMKCjIwMTQtMDYtMjUgMTg6MjM6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbHNoYWRlcjogZW5hYmxlIGdsc2hhZGVyIG9uIEdMRVMyCgoyMDE0LTA2LTI0IDE5OjM3OjE3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2xjb2xvcnNjYWxlOiBkbyBwYXNzdGhyb3VnaCBvbiBzYW1lIGNhcHMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzgKCjIwMTQtMDYtMjQgMTk6MzU6MDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBoYW5kbGUgTlVMTCBkZWNpZGVfcXVlcnkgd2hpY2ggbWVhbnMgcGFzc3Rocm91Z2gKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzgKCjIwMTQtMDYtMjQgMTk6MjM6MDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwcmVwZW5kIGludGVyc2VjdGlvbiB0byBzcmMgY2FwcwoJICBQcmVmZXIgdG8gc3RheSBpbiB0aGUgc2FtZSBtZW1vcnkgc3BhY2UgaWYgcG9zc2libGUuCgkgIEFsc28gaXQgbGV0IGEgY2hhbmNlIHRvIGRvIHBhc3N0aHJvdWdoLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yMiAxMzoxNDoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZW5hYmxlIGdsdmlkZW9taXhlciBvbiBHTEVTMgoKMjAxNC0wNi0yNCAyMjoxNTo1MyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFkZCBjb3B5cmlnaHQvbGljZW5zZSBzdHViIHRvIGhlYWRlcgoKMjAxNC0wNi0yNCAyMDo1Mjo1NCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTQtMDYtMjUgMTI6MDA6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGJhcyBvdXRwdXQgd2lkdGgvaGVpZ2h0IG9uIHRoZSBwYWQgcHJvcGVydGllcwoJICBBbGxvd3MgYXV0b21hdGljIG5lZ290aWF0aW9uIG9mIHRoZSBzaXplIGluIHRoZSBmb2xsb3dpbmcgY2FzZToKCSAgZ3N0LWxhdW5jaC0xLjAgZ2x2aWRlb21peGVyIG5hbWU9bSBzaW5rXzA6Onhwb3M9MCBzaW5rXzE6Onhwb3M9MzIwICEgZ2xpbWFnZXNpbmsgXAoJICB2aWRlb3Rlc3RzcmMgISBtLiBcCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPTEgISBtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxODc4CgoyMDE0LTA2LTI1IDEwOjE4OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCBjbG9iYmVyIGFscmVhZHkgYWxsb2NhdGVkIHNoYWRlcgoKMjAxNC0wNi0yNCAxNjozMjoyMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSAgY3VybHM/ZnRwc2luazogRml4IG1lbW9yeSBsZWFrcyBkdWUgdG8gbmV3IGVycm9yIGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzQKCjIwMTQtMDYtMjQgMTY6MDQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IE1vcmUgZG9jIGZpeGVzCgkgIFN0aWxsIG5vdCBkb25lIDooCgoyMDE0LTA2LTI0IDE1OjQxOjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IG1vcmUgYW5ub3RhdGlvbiBmaXhlcwoKMjAxNC0wNi0wMSAxMDo0NDoyMyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGNoYW5nZSB0byBHVHlwZSBhbmQgZnJvbSBnY2hhcltdIHRvIGdjaGFyKgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA2LTI0IDIzOjUxOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFhJbml0VGhyZWFkcyB3aGVuIGVudiB2YXJpYWJsZSBpcyBzZXQKCSAgVGhpcyBpcyB0b28gYWxsb3cgZ3N0LWxhdW5jaCBkZWJ1Z2dpbmcgd2l0aCBtdWx0aXBsZSBHTCBjb250ZXh0cyBhcwoJICB3ZWxsIGFzIGF2b2lkaW5nIHNlZ2ZhdWx0aW5nIGlubm9jZW50IGd0aysgYXBwcyB0aGF0IGhhdmUgbm90IGNhbGxlZAoJICBYSW5pdFRocmVhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjUKCjIwMTQtMDYtMjQgMjM6MzM6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogYWRkIGEgc2Nhcnkgbm90ZSBhYm91dCBpbml0aWFsaXppbmcgdGhyZWFkIHN1cHBvcnQgZm9yIHRoZSB3aW5zeXMKCSAgV2UgY2Fubm90IGRvIGl0IGFzIHRoZSB3aW5zeXMgbWF5IGNyYXNoIGlmIHdlIGluaXRpYWxpemUgdG9vIGxhdGUuCgkgIEV4YW1wbGUsIEdMWCBjb250ZXh0cyB3aXRoIEludGVsIGRyaXZlcnM6CgkgIEludGVsIHJlcXVpcmVzIHRoZSBYIERpc3BsYXkgdG8gYmUgdGhlIHNhbWUgaW4gb3JkZXIgdG8gc2hhcmUgR0wKCSAgcmVzb3VyY2VzIGFjcm9zcyBHTCBjb250ZXh0cy4gIFRoZXNlIEdMIGNvbnRleHRzIGFyZSBnZW5lcmFsbHkKCSAgYWNjZXNzZWQgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcy4gIFdpdGhvdXQgd2luc3lzIHN1cHBvcnQgaXQgaXMKCSAgbmVhcmx5IGltcG9zc2libGUgdG8gZ3VhcmVudGVlIHRoYXQgY29uY3VycmVudCBhY2Nlc3Mgd2lsbCBub3QKCSAgb2NjdXIuICBUaGlzIGNvbmN1cnJlbnQgYWNjZXNzIGNvdWxkIHJlc3VsdCBpbiBjcmFzaGVzIG9yIGFib3J0aW9uCgkgIGJ5IHRoZSB3aW5zeXMgKHhjYikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjUKCjIwMTQtMDYtMjQgMTQ6MDU6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICBtcGVndHM6IEZpeCBkZXNjcmlwdG9yX2Zyb21fZHZiX3NlcnZpY2UKCSAgVmFyaW91cyBsZWFrcy9vdmVyd3JpdGVzIGlzc3VlcwoKMjAxNC0wNi0yNCAxMzo0NjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSAgYWxsOiBEb24ndCBkZWNsYXJlIHZhcmlhYmxlcyBpbiAnZm9yJyBsb29wcwoKMjAxNC0wNi0yNCAxMToyNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJICBiYWRiYXNlOiBVc2UgdGhlIGNvcnJlY3QgTERGTEFHUyBmb3IgY3JlYXRpbmcgbGlicmFyaWVzCgkgIE90aGVyd2lzZSB3ZSB3b24ndCBlLmcuIGNyZWF0ZSAuZGxscyBvbiBXaW5kb3dzCgoyMDE0LTA2LTI0IDA4OjAxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL01ha2VmaWxlLmFtOgoJICBjb21wb3NpdG9yOiBGaXggTWFrZWZpbGUgQ0ZMQUdTL0xJQkFERCBvcmRlcmluZwoJICBXZSB3YW50IHRvIHVzZSB0aGUgbGlicmFyaWVzIGZyb20gLWJhZCBpZi93aGVuIHByZXNlbnQKCjIwMTQtMDYtMjMgMjA6NDQ6MjMgKzAyMDAgIEVyaWMgVHJvdXNzZXQgPGV0cm91c3NldEBhd294LmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZWxlYXNlIEQzRCBzdXJmYWNlcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjAyNgoKMjAxNC0wNi0yMyAyMDozMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlc3NyYzogQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVsZW1lbnQgZmFjdG9yeSBzaG91bGQgYmUgU291cmNlLyBub3QgU3JjLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODExCgoyMDE0LTA2LTIzIDIyOjQwOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBjbG9iYmVyIGFscmVhZHkgaGVhcCBhbGxvY2F0ZWQgdmlkZW8gZnJhbWUKCSAgQ0lEICMgMTIyMzQ0MAoKMjAxNC0wNi0yMyAyMjozNjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IHVwIHRoZSBwYXJlbnQgY2hhaW5pbmcgZm9yIGRpc3Bvc2UgYW5kIGZpbmFsaXplCgoyMDE0LTA2LTIzIDIxOjQzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2x1cGxvYWRtZXRhOiByZWVuYWJsZSBHTE1lbW9yeSB1cGxvYWQgcGF0aAoKMjAxNC0wNi0yMiAyMzozOToxNCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBkaXNlcWMtc291cmNlIHByb3AgbmFtZSBpbiBleGFtcGxlCgoyMDE0LTA2LTIyIDIxOjA0OjQ1IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IG5pdCBvbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTQtMDYtMjIgMjI6MDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlICRFUlJPUl9DRkxBR1MgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAtV2Vycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjkyCgoyMDE0LTA2LTE1IDIxOjE1OjUxICswMjAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgLVdlcnJvciB0byBtYWtlIHRoZSBpbmNsdWRlIEdMIGFuZCBHTEVTMiBoZWFkZXIgY2hlY2sgZ3VhcmFudGVlZCBmYXRhbAoJICBDbGFuZyB3aWxsIG9ubHkgZ2l2ZSBhIHdhcm5pbmcgZm9yIHRoZSByZWRlZmluaXRpb24gb2YgdHlwZWRlZiBHTGVudW0uCgkgIFNpbmNlIG1hc3RlciBpcyBidWlsZCB3aXRoIC1XZXJyb3IgdGhpcyB3aWxsIHJlc3VsdCBpbiBhIGJ1aWxkIGZhaWx1cmUKCSAgbGF0ZXIgaW4gdGhlIGdsIHBsdWdpbi4gQWRkIC1XZXJyb3IgdG8gdGhlIHRlc3QsIHNvIHRoZSB0ZXN0IHJlc3VsdCBpcyBhcwoJICBleHBlY3RlZC4gVGhpcyB3aWxsIGFsbG93IHRoZSBnbCBwbHVnaW5zIHRvIGJ1aWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTY5MgoKMjAxNC0wNi0xNyAxNDoyMzo0MyArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBmaXggaHZjQyBzaXplIGNoZWNrCgkgIEluIElTTy9JRUMgMTQ0OTYtMTUsIHRoZSBtaW5pbXVtIHNpemUgb2YgYSBIRVZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQKCSAgKGkuZS4sIHRoZSBjb250ZW50cyBvZiBhIGh2Y0MgYm94KSBpcyAyMyBieXRlcy4gSG93ZXZlciwgdGhlIGNvZGUgaW4gaDI2NXBhcnNlCgkgIGNoZWNrcyB0aGF0IHRoZSBzaXplIG9mIHRoaXMgZGF0YSBpcyBub3QgbGVzcyB0aGFuIDI4IGJ5dGVzLCBhbmQgaXQgcmVmdXNlcyB0bwoJICBhY2NlcHQgY2FwcyBpZiB0aGUgY2hlY2sgZmFpbHMuIFRoZSByZXN1bHQgaXMgdGhhdCBzdGFuZGFyZHMtY29uZm9ybWFudCBzdHJlYW1zCgkgIHRoYXQgZG9uJ3QgY2FycnkgYW55IHBhcmFtZXRlciBzZXRzIGluIHRoZWlyIGh2Y0MgYm94ZXMgd29uJ3QgcGxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE3ODMKCjIwMTQtMDYtMTkgMjA6MTU6MDUgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIG1vZHBsdWc6IGRvbid0IGhhcmRjb2RlIGMrKyBzdGFuZGFyZCBsaWJyYXJ5CgkgIEZpeGVzIGJ1aWxkIHdpdGggbGx2bSBvbiBGcmVlQlNELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTkzMAoKMjAxNC0wNi0yMiAxOTozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjMgPT09CgoyMDE0LTA2LTIyIDE5OjIyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMwoKMjAxNC0wNi0yMiAxOTowOTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTIyIDE4OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogTmVlZCB0byBsaW5rIHRvIG5ldyBiYWR2aWRlbyBsaWJyYXJ5IGZvciB0aGUgdmlkZW8gYWdncmVnYXRvciBiYXNlIGNsYXNzCgoyMDE0LTA2LTIyIDE4OjUxOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICB2aWRlbzogTGluayB3aXRoICQoTElCTSkgZm9yIHJpbnQoKSBhbmQgb3RoZXJzCgoyMDE0LTA2LTIyIDE0OjI1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby91ay5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDYtMjAgMDg6MjA6NTUgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEZpeCBkZWNyeXB0aW5nIGZyYWdtZW50cwoJICBPbmx5IHJlc2V0IHRoZSBkZWNyeXB0aW9uIGVuZ2luZSBvbiB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQsCgkgIG5vdCBhZ2FpbiBmb3IgdGhlIHNlY29uZCBidWZmZXIuICBUaGlzIGZpeGVzIGNvcnJ1cHRpbmcgdGhlIHNlY29uZAoJICBidWZmZXIgb2YgYSBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTk2OAoKMjAxNC0wNi0yMiAxNDoxMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogVXNlIHRoZSBwYWQgcGFzc2VkIHRvIHVzIGRpcmVjdGx5IGZvciBkZWZhdWx0IGV2ZW50IGhhbmRsaW5nCgoyMDE0LTA2LTE5IDE3OjI0OjI2ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBkZWZhdWx0IHF1ZXJ5IHNob3VsZCBiZSBmb3J3YXJkIG9uIHRhcmdldCBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTg5OQoKMjAxNC0wNi0yMiAxMjozMjozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCB1cCBjb21tZW50CgoyMDE0LTA2LTIyIDA5OjQ0OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IG1vdmUgZ2xlczIgY29tcGF0IGhlYWRlciB0byBnbHByb3RvdHlwZXMKCjIwMTQtMDYtMjIgMDk6MzY6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsYnVmZmVycG9vbDogcHJvdmlkZSBhIGNvbnNpc3RlbnQgQVBJIHJlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0KCjIwMTQtMDYtMjIgMDk6MjI6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkgIGdsOiBtYXJrIGxpYnJhcnkgYXMgQVBJIHVuc3RhYmxlCgoyMDE0LTA2LTIxIDE2OjU3OjM0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGxpYnM6dXJpZG93bmxvYWRlcjogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjUyOjUxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgbGliczp2aWRlbzogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjUxOjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBsaWJzOmJhc2U6IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1NzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3R3YXlsYW5kc2luay5jOjQ4MDoxNDogZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uIG9mCgkgIHR5cGUgJ2VudW0gd2xfc2htX2Zvcm1hdCcgaXMgYWx3YXlzIGZhbHNlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5nZS1jb21wYXJlXQoJICBpZiAoZm9ybWF0ID09IC0xKQoJICB+fn5+fn4gXiAgfn4KCjIwMTQtMDYtMjEgMTY6NTU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVcGRhdGUgY29tbWVudHMgdG8gdGhlIG5ldyByZWFsaXR5IGFuZCByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wNi0yMSAxNTo0MDo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBsaWJzOnZpZGVvOiBBZGQgLUkkKHRvcF9zcmNkaXIpL2dzdC1saWJzIHRvIGZpeCBkaXN0Y2hlY2sKCjIwMTQtMDYtMjEgMTU6MjY6MTQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJICBsaWJzOmJhc2U6IEZpeCBpbmNsdWRlZGlyCgoyMDE0LTA2LTIxIDEzOjQ1OjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMTQtMDYtMjAgMjI6MDI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICBsaWJzOiB2aWRlb2FnZ3JlZ2F0bzogRG8gbm90IGltcG9ydCB2aWRlb2NvbnZlcnQuaCBpbiBnc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaAoJICArIEFkZCBhIFByaXZhdGUgc3RydWN0dXJlIHRvIHRoZSBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWQKCSAgKyBBZGQgc29tZSBwYWRkaW5nCgoyMDE0LTA2LTIwIDIxOjE4OjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIEZpbmFsIGZpeCBjb21waWxhdGlvbgoKMjAxNC0wNi0yMCAyMDoxMTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogcmVtb3ZlIGdzdC1saWJzL2dzdC92aWRlby8gZnJvbSBDUlVGVF9ESVJTCgkgIEl0IHdhcyBnb25lLCBidXQgbm93IGl0J3MgYmFjay4KCjIwMTQtMDYtMjAgMjA6MjM6MzAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgbGliczp2aWRlbzpGaXggY29tcGlsYXRpb24KCjIwMTQtMDYtMjAgMTE6MTA6NDUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6Z2x2aWRlb21peGVyOiBBZGQgdGhlIENvbXBvc2l0b3IgaW4gdGhlIGVsZW1lbnQgbWV0YWRhdGEgY2xhc3MKCSAgU28gaXQgaXMgcG9zc2libGUgdG8gcGljayBvbmUgY29tcG9zaXRpbmcgZWxlbWVudCBmcm9tIHRoZSByZWdpc3RyeQoKMjAxNC0wNS0yMiAxOTo0NjowMiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvY29tcG9zaXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuaDoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmRvcmMuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQWRkIGEgbmV3IGNvbXBvc2l0b3IgYmFzZWQgb24gdGhlIG5ldyBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoJICBJdCBpcyBhIHJlcGxhY2VtZW50IGZvciB2aWRlb21peGVyIHdpdGggYSBzaW1pbGFyZSBBUEkKCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxOQoKMjAxNC0wNi0xMCAxMToyNjo1MyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBnbDogUG9ydCBnbG1peGVyIHRvIHRoZSBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZWNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MjEKCjIwMTQtMDYtMDMgMTk6MDA6MzQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLnBjLmluOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBhIG5ldyBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZWNsYXNzCgkgIFRoaXMgYmFzZSBjbGFzcyBoYXMgYmVlbiBhZGRlZCB0byBhIG5ld2x5IGNyZWF0ZWQgbGliZ3N0YmFkdmlkZW8gbGlicmFyeQoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE4CgoyMDE0LTA1LTIyIDE5OjQ0OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBuZXcgR3N0QWdncmVnYXRvciBiYXNlIGNsYXNzCgkgIFRoaXMgYmFzZSBjbGFzcyBoYXMgYmVlbiBhZGRlZCB0byBhIG5ld2x5IGNyZWF0ZWQgbGliZ3N0YmFkYmFzZSBsaWJyYXJ5CgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTcKCjIwMTQtMDYtMjAgMTQ6NTk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFyIGV4Y2VwdGlvbnMgYWxzbyB3aGVuIHdlIGRpZCBub3QgcHJvdmlkZSBhIEdFcnJvcgoKMjAxNC0wNi0xOSAxMToyNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWxzbyBkb24ndCByZXBvcnQgd2FybmluZ3MgZm9yIHF1ZXVlL2RlcXVldWUgZXJyb3JzIGR1cmluZyBmbHVzaGluZyBpbiBlcnJvciBjYXNlcwoJICAuLi4gYW5kIGZpeCBhIGNhc2Ugd2hlcmUgd2UgcmVsZWFzZWQgYW4gaW52YWxpZCBidWZmZXIgaW5kZXguCgoyMDE0LTA2LTE5IDExOjE1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBjb25zaWRlciBpbnB1dCBidWZmZXIgcXVldWVpbmcgZmFpbHVyZXMgYXMgYW4gZXJyb3IgZHVyaW5nIGZsdXNoaW5nCgoyMDE0LTA2LTE5IDExOjEyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhbiB1cCBmbHVzaGluZyBjb2RlIGFuZCBkb24ndCBjb25zaWRlciBvdXRwdXQgYnVmZmVyIHJlbGVhc2luZyBmYWlsdXJlcyBkdXJpbmcgZmx1c2hpbmcgYXMgYW4gZXJyb3IKCjIwMTQtMDYtMTkgMDk6NTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEluY2x1ZGUgdGhlIGRlYnVnIHN0cmluZyBpbiB0aGUgZXJyb3IgbWVzc2FnZXMgd2UgcHJvcGFnYXRlIGZyb20gdCBzb3VyY2UKCjIwMTQtMDYtMTkgMDk6NTY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIHRoZSBkZWJ1ZyBzdHJpbmcgaW4gdGhlIGVycm9yIG1lc3NhZ2VzIHdlIHByb3BhZ2F0ZSBmcm9tIHRoZSBzb3VyY2UKCjIwMTQtMDYtMTkgMDk6NTQ6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIGEgbW9yZSBkZXNjcmlwdGl2ZSBlcnJvciBtZXNzYWdlCgoyMDE0LTA2LTE5IDA5OjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBQcm9wYWdhdGUgZXJyb3IgbWVzc2FnZXMgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQgdXAgaW4gdGhlIGhpZXJhcmNoeQoJICBJbnN0ZWFkIG9mIGludmVudGluZyBvdXIgb3duIGdlbmVyaWMgZXJyb3Igc3RyaW5ncyB3aGljaCBhcmUgbW9zdGx5IHVzZWxlc3MuCgoyMDE0LTA2LTE5IDA5OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRGlyZWN0bHkgY29udmVydCBHRXJyb3JzIHRvIGVycm9yIG1lc3NhZ2VzCgkgIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBsZWFrIGRlYnVnIGluZm9ybWF0aW9uIGludG8gdGhlIGFjdHVhbAoJICBlcnJvciBtZXNzYWdlIHN0cmluZyBhbmQga2VlcCBpdCBiZWhpbmQgdGhlIGRlYnVnIHN0cmluZy4KCjIwMTQtMDYtMTcgMTE6NDg6MTIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBnc3RzcnRwZW5jOiB1bnJlZiBldmVudCB3aGVuIG5lZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY4CgoyMDE0LTA2LTE4IDE1OjM2OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogaW1wcm92ZSBwcm9wZXJ0eSBjb21tZW50cwoJICBBZGQgYSBOb3RlIHRvIHRoZSBhbGxvdy1yZXBlYXQtdHggcHJvcGVydHkgYmVjYXVzZSBpdCBpcyBwb3RlbnRpYWxseQoJICBpbnNlY3VyZSB3aGVuIHVzZWQgaW5jb3JyZWN0bHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3MTQKCjIwMTQtMDYtMTMgMTE6MTU6MjUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIGdzdHNydHBlbmM6IGFkZCBhbGxvdy1yZXBlYXQtdHggcHJvcGVydHkKCjIwMTQtMDUtMjcgMTI6NDA6MDkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogYWRkIGVsZW1lbnQgZm9yIHRyYW5zZm9ybWluZyB2aWRlbyBnZW9tZXRyeQoJICAqIGFkZCBncmFwaGVuZSBhcyBzb2Z0IGRlcGVuZGVuY3kgZm9yIGxpbmVhciBhbGdlYnJhCgoyMDE0LTA2LTE4IDEwOjEzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSAgcG5tOiBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTIzCgoyMDE0LTA2LTE3IDIzOjIwOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGRvbid0IHNlZ2ZhdWx0IG5lZWRsZXNzbHkgd2l0aCBHTEVTMgoJICBnc3RfZ2xfZnJhbWVidWZmZXJfdXNlX3YyIHdhcyB1c2luZyBhIGZ1bmN0aW9uIHRoYXQgaXMgbm90IGF2YWlsYWJsZQoJICB3aXRoIEdMRVMyCgoyMDE0LTA2LTE2IDIwOjM2OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSAgZ2xmaWx0ZXJzaGFkZXI6IHBvcnQgdG8gR0xFUzIKCSAgUHJvdmlkZSBhIHRpbWUgdmFyaWFibGUKCjIwMTQtMDYtMTcgMTM6NDg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBleHBvcnRzIGZvciBjaGFuZ2VkIGgyNjQgY29kZWMgcGFyc2VyIEFQSQoKMjAxNC0wNi0xNyAxMjo1MDoxNyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubWRlYzogQWRkZWQgUEJNIFN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUyMwoKMjAxNC0wNi0xNyAxMzoxNTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogYWRkIHVuc3RhYmxlIEFQSSBndWFyZHMgdG8gd2F5bGFuZCBsaWJyYXJ5IGhlYWRlcgoKMjAxNC0wNi0xNyAxMzoxMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogZml4IHVuaW5zdGFsbGVkIGJ1aWxkIG9mIG5ldyB3YXlsYW5kIGxpYgoKMjAxNC0wNi0xNiAxODo1Mzo1MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luay93bGRpc3BsYXk6IHZlcmlmeSB0aGF0IGFsbCB0aGUgcmVxdWlyZWQgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZm91bmQgb24gdGhlIGNvbXBvc2l0b3IKCSAgVGhpcyBhbGxvd3Mgd2F5bGFuZHNpbmsgdG8gZmFpbCBncmFjZWZ1bGx5IGJlZm9yZSBnb2luZyB0byBSRUFEWQoJICBpbiBjYXNlIG9uZSBvZiB0aGUgcmVxdWlyZWQgaW50ZXJmYWNlcyBkb2VzIG5vdCBleGlzdC4gTm90IGFsbAoJICBpbnRlcmZhY2VzIGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBtb2RlcyBvZiBvcGVyYXRpb24sIGJ1dCBpdCBpcwoJICBiZXR0ZXIgaW1obyB0byBmYWlsIGJlZm9yZSBnb2luZyB0byBSRUFEWSBpZiBhdCBsZWFzdCBvbmUgZmVhdHVyZQoJICBpcyBub3Qgc3VwcG9ydGVkLCB0aGFuIHRvIGZhaWwgYW5kL29yIGNyYXNoIGF0IHNvbWUgbGF0ZXIgcG9pbnQuCgkgIEluIHRoZSBmdXR1cmUgd2UgbWF5IHdhbnQgdG8gcmVsYXggdGhpcyByZXN0cmljdGlvbiBhbmQgYWxsb3cgY2VydGFpbgoJICBpbnRlcmZhY2VzIG5vdCB0byBiZSBwcmVzZW50IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgZm9yIGV4YW1wbGUKCSAgaWYgdGhlcmUgaXMgYW4gYWx0ZXJuYXRpdmUgc2ltaWxhciBpbnRlcmZhY2UgYXZhaWxhYmxlIChmb3IgaW5zdGFuY2UsCgkgIHhkZ19zaGVsbCBpbnN0ZWFkIG9mIHdsX3NoZWxsKSwgYnV0IGZvciBub3cgbGV0J3MgcmVxdWlyZSB0aGVtIGFsbC4KCSAgV2VzdG9uIHN1cHBvcnRzIHRoZW0gYWxsLCB3aGljaCBpcyBlbm91Z2ggZm9yIHVzIG5vdy4gT3RoZXIgY29tcG9zaXRvcnMKCSAgc2hvdWxkIHJlYWxseSBpbXBsZW1lbnQgdGhlbSBpZiB0aGV5IGRvbid0IGFscmVhZHkuIEkgZG9uJ3QgbGlrZSB0aGUKCSAgaWRlYSBvZiBzdXBwb3J0aW5nIG1hbnkgZGlmZmVyZW50IGNvbXBvc2l0b3JzIHdpdGggZGlmZmVyZW50IHNldHMgb2YKCSAgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZC4gd2xfc3ViY29tcG9zaXRvciwgd2xfc2htIGFuZCB3bF9zY2FsZXIgYXJlCgkgIHJlYWxseSBlc3NlbnRpYWwgZm9yIGhhdmluZyBhIG5pY2UgdmlkZW8gc2luay4gRW5vdWdoIHNhaWQuCgoyMDE0LTA2LTE2IDE4OjAzOjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgYnVmZmVyIGZyb20gdGhlIHN1cmZhY2Ugd2hlbiBnb2luZyBQQVVTRUQgLT4gUkVBRFkKCSAgVGhpcyBlc3NlbnRpYWxseSBoaWRlcyB0aGUgdmlkZW8gYW5kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8KCSAgcG90ZW50aWFsbHkgZHJhdyBhIGJsYWNrIGJhY2tncm91bmQgb3Igd2hhdGV2ZXIgZWxzZSBpdCB3YW50cy4KCSAgVGhpcyBhbGxvd3MgdG8gZGlmZmVyZW50aWF0ZSB0aGUgInBhdXNlZCIgYW5kICJzdG9wcGVkIiBtb2RlcwoJICBmcm9tIHRoZSB1c2VyJ3MgcG9pbnQgb2Ygdmlldy4KCSAgQWxzbyByZXdvcmRlZCBhIGNvbW1lbnQgdGhlcmUgdG8gbWFrZSBteSB0aGlua2luZyBtb3JlIGNsZWFyLAoJICBzaW5jZSB0aGUgInJlYXNvbiBmb3Iga2VlcGluZyB0aGUgZGlzcGxheSBhcm91bmQiIGlzIG5vdCByZWFsbHkKCSAgdGhlIGV4cG9zZWQoKSBjYWxscywgYXMgdGhlcmUgaXMgbm8gYnVmZmVyIHNob3duIGluIFJFQURZL05VTEwKCSAgYW55bW9yZS4KCjIwMTQtMDYtMTIgMTc6NDM6NDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItd2F5bGFuZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLnBjLmluOgoJICB3YXlsYW5kOiBpbnN0YWxsIC5wYyBmaWxlCgoyMDE0LTA2LTEzIDE2OjM3OjM4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IGRvIG5vdCBjb21taXQgYSByZXNpemUgd2hlbiBpdCBoYXBwZW5zIGR1ZSB0byBhIHZpZGVvIGluZm8gY2hhbmdlCgkgIDEpIFdlIGtub3cgdGhhdCBnc3Rfd2F5bGFuZF9zaW5rX3JlbmRlcigpIHdpbGwgY29tbWl0IHRoZSBzdXJmYWNlCgkgIGluIHRoZSBzYW1lIHRocmVhZCBhIGxpdHRsZSBsYXRlciwgYXMgZ3N0X3dsX3dpbmRvd19zZXRfdmlkZW9faW5mbygpCgkgIGlzIGFsd2F5cyBjYWxsZWQgZnJvbSB0aGVyZSwgc28gd2UgY2FuIHNhdmUgdGhlIGNvbXBvc2l0b3IgZnJvbQoJICBzb21lIGV4dHJhIGNhbGN1bGF0aW9ucy4KCSAgMikgV2Ugc2hvdWxkIG5vdCBjb21taXQgYSByZXNpemUgd2l0aCB0aGUgbmV3IHZpZGVvIGluZm8gd2hpbGUgd2UgYXJlIHN0aWxsCgkgIHNob3dpbmcgdGhlIGJ1ZmZlciBvZiB0aGUgcHJldmlvdXMgdmlkZW8sIHdpdGggdGhlIG9sZCBjYXBzLCBhcyB0aGF0CgkgIHdvdWxkIHByb2JhYmx5IGJlIGEgdmlzaWJsZSByZXNpemUgZ2xpdGNoLgoKMjAxNC0wNi0xMyAxNjoyOTozMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiB0YWtlIGludG8gYWNjb3VudCB0aGUgdmlkZW8gYXNwZWN0IHJhdGlvIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHNpemUgb2YgdGhlIHN1cmZhY2UKCjIwMTQtMDYtMTMgMTU6NTg6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogaW1wcm92ZSB0aGUgd2F5IHRoZSB2aWRlbyBzaXplIGlzIHBhc3NlZCB0byB3bHdpbmRvdyBhbmQgYWxzbyBpbXByb3ZlIHRoZSBjb2RlIGZvciB3aW5kb3cgY3JlYXRpb24KCjIwMTQtMDYtMDYgMTI6NDk6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIHRvIGJlZ2luL2VuZF9nZW9tZXRyeV9jaGFuZ2UgYW5kIHVwZGF0ZSB0aGVpciBkb2N1bWVudGF0aW9uCgoyMDE0LTA1LTI5IDEyOjI3OjQ2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgbWFudWFsIHN5bmNocm9uaXphdGlvbiBmcm9tIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgYW5kIHVzZSBzdWJzdXJmYWNlIHN5bmMvZGVzeW5jCgkgIFByZXZpb3VzbHksIGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgc3VyZmFjZSBzaXplIHdlIGhhZCB0byBsZXQgdGhlIHBpcGVsaW5lCgkgIHJlZHJhdyBpdCwgd2hpY2ggYXQgZmlyc3QgYWxzbyBpbnZvbHZlZCByZS1uZWdvdGlhdGluZyBjYXBzLCBldGMsIHNvIGEKCSAgc3luY2hyb25pemF0aW9uIHdpdGggdGhlIHBpcGVsaW5lIHdhcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS4KCSAgQXQgdGhlIG1vbWVudCwgd2UgYXJlIHVzaW5nIHdsX3ZpZXdwb3J0LCB3aGljaCBzZXBhcmF0ZXMgdGhlIHN1cmZhY2Ugc2l6ZQoJICBmcm9tIHRoZSBidWZmZXIgc2l6ZSBhbmQgaXQgYWxzbyBhbGxvd3MgdXMgdG8gY29tbWl0IGEgc3VyZmFjZSByZXNpemUgd2l0aG91dAoJICBhdHRhY2hpbmcgYSBuZXcgYnVmZmVyLCBzbyBpdCBpcyBlbm91Z2ggdG8ganVzdCBkbzoKCSAgZ3N0X3dheWxhbmRfdmlkZW9fcGF1c2VfcmVuZGVyaW5nKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X3N5bmMoKQoJICBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZSgpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9wb3NpdGlvbigpCgkgIHdsX3ZpZXdwb3J0X3NldF9kZXN0aW5hdGlvbigpCgkgIHdsX3N1cmZhY2VfZGFtYWdlKCkKCSAgd2xfc3VyZmFjZV9jb21taXQoKQoJICAuLi4gY29tbWl0IHRoZSBwYXJlbnQgc3VyZmFjZSAuLi4KCSAgZ3N0X3dheWxhbmRfdmlkZW9fcmVzdW1lX3JlbmRlcmluZygpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9kZXN5bmMoKQoJICBUaGlzIGlzIGVub3VnaCB0byBzeW5jaHJvbml6ZSBhIHN1cmZhY2UgcmVzaXplIGFuZCB0aGUgcGlwZWxpbmUgY2FuIGNvbnRpbnVlCgkgIGRyYXdpbmcgaW5kZXBlbmRlbnRseS4gTm93IG9mIGNvdXJzZSwgdGhlIG5hbWVzIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgYXJlCgkgIGJhZC4gSSB3aWxsIHJlbmFtZSB0aGVtIGluIGFub3RoZXIgY29tbWl0LgoKMjAxNC0wNi0wNiAxMjoxMDoyNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBwcm90ZWN0IGFjY2VzcyB0byBwcm9wZXJ0aWVzIHdpdGggdGhlIE9CSkVDVF9MT0NLCgoyMDE0LTA2LTA2IDEyOjA0OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHByb3RlY3QgYWNjZXNzIHRvIHRoZSBkaXNwbGF5IHdpdGggYSBuZXcgZGlzcGxheV9sb2NrCgkgIEFjY2VzcyBpcyBwcm90ZWN0ZWQgb25seSBmb3Igc2V0dGluZy9jcmVhdGluZy9kZXN0cm95aW5nIHRoZSBkaXNwbGF5CgkgIGhhbmRsZS4gc2V0X2NhcHMoKSBmb3IgZXhhbXBsZSBpcyBub3QgcHJvdGVjdGVkIGJlY2F1c2UgaXQgY2Fubm90IGJlCgkgIGNhbGxlZCBiZWZvcmUgY2hhbmdpbmcgc3RhdGUgdG8gUkVBRFksIGF0IHdoaWNoIHBvaW50IHRoZXJlIHdpbGwgYmUKCSAgYSBkaXNwbGF5IGhhbmRsZSBhdmFpbGFibGUgYW5kIHdoaWNoIGNhbm5vdCBjaGFuZ2UgYnkgYW55IHRocmVhZCBhdAoJICB0aGF0IHBvaW50CgoyMDE0LTA2LTA2IDEwOjM1OjIwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgT0JKRUNUX0xPQ0sgZnJvbSBzZXRfY2FwcygpCgkgIEl0J3Mgbm90IHJlYWxseSBuZWNlc3NhcnksIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZCBmcm9tIEdzdEJhc2VTaW5rIHdpdGggdGhlIFBSRVJPTExfTE9DSwoKMjAxNC0wNS0yOCAxMzoxMDo0MyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBSZXBsYWNlIHRoZSBPQkpFQ1RfTE9DSyB3aXRoIGEgcHJpdmF0ZSByZW5kZXJfbG9jayB0byBsb2NrIHJlbmRlciBvcGVyYXRpb25zCgkgIFRoaXMgaXMgYmVjYXVzZToKCSAgKiBHU1RfRUxFTUVOVF9XQVJOSU5HL0VSUk9SIGRvIGxvY2sgdGhlIE9CSkVDVF9MT0NLIGFuZCB3ZSBkZWFkbG9jayBpbnN0YW50bHkKCSAgKiBJbiBmdXR1cmUgY29tbWl0cyBJIHdhbnQgdG8gbWFrZSB1c2Ugb2YgR3N0QmFzZVNpbmsgZnVuY3Rpb25zIHRoYXQgYWxzbwoJICBsb2NrIHRoZSBPQkpFQ1RfTE9DSyBpbnNpZGUgdGhpcyBjb2RlCgoyMDE0LTA1LTI2IDE0OjEzOjU2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IG1vdmUgc3VyZmFjZSByZXNpemluZyBsb2dpYyB0byB0aGUgR3N0V2xXaW5kb3cgYW5kIG1ha2UgaXQgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkCgoyMDE0LTA1LTI2IDEyOjU0OjEwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGNsZWFudXAgR3N0V2xXaW5kb3cgYSBiaXQgYWZ0ZXIgdGhlIG92ZXJsYXlpbmcgc2VtYW50aWNzIGNoYW5nZQoJICAqIG93bl9zdXJmYWNlIGlzIG5vdCBuZWVkZWQgYW55bW9yZQoJICAqIGdzdF93bF93aW5kb3dfZnJvbV9zdXJmYWNlIGlzIG5vdCB1c2VkIGV4dGVybmFsbHkgYW55bW9yZQoJICAqIG1hbnkgaW5pdGlhbGl6YXRpb25zIHRvIDAgYXJlIG5vdCBuZWVkZWQgKEdPYmplY3QgZG9lcyB0aGVtKQoKMjAxNC0wNS0yNiAxMTozNDo1MSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiByZW1vdmUgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZSgpCgkgIE5vdCBuZWVkZWQgYW55bW9yZSwgc2luY2Ugd2UgdXNlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlKCkKCjIwMTQtMDUtMjMgMTg6MTg6MzIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBjcmVhdGUgYW5kIG1haW50YWluIHRoZSBzdWJzdXJmYWNlIGluc2lkZSB0aGUgc2luawoJICBUaGlzIG1lYW5zIHRoYXQgdGhlIGdpdmVuIHN1cmZhY2UgaW4gc2V0X3dpbmRvd19oYW5kbGUgY2FuIG5vdyBiZQoJICB0aGUgd2luZG93J3MgdG9wLWxldmVsIHN1cmZhY2Ugb24gdG9wIG9mIHdoaWNoIHdheWxhbmRzaW5rIGNyZWF0ZXMKCSAgaXRzIG93biBzdWJzdXJmYWNlIGZvciByZW5kZXJpbmcgdGhlIHZpZGVvLgoJICBUaGlzIGhhcyBtYW55IGFkdmFudGFnZXM6CgkgICogV2UgY2FuIG1haW50YWluIGFzcGVjdCByYXRpbyBieSBvdmVybGF5aW5nIHRoZSBzdWJzdXJmYWNlIGluCgkgIHRoZSBjZW50ZXIgb2YgdGhlIGdpdmVuIGFyZWEgYW5kIGZpbGwgdGhlIHBhcmVudCBzdXJmYWNlJ3MgYXJlYQoJICBibGFjayBpbiBjYXNlIHdlIG5lZWQgdG8gZHJhdyBib3JkZXJzIChpbnN0ZWFkIG9mIGFkZGluZyBhbm90aGVyCgkgIHN1YnN1cmZhY2UgaW5zaWRlIHRoZSBzdWJzdXJmYWNlIGdpdmVuIGZyb20gdGhlIGFwcGxpY2F0aW9uLAoJICBzbywgbGVzcyBzdWJzdXJmYWNlcykKCSAgKiBXZSBjYW4gbW9yZSBlYXNpbHkgc3VwcG9ydCB0b29sa2l0cyB3aXRob3V0IHN1YnN1cmZhY2VzIChzZWUgZ3RrKQoJICAqIFdlIGNhbiBnZXQgcHJvcGVybHkgdXNlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlCgkgIGFzIG91ciBhcGkgdG8gc2V0IHRoZSB2aWRlbyBhcmVhIHNpemUgZnJvbSB0aGUgYXBwbGljYXRpb24gYW5kCgkgIHRoZXJlZm9yZSByZW1vdmUgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZS4KCjIwMTQtMDUtMjMgMTM6MDk6MjcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogYWRkIHB1YmxpYyBBUEkgZm9yIGNyZWF0aW5nICYgdXNpbmcgdGhlIGRpc3BsYXkgaGFuZGxlIEdzdENvbnRleHQKCjIwMTQtMDUtMjEgMTg6Mjc6MjggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiBnZXQgdGhlIGV4dGVybmFsIGRpc3BsYXkgaGFuZGxlIHVzaW5nIEdzdENvbnRleHQKCSAgVGhpcyBkcm9wcyB0aGUgdWdseSBHc3RXYXlsYW5kV2luZG93SGFuZGxlIHN0cnVjdHVyZSBhbmQgaXMgbXVjaAoJICBtb3JlIGVsZWdhbnQgYmVjYXVzZSB3ZSBjYW4gbm93IHJlcXVlc3QgdGhlIGRpc3BsYXkgc2VwYXJhdGVseQoJICBmcm9tIHRoZSB3aW5kb3cgaGFuZGxlLiBUaGVyZWZvcmUgdGhlIHdpbmRvdyBoYW5kbGUgY2FuIGJlIHJlcXVlc3RlZAoJICBpbiByZW5kZXIoKSwgaS5lLiB3aGVuIGl0IGlzIHJlYWxseSBuZWVkZWQgYW5kIHdlIGNhbiBzdGlsbCBvcGVuCgkgIHRoZSBjb3JyZWN0IGRpc3BsYXkgZm9yIGdldHRpbmcgY2FwcyBhbmQgY3JlYXRpbmcgdGhlIHBvb2wgZWFybGllci4KCSAgVGhpcyBjaGFuZ2UgYWxzbyBzZXBhcmF0ZXMgc2V0dGluZyB0aGUgd2xfc3VyZmFjZSBmcm9tIHNldHRpbmcgaXRzIHNpemUuCgkgIEFwcGxpY2F0aW9ucyBzaG91bGQgZG8gdGhhdCBieSBjYWxsaW5nIHR3byBmdW5jdGlvbnMgaW4gc2VxdWVuY2U6CgkgIGdzdF92aWRlb19vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlIChvdmVybGF5LCBzdXJmYWNlKTsKCSAgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZSAob3ZlcmxheSwgdywgaCk7CgoyMDE0LTA1LTIxIDEzOjE0OjE1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGRyb3Agd2lkdGgvaGVpZ2h0IGFyZ3VtZW50cyBmcm9tIGdzdF93bF93aW5kb3dfbmV3X2Zyb21fc3VyZmFjZSgpCgoyMDE0LTA1LTIyIDEwOjEwOjUxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGFkZCBHX0JFR0lOL0VORF9ERUNMUyBvbiBhbGwgaGVhZGVycyBmb3IgY29uc2lzdGVuY3kKCjIwMTQtMDUtMjEgMTI6NTg6MTAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGFzc2VydGlvbiBmYWlsdXJlIHdoZW4gc3RvcHBpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRpbmcsIHdpdGhvdXQgZGlzcGxheWluZyBhbnl0aGluZwoJICBUaGlzIHdhcyB0cmlnZ2VyZWQgaW4gc2NlbmFyaW9zIGxpa2UKCSAgZmlsZXNyYyBsb2NhdGlvbj1ub25leGlzdGVudF9maWxlICEgZGVjb2RlYmluICEgd2F5bGFuZHNpbmsKCjIwMTQtMDUtMjEgMTE6NTU6NDUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbms6IFVwZGF0ZSB3bF9zY2FsZXIgdG8gdmVyc2lvbiAyCgoyMDE0LTA1LTIwIDE5OjA0OjE2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQvTWFrZWZpbGUuYW06IGxpbmsgd2l0aCBnc3R2aWRlbyB0byBhdm9pZCBpbnRyb3NwZWN0aW9uIGVycm9ycwoKMjAxNC0wNS0yMCAxOTowMzozOSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kc2luay9NYWtlZmlsZS5hbTogRml4IHNjYWxlci1jbGllbnQtcHJvdG9jb2wuaCBnZW5lcmF0aW9uCgoyMDE0LTAzLTEzIDEzOjEzOjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxNC0wMy0xMiAxOToyNTowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIGxpc3QKCjIwMTQtMDMtMTIgMTc6MDM6MTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbmsvd2xkaXNwbGF5OiBiaW5kIHRvIHRoZSBsYXRlc3QgYXZhaWxhYmxlIHdsX2NvbXBvc2l0b3IgdmVyc2lvbgoKMjAxNC0wMy0xMiAxNDoyODo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBjcmVhdGUvZGVzdHJveSB0aGUgZGlzcGxheSB3aGVuIGVudGVyaW5nL2xlYXZpbmcgdGhlIFJFQURZIHN0YXRlIGluc3RlYWQgb2YgUEFVU0VECgkgIFRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIGdldCB0aGUgbmVnb3RpYXRpb24gd29ya2luZyB3aXRoIHRoZSBkeW5hbWljCgkgIGRldGVjdGlvbiBvZiBmb3JtYXRzIGZyb20gdGhlIGRpc3BsYXksIGJlY2F1c2UgdGhlIHBpcGVsaW5lIG5lZWRzCgkgIHRvIGtub3cgdGhlIHN1cHBvcnRlZCBmb3JtYXRzIGluIHRoZSBSRUFEWSBzdGF0ZSBhbmQgdGhlIHN1cHBvcnRlZAoJICBmb3JtYXRzIGNhbiBvbmx5IGJlIGtub3duIGlmIHdlIG9wZW4gdGhlIGRpc3BsYXkuCgkgIFVuZm9ydHVuYXRlbHksaW4gd2F5bGFuZCB3ZSBjYW5ub3QgaGF2ZSBhIHNlcGFyYXRlIGNvbm5lY3Rpb24gdG8KCSAgdGhlIGRpc3BsYXkgZnJvbSB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24sIHNvIHdlIG5lZWQgdG8gYXNrIGZvciBhCgkgIHdpbmRvdyBoYW5kbGUgd2hlbiBnb2luZyB0byBSRUFEWSBpbiBvcmRlciB0byBnZXQgdGhlIGRpc3BsYXkgZnJvbSBpdC4KCSAgQW5kIHNpbmNlIGl0J3MgdG9vIGVhcmx5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCB3aW5kb3cgZnJvbSB0aGUgc3RhdGUKCSAgY2hhbmdlIHRvIFJFQURZLCBjcmVhdGUgaXQgaW4gcmVuZGVyKCkgd2hlbiB0aGVyZSBpcyBubyBvdGhlciB3aW5kb3cuCgkgIFRoaXMgYWxzbyBjaGFuZ2VzIHNldF93aW5kb3dfaGFuZGxlKCkgdG8gbm90IHN1cHBvcnQgd2luZG93IGhhbmRsZQoJICBjaGFuZ2VzIGluIFBBVVNFRC9QTEFZSU5HIChiZWNhdXNlIGl0J3MgY29tcGxleCB0byBoYW5kbGUgYW5kIHVzZWxlc3MKCSAgaW4gcHJhY3RpY2UpIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGVyZSBpcyBhbHdheXMgYSB2YWxpZCBkaXNwbGF5IHBvaW50ZXIKCSAgYXJvdW5kIGluIHRoZSBSRUFEWSBzdGF0ZS4KCjIwMTQtMDMtMTIgMTQ6MTM6NDkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogU3VwcG9ydCBhbGwgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIGRpc3BsYXkKCjIwMTQtMDMtMTIgMTM6NTQ6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGNyYXNoIGluIGNhc2UgdGhlcmUgaXMgbm8gcG9vbCBiZWNhdXNlIG9mIGEgY2FwcyBuZWdvdGlhdGlvbiBlcnJvcgoKMjAxNC0wMy0xMSAxOTo0Nzo1MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBzZXQgYW4gZW1wdHkgaW5wdXQgcmVnaW9uIG9uIHRoZSB2aWRlbyBzdXJmYWNlCgoyMDE0LTAzLTExIDE5OjQ2OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IHJldXNlIGNvZGUgYmV0d2VlbiB0aGUgdHdvIGNvbnN0cnVjdG9ycwoKMjAxNC0wMy0xMSAxODo0NToyMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBpbmNyZWFzZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxNC0wMy0xMSAxNzo0ODo0NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBVc2UgYSBib29sZWFuIGluIGNvbWJpbmF0aW9uIHdpdGggcmVuZGVyX2NvbmQgdG8gY29tcGx5IHdpdGggR0NvbmQncyB1c2FnZSBkb2N1bWVudGF0aW9uCgoyMDE0LTAzLTExIDE3OjQ1OjA1ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IEltcGxlbWVudCBleHBvc2UoKSBhbmQgaGFuZGxlIHJlc2l6aW5nIHByb3Blcmx5IGluIG5vbi1QTEFZSU5HIHN0YXRlcwoKMjAxNC0wMy0xMSAxMzoxNDowMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IFVzZSB3bF9zY2FsZXIvd2xfdmlld3BvcnQgdG8gc2NhbGUgdGhlIHN1cmZhY2UgaW4gdGhlIGNvbXBvc2l0b3IvaGFyZHdhcmUKCjIwMTQtMDMtMTEgMTM6MDU6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kLy5naXRpZ25vcmU6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJICB3YXlsYW5kc2luazogQnVpbGQgYmluZGluZ3MgZm9yIHRoZSB1bnN0YWJsZSB3bF9zY2FsZXIgc3BlYwoKMjAxNC0wMy0xMCAxMzo1MDowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBTZXQgZXh0ZXJuYWwgc3VyZmFjZXMgYW5kIHRoZWlyIGNoaWxkIG9iamVjdHMgdG8gdXNlIG91ciBvd24gZXZlbnQgcXVldWUKCSAgVGhpcyBmaXhlcyB3ZWlyZCBmcmVlemVzIGJlY2F1c2Ugb2YgZnJhbWVfcmVkcmF3X2NhbGxiYWNrKCkgbm90IGJlaW5nCgkgIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZCB3aGVuIGl0IHNob3VsZCB3aXRoIHdlc3RvbidzIHRveSB0b29sa2l0LgoJICBJdCdzIGFsc28gc2FmZXIgdG8ga25vdyB0aGF0IGZyYW1lX3JlZHJhd19jYWxsYmFjaygpIHdpbGwgYWx3YXlzIGJlCgkgIGNhbGxlZCBmcm9tIG91ciBkaXNwbGF5IHRocmVhZC4uLiBPdGhlcndpc2UgaXQgY291bGQgYmUgY2FsbGVkIGFmdGVyCgkgIHRoZSBzaW5rIGhhcyBiZWVuIGRlc3Ryb3llZCBmb3IgZXhhbXBsZS4KCjIwMTQtMDMtMDcgMTc6MjU6MDAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogV2FpdCBmb3IgdGhlIGZyYW1lX2NiIHRvIHJlZHJhdyBhbmQgZHJvcCBmcmFtZXMgbWVhbndoaWxlCgkgIFdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gcmVkcmF3IHVudGlsIHdlIHJlY2VpdmUgYSBmcmFtZSBjYWxsYmFjayBhbmQgdGhpcwoJICBpcyBlc3BlY2lhbGx5IHVzZWZ1bCB0byBhdm9pZCBhbGxvY2F0aW5nIHRvbyBtYW55IGJ1ZmZlcnMgd2hpbGUgdGhlCgkgIHdpbmRvdyBpcyBub3QgdmlzaWJsZSwgYmVjYXVzZSB0aGUgY29tcG9zaXRvciBtYXkgbm90IGNhbGwgd2xfYnVmZmVyLnJlbGVhc2UKCSAgdW50aWwgdGhlIHdpbmRvdyBiZWNvbWVzIHZpc2libGUgKG9rLCB0aGlzIGlzIGEgd2F5bGFuZCBidWcsIGJ1dC4uLikuCgoyMDE0LTAzLTA3IDE2OjE2OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IEhhbmRsZSB3bF9idWZmZXI6OnJlbGVhc2UgYW5kIGRvbid0IHJldXNlIGJ1ZmZlcnMgdGhhdCBhcmUgbm90IHJlbGVhc2VkCgkgIFRoaXMgaXMgYWNoaWV2ZWQgYnkgYWRkaW5nIGFuIGV4dHJhIHJlZmVyZW5jZSBvbiB0aGUgYnVmZmVycywgd2hpY2ggZG9lcwoJICBub3QgYWxsb3cgdGhlbSB0byByZXR1cm4gdG8gdGhlIHBvb2wuIFdoZW4gdGhleSBhcmUgcmVsZWFzZWQsIHRoaXMgcmVmZXJlbmNlCgkgIGlzIGRyb3BwZWQuCgkgIFRoZSByZXN0IGNvbXBsZXhpdHkgb2YgdGhpcyBwYXRjaCAoaGFzaCB0YWJsZSwgbXV0ZXgsIGZsYWcsIGV4cGxpY2l0IHJlbGVhc2UgY2FsbHMpCgkgIG1lcmVseSBleGlzdHMgdG8gYWxsb3cgYSBzYWZlLCBndWFyYW50ZWVkIGFuZCBkZWFkbG9jay1mcmVlIGRlc3RydWN0aW9uIHNlcXVlbmNlLgoJICBTZWUgdGhlIGFkZGVkIGNvbW1lbnQgb24gZ3N0d2F5bGFuZHNpbmsuYyBmb3IgZGV0YWlscy4KCjIwMTQtMDMtMDYgMTc6MDM6NTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVtb3ZlIHVzZWxlc3MgbXVubWFwIGNhbGwKCSAgVGhpcyBkYXRhIHBvaW50ZXIgaXMgcGFydCBvZiBhIGJpZ2dlciBtbWFwJ2VkIHJlZ2lvbiwKCSAgaXQgaGFzIG5vdCBiZWVuIHJldHVybmVkIGZyb20gbW1hcCBpdHNlbGYuCgoyMDE0LTAyLTI4IDEzOjM3OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGNhbGwgdGhlIHN0YXJ0L3N0b3AgbWV0aG9kcyBvZiB0aGUgcGFyZW50IGNsYXNzCgkgIHN0YXJ0KCkgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGFtbW91bnQgb2YgYnVmZmVycyByZXF1ZXN0ZWQgaXMgYWxsb2NhdGVkLgoJICBzdG9wKCkgbWFrZXMgc3VyZSB0aGF0IGJ1ZmZlcnMgYXJlIGFjdHVhbGx5IGRlc3Ryb3llZCBhbmQgcHJldmVudHMKCSAgZmlsbGluZyB0aGUgZmlsZSBzeXN0ZW0gd2hlbiByZXNpemluZyB0aGUgc3VyZmFjZSBhIGxvdCwgYmVjYXVzZSB0aGUKCSAgd2F5bGFuZC1zaG0tKiBmaWxlcyB3aWxsIHN0YXkgb24gdGhlIGZpbGUgc3lzdGVtIGFzIGxvbmcgYXMgdGhlIHdsX2J1ZmZlcnMKCSAgY3JlYXRlZCBvdXQgb2YgdGhlbSBhcmUgYWxpdmUuCgoyMDE0LTAyLTI4IDEzOjM2OjQzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHVubGluayBtbWFwZWQgc2htIGZpbGVzIHNvIHRoYXQgdGhleSBkb24ndCByZW1haW4gb24gdGhlIGZpbGUgc3lzdGVtCgoyMDE0LTAyLTI4IDExOjQ4OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogaW1wbGVtZW50IHRoZSBHc3RWaWRlb092ZXJsYXkgJiBHc3RXYXlsYW5kVmlkZW8gaW50ZXJmYWNlcwoJICBUaGlzIGlzIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCB3aXRob3V0IHRoZSBHc3RWaWRlb092ZXJsYXkuZXhwb3NlKCkKCSAgbWV0aG9kLiBJdCBvbmx5IGltcGxlbWVudHMgdXNpbmcgYW4gZXh0ZXJuYWwgKHN1YilzdXJmYWNlIGFuZCByZXNpemluZwoJICBpdCB3aXRoIEdzdFdheWxhbmRWaWRlby4KCjIwMTQtMDItMTQgMTY6MDg6NTYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGltcGxlbWVudCB3aXRoIHN0dWJzIHRoZSBHc3RXYXlsYW5kVmlkZW8gJiBHc3RWaWRlb092ZXJsYXkgaW50ZXJmYWNlcwoKMjAxMy0wNS0wNiAxMzoxNjowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IEFkZCBuZXcgZ3N0LXdheWxhbmQgbGlicmFyeSBjb250YWluaW5nIGEgbmV3IEdzdFdheWxhbmRWaWRlbyBpbnRlcmZhY2UKCSAgVGhpcyBpbnRlcmZhY2UgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gZW1iZWQgd2F5bGFuZHNpbmsgaW50bwoJICBvdGhlciB3YXlsYW5kIHN1cmZhY2VzLiBEdWUgdG8gdGhlIHNwZWNpYWwgbmF0dXJlIG9mIHdheWxhbmQsCgkgIEdzdFZpZGVvT3ZlcmxheSBpcyBub3QgZW5vdWdoIGZvciB0aGlzIGpvYi4KCjIwMTQtMDItMjYgMTg6MzU6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiBoYW5kbGUgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMgcHJvcGVybHkKCSAgZW51bSB3bF9zaG1fZm9ybWF0IGlzIG5vdCBhIGZsYWdzIGVudW0sIGFzIGl0IG1heSBoYXZlIGJlZW4gaW4gdGhlIHBhc3QsCgkgIHNvIG11bHRpcGxlIGZvcm1hdHMgY2Fubm90IGJlIHN0b3JlZCBpbiBhIGJpdGZpZWxkLiBVc2UgYW4gYXJyYXkgaW5zdGVhZC4KCjIwMTQtMDItMjYgMTc6NDE6MTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkgIHdheWxhbmRzaW5rL3dsdmlkZW9mb3JtYXQ6IGFkZCBtYXBwaW5ncyBmb3IgbWFueSBjb21tb24gZm9ybWF0cwoKMjAxNC0wMi0yNiAxNjoyMDo0MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiB1bnJlZiB0aGUgYnVmZmVyIHBvb2wKCjIwMTQtMDItMjYgMTY6MTE6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVmIHRoZSBkaXNwbGF5IGluc3RlYWQgb2YgdGhlIHNpbmsgdG8gYXZvaWQgY3ljbGljIHJlZmVyZW5jZXMKCSAgVGhlIHJlZmVyZW5jZSB0byB0aGUgc2luayBpcyBub3QgcmVhbGx5IG5lZWRlZCBhbnl3YXkgaW4gd2F5bGFuZHBvb2wsCgkgIHdoYXQgbWF0dGVycyBiYXNpY2FsbHkgaXMgdGhhdCB0aGUgZGlzcGxheSBpcyBhY3RpdmUgYXMgbG9uZyBhcyB0aGUKCSAgcG9vbCBpcyBhY3RpdmUsIHNvIHdlIHJlYWxseSB3YW50IHRvIHJlZmVyZW5jZSB0aGUgZGlzcGxheSBvYmplY3QKCSAgaW5zdGVhZCBvZiB0aGUgc2luay4KCjIwMTQtMDItMjYgMTQ6NTY6MjEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogbWFrZSB0aGUgZGlzcGxheSBwcm9wZXJ0eSB1c2VmdWwKCSAgTGV0IHRoZSBkaXNwbGF5IHByb3BlcnR5IGNvbnRyb2wgdGhlIG5hbWUgb2YgdGhlIGRpc3BsYXksCgkgIGxpa2UgaW4geCh2KWltYWdlc2luay4KCjIwMTQtMDItMTQgMTc6MjA6NDIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogYWNjZXNzIHNpbmstPnBvb2wgaW4gYSBtb3JlIGF0b21pYyBmYXNoaW9uCgoyMDE0LTAyLTE0IDE2OjMzOjEwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgdXNlbGVzcyB3YXlsYW5kX2xvY2sKCjIwMTQtMDItMTMgMTM6Mjg6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogYXBwbHkgdGhlIHNhbWUgZGVidWcgY2F0ZWdvcnkgdG8gYWxsIHRoZSBzdWJvYmplY3RzCgoyMDE0LTAyLTEzIDEzOjE1OjMxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IGNsZWFudXAgaGVhZGVyIGluY2x1ZGVzCgoyMDE0LTAyLTEzIDExOjU5OjQ1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBzcGxpdCB3aW5kb3ctcmVsYXRlZCBjb2RlIG91dCB0byBhIG5ldyBHc3RXbFdpbmRvdyBjbGFzcwoJICBHc3RXbFdpbmRvdyBhbHNvIGhhcyBBUEkgcmVhZHkgdG8gc3VwcG9ydCBzdWJzdXJmYWNlcy4KCjIwMTQtMDItMTMgMTE6MzI6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIGNhbGxiYWNrIGFuZCByZWRyYXdfcGVuZGluZyB2YXJpYWJsZXMgZnJvbSB0aGUgd2luZG93IHN0cnVjdHVyZQoKMjAxNC0wMi0xMyAxMDo1MTo1OSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBpbXByb3ZlIGRlYnVnIG1lc3NhZ2UKCjIwMTQtMDItMTMgMTA6Mzc6MDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogZmluZCB0aGUgdmlkZW8gZm9ybWF0IGZyb20gdGhlIEdzdFZpZGVvSW5mbyBpbnN0ZWFkIG9mIGFjY2Vzc2luZyB0aGUgc2luawoJICBGb3IgdGhlIHNha2Ugb2YgaXNvbGF0aW9uIG9ubHkuIFRoZSBmb3JtYXQgc2hvdWxkIGJlIHRoZSBzYW1lLgoKMjAxNC0wMi0xMyAxMDoyOTowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZWZhY3RvciBjb2RlCgkgICogbWFrZSB1c2Ugb2YgR3N0QnVmZmVyUG9vbDo6c3RhcnQvc3RvcCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUvZGVhbGxvY2F0ZSBtZW1vcnkKCSAgKiBnZXQgcmlkIG9mIHN0cnVjdCBzaG1fcG9vbCBhbmQgZG8gYWxsIG9wZXJhdGlvbnMgY2xlYW5seSBpbnNpZGUgV2F5bGFuZEJ1ZmZlclBvb2wKCSAgKiBzdG9yZSBhIEdzdFZpZGVvSW5mbyBkdXJpbmcgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSB3aWR0aCAmIGhlaWdodAoJICBhbmQgdXNlIHRoZSBzdHJpZGUgZnJvbSB0aGUgdmlkZW8gaW5mbyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgaXRzIHZhbHVlCgoyMDE0LTAyLTEzIDEwOjAyOjU0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJICB3YXlsYW5kc2luazogc3BsaXQgdmlkZW8gZm9ybWF0IHJlbGF0ZWQgZnVuY3Rpb25zIG91dCB0byBhIHNlcGFyYXRlIGZpbGUKCjIwMTQtMDItMTIgMTU6MTY6MDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogbW92ZSBjb2RlIGFyb3VuZCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5CgoyMDE0LTAyLTEyIDE0OjQxOjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IG1vdmUgc3RydWN0IHNobV9wb29sIGFuZCBpdHMgcmVsYXRlZCBmdW5jdGlvbnMgdG8gd2F5bGFuZHBvb2wuYwoJICBBbmQgYWxzbyBtYWtlIHRoZSBpbnN0YW5jZSBvZiB0aGlzIHN0cnVjdCB0byBiZSBvd25lZCBieSB0aGUgYnVmZmVyCgkgIHBvb2wgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCwgZm9yIHRoZSBzYWtlIG9mIGlzb2xhdGlvbgoKMjAxMy0wNS0xNCAxOTozNTozMyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rOiBVc2UgWERHX1JVTlRJTUVfRElSIGluc3RlYWQgb2YgL3RtcCBmb3IgdGhlIHNobSBmaWxlCgoyMDE0LTAyLTEyIDE0OjE1OjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTAyLTEyIDExOjI4OjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHByb2Nlc3MgZGlzcGxheSBldmVudHMgaW4gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSBkaXNwbGF5LXJlbGF0ZWQgY29kZSBpbnRvIGEgbmV3IEdzdFdsRGlzcGxheSBjbGFzcywKCSAgd2hpY2ggdGFrZXMgY2FyZSBvZiB0aGUgbmV3IHRocmVhZAoKMjAxNC0wMi0wNCAxNjozMjozMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiB0aWR5IHVwIHRoZSBoZWFkZXIgZmlsZXMKCjIwMTQtMDYtMTIgMTY6Mzg6MzUgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSAgcG5tZGVjOiB1c2UgR3N0VmlkZW9EZWNvZGVyIENsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE0MDAKCjIwMTQtMDYtMTYgMDc6NDI6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3Qgb3ZlcndyaXRlIG9yaWdpbmFsIHNlZWsgdmFsdWUKCSAgSW4gYWNjdXJhdGUgbW9kZSwgd2UnbGwgYmUgdXNpbmcgc3RhcnQgdG8gZmlsbCBpbiB0aGUgc2VlayBzZWdtZW50LAoJICB0aGVyZWZvcmUgZG9uJ3Qgb3ZlcndyaXRlIGl0IHdpdGggdGhlIHNoaWZ0ZWQgc2VlayBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTY5OAoKMjAxNC0wNi0xNSAxNToxODo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc2lsZW5jZSBpbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cyBpbiBmb3JtYXQgd2FybmluZwoKMjAxNC0wNi0xNSAxNToxNzowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbGRvd25sb2FkOiBwbHVnIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDYtMTUgMTM6NTk6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHdpcmUgdXAgdGhlIGFscGhhIHBhZCBwcm9wZXJ0eQoKMjAxNC0wNi0xNSAxMzo0NDowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc3VwcG9ydCBpbnB1dCBmcmFtZSBzY2FsaW5nCgoyMDE0LTA2LTE1IDEyOjI2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBwb3NpdGlvbmluZyBvZiBpbnB1dCBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3OTgKCjIwMTQtMDYtMTUgMTI6MjQ6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogYWxsb3cgdGhlIHN1YmNsYXNzIHRvIGNob29zZSB0aGUgc2luayBwYWQgdHlwZQoJICBBbGxvd3MgY3VzdG9tIHByb3BlcnRpZXMgdG8gYmUgcGxhY2VkIG9uIHRoZSBzaW5rIHBhZHMgYnkgc3ViY2xhc3NlcwoKMjAxNC0wNi0xMyAxMTo0NjoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGxpdmU6IGhhbmRsZSBwY3IvZHRzIGRpc2NyZXBhbmNpZXMgc29tZSBtb3JlCgkgIFdoZW4gd3JhcG92ZXIvcmVzZXQgb2NjdXIsIHdlIGVuZCB1cCB3aXRoIGEgc21hbGwgd2luZG93IG9mIHRpbWUgd2hlcmUKCSAgdGhlIFBUUy9EVFMgd2lsbCBzdGlsbCBiZSB1c2luZyB0aGUgcHJldmlvdXMvbmV4dCB0aW1lLXJhbmdlLgoJICBJbiBvcmRlciBub3QgdG8gcmV0dXJuIGJvZ3VzIHZhbHVlcywgcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUgaWYgdGhlCgkgIFBUUy9EVFMgdmFsdWUgdG8gY29udmVydCBkaWZmZXJzIGJ5IG1vcmUgdGhhbiAxNXMgYWdhaW5zdCB0aGUgbGFzdCBzZWVuCgkgIFBDUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDE0LTA2LTEzIDEwOjM3OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHdyYXBhcm91bmQgZGV0ZWN0aW9uIGlzc3VlCgkgIFVzaW5nIDMyYml0IHVuc2lnbmVkIHZhbHVlcyBmb3IgY29ycmVjdGVkIHBjci9vZmZzZXQgbWVhbnQgdGhhdCB3ZQoJICBwb3RlbnRpYWxseSBlbmRlZCB1cCBpbiBib2d1cyB2YWx1ZXMKCSAgRnVydGhlcm1vcmUsIHJlZnBjciAtIHJlZnBjcm9mZnNldCBjb3VsZCBlbmQgdXAgYmVpbmcgbmVnYXRpdmUsIHdoaWNoCgkgIFBDUlRJTUVfVE9fR1NUVElNRSgpIGNhbid0IGhhbmRsZSAoYW5kIHJldHVybmVkIGEgbWFzc2l2ZSBwb3NpdGl2ZSB2YWx1ZSkKCjIwMTQtMDYtMTMgMTE6MjY6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdzdGVnbGltYWdlbWVtb3J5CgoyMDE0LTA2LTEzIDA5OjU1OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnbGZyYW1lYnVmZmVyIG9iamVjdAoKMjAxNC0wNi0xMyAwOTo1MjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtaXNjIGFkZHMgZm9yIGdsIGZ1bmN0aW9ucwoKMjAxNC0wNi0xMyAwOTo0MTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ2x1cGxvYWRtZXRhIG9iamVjdAoKMjAxNC0wNi0xMyAwOTozMjo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiB1cGRhdGUgZm9yIHNvbWUgZ2wgZnVuY3Rpb24gbmFtZSBjaGFuZ2VzCgoyMDE0LTA2LTEyIDIzOjE0OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSAgZ2xmaWx0ZXJhcHA6IGFjdHVhbGx5IGVtaXQgdGhlIGNsaWVudC1kcmF3IHNpZ25hbAoKMjAxNC0wNi0xMiAyMzoxMzoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZm9yIFRFWFRVUkVfMkQgY2hhbmdlCgoyMDE0LTA1LTMwIDE2OjUyOjA5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IGltcGxlbWVudCBwcm9wZXIgc2Vla2luZyBmb3IgaDI2NCBzdHJlYW1zLgoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBGcm9tIGEgaGlnaCBsZXZlbCBwZXJzcGVjdGl2ZSwgdGhlIG5ldyBwcm9jZXNzIGZvciBzZWVraW5nIGgyNjQKCSAgc3RyZWFtcyBpcyBhcyBmb2xsb3dzOgoJICAxKSBSZXdpbmQgdGhlIHN0cmVhbSB1bnRpbCB3ZSBmaW5kIHRoZSBmaXJzdCBJLXNsaWNlIG9mIGEgZnJhbWUsCgkgIGFuZCBtYXJrIGl0cyBvZmZzZXQgaW4gdGhlIHN0cmVhbS4KCSAgMikgUmV3aW5kIHRoZSBzdHJlYW0gdW50aWwgd2UgZmluZCBTUFMgYW5kIFBQUyBpbmZvcm1hdGlvbnMsCgkgIHRvIG1ha2Ugc3VyZSB0aGUgc3Vic2VxdWVudCBwYXJzZXIgaXMgdXAgdG8gZGF0ZS4KCSAgMykgQWNjdW11bGF0ZSBvcHRpb25uYWwgU0VJIE5BTCB1bml0cyBvbiB0aGUgd2F5LgoJICA0KSBQdXNoIHRoZSBTUFMsIFBQUyBhbmQgU0VJIHVuaXRzIGJlZm9yZSB0aGUgbmV3IGtleWZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTMyCgoyMDE0LTA2LTEyIDEwOjE0OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG8gbm90IHRyeSB0byBjbG9zZSBuZWdhdGl2ZSBmaWxlIGRlc2NyaXB0b3JzCgkgIEludGVyZXN0aW5nbHksIENvdmVyaXR5IGltcGxpZXMgdGhhdCBjbG9zZSB0YWtlcyBhbiB1bnNpZ25lZAoJICBhcmd1bWVudCwgd2hpbGUgbXkgY2xvc2UoMikgbWFuIHBhZ2Ugc2hvd3MgaXQgdGFraW5nIGEgc2lnbmVkCgkgIGFyZ3VtZW50LiBJIGd1ZXNzIGl0IG1heSBiZSBwbGF0Zm9ybXMgc3BlY2lmaWMuCgkgIENvdmVyaXR5IDEyMTQ2MDIKCjIwMTQtMDYtMTIgMTA6MTc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBmaXggYnVpbGQgd2l0aCBHTGliIDIuMzIKCSAgUHJvdmlkZSBpbnRlcm5hbCBjb3B5IG9mIGdfbGlzdF9jb3B5X2RlZXAoKSB1bnRpbCB3ZQoJICBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTU1CgoyMDE0LTA2LTEyIDEwOjAwOjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGJhaWwgb3V0IGVhcmx5IHdoZW4gYnl0ZXMgcGVyIHNhbXBsZSBpcyBub3Qgc2V0CgkgIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzZXQgZm9yIHZhbGlkIGZpbGVzIHdoZW4gd2UgZ2V0IHRoZXJlLAoJICBhbmQgY2hlY2tpbmcgdGhpcyBhdm9pZHMgaGF2aW5nIGFkIGhvYyBjaGVja3MgZnVydGhlciBkb3duCgkgIGluIHNldmVyYWwgcGxhY2VzLgoJICBDb3Zlcml0eSAxMTM5Njk4CgoyMDE0LTA2LTExIDE1OjExOjQwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHF1YW50aXphdGlvbiBtYXRyaXggY29udmVyc2lvbiByb3V0aW5lIG5hbWVzLgoJICBGaXggcm91dGluZSBuYW1lcyBmb3IgemlnemFnL3Jhc3RlciBzY2FuIG9yZGVyIGNvbnZlcnNpb24gcm91dGluZXMgZm9yCgkgIHF1YW50aXphdGlvbiBtYXRyaWNlcy4gVGhpcyBvdWdodCB0byB1c2UgdGhlIGdzdF9oMjY0X3F1YW50X21hdHJpeF8qKCkKCSAgbmFtaW5nIGNvbnZlbnRpb24gaW5zdGVhZCBvZiBnc3RfaDI2NF92aWRlb19xdWFudF9tYXRyaXhfKigpLCB3aGljaAoJICBkZXJpdmVkIGZyb20gdGhlIE1QRUctMiBmdW5jdGlvbiBuYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA1LTI2IDE4OjI5OjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgQysrIGd1YXJkcyBmb3IgTVBFRy00IGFuZCBWUDggcGFyc2Vycy4KCSAgRml4IE1QRUctNCBhbmQgVlA4IEFQSXMgdG8gZXhwb3J0IHRoZWlyIGV4dGVybmFsIHN5bWJvbHMgYXMgcHVyZSBDCgkgIHN5bWJvbHMsIGkuZS4gdW4tbWFuZ2xlZCBmb3IgQysrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTIyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMTIgMTQ6NTg6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogc2VuZCB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIGFuZCB0aGUgY2FwcyBldmVudCBhZnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk0NAoKMjAxNC0wNi0xMiAxMzozNzo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZXM6IGFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUwoKMjAxNC0wNi0xMiAxMzoxNToxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiByZW1vdmUgc3B1cmlvdXMgaW5jbHVkZSBmb3IgZG91YmxlY3ViZSBleGFtcGxlCgoyMDE0LTA2LTEyIDEzOjA2OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlczogYWRkIHRoZSBzcmNkaXIgYW5kIGJ1aWxkZGlyIGluY2x1ZGVzCgkgIEFuZCByZW1vdmUgcmVmZXJlbmNlcyB0byAkKEdTVF9QTFVHSU5TX0dMXyopCgoyMDE0LTA2LTEyIDEyOjQ5OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbGZpbHRlcmFwcDogcmVtb3ZlIHRoZSByZXNoYXBlL2RyYXcgcHJvcGVydGllcwoJICBUaGUgcmVzaGFwZSBwcm9wZXJ0eSB3YXMgbmV2ZXIgdXNlZC4KCSAgUmVwbGFjZSB0aGUgZHJhdyBwcm9wZXJ0eSB3aXRoIGEgc2lnbmFsLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMTIgMTI6MTQ6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogbG9jayB0aGUgc2l6ZSBvZiBtaXgtPmZyYW1lcyB0byB0aGUgbnVtYmVyIG9mIHBhZHMKCSAgRml4ZXMgYSBzZWdmYXVsdCB3aXRoIGRlY29kZWJpbiAhIGdsbWl4ZXIgd2hlcmUgdGhlIHJlcXVlc3QgcGFkcyBvbgoJICBib3RoIHNpZGVzIHdlcmUgYmVpbmcgcmVxdWVzdGVkIGFmdGVyIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VELgoJICBBbHNvIGZpeGVzIGR5bmFtaWNhbGx5IGFkZGluZyBhbmQgcmVtb3ZpbmcgcGFkcyB3aGlsZSBnbG1peGVyIGlzCgkgIGluIGEgc3RhdGUgPj0gUEFVU0VELgoKMjAxNC0wNi0xMiAxMjowOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJICBnbC9leGFtcGxlczogUG9ydCB0byB1c2luZyBzaWduYWxzIGluc3RlYWQgb2YgcHJvcGVydGllcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMDEgMTU6MDI6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVwbGFjZSBwb2ludGVyIHByb3BlcnRpZXMgd2l0aCBzaWduYWxzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0xMSAwOTozODowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZmlyc3QgZ3JvdXAgZm9yIGhhbmRsaW5nIHJlZmVyZW5jZSBwY3IKCSAgSWYgX3NldF9jdXJyZW50X3Bjcl9vZmZzZXQgZ2V0cyBjYWxsZWQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLCB3ZSBlbmRlZAoJICB1cCB1c2luZyB0aGUgY3VycmVudCBncm91cCBmb3IgZGVsdGEgY2FsY3VsYXRpb24gLi4uIHdoZXJlYXMgd2Ugc2hvdWxkCgkgIGJlIHVzaW5nIHRoZSBmaXJzdCBncm91cCB0byBjYWxjdWxhdGUgc2hpZnRzLgoJICBBbHNvIGFkZCBhbiBlYXJseSBleGl0IGlmIHRoZXJlIGFyZSBubyBjaGFuZ2VzIHRvIGFwcGx5CgoyMDE0LTA2LTEwIDE0OjUwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgVGhlIHNlZWtzZWdtZW50IHdhcyBubyBsb25nZXIgdXNlZCBzaW5jZSB0aGUgc3dpdGNoIHRvIGNhbGN1bGF0aW5nIHNlZ21lbnRzCgkgIHdoZW4gd2Ugc2VlIGRhdGEuCgoyMDE0LTA2LTEwIDE0OjI3OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTQtMDYtMTAgMTQ6Mjc6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGR1cmF0aW9uIGV2YWx1YXRpb24gaW4gcHVzaCBtb2RlCgkgIFdoZW4gd29ya2luZyBpbiBwdXNoIG1vZGUsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBldmFsdWF0ZSB0aGUgZHVyYXRpb24KCSAgYmFzZWQgb24gYSBzaW5nbGUgZ3JvdXAgb2Ygb2JzZXJ2YXRpb25zLgoJICBUbyBkbyB0aGF0IHdlIHVzZSB0aGUgY3VycmVudCBncm91cCB2YWx1ZXMKCjIwMTQtMDYtMDIgMTE6MDc6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgZWFybHkgUFRTIGNvbnZlcnNpb24KCSAgV2hlbiBoYW5kbGluZyB0aGUgUFRTL0RUUyBjb252ZXJzaW9uIGluIG5ldyBncm91cHMsIHRoZXJlJ3MgYSBwb3NzaWJpbGl0eQoJICB0aGF0IHRoZSBQVFMgbWlnaHQgYmUgc21hbGxlciB0aGFuIHRoZSBmaXJzdCBQQ1IgdmFsdWUgb2JzZXJ2ZWQsIGR1ZSB0bwoJICByZS1vcmRlcmluZy4KCSAgV2hlbiB1c2luZyB0aGUgY3VycmVudCBncm91cCwgb25seSBhcHBseSB0aGUgd3JhcGFyb3VuZCBjb3JyZWN0aW9uIHdoZW4gd2UKCSAgYXJlIGNlcnRhaW4gaXQgaXMgb25lIChpLmUuIGRpZmZlcnMgYnkgbW9yZSB0aGFuIGEgc2Vjb25kKSBhbmQgbm90IHdoZW4gaXQncwoJICBqdXN0IGEgc21hbGwgZGlmZmVyZW5jZSAobGlrZSBvdXQtb2Ytb3JkZXIgUFRTKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA4OAoKMjAxNC0wNi0wOSAxMDoxMDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZG9uJ3QgcHJpbnQgYWxyZWFkeS1mcmVlZCBzdHJpbmcKCSAgQ0lEIDEyMjE5ODcKCjIwMTQtMDYtMDkgMTA6NTY6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IEZpeCBwb3NpdGlvbiBxdWVyeSBzb21lIG1vcmUKCSAgRm9yZ290IHRvIHJlbW92ZSBjb2RlIGluIDE2ZmQ5MTc2MzJjMDk5MjM0OWNhMjhjZjkxMDhlOTU2MmM0OTNhZDcKCSAgQ0lEICMxMTM5Njc3CgoyMDE0LTA2LTA3IDA3OjEzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgkgIFdoZW4gd2UgcmVjZWl2ZSBzdGlja3kgZXZlbnRzIGZyb20gdXBzdHJlYW0sIGFsd2F5cyByZXR1cm4gVFJVRS4KCSAgRml4ZXMgdGhlIGlzc3VlIHdoZXJlIHdlIHJlY2VpdmUgY3VzdG9tIHN0aWNreSBldmVudHMgKHN1Y2ggYXMgInVyaSIpCgkgIGFuZCBubyBwYWRzIGFyZSBjcmVhdGVkIHlldC4KCjIwMTQtMDYtMDQgMTg6MzQ6NDQgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogSW1wcm92ZSBwYXJzaW5nIHF1b3RlZCBrZXkgVVJJcyBhbmQgYXBwbHkgaXQgZm9yIEktZnJhbWUtYmFzZWQgc3RyZWFtIFVSSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODMwCgoyMDE0LTA2LTA2IDEzOjA4OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogRG9uJ3Qgc3RvcmUgdGhlIGN1cnJlbnQga2V5IGluIHRoZSBwbGF5bGlzdAoJICBJdCdzIHBlciBmcmFnbWVudCBhbmQgYXBwbHlpbmcgdG8gYWxsIGZvbGxvd2luZyBmcmFnbWVudHMKCSAgdW50aWwgdGhlIG5leHQga2V5IGlzIHNwZWNpZmllZC4KCjIwMTQtMDYtMDYgMTM6MDQ6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wNS0zMCAxNjozNDoxOCAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVsb2FkIHRoZSB2YXJpYW50IHBsYXlsaXN0IGlmIHJlZnJlc2hpbmcgYSBwbGF5bGlzdCBvciBkb3dubG9hZGluZyBhIGZyYWdtZW50IGZhaWxzCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgcGxheWxpc3RzIGhhdmUgbW92ZWQgZHVlIHRvIHRoZSB2YXJpYW50IHBsYXlsaXN0CgkgIG5vdyBiZWluZyByZWRpcmVjdGVkIHRvIGFub3RoZXIgdGFyZ2V0LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIGFzIGxvbmcKCSAgYXMgdGhlIHJlZmVyZW5jZWQgcGxheWxpc3RzIGRvbid0IGNoYW5nZSBpbiByZWxhdGlvbiB0byB0aGUgdmFyaWFudAoJICBwbGF5bGlzdCwgYW5kIHRoZSBuZXcgbG9jYXRpb24gaXMgcHVyZWx5IGR1ZSB0byBhIG5ldyBwYXRoIHRyaWdnZXJlZCBieSBhCgkgIG5ldyByZWRpcmVjdGlvbiB0YXJnZXQgb2YgdGhlIHZhcmlhbnQgcGxheWxpc3QsIG9yIGEgbmV3IHJlZGlyZWN0aW9uCgkgIHRhcmdldCBvZiB0aGUgcGxheWxpc3QgaXRzZWxmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMTY0CgoyMDE0LTA2LTA1IDE2OjQ1OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXNlIGFuIGFyYml0cmFyeSBmcmFtZXJhdGUgaWYgbm9uZSBpZiBnaXZlbgoJICBUaGUgc2Nocm8gZW5jb2RlciBhbHdheXMgcmVxdWlyZXMgYSBmcmFtZXJhdGUsIGJ1dCBzb21lIHNvdXJjZSBtYXRlcmlhbCwKCSAgc3VjaCBhcyBSVFAgZG9lc24ndCBoYXZlIGEgZml4ZWQgb25lLCBzbyBqdXN0IGZha2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNTQKCjIwMTQtMDYtMDQgMTQ6MzU6NTEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHJlZHVuZGFudCBhc3NpZ25tZW50CgoyMDE0LTA2LTA0IDAxOjAyOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaW1wcm92ZSB0aW1lb3V0IGhhbmRpbmcgYXQgbG9ja2luZyBsb29wCgkgIE5ldyBhcHByb2FjaCBhdHRlbXB0cyB0byBiZSBtb3JlIGFjY3VyYXRlIGJ5IG1lYXN1cmluZwoJICB0aGUgZWxhcHNlZCB0aW1lIGJ5IGl0ZXJhdGlvbi4gQWxzbzoKCSAgKiBVc2UgYSAxMCBzZWNvbmRzIGRlZmF1bHQgdGltZW91dCBhbmQgYSBoYWxmIGEgc2Vjb25kCgkgIHBvbGxpbmcgc3RlcC4gTmV3IHZhbHVlcyBzaG91bGQgYmV0dGVyIG1hdGNoIHRoZSB0dW5pbmcKCSAgcHJvY2VzcyBvbiByZWFsLWxpZmUgc2NlbmFyaW9zLgoJICAqIENvcnJlY3QgZWxhcHNlZF90aW1lIGNvbXB1dGF0aW9uLgoJICAqIEFkZCBfcmV0cnlfaW9jdGwoKSB0byBhdm9pZCBiYWlsaW5nIG91dCBvbiB0ZW1wb3JhcnkKCSAgaW9jdGwgRUlOVFIgZmFpbHVyZXMgKG5vIG5lZWQgdG8gY2hlY2sgZm9yIEVBR0FJTiBjYXVzZQoJICB3ZSBhcmUgb3BlbmluZyB0aGUgZnJvbnRlbmQgb24gYmxvY2tpbmcgbW9kZSkKCSAgKiBTbWFsbCBjb3JyZWN0aW9ucyB0byBmYWlsIGNvbmRpdGlvbiBoYW5kbGluZwoKMjAxNC0wNi0wNSAxODo0MzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL3dheWxhbmQ6IGNyZWF0ZSBhIGR1bW15IGRpc3BsYXkgaW5zdGVhZCBvZiBhbiBFR0xEaXNwbGF5CgkgIEN1cnJlbnRseSwgR3N0R0xXaW5kb3dXYXlsYW5kRUdMIGhvbGRzIHRoZSB3YXlsYW5kIGRpc3BsYXkgY29ubmVjdGlvbgoJICBJZiB3ZSBjcmVhdGUgdGhlIEVHTERpc3BsYXkgYXQgdGhlIEdzdERpc3BsYXkgY3JlYXRpb24gdGltZSwgdGhlbgoJICBsaWJFR0wgd2lsbCBpbnRlcm5hbGx5IG9wZW4gYW5vdGhlciBjb25uZWN0aW9uIHRvIHRoZSB3YXlsYW5kIHNlcnZlci4KCSAgVGhlc2UgdHdvIGRpc3BsYXkgY29ubmVjdGlvbnMgYXJlIHVuYWJsZSB0byBjb21tdW5pY2F0ZSByZXN1bHRpbmcgaW4KCSAgbm8gd2luZG93IG91dHB1dC9kaXNwbGF5IGFuZCBoYW5ncyBpbnNpZGUgbGliRUdMLgoJICBFdmVudHVhbGx5IHdlIHdpbGwgbW92ZSB0aGUgd2xfZGlzcGxheSBmcm9tIEdzdEdMV2luZG93IHRvIEdzdEdMRGlzcGxheS4KCjIwMTQtMDYtMDUgMDk6NDA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkgIHJ0bXA6IHByb3h5IGxvZ2dpbmcgZnJvbSBsaWJydG1wCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIHZhcmlvdXMgbGlicnRtcCBpc3N1ZXMKCjIwMTQtMDYtMDUgMDg6Mjk6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBwb3NpdGlvbiBxdWVyeWluZwoJICBJdCdzIHRoZSBwb3NpdGlvbiB3ZSdyZSBxdWVyeWluZywgbm90IHRoZSBkdXJhdGlvbiA6KQoKMjAxNC0wNi0wNCAyMTozOTo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgZXh0cmFuZW91cyBleHRyYSBwYXJhbWV0ZXIgZnJvbSBjaGVja19wZW5kaW5nX2J1ZmZlcnMgZnVuY3Rpb24KCjIwMTQtMDYtMDQgMjE6MzE6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXNlcjogQWx3YXlzIGluaXRpYWxpc2UgcGFja2V0IEFGQyBmbGFncyBhbmQgUENSIGZpZWxkcwoJICBBbHNvIGZpeCBhIHNsaWdodCB0eXBvIGluIGEgY29tbWVudCBhYm91dCB0aGUgc21vb3RoaW5nIGFsZ29yaXRobQoKMjAxNC0wNS0yMyAxNTowNzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXNldCBwZW5kaW5nX3RzIG9uIGEgZGlzY29udCwgdG8gcmUtbWVhc3VyZSBpbml0aWFsIHRpbWVzdGFtcHMKCSAgU2luY2UgYWxsIHRoZSBvdGhlciB0aW1lc3RhbXAgdHJhY2tpbmcgbm93IGdldHMgcmVzZXQgb24gYSBkaXNjb250LAoJICBpdCBtYWtlcyBzZW5zZSB0byB3YWl0IGZvciBhIFBDUiBhbmQgdGltZXN0YW1wIGJ1ZmZlcnMgbGlrZSB3aGVuCgkgIHBsYXliYWNrIGZpcnN0IHN0YXJ0cwoKMjAxNC0wMy0yMSAyMjoxNjo0MSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IGFkZCBzdXBwb3J0IGZvciByb2xsb3ZlciBjb3VudGVycyBhbmQgcmVwbGF5IHByb3RlY3Rpb24gd2luZG93IHNpemUKCSAgV2UgYWRkIGEgbmV3IHNpZ25hbCwgZ2V0LXJvbGxvdmVyLWNvdW50ZXIsIHRvIHRoZSBTUlRQIGVuY29kZXIuIEdpdmVuIGEKCSAgc3NyYyB0aGUgc2lnbmFsIHdpbGwgcmV0dXJuIHRoZSBjdXJyZW50bHkgaW50ZXJuYWwgU1JUUCByb2xsb3ZlciBjb3VudGVyCgkgIGZvciB0aGUgZ2l2ZW4gc3RyZWFtLgoJICBGb3IgdGhlIFNSVFAgZGVjb2RlciB3ZSBoYXZlIGEgbmV3IFNSVFAgY2FwcyBwYXJhbWV0ZXIgInJvYyIgdGhhdCBuZWVkcwoJICB0byBiZSBzZXQgd2hlbiBhIG5ldyBTUlRQIHN0cmVhbSBpcyBjcmVhdGVkIGZvciBhIGdpdmVuIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4NjEKCjIwMTMtMTAtMTQgMTY6MTQ6NDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBoYW5kbGUgZ2FwIGJ1ZmZlciBmbGFnCgkgIFJlbW92ZSBHQVAgZmxhZyB1bmxlc3MgYm90aCBzaWRlcyBoYXZlIGdhcCBkYXRhLCBpZ25vcmUKCSAgaW5jb21pbmcgZGF0YSBpZiBpdCBpcyBnYXAgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NwoKMjAxNC0wNS0yNSAyMTo0MzoyMiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogaW1wcm92ZSBzdGF0ZSBjaGFuZ2UgZGVidWcgbWVzc2FnZQoKMjAxNC0wNi0wMyAxMzo1OTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGFsd2F5cyByZWxlYXNlIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgRml4ZXMgdGhlIGNhc2Ugd2hlcmUgX3BlcmZvcm1fd2l0aF9idWZmZXIoKSBpcyBjYWxsZWQgd2l0aG91dAoJICBpbnRlcnZlbmluZyBjYWxscyB0byBfcmVsZWFzZV9idWZmZXIoKSBhcyBpcyB0aGUgY2FzZSBvbiBzdGFydCB1cAoJICB3aXRoIGdsaW1hZ2VzaW5rLgoJICBBbHNvIHJlbGVhc2UgdGhlIGJ1ZmZlciB3aGVuIHJlc2V0aW5nIHRoZSB1cGxvYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzExMDcKCjIwMTQtMDYtMDIgMjE6NTE6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IFRha2UgYWNjb3VudCBvZiBtZW1vcnkgYWxpZ25tZW50IGluIHNobSB0ZXN0CgoyMDE0LTA2LTAyIDIxOjQzOjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGYWlsIGdyYWNlZnVsbHkgaWYgZXZlbnQgY2FuJ3QgYmUgcGFyc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwOTMKCjIwMTQtMDYtMDIgMjE6NDM6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogQWxsb2NhdGUgZW5vdWdoIG1lbW9yeSB0byBkbyBhbGlnbm1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA5MwoKMjAxNC0wNi0wMiAxMjozOTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWN0dWFsbHkgcHJpbnQgdGhlIHN0YWNrdHJhY2UgaW50byB0aGUgZXJyb3Igc3RyaW5nCgoyMDE0LTA2LTAyIDExOjI4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhciB0aGUgZXhjZXB0aW9uIGJlZm9yZSB0cnlpbmcgdG8gY2FsbCBKYXZhIG1ldGhvZHMgdG8gY29udmVydCBpdCB0byBhIHN0cmluZwoKMjAxNC0wNi0wMiAxMToxNjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNyYXNoZXMgd2hlbiBsb2FkaW5nIHRoZSBwbHVnaW4gaW4gYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uIG9uIEFuZHJvaWQgPj0gNC40CgkgIENoZWNrIGlmIGxpYm5hdGl2ZWhlbHBlciBpcyBsb2FkZWQgaW4gdGhlIHByb2Nlc3MgYW5kIGlmCgkgIGl0IGhhcyB0aGVzZSBhd2Z1bCB3cmFwcGVycyBmb3IgSk5JX0NyZWF0ZUphdmFWTSBhbmQKCSAgSk5JX0dldENyZWF0ZWRKYXZhVk1zIHRoYXQgY3Jhc2ggdGhlIGFwcCBpZiB5b3UgZG9uJ3QKCSAgY3JlYXRlIGEgSm5pSW52b2NhdGlvbiBpbnN0YW5jZSBmaXJzdC4gSWYgaXQgaXNuJ3Qgd2UKCSAganVzdCBmYWlsIGhlcmUgYW5kIGRvbid0IGluaXRpYWxpemUgYW55dGhpbmcuCgkgIFNlZSB0aGlzIGNvZGUgZm9yIHJlZmVyZW5jZToKCSAgaHR0cHM6Ly9hbmRyb2lkLmdvb2dsZXNvdXJjZS5jb20vcGxhdGZvcm0vbGlibmF0aXZlaGVscGVyLysvbWFzdGVyL0puaUludm9jYXRpb24uY3BwCgoyMDE0LTA2LTAyIDEwOjExOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBtYWtlIHBvc2l0aW9uIHF1ZXJ5IGFibGUgdG8gY29udmVydCBieXRlcyB0byB0aW1lCgkgIChzYW1lIGFzIDc0NGM1OGQ3MWIyMTQ3NWQyZWRkNWI5MzM0ZTI3N2NmYTRjNTMyNjAgYnV0IGZvciB0aGUKCSAgcG9zaXRpb24gcXVlcnkpCgkgIEl0IHdhcyBvbmx5IHF1ZXJ5aW5nIGluIHRpbWUsIGJ1dCB0aGVuIHRyeWluZyB0byB1c2UgZGVhZCBieXRlcwoJICB0byB0aW1lIGNvbnZlcnNpb24gY29kZS4KCSAgQ292ZXJpdHkgMTEzOTY3NwoKMjAxNC0wNi0wMiAwOTo0MjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgY3Jhc2hpbmcgaW4gcGF0aG9sb2dpY2FsIGNhc2UKCSAgKElkZW50aWNhbCB0byBjb21taXQgNjEyY2RlZWM4MGRhOTViMTJmOWZhZDkyODQxOWM3ZGUyYmUyMGQ2OCB3aGljaAoJICB3YXMgZm9yIHJlc2luZHZkKQoJICBXaGVuIHdlJ2Qgc2VlIGFuIHVua25vd24gc3RyZWFtIHR5cGUsIHRoZW4gYSBTRERTIHN0cmVhbS4KCSAgVGhlbiB3ZSdkIGdldCB0byB0aGUgZW5kIG9mIHRoZSBzd2l0Y2ggd2l0aCBhIE5VTEwgdGVtcCBzdHJlYW0KCSAgcG9pbnRlciwgYW5kIGRlcmVmZXJlbmNlIGl0LgoJICBDb3Zlcml0eSAxMTM5NzA4CgoyMDE0LTA2LTAyIDA5OjIzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEhhbmRsZSAodW5saWtlbHkpIE5VTEwgcmV0dXJuIG9mIGdsLT5HZXRTdHJpbmcgKEdMX1ZFUlNJT04pIG1vcmUgZ3JhY2VmdWxseQoJICBDSUQgMTIxOTg1OAoKMjAxNC0wNi0wMiAwODoyMjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBSZW1vdmUgdW5uZWVkZWQgTlVMTCBjaGVjawoJICBBbGxvY2F0aW5nIHRob3NlIHN0cnVjdHVyZXMgaXMgZG9uZSBpbiBhbGwgY29kZSBwYXRocyBsZWFkaW5nIHRoZXJlCgkgIENJRCAjMTIxOTg2MAoJICBDSUQgIzEyMTk4NjEKCSAgQ0lEICMxMjE5ODYyCgkgIENJRCAjMTIxOTg2MwoJICBDSUQgIzEyMTk4NjQKCjIwMTQtMDYtMDEgMTA6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogaW5jcmVhc2UgbWF4LiBhbGxvd2VkIHZhbHVlIGZvciBiaXRyYXRlIHByb3BlcnR5CgkgIEZvciBEVkQgdGhlIGxpbWl0IGlzIGFyb3VuZCAxME1iaXQvcywgYnV0IGZvciBlLmcuIEFUU0MKCSAgaXQgY291bGQgYmUgbXVjaCBoaWdoZXIuCgoyMDE0LTA1LTI1IDEzOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGJldHRlciBlcnJvciBoYW5kbGluZyBpbiBjYXNlIHRzcGFyc2UgaXMgbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQxCgoyMDE0LTA1LTMwIDE3OjM1OjQ5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBhZGQgcHJvcCBzZXR1cCBjb2RlIGZvciBndWludDY0CgkgIE5lZWRlZCBzaW5jZSB3ZSBhcmUgbm93IHByb3h5aW5nIHR1bmluZy10aW1lb3V0CgkgIGZyb20gZHZic3JjLgoKMjAxNC0wNS0yMCAwNzozNDo1NiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBtb3Rpb25jZWxsczogaW1wcm92ZSBsb2dnaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6Mjk6MTYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBtYWtlIGZyYW1lZHJvcCB3b3JrIGF0IDMwIGZwcyB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoyNToyMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG1vdGlvbmNlbGxzOiB1c2Ugc3RhbmRhcmQgbWFjcm8gZm9yIGJvb2xlYW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoxODozOSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogbWFrZSB0aGUgcGx1Z2luIGNvbXBpbGUgd2l0aCBhbGwgMi40LnggdmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yNiAyMjozNDowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiL2NhbSo6IHVzZSBnX3N0cmVycm9yIGFuZCBvdGhlciBmZXcgbml0cwoKMjAxNC0wNS0zMCAxMTowMDowNiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IGR2YnNyYyBzaWduYWwgcHJveHlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0zMCAwMDo0OTo0OSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogcHJveHkgbmV3IHByb3BzL3NpZ25hbHMgZnJvbSBkdmJzcmMKCSAgUHJveHkgdHVuaW5nIHN0YXJ0L2RvbmUvZmFpbCBzaWduYWxzIGFuZCB0dW5pbmctdGltZW91dAoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0wMSAxODoyNTowNSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJICBkdmJzcmM6IHNtYXJ0ZW4gdXAgdHVuaW5nIGxvZ2ljCgkgICogRHJvcCByZW1haW5pbmcgc2xlZXAoKSBsb2dpYyBpbiBmYXZvciBvZiBwb2xsaW5nCgkgICogVXNlIGJlc3QgZ3Vlc3MgZGVsaXZlcnkgc3lzdGVtIGlmIG5vbmUgaXMgc2V0CgkgICogTWFrZSB0dW5pbmcvbG9ja2luZyB0aW1lb3V0IGNvbmZpZ3VyYWJsZQoJICAqIEFkZCBzaWduYWxzIGZvciB0dW5pbmcgc3RhcnQsIGRvbmUgYW5kIGZhaWwKCSAgKiBEcm9wIGdzdF9kdmJzcmNfZnJvbnRlbmRfc3RhdHVzKCkuIEl0IHdhcyB1c2VkIG9ubHkKCSAgZm9yIHNpZ25hbCBMT0NLIGNoZWNraW5nLiBUaGlzIGlzIG5vdyBwYXJ0IG9mIHRoZQoJICB0dW5pbmcvbG9ja2luZyBsb29wCgkgICogQnJlYWsgdXAgZnJvbnRlbmQgY29uZmlndXJhdGlvbiBhbmQgdHVuaW5nCgkgIG9uIHNlcGFyYXRlIGZ1bmN0aW9ucwoJICBQbHVzOgoJICAqIEFkZCBzb21lIG1vcmUgdXNlZnVsIERFQlVHL1RSQUNFIG1lc3NhZ2VzCgkgICogTW92ZSBvdmVyIG1pc3BsYWNlZCBEVkIgQVBJIG1lc3NhZ2UKCSAgKiBGaXggd3JvbmcgY29tbWVudCBmb3IgZGVmYXVsdCBEVkIgYnVmZmVyIHNpemUgKGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL2RteF9mY2FsbHMuaHRtbCNETVhfU0VUX0JVRkZFUl9TSVpFKQoJICBUaGlzIHBhdGNoIGJ1aWxkcyB1cCBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTMwIDE2OjM1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgZXhjZXB0aW9ucyBmcm9tIHRoZSBKYXZhIEFQSSB0byBlcnJvciBtZXNzYWdlcywgYW5kIHBvc3QgbW9yZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VzIG92ZXJhbGwKCjIwMTQtMDUtMzAgMTU6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhIEdFcnJvciBhcmd1bWVudCB0byBhbGwgYW1jIG1ldGhvZHMgYW5kIGNhdGNoIGV4Y2VwdGlvbnMgdGhlcmUKCjIwMTQtMDUtMzAgMTU6MjQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERlc2NyaWJlIGV4Y2VwdGlvbnMgaGFwcGVuaW5nIHdoZW4gc2Nhbm5pbmcgYWxsIGNvZGVjcwoKMjAxNC0wNS0zMCAxMjoxOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIEFQSSB0byBjb252ZXJ0IGFuIGV4Y2VwdGlvbiBpbnRvIGEgc3RyaW5nCgoyMDE0LTA1LTMwIDEyOjQwOjA4ICswMjAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbGVhc2UgdGhlIGNvZGVjIGJlZm9yZSBmcmVlaW5nIGl0CgkgIE9uIFNhbXN1bmcgR2FsYXh5IFM0IGl0IGlzIGltcG9zc2libGUgdG8gaGF2ZSBtb3JlIHRoYW4gb25lCgkgIGhhcmR3YXJlIGRlY29kZXIgYXQgdGhlIHNhbWUgdGltZS4gSWYgd2UgZG8gbm90IHJlbGVhc2UgaXQKCSAgZXhwbGljaXRseSB0aGUgR0Mgb25seSByZWxlYXNlcyBpdCB3aGVuZXZlciB0aGUgd2hvbGUgYXBwbGljYXRpb24KCSAgaXMgZmluaXNoZWQgbm90IHdoZW5ldmVyIHRoZSBhY3Rpdml0eSBpcyBmaW5pc2hlZCBhbmQgdGh1cyBhIHBsYXllcgoJICB3aWxsIG5vdCBiZSBhYmxlIHRvIHdvcmsgY29ycmVjdGx5CgoyMDE0LTA1LTMwIDAyOjEwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBmaXggc3RydWN0dXJlIGhhbmRsaW5nIGluIHByZXZpZXcgbWVzc2FnZQoJICBBdm9pZCB0cnlpbmcgdG8gbW9kaWZ5IHRoZSBtZXNzYWdlIHN0cnVjdHVyZSBhcyBpdCBpc24ndCBtdXRhYmxlLgoJICBVc2UgYSBjb3B5IGFuZCBwb3N0IGEgbmV3IG1lc3NhZ2UgaWYgbmVjZXNzYXJ5LgoJICBGaXhlcyBmYWlsaW5nIHRlc3RzLgoKMjAxNC0wNS0zMCAxMjoyMzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSB1bmVlZGVkIGdsIGFwaSBpZmRlZnMKCjIwMTQtMDUtMzAgMTE6NTE6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3dfeDExOiBhbGxvdyBleHBvc2UgZXZlbnRzIHRvIHJlZHJhdyBvdXIgd2luZG93CgkgIG90aGVyd2lzZSB3ZSB3aWxsIG5vdCB1cGRhdGUgdGhlIHdpbmRvdyBjb250ZW50cyBvbiBsb3cgZnJhbWVyYXRlCgkgIHN0cmVhbXMgdW50aWwgdGhlIG5leHQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTE6NDY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgb2xkIGJ1ZmZlciBvdXRzaWRlIHRoZSBsb2NrCgkgIGl0IGNvdWxkIHZlcnkgd2VsbCBkZWFkbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDExOjM1OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgUmV2ZXJ0ICJbODgwLzkwNl0gZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgc3RvcmVkX2J1ZmZlciBmaWVsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZjNhNjhkYjdkYzQ3M2ZiNjkwM2MxODk2NmIzOWU0YzNmMTQ2NGQ3LgoJICBDb25mbGljdHM6CgkgIGV4dC9nbC9nc3RnbGltYWdlc2luay5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTA6NDY6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCB1cCBhc3NlcnRpb24KCSAgZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZAoKMjAxNC0wNS0zMCAxMDoyNzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmxlbmRpbmcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9lZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Ziby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2ZpeGVkZnVuY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2xmZWF0dXJlOiByZW1vdmUgR1NUX0dMX0FQSV9HTEVTMwoJICBpbnN0ZWFkIGNoZWNrIHRoZSBnbCB2ZXJzaW9uIHVzaW5nIGdzdF9nbF9jb250ZXh0X2NoZWNrX2dsX3ZlcnNpb24oKQoKMjAxNC0wNS0zMCAxMDoyNToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogY2hlY2sgZm9yIEdMRVMgdmVyc2lvbnMKCjIwMTQtMDUtMjkgMjA6MzU6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IGFkZCBjaGVja19nbF92ZXJzaW9uCgoyMDE0LTA1LTI5IDE3OjA5OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IFRyeSBHTFggc3VwcG9ydCBiZWZvcmUgRUdMIHN1cHBvcnQKCSAgSWYgYXZhaWxhYmxlLCBnbHggaGFzIGdvdCBhIGJldHRlciBjaGFuY2Ugb2YgYmVpbmcgdGhlIEdsIHBsYXRmb3JtCgkgIHdlIHdhbnQgdG8gdXNlIGNvbXBhcmVkIHRvIEVHTAoKMjAxNC0wNS0yOSAxNjo1OToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogVHJ5IHRvIG9wZW4gbGlie0VHTHxHTHxHTEVTdjJ9LnNvLjEgYmVmb3JlIGxpYntFR0x8R0x8R0xFU3YyfQoJICBGaXhlcyBpc3N1ZXMgd2l0aCAuc28gKHdpdGhvdXQgbnVtYmVyaW5nKSBiZWluZyBpbnN0YWxsZWQgZm9yIGRldmVsb3BtZW50CgkgIChzdWNoIGFzIGZyb20gbWVzYS1kZXYpIGJ1dCBhY3R1YWwgZHJpdmVyICh3aXRoIG51bWJlcmluZykgY29taW5nIGZyb20KCSAgc29tZSBvdGhlciBwbGFjZSAobGlrZSBudmlkaWEgZHJpdmVycykKCjIwMTQtMDUtMjkgMTY6MDE6MjIgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDE0LTA1LTI5IDEyOjMwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkgIGF0c2Mtc2VjdGlvbjogRml4IGFubm90YXRpb24KCjIwMTQtMDUtMjkgMTI6Mjk6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogRml4IG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgcGFyc2luZwoJICB0aGUgcHJvdmlkZXIgYW5kIHNlcnZpY2UgbmFtZSB3YXMgaW52ZXJ0ZWQKCjIwMTQtMDUtMjggMTY6NDc6NTMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBwYXJlbnRpYWwgcmF0aW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxNjo0NzoyOCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNhIGlkZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoyMzo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHN0cmVhbSBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoyMzoxMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNvbnRlbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjE5OjQzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOSAxMTo1NTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IGZhY3RvciBkdW1waW5nIGNvZGUKCSAgV2UgY2FuIGp1c3QgcmUtdXNlIHRoZSBuZXcgZnVuY3Rpb24gaW5zdGVhZCBvZiBoYXZpbmcgdHdvIGR1cGxpY2F0ZXMKCjIwMTQtMDUtMjkgMTA6NTA6NTggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBsaW5rYWdlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkwMQoKMjAxNC0wNS0yOCAyMDo0MjowNSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGJ1Z2ZpeCBtb2JpbGUgaGFuZCBvdmVyIGxpbmthZ2UgcGFyc2UgbWlzc21hdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MDEKCjIwMTQtMDUtMjggMTY6MzQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIG1pc3NpbmcgZmllbGQgdG8gRVRUIHRhYmxlCgkgIFNldCB0aGUgc3VidGFibGVfZXh0ZW5zaW9uIGFzIGV0dF90YWJsZV9pZF9leHRlbnNpb24KCSAgZm9yIEVUVCB0YWJsZXMgYXMgaXQgaXMgdXNlZCBieSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTI4IDE1OjU5OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIGF0c2MncyBFSVQgdGFibGUgcGFyc2luZwoJICBBVFNDIGhhcyBpdHMgb3duIHZlcnNpb24gb2YgdGhlIEVJVCB0YWJsZSAoRFZCIGFsc28gaGFzIG9uZSkuCgkgIFRoaXMgcGF0Y2ggYWRkcyBwYXJzaW5nIGZvciB0aGUgQVRTQyBFSVQgdGFibGUgYW5kIGFsc28gZml4ZWQKCSAgdGhlIHNlY3Rpb24gaWRlbnRpZmljYXRpb24gdG8gbWFyayBpdCBhcyB0aGUgQVRTQyBvbmUuCgkgIFRoZSBpbXBsZW1lbnRhdGlvbiBhd3MgcmVmYWN0b3JlZCB0byByZXVzZSBzb21lIGNvbW1vbiBpbnRlcm5hbAoJICBzdHJ1Y3R1cmVzIGZyb20gRVRULgoJICBBbHNvIGFkZHMgaXRzIGR1bXBpbmcgZnVuY3Rpb24gdG8gdHMtcGFyc2VyIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMiAxNzo0OTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0czogbXBlZ3RzOiBhZGQgdGVzdCBmb3IgU1RUIHBhcnNpbmcKCSAgU3BlY2lhbGx5IGZvciB0aGUgdGltZSB0byBVVEMgZGF0ZXRpbWUgY29udmVyc2lvbgoJICBFeGFtcGxlIHRha2VuIGZyb20gdGhlIEE2NSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjIgMDE6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgU1RUIHRhYmxlIHBhcnNpbmcKCSAgQWRkcyB0aGUgc3lzdGVtIHRpbWUgdGFibGUgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMgZm9yIGNvbnZlbmllbnQgcGFyc2luZyBvZgoJICBpdCBhbmQgZm9yIGdldHRpbmcgdGhlIFVUQyBkYXRldGltZSB0aGF0IGl0IHJlcHJlc2VudHMuIEFsc28gYWRkcyBpdHMKCSAgaW5mb3JtYXRpb24gZHVtcGluZyB0byB0aGUgdHMtcGFyc2VyIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxNjoyMDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgZW5jb2RpbmcgY29udmVyc2lvbiBmb3IgVVRGLTE2IEVUVCBzdHJpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTQ6NTA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogbXBlZ3RzOiBhZGQgZnVuY3Rpb24gdG8gZHVtcCBFVFQgdGFibGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTM6NDY6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYXRzYzogYWRkIEVUVCBzdHJ1Y3R1cmVzIGFuZCBwYXJzaW5nCgkgIEVUVCAoZXh0ZW5kZWQgdGV4dCB0YWJsZSkgY29udGFpbnMgQVRTQyB0ZXh0IGluZm9ybWF0aW9uIHdpdGggZGVzY3JpcHRpb25zCgkgIG9mIHZpcnR1YWwgY2hhbm5lbHMgYW5kIGV2ZW50cy4gVGhlIHRleHQgY2FuIGJlIGludGVybmF0aW9uYWxpemVkIGFuZCBhbHNvCgkgIGNvbXByZXNzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTYgMTU6Mzk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiBwYXJzZSB0aGUgbWd0IGFuZCBhZGQgbGlzdGVkIEVJVC9FVFQgcGlkcyB0byB0aGUga25vd24gcHNpCgkgIFRoaXMgd2lsbCBtYWtlIHRzYmFzZSBhbHNvIHBhcnNlIHRoZSBFSVRzIGFuZCBFVFRzIGZyb20gQVRTQyBzdHJlYW1zIHRoYXQgaGF2ZQoJICB0aGVpciBwaWRzIHJlcG9ydGVkIG9uIHRoZSBNR1QgYW5kIHBvc3QgdG8gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE1IDEyOjMxOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYWRkIGF0c2MgTUdUIHNlY3Rpb24gcGFyc2luZwoJICBBZGQgYSBwYXJzaW5nIGZ1bmN0aW9uIGZvciBNR1QgYW5kIGFsc28gZGV0ZWN0IHRoZSBFSVQgdGFibGVzCgkgIGZvciBBVFNDLCB0aGUgRUlUIHBpZHMgYXJlIHJlcG9ydGVkIGluc2lkZSB0aGUgTUdUIGFuZCB3ZSBhcmUgc3RpbGwKCSAgb25seSByZWx5aW5nIG9ubHkgb24gdGhlIHRhYmxlIGlkIGZvciBkZXRlY3RpbmcgaXQuIEluIHRoZSBmdXR1cmUgd2UKCSAgd291bGQgd2FudCB0byBhbHNvIGNoZWNrIHRoZSBwaWQgYW5kIGNvbXBhcmUgd2l0aCB3aGF0ZXZlciB0aGUgTUdUCgkgIHByZXZpb3VzbHkgcmVwb3J0ZWQgdG8gY29uZmlybSB0aGF0IGl0IGlzIGluZGVlZCB0aGUgRUlULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIzIDAxOjQxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGF0c2M6IHJlbmFtZSBUVkNUIHRvIFZDVCBhcyBpdCBpcyB0aGUgc2FtZSBhcyBDVkNUCgkgIE1ha2UgdGhlIEFUU0Mgc2VjdGlvbiBwYXJzZSBoYW5kbGUgYm90aCBUVkNUIGFuZCBDVkNUIGFzIHRoZXkgYXJlCgkgIG5lYXJseSB0aGUgc2FtZSBzdHJ1Y3QgKENWQ1QgdXNlcyAyIHJlc2VydmVkIGJpdHMgdGhhdCBhcmUgaWdub3JlZAoJICBpbiBUVkNUKS4KCSAgVGhpcyBpcyBjaGFuZ2luZyB0aGUgZ2xpYiB0eXBlIGFuZCB0aGUgc3RydWN0IG5hbWUgYnV0IFRWQ1Qgd2Fzbid0CgkgIHJlbGVhc2VkIGluIGEgc3RhYmxlIHBhY2thZ2UgeWV0IHNvIHRoZXJlIHNob3VsZCBiZSBubyBwcm9ibGVtLgoJICBBbHNvIGluY2x1ZGVzIHNvbWUgcGFyc2luZyBmaXhlcyBhbmQgY2hhbmdlcyBzaG9ydF9uYW1lIHRvIGJlCgkgIGRpcmVjdGx5IHN0b3JlZCBhcyB1dGY4IHJhdGhlciB0aGFuIHV0ZjE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDIKCjIwMTQtMDUtMjggMTM6MTE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBhZGQgVFZDVCBhbmQgQ1ZDVCB0YWJsZXMgZHVtcGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQyCgoyMDE0LTA1LTI5IDEwOjM3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggYXNzZXJ0aW9uIGFmdGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTI5IDE4OjMzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGtlZXAgb3VyIHByaXZhdGUgcG9pbnRlcgoJICBhZ2FpbiwgYXZvaWQgdG8gbXVjaCB0cmlnZ2VyCgoyMDE0LTA1LTI5IDE4OjMyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ2x1cGxvYWQgY2hhbmdlcwoKMjAxNC0wNS0yOSAxNzoyOTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsL2NvbG9yY29udmVydDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXIgb3duCgoyMDE0LTA1LTI5IDE3OjEyOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHJlbW92ZSB1bm5lY2Fzc2FyeSBwb2ludGVyIGluZGVyZWN0aW9uCgoyMDE0LTA1LTI5IDE2OjQ1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHJlIGFkZCB0aGUgdXBsb2FkIG1ldGEgdG8gdGhlIHByaXZhdGUgc3RydWN0CgkgIHRyeSBhbmQgYXZvaWQgYmVpbmcgdG8gdHJpZ2dlciBoYXBweQoKMjAxNC0wNS0yOSAxNjoyOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzbWFsbCBjb2RlIGNsZWFudXAgYW5kIGdzdC1pbmRlbnQKCjIwMTQtMDUtMjkgMTY6MjI6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgZ2wvZG93bmxvYWQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3V0IG93bgoKMjAxNC0wNS0yOSAxNjoyMDozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXIgb3duCgoyMDE0LTA1LTI5IDE2OjE4OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGFsc28gcmVtb3ZlIHRoZSB3aWR0aC9oZWlnaHQgaW4gdHJhbnNmb3JtX2NhcHMKCSAgYWxsb3dzIHNjYWxpbmcgaW4gdGhlIGZpbHRlcnMKCjIwMTQtMDUtMjkgMTY6MTE6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogb3B0aW1pc2UgdGhlIHNhbWUgZm9ybWF0IGNhc2UKCSAgc2ltcGx5IHJldHVybiB0aGUgaW5wdXQgYnVmZmVyIHVuY2hhbmdlZAoKMjAxNC0wNS0yOSAxNjowNzo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBmaXggWVVZMi9VWVZZIGRvd25sb2FkIGZvciBSRy9MQSB0ZXh0dXJlcwoKMjAxNC0wNS0yOSAxNTo1MDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBhbGxvY2F0ZSBvdXRwdXQgYnVmZmVycwoJICBBbGxvd3MgdGhlIG5vcCBvcHRpbWlzYXRpb24gYnkgc2ltcGx5IHJlZmZpbmcgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMTQtMDUtMjggMTY6MTg6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBdm9pZCBzaGFkb3dpbmcgbWFpbiBsb29wIHZhcmlhYmxlCgkgIFdlIGVuZCB1cCB3aXRoIGludGVyZXN0aW5nIHJlc3VsdHMgb3RoZXJ3aXNlIDopCgoyMDE0LTA1LTI4IDE1OjUzOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIHByaXZhdGUtZGF0YS1zcGVjaWZpZXIgYW5kIGZyZXF1ZW5jeS1saXN0CgoyMDE0LTA1LTI4IDE1OjUyOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBNYWtlIHNvbWUgZmllbGRzIG9wdGlvbmFsCgkgIFNvbWUgcGVvcGxlIG1pZ2h0IGp1c3Qgbm90IGNhcmUgYWJvdXQgdGhlIGNvbnRlbnRzCgoyMDE0LTA1LTI4IDE1OjUyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVcGRhdGUgZG9jcyBmb3IgRFZCIGZyZXF1ZW5jeSBsaXN0CgoyMDE0LTA1LTI4IDIzOjIxOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgcmVjZW50IGdsdXBsb2FkIGNoYW5nZXMKCSAgR3N0R0xVcGxvYWRNZXRhIG9iamVjdCBpcyBub3cgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoJICBwcm92aWRlci4KCjIwMTQtMDUtMjggMTI6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAxMjo0Mzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMTI6NDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgYmFzZSBVUkkgaWYgdGhlcmUgd2FzIG5vIHJlZGlyZWN0CgoyMDE0LTA1LTI4IDA5OjE4OjQ5ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IE1ha2UgcGFyc2luZyBvZiAiLXF1b3RlZCBrZXkgVVJJcyBtb3JlIHJlc2lsaWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODMwCgoyMDE0LTA1LTI4IDEwOjE5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAwOTo0Mjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU3RvcmUgVVJJIGFuZCByZWRpcmVjdCB0YXJnZXQgaW4gdGhlIGRvd25sb2FkZWQgZnJhZ21lbnRzCgoyMDE0LTA1LTI4IDA3OjQwOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IExvZ2ljYWwgQ2hhbm5lbCBEZXNjcmlwdG9yIHBhcnNpbmcKCSAgTm8gd29uZGVyIHdlIHdlcmUgZ2V0dGluZyBnYXJiYWdlIC4uLgoKMjAxNC0wNS0yNyAyMDozNzoyNiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NDcKCjIwMTQtMDUtMjcgMjA6MzI6NDIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IHByaW50aW5nIGVudW0gdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg0NwoKMjAxNC0wNS0yOCAxNDo0Mzo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiBmaXggaW5jb3JyZWN0IHR5cGUgaW4gbWFjcm9zCgoyMDE0LTA1LTI4IDE0OjQwOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuaDoKCSAgZ2wvdXBsb2FkOiBhZGQgR3N0R0xVcGxvYWRNZXRhIG9iamVjdAoJICBUaGF0IHNpbXBseSBkZWFscyB3aXRoIHRoZSBwcm92aWRlciBhc3BlY3Qgb2YgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhLgoKMjAxNC0wNS0yNyAxNzozNDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBEVkIgRXh0ZW5kZWQgZXZlbnQgcGFyc2luZwoKMjAxNC0wNS0yNyAxNzozMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogRW5zdXJlIE5VTEwtdGVybWluYXRlZCBsYW5ndWFnZSBjb2RlCgkgIFl1cCwgaXQgYnJlYWtzIEFQSSBhbmQgQUJJLCBJIGtub3cuIEJ1dCBsZXQncyBhdm9pZCBwZW9wbGUgYW5kIGJpbmRpbmdzCgkgIHByaW50aW5nIG91dCBnYXJiYWdlCgoyMDE0LTA1LTI3IDE3OjI1OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBGaXggRXh0ZW5kZWQgRFZCIGRlc2NyaXB0b3IgcGFyc2luZwoJICBXZSB3ZXJlIG92ZXItcmVhZGluZyBkYXRhLCBhbmQgdGhlIG5iX2l0ZW1zIGZpZWxkIGlzbid0IG5lZWRlZCwKCSAgaXQncyBhIHByb3BlcnR5IG9mIHRoZSBHUHRyQXJyYXkKCjIwMTQtMDUtMjggMDA6NTY6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBtYWtlIHNlbmRfbWVzc2FnZSByZWVudHJhbnQKCSAgSSBjb3VsZCBub3QgZmluZCBhIGNvbXBhcmFibGUgd2luMzJBUEkgZnVuY3Rpb24gc28ga2VlcCB0aGUgcnVubmluZwoJICB0aHJlYWQgcG9pbnRlciB0byBjb21wYXJlIGFnYWluc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3ODIKCjIwMTQtMDUtMjcgMTY6MTc6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCB1c2FnZSBvZiBtZW1jcHkKCSAgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB3ZXJlIGludmVydGVkCgoyMDE0LTA1LTI2IDIwOjM4OjQ1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzg6MTkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozNzo1MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM3OjIxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MjA6MzkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MjA6MDMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MTA6NTEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MDc6NTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjcgMTA6MjE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkL3JlbW92ZSBwYWRzIHRvIGZsb3djb21iaW5lciBkaWZmZXJlbnRseSBkdWUgdG8gc3RyZWFtaW5nIG5hdHVyZQoJICBEdWUgdG8gbXBlZ3RzIHN0cmVhbWluZyBuYXR1cmUgc29tZSBwYWRzIGFyZSBjcmVhdGVkIGJ1dCBhcmUgb25seSBhZGRlZAoJICBsYXRlciB0byB0aGUgZWxlbWVudC4gVGhpcyBjYW4gY2F1c2UgYSBzY2VuYXJpbyB3aGVyZSB0aGUgZmlyc3Qgc3RyZWFtCgkgIGRvZXNuJ3QgaGF2ZSBhbiBhdmFpbGFibGUgZGVjb2RlciAod2hpbGUgdGhlIG5leHQgb25lcyBzdGlsbCBwZW5kaW5nCgkgIHdvdWxkIGhhdmUpIGFuZCB0c2RlbXV4IHdpbGwgZmFpbCB3aXRoIG5vdC1saW5rZWQgYXMgdGhlIGZpcnN0IHN0cmVhbQoJICBhZGRlZCB3b3VsZG4ndCBiZSBsaW5rZWQuCgkgIFRvIGF2b2lkIHRoaXMgdHNkZW11eCBuZWVkcyB0byBhZGQgcGFkcyB0byB0aGUgZmxvd2NvbWJpbmVyCgkgIHdoZW4gdGhleSBhcmUgY3JlYXRlZCBpbnN0ZWFkIG9mIG9ubHkgd2hlbiBhZGRpbmcgdGhlbSB0byB0aGUKCSAgZWxlbWVudC4KCjIwMTQtMDUtMjcgMTM6NTY6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsY29sb3Jjb252ZXJ0LmM6MTEzMzoxMTogZXJyb3I6ICdqJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgV2FzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuIGp1bXBpbmcgdG8gb3V0IGxhYmVsCgkgIGluIGVycm9yIGNhc2UuCgoyMDE0LTA1LTI3IDE4OjIwOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yY29udmVydDogb3BlcmF0ZSBvbiBidWZmZXJzIGluc3RlYWQgb2YgbWVtb3JpZXMKCjIwMTQtMDUtMjcgMDc6NDI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiByZW1vdmUgdW5yZWFkIGxhc3RfZmxvdyB2YXJpYWJsZQoJICBpdCBpc24ndCBuZWNlc3NhcnkgYW55bW9yZSBhbmQgaXMgYWxyZWFkeSB1bnVzZWQKCjIwMTQtMDUtMjcgMTE6Mjg6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBtYWtlIGl0IGFjdHVhbGx5IGhvbm9yIHNob3ctcHJlcm9sbC1mcmFtZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODAyCgoyMDE0LTA1LTI3IDEyOjA4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29tcGFyZSBwb3NpdGlvbnMgdG8gZmluZCB0aGUgZWFybGllc3QgcGFkLCBub3QgZmxvdyByZXR1cm5zCgoyMDE0LTA1LTI3IDA4OjU0OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2w6IGFkZCBtaXNzaW5nIGNnbCBhbmQgZWFnbCBjb250ZXh0IHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NQoKMjAxNC0wNS0yNyAwODo0NjoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSAgZ2w6IHJlbmFtZSBwbGF0Zm9ybSBjb2NvYSB0byBjZ2wKCSAgQmVmb3JlOgoJICBHU1RfR0xfUExBVEZPUk09Y29jb2EgR1NUX0dMX1dJTkRPVz1jb2NvYQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBBZnRlcjoKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIGJ1dCBzdGlsbCBwYXNzIC0tZW5hYmxlLWNvY29hIHRvIGNvbmZpZ3VyZSBzY3JpcHQKCSAgYmVjYXVzZSBjdXJyZW50bHkgaXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGNvY29hIEFQSS4KCSAgV2UgY291bGQgbGF0ZXIgaGF2ZSBjZ2wvZ3N0Z2xjb250ZXh0X2NnbC5oIHRoYXQgbWFuYWdlcwoJICBhIENHTENvbnRleHRPYmogZGlyZWN0bHkgYW5kIGNvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oCgkgIHdvdWxkIGp1c3Qgd3JhcCBpdC4KCSAgU28gdGhhdCBpdCBjb3VsZCBiZSB1c2VkIHdpdGggb3RoZXIgQXBwbGUncyB3aW5kb3cgQVBJcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NQoKMjAxNC0wNS0yNyAwODo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIFJldmVydCAiYW5kcm9pZG1lZGlhOiBQbGFjZSBzb21lIGNvbnN0IGtleXdvcmRzIGluIGEgZmV3IHBsYWNlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMDc4YjNhMzRjMWY3NWI4NmJkNjI5ZGYxY2Q3YzA4OWEwZjY5OTk5LgoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgZG9lc24ndCB0YWtlIGEgY29uc3QgR3N0VmlkZW9JbmZvKiwgc28KCSAgYWxsIHRoaXMgaXMgcmF0aGVyIHVzZWxlc3MuCgoyMDE0LTA1LTI3IDEzOjU1OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL21peGVyOiBkb24ndCBzZWdmYXVsdCB3aGVuIHdlIGRvbid0IGhhdmUgYSBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI1NwoKMjAxNC0wNS0yNyAxMzowNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3dfeDExOiBhdm9pZCBCYWREcmF3YWJsZSBlcnJvciBvbiBzaHV0ZG93bgoKMjAxNC0wNS0yNiAxNzozNDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTc6MTg6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTIzIDE4OjI2OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgoyMDE0LTA1LTI3IDEwOjQ3OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbC9jb250ZXh0X2VnbDogcGFzcyB0aGUgdmFycyBpbiB0aGUgcmlnaHQgb3JkZXIgdG8gRGVzdHJveVN1cmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUxNAoKMjAxNC0wNS0yNiAxNjozMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFuZHJvaWRtZWRpYTogUGxhY2Ugc29tZSBjb25zdCBrZXl3b3JkcyBpbiBhIGZldyBwbGFjZXMKCjIwMTMtMTEtMTMgMTg6NDE6MzMgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9jb3B5CgkgIGdzdF9hbWNfY29sb3JfZm9ybWF0X2NvcHkgd2lsbCBjb3B5IGluL291dCBhIGZyYW1lIHJlc2lkZXMgYXQgYQoJICBHc3RBbWNCdWZmZXIuIExvdHMgb2YgY29kZXMgaW4gZ3N0X2FtY192aWRlb18qX2ZpbGxfYnVmZmVyIGFyZSBtb3ZlZCB0bwoJICB0aGlzIG5ldyBmdW5jdGlvbi4KCjIwMTMtMTAtMDggMjE6MTE6NDggKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBtb3ZlIGNyZWF0ZV9zcmN8c2lua19jYXBzIHRvIGdzdGFtYy5jCgkgIFNvbWUgaGFjayBsb2dpYyBuZWVkcyBhbHNvIHRvIGJlIHByZXNlbnQgaW4gY3JlYXRlX3NyY3xzaW5rX2NhcHMsIGZvcgoJICB3b3JraW5nIGFyb3VuZCBzb21lIGJyb2tlbiBjb2RlY3MuIFRoZXNlIGhhY2tzIGFyZSBoaWRkZW4KCSAgaW4gY29sb3JfZm9ybWF0L3ZpZGVvX2Zvcm1hdCBjb252ZXJzaW9uIC0tIHRoZSBwcm90b3R5cGVzIG9mIHRoZXNlCgkgIGZ1bmN0aW9ucyBhcmUgYWxzbyBjaGFuZ2VkIHRvIGluY2x1ZGUgbW9yZSBhcmdzIGZvciBoYWNrIGp1ZGdlbWVudC4KCSAgQWxzbyBpbiBjYXNlIG9mIG11bHRpLWNvbG9yX2Zvcm1hdHMgbWFwcGVkIHRvIG9uZSB2aWRlb19mb3JtYXQsIHRoZW4KCSAgbWFwIHRoYXQgdmlkZW9fZm9ybWF0IGJhY2sgd2lsbCBub3QgZ2l2ZSB0aGUgb3JpZ2luYWwgY29sb3JfZm9ybWF0LCB3aGljaAoJICBjYXVzZXMgZ3N0X2FtY19jb2RlY19jb25maWd1cmUgZmFpbGVkIHdpdGggc29tZXRoaW5nIGxpa2UKCSAgJ2RvZXMgbm90IHN1cHBvcnQgY29sb3IgZm9ybWF0IE4nLgoJICBUaGUgbmV3IHByb3RvdHlwZSBpbnZvbHZlcyB3aXRoIEdzdEFtY0NvZGVjSW5mbyBhbmQgbWltZSwgd2hpY2gKCSAgZW5zdXJlcyB0aGUgY29udmVydGVkIGNvbG9yX2Zvcm1hdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNvZGVjLgoJICBBIENPTE9SX0Zvcm1hdFlDYllDciB0byBHU1RfVklERU9fRk9STUFUX1lVWTIgbWFwcGluZyBpcyBhbHNvIGFkZGVkLCBpbgoJICBvcmRlciB0byB3b3JrIGFyb3VuZCBidWdzIGluIE9NWC5rMy52aWRlby5kZWNvZGVyLmF2Yyh3aGljaCBpbmNvcnJlY3RseQoJICByZXBvcnRzIHN1cHBvcnRpbmcgQ09MT1JfRm9ybWF0WUNiWUNyLCB3aGljaCBpcyBhY3R1YWxseQoJICBDT0xPUl9Gb3JtYXRZVVY0MjBTZW1pUGxhbmFyKS4gVGhlcmUgYXJlIGFscmVhZHkgaGFja3MgZm9yIHRoaXMgaW4KCSAgZ3N0X2FtY192aWRlb19mb3JtYXRfdG9fY29sb3JfZm9ybWF0LCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF90b192aWRlb19mb3JtYXQKCSAgYW5kIGdzdF9hbWNfY29sb3JfZm9ybWF0X2luZm9fc2V0LCBidXQgdGhlIGNvZGVjIHdpbGwgc3RpbGwgbm90IHdvcmsoYmUKCSAgaWdub3JlZCBiZWNhdXNlIG9mICJoYXMgdW5rbm93biBjb2xvciBmb3JtYXRzIikgd2l0aG91dCBhZGRpbmcgdGhpcyBtYXBwaW5nLgoKMjAxNC0wNC0xMSAxNToxNDoxNyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBwYXJzZWNoYW5uZWxzOiBhZGQgZGVsc3lzIHByb3BlcnR5CgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDE0LTA1LTI2IDEzOjI5OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgLmRlZiBmb3IgbmV3IHN5bWJvbHMKCjIwMTQtMDQtMTEgMTU6Mzg6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBtYXAgU1lTX0RWQkNfQU5ORVhfQSBTWVNfRFZCQ19BTk5FWF9BQyBmb3IgRFZCIEFQSSA8IDUuNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxODY5CgoyMDE0LTA0LTE1IDA5OjMxOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHR5cG8gaW4gdGVzdGluZyBmbGFnCgkgICUgaW5zdGVhZCBvZiAmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE4NjkKCjIwMTQtMDUtMjUgMTU6MTY6MTMgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogVW5pdCBvZiBiaXRyYXRlIHByb3BlcnR5IGlzIG5vdyBiaXQvc2VjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxMjkKCjIwMTQtMDUtMjYgMTE6NTU6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIEJvdXF1ZXQgTmFtZSBwYXJzaW5nCgoyMDE0LTA1LTI2IDExOjU0OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggQm91cXVldCBOYW1lIHBhcnNpbmcKCSAgdGhlIGZpZWxkIGlzIG5vdCBsZW5ndGggcHJlZml4ZWQKCjIwMTQtMDUtMjYgMTE6NDI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIFNlcnZpY2UgTGlzdCBkZXNjcmlwdG9yCgoyMDE0LTA0LTE3IDE0OjU2OjIzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDQtMTcgMTQ6NTU6MjkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc3R1ZmZpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA0LTE3IDE0OjU0OjI4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHNlcnZpY2UgbGlzdCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDUtMTAgMTg6MzI6MjggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBVc2UgYXV4IHZhcnMgdG8gbWluaW1pemUgY3JpdGljYWwgcmVnaW9uCgkgIFRoaXMgYXZvaWQgZGVhZCBsb2NrIGJldHdlZW4gZ3N0X2F1ZGlvX2VuY29kZXJfZmluaXNoX2ZyYW1lKCkgYW5kCgkgIGdzdF9vcHVzX2VuY19nZXRfcHJvcGVydHkoKS4KCSAgQWxzbywgbm93IGJ5dGVzIHZhciBpcyBzZXQgaW50byBwcm90ZWN0ZWQgc2VjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg4MgoKMjAxNC0wNS0yNCAxOTo1MToxMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBtaXNzaW5nIHRvbmUgaW9jdGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY5MgoKMjAxNC0wNS0yNSAwOTowMzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSBmb3JtYXQgaW5mb3JtYXRpb24gdG8gYWxsb3cgY29sb3IgY29udmVydCBhZ2FpbgoJICBXZSBhbHNvIG5lZWQgdG8gcmVtb3ZlIHRoZSBmb3JtYXQgaW5mb3JtYXRpb24sICBhcyBnbGZpbHRlciBjYW4gZG8KCSAgY29sb3IgY29udmVydGlvbi4gVGhpcyBjb2RlIHdhcyBpbXBvcnRlZCBmcm9tIHZpZGVvY29udmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0yNSAxMTo0NDo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBhbGxvY2F0ZSB0aGUgY29ycmVjdCBtZW1vcnkgc2l6ZQoJICBhbmQgYXZvaWQgd2FzdGluZyByZXNvdXJjZXMgd2Ugd2lsbCBuZXZlciBuZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3MDMKCjIwMTQtMDUtMjMgMjM6MDI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IFlVWTIgYW5kIFVZVlkgc3VwcG9ydCB3aXRoIGx1bWluYW5jZV9hbHBoYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjY2CgoyMDEzLTEyLTAzIDEyOjA5OjU4ICswMTAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGEgbmV3IFFDT00gY29sb3IgZm9ybWF0CgkgIEl0IGlzIGEgTlYxMiBiYXNlZCwgYWxpZ25lZCB0byAzMiBieXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjM1CgoyMDE0LTA1LTIzIDE1OjAwOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXJzdCB0cnkgdG8gZ2V0IHN5bWJvbHMgZnJvbSB0aGUgY3VycmVudCBwcm9ncmFtLCB0aGVuIGxvYWQgbGliZHZtCgkgIElmIHRoZSBhcHBsaWNhdGlvbiBpcyB1c2luZyB0aGUgbmV3IEFSVCBydW50aW1lIGl0IHdpbGwgb3RoZXJ3aXNlCgkgIGxvYWQgZGFsdmlrIGFuZCBzdGFydCBhIGRhbHZpayBWTSBuZXh0IHRvIHRoZSBBUlQgVk0uCgkgIERvZXMgbm90IHdvcmsgdmVyeSB3ZWxsIG9idmlvdXNseS4KCjIwMTMtMDQtMDEgMDc6NDk6MDEgKzAwMDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogYWRkIHN1cHBvcnQgZm9yIHZpZGVvIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxMjkKCjIwMTQtMDUtMjMgMTI6MDc6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogcHJvdmlkZSBjb21wYXRhYmlsaXR5IGRlZmluZXMKCSAgZml4ZXMgYnVpbGQgb24gYW5kcm9pZC9PUyBYCgoyMDE0LTA1LTIzIDExOjAxOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHJlbW92ZSBzY3JhdGNoIHRleHR1cmUgZm9yIFlVWTIvVVlWWQoJICBXZSBjYW4gZ2V0IGFsbCBvdXIgZGF0YSBmcm9tIHRoZSBvbmUgUkcvTEEgdGV4dHVyZSB3aXRoIHNvbWUgc2hhZGVyIG1hZ2ljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTIzIDEwOjU5OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IFJHQkEvVU5TSUdORURfQllURSBvbmx5IGZvcm1hdCBzdXBwb3J0ZWQgYnkgUmVhZFBpeGVscyBHTEVTMgoJICBFcnJvciBvdXQgaW4gY2FzZSB3ZSBhdHRlbXB0IHRvIHJlYWQgd2l0aCBhbnkgb3RoZXIgaW52YWxpZCBmb3JtYXQuCgoyMDE0LTA1LTIzIDEwOjU3OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IGdlbmVyYXRlIHRleHR1cmVzIHdpdGggYSBzaXplZCBpbnRlcm5hbCBmb3JtYXQKCSAgUmVxdWlyZWQgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgUkcgYW5kIFJFRCB0ZXh0dXJlZCB3aXRoIEdMRVMzLgoKMjAxNC0wNS0yMSAyMTo0Nzo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtb3J5OiBpbXBsZW1lbnQgR0xfRVhUX3RleHR1cmVfcmcgc3VwcG9ydAoJICBXaGljaCBpcyB1c2VkIGJ5IGRlZmF1bHQgb3ZlciB0aGUgTHVtaW5hbmNlIGZvcm1hdHMgZHVlIHRvIGl0CgkgIGJlaW5nIGNvbG9yIHJlbmRlcmFibGUgd2l0aCBmYm9zIChhbmQgZGVwcmVjYXRpb24vcmVtb3ZhbCB3aXRoCgkgIEdMIDMueCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDIyMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTIyIDExOjUwOjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIFJldmVydCAiaDI2NHBhcnNlcjogUmVtb3ZlIHVudXNlZCBmcHNfbnVtL2Zwc19kZW4gZmllbGRzIgoJICBUaGlzIGJyZWFrcyB0aGUgYnVpbGQgc2luY2UgbXNzIGhhcyBub3QgYmVlbiBwb3J0ZWQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWViNmE1MjA3NDJmZDgyODg4ZTQxZWEyM2Y5YTM5YWRkNTExMjVhMC4KCjIwMTQtMDUtMjIgMTY6MTI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bnVzZWQgZnBzX251bS9mcHNfZGVuIGZpZWxkcwoJICBJbnN0ZWFkIHRoZSBuZXdseSBhZGRlZCBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB0byBjYWxjdWxhdGUKCSAgdGhlIGZyYW1lcmF0ZSBwcm9wZXJseS4KCjIwMTQtMDUtMTkgMTc6NTI6MzggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBuZXcgZ3N0X2gyNjRfdmlkZW9fY2FsY3VsYXRlX2ZyYW1lcmF0ZSgpIHRvIGdldCBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNC0wNS0xOSAxNzo0Mzo1NCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzX2gyNjQ6IGFkZCBnc3RfaDI2NF92aWRlb19jYWxjdWxhdGVfZnJhbWVyYXRlKCkKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB2aWRlbyBzdHJlYW0gZnJhbWVyYXRlIHdoaWNoIHJlbHkgb24KCSAgU1BTLCBzbGljZSBoZWFkZXIgYW5kIHBpYyB0aW1pbmcgdXNpbmcgZm9ybXVsYToKCSAgdGltZV9zY2FsZSAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgIDEKCSAgZnBzID0gLS0tLS0tLS0tLS0tLS0tLS0gIHggIC0tLS0tLS0tLS0tLS0tLSAgeCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgIG51bV91bml0c19pbl90aWNrICAgICBEZWx0YVRmaURpdmlzb3IgICAgIChmaWVsZF9waWNfZmxhZyA/IDIgOiAxKQoJICBTZWUgc2VjdGlvbiBFMi4xIG9mIEgyNjQgc3BlY2lmaWNhdGlvbiBmb3IgZGVmaW5pdGlvbiBvZiB2YXJpYWJsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTQtMDUtMjEgMjE6NDQ6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbC9jb250ZXh0OiBhZGQgZ2wgZXh0ZW5zaW9uIGNoZWNraW5nIHRvIGNoZWNrX2ZlYXR1cmUoKQoJICBVc2VmdWwgZm9yIGV4dGVuc2lvbnMgdGhhdCBkbyBub3QgZGVmaW5lIGFueSBuZXcgR0wgQVBJIGVudHJ5cG9pbnRzCgkgIGJ1dCBjYW4gc3RpbGwgbW9kaWZ5IGJlaGF2aW91ciB3aGVuIHVzZWQuCgoyMDE0LTA1LTIxIDIwOjM2OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsL2Rvd25sb2FkOiBmaXh1cCBZVVkyL1VZVlkgZG93bmxvYWQKCSAgUmVncmVzc2lvbiBmcm9tIDJkYTk3OTgzMWVjM2IxYThkOTkzZWI2ZjJkMzk5OWM1ODEwYzRkNjcgYXMgaXQgZGlkCgkgIG5vdCB1cGRhdGUgdGhlIGRvd25sb2FkIGNvZGUgdG8gcmVmbGVjdCB0aGUgY2hhbmdlIGluIHRleHR1cmUgZm9ybWF0LgoKMjAxNC0wNS0xOSAxMTo0ODo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc2V0IGZpZWxkX3BpY19mbGFnIHdoZW4gcGFyc2luZyBhIHNsaWNlIGhlYWRlcgoJICBmaWVsZF9waWNfZmxhZyB3YXMgdXNlZCBidXQgbmV2ZXIgc2V0IHRvIG90aGVyIHZhbHVlIHRoYW4gaXRzIGRlZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDM2MwoKMjAxNC0wNS0yMiAxMTo1NDo0MCArMDEwMCAgRGFtaWFuIFppb2JybyA8emlvYnJvLmRhbWlhbkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBzdG9yaW5nIG9mIHRoZSBJViBiYXNlZCBvbiB0aGUgbWVkaWEgc2VxdWVuY2UgbnVtYmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NzQKCjIwMTQtMDUtMjIgMTI6MjM6NTcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggYnVpbGRpbmcgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycwoJICBjNDAwZWVmMzc3MmI3ZGM0NzBlZWZhZTAyYTEyODhjMmIxMjVlMjVjIGludHJvZHVjZWQgc29tZSBkZWZpbmVzIHRvIGhhbmRsZQoJICBvbGRlciBrZXJuZWwgaGVhZGVycy4gSG93ZXZlciwgdGhlIGNoZWNrIGlzIGRvbmUgYmVmb3JlIHRoZSBjb3JyZXNwb25kaW5nCgkgIGtlcm5lbCBoZWFkZXIgKGR2Yi9mcm9udGVuZC5oKSBpcyBpbmNsdWRlZC4gQXMgYSByZXN1bHQgdGhlIG1hY3JvcyBhcmUKCSAgYWx3YXlzIGRlZmluZWQgd2l0aCByZXN1bHRzIGluICdyZWRlZmluZWQnIGVycm9ycyB3aXRoIG5ld2VyIGtlcm5lbAoJICBoZWFkZXJzLgoJICBNb3ZlIHRoZSBjaGVjayBhZnRlciB0aGUgaW5jbHVkZSB0byBmaXggdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU3MAoKMjAxNC0wNS0yMSAxMzoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjIgPT09CgoyMDE0LTA1LTIxIDEzOjA2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMgoKMjAxNC0wNS0yMSAxMjo0Mjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTIxIDE5OjQ3OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGZpeHVwIHBhc3N0aHJvdWdoIGJ1ZmZlcnBvb2wKCSAgSW4gYSBwaXBlbGluZSBsaWtlIHNvOgoJICB2aWRlb3Rlc3RzcmMgISBnbGVmZmVjdHMgISB2aWRlb2NvbnZlcnQgISBzaW5rCgkgIGdsZWZmZWN0cyB3YXMgc2ltcGx5IHBhc3NpbmcgdGhlIHZpZGVvY29udmVydCBidWZmZXJwb29sIHRvIHZpZGVvdGVzdHNyYwoJICBhbmQgbm90IGNyZWF0aW5nIGEgZ2xidWZmZXJwb29sLiB2aWRlb2J1ZmZlcnBvb2wgd291bGQgdGhlbiBmYWlsCgkgIHRvIGFsbG9jYXRlIGZyb20gdGhlIGdsYWxsb2NhdG9yLgoKMjAxNC0wNS0yMSAxMDo1MToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjExZmE1ZiB0byAxZjVkM2MzCgoyMDE0LTA1LTIxIDA4OjUzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgZHZiLXNlY3Rpb246IERvbid0IGNvbXBhcmUgdW5zaWduZWQgaW50ZWdlcnMgZm9yID49IDAKCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6MTI6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+IF4gIH4KCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6NDA6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+fn4gXiAgfgoJICBnc3QtZHZiLXNlY3Rpb24uYzo5Mzo3MDogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn5+fiBeICB+CgoyMDE0LTA1LTIwIDE3OjA5OjQzICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsc3Noc2luazogcG9zdCBlcnJvciBvbiBidXMgaW4gZWxlbWVudCwgbm90IHRyYW5zZmVyIHRocmVhZAoJICBMb29rcyBsaWtlIHRoaXMgZmlsZSB3YXMgbWlzc2VkIGluIEJ1ZyA3Mjg5NjA6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ1OQoKMjAxNC0wNS0yMSAxMDoyNjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHN3aXRjaCB0aGUgJ21hc3RlcicgdGV4dHVyZSBmb3IgWVVZMiwgVVlWWQoJICBGcm9tIGQ0YmNlZjMyMDQ3MDkxNTk3MTNmZjE2MzA5NzhlY2FjMGJkOTFkYzkgb24sIHVzaW5nIGEgUkdCQQoJICB0ZXh0dXJlIHRvIGhvbGQgdGhlIGRhdGEgY2F1c2VzIHRoZSBnbG1lbW9yeSB0byBoYXZlIGhhbGYgd2lkdGgKCSAgYW5kIGEgc2NhbGluZyBvZiBbMiwgMV0uICBVc2luZyBhIExBIHRleHR1cmUgc29sdmVzIHRoaXMgcHJvYmxlbQoJICBob3dldmVyIGNhbm5vdCBiZSBhdHRhY2hlZCB0byB0aGUgZnJhbWVidWZmZXIgZm9yIGNvcHlpbmcgaW50bwoJICBhIFJHQkEgdGV4dHVyZS4gIFdoaWNoIHdpbGwgYmUgc29sdmVkIGJ5IG1vdmluZyB0byBFWFRfdGV4dHVyZV9yZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0xNCAxNzo1OTo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9lZ2xpbWFnZTogYWRkIGVnbGltYWdlIGNvbnRleHQgZmVhdHVyZQoJICBBbGxvd3MgdXMgdG8gc2VsZWN0aXZlbHkgdXNlIEVHTEltYWdlcyBvbmx5IHdoZW4gYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyMzQKCjIwMTQtMDUtMTQgMTc6MzM6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IGFkZCBnZW5lcmljIGZlYXR1cmUgY2hlY2tpbmcKCSAgQXQgdGhlIG1vbWVudCBpdCBzaW1wbHkgZGVsZWdhdGVzIHRvIHRoZSBzdWJjbGFzcy4KCjIwMTQtMDUtMjAgMTE6NDI6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSAgYmF5ZXI6IGZpeCB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDEtMjggMTQ6MDQ6MTEgKzAxMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJICBjdXJsc2Z0cHNpbms6IGF1dGhlbnRpY2F0ZSByZW1vdGUgaG9zdCB2aWEgcHVibGljIGtleSBmaW5nZXJwcmludAoJICBFeHBvc2Ugb25lIG1vcmUgbGliY3VybCBvcHRpb246IENVUkxPUFRfU1NIX0hPU1RfUFVCTElDX0tFWV9NRDUuCgkgIFRoaXMgYWxsb3dzIGF1dGhlbnRpY2F0aW5nIHRoZSBzZXJ2ZXIgYnkgdGhlIE1ENSBmaW5nZXJwcmludCBvZgoJICB0aGUgc2VydmVyJ3MgcHVibGljIGtleS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzE2NwoKMjAxNC0wNS0xOSAxMzo0Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IENoZWNrIGhvdXI6bWludXRlOnNlY29uZCB2YWx1ZXMgYmVmb3JlIGNyZWF0aW5nIGRhdGV0aW1lCgkgIEF2b2lkcyBhc3NlcnRpb25zIHdoZW4gdGhlIHBhY2tldHMgYXJlIG1hbGZvcm1lZCBhbmQgYWxzbyBhZGQgdGhlIGNhc2UKCSAgd2hlcmUgdGhlIHRpbWUgaXNuJ3Qgc3BlY2lmaWVkLCBvbmx5IHRoZSBkYXRlLgoKMjAxNC0wNS0xOSAxMjoyNTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2hlY2sgaWYgY29udGV4dCBjcmVhdGlvbiBmYWlsZWQgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2F1c2UgYXNzZXJ0aW9ucyBldmVyeXdoZXJlIGJ5IHBhc3NpbmcgTlVMTCB0byBmdW5jdGlvbnMKCSAgYW5kIGV2ZW50dWFsbHkgY3Jhc2ggd2hlbiBkZXJlZmVyZW5jaW5nIGEgTlVMTCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMDY5CgoyMDE0LTA1LTE5IDEyOjIxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEFkZCBtb3JlIGFzc2VydGlvbnMgdG8gbWFrZSBzdXJlIHRoYXQgZXZlcnl0aGluZyBzZXRzIHRoZSBHRXJyb3IgZHVyaW5nIGNvbnRleHQgY3JlYXRpb24gaWYgc29tZXRoaW5nIGZhaWxzCgoyMDE0LTA1LTE5IDExOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiBEb24ndCBwYXNzIGZsb2F0cyB0byBhYnMoKSBidXQgaW5zdGVhZCBjYXN0IHRoZW0gdG8gaW50cyBmaXJzdAoJICBnc3RmcmVldmVyYi5jOjc4MToyOTogZXJyb3I6IHVzaW5nIGludGVnZXIgYWJzb2x1dGUgdmFsdWUgZnVuY3Rpb24gJ2Ficycgd2hlbgoJICBhcmd1bWVudCBpcyBvZiBmbG9hdGluZyBwb2ludCB0eXBlIFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIGlmIChhYnMgKG91dF9sMikgPiAwIHx8IGFicyAob3V0X3IyKSA+IDApCgoyMDE0LTA1LTE5IDA5OjEyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBVbnJlZiBoYW5kbGUgYW5kIG91dHB1dCBzdGF0ZSBvbiBlcnJvciBwYXRocwoJICBDSUQgMTIxNDYwNAoKMjAxNC0wNS0xNiAwOToxMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IFdvcmsgYXJvdW5kIHJhY2UgY29uZGl0aW9uIGluIEFuZHJvaWQgPCA0LjIgdGhhdCBsZWFkcyB0byBkZWFkbG9ja3Mgb24gc2h1dGRvd24KCSAgV2UgbmVlZCB0byBzbGVlcCBhIGJpdCBiZWZvcmUgZGVzdHJveWluZyB0aGUgcGxheWVyIG9iamVjdAoJICBiZWNhdXNlIG9mIGEgYnVnIGluIEFuZHJvaWQgaW4gdmVyc2lvbnMgPCA0LjIuCgkgIE9wZW5TTEVTIGlzIHVzaW5nIEF1ZGlvVHJhY2sgZm9yIHJlbmRlcmluZyB0aGUgc291bmQuIEF1ZGlvVHJhY2sKCSAgaGFzIGEgdGhyZWFkIHRoYXQgcHVsbHMgcmF3IGF1ZGlvIGZyb20gdGhlIGJ1ZmZlciBxdWV1ZSBhbmQgdGhlbgoJICBwYXNzZXMgaXQgZm9yd2FyZCB0byBBdWRpb0ZsaW5nZXIgKEF1ZGlvVHJhY2s6OnByb2Nlc3NBdWRpb0J1ZmZlcigpKS4KCSAgVGhpcyB0aHJlYWQgaXMgY2FsbGluZyB2YXJpb3VzIGNhbGxiYWNrcyBvbiBldmVudHMsIGUuZy4gd2hlbgoJICBhbiB1bmRlcnJ1biBoYXBwZW5zIG9yIHRvIHJlcXVlc3QgZGF0YS4gT3BlblNMRVMgc2V0cyB0aGlzIGNhbGxiYWNrCgkgIG9uIEF1ZGlvVHJhY2sgKGF1ZGlvVHJhY2tfY2FsbEJhY2tfcHVsbEZyb21CdWZmUXVldWUoKSBmcm9tCgkgIGFuZHJvaWRfQXVkaW9QbGF5ZXIuY3BwKS4gQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgaXMgdGFraW5nIGEgbG9jawoJICBvbiB0aGUgcGxheWVyIGludGVyZmFjZS4KCSAgTm93IGlmIHdlIGRlc3Ryb3kgdGhlIHBsYXllciBpbnRlcmZhY2Ugb2JqZWN0LCBpdCB3aWxsIGZpcnN0IG9mIGFsbAoJICB0YWtlIHRoZSBwbGF5ZXIgaW50ZXJmYWNlIGxvY2sgKElPYmplY3RfRGVzdHJveSgpKS4gVGhlbiBpdCBkZXN0cm95cwoJICB0aGUgYXVkaW8gcGxheWVyIGluc3RhbmNlIChhbmRyb2lkX2F1ZGlvUGxheWVyX2Rlc3Ryb3koKSkgd2hpY2ggdGhlbgoJICBjYWxscyBzdG9wKCkgb24gdGhlIEF1ZGlvVHJhY2sgYW5kIGRlbGV0ZXMgaXQuIE5vdyB0aGUgZGVzdHJ1Y3RvciBvZgoJICBBdWRpb1RyYWNrIHdpbGwgd2FpdCB1bnRpbCB0aGUgcmVuZGVyaW5nIHRocmVhZCAoQXVkaW9UcmFjazo6cHJvY2Vzc0F1ZGlvQnVmZmVyKCkpCgkgIGhhcyBmaW5pc2hlZC4KCSAgSWYgYWxsIHRoaXMgaGFwcGVucyB3aXRoIGJhZCB0aW1pbmcgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSByZW5kZXJpbmcKCSAgdGhyZWFkIGlzIGN1cnJlbnRseSBlLmcuIGhhbmRsaW5nIHVuZGVycnVuIGJ1dCBkaWQgbm90IGxvY2sgdGhlIHBsYXllcgoJICBpbnRlcmZhY2Ugb2JqZWN0IHlldC4gVGhlbiBkZXN0cm95aW5nIGhhcHBlbnMgYW5kIHRha2VzIHRoZSBsb2NrIGFuZCB3YWl0cwoJICBmb3IgdGhlIHRocmVhZCB0byBmaW5pc2guIFRoZW4gdGhlIHRocmVhZCB0cmllcyB0byB0YWtlIHRoZSBsb2NrIGFuZCB3YWl0cwoJICBmb3JldmVyLgoJICBXZSB3YWl0IGEgYml0IGJlZm9yZSBkZXN0cm95aW5nIHRoZSBwbGF5ZXIgb2JqZWN0IHRvIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSByZW5kZXJpbmcgdGhyZWFkIGZpbmlzaGVkIHdoYXRldmVyIGl0IHdhcyBkb2luZywgYW5kIHRoZW4gc3RvcHMKCSAgKG5vdGU6IHdlIGNhbGxlZCBnc3Rfb3BlbnNsZXNfcmluZ2J1ZmZlcl9zdG9wKCkgYmVmb3JlIHRoaXMgYWxyZWFkeSkuCgoyMDE0LTA1LTE1IDIwOjM0OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IG1wZWd0c2Rlc2NyaXB0b3I6IGZpeCBnb2JqZWN0LWludHJvc3BlY3Rpb24gd2FybmluZ3MKCSAgQWRkcyBtaXNzaW5nIDogdG8gZ29iamVjdC1pbnRyb3NwZWN0aW9uIG1hcmtlcnMKCjIwMTQtMDUtMTUgMTk6MTY6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHNlY3Rpb25zOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIHBhY2tldCBwYXJzaW5nIGZhaWxzCgkgIHRoZSBkZXNjcmlwdG9ycyBlbnRyeSBjYW4gYmUgbGVmdCBhcyBOVUxMIGFuZCBmcmVlaW5nIHRoZSBzdHJ1Y3R1cmUKCSAgd2lsbCBmYWlsIChhc3NlcnRpb24gaGFwcGVucykKCjIwMTQtMDUtMTQgMjE6MzI6MTAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBtb3Rpb25jZWxsczogZml4IG1lbWxlYWsKCSAgQ2hlY2sgZ3N0X2J1ZmZlcl9tYXAgcmV0dXJuIGFuZCByZW1lbWJlciB0byB1bm1hcCBhbmQgZnJlZSBtZW1vcnkgYmVmb3JlCgkgIHJldHVybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTMzCgoyMDE0LTA1LTE0IDExOjQ3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IGZpeCBwcm9wZXJ0eSBuYW1lcwoJICBUaGVzZSB3ZXJlIGZvcmdvdHRlbiB3aGVuIHRoZXkgZ290IHJlbmFtZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3MzEKCjIwMTQtMDUtMTMgMTQ6MTM6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvZG93bmxvYWQ6IHVwZGF0ZSB0byBiZSBzaW1pbGFyIHRvIHRoZSBnbHVwbG9hZCBzZW1hbnRpY3MKCjIwMTQtMDUtMTMgMTQ6MDc6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogZml4IHVwIGFscGhhIGNsb2JiZXJpbmcKCSAgUHJldmlvdXNseSBpdCB3b3VsZCBvbmx5IHdvcmsgaWYgdGhlIGFscGhhIHZhbHVlIHdhcyBpbiB0aGUgbGFzdAoJICBjb21wb25lbnQgKFJHQngsIEJHUngpLiAgTm93IGl0IHdvcmtzIHdoZXJldmVyIHRoZSBhbHBoYSB2YWx1ZSBtYXkKCSAgYmUgKHhSR0IsIHhCR1IsIGV0YykuCgoyMDE0LTA1LTE0IDAwOjIzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gZXJyb3Jpbmcgb3V0IG9uIHVuc3VwcG9ydGVkIGVzc2VuY2Ugd3JhcHBpbmcKCjIwMTQtMDQtMTAgMTY6MTA6MDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBBZGQgbWlzc2luZyBiYWNrc2xhc2ggaW4gQW5kcm9pZC5tawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTY4CgoyMDE0LTA1LTEzIDE2OjI5OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkbyBub3QgbGVhayBwbGF5bGlzdCBvYmplY3QKCSAgSW4gZmluYWxpemUsIGFsc28gcmVsZWFzZSB0aGUgcGxheWxpc3QKCjIwMTQtMDUtMTMgMTM6MTY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRml4IGJ1aWxkaW5nIHdpdGhvdXQgRUdMIHN1cHBvcnQKCSAgVGhpcyBmaXhlcyB0aGUgT1NYIGJ1aWxkIGFuZCBhbnkgYnVpbGRzIHdpdGggLS1kaXNhYmxlLWVnbC4gVGhhdCBpc3N1ZQoJICB3YXMgaW50cm9kdWNlZCBpbiAiZ2xmaWx0ZXI6IHJld3JpdGUgdHJhbnNmb3JtX2NhcHMgdG8gcHJlc2VydmUgY2FwcyBmaWVsZHMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTEzIDEzOjMwOjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcmV3cml0ZSB0cmFuc2Zvcm1fY2FwcyB0byBwcmVzZXJ2ZSBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTEzIDEwOjUzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiB1c2UgdGhlIHRleHR1cmUgc2NhbGluZyBmcm9tIHRoZSBnbCBtZW1vcnkKCSAgVGhlIGNvbG9yY29udmVydCB2YWx1ZXMgd2VyZSBub3QgYmVpbmcgdXNlZCBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTIgMTk6Mjk6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogRml4IGhhbmRsaW5nIG9mIHN0cmlkZSB3aXRoIGFsaWduZW1lbnQgbGFyZ2VyIHRoZW4gOAoJICBTZXR0aW5nIGEgc2NhbGVkIGZhY3RvciBmb3IgWCBjb29yZGluYXRlIGlzIG5vdCBlbm91Z2ggYXMgdGhlIGluZGV4ZXIKCSAgd2lsbCBzdGlsbCB0aGluayBzdHJpZGUgaXMgc2hvcnRlciBhbmQgd2lsbCBub3QgZnVsbHkgc2tpcCBpdC4gSW5zdGVhZCwKCSAgdXBkYXRlIHdpZHRoLCBzbyB0aGUgbGluZXMgYXJlIGFzIGV4cGVjdGVkLiBDb21iaW5lZCB3aXRoIHRoZSBzY2FsZSwgaXQKCSAgd2lsbCBoaWRlIHRoZSBjcm9wcGVkIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTMgMTE6MjI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBwcm9wZXJseSB1bnJlZiBnc3RkYXRldGltZQoJICBBdm9pZCBsZWFraW5nIHRoZSBHc3REYXRlVGltZSBpbnN0YW5jZXMgd2hlbiBzdW1taW5nIGRhdGVzCgkgIENJRCAjMTIxMjE0MwoKMjAxNC0wNS0xMyAxMDoyNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IGF2b2lkIGRvdWJsZSBmcmVlIG9mIHNlZ21lbnQgdGltZWxpbmUgbm9kZQoJICBUaGUgcGFyc2luZyBmdW5jdGlvbiBhbHJlYWR5IGZyZWVzIHRoZSBvbGQgdmFsdWUgKGlmIGFueSksIGF2b2lkIGEgZG91YmxlCgkgIGZyZWUgYnkgbm90IGZyZWVpbmcgaXQgYmVmb3JlIGNhbGxpbmcgdGhlIGZ1bmN0aW9uIHdpdGhvdXQgc2V0dGluZyB0aGUKCSAgcG9pbnRlciB0byBOVUxMCgkgIENvdmVyaXR5IElEOiAxMjEyMTc4CgoyMDE0LTA1LTEzIDEwOjEzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogYXZvaWQgZG91YmxlIGZyZWUKCSAgVGhlIF9wYXJzZV91cmwgZnVuY3Rpb24gYWxyZWFkeSBmcmVlcyB0aGUgcHJldmlvdXMgcG9pbnRlciwgYXZvaWQKCSAgZnJlZWluZyBpdCBiZWZvcmUgd2l0aG91dCBzZXR0aW5nIHRvIG51bGwgb3Igd2UgaGF2ZSBhIGRvdWJsZSBmcmVlLgoJICBDb3Zlcml0eSBJRDogMTIxMjE4MQoJICBDb3Zlcml0eSBJRDogMTIxMjE4MAoJICBDb3Zlcml0eSBJRDogMTIxMjE3OQoKMjAxNC0wNS0xMyAxNDoyMToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBVc2UgcG9vbCBjb25maWd1cmF0aW9uCgkgIEl0IHdhcyBsZWFraW5nIHRoZSBjb25maWcsIGJ1dCBhbHNvIG5vdCB1c2luZyBpdC4uLgoJICBDSUQgIzEyMTIxNTUKCjIwMTQtMDUtMTMgMTQ6MTU6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBEb24ndCBsZWFrIEdzdFZpZGVvQ29kZWNTdGF0ZQoJICBBbmQgYXZvaWQgdXNlbGVzcyBjYWxsIHRvIF9nZXRfb3V0cHV0X3N0YXRlIChzZXRfb3V0cHV0X3N0YXRlKCkgYWxyZWFkeQoJICByZXR1cm5zIGl0KS4KCSAgQ0lEICMxMjEyMTYwCgkgIENJRCAjMTIxMjE2MQoKMjAxNC0wNS0xMyAxMzo1NDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IFNtYWxsIHJld3JpdGUKCSAgU2V0dGluZyBkb25lIHdhcyB1c2VsZXNzIGFueXdheQoKMjAxNC0wNS0xMyAxMzo1Mjo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogRG9uJ3QgbGVhayBHc3RBY3RpdmVTdHJlYW0KCSAgQ0lEICMxMjEyMTQyCgoyMDE0LTA1LTEzIDExOjQxOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogRG9uJ3QgbGVhayBHc3RTaG1QaXBlCgkgIEJ5IHJlb3JkZXJpbmcgdGhlIGxlYWtpbmcgY29kZSBwYXRoIHRvIGJlZm9yZSB0aGUgYWxsb2NhdGlvbgoJICBDSUQgIzEyMTIxNTMKCjIwMTQtMDUtMTMgMTE6Mzg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5kZWM6IERvbid0IGxlYWsgb3V0cHV0IHN0YXRlCgkgIF9zZXRfb3V0cHV0X3N0YXRlIHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIGNvZGVjIHN0YXRlLgoJICBDSUQgIzEyMTIxNzAKCjIwMTQtMDUtMTMgMTE6MzU6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgbGVhayBhZGFwdGVyIGRhdGEKCSAgQ0lEICMxMjEyMTU4CgoyMDE0LTA1LTEzIDExOjMwOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OyBGaXggc3RyZWFtIGxlYWsKCSAgQ0lEICMxMjEyMTY0CgoyMDE0LTA1LTEzIDExOjIzOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IERvbid0IGxlYWsgdmFyaW91cyBzbGljZXMgYW5kIGFycmF5cwoJICBDSUQgIzEyMTIxMzkKCSAgQ0lEICMxMjEyMTQwCgkgIENJRCAjMTIxMjE0MQoKMjAxNC0wNS0xMyAxMToxOToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBEb24ndCBsZWFrIGJ5dGVyZWFkZXIKCSAgQnkgbWFraW5nIGl0IGdvIHRocm91Z2ggdGhlIGVycm9yIHBhdGggdGhhdCB0YWtlcyBjYXJlIG9mIGNsZWFudXBzCgkgIENJRCAjMTIxMjE2OAoKMjAxNC0wNS0xMiAxMzo1MDo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBFbnN1cmUgd2Ugc3RpbGwgaGF2ZSBhIHRleHR1cmUgYWZ0ZXIgdXBsb2FkX3NldF9mb3JtYXQoKQoJICBnc3RfZ2xfdXBsb2FkX3NldF9mb3JtYXQoKSByZXNldHMgdGhlIHVwbG9hZCwgaGVuY2UgdGhlIHRleHR1cmUuCgkgIFNvIHdlIG5lZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSB0ZXh0dXJlIGFmdGVyIHRoaXMgY2FsbCB3aGVuCgkgIHVwbG9hZGluZy4KCjIwMTQtMDUtMTIgMTI6NTk6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ29ycmVjdGx5IHVwZGF0ZSB0aGUgdmlkZW8gaW5mbyBmcm9tIHZpZGVvIG1ldGEKCSAgVXNpbmcgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpIGlzbid0IGNvbXBsZXRlIHdoZW4gdXBkYXRpbmcKCSAgYSB2aWRlbyBpbmZvIGZyb20gdmlkZW8gbWV0YS4KCjIwMTQtMDUtMTIgMTI6NTc6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ29ycmVjdGx5IHVwZGF0ZSB2aWRlbyBpbmZvIGluIHVwbG9hZCBmYWxsYmFjawoJICBXaGVuIHRoZSB1cGxvYWQgYWNjZWxlcmF0ZWQgbWV0aG9kIGZhaWxzLCB3ZSBmYWxsYmFjayB0byBhbiB1cGxvYWQsCgkgIGJ1dCB0aGUgdmlkZW8gaW5mbyB3YXMgbm90IGNvcnJlY3RseSB1cGRhdGVkLgoKMjAxNC0wNS0xMiAxODoyODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhdm9pZCBkZWFkbG9ja2luZyB3aGVuIGVycm9yaW5nCgkgIEl0IG1pZ2h0IGdldCBzdHVjayB3aGVuIHBvc3RpbmcgdGhlIG1lc3NhZ2Ugd2hpbGUKCSAgYSByZWNvbmZpZ3VyZSBldmVudCBpcyBiZWluZyBwdXNoZWQgdXBzdHJlYW0KCjIwMTQtMDUtMTIgMTc6Mzc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGNhcHMgbGVhawoKMjAxNC0wNS0xMiAxNTo0MzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgZnJvbSBpbnRlcm5hbCBzb3VyY2UKCSAgc2V0IHVwIGEgYmluIG1lc3NhZ2UgaGFuZGxlciB0byBnZXQgbm90aWZpZWQgb2YgZXJyb3IgbWVzc2FnZXMgZnJvbQoJICB0aGUgaW50ZXJuYWwgc291cmNlIGVsZW1lbnQKCjIwMTQtMDUtMTIgMTQ6NTg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWx3YXlzIGFjY2VwdCB0aGUgbGF0ZW5jeSBjb25maWd1cmUgZXZlbnQKCSAgVXBzdHJlYW0gb3IgaW50ZXJuYWwgZWxlbWVudHMgYXJlIGlycmVsZXZhbnQgYW5kIHdlIHNob3VsZAoJICBhbHdheXMgc3VjY2VlZC4KCjIwMTQtMDUtMTIgMTQ6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZWVuYWJsZSBzZWdtZW50IHRyYWNraW5nIGZvciBzdHJlYW1zCgkgIFN0b3JlIHRoZSBsYXRlc3QgcHVzaGVkIHRpbWVzdGFtcCBzbyB0aGF0IG1zc2RlbXV4IHN0cmVhbXMga25vdwoJICB3aGVyZSB0aGV5IGFyZSBpbiB0aW1lCgoyMDE0LTA1LTEyIDE0OjIzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRlcHJlY2F0ZSB1bnVzZWQgbWF4LXF1ZXVlLXNpemUtYnVmZmVycwoJICBUaGVyZSBpcyBubyBpbnRlcm5hbCBzdG9yYWdlIG9mIGJ1ZmZlcnMgYW55bW9yZQoKMjAxNC0wNS0xMiAxNDoxODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IG1lYXN1cmUgYml0cmF0ZSBzaW1pbGFybHkgdG8gaGxzZGVtdXgKCSAgbmV3IGJpdHJhdGUgPSAob2xkIGJpdHJhdGUgKyAobGFzdCBmcmFnbWVudCBiaXRyYXRlICogMykpIC8gNAoKMjAxNC0wNS0xMiAxMzo0MDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSB1cmlkb3dubG9hZGVyIGluIGZhdm9yIG9mIGludGVybmFsIHNvdXJjZQoJICBSZWZhY3RvciBtc3NkZW11eCB0byByZW1vdmUgdXJpZG93bmxvYWRlciB0byB1c2UgYW4gaW50ZXJuYWwKCSAgc291cmNlIGVsZW1lbnQgd2hpY2ggcmVkdWNlcyBzdGFydHVwIGxhdGVuY3kgYW5kIHByb3ZpZGVzIHNtYWxsZXIKCSAgYnVmZmVycyBmb3IgYmV0dGVyIGJ1ZmZlcmluZyBtYW5hZ2VtZW50IGRvd25zdHJlYW0KCjIwMTQtMDUtMTIgMTM6Mjg6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW5pdGlhbGl6ZSB0aGUgbXV0ZXggYW5kIGNvbmQgZm9yIGZyYWdtZW50IGRvd25sb2FkCgoyMDE0LTA1LTEyIDEzOjMyOjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNldCBvdXRfdGV4IGFmdGVyIHJlc2V0LCBub3QgYmVmb3JlCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCByZWNlbnRseSB3aXRoIHRoZSBsYXp5IGluaXQuCgkgIEl0IHdhcyBoYXBwZW5pbmcgd2hlbiBjYWxsaW5nIGdzdF92aWRlb19nbF90ZXh0dXJlX3VwbG9hZF9tZXRhX3VwbG9hZAoJICBmcm9tIGFuIGFwbGljYXRpb24uIFNvIG5vdCB1c2luZyBnc3RfZ2xfdXBsb2FkX3BlcmZvcm1fd2l0aF9idWZmZXIuCgoyMDE0LTA1LTExIDEyOjQ4OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHVwZGF0ZSB0aGUgdmlkZW8gaW5mbyBvbiBtYXBwaW5nIGEgdmlkZW8gZnJhbWUKCSAgVGhlIGJ1ZmZlciBzaG91bGQgY29udGFpbiB0aGUgbW9zdCBzcGVjaWZpYyBkYXRhIG9uIGhvdyB0aGUgZGF0YSBpcwoJICBmb3JtYXR0ZWQuICBXZSBzaG91bGQgdXNlIHRoaXMgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTIgMjE6NTY6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbnZlcnQ6IGNsb2JiZXIgYWxwaGEgY2hhbm5lbCB3aGVuIG5lZWRlZAoJICBOZWVkZWQgaW4gdGhlIGNvbnZlcnNpb24gZnJvbSBwYWRkZWQgUkdCIGZvcm1hdHMgdG8gZm9ybWF0cyB3aXRoIGFuCgkgIGFscGhhIGNoYW5uZWwuICBlLmcuIEJHUnggLT4gQUJHUiwgZXRjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NDIKCjIwMTQtMDUtMTIgMjE6NTE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYXZvaWQgcGVyZm9ybWluZyBjb2xvciBjb252ZXJzaW9uIHdoZW4gdGhlcmUgaXMgbm8gbmVlZAoJICBPbmUgc3VjaCBleGFtcGxlIGlzIHdoZW4gdGhlIGJ1ZmZlciBjb250YWlucyBHc3RHTE1lbW9yeSBpbiB0aGUKCSAgUkdCQSBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI3OAoKMjAxNC0wNS0xMiAxMDowMTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgZnJlZSBzdHJpbmcgd2UncmUgc3RpbGwgdXNpbmcKCSAgQ0lEIDEyMTM3ODAKCjIwMTQtMDUtMTEgMTU6MjY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgc3RyZWFtIHVyaWRvd25sb2FkZXIKCSAgVGhlIHVyaWRvd25sb2FkZXIgZm9yIHRoZSBzdHJlYW0gZnJhZ21lbnRzIGlzbid0IHVzZWQgYW55bW9yZS4KCjIwMTQtMDUtMTEgMDc6NTY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvIG5vdCB0cnkgdG8gYWRkIGEgZmVhdHVyZSB0byBhIGNhcHMgZmVhdHVyZXMgQU5ZCgkgIEl0IGRvZXMgbm90IG1ha2VzIHNlbnNlIGFuZCBhc3NlcnRzCgkgIEJhc2VkIG9uIDdmOWFhYzM4NmZkNWQ1OTIxYzgwMTAwODg5YTVmMjEyYzAxNDhhODggZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAxNC0wNS0xMSAwNzo1NTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG8gbm90IHRyeSB0byBhZGQgYSBmZWF0dXJlIHRvIGEgY2FwcyBmZWF0dXJlcyBBTlkKCSAgSXQgZG9lcyBub3QgbWFrZXMgc2Vuc2UgYW5kIGFzc2VydHMuCgkgIEJhc2VkIG9uIDdmOWFhYzM4NmZkNWQ1OTIxYzgwMTAwODg5YTVmMjEyYzAxNDhhODggZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAxNC0wNS0xMSAxNDowMjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBjaG9vc2UgdGhlIHJpZ2h0IGFscGhhIGNvbXBvbmVudCBmb3IgQVlVViAtPiBSR0JBCgoyMDE0LTA1LTExIDEwOjI3OjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHVwZGF0ZSB0aGUgcmVzcGVjdGl2ZSBzdGF0ZSB3aGVuIHdlIGNhY2hlIHRleHR1cmVzL2RhdGEKCjIwMTQtMDUtMDEgMDI6MTA6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgQysrIHN0eWxlIGNvbW1lbnRzCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMDEgMDE6NTg6MDMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1cCBlcnJvciByZXBvcnRpbmcKCSAgVGhpcyBwYXRjaCBidWlsZHMgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0xMCAyMzozMzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBjYWNoZSB0aGUgdGV4dHVyZXMgdGhhdCB3ZSBhcmUgdXNpbmcKCjIwMTQtMDUtMTAgMjI6NDg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYXZvaWQgcmVjcmVhdGluZyB0aGUgR0xNZW1vcnkgc3RydWN0IGZvciBvdXRwdXQgdGV4dHVyZXMKCjIwMTQtMDQtMTEgMTk6Mzg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGltbWVkaWF0ZWx5IHdpdGhvdXQgYW55IGRhdGEKCSAgSXQncyBub3QgcmVhbGx5IHJpZ2h0IHRvIGp1c3QgZ28gRU9TIGFzIGlmIG5vdGhpbmcgd2FzIHdyb25nLgoKMjAxNC0wNS0xMCAxMjo1NDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBjb25mdXNpbmcgZGVidWcgbG9nIGxpbmUKCjIwMTQtMDUtMDcgMjA6MDg6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBmYWN0b3JpZXMgZG9uJ3QgbmVlZCB0aGUgbG9jawoJICBBbiBhdG9taWMgaXMgZW5vdWdoLCB0aGV5IGNhbiBvbmx5IGJlIHNldCBvbmNlLgoKMjAxNC0wNS0wOSAyMDowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBSZXZlcnQgImF1dG9jb252ZXJ0OiBIYW5kbGUgY2FwcyBxdWVyeSBvbiBpbnRlcm5hbCBzcmNwYWQiCgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnltb3JlIGlmIHRoZSBnc3RfcGFkX2xpbmsgY2hlY2tzIG5vdGhpbmcuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTMwMzM3NWEzZjVjMTJlOTdjYThiZjUwYjVhOTNjZTg2NTJmYWYyMy4KCjIwMTQtMDUtMDkgMjA6MTI6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IE5vIG5lZWQgdG8gY2hlY2sgYW55dGhpbmcgd2hlbiBsaW5raW5nIGludGVybmFsIHBhZHMKCjIwMTQtMDUtMDkgMjA6MDU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGlnbm9yZSBlbGVtZW50cyBhY2NlcHRlZCBBTlksIGl0IGlzIHZhbGlkCgoyMDE0LTA1LTA5IDE4OjQ5OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgYnJva2VuIHVzYWdlIG9mIHRoZSBpdGVyYXRvcgoJICBXZSdyZSBhIHN1YmNsYXNzLCBzbyB3ZSBjYW4ganVzdCB0YWtlIHRoZSBvYmplY3QgbG9jayBhbmQgaXRlcmF0ZSB0aGUgbGlzdAoJICBkaXJlY3RseS4KCjIwMTQtMDUtMDggMTk6MzU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFByb2Nlc3MgdXBzdHJlYW0gZ2V0Y2FwcwoJICBQcm9jZXNzIGl0IGxpa2UgZG93bnN0cmVhbSBnZXRjYXBzCgoyMDE0LTA1LTA3IDIwOjAwOjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZXR1cm4gdGhlIEdMaXN0IG9mIGZhY3RvcmllcywgdG8gYSBwb2ludGVyIHRvIGl0LgoKMjAxNC0wNS0wNyAxOTo1NDo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IHN1YmVsZW1lbnQgY2FuIG9ubHkgYmUgY2hhbmdlIHdpdGggc3RyZWFtIGxvY2sgaGVsZAoJICBJdCB3YXMgYWxyZWFkeSB0aGUgY2FzZSwgbm93IGJlIG1vcmUgZXhwbGljaXQgYWJvdXQgdGhhdCwgYW5kIHJlbW92ZSB1c2VsZXNzCgkgIGxvY2svcmVmL3VubG9jay91bnJlZiBkYW5jZXMuCgoyMDE0LTA1LTA3IDE5OjQ4OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBLZWVwIGEgcmVmIHRvIHRoZSBwYWRzIHRvbwoJICBTaW1wbGlmaWVzIHRoZSBjb2RlCgoyMDE0LTA1LTA3IDE5OjQ3OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdW5lZWRlZCBpZigpCgkgIE5VTEwgaXMgdmFsaWQgR0xpc3QKCjIwMTQtMDUtMDcgMTk6NDQ6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFsd2F5cyBwdXNoIHJlY29uZmlndXJlIHVwc3RyZWFtIHRvbwoJICBBIHJlY29uZmlndXJlIGNvdWxkIHRyaWdnZXIgYSBjaGFuZ2Ugb2YgY29udGVudHMgaW5zdGVhZCBvZiBqdXN0IHJlY29uZmlndXJpbmcgdGhlIGludGVybmFsIGVsZW1lbnQKCjIwMTQtMDUtMDcgMTk6NDM6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB1bnVzZWQgaW50ZXJuYWwgcGFyYW1ldGVyCgoyMDE0LTA1LTA5IDE4OjU5OjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBGaXggc29tZSBvZiB0aGUgZXJyb3IgaGFuZGxpbmcKCjIwMTQtMDUtMDkgMTc6NTk6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogVXBkYXRlIEdzdFZpZGVvSW5mbyBhZnRlciB0aGUgYnVmZmVyIGlzIG1hcHBlZAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2lsbCBzdG9yZSBhbiB1cGRhdGVkIHZpZGVvIGluZm8gYmFzZQoJICBvbiB0aGUgdmlkZW8gbWV0YS4gSW4gb3JkZXIgdG8gaGF2ZSB0aGUgcmlnaHQgc3RyaWRlIGFuZCBvZmZzZXQKCSAgd2Ugc2hvdWxkIHVwZGF0ZSB0aGF0IHZpZGVvIGluZm8gYWNjb3JkaW5nbHkuCgoyMDE0LTA1LTA5IDE1OjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsOiBGaXggbWVtb3J5IGxlYWsKCSAgQ0lEICMxMjEyMTcxCgoyMDE0LTA1LTA5IDE1OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogUmVtb3ZlIGludmFsaWQgZnJlZQoJICBkYXRhIGRvZXMgbm90IGhhdmUgdG8gYmUgZnJlZWQgYXQgYWxsIGhlcmUsIGl0J3MgYSBwb2ludGVyIHRvCgkgIGFuIGFyYml0cmFyeSBwb3NpdGlvbiBpbnNpZGUgdGhlIGN1cnJlbnQgbGluZS4gQWxzbyBkb24ndCByZXVzZQoJICB0aGUgZGF0YSB2YXJpYWJsZSBmb3IgYW55dGhpbmcgZWxzZSwgdGhhdCB3aWxsIGNhdXNlIGNyYXNoZXMKCSAgaW4gcGxheWxpc3RzIHRoYXQgaGF2ZSB0aGUgSS1mcmFtZSBwbGF5bGlzdCBVUkkgZm9sbG93ZWQgYnkKCSAgb3RoZXIgYXR0cmlidXRlcy4KCSAgQ0lEIDEyMTIxMjcKCjIwMTQtMDUtMDkgMTQ6MzE6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBsZWFrCgkgIFRoZSBjZWxsIGV4dGVuc2lvbiB3YXMgbmV2ZXIgYWRkZWQgdG8gdGhlIHBhcmVudCBjZWxsCgkgIENJRCAjMTIxMjE2MgoKMjAxNC0wNS0wOSAyMjoyMjo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBwcmVzZXJ2ZSBhbHBoYSBpbiBBWVVWIDwtPiBSR0JBIGNvbnZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NDMKCjIwMTQtMDUtMDkgMTg6MDc6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBpbXBsZW1lbnQgbGF6eSBpbml0CgoyMDE0LTA1LTA4IDE1OjM4OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNldCBpbml0dGVkIHRvIFRSVUUgd2hlbiBfaW5pdF91cGxvYWQgc3VjY2VlZGVkCgoyMDE0LTA1LTA4IDIyOjQ5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IFVzZSBHU1RfU1RSX05VTEwoKSBmb3IgcHJpbnRpbmcgcG9zc2libHkgTlVMTCBzdHJpbmdzIGFuZCBwcmludCBhbGwgdmFyaWFibGVzIHdlIHVzZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIGFib3V0IHNldCBidXQgbm90IHVzZWQgcGxhdGZvcm1fY2hvaWNlIHZhcmlhYmxlCgkgIGFtb25nIG90aGVyIHRoaW5ncy4KCjIwMTQtMDUtMDggMTY6MDg6MDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IHVzZSBnbF92dGFibGUKCjIwMTQtMDUtMDggMTc6Mjg6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogZml4IGNvbXBpbGF0aW9uIG9uIE9TIFgKCjIwMTQtMDUtMDggMTU6NDA6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogZmFpbCBwcm9wb2VybHkgaWYgaW5pdCBmYWlscwoKMjAxNC0wNS0wOCAxNTozMDo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsOiBtYWtlIGFsbCBHT2JqZWN0cyBpbmhlcml0IGZyb20gR3N0T2JqZWN0CgkgIEFpZHMgbWVtb3J5IGxlYWsgZGVidWdnaW5nIHdpdGggR1NUX1RSQUNFPW1lbS1saXZlCgoyMDE0LTA1LTA4IDEzOjQ2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogaW1wbGVtZW50IGxhenkgaW5pdAoJICBSZW5hbWUgaW5pdF9mb3JtYXQgdG8gc2V0X2Zvcm1hdAoKMjAxNC0wNS0wOCAwMDo1OTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogYWRkIGdldF9mb3JtYXQgbWV0aG9kCgkgIFNpbXBseSByZXRyZWl2ZXMgdGhlIGZvcm1hdCBzZXQgYnkgaW5pdF9mb3JtYXQKCjIwMTQtMDUtMDggMDA6NDg6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYXR0ZW1wdCB0byBwYXNzdGhyb3VnaCB0aGUgcG9vbCBpZiB0aGUgY2FwcyBhcmUgdGhlIHNhbWUKCSAgUmVkdWNlcyB0aGUgbnVtYmVyIG9mIGdsYnVmZmVycG9vbCBpbnN0YW5jZXMgcmVxdWlyZWQgZm9yID49MgoJICBjb25zZWN1dGl2ZSBHTCBlbGVtZW50cyBpbiBhIHBpcGVsaW5lLgoKMjAxNC0wNS0wOCAwMDo0MzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhbHdheXMgaW5pdGlhbGl6ZSB0aGUgdXBsb2FkIG9iamVjdAoKMjAxNC0wNS0wNyAyMTo0NTo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBhZHZlcnRpc2UgR3N0R0xNZW1vcnkgdXNhZ2UgaW4gdGhlIGNhcHMgYXMgY2Fwc2ZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2NTgKCjIwMTQtMDUtMDcgMjA6MTI6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgZ2wvZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBmb3IgY2x1dHRlciBleGFtcGxlcwoJICBDbHV0dGVyWDExVGV4dHVyZVBpeG1hcCBpcyBkZXByZWNhdGVkIGluIENsdXR0ZXIgMS42IGFuZCB3ZSBhc2sgZm9yCgkgIGF0IGxlYXN0IDEuOAoKMjAxNC0wNS0wNyAxOTowNTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGF2b2lkIGVuZGxlc3MgcmVjdXJzaW9uIGZvciBjb2NvYQoKMjAxNC0wNS0wNiAwODo1MjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkZXByZWNhdGUgbWF4LWJ1ZmZlcmluZy10aW1lIHByb3BlcnR5CgkgIEl0IGlzIG5vdCB1c2VkIGFzIGRhc2hkZW11eCBkb2Vzbid0IGhhdmUgYSBpbnRlcm5hbCBidWZmZXIKCSAgZm9yIGZyYWdtZW50cyBhbnltb3JlCgoyMDE0LTA1LTA2IDAxOjU2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92aW5nIG9sZCB1bnVzZWQgY29kZQoJICBUaGUgJ2NhdGNoIHVwIG1vZGUnIGlzbid0IG5lZWRlZCBhbnltb3JlIHNpbmNlIGRhc2hkZW11eAoJICBpcyBkb3dubG9hZGluZyBhbmQgcHVzaGluZyBmcm9tIHRoZSBzYW1lIHRocmVhZAoKMjAxNC0wNS0wNSAxMDoxMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1lbWJlciB0byBzZXQgc3RhcnRpbmcgZnJhZ21lbnQgdG8gbmV3IGZyYWdtZW50cwoKMjAxNC0wNS0wMiAxODozNDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgYSBmZXcgbW9yZSBlcnJvciBjYXNlcwoJICByZWxhdGVkIHRvIG1pc3NpbmcgcGx1Z2lucywgYmFkIFVSSSBhbmQgYSBsb2NrdXAgb24gZGVhbGluZyB3aXRoCgkgIGVycm9ycyBmcm9tIHRoZSBzb3VyY2UuCgoyMDE0LTA1LTAyIDE4OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE9ubHkgc2V0IHRpbWVzdGFtcCB0byB0aGUgZmlyc3QgYnVmZmVyIG9mIGZyYWdtZW50cwoJICBTZXR0aW5nIGl0IHRvIHRoZSBvdGhlciBwYXJ0cyBvZiB0aGUgZnJhZ21lbnQgaXMgc2xpZ2h0bHkgd3JvbmcKCSAgYW5kIG1pc2xlYWRpbmcgYXMgaXQgaXNuJ3QgYWNjdXJhdGUgZW5vdWdoLgoKMjAxNC0wNS0wMiAxODozMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20gdGhlIHNvdXJjZXMKCSAgU2V0IHVwIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBiZSBhYmxlIHRvIGNhdGNoIGVycm9ycwoJICBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudCBhbmQgc2lnbmFsIHRoZSBjb25kIHRvIGFsbG93IHRoZSBkb3dubG9hZAoJICBsb29wIHRvIHJldHJ5IHRoZSBkb3dubG9hZC4KCjIwMTQtMDUtMDEgMjE6MDQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2hlY2sgZm9yIGVycm9ycyBiZXR3ZWVuIGRvd25sb2FkcwoJICBUbyBhYm9ydCBlYXJsaWVyIGluIGNhc2Ugb2YgZmFpbHVyZXMKCjIwMTQtMDUtMDEgMjE6MDA6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWx3YXlzIGFjY2VwdCB0aGUgbGF0ZW5jeSBjb25maWd1cmUgZXZlbnQKCSAgVXBzdHJlYW0gb3IgaW50ZXJuYWwgZWxlbWVudHMgYXJlIGlycmVsZXZhbnQgYW5kIHdlIHNob3VsZAoJICBhbHdheXMgc3VjY2VlZC4KCjIwMTQtMDUtMDEgMTI6MDQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJICBkYXNoZGVtdXg6IG1lYXN1cmUgZG93bmxvYWQgcmF0ZSBqdXN0IGxpa2UgaGxzZGVtdXgKCSAgbmV3IGJpdHJhdGUgPSAob2xkIGJpdHJhdGUgKyAobGFzdCBmcmFnbWVudCBiaXRyYXRlICogMykpIC8gNAoKMjAxNC0wNC0yNSAwODo1MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVyaWRvd25sb2FkZXIgZnJvbSBmcmFnbWVudHMgZG93bmxvYWQKCSAgSW5zdGVhZCwgdXNlIGEgc291cmNlIGVsZW1lbnQgbGlua2VkIHRvIGEgZ2hvc3RwYWQgdG8gcHJvdmlkZQoJICBzbWFsbGVyIGJ1ZmZlcnMgYW5kIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBmb3IgZG93bnN0cmVhbQoJICBidWZmZXJpbmcgZWxlbWVudHMgd2hpbGUgYWxzbyByZWR1Y2luZyBzdGFydHVwIGxhdGVuY3kKCjIwMTQtMDUtMDcgMDk6MTE6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsL3Npbms6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgaW5pdGlhbGl6ZSB0aGUgdXBsb2FkIG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTQyCgoyMDE0LTA1LTA2IDE5OjI0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbnRlcm5hbCBzb3VyY2UgZXZlbnQgbGVha3MKCjIwMTQtMDUtMDYgMTE6NTk6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBkbyBub3QgYWxsb2NhdGUgdGhlIHRhcmdldCB0ZXh0dXJlIG9mIGFuIEVHTEltYWdlCgkgIFRoZSB0YXJnZXQgdGV4dHVyZSBvZiBhbiBFR0xJbWFnZSBpcyB0aGUgdGV4dHVyZSBiaW5kIGp1c3QKCSAgYmVmb3JlIGNhbGxpbmcgZ2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRC4KCSAgQXMgd2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBhIGdsIHRleHR1cmUgYXMgdGhlIHNvdXJjZSBvZiBhbiBFR0xJbWFnZQoJICB0aGUgZ2wgdGV4dHVyZSBpcyBhY3R1YWxseSBhbHJlYWR5IGFsbG9jYXRlZCB3aGVuIGNyZWF0aW5nIHRoZSBlZ2xpbWFnZS4KCSAgSSBhbHNvIHNlZSBzb21lIGNhc2VzIHdoZXJlIGl0IGZhaWxzIHRvIHVwbG9hZCBhbiBlZ2xpbWFnZSB3aGVuCgkgIGdsVGV4SW1hZ2UyRCBpcyBjYWxsZWQgb24gdGhlIHRhcmdldC4KCjIwMTQtMDUtMDYgMTE6NTE6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGFsbG93IHRvIGF2b2lkIGNhbGxpbmcgZ2xUZXhJbWFnZTJEKHcsIGgsIE5VTEwpIHdoZW4gZ2VuZXJhdGluZyBhIHRleHR1cmUKCSAgSnVzdCBwYXNzIDAgYXMgd2lkdGggb3IgaGVpZ2h0IHRvIGdzdF9nbF9jb250ZXh0X2dlbl90ZXh0dXJlLgoKMjAxNC0wNS0wNiAxMToyNzo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsOiBubyBuZWVkIHRvIGluaXRpYWxpemUgYSBmcmFtZSBidWZmZXIgb2JqZWN0IHRvIHVwbG9hZCBhbiBlZ2xpbWFnZQoJICBGaXggaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU4OAoKMjAxNC0wNS0wNiAxMToyMTo1NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsOiB1c2UgR1NUX0NBVF9FUlJPUiBpbnN0ZWFkIG9mIEdTVF9FUlJPUl9PQkpFQ1QKCSAgSXQgZml4ZXMgc2VnYXVsdCB3aGVuIEdTVF9ERUJVRyBpcyBhdCBsZWFzdCBsZXZlbCAxIGFuZCBlZ2xDcmVhdGVJbWFnZSBmYWlscwoKMjAxNC0wNS0wNiAxMDoxNDoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGRlbGV0ZSB0ZXh0dXJlIHVzZWQgd2l0aCBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTQtMDUtMDYgMTQ6MjM6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiB1c2UgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlciBoZWxwZXIgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlCgoyMDE0LTA1LTA2IDA5OjU1OjA1IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiByZW1vdmUgZW1wdHkgbGluZQoJICBSZW1vdmUgdHJhaWxpbmcgZW1wdHkgbGluZSBmcm9tIGNvbW1pdCBiZmRjNTQzOTUyMzhjMDRmYzZlNWI1MTg4MGMyZDcwNmYzM2U5MDExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTMtMTEtMjAgMTI6MTY6MTcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgdW51c2VkIGRhdGEgaW4gVHNNdXhTZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODUKCjIwMTQtMDUtMDYgMjE6MTc6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZWVuYWJsZSBjYW1lcmFiaW4gZWxlbWVudCB0ZXN0CgoyMDE0LTA1LTA2IDE2OjM5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC9kaXNwbGF5OiBjbGVhbiB1cCBwcmUgZ3N0Z2xjb250ZXh0IGFwaSBhbmQgc3RydWN0IGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE3OjI3OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbC9kaXNwbGF5OiBhZGQgZ2V0X2hhbmRsZV90eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTc6MDg6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBhdm9pZCBvcGVuaW5nIHRoZSBYMTEgZGlzcGxheSBvbiBzeXN0ZW1zIHdpdGggQ29jb2EgKE9TIFgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTY6Mzk6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3dpbmRvdzogZml4IHN0cmluZyBsZW5ndGggY2hlY2sgZm9yIGVhZ2wKCjIwMTQtMDUtMDYgMTY6MzE6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBjaGVjayB0aGUgY29ycmVjdCBlbnYgdmFyaWFibGUgZm9yIGNob29zaW5nIGFuIGVnbCBkaXNwbGF5CgkgIEdTVF9HTF9XSU5ET1cgaXMgdXNlZCBmb3Igd2luZG93IHN5c3RlbSBzcGVjaWZpYyBjaG9pY2VzLgoJICBBbiBFR0xEaXNwbGF5IGNhbiBiZSBjcmVhdGVkIGZyb20gd2luZG93IHN5c3RlbXMgd2l0aCBlZ2wgc3VwcG9ydCBieSB1c2luZwoJICBlZ2xHZXREaXNwbGF5KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTI6NTY6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsL2NvY29hOiBVc2UgT0JKQ0ZMQUdTIHdoZXJlIG5lZWRlZAoJICBTaG91bGQgZml4IHVzYWdlIG9mIGMtY29tcGlsZXItb25seSBmbGFncyB3aXRoIGFuIG9iamVjdGl2ZS1jIGNvbXBpbGVyCgoyMDE0LTA1LTA2IDA5OjQ4OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBmaXggZmxvdyByZXR1cm4gYW5kIGJ1ZmZlciBsZWFrIGluIG5vdC1uZWdvdGlhdGVkIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxNC0wNS0wNiAwOTo0MDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgbmV3IHZwOHBhcnNlci10ZXN0IGJpbmFyeSB0byAuZ2l0aWdub3JlCgoyMDE0LTA1LTA1IDE3OjIwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCByZXNldCBzdHJlYW0gaWYgdGhlIGtleSBoYXNuJ3QgY2hhbmdlZAoKMjAxNC0wNS0wNSAxNzowMDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBBZGQgInJlbW92ZS1rZXkiIGFjdGlvbiBzaWduYWwgdG8gcmVtb3ZlIGEgc2luZ2xlIGtleQoJICBSZW1vdmluZyBhbGwgdGhlIGtleXMgY2FuIGJlIGEgcHJvYmxlbSBhcyBpdCBhbHNvIHJlc2V0cyB0aGUgdmFyaW91cwoJICBjb3VudGVycywgc28gaW5zdGVhZCBhZGQgYW4gb3B0aW9uIHRvIHJlbW92ZSBhIHNpbmdsZSBrZXkuCgoyMDE0LTA1LTA1IDIyOjI1OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBVc2UgJXUgaW4gdGVtcGxhdGVzIHRvIG1hdGNoIHJ0cGJpbgoKMjAxNC0wNS0wNiAwMDoxMToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUmVtb3ZlIHVudXNlZCBmaWVsZAoKMjAxNC0wNS0wNiAwOToyMzoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBGaXggZm9yIG5vdCBjaGVja2luZyB6ZXJvIHdpZHRoIGFuZCBoZWlnaHQKCSAgU2lnbmVkLW9mZi1ieTogU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTQtMDUtMDUgMTE6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzZXQgdGhlIHNlZ21lbnQgcG9zaXRpb24gaWYgdGhlcmUgaXMgYSB0aW1lc3RhbXAKCSAgT25seSB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQgaGFzIGl0cyB0aW1lc3RhbXAgc2V0LCBzbyBvbmx5CgkgIHVwZGF0ZSB0aGUgc2VnbWVudC5wb3NpdGlvbiB3aGVuIHB1c2hpbmcgdGhvc2UgYnVmZmVycyB0byBhdm9pZAoJICBoYXZpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSBzZXQgdG8gdGhlIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkzNjQKCjIwMTQtMDUtMDUgMTI6MzA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIHRoZSBzYW1lIGluY2x1ZGVzIGZvciBHTCB0aGF0IHdlIHdvdWxkIHVzZSBsYXRlciBpbiB0aGUgY29kZSBmb3IgY2hlY2tpbmcgaWYgR0xFUzIgYW5kIE9wZW5HTCBoZWFkZXJzIGNhbiBib3RoIGJlIGluY2x1ZGVkCgoyMDE0LTA1LTA1IDIwOjA2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGNoZWNrIGlmIHdlIGNhbiBpbmNsdWRlIGJvdGggR0wgYW5kIEdMRVMyIGhlYWRlcnMgYXQgdGhlIHNhbWUgdGltZQoJICBJZiB3ZSBjYW5ub3QsIHRoZW4gZGVmYXVsdCB0byBHTCBvdmVyIEdMRVMyIHVubGVzcyBHTEVTMiBpcyByZXF1aXJlZC4KCjIwMTQtMDUtMDUgMDk6NDY6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgQ2FjaGUtQ29udHJvbCBoZWFkZXIgYWNjb3JkaW5nIHRvIHRoZSBjYWNoaW5nIHJlcXVpcmVtZW50cyBvZiB0aGUgcGxheWxpc3QKCjIwMTQtMDUtMDUgMDk6Mzg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBVcGRhdGUgZm9yIHVyaSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTA1IDA5OjM3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXBkYXRlIGZvciB1cmkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0wNSAwOTozNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgcGFyYW1ldGVyIHRvIGRpc2FsbG93IGNhY2hpbmcgYXMgcmVxdWlyZWQgYnkgSExTCgoyMDE0LTA1LTA1IDA5OjM0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IFN0b3JlIGFsbG93Y2FjaGUgcGxheWxpc3QgZmllbGQgaW4gYSBib29sZWFuCgoyMDE0LTA1LTA0IDIyOjIyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSB0aGUgc2FtZSAjaW5jbHVkZXMgZm9yIGNoZWNraW5nIEdMIHR5cGVzIGFzIGxhdGVyIGluIHRoZSBjb2RlCgoyMDE0LTA1LTAzIDIxOjM4OjQyIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgZ2wvY2x1dHRlcjogc2FmZXIgY2hlY2sgZm9yIGNvZ2wgdmVyc2lvbgoJICBVc2UgQ09HTF9WRVJTSU9OX0VOQ09ERSB0byBjaGVjayBmb3IgdGhlIG1pbmltdW0gcmVxdWlyZWQgYW5kIG1heGltdW0gYWxsb3dlZAoJICBjb2dsIHZlcnNpb24uIEluIGNlcnRhaW4gc2l0dWF0aW9ucyBqdXN0IHVzaW5nIHRoZSBDT0dMX1ZFUlNJT05fKiBtYWNybyBuYW1lIGNhbgoJICBnaXZlIHlvdSB0aGUgZm9sbG93aW5nIGVycm9yOgoJICBlcnJvciAiQ09HTF9WRVJTSU9OX01BWF9BTExPV0VEIG11c3QgYmUgPj0gQ09HTF9WRVJTSU9OX01JTl9SRVFVSVJFRCIKCjIwMTQtMDUtMDMgMjE6MDU6MTkgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL2dlbmVyaWM6IHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlcwoKMjAxNC0wNS0wMyAyMDo0ODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjEgPT09CgoyMDE0LTA1LTAzIDE4OjE2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgUmVsZWFzZSAxLjMuMQoKMjAxNC0wNS0wMyAxODoxNjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTAzIDE5OjQ1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEZpeCBDRkxBR1MgaW4gY2x1dHRlciBHTCBleGFtcGxlcwoKMjAxNC0wNS0wMyAxOTo0MjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWRkIGFsbCBnbCBzdWJkaXJzIHRvIERJU1RfU1VCRElSUyB0byBmaXggdGhlIGJ1aWxkCgoyMDE0LTA1LTAzIDE3OjI0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA1LTAzIDEzOjEyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBSZW1vdmUgbWZjIHBsdWdpbiwgaXQgaXMgb2Jzb2xldGVkIGJ5IHRoZSB2NGwydmlkZW9kZWMgZWxlbWVudCBmcm9tIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTQtMDUtMDMgMTI6MDI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBVc2UgY29tcGxldGUgY2FwcyBmb3Igc2V0dGluZyB1cCB0aGUgc3RyZWFtcyBpbiB0aGUgdGVzdAoKMjAxNC0wNS0wMyAxMDoxNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmNiMTUxOCB0byAyMTFmYTVmCgoyMDE0LTAzLTE5IDA5OjIyOjA4ICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogQWRkIGhhbmRsaW5nIG9mIFBBVVNFRCBzdGF0ZQoJICBBbHNvIGFsbG93IGRpc2FibGluZyB0aGUgdGltZW91dCBieSBzZXR0aW5nIGl0IHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxNTYKCjIwMTQtMDUtMDIgMTc6Mjc6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogQWRkIGNvbmZpZyBmb3IgdGhlIHJlcGxheSB3aW5kb3cgc2l6ZQoKMjAxNC0wNS0wMiAxNzoyNDo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogUmVtb3ZlIHVudXNlZCBvYmplY3QgbWVtYmVycwoKMjAxNC0wNS0wMiAxNzoxOToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIHVzZWxlc3Mgc3RydWN0dXJlCgkgIFJlbW92ZSBub3cgdXNlbGVzcyBzdHJ1Y3R1cmUKCjIwMTQtMDUtMDIgMTc6MTQ6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSBzc3JjIHBhcnNpbmcgZnJvbSBzdHJlYW0KCSAgSXQncyBubyBsb25nZXIgdXNlZAoKMjAxNC0wNS0wMiAxNzoxMzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIFNTUkMgZnJvbSBzaWduYWwsIGl0J3MgbWVhbmluZ2xlc3MKCjIwMTQtMDUtMDIgMTc6MDc6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogU2V0IHRoZSBTUlRQIGtleSBhcyBhIHNoYXJlZCBrZXkgZm9yIGFsbCBTU1JDcwoJICBUaGlzIGlzIGFscmVhZHkgaG93IGl0IHdhcyB1c2VkLgoKMjAxNC0wNS0wMiAxNDoyMDo1OCArMDIwMCAgQmxha2UgVHJlZ3JlIDxibGFrZS50cmVncmVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBpbiB0aGUgYmVnaW5uaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MDIKCjIwMTQtMDUtMDIgMTA6NDQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBtYWtlIHN1cmUgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBwbGF5bGlzdC4KCjIwMTQtMDUtMDIgMTA6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBpbmNsdWRlIHRoZSBtYW5pZmVzdCBmaWxlIGFzIHJlZmVyZXIgaW4gcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUKCSAgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdC4KCjIwMTQtMDUtMDIgMTA6Mzk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBpbmNsdWRlIHRoZSBNUEQgZmlsZSBhcyByZWZlcmVyIGluIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlCgkgIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgTVBELgoKMjAxNC0wNS0wMiAxMDozNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgcmVmcmVzaCBwYXJhbWV0ZXIgdG8gaGludCBjYWNoZXMgdGhhdCB0aGV5IHNob3VsZCBjaGVjayBpZiB0aGV5J3JlIHVwIHRvIGRhdGUKCjIwMTQtMDUtMDIgMTU6NTY6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogdXNlIHRoZSBidWZmZXJwb29sJ3MgdXBsb2FkIHdoZW4gYXZhaWxhYmxlCgkgIEF2b2lkcyBkdXBsaWNhdGluZyBHTCByZXNvdXJjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg3MgoKMjAxNC0wNS0wMiAwNTo1NzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2w6IHNob3cgaW50ZXJuYWwgY29jb2Egd2luZG93IG9uIHRvcCBvZiBvdGhlcnMKCSAgVXNlZnVsIHdoZW4geW91ciBPU1ggdGVybWluYWwgaXMgZnVsbHNjcmVlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTI3CgoyMDE0LTA1LTAyIDA1OjUxOjM2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbDogcGFzcyBOU1ZpZXcgaW5zdGVhZCBvZiBOU1dpbmRvdyBpbiBjb2NvYS12aWRlb292ZXJsYXkgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDUxCgoyMDE0LTA1LTAyIDA1OjUwOjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbDogYWRkIGNvcHlyaWdodCB0byBjb2NvYSBleGFtcGxlCgoyMDE0LTA1LTAyIDA1OjQ2OjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJICBnbDogcmVuYW1lIGNvY29hIGV4YW1wbGUgYW5kIG1vdmUgaXQgdG8gaXRzIHBhcmVudCBkaXJlY3RvcnkKCjIwMTQtMDUtMDIgMDU6Mjk6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvUkVBRE1FOgoJICBnbDogcmVtb3ZlIHVudXNlZnVsIFJFQURNRSBmb3IgY29jb2EgZXhhbXBsZQoKMjAxNC0wNS0wMSAxNjowNzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2wvcG9vbDogaW5pdCB0aGUgdXBsb2FkIG9iamVjdCBvbiBzdGFydAoJICBUaGVvcmV0aWNhbGx5LCBzZXRfY29uZmlnIGNvdWxkIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcwoKMjAxNC0wNS0wMSAxOToxNjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogT25seSBjbGVhciBzdHJlYW1zIGlmIHRoZXkgaGF2ZSBiZWVuIGNyZWF0ZWQKCjIwMTQtMDUtMDEgMTk6MTA6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFVzZSBvYmplY3QgZGVidWcKCjIwMTQtMDUtMDEgMTU6NTk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHdheXMgc3VjY2VlZCB0aGUgTEFURU5DWSBldmVudAoJICBVcHN0cmVhbSBhbmQgb3VyIGludGVybmFsIHNvdXJjZSBpcyBpcnJlbGV2YW50IGZvciB0aGUgbGF0ZW5jeQoJICBhbmQgd2UgZG9uJ3Qgd2FudCB0aGUgTEFURU5DWSBldmVudCB0byBldmVyIGZhaWwuCgoyMDE0LTA1LTAxIDE1OjU2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgdGhlIGxhc3QgZmxvdyByZXR1cm4gYmVmb3JlIHJlc3RhcnRpbmcgdGhlIGludGVybmFsIHNvdXJjZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBuZXZlciByZWNvdmVyIGZyb20gcHJldmlvdXMgZXJyb3JzLCBhbmQgZXNwZWNpYWxseQoJICB3aWxsIG5ldmVyIHN0YXJ0IGFnYWluIGFmdGVyIGEgZmx1c2hpbmcgc2VlayBpZiBkb3duc3RyZWFtIHJldHVybmVkCgkgIEdTVF9GTE9XX0ZMVVNISU5HIHRvIHVzLgoKMjAxNC0wNS0wMSAxNToyOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc2V0IFBUUyBvbiB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQgaW5zdGVhZCBvZiBzZXR0aW5nIHRoZSBzYW1lIG9uIGFsbCBvZiB0aGVtCgoyMDE0LTA0LTMwIDE3OjU5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWx3YXlzIGZsdXNoIHRoZSBpbnRlcm5hbCBwcm94eSBwYWRzIGJlZm9yZSBkb3dubG9hZGluZwoJICBobHNkZW11eCBjYW4ndCByZWx5IG9uIHRoZSBzb3VyY2UgdG8gcHVzaCBmbHVzaGVzIG9uIGEgc2VlayBvbiByZWFkeQoJICBhcyB0aGF0IG1pZ2h0IG5vdCBtYWtlIHNlbnNlLiBTbyBhbHdheXMgcmVzb3J0IHRvIGZsdXNoaW5nIHRoZQoJICBpbnRlcm5hbCBwcm94eSBwYWRzIGJ5IHB1c2hpbmcgZmx1c2ggZXZlbnRzIGZyb20gdGhlIHNvdXJjZSdzIHNyYyBwYWQuCgkgIEFsc28gYXMgdGhlIHNlZWtpbmcgaXMgbm90IHJlcXVpcmVkIGFueW1vcmUsIG9ubHkgc2VlayBpZiB0aGVyZSBpcwoJICByZWFsbHkgYSBieXRlIHJhbmdlIHRvIGJlIHVzZWQuIEFuZCBzdG9yZSBhIHJlZiB0byB0aGUgc291cmNlJ3MKCSAgc3JjIHBhZCB0byBhdm9pZCBkb2luZyBnZXRfc3RhdGljX3BhZCBmb3IgZXZlcnkgZnJhZ21lbnQuCgoyMDE0LTA1LTAxIDE0OjM2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2w6IFRyeSBoYXJkZXIgdG8gbG9hZCBzeW1ib2xzIGZyb20gdGhlIGNvcnJlY3QgcGxhY2UKCSAgVGhpcyBjb21taXQgbWFrZXMgdGhlIGxvYWRpbmcgb2YgdGhlIEdNb2R1bGVzIHRocmVhZHNhZmUsIGFuZAoJICBhbHdheXMgZmlyc3QgdHJpZXMgdG8gbG9hZCB0aGUgc3ltYm9sIGZvciB0aGUgR0wgbGlicmFyeSB0aGF0CgkgIGlzIHNlbGVjdGVkIGZvciB0aGUgY3VycmVudCBjb250ZXh0LiBPbmx5IHRoZW4gaXQgZmFsbHMgYmFjawoJICB0byBsb29raW5nIGludG8gdGhlIGN1cnJlbnQgbW9kdWxlIChOVUxMKSwgYW5kIG9ubHkgYXMgYSBsYXN0CgkgIHJlc29ydCB0aGUgY29udGV4dCBzcGVjaWZpYyBmdW5jdGlvbiAoZS5nLiBlZ2xHZXRQcm9jQWRkcmVzcygpKQoJICBpcyBjYWxsZWQuCgkgIEFsc28gYWRkIGNvbmZpZ3VyZSBwYXJhbWV0ZXJzIHRvIHNlbGVjdCB0aGUgbmFtZXMgb2YgdGhlIGxpYnJhcnkKCSAgbW9kdWxlcyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0cywgYW5kIGxldCB0aGUgZGVmYXVsdHMgYmUKCSAgaW5kZXBlbmRlbnQgb2YgdGhlIEdfTU9EVUxFX1NVRkZJWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc1MwoKMjAxNC0wNS0wMSAxNDoxMTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogZml4IG9wZXJhdGlvbiB3aXRoIGR1YWwgR0wsIEdMRVMyIGxpYmdzdGdsCgoyMDE0LTA1LTAxIDEzOjU3OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW06IGltcGxlbWVudCB0ZXh0dXJlIGNvcHlpbmcgYmV0d2VlbiBmb3JtYXRzIHdpdGggc3RyaWRlcyBwcm9wZXJseQoJICBQcmV2aW91c2x5LCB3ZSB1c2VkIHRoZSB3aWR0aCB0byBkZXRlcm1pbmUgdGhlIGFtb3VudCBvZiBkYXRhIHRvIGJlCgkgIGNvcGllZCB1c2luZyBwYm9zLiAgVGhpcywgbWFrZXMgaXQgYWxsb2NhdGUgZW5vdWdoIGRhdGEgZm9yIHRoZQoJICB0aGUgc3RyaWRlcyBhcyB3ZWxsLgoKMjAxNC0wNS0wMSAxMjo1MTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2wvbWVtOiBwYWQgdGhlIHB1YmxpYyBzdHJ1Y3QKCjIwMTQtMDQtMzAgMTg6Mzc6MjcgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IG5vIG5lZWQgdG8gcHJvdmlkZSBmdWxsIGxpYiBwYXRoIHRvIGxvYWQgc3ltYm9scwoJICAtIE1ha2UgZ3N0Z2wgd29yayBvbiBNYWxpCgkgIC0gS2VlcCBpdCB3b3JrIG9uIFJQSQoJICAtIGZhbGxiYWNrIHRvIE5VTEwgbmFtZSBtb2R1bGUgaWYgZmFpbHMgd2l0aCB1c3VhbCBsaWIgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzUzCgoyMDE0LTA0LTMwIDEwOjA1OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogYXZvaWQgcmVhZCBidWZmZXIgb3ZlcmZsb3cgaW4gY3JhZnRlZCBzdHJlYW0KCSAgQ292ZXJpdHkgMTIwODc3NwoKMjAxNC0wNC0zMCAxNzozMDowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgZ2xjb2xvcnNjYWxlOiB1c2UgYSBzaGFkZXIgb24gR0xFU3YyCgkgIE90aGVyd2lzZSB5b3Ugb25seSBzZWUgYmxhY2sgZnJhbWVzCgkgIEZpeCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTQ3CgoyMDE0LTA0LTMwIDE1OjMwOjUzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXNlIG5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gYXZvaWQgZHVwbGljYXRpbmcgZGVmYXVsdCBzaGFkZXIgdGV4dAoKMjAxNC0wNC0zMCAxNToyODozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgZ2xlZmZlY3RzOiB1c2UgbmV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIHNhbWUgdmVydGV4IHNoYWRlciB0ZXh0CgkgIEFuZCBhbHNvIHVzZSB0aGUgZGVmYXVsdCBmcmFnbWVudCBzaGFkZXIgdGV4dCBmb3IgdGhlIGlkZW50aXR5IGVmZmVjdAoKMjAxNC0wNC0zMCAxNToyMDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsOiBhZGQgY29udmVuaWVudCBmdW5jdGlvbnMgdG8gc2V0dXAgZGVmYXVsdCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMKCSAgTW9zdCBvZiBvdXIgMkQgZmlsdGVycyB1c2UgdGhlIHNhbWUgc2ltcGxlIHZlcnRleCBzaGFkZXIuCgkgIEFsc28gZGVmaW5lIHRoZSBkZWZhdWx0IGZyYWdtZW50IHNoYWRlciBhcyB0aGUgaWRlbnRpdHkuCgkgIEF2b2lkIGR1cGxpY2F0aW5nIHRoZSBzYW1lIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVyIHRleHQuCgoyMDE0LTA0LTMwIDA4OjUzOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSB1bnJlZiBwZW5kaW5nIGJ1ZmZlciBpZiB0aGVyZSBpcyBvbmUKCjIwMTQtMDQtMjkgMTg6MTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHB1c2ggbGFzdCBidWZmZXIgYWZ0ZXIgZXJyb3IKCSAgSW4gZGVjcnlwdGlvbiBzY2VuYXJpbywgYSBidWZmZXIgaXMgYWx3YXlzIHN0b3JlZCB0byBiZSBzZW50IGxhdGVyCgkgIHRvIHdhaXQgZm9yIG1vcmUgZGF0YSBvciBFT1MgdG8gYmUgYWJsZSB0byBzdHJpcCB0aGUgZmluYWwgYnl0ZXMKCSAgaWYgcmVxdWVzdGVkLiBJbiBjYXNlIGFuIGVycm9yIGhhcGVubmVkIHRoaXMgYnVmZmVyIGNhbiBiZSBpZ25vcmVkCgkgIGFuZCBub3QgcHVzaGVkIGRvd25zdHJlYW0uCgoyMDE0LTA0LTI5IDE4OjE0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZsdXNoIHRoZSBhZGFwdGVyIGluIHRoZSBlbmQgb2YgYSBmcmFnbWVudAoJICBJbiBjYXNlIG9mIGVycm9yIHRoZXJlIG1pZ2h0IGJlIHNvbWUgZGF0YSBsZWZ0IGluIHRoZQoJICBhZGFwdGVyIHdoZW4gRU9TIGlzIHJlY2VpdmVkLiBDbGVhciB0aGUgYWRhcHRlciB0byBiZQoJICBhYmxlIHRvIHJlc3RhcnQgYWdhaW4gbGF0ZXIgaWYgcmVxdWVzdGVkLgoKMjAxNC0wNC0yOSAxODoxNDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgbW9yZSBlcnJvciBjYXNlcwoJICBIYW5kbGUgc29tZSBtb3JlIGVycm9yIGNhc2VzOgoJICAxKSBXaGVuIHRoZSBzb3VyY2UgZWxlbWVudCBmYWlscyB0byBnbyB0byByZWFkeQoJICAyKSBXaGVuIGRlY3J5cHRpb24gZmFpbHMKCSAgMykgV2hlbiB0aGVyZSBpcyBubyBzb3VyY2UgdG8gaGFuZGxlIGEgc3BlY2lmaWMgVVJJCgkgIDQpIFdoZW4gdGhlIFVSSSBpcyBpbnZhbGlkCgoyMDE0LTA0LTI5IDE1OjE5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogaGFuZGxlIGVycm9ycyBmcm9tIGludGVybmFsIHNvdXJjZQoJICBTZXQgdXAgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIGNhdGNoIGVycm9ycyBmcm9tIHRoZSBpbnRlcm5hbAoJICBzb3VyY2UgYW5kIHN0b3JlIHRoZSBsYXN0IHJldHVybiBjb2RlIHRvIGlkZW50aWZ5IGVycm9yIHNpdHVhdGlvbnMKCSAgd2hlbiByZXR1cm5pbmcgZnJvbSBhIGZyYWdtZW50IGRvd25sb2FkLgoJICBBbHNvIG1vdmVzIHRoZSBkdXJhdGlvbiBpbmNyZWFzZSB0byBhZnRlciB0aGUgZG93bmxvYWQgd2hlbiB3ZQoJICBrbm93IGlmIGl0IHdhcyBzdWNjZXNzZnVsIG9yIG5vdAoKMjAxNC0wNC0yOSAxNToxNzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcHJvdmUgcGFkIHN3aXRjaGluZyBjb25kaXRpb25zCgkgIFdoZW4gdXNpbmcgdGhlIGludGVybmFsIHNvdXJjZSwgaGxzZGVtdXggZG9lc24ndCBrbm93IHRoZSBjYXBzIG9mCgkgIHRoZSBpbnB1dCBiZWZvcmUgYWRkaW5nIHRoZSBwYWQsIHNvIHJlbW92ZSB0aGUgYXJndW1lbnRzIHRoYXQgd291bGQKCSAgdXNlIHRoYXQgYXMgaXQgaXMgYWx3YXlzIE5VTEwuCgkgIEFuZCB1c2UgYW4gc3BlY2lmaWMgZmxhZyB0byBzaWduYWwgd2hlbiBhIHBhZCBzd2l0Y2ggaXMgcmVxdWlyZWQuCgkgIFVzaW5nIHRoZSBkaXNjb250IGZsYWcgaXMgYSBiYWQgaWRlYSBub3cgYmVjYXVzZSB3aGVuIGEgZnJhZ21lbnQKCSAgZG93bmxvYWQgZmFpbHMgaXQgd2lsbCBsZWFkIHRvIGV4cG9zaW5nIGEgcGFkIGdyb3VwIHdpdGhvdXQgYW55CgkgIGRhdGEsIGNhdXNpbmcgZGVjb2RlYmluIHRvIGFib3J0LgoKMjAxNC0wNC0yOCAyMDowMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwcm9wZXJseSBmbHVzaCBkZWNyeXB0aW9uIHN0YXR1cyBvbiBzZWVrcwoJICBBdm9pZHMgbWl4aW5nIGRlY3J5cHRpb24gb2YgZGlmZmVyZW50IGZyYWdtZW50cyB3aGVuIHNlZWtpbmcgaGFwcGVucwoJICBhbmQgbGVhZGluZyB0byBicm9rZW4gc3RyZWFtIG91dHB1dC4KCjIwMTQtMDQtMjggMTk6MTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBUcmFjayBmcmFnbWVudHMgZHVyYXRpb24KCSAgV2hlbiByZWNldmluZyBFT1MgZnJvbSB0aGUgaW50ZXJuYWwgc3JjLCBpbmNyZWFzZSB0aGUgY3VycmVudCBwb3NpdG9uCgkgIGJ5IHRoZSBmcmFnbWVudCBkdXJhdGlvbiB0byBhbGxvdyBjb3JyZWN0IHJlc3RvcmluZyBvZiBkb3dubG9hZCBwb3NpdGlvbgoJICBpZiB0aGUgYml0cmF0ZSBjaGFuZ2VzCgoyMDE0LTA0LTI1IDEyOjU1OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHByb3Blcmx5IHN0b3AgdGFza3MgYnkgc3RvcHBpbmcgZnJhZ21lbnQgZG93bmxvYWQKCSAgSXNzdWUgYSBzaWduYWwgdG8gdGhlIGZyYWdtZW50IGRvd25sb2FkIGNvbmQgdG8gc3RvcAoJICB0aGUgdGFzayBlYXJsaWVyCgoyMDE0LTA0LTI1IDEwOjQwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRlY3J5cHQgYmVmb3JlIHR5cGVmaW5kaW5nCgkgIE1ha2Ugc3VyZSB0eXBlZmluZGluZyBnZXRzIHRoZSBkZWNyeXB0ZWQgY29udGVudCBpbnN0ZWFkIG9mCgkgIHRyeWluZyB0byB0eXBlZmluZCB0aGUgZW5jcnlwdGVkIGRhdGEuCgoyMDE0LTA0LTI1IDEwOjM5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBkZWNyeXB0aW9uIGZ1bmN0aW9uIHJldHVybgoJICBDb3JyZWN0bHkgcmV0dXJuIHRoZSBkZWNyeXB0ZWQgYnVmZmVyIHdoZW4gaXQgc3VjY2VlZHMgYW5kCgkgIHJldHVybiBOVUxMIG90aGVyd2lzZQoKMjAxNC0wNC0yMiAyMDoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBrZWVwIGNvbm5lY3Rpb24gYWxpdmUgYmV0d2VlbiBkb3dubG9hZHMKCSAgVXNlIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdXJpZG93bmxvYWRlciB0byBrZWVwIGNvbm5lY3Rpb25zIGFsaXZlCgkgIGJldHdlZW4gY29uc2VjdXRpdmUgZnJhZ21lbnRzIGRvd25sb2Fkcy4KCSAgMSkgc2V0IGtlZXAtYWxpdmUgcHJvcGVydHkgdG8gdHJ1ZQoJICAyKSBrZWVwIHRoZSBlbGVtZW50IGluIFJFQURZIGluc3RlYWQgb2YgaW4gTlVMTAoKMjAxNC0wNC0xNiAyMDowMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjcmVhdGUgc291cmNlcyBmcm9tIHVyaQoJICBJbnN0ZWFkIG9mIHVzaW5nIGFsd2F5cyBhbiBodHRwIHNvdXJjZSwgY3JlYXRlIGl0IGR5bmFtaWNhbGx5IGZyb20KCSAgdXJpIHdoZW4gbmVlZGVkLiBJZiBub3QgbmVlZGVkIGp1c3QgcmVwbGFjZSB0aGUgVVJJIG9uIHRoZSBjdXJyZW50CgkgIGVsZW1lbnQKCjIwMTQtMDQtMTYgMTg6MDQ6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IHRyeSB0byBydW4gdHlwZWZpbmQgYWdhaW4gaWYgY2FwcyBpcyB0aGUgc2FtZQoJICBBbHdheXMgcmVzZXQgdGhlIGRvX3R5cGVmaW5kIGZsYWcgaWYgaGxzIGRpZCB0eXBlZmluZCBiZWNhdXNlCgkgIHRyeWluZyBpdCBvbiBub24temVybyBvZmZzZXRzIGRvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgd2lsbCBjYXVzZQoJICBhc3NlcnRpb25zCgoyMDE0LTA0LTE2IDA2OjEyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogZW5hYmxlIGRvd25sb2FkIGJpdHJhdGUgbWVhc3VyZQoJICBNZWFzdXJlIHRoZSBkb3dubG9hZCBiaXRyYXRlIHRvIGJlIGFibGUgdG8gc2VsZWN0CgkgIHRoZSBiZXN0IHBsYXlsaXN0LgoJICBBcyB0aGUgYnVmZmVycyBhcmUgZGlyZWN0bHkgcHVzaGVkIGRvd25zdHJlYW0gYW5kIGl0CgkgIG1pZ2h0IGJsb2NrLiBUaGUgdGltZSBpcyBvbmx5IG1lYXN1cmVkIGZyb20gdGhlIGRvd25sb2FkCgkgIHVudGlsIHRoZSBwYWQgcHVzaCBhbmQgaXQgaXMgc3RhcnRlZCBhZ2FpbiBhZnRlciB0aGUgcHVzaAoJICByZXR1cm5zLgoKMjAxNC0wNC0wOCAxNzozMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlLWVuYWJsZSBkZWNyeXB0aW9uIGFmdGVyIHVyaWRvd25sb2FkZXIgcmVtb3ZhbAoJICBOb3cgdGhlIGRlY3J5cHRpb24gaXMgZG9uZSBidWZmZXIgYnkgYnVmZmVyIGluc3RlYWQgb2Ygb24gdGhlCgkgIHdob2xlIGZyYWdtZW50IGF0IG9uY2UuIEFzIGl0IGV4cGVjdHMgbXVsdGlwbGVzIG9mIDE2IGJ5dGVzIGEKCSAgR3N0QWRhcHRlciB3YXMgYWRkZWQgdG8gcHJvcGVybHkgY2h1bmsgdGhlIGJ1ZmZlcnMuCgkgIEFsc28gdGhlIGxhc3QgYnVmZmVyIG11c3QgYmUgcmVzaXplZCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZQoJICBsYXN0IGJ5dGUgb2YgdGhlIGZyYWdtZW50LCBzbyBobHNkZW11eCBhbHdheXMga2VlcHMgYSBwZW5kaW5nIGJ1ZmZlcgoJICBhcyBpdCBkb2Vzbid0IGtub3cgaWYgaXQgaXMgdGhlIGxhc3Qgb25lIHlldAoKMjAxNC0wNC0wNyAxMzo1NzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlcGxhY2UgdXJpZG93bmxvYWRlciB3aXRoIGEgR3N0RWxlbWVudAoJICBUaGUgR3N0RWxlbWVudCBpcyBkaXJlY3RseSBsaW5rZWQgaW50byBhIGdob3N0IHBhZCBhbmQKCSAgaXRzIGJ1ZmZlcnMgYXJlIHB1c2hlZCBhcyByZWNlaXZlZCBkb3duc3RyZWFtLiBUaGlzIHdheSB0aGUKCSAgYnVmZmVycyBhcmUgc21hbGwgZW5vdWdoIGFuZCBub3QgYSB3aG9sZSBmcmFnbWVudCB0aGF0IHVzdWFsbHkKCSAgY2F1c2VzIGV4dHJhIGxhdGVuY3kgYW5kIG1ha2VzIGJ1ZmZlcmluZyBoYXJkZXIKCjIwMTQtMDQtMjkgMTk6MjQ6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIG1pc3NpbmcgR19CRUdJTi9FTkRfREVDTFMgaW4gdXRpbHMgaGVhZGVyCgoyMDE0LTA0LTI5IDEzOjIxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGdsOiBhZGQgbWlzc2luZyBlbnRyeSB0byBjZmxhZ3MgdG8gZmluZCBnc3QvZ2wvZ2wuaAoJICBPdGhlcndpc2UgYnVpbGQgZmFpbHMKCjIwMTQtMDQtMjkgMTY6NDQ6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkgIHRlc3RzOiBkcm9wIGRpcmVjdCBpbmNsdWRlCgkgIEl0IGlzIG9ubHkgYWxsb3dlZCB0byBpbmNsdWRlIGdkay9nZGt4LmggYW5kIHRoYXQgd2lsbCBicmluZyBhbGwgdGhlIHgxMSB0aGluZ3MuCgoyMDE0LTAxLTA2IDIyOjEzOjIxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc25kZmlsZTogc2VuZCBhIHRvYyBmb3IgdGhlIHNlZ21lbnRzIGluIHRoZSBhdWRpbyBmaWxlCgoyMDE0LTA0LTI5IDE1OjA2OjAwICswMDAwICBIYWFrb24gU3BvcnNoZWltIChpZWVpKSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVucmVmL3JlcGxhY2UgZm9yY2Vfa2V5X3VuaXRfZXZlbnQgaW4gZ3N0X2gyNjRfcGFyc2VfcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTIwMAoKMjAxNC0wNC0yOSAyMjoxODoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL3NkbCBleGFtcGxlOiBGaXggdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTQtMDQtMjMgMjA6Mjk6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IFJlZHVjZSBub2lzeSBJbmZvIGxldmVsIG91dHB1dCB0byBMT0cKCjIwMTQtMDQtMjkgMTg6MzI6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXMvc2RsOiB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgZ3N0Z2wgY2hhbmdlcwoKMjAxNC0wNC0yOSAxNjozODo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jYnA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9tYWluLm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvY3ViZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L2N1YmV5dXYudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9kb3VibGVjdWJlLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2dlbmVyaWMuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9yZWNvcmRncmFwaGljLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvZmlsdGVybm92aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9maWx0ZXJ2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L2d0a3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9waXhidWZkcm9wL3BpeGJ1ZmRyb3AudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvc3dpdGNodmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9Bc3luY1F1ZXVlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2NvY29hX3V0aWxzLm1tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0RlYnVnL3ZpZGVvb3ZlcmxheToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvdmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbC5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUudmNwcm9qOgoJICBnbC9leGFtcGxlczogbW92ZSB0byAtYmFkCgkgIC0gZml4IGFsbCB0aGUgY29tcGlsZXIgZXJyb3JzCgkgIC0gZ2l2ZSB0aGVtIHRoZWlyIG93biBnbCBkaXJlY3RvcnkKCjIwMTQtMDQtMjggMTU6NTY6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLnBjLmluOgoJICBlZ2w6IHJlbW92ZSBwYyBmaWxlcwoJICBGb3Jnb3QgdG8gZG8gdGhhdCBpbiAwOTExNmJmMTBkNTE1ZDUwYmRkMWU5YTIwMjc4YmU4MTZjYjc2MmFhOgoJICAiZWdsL2VnbGdsZXNzaW5rOiByZW1vdmUgc2luY2UgRUdMSW1hZ2UgYW5kIGlPUyBzdXBwb3J0IGhhdmUgYmVlbiBhZGRlZCBpbiBnbGltYWdlc2luayIKCjIwMTQtMDQtMjggMTU6NTI6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgZ2w6IGFwcGVuZCBHTF9MSUIgYW5kIEdMX0NGTEFHUyBpbiBwYyBmaWxlcwoKMjAxNC0wNC0yOCAxNTo0NzoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhcHBlbmQgRUdMX0xJQiB0byBHTF9MSUIKCjIwMTQtMDQtMjggMTU6MTU6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IHVzZSBnc3RfZ2xfcGxhdGZvcm1fZnJvbV9zdHJpbmcgYmVjYXVzZSB3ZSBzdXBwb3J0IGdsIHNoYXJlTGlzdCBvbiBhbGwgcGxhdGZvcm1zCgoyMDE0LTA0LTI4IDE1OjA3OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogb25seSB3YXJuIHdoZW4gb3RoZXJfY29udGV4dCBhdHRyaWJ1dGUgaXMgc2V0CgkgIEZpeCBmYWxzZSBwb3NpdGl2ZQoKMjAxNC0wNC0yOCAxNDo1NDoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeCBzdHJpbmcgbGl0ZXJhbCB3YXJuaW5nCgkgIHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCwgYXJndW1lbnQgdHlwZXMgbm90IGNoZWNrZWQgWy1XZm9ybWF0LW5vbmxpdGVyYWxdCgoyMDE0LTA0LTI4IDEwOjEyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBVbnNldCByZWZlcmVyIGlmIG5vbmUgd2FzIHNwZWNpZmllZCBsYXRlciBvbgoKMjAxNC0wNC0yOCAwOTozMjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU2V0IFJlZmVyZXIgaW4gcmVxdWVzdHMgdG8gdGhlIHBsYXlsaXN0IFVSSQoKMjAxNC0wNC0yOCAwOToyMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgQVBJIHRvIHNwZWNpZnkgdGhlIHJlZmVyZXIgb2YgYSByZXF1ZXN0CgoyMDE0LTA0LTI3IDIzOjI5OjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGFyc2luZyBvZiBzbGljZSBncm91cHMgZm9yIG1hcCB0eXBlID0gMi4KCSAgV2hlbiBwYXJzaW5nIHNsaWNlIGdyb3VwcyBpbmZvcm1hdGlvbiBmb3Igc2xpY2VfZ3JvdXBfbWFwX3R5cGUgPSAyLCB3ZQoJICBzaG91bGQgb25seSBiZSByZWFkaW5nIHVwIHRvIG51bV9zbGljZV9ncm91cHNfbWludXMxIGdyb3VwcyBzaW5jZSB0aGVyZQoJICBpcyBhbHdheXMgYSAibGVmdG92ZXIiIHNsaWNlIGdyb3VwIGFuZCBhcyBtYW55ICJmb3JlZ3JvdW5kIiBzbGljZSBncm91cHMKCSAgYXMgbmVlZGVkLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgZm9yIFNWQ0JNVC01IGFuZCBTVkNCTVQtMTIgd2hlcmVieSB0aGUgYmFzZSBsYXllciB3b3VsZAoJICBoYXZlIGluY29ycmVjdGx5IGJlZW4gcGFyc2VkIHRvIGhhdmUgdXAgdG8gMzggcmVmZXJlbmNlIGZyYW1lcyBpbiBsaXN0MCwKCSAgd2hpY2ggaXMgbm90IHBvc3NpYmxlLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTI3IDA5OjI1OjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBEb24ndCBmYWlsIGlmIEhXIGRvZXMgbm90IGhhdmUgYWxsIGludGVyZmFjZXMKCSAgVGhpcyBwYXRjaCBjb21wbGV0ZXMgMWMxY2M3M2EzYjIzMDQ1NDY2Mzk3MTY1NjUxNTI5N2Y5ZWU4YmQ5Zi4gVGhlc2UKCSAgY2hhbmdlcyB3aGVyZSBhY2NpZGVudGFsbHkgcHVzaGVkIGFzIGEgc2VwYXJhdGUgcGF0Y2ggd2l0aCB3cm9uZyBjb21taXQKCSAgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMKCjIwMTQtMDQtMjcgMTM6MDk6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBSZXZlcnQgInk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjgzMDliZDIxNTkyYTk2ZGM4MjQxNzAyZjE3ZGVkNGU1ZjU0NWYzMy4KCSAgQ29tbWl0IG1lc3NhZ2UgYW5kIGZpbGVzIGNoYW5nZWQgZG8gbm90IG1hdGNoLgoKMjAxNC0wNC0yNyAwMDozNjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIGRvY3M6IHJlbW92ZSBvdXRkYXRlZCBhbmQgcG9pbnRsZXNzICdMYXN0IHJldmlld2VkJyBsaW5lcyBmcm9tIGRvY3MKCSAgVGhleSBhcmUgdmVyeSBjb25mdXNpbmcgZm9yIHBlb3BsZSwgYW5kIG1vcmUgb2Z0ZW4gdGhhbiBub3QKCSAgYWxzbyBqdXN0IG5vdCB2ZXJ5IGFjY3VyYXRlLiBTZWVpbmcgJ2xhc3QgcmV2aWV3ZWQ6IDIwMDUnIGluCgkgIHlvdXIgZG9jcyBpcyBub3QgdmVyeSBjb25maWRlbmNlLWluc3BpcmluZy4gTGV0J3MganVzdCByZW1vdmUKCSAgdGhvc2UgY29tbWVudHMuCgoyMDE0LTA0LTI2IDA4OjA4OjU3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZGVyaXZhdGlvbiBvZiBkZWZhdWx0IHNjYWxpbmcgbGlzdHMuCgkgIFdoZW4gdXNlRGVmYXVsdFNjYWxpbmdNYXRyaXhGbGFnIGlzIGNvbXB1dGVkIHRvIGJlIDEgd2hpbGUgcGFyc2luZwoJICBzY2FsaW5nX2xpc3QoKSwgdGhlbiB0aGUgc2NhbGluZyBsaXN0IHNoYWxsIGJlIGluZmVycmVkIHRvIGJlIGVxdWFsCgkgIHRvIHRoZSBkZWZhdWx0IGxpc3QgKDcuNC4yLjEuMS4xKS4gVGhhdCBkZWZhdWx0IGxpc3QgaXMgcmVhbGx5IG9uZQoJICBvZiBEZWZhdWx0XzR4NF97SW50cmEsSW50ZXJ9IG9yIERlZmF1bHRfOHg4X3tJbnRyYSxJbnRlcn0gYW5kIG5vdAoJICBvbmUgZnJvbSBmYWxsLWJhY2sgcnVsZSBzZXRzIEEgb3IgQi4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBGUkV4dDFfUGFuYXNvbmljX0QsIEZSRXh0Ml9QYW5hc29uaWNfQywKCSAgRlJFeHQzX1BhbmFzb25pY19FIGFuZCBGUkV4dDRfUGFuYXNvbmljX0IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ1MTgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0xNiAwMTo1MDoxNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybCpzaW5rOiByZXBvcnQgZXJyb3JzIGZyb20gY3VybCB3aGVuIHNldHRpbmcgb3B0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTE1IDIzOjUzOjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmwqc2luazogcG9zdCBlcnJvciBvbiBidXMgaW4gZWxlbWVudCwgbm90IHRyYW5zZmVyIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTIyIDIyOjI2OjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsaHR0cHNpbms6IGFsbG93IGZvciB1bmNvbmRpdGlvbmFsbHkgZGlzYWJsaW5nIHByb3h5aW5nCgkgIFByZXZpb3VzbHkgaWYgdGhlIHByb3h5IHNlcnZlciBob3N0bmFtZSB3YXMgdGhlIGVtcHR5IHN0cmluZwoJICBjdXJsaHR0cHNpbmsgd291bGQgbmV2ZXIgZXZlbiBzZXQgdGhlIGxpYmN1cmwgb3B0aW9uLiBGb3IgbGliY3VybAoJICBob3dldmVyLCBoYXZpbmcgYSBwcm94eSBzZXJ2ZXIgaG9zdG5hbWUgYmUgdGhlIGVtcHR5IHN0cmluZyBtZWFucyB0aGF0CgkgIHByb3h5aW5nIHNob3VsZCBiZSBkaXNhYmxlZCBldmVuIGlmIGVudmlyb25tZW50IHZhcmlhYmxlcyBtaWdodCBiZSBzZXQuCgkgIE5vdyB3aXRoIHRoZSByZXN0cmljdGlvbiBsaWZ0ZWQsIGRvaW5nIHRoaXMgaXMgYWxsb3dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjo1NiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGh0dHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSAgY3VybCpzaW5rOiBpbXByb3ZlIHJldHVybiB2YWx1ZSBjaGVja3MgaW4gdGVzdCBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTIyIDIyOjI2OjEyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybCpzaW5rOiBmaXggdHlwb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0xNiAwMTo1MDowMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmwqc2luazogZml4IHNvbWUgZ3N0LWluZGVudCBwcm9ibGVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTI1IDE2OjE4OjA3IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbDogY2hlY2sgdGhlIGNvcnJlY3QgR3N0R0xNZW1vcnkgaW4gYmFzaWNfdGVzdAoKMjAxNC0wNC0yNSAxNzo0MDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogT25seSByZXF1aXJlIGFsaWdubWVudCBhbmQgc3RyZWFtLWZvcm1hdCBmb3IgaDI2NCwgcGFyc2VkIGlzIGltcGxpY2l0CgoyMDE0LTA0LTI1IDE0OjQxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTZXQgc291cmNlIHN0YXRlIHRvIE5VTEwgaWYgZG93bmxvYWRpbmcgZmFpbGVkIGZvciB3aGF0ZXZlciByZWFzb24KCjIwMTQtMDQtMjQgMTM6NTk6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDQtMjQgMTg6MzM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBnbC94MTE6IEdldCByaWQgb2YgdW5uZWVkZWQgc2Vjb25kIGRpc3BsYXkgY29ubmVjdGlvbiBhbmQgZG8gZXZlcnl0aGluZyBmcm9tIHRoZSBtYWluIGxvb3AKCjIwMTQtMDQtMjQgMTg6Mjg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IEJsb2NrIHJlbmRlcmluZyB1bnRpbCBzd2FwYnVmZmVycyBpcyBjYWxsZWQgYW5kIGRvbid0IGdvIHZpYSBYMTEgZXZlbnRzIGFzIHVubmVlZGVkIGluZGlyZWN0aW9uCgkgIFRoaXMgc2hvdWxkIGZpeCBRb1MgcHJvYmxlbXMsIHdoZXJlIGJhc2VzaW5rIGJlbGlldmVkIGl0IHdhcyByZW5kZXJpbmcgd2l0aAoJICAyMEZQUyBidXQgYWN0dWFsbHkgd2Ugd2VyZSBqdXN0IHF1ZXVlaW5nIHVwIFgxMSBFeHBvc2UgZXZlbnRzIGFuZCBvbmx5IG9uY2UKCSAgaW4gYSB3aGlsZSBzb21ldGhpbmcgd2FzIHJlbmRlcmVkLgoKMjAxNC0wNC0yNCAxNjowNTozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGZhaWxzIGdsaW1hZ2VzaW5rIHdoZW4gc2hhZGVyIGNvbXBpbGF0aW9uIHdlbnQgd3JvbmcKCSAgVGhvc2Ugc2hhZGVycyBhcmUgZml4ZWQgYW5kIHZlcnkgc2ltcGxlIHNvIGl0IHNob3VsZCBub3QgZmFpbAoJICBidXQgaXQncyB3b3J0aCB0byBoYW5kbGUgYSBzdWNoIGNhc2UuCgoyMDE0LTA0LTI0IDE1OjM2OjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogY2FsbCBnbENsZWFyQ29sb3IgYmVmb3JlIGdsQ2xlYXIKCjIwMTQtMDQtMjQgMTY6MzM6NTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogZml4IGdzdHJlYW1lci1nbCB1bmluc3RhbGxlZAoJICBFbnN1cmUgdG8gcHJvdmlkZSBsaWJnc3RnbCBhbHNvIGluIHRoZSB1bmluc3RhbGxlZCBzZXR1cC4KCSAgRml4ZXMgYnVpbGQgb2YgZ3N0LW9teCBmb3IgUlBJIGluIHVuaW5zdGFsbGVkIHNldHVwLgoKMjAxNC0wNC0yNCAxNToxNzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3JwaTogZG8gbm90IHNjYWxlIHRvIGZ1bGwgc2NyZWVuCgkgIEhhdmluZyBhIDY0MHgzNjAgbW92aWUgYmVpbmcgc2NhbGVkIHRvIDE5MDB4MTIwMCBkb2VzIG5vdCBsb29rIG5pY2UKCjIwMTQtMDQtMjQgMTQ6NTA6NTcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGNoYW5nZSBkaXNwbWFueCBhdHRyaWJ1dGVzIG9mIGV4aXN0aW5nIGVsZW1lbnQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUKCSAgSSB3YXMgbHVja3kgdGhhdDoKCSAgZTEgPSB2Y19kaXNwbWFueF9lbGVtZW50X2FkZCAoKQoJICBlZ2xDcmVhdGVXaW5kb3dTdXJmYWNlIChlMSkKCSAgdmNfZGlzcG1hbnhfZWxlbWVudF9yZW1vdmUgKGUxKQoJICBlMiA9IHZjX2Rpc3BtYW54X2VsZW1lbnRfYWRkICgpCgkgIHJlc3VsdGVkIGluIGhhdmluZyBlMiBlcXVhbCB0byBlMS4gQW5kIGFsc28gaGF2aW5nIHRoZSBlZ2wgc3VyZmFjZQoJICB0aGF0IGRvZXMgbm90IGFsbG9jYXRlIGl0cyBidWZmZXJzIGJlZm9yZSB0aGUgZmlyc3QgZHJhdy4KCjIwMTQtMDQtMjQgMTQ6Mzg6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGVuc3VyZSB0aGUgZGlzcG1hbnggZWxlbWVudCB0byBiZSBvcGFxdWUKCSAgU28gdGhhdCB3ZSBlbnN1cmUgaXQgZG9lcyBub3QgZ2V0IGFscGhhIGNvbXBvc2l0ZWQgd2l0aCBvdGhlcgoJICBkaXNwbWFueCBlbGVtZW50cyBsaWtlIHRoZSBkZXNrdG9wLgoKMjAxNC0wNC0xOCAyMDowNDoyNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdmZhc3NldHNyYzogZG93bmdyYWRlIHJhbmsgdG8gU0VDT05EQVJZIGluIE9TIFgKCjIwMTQtMDQtMTggMjA6MDM6NDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhdmZhc3NldHNyYzogcmVuYW1lIHJlZmVyZW5jZXMgdG8gaU9TCgoyMDE0LTA0LTE0IDE5OjA4OjAxICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3NhdmFzc2V0c3JjOiByZW5hbWUgZWxlbWVudCB0byBhdmZhc3NldHNyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDE0LTA0LTAzIDE0OjAyOjE4ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgaW9zYXZhc3NldHNyYzogUG9ydCB0byAxLjAKCSAgQWxzbyBlbmFibGVzIHRoaXMgZWxlbWVudCBvbiBPU1ggPj0gMTAuNy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI0OQoKMjAxMy0wNS0xMSAwMzo0MTozNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBuZXcgc291cmNlL2RlY29kZXIgZWxlbWVudCBmb3IgaU9TIGFzc2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDE0LTA0LTA5IDEwOjU1OjAzICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBjb3JlbWVkaWFidWZmZXI6IGhhbmRsZSBzdHJpZGUgYWxpZ25tZW50CgkgIEhhbmRsZSBzdHJpZGUgYWxpZ25tZW50IHRocm91Z2ggdGhlIHVzZSBvZiB0aGUgdmlkZW8gbWV0YSBBUEkuIFRoZQoJICBjb2RlIGlzIGJhc2VkIG9uIHRoZSBjb3JldmlkZW9idWZmZXIgaW1wbGVtZW50YXRpb24uCgkgIElmIHRoZSB2aWRlbyBtZXRhIEFQSSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB0aGUgdW5kZXJseWluZyBidWZmZXIKCSAgY29udGFpbnMgcGFkZGluZywgdGhlIGNvcmUgbWVkaWEgYnVmZmVyIGlzIGNvcGllZCB0byBhIHN5c3RlbSBtZW1vcnkKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODg1CgoyMDE0LTA0LTA5IDExOjQ3OjEyICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGNoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIHZpZGVvIG1ldGEgQVBJCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIHZpZGVvIG1ldGEgQVBJLCBzbyB3ZSBjYW4gdXNlIGl0IGxhdGVyCgkgIHdpdGggdGhlIGNvcmUgbWVkaWEgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzk1MwoKMjAxNC0wNC0yNCAxMDozNzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IHBhc3MgYSBOU1ZpZXcgdG8gc2V0X3dpbmRvd19oYW5kbGUgaW5zdGVhZCBvZiBhIE5TV2luZG93CgkgIEZpeCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDUxCgoyMDE0LTA0LTI0IDA5OjAzOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogb25seSBkcmF3IG9uY2UgdGhlIHdpbmRvdyBoYXMgYmVlbiByZXNpemVkCgkgIEl0IGF2b2lkcyB0byBkcmF3IHRoZSBmaXJzdCBmcmFtZSB3aXRoIGFuIGluY29ycmVjdCB2aWV3IHBvcnQuCgoyMDE0LTA0LTI0IDA4OjQ5OjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IHNldCB0aGUgdmlldyB0byB1c2UgZm9yIGRyYXdpbmcgYnkgdGhlIGNvbnRleHQKCSAgSXQgYXZvaWRzIHRvIGRyYXcgdG8gYW4gaW52YWxpZCBidWZmZXIuCgkgIFdpdGh0b3V0IHRoaXMgdGhlIGRlZmF1bHQgZnJhbWUgYnVmZmVyIGlzIHVuZGVmaW5lZDoKCSAgZ2xCaW5kRnJhbWVidWZmZXIgKEdMX0ZSQU1FQlVGRkVSLCAwKQoJICBWaXN1YWxseSB5b3UgY291bGQgc2VlIHNvbWUgd2hpdGUgZnJhbWVzIGF0IHRoZSBiZWdpbm5pbmcKCSAgd2hlbiBsdW5jaGluZyB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBXaXRoIE9wZW5HTCBQcm9maWxlciBmcm9tIFhDb2RlIHlvdSBjb3VsZCBzZWUgc29tZQoJICBHTF9JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiBmb3IgdGhlIGZpcnN0IGZyYW1lcwoKMjAxNC0wNC0yMyAxNDo0MToyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGZpeCBkZWNsYXJhdGlvbi1kZWZpbml0aW9uIG1pc21hdGNoIGZvciBfaW5pdF91cGxvYWQKCjIwMTQtMDQtMjMgMTM6MzQ6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbC9idWZmZXJwb29sOiBkbyBub3QgcmVzZXQgdXBsb2FkIHdoZW4gc2V0X2NvbmZpZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGNhcHMKCSAgV2l0aCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luayBpdCB3YXMgcmVzZXQgMyB0aW1lcwoKMjAxNC0wNC0yMyAxMzozMDoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHVzZSAjaWZkZWYgaW5zdGVhZCBvZiAjaWYgZm9yIF9fQVBQTEVfXwoJICB3YXJuaW5nOiAiX19BUFBMRV9fIiBpcyBub3QgZGVmaW5lZCBbLVd1bmRlZl0KCSAgd2l0aCBnY2MgdmVyc2lvbiA0LjcuMiAyMDEyMDczMSAocHJlcmVsZWFzZSkKCSAgKGNyb3NzdG9vbC1ORyBsaW5hcm8tMS4xMy4xK2J6cjI0NTggLSBMaW5hcm8gR0NDIDIwMTIuMDgpCgoyMDE0LTA0LTIzIDEyOjQyOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFVzZXIgZ19zbGljZV9uZXcwIHRvIGVuc3VyZSBmdWxseSBpbml0aWxpemVkIHN0cnVjdHVyZQoJICBUaGUgcGJvIHBvaW50ZXIgbm90IGJlaW5nIGluaXRpYWxpemVkIHdvdWxkIHRyaWdnZXIgYSB1c2Ugb2YgdW5pdGlsaWFsaXplZCB2YXJpYWJsZQoJICBpbiB2YWxncmluZC4KCjIwMTQtMDMtMjkgMTg6MzQ6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHN1cHBvcnQgZm9yIEhXIHdpdGhvdXQgb3V0cHV0CgkgIERldmljZXMgc3VpdGFibGUgZm9yIGRlY2tsaW5rc3JjIG1heSBub3QgaGF2ZSBhbnkgb3V0cHV0LCBoZW5jZSBxdWVyeWluZwoJICB0aGUgaW5wdXQgcmV0dXJucyBOVUxMLiBBZGQgc3VwcG9ydCBmb3IgYWxsIGNhc2VzIHdoZXJlCgkgIGlucHV0L291dHB1dC9jb25maWcgbWF5IGJlIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDYKCjIwMTQtMDMtMTUgMTU6MTc6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIHk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEKCSAgVGhpcyBlbGVtZW50IG9ubHkgbmVlZCBzdHJpZGUgc3VwcG9ydCwgYnV0IGNoZWNrcyBmb3IgQ1JPUF9NRVRBLCB3aGljaAoJICBpcyBhIGJpdCB0b28gbXVjaCwgZXZlbiB0aG91Z2ggdGhpcyB3b3JrcyBhcyBDUk9QIGltcGx5IGhhdmluZyBWSURFTwoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MjU1CgoyMDE0LTA0LTIzIDExOjEwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBVc2UgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBhZGp1c3RlZCB3aWR0aC9oZWlnaHQgd2hlbiBjZW50ZXJpbmcgdGhlIGZyYW1lIGluIHRoZSBkaXNwbGF5IGFyZWEKCSAgTWFrZXMgc3VyZSB3ZSBhY3R1YWxseSBrZWVwIHRoZSBkaXNwbGF5IGFzcGVjdCByYXRpbwoKMjAxNC0wNC0yMyAxMDo1NTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQnkgZGVmYXVsdCBrZWVwIHRoZSBkaXNwbGF5IGFzcGVjdCByYXRpbwoJICBBbHNvIHRoZSBkZWZhdWx0IGZvciB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIHNob3VsZCBiZSAxLzEsIG5vdCAwLzEuCgoyMDE0LTA0LTIzIDEwOjQyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBGbHVzaCBwcm9ncmFtIGVuZCBjb2RlIGJ5dGVzCgkgIFRoaXMgc2hvdWxkIG5vdCBoYXJtIHJlZ3VsYXIgZmlsZXMsIHNpbmNlIHRob3NlIGFyZSB0aGUgbGFzdCA0IGJ5dGVzIG9mCgkgIGEgbm9ybWFsIGZpbGUuCgkgIFRoaXMgYWxsb3dzIHRvIGhhbmRsZSBwbGF5YmFjayBvZiBjb25jYXRlbmF0ZWQgbXBlZy1wcyBmaWxlcy4gU2Vla2luZyBhbmQKCSAgZHVyYXRpb24gcmVwb3J0aW5nIGlzIHN0aWxsIHdyb25nIHRob3VnaC4KCjIwMTQtMDQtMjMgMTA6Mjc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogVW5yZWYgY29udGV4dCB3aGVuIGNyZWF0aW9uIGZhaWxlZCBhbmQgZ3VhcmQgYWdhaW5zdCB0aGF0IGluIGZpbGwoKQoKMjAxNC0wNC0yMyAxMDoyNDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2FsbCBnc3Rfb2JqZWN0X3VucmVmKCkgb24gdGhlIEdzdEdMIEdPYmplY3RzIGFnYWluCgkgIFdoaWxlIHRoZXkncmUgcGxhaW4gR09iamVjdHMgaXQgZG9lcyBub3QgaHVydCB0byBjYWxsIGdzdF9vYmplY3RfdW5yZWYoKQoJICBvbiB0aGVtIGFuZCBwb3RlbnRpYWxseSBhbGxvd3MgdG8gZGVidWcgcmVmZXJlbmNlIGxlYWtzIGEgYml0IGVhc2llci4KCjIwMTQtMDQtMjMgMTA6MDA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IElmIGNyZWF0aW5nIGEgY29udGV4dCBvciB1cGxvYWQgZmFpbGVkLCBkZXN0cm95IGl0CgkgIEZpeGVzIGRlYWRsb2NrcyBpbiBlcnJvciBjYXNlcyB3aGVuIGxhdGVyIGNvZGUgYXNzdW1lcyB0aGUgYnJva2VuCgkgIGNvbnRleHQgaXMgYWN0dWFsbHkgdXNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzYxCgoyMDE0LTA0LTIyIDEyOjU2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc2ltcGxpZnkgaWYgc3RhdGVtZW50CgkgIENJRCAxMjA0Mjc0CgoyMDE0LTA0LTIxIDEzOjE1OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IGZpeCBNUDIgY2FzZQoJICBUZXN0aW5nIG1wZWd2ZXJzaW9uIHdoZW4gbXBlZ2F1ZGlvdmVyc2lvbiB3YXMgbGlrZWx5IG1lYW50LgoJICBTaW1pbGFyIHRlc3RzIGluIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYyBhbHNvIHRlc3QKCSAgbXBlZ2F1ZGlvdmVyc2lvbiB3aXRoIHRoZSBzYW1lIGNvbmRpdGlvbmFsIGNvZGUuCgkgIENvdmVyaXR5IDIwNjA3MQoKMjAxNC0wNC0yMSAxMDozNjo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBndWFyZCBhZ2FpbnN0IGRpdmlkaW5nIGJ5IHplcm8KCSAgSWYgZnJhbWVyYXRlIGlzIHVua25vd24sIHdlIHdyaXRlIHRoZSBtYXhpbXVtIGZyYW1lcmF0ZQoJICBhbGxvd2VkIGZvciB0aGlzIHByb2ZpbGUvbGV2ZWw6CgkgIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLWF2dC1ydHAtdmMxLTA2I3NlY3Rpb24tNi4xCgkgIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPVZDLTEjU2V0dXBfRGF0YV8uMkZfU2VxdWVuY2VfTGF5ZXIKCSAgQ292ZXJpdHkgMTEzOTY5NAoKMjAxNC0wNC0yMSAxMDowNzowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IGd1YXJkIGFnYWluc3QgZGl2aWRpbmcgYnkgMAoJICBVc2UgYSBwbGFjZWhvbGRlciB2YWx1ZSBpbiB0aGF0IGNhc2UsIGl0J3MgYmV0dGVyIHRoYW4gY3Jhc2hpbmcuCgkgIENvdmVyaXR5IDExMzk2OTcKCjIwMTQtMDQtMjEgMDk6NTE6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBhIGNvdXBsZSBzcGVsbGluZy9ncmFtbWFyIGZpeGVzCgoyMDE0LTA0LTIxIDA5OjUwOjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogZ3VhcmQgYWdhaW5zdCB1c2luZyBhIE5VTEwgd2luZG93IHBvaW50ZXIKCSAgQ292ZXJpdHkgMTE5NTE0NQoKMjAxNC0wNC0yMSAwOTo0NzowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IHByZXZlbnQgZGl2aXNpb24gYnkgMCBvbiB1bnN1cHBvcnRlZCB0ZXh0dXJlIHR5cGUKCSAgQ292ZXJpdHkgMTE5OTY5NwoKMjAxNC0wNC0yMSAyMjowMTo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBidDcwOSBjb252ZXJzaW9uIG1hdHJpY2VzLgoJICBGaXggdGhlIHNpZ24gb24gb25lIGVudHJ5IGluIHRoZSBidC43MDkgWVVWLT5SR0IgY29udmVyc2lvbgoJICBtYXRyaXgsIGFuZCB0aGUgY29ycmVzcG9uZGluZyBpbnZlcnNlIG1hdHJpeC4gRml4ZXMgcmVhbGx5CgkgIHdyb25nIGNvbG91cmluZyBvZiBzb21lIHZpZGVvcy4KCjIwMTQtMDQtMTcgMDk6NTg6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCB0ZXN0IGZvciBwcm9wZXIgdXNlIGNvdW50IGJhbGFuY2luZwoJICB1c2Vjb3VudCBpcyB1bnNpZ25lZCwgc28gdG9vIG1hbnkgInVudXNlIiB3aWxsIHdyYXAgdGhlIGNvdW50ZXIKCSAgYXJvdW5kIGFuZCB0aGUgPj0gMCBjaGVjayB3aWxsIGFsd2F5cyBiZSBmaW5lLgoJICBJdCB3b3VsZCBiZSBtdWNoIHNpbXBsZXIgdG8ganVzdCBtYWtlIHRoZSBjb3VudGVyIHNpZ25lZCwgYnV0CgkgIG1vdmluZyB0aGUgY2hlY2tzIHdoZXJlIHRoZSBkZWNyZW1lbnRzIGhhcHBlbiBhbGxvdyBhIG1pc3Rha2UKCSAgdG8gYmUgZGV0ZWN0ZWQgZWFybGllciwgYW5kIHRodXMgZWFzaWVyIHRvIGRlYnVnLgoJICBDb3Zlcml0eSAxMTM5NzkxCgoyMDE0LTA0LTE3IDA5OjM1OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGd1YXJkIGFnYWluc3QgTlVMTCBub24gc291cmNlIGNvbXBvbmVudHMKCSAgVGhpcyBjb21wb25lbnQgaXMgZGVyZWZlcmVuY2VkLCBhbmQgbGF0ZXIgY29kZSBjaGVja2luZyBmb3IKCSAgTlVMTCBpbiBwYXJ0aWN1bGFyIGNhc2VzIGltcGxpZXMgaXQgY2FuIGJlIE5VTEwuIFRoaXMgbGlrZWx5CgkgIGRvZXMgbm90IGZpeCB0aGUgY292ZXJpdHkgd2FybmluZyBhcyBpdCB3YXMgc2VlaW5nIGFub3RoZXIKCSAgcGF0aCBzZXR0aW5nIGNvbXBvbmVudCB0byBOVUxMIGV4cGxpY2l0ZWx5LCBidXQgdGhpcyB3YXMKCSAgc3BvdHRlZCBieSBsb29raW5nIGF0OgoJICBDb3Zlcml0eSAxMTM5NzM2CgkgIFdoaWNoIGlzIGFjdHVhbGx5IE9LIGZyb20gd2hhdCBJIGNhbiBzZWUgc2luY2UgdGhlIGFjdHVhbAoJICBkZXJlZmVyZW5jZSBvZiB0aGUgZXhwbGljaXQgTlVMTCBwb2ludGVyIHdpbGwgbm90IGhhcHBlbgoJICBpZiB0aGUgY29uZGl0aW9uIHRoYXQgbGVkIHRvIHRoZSBOVUxMIHBvaW50ZXIgYXNzaWdubWVudAoJICBpcyBtZXQsIHNpbmNlIHRoZSBhc3NpZ25tZW50IGFuZCBkZWZlZmVyZW5jZSBoYXZlIG11dHVhbGx5CgkgIGV4Y2x1c2l2ZSB0ZXN0cy4KCjIwMTQtMDQtMTcgMDk6MjY6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGNhdGNoIGVycm9ycyBpbiBjYXBzIG1hbmlwdWxhdGlvbgoJICBDb3Zlcml0eSAxMTM5NjIyCgoyMDE0LTA0LTE4IDIwOjEyOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBjb21wbGllciBlcnJvciB1c2luZyBmaXhlZCBsZW5naHQgYXJyYXlzCgoyMDE0LTA0LTE4IDE4OjEyOjM2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBkZXRlY3QgYW5kIHByb3BhZ2F0ZSByZXNvbHV0aW9uIGNoYW5nZXMuCgkgIERldGVjdCByZXNvbHV0aW9uIGNoYW5nZXMgb24ga2V5IGZyYW1lcywgYW5kIHByb3BhZ2F0ZSB0aGUgcmVzdWx0aW5nCgkgIGNhcHMgdG8gdGhlIHNyYyBwYWQuIE9ubHkgdGhlIHVuY29tcHJlc3NlZCBkYXRhIGNodW5rIGlzIGRlY29kZWQsIHNvCgkgIGF2b2lkIHVzaW5nIHRoZSBuZXcgVlA4IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkgZm9yIG5vdy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0xOCAxNzozNDowOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogYXZvaWQgcG9zc2libGUgZGl2aXNpb24tYnktemVybyB3aGVuIGNhbGN1bGF0aW5nIFBUUy4KCSAgQXZvaWQgcG9zc2libGUgZGl2aXNpb24tYnktemVybyB3aGlsZSBkZXJpdmluZyB0aGUgcHJlc2VudGF0aW9uIHRpbWVzdGFtcAoJICBvZiB0aGUgYnVmZmVyLiBUaGUgYmFzZSBjbGFzcyB3aWxsIHRha2UgY2FyZSBvZiBhbnkgaW50ZXJwb2xhdGlvbiBuZWVkcy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0xMC0yNSAwNzozODo1MyArMDgwMCAgSGFsbGV5IFpoYW8gPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaXZmcGFyc2U6IGVuYWJsZSBidWlsZC4KCSAgRHJvcCBgaXZmcGFyc2UnIGVsZW1lbnQgZnJvbSB0aGUgbm9uLXBvcnRlZCBzZXQgb2YgcGx1Z2lucyBpbiBjb25maWd1cmUuCgoyMDE0LTAzLTA0IDE1OjQ2OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg1NQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAxLTI0IDA4OjM3OjE2ICswODAwICBaaGFvLCBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92cDhwYXJzZXItdGVzdC5jOgoJICB0ZXN0czogYWRkIHN0YW5kYWxvbmUgcHJvZ3JhbSBmb3IgVlA4IHBhcnNlci4KCSAgQWRkIHN0YW5kYWxvbmUgdGVzdCBhcHBsaWNhdGlvbiB0aGF0IGRlbW9uc3RyYXRlcyBob3cgdG8gdXNlIHRoZSBuZXcKCSAgVlA4IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnksIHdoaWxlIGFsc28gYWxsb3dpbmcgc2ltcGxlIGRlYnVnZ2luZy8KCSAgdHJhY2luZyBvZiBJVkYgZmlsZXMuCgkgIFtjbGVhbi11cHMsIHVwZGF0ZWQgdG8gbmV3IHBhcnNlciBBUEldCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMDggMDI6NDk6MDAgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvdnA4cGFyc2VyLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgVlA4IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkuCgkgIFt1cGRhdGVkIHRvIG5ldyBwYXJzZXIgQVBJXQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTA5IDA5OjIyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiB2cDg6IHJlbmFtZSBkYm9vbGh1ZmYgc3ltYm9scy4KCSAgUmVuYW1lIFZQOCBkYm9vbGh1ZmYgc3ltYm9scyBzbyB0aGF0IHRvIGF2b2lkIGNsYXNoZXMgd2l0aCBsaWJ2cHggd2hlbgoJICBzdGF0aWMgbGlua2luZy4KCjIwMTQtMDQtMDggMTA6MzA6MDkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLkFVVEhPUlM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLlBBVEVOVFM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA4dXRpbHMuYzoKCSAgY29kZWNwYXJzZXJzOiB2cDg6IGFkZCBHU3RyZWFtZXIgbmF0aXZlIHV0aWxpdGllcy4KCSAgSW1wb3J0IGxpYnZweCAxLjMuMCByYW5nZSBkZWNvZGVyIGZpbGVzIChkYm9vbGh1ZmYuW2NoXSkgdG8gaW1wbGVtZW50CgkgIHRoZSBWUDggdXRpbGl0aWVzIG5hdGl2ZSBpbnRlcmZhY2UuIExpa2V3aXNlLCBjb3B5IGFuZCB1c2UgdGhlIGRlZmF1bHQKCSAgbGlidnB4IGdlbmVyYXRlZCBlbnRyb3B5IHByb2JhYmlsaXRpZXMgdGFibGVzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAxLTA4IDAyOjQ5OjAwICswODAwICBaaGFvLCBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA4dXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgVlA4IGJpdHN0cmVhbSBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI3NjAKCSAgW3JlZmFjdG9yZWQsIGFtb25nIG90aGVyIGZpeGVzXQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE4IDE2OjIzOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSW1wcm92ZSB0c190b19vZmZzZXQgY29kZQoJICAqIFNlYXJjaCBpbiBjdXJyZW50IHBlbmRpbmcgdmFsdWVzIGZpcnN0LiBGb3IgQ0JSIHN0cmVhbXMgd2UgY2FuIHZlcnkKCSAgZWFzaWx5IGVuZCB1cCBoYXZpbmcganVzdCBvbmUgaW5pdGlhbCBvYnNlcnZhdGlvbnMgYW5kIHRoZW4gbm90aGluZwoJICBlbHNlIChzaW5jZSB0aGUgYml0cmF0ZSBkb2Vzbid0IGNoYW5nZSkuCgkgICogVXNlIG9uZSBncm91cCB3aGV0aGVyIHdlIGFyZSBpbiB0aGF0IGdyb3VwICpPUiogaWYgdGhlcmUgaXMgb25seQoJICBvbmUgZ3JvdXAuCgkgICogSWYgdGhlIGdyb3VwIHRvIHVzZSBpc24ndCBjbG9zZWQgKHBvaW50cyBhcmUgYmVpbmcgYWNjdW11bGF0ZWQgaW4gdGhlCgkgIFBDUk9mZnNldEN1cnJlbnQpLCB1c2UgdGhlIGxhdGVzdCBkYXRhIGF2YWlsYWJsZSBmb3IgY2FsY3VsYXRpb24KCSAgKiBJZiBpbiB0aGUgdW5saWtlbHluZXNzIHRoYXQgYWxsIG9mIHRoaXMgKnN0aWxsKiBkaWRuJ3QgcHJvZHVjZSBtb3JlCgkgIHRoYW4gb25lIGRhdGEgcG9pbnQsIGp1c3QgcmV0dXJuIHRoZSBpbml0aWFsIG9mZnNldAoKMjAxNC0wNC0xOCAxNjoyMDozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICB0c2RlbXV4OiBGaXggc2NhbGluZyBtYWNyb3MKCSAgV2hpbGUgdGhlIGNhbGN1bGF0aW9uIGRvbmUgaW4gdGhlc2UgbWFjcm9zIHdpbGwgd29yayB3aXRoIDY0Yml0CgkgIGludGVnZXJzLCB0aGV5IHdpbGwgZmFpbCBpZiB3b3JraW5nIHdpdGggMzJiaXQgaW50ZWdlcnMuCgkgIEZvcmNlIHRoZSBzY2FsaW5nIHVwIHRvIHNvbHZlIHRoYXQuCgkgIFRoaXMgYW1hemluZ2x5IGRpZG4ndCBpbnRyb2R1Y2UgbWFqb3IgaXNzdWVzIHVwIHRvIG5vdywgYnV0IHJlc3VsdGVkCgkgIGluIGJvZ3VzIHZhbHVlcyBpbiBkZWJ1ZyBsb2dzLgoKMjAxNC0wNC0xOCAxNjoxODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGhhcmQtZmx1c2ggdGhlIHBhY2tldGl6ZXIgb24gZGlzY29udCBidWZmZXJzCgkgIERvaW5nIGEgaGFyZCBmbHVzaCBvbiB0aGUgcGFja2V0aXplciB3aWxsIGRyb3AgYWxsIG9ic2VydmF0aW9ucywgd2hpY2gKCSAgd2lsbCBldmVudHVhbGx5IGJyZWFrIHB1c2gtYmFzZWQgc2Vla2luZyAod2l0aCBCWVRFUyBzZWdtZW50KSBzaW5jZQoJICB3ZSB3b24ndCBrbm93IHdoZXJlIHRvIHNlZWsgdG8gYW55bW9yZSAobmV3IGRhdGEgd291bGQgYWx3YXlzIGJlCgkgIGNvbnNpZGVyZWQgYXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtKS4KCjIwMTQtMDQtMTYgMTY6MjU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGNvcHkvcGFzdGUgZXJyb3IKCSAgV2Ugd2FudCB0byBjaGVjayB3aGV0aGVyIHRoZSByYXRlIGlzIGRpZmZlcmVudC4gV2UgY2hlY2sgY2hhbmdlcyBpbgoJICBudW1lcmF0b3IgKmFuZCogZGVub21pbmF0b3IuCgkgIENJRCAjMTEzOTYzMQoJICBDSUQgIzExMzk2NDIKCjIwMTQtMDQtMTYgMTY6MTk6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEhhbmRsZSBmcmFjdGlvbiBwYXJzaW5nIGZhaWx1cmUKCSAgQW5kIHByb3Blcmx5IGNsZWFudXAvcmVzZXQgdGhlIHNlZ21lbnQgYmVmb3JlIHJldHVybmluZyBvbiBlcnJvcnMKCSAgQ0lEICMyMDYwMTIKCjIwMTQtMDQtMTYgMTY6MTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFJlbW92ZSB1c2VsZXNzIGNoZWNrCgkgIGEgZ3VpbnQgd2lsbCBhbHdheXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgbWF4aW11bSB2YWx1ZSBpdCBjYW4KCSAgY29udGFpbgoJICBDSUQgIzIwNjA0OQoKMjAxNC0wNC0wOSAxMjoyNzoxNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogYXZvaWQgZGVyZWZlcmVuY2luZyBOVUxMIG1hcHBpbmcgZGF0YSBwb2ludGVyCgkgIEFsc28gdW5yZWYgYnVmZmVycyBvbiBlcnJvciwgYXMgaXQgc2VlbXMgdG8gYmUgZG9uZSBpbiBvbmUsIGJ1dAoJICBub3QgYWxsLCBlcnJvciBwYXRocy4KCSAgVGhlIE5VTEwgcG9pbnRlciBwYXJ0IGlzIENvdmVyaXR5IDIwNjExMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODg5CgoyMDE0LTA0LTE2IDE2OjA3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBGaXggaWYoKSBjaGVjawoJICBpbnRyb2R1Y2VkIGJ5IG15IHByZXZpb3VzIGNvbW1pdCA6KAoKMjAxNC0wNC0xNiAxNTo0MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGV0ZWN0IEVHTCBoZWFkZXIgcHJlc2VuY2UKCSAgRml4ZXMgdGhlIGJ1aWxkIGZvciBBbmRyb2lkLCBhbmQgSSBzdXNwZWN0IGZvciBvdGhlciBzeXN0ZW1zIHRvby4uLgoKMjAxNC0wNC0xNiAxNTozNzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSAgZHZiL2NhbXNlc3Npb246IERvbid0IGRvIG9wZXJhdGlvbnMgb24gdW5leGlzdGluZyBzZXNzaW9ucwoJICBDSUQgIzIwNjExNAoKMjAxNC0wNC0xNiAxNTozMjozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogSGFuZGxlIHNvY2tldCgpIGZhaWx1cmUKCSAgQ0lEICMyMDYxNzgKCjIwMTQtMDQtMTYgMTU6MjM6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBIYW5kbGUgZmFpbHVyZSB0byBnZXQgc3RhdGlzdGljcyBmcm9tIHRoZSBkZXZpY2UKCSAgQ2hlY2sgdGhlIGlvY3RsIHJldHVybiB2YWx1ZSBhbmQgZG9uJ3Qgb3V0cHV0IGJvZ3VzIHZhbHVlcy4KCSAgQ0lEICMyMDYwMTYKCjIwMTQtMDQtMTYgMTU6MTg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCBjbG9zZSBhIGZkIHRoYXQgd2Fzbid0IG9wZW4KCSAgV2UgYXJlIGhhbmRsaW5nIHRoZSBmYWlsdXJlIGNhc2VzIGluIHRoaXMgYmxvY2sgd2hlcmUgdGhlIG9wZW4gZmFpbGVkCgkgIENJRCAjMjA2MTc5CgoyMDE0LTA0LTE2IDE1OjE3OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgdHJ5IHRvIGFjY2VzcyBOVUxMIHN0cmluZwoJICBBbmQgcmVmYWN0b3IgdGhlIHBpZCBzZXR0aW5nIGNvZGUgdG8gYmUgaW4gaXRzIG93biBmdW5jdGlvbiBmb3IgY2xhcml0eQoJICBDSUQgIzIwNjM3NAoKMjAxNC0wNC0xMCAxNjowNDoyMSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBkdmIgY2EgaWRlbnRpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDM6MDcgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc2NyYW1ibGluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDI6MDkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTYwCgoyMDE0LTA0LTEwIDE2OjAwOjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGRhdGEgYnJvYWRjYXN0IGlkIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xMCAxNTo1OTo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBwcml2YXRlIGRhdGEgc3BlY2lmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xNiAwOToyMDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2YjogTWlub3IgY29kZSBzdHlsZSBmaXgKCjIwMTQtMDQtMTAgMTU6NTg6NTUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgcGFyZW50aWFsIHJhdGluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTAgMTU6NTg6MDQgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbGlua2FnZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTYgMDA6MjU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmb3IgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM5OSBtb2RlCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAxNC0wNC0xNSAyMDo0Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBlZ2w6IEFkZCBsaWJnc3RlZ2wgYW5kIGVnbGdsZXMgcGx1Z2luIHRvIHRoZSBDUlVGVCBkaXJlY3RvcmllcwoKMjAxNC0wNC0xNSAxNzo1ODozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9BbmRyb2lkLm1rOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvVE9ETzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZWdsL2VnbGdsZXNzaW5rOiByZW1vdmUgc2luY2UgRUdMSW1hZ2UgYW5kIGlPUyBzdXBwb3J0IGhhdmUgYmVlbiBhZGRlZCBpbiBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjA4OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBnbDogYWxsb3cgdG8gaW5jbHVkZSBHTEVTL2dsLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wNC0xNCAwNzo1NjoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIFdlIHNldCBpdCBqdXN0IGFmdGVyIHZhcmlhYmxlIGRlY2xhcmF0aW9uCgkgIENJRCAjMTE5NzcwOQoKMjAxNC0wNC0xMyAxOToyMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvZWFnbDogRml4IGNvbXBpbGF0aW9uCgoyMDE0LTA0LTEzIDE2OjUzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9lYWdsOiBOb3RpZnkgdGhlIHdpbmRvdydzIHJlc2l6ZSBjYWxsYmFjayBhYm91dCBzdXJmYWNlIGRpbWVuc2lvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMDcKCjIwMTQtMDQtMTMgMTY6NDY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJICBnbC9lYWdsOiBSZW1vdmUgc3B1cmlvdXMgcHJpdmF0ZSBzdHJ1Y3QgcG9pbnRlcgoKMjAxNC0wNC0xMyAxNjo0MDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIGdsL2FuZHJvaWQ6IE5vdGlmeSB0aGUgd2luZG93J3MgcmVzaXplIGNhbGxiYWNrIGFib3V0IHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEwNwoKMjAxNC0wNC0xMyAyMjoxNjo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW51c2VkIHRleHR1cmUKCjIwMTQtMDQtMTMgMjI6MTQ6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogbW92ZSB1cGxvYWQgaW50byBfcHJlcGFyZSgpCgoyMDE0LTA0LTEzIDEzOjQ5OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvY29udGV4dDogb3V0cHV0IGF2YWlsYWJsZSBleHRlbnNpb25zCgoyMDE0LTA0LTEzIDEzOjM5OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbC9jb250ZXh0OiBwcm92aWRlIGdldF9nbF92ZXJzaW9uCgoyMDE0LTA0LTEzIDAwOjIxOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogcmVzdG9yZSB2aWV3cG9ydCBkaW1lbnNpb25zIHdoZW4gZmJvIGRvbmUKCSAgUmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IDk1YWJmZGExMzk5YmNkZGJlZTM0NWQ0NTQyZTg1N2Q3NDM5NjU0NzcuCgkgIEl0IGNhdXNlZCB0byBkaXNwbGF5IHRoZSB3cm9uZyBmcmFtZSBzaXplIHdoZW4gcmVzaXppbmcgdGhlIHdpbmRvdy4KCjIwMTQtMDQtMTIgMjI6NDU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbDogSW1wb3J0IFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oIGZvciBDQUVBR0xMYXllciBvbiBvbGRlciBpT1MgdmVyc2lvbnMKCjIwMTQtMDQtMTIgMjI6MTU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBTZXQgZ2xpbWFnZXNpbmsgcmFuayB0byBTRUNPTkRBUlkKCSAgVGhpcyBpcyBhIGZ1bGwtZmVhdHVyZWQgdmlkZW8gc2luayBub3cgYW5kIGVzcGVjaWFsbHkgc2hvdWxkIGJlCgkgIHVzZWQgaW5zdGVhZCBvZiBvc3h2aWRlb3Npbmsgb24gT1NYIGlmIGF2YWlsYWJsZS4KCjIwMTQtMDQtMTIgMjE6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBBZGQgc3VwcG9ydCBmb3IgaU9TIEVBR0wgcGxhdGZvcm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MQoKMjAxNC0wNC0xMiAxNzozMzo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG1ha2UgZ3N0X2dsX3dpbmRvd19jb2NvYV9zZW5kX21lc3NhZ2VfYXN5bmMgcmUtZW50cmFudAoJICBCYWNrZW5kcyB0aGF0IHVzZSBnX21haW5fY29udGV4dF9pbnZva2UgYXJlIHJlLWVudHJhbnQuCgkgIElsIGFsbG93cyB0byBjYWxsIHR3byBuZXN0ZWQgZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZC4KCSAgZXg6IGluaXRfdXBsb2FkIC8gaW5pdF9jb2xvcmNvbnZlcnQKCjIwMTQtMDQtMTIgMTc6MDE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpcnN0IGhhbmRsZSBHTCB3aW5kb3cgc2V0dXAsIHRoZW4gY3JlYXRlIHRoZSBjb250ZXh0IGFuZCBpdHMgdGhyZWFkCgoyMDE0LTA0LTEyIDE1OjUxOjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IGZpeCBOU0F1dG9yZWxlYXNlUG9vbCBpbml0aWFsaXphdGlvbgoKMjAxNC0wNC0xMiAxMjo0Mjo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZW5zdXJlIHRvIGNhbGwgTlNBcHBsaWNhdGlvbjpzaGFyZWRBcHBsaWNhdGlvbiBpbiB0aGUgbWFpbiB0aHJlYWQKCSAgIihOU0FwcGxpY2F0aW9uICopc2hhcmVkQXBwbGljYXRpb24gVGhpcyBtZXRob2QgYWxzbyBtYWtlcyBhIGNvbm5lY3Rpb24KCSAgdG8gdGhlIHdpbmRvdyBzZXJ2ZXIgYW5kIGNvbXBsZXRlcyBvdGhlciBpbml0aWFsaXphdGlvbiIKCSAgVGhlIGltcGxpY2l0IHRoaW5nIHdoaWNoIGlzIG5vdCBtZW50aW9uZWQgaXMgdGhhdCBpdCByZXF1aXJlZAoJICB0byBiZSBjYWxsZWQgaW4gdGhlIG1haW4gdGhyZWFkLgoJICBGaXggYSByZWdyZXNzaW9uIGludHJvZHVjZXMgYnkgODJiN2M5MTViYjAyYTk3OTBkMjU2ZDU5OTQ1MmU1YTU0YWZkYTYzMwoJICBXaGVuIHVzaW5nIHdpdGggZ3N0LWxhdW5jaCwgaXQgd2FzIG5vdCBwb3NzaWJsZSB0byBjbGljayBvbiB0aGUgY2xvc2UKCSAgY3Jvc3Mgb2YgdGhlIHdpbmRvdyBhbnltb3JlIHdoaWNoIGlzIGEgYml0IGFub3lpbmcgYW5kIGFsc28gYmVjYXVzZQoJICBpdCdzIHdhcyBwb3NzaWJsZSBiZWZvcmUuCgkgIFByaW9yIHRvIHRoaXMgY29tbWl0IHRoZSBHc3RHTENvbnRleHRDb2NvYUNsYXNzIHdhcyBpbml0aWFsaXplZAoJICBpbiB0aGUgbWFpbiB0aHJlYWQgYmVjYXVzZSBnc3RfZ2xfY29udGV4dF9uZXcgd2FzIGNhbGxlZCBpbiB0aGUKCSAgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZyb20gZ29pbmcgZnJvbSByZWFkeSB0byBwYXVzZWQuCgkgIEZyb20gdGhpcyBjb21taXQgdGhpcyBjYWxsIGlzIGRvbmUgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgU28gdGhhdCB0aGUgY2FsbCB0byBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl07CgkgIHdhcyBub3QgZG9uZSBpbiB0aGUgbWFpbiB0aHJlYWQgYW55bW9yZS4KCSAgV2Ugbm93IGVuc3VyZSB0aGF0IGJ5IGFzc3VtaW5nIHRoZXJlIGlzIGEgR01haW5Mb29wIHJ1bm5pbmcuCgkgIEl0J3MgZm9yIGRlYnVnZ2luZyBwdXJwb3NlIHNvIHRoYXQncyBvayB0byBkbyB0aGF0LiBBbHNvCgkgIG5vdGUgd2UgYWxyZWFkeSBkbyB0aGlzIGFzc3VtdGlvbiB0byBydW4gYXBwIGl0ZXJlYXRpb25zLgoJICBUaGUgcmVncmVzc2lvbiBoYWQgbm8gY29uc2VxdWVuY2Ugb24gdGhlIGNvY29hL3ZpZGVvb3ZlcmxheSBleGFtcGxlCgkgICh0aGF0IHNob3VsZCBiZSBtb3ZlZCBmcm9tIGdzdC1wbHVnaW5zLWdsIHRvIC1iYWQpIGJlY2F1c2UgdGhlCgkgIGFwcGxpY2F0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciB0aGF0IG5lY2Vzc2FyeSBjYWxsLgoKMjAxNC0wNC0xMiAxNDo0MDo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IGZpeCB3YXJuaW5nIHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yCgkgICJ3YXJuaW5nOiB0eXBlIHF1YWxpZmllcnMgaWdub3JlZCBvbiBmdW5jdGlvbiByZXR1cm4gdHlwZSIKCjIwMTQtMDQtMTIgMTg6MjQ6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiByZW1vdmUgaWYgc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0CgkgIENvdmVyaXR5IDExOTk2OTgKCjIwMTQtMDQtMTIgMTg6MTY6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3I6IHBhc3MgbGFyZ2UgdmFsdWUgYnkgcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExOTk3MDAKCjIwMTQtMDQtMDIgMTI6NTk6NTggLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwZGVjOiBmaXggYXNzZXJ0aW9uIGNoZWNraW5nIHNzcmMgZnJvbSBydGNwIHBhY2tldHMKCSAgcnRjcF9idWZmZXJfZ2V0X3NzcmMgaXMgY2FsbGVkIGV2ZW4gd2l0aCBSVFAgYnVmZmVycy4gdGhpcyBtZWFucyB3ZQoJICBtaWdodCBlbmQgdXAgd2l0aCBhbiBleGNlcHRpb24gYW5kIG5vdCBmaW5kIGFueSB2YWxpZCBSVENQIHBhY2tldCB0eXBlCgkgIGFuZCB0aHVzIGhpdCBHU1RfUlRDUF9UWVBFX0lOVkFMSUQuIHdlIG5vdyB0YWtlIGNhcmUgb2YgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzUxMgoKMjAxNC0wNC0xMSAxMjoyOToxNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSAganAya2RlY2ltYXRvcjogZml4IG1heWJlLXVuaW5pdGlhbGl6ZWQgY29tcGlsZXIgZXJyb3IKCjIwMTQtMDQtMTEgMTE6MzQ6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVtb3ZlIHVubmVlZGVkIHVucmVmCgkgIHBhY2tldF9idWZmZXIgaGFzIGFscmVhZHkgYmVlbiBjbGVhcmVkIGluIGFsbCBjb2RlIHBhdGhzIGxlYWRpbmcKCSAgdG8gdGhpcyBwb2ludC4KCSAgQ0lEICMxMTk5Njk2CgoyMDE0LTA0LTExIDA4OjM5OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogSGFuZGxlIHN5bWJvbHMgYWRkZWQgaW4gbWlub3IgdmVyc2lvbiA3IGFuZCA4CgkgIFNvbWUgc3ltYm9scyB3ZXJlIHJlLWRlZmluZWQgaW4gbWlub3IgdjggKEdPIFRFQU0gQkFDS1dBUkRTIENPTVBBVElCTEUhKQoJICBTb21lIHN5bWJvbHMgd2VyZSBhZGRlZCBpbiBtaW5vciB2NwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTc3CgoyMDE0LTA0LTExIDE3OjI0OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2wvbWVtOiBjYWNoZSB0aGUgc3RyaWRlL3VucGFjayBsZW5ndGggZm9yIHVwbG9hZAoKMjAxNC0wNC0xMSAxNzoyMzozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IGV4cGxpY2l0bHkgbWFwIHRoZSBidWZmZXJzIHdlIGFyZSBjb3B5aW5nIGludG8KCSAgT3RoZXJ3aXNlIGl0IG1heSBub3QgYmUgZG93bmxvYWRlZCBhdCBhbGwuCgoyMDE0LTA0LTExIDA4OjE2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIGNvbW1lbnQgd2l0aCBhbGwgRFZCIEFQSSB2NSBtaW5vciBjaGFuZ2VzCgkgIFRoZXJlIHdhc24ndCBhIGRlZmluaXRlIGxpc3QgYW55d2F5LCBzbyBJIGp1c3QgZG92ZSBpbiB0aGUga2VybmVsCgkgIGFuZCBleHRyYWN0IGFsbCB0aGF0IGluZm9ybWF0aW9uLgoKMjAxNC0wNC0xMSAxNjowOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IGNhY2hlIHRoZSB0ZW1wb3JhcnkgdGV4dHVyZXMKCjIwMTQtMDQtMTEgMTE6MDQ6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbTogcHJvdmlkZSBkZWZpbmVzIGZvciB0b2tlbnMgbm90IGRlZmluZWQgaW4gR0xFUzIvYW5jaWVudCBwbGF0Zm9ybXMKCjIwMTQtMDQtMTEgMTE6MDM6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXh1cCBpbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cwoKMjAxNC0wNC0xMSAxMDo1NToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeCBpbmNvcnJlY3QgdXNhZ2Ugb2YgZ19yZXR1cm5faWZfZmFpbAoKMjAxNC0wNC0wMiAxNzo0Mzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL21lbTogYWxsb2NhdGUgdGhlIG1lbW9yeSBwZXIgcGxhbmUKCSAgVGhpcyBwYXRjaCBwcm92aWRlcyB0aGUgYmFzaWMgaW5mcmFzdHJ1Y3R1cmUgcmVxdWlyZWQgZm9yIHRoaXMuCgkgIFVwbG9hZCBhbmQgRG93bmxvYWQgaGFzIGJlZW4gcG9ydGVkIHRvIHRoaXMuCgkgIEhhcyB0aGUgbmljZSBlZmZlY3Qgb2YgYWxsb3dpbmcgR3N0R0xNZW1vcnkgdG8gYmUgb3VyCgkgIHJlZmNvdW50ZWQgdGV4dHVyZSBvYmplY3QgZm9yIGFueSB0ZXh0dXJlIHR5cGUgKG5vdCBqdXN0IFJHQkEpLgoJICBTaG91bGQgbm90IGxvc2UgYW55IGZlYXR1cmVzL3ZpZGVvIGZvcm1hdHMuCgoyMDE0LTA0LTAxIDE1OjEwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZ2wvZWdsaW1hZ2U6ICNpZiAwIHVudXNlZCBjb2RlCgoyMDE0LTA0LTAxIDEzOjMwOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsOiBhZGQgY29sb3Jjb252ZXJ0IG9iamVjdCB0aGF0IGNvbnZlcnRzIGJldHdlZW4gY29sb3Igc3BhY2VzL2Zvcm1hdHMKCSAgQ3VycmVudGx5IHVzZWQgYnkgYm90aCB1cGxvYWQgYW5kIGRvd25sb2FkIG9iamVjdHMgc2VwYXJhdGVseS4KCjIwMTQtMDQtMTAgMTc6NTU6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggZmFhYyBBUEkgZXJyb3IgY2hlY2tpbmcKCSAgQ292ZXJpdHkgMTEzOTc5MAoKMjAxNC0wNC0xMCAxNzo1MjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgaWdub3JlIGZhaWx1cmUgdG8gcmVnaXN0ZXIgdHlwZWZpbmRlcgoJICBDb3Zlcml0eSAxMTM5NjI5CgoyMDE0LTA0LTEwIDE3OjQ4OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCB0aW1lIGxlYWsKCSAgQ292ZXJpdHkgMTE0NzAxNgoKMjAxNC0wNC0xMCAxNzo0NDoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgZGVhZCBjb2RlIGFuZCB2YXJpYWJsZQoJICBBIHJlY2VudCBjb21taXQgbWFkZSBzdHJlYW0gbm90IGFibGUgdG8gYmUgTlVMTCwgZW5kaW5nIHVwIHdpdGgKCSAgYSBmbGFnIGJlaW5nIGFsd2F5cyBzZXQgdG8gRkFMU0Ugd2hlbiBpdCBtYXR0ZXJzLgoJICBDb3Zlcml0eSAxMTQ2OTY4LCAxMTQ3MDEyCgoyMDE0LTA0LTEwIDE3OjM3OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsOiByZW1vdmUgdW5uZWVkZWQgTlVMTCBjaGVjawoJICBXZSBqdXN0IGNoZWNrZWQgZm9yIE5VTEwgYW5kIGFsbG9jYXRlZCBpZiBpdCB3YXMuIEFuZCBnbGliIGFib3J0cwoJICBpZiBpdCBjYW4ndCBhbGxvY2F0ZSwgSSdtIHRvbGQuCgkgIENvdmVyaXR5IDExMzk4NDEKCjIwMTQtMDQtMTAgMTc6MzM6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmw6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTk3NzA4CgoyMDE0LTA0LTEwIDE2OjUzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyB1cGRhdGUgdGhlIHNlcXVlbmNlIHBvc2l0aW9uIHdoZW4gdXBkYXRpbmcgbm9uLWxpdmUgcGxheWxpc3RzCgoyMDE0LTA0LTEwIDE0OjU5OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVHJ5IHJlbG9hZGluZyB0aGUgcGxheWxpc3QgZmlyc3QgaWYgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBmYWlscwoJICBCdXQgb25seSBhZGQgdGhpcyBmb3Igbm9uLWxpdmUgcGxheWxpc3RzLiBGb3IgbGl2ZSBwbGF5bGlzdHMgd2UgYWxyZWFkeQoJICBoYXZlIGFub3RoZXIgdGhyZWFkIHRoYXQgaXMgcGVyaW9kaWNhbGx5IHVwZGF0aW5nIHBsYXlsaXN0cy4KCSAgUmVhc29uIGZvciB0aGlzIGlzIHRoYXQgc29tZXRpbWVzIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQgY2FuIGZhaWwgYmVjYXVzZQoJICB0aGUgVVJJcyBoYXZlIGNoYW5nZWQgb3IgZXhwaXJlZCBzaW5jZSBsYXN0IHRpbWUuCgoyMDE0LTA0LTEwIDE0OjQ2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2hlbiB1cGRhdGluZyBhIG5vbi1saXZlIHBsYXlsaXN0IG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBjdXJyZW50IHNlcXVlbmNlIGJ5IHRpbWUKCSAgU2VxdWVuY2UgbnVtYmVycyBpbiBkaWZmZXJlbnQgcGxheWxpc3RzIGFyZSBub3QgZ3VhcmFudGVlZCB0byBiZSB0aGUgc2FtZSBmb3IgdGhlCgkgIHNhbWUgcG9zaXRpb24sIGUuZy4gZnJhZ21lbnRzIGNvdWxkIGhhdmUgZGlmZmVyZW50IGR1cmF0aW9ucyBpbiBkaWZmZXJlbnQgcGxheWxpc3RzLgoJICBJbiB0aGVvcnkgd2Ugc2hvdWxkIGRvIGV4YWN0bHkgdGhlIHNhbWUgZm9yIGxpdmUgcGxheWxpc3RzLCBidXQgdW5mb3J0dW5hdGVseSB3ZSBjYW4ndAoJICBiZWNhdXNlIGRvaW5nIHRoaXMga2luZCBvZiBzZWVraW5nIHJlcXVpcmVzIHRoZSBjb21wbGV0ZSBwbGF5bGlzdCBzaW5jZSB3ZSBzdGFydGVkCgkgIHBsYXliYWNrLiBGb3IgbGl2ZSBwbGF5bGlzdHMgdGhlIHNlcnZlciBpcyBob3dldmVyIGRyb3BwaW5nIGZyYWdtZW50cyBpbiB0aGUgYmVnaW5uaW5nCgkgIG92ZXIgdGltZSBhbmQgd2UgaGF2ZSBubyBhYnNvbHV0ZSB0aW1lIHJlZmVyZW5jZXMuCgoyMDE0LTA0LTA5IDE3OjI4OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBhdm9pZCB1c2luZyBhbiB1bmluaXRpYWxpemVkIG1hbmlmZXN0CgkgIElmIHdlIGRpZCBub3Qgc2V0IHRoZSBtYW5pZmVzdCB5ZXQsIGVhcmx5IG91dCBpbiB0aGUgc2Vla2luZyBxdWVyeS4KCSAgQ292ZXJpdHkgMTEzOTczNwoKMjAxNC0wMy0xNyAxNjozOTo0MiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogU2V0IGZyYW1lcmF0ZSBldmVuIGZvciBpbnRlcmxhY2VkIHZpZGVvcwoJICBDby1BdXRob3JlZCBieTogTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NzUyCgoyMDE0LTA0LTA5IDEwOjA0OjQ2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGFkZCBhdHNjIHRlcnJlc3RyaWFsIHZpcnR1YWwgY2hhbm5lbCB0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDYwCgoyMDE0LTA0LTA5IDE1OjA3OjE5ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogZml4IG1lbW9yeSBsZWFrIHF1ZXJ5aW5nIHNpbmsgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODk0CgoyMDE0LTA0LTA5IDE4OjQ0OjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBjYXRjaCBmYWlsdXJlIHRvIHdyaXRlIHBsYXlsaXN0IGZpbGUKCSAgQ292ZXJpdHkgMTEzOTYxMwoKMjAxNC0wNC0wOSAxODozMTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGZpeCBpbXBsaWNpdCBwcm9tb3Rpb24gdG8gc2lnbmVkIGludCBicmVha2luZyBvbiBsYXJnZWlzaCBpbnB1dHMKCSAgQ292ZXJpdHkgMTEzOTg1OCwgMTEzOTg1NwoKMjAxNC0wNC0wOSAxODoxNjo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSAgbGFkc3BhOiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTEzOTcwNgoKMjAxNC0wNC0wOSAxODoxMjo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogZml4IG9wZW4gZXJyb3IgY2hlY2tpbmcKCSAgQ292ZXJpdHkgMjA2MzY0CgoyMDE0LTA0LTA5IDE3OjM3OjQxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBUaGUgdGFnIHdhcyBkZXJlZmVyZW5jZWQgZWFyaWVyLiBGcm9tIHRoZSBsaWJzY2hyb2VkaW5nZXIgY29kZSwKCSAgaXQncyBub3Qgb2J2aW91cyB0byBzZWUgd2hldGhlciB0YWcgYW5kIGZyYW1lIHdvdWxkIGJlIE5VTEwgYXQKCSAgdGhlIHNhbWUgdGltZS4gSSB0aGluayBpcyBsaWtlbHkgdGhhdCBib3RoIHdpbGwgYmUgbm9uIE5VTEwKCSAgaGVyZSwgYnV0IHRoYXQncyBub3QgY2VydGFpbi4gQWRkaXRpb25hbCB0ZXN0cyBtYXkgYmUgbmVlZGVkCgkgIHRvIGF2b2lkIGRlcmVmZXJlbmNpbmcgdGFnIGFuZC9vciBmcmFtZSwgYnV0IHdoYXQgdG8gZG8gaWYKCSAgb25seSBvbmUgaXMgTlVMTCBpc24ndCBvYnZpb3VzLCBhcyB0aGUgX2dldF90YWcgZnVuY3Rpb24gZG9lcwoJICB0cmFuc2ZlciBvd25lcnNoaXAgc28gaXNuJ3QgdW5kb2FibGUuCgkgIENvdmVyaXR5IDExMzk4NTAKCjIwMTQtMDQtMDkgMTc6MTA6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBUaGUgZnVuY3Rpb24gaXMgc3RhdGljLCB0aGUgb25seSBjYWxsIHNpdGUgcGFzc2VzIGEgbm9uIE5VTEwKCSAgcG9pbnRlciwgYW5kIHRoZSBwb2ludGVyIGlzIGRlcmVmZXJlbmNlZCBiZWZvcmUgYW55d2F5LgoJICBDb3Zlcml0eSAxMTM5ODM5CgoyMDE0LTA0LTA5IDE2OjU1OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTk3NzA3CgoyMDE0LTA0LTA5IDE1OjU0OjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogZml4IHNkdCBsZW5ndGggY2hlY2sKCSAgSXQgd2FzIG9yaWdpbmFsbHkgdGVzdCBmb3IgOSBieXRlcyAoYXMgdGhlIGNvbW1lbnQgc2F5cykgYW5kIHdhcwoJICByZXdyaXR0ZW4gYnVnZ2lseS4gU28gcmV3cml0ZSBpdCBhIHRoaXJkIHdheSwgd2hpY2ggaXMgbm93CgkgIGhvcGVmdWxseSBjb25zaXN0ZW50IHdpdGggdGhlIG9yaWdpbmFsIGFuZCB0aGUgY29tbWVudCwgd2hpbGUKCSAgYmVpbmcgbW9yZSBzZW5zZS1tYWtpbmcgdG8gaHVtYW5zLgoJICBDb3Zlcml0eSAxMTM5NjU0CgoyMDE0LTA0LTA5IDE2OjAwOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgUmV2ZXJ0ICJ0c211eDogY2F0Y2ggYWxsb2MgZmFpbHVyZSIKCSAgVHVybnMgb3V0IGdsaWIgYWJvcnRzIG9uIGFsbG9jYXRpb24gZmFpbHVyZSwgc28gdGhpcyBpcyBwb2ludGxlc3MuCgkgIFdlJ2xsIGp1c3QgaWdub3JlIENvdmVyaXR5IHdhcm5pbmdzIG9uIHN1Y2ggY29uc3RydWN0cy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMzQ3ODA5YTgyZTI0MDU3MzAyZjk0ODI2OTM5MmU3NmFhYWNlYTEwLgoKMjAxNC0wNC0wOSAxNTo1ODozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiB0dXJucyBvdXQgZ2xpYiBhYm9ydHMgb24gYWxsb2NhdGlvbiBmYWlsdXJlCgkgIFNvIHRoaXMgaXMgYWN0dWFsbHkgcG9pbnRsZXNzLiBXZSdsbCBqdXN0IGhhdmUgdG8gaWdub3JlCgkgIENvdmVyaXR5IG1vYW5pbmcgb24gdGhvc2UuCgkgIFJldmVydCAibXBlZ3RzOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjI0Y2I4MWI4ZmNiZjAzZGY1ZTA3ZjA0NWVjYjllY2Y2NDE4OTQwMC4KCjIwMTQtMDQtMDkgMTU6NDQ6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlCgkgIFdoaWxlIGl0J3MgdW5saWtlbHkgdG8gZ2V0IHRoZXJlLCBpdCBzaWxlbmNlcyB0aGUgY292ZXJpdHkgd2FybmluZwoJICBvbiB0aGUgZXJyb3IgY29kZSBwYXRoIHRoYXQgd2UgdGVzdCBmb3IgTlVMTCBiZWZvcmUgZnJlZWluZywgd2hlbgoJICBhbGwgYnJhbmNoZXMgdGhlcmUgYXJlIGZyb20gbG9jYXRpb25zIHdoZXJlIHBtdCBjYW5ub3QgYmUgTlVMTCwKCSAgYW5kIHJlbW92aW5nIHRoZSBOVUxMIGNoZWNrIG1ha2VzIHRoZSBjb2RlIG1vcmUgdnVsbmVyYWJsZSB0byBhCgkgIGh5cG90aGV0aWNhbCBmdXR1cmUgYnJhbmNoIGZyb20gc29tZXdoZXJlIHdoZXJlIGl0IGNhbiBiZS4KCSAgQ292ZXJpdHkgMTEzOTg1MgoKMjAxNC0wNC0wOSAxNTo0MToxMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSB0ZXN0CgkgIFdlJ3ZlIGJlZW4gZGVyZWZlcmVuY2luZyB0aGF0IG9iamVjdCBsaWtlIHRoZXJlJ3Mgbm8gdG9tb3Jyb3cKCSAgaW4gdGhlIGNvZGUganVzdCBiZWZvcmUgdGhhdC4KCSAgQ292ZXJpdHkgMjA2MzY5CgoyMDE0LTA0LTA5IDE1OjM3OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IHJlbW92ZSBzdHJheSBnc3RfYnVmZmVyX3VubWFwIG9uIGVycm9yIHBhdGgKCSAgQSBwcmV2aW91cyBjb21taXQgcmVtb3ZlZCB0aGUgbWFwLCBhbmQgdGhlIHVubWFwIG9uIHRoZSBtYWluCgkgIGNvZGUgcGF0aCwgYnV0IG5vdCB0aGUgb25lIG9uIHRoZSBlcnJvciBwYXRoLgoJICBDb3Zlcml0eSAxMTM5OTMwCgoyMDE0LTA0LTA5IDE1OjI4OjA1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogcmVtb3ZlIGRlYWQgY29kZQoJICBUaG9zZSBldmVudHMgd2VyZSBwcmV2aW91c2x5IHRha2VuIGZyb20gYSBjYWNoZWQgZXZlbnRzIGxpc3QsCgkgIHdoaWNoIHdhcyByZW1vdmVkIGR1cmluZyB0aGUgcG9ydCB0byAwLjExLCBidXQgdGhpcyBiaXQgc3RheWVkLgoJICBDb3Zlcml0eSAxMTM5Njg0CgoyMDE0LTA0LTA5IDE1OjI0OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVubmVlZGVkIGNoZWNrCgkgIEEgbWVzc2FnZSBtYXkgbm90IGJlIE5VTEwgaW4gdGhlIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24KCSAgKGFuZCBub3RoaW5nIHRoZXJlIHNldHMgaXQgdG8gTlVMTCkuCgkgIENvdmVyaXR5IDExMzk4NDgKCjIwMTQtMDQtMDkgMTU6MTg6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJICBjb21wYXJlOiBzcGVjaWFsIGNhc2UgZW1wdHkgcmVnaW9ucyB3aXRoIDEgU1NJTSB0byBhdm9pZCBkaXZpZGluZyBieSAwCgkgIENvdmVyaXR5IDExMzk2ODksIDExMzk2ODgKCjIwMTQtMDQtMDkgMTU6MDk6MjUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogcmVtb3ZlIGRlYWQgY29kZQoJICBDb3Zlcml0eSAxMTM5NjY2CgoyMDE0LTA0LTA5IDE1OjAzOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcmVtb3ZlIGRlYWQgY29kZQoJICBGcm9tIHRoZSAwLjExIHBvcnQKCSAgQ292ZXJpdHkgMTEzOTY3NgoKMjAxNC0wNC0wOSAxNDozNzo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBhdm9pZCBjcmFzaGluZyBpbiBwYXRob2xvZ2ljYWwgY2FzZQoJICBXaGVuIHdlJ2Qgc2VlIGFuIHVua25vd24gc3RyZWFtIHR5cGUsIHRoZW4gYSBTRERTIHN0cmVhbS4KCSAgVGhlbiB3ZSdkIGdldCB0byB0aGUgZW5kIG9mIHRoZSBzd2l0Y2ggd2l0aCBhIE5VTEwgdGVtcCBzdHJlYW0KCSAgcG9pbnRlciwgYW5kIGRlcmVmZXJlbmNlIGl0LgoJICBDb3Zlcml0eSAxMTM5NzA4CgoyMDE0LTA0LTA5IDE0OjEzOjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBjYXRjaCBwcmV2LW5vdC1mb3VuZCB3aGVuIGluc2VydGluZyBpbiB0aGUgZ3JvdXAgbGlzdAoJICBXaGlsZSB0aGlzIHByb2JhYmx5IHNob3VsZCBuZXZlciBoYXBwZW4gaWYgY2FsbGVycyBhcmUgd2VsbCBiZWhhdmVkLAoJICB0aGlzIGF2b2lkcyBhIGNyYXNoIGlmIGl0IGRvZXMuIFdpdGggYSB3YXJuaW5nIGFib3V0IGl0LiBVbnN1cmUgaWYKCSAgaXQnZCBiZSBiZXR0ZXIgdG8gbm90IGFkZCBhdCBhbGwsIGJ1dCBpdCBzaG91bGQgbm90IGhhcHBlbi4uLgoJICBDb3Zlcml0eSAxMTM5NzEzCgoyMDE0LTA0LTA5IDEzOjUxOjQxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZ3VhcmQgYWdhaW5zdCBfZGlzcG9zZSBiZWluZyBjYWxsZWQgbXV0aXBsZSB0aW1lcwoJICBfZGlzcG9zZSBjYWxscyBfcmVzZXQsIHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIF9yZXNldCBoYW5kbGVzCgkgIGFscmVhZHkgTlVMTGVkIGZpZWxkcy4KCSAgQ292ZXJpdHkgMTEzOTg0MwoKMjAxNC0wNC0wOSAxMzo0MzoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIHRzbXV4OiBwcmV2ZW50IHBvc3NpYmxlIGRvdWJsZSBmcmVlIG9uIGVycm9yIHBhdGgKCSAgU3BvdHRlZCB3aGlsZSBsb29raW5nIGF0IGEgQ292ZXJpdHkgaXNzdWUgaW4gdGhlIGFyZWEuCgoyMDE0LTA0LTA5IDEzOjQxOjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IGNhdGNoIGFsbG9jIGZhaWx1cmUKCSAgV2hpbGUgaXQgd2lsbCBwcm9iYWJseSBub3QgdHJpZ2dlciwgaXQgc2hvdWxkIHNpbGVuY2UgYSBDb3Zlcml0eQoJICB3YXJuaW5nIGFib3V0IHRoZSBmYWlsIGNvZGUgcGF0aCB0ZXN0aW5nIGZvciBOVUxMbmVzcyBiZWZvcmUKCSAgZnJlZWluZywgd2hlcmUgdGhlIGJ1ZmZlciB3YXMgYWxyZWFkeSBkZXJlZmVyZW5jZWQuIEl0IHNlZW1zCgkgIHNhZmVzdCB0byBrZWVwIHRoYXQgdGVzdCwgaW4gY2FzZSBmdXR1cmUgZ290byBmYWlsIHN0YXRlbWVudHMKCSAgaGFwcGVuIHRvIGhhdmUgYSBOVUxMIGJ1ZmZlciB0aGVyZS4KCSAgQ292ZXJpdHkgMTEzOTg1MQoKMjAxNC0wNC0wOSAxMTo0MzoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkgIGRlY2tsaW5rOiBpbml0aWFsaXplIHByaXYgdG8gTlVMTAoJICBXaGlsZSB0aGUgY29kZSB0aGF0IGNyZWF0ZXMgdGhlIG9iamVjdCBzZXRzIHByaXYgdG8gc29tZSBleGlzdGluZwoJICBwb2ludGVyIGFmdGVyIG5ldywgdGhpcyBlbnN1cmVzIGFueSBmdXR1cmUgbmV3IG5vdCBkb2luZyB0aGlzIHdpbGwKCSAgaGl0IHRoZSB2YXJpb3VzIHByaXYhPU5VTEwgYXNzZXJ0cyBpbiB0aGUgY29kZS4KCSAgQ292ZXJpdHkgMTEzOTkzNQoKMjAxNC0wNC0wOSAxMToxNToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IG1ha2UgZHVyYXRpb24gcXVlcnkgYWJsZSB0byBjb252ZXJ0IGJ5dGVzIHRvIHRpbWUKCSAgSXQgd2FzIG9ubHkgcXVlcnlpbmcgaW4gdGltZSwgYnV0IHRoZW4gdHJ5aW5nIHRvIHVzZSBkZWFkIGJ5dGVzCgkgIHRvIHRpbWUgY29udmVyc2lvbiBjb2RlLgoJICBDb3Zlcml0eSAxMTM5Njc3CgoyMDE0LTA0LTA5IDExOjA0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogZml4IGxlZnQgY3JvcCBjaGFuZ2UgdGVzdAoJICBJdCB3YXMgdGVzdGluZyBhIG5vb3AKCSAgQ292ZXJpdHkgMTEzOTY0MwoKMjAxNC0wNC0wOSAxMTowMjowMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IGFkZCBtaXNzaW5nIHZhX2VuZCBpbiB2YXJpYWRpYyBmdW5jdGlvbgoJICBDb3Zlcml0eSAxMTM5OTQ0CgoyMDE0LTA0LTA5IDExOjAwOjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHJlbW92ZSBkZWFkIGNvZGUKCSAgQ292ZXJpdHkgMTEzOTY4MwoKMjAxNC0wNC0wOSAxMDo1NjoxNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogcmVzZXQgImluIHVzZSIgZmxhZyBvbiBmYWlsdXJlIHRvIGluaXRpYWxpemUKCjIwMTQtMDQtMDkgMTA6NTU6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZSBiZWZvcmUgZGVyZWZlcmVuY2luZwoJICBDb3Zlcml0eSAxMTM5ODQ5CgoyMDE0LTA0LTA5IDEwOjMzOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTEzOTgyOQoKMjAxNC0wNC0wOSAxMDoyODo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBnbDogcGFzcyBsYXJnZSBzdHJ1Y3R1cmUgYnkgY29uc3QgcG9pbnRlciwgbm90IHZhbHVlCgkgIEF2b2lkcyBsYXJnZSBwb2ludGxlc3MgbWVtY3B5LgoJICBDb3Zlcml0eSAyMDYyMzYsIDIwNjIzNwoKMjAxNC0wNC0wOCAyMTozOToyMCArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIGFueSBmZWF0dXJlIHRvIHZpZXdmaW5kZXJiaW4gc3RhdGljIHBhZCB0ZW1wbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODU3CgoyMDE0LTA0LTA4IDIwOjU0OjI2ICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZXBvcnQgYW4gZXJyb3IgaWYgd2UgZmFpbCB0byBsaW5rIHZmc3JjIGFuZCB2aWV3ZmluZGVyIHF1ZXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NTUKCjIwMTQtMDQtMDggMTc6NDU6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBwb3N0IHByb3BlciBlcnJvciBtZXNzYWdlIHdoZW4gd2luZG93IGRpc2FwcGVhcnMKCjIwMTQtMDQtMDggMTc6MzQ6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogZml4IG9mZiBieSBvbmUgaW4gY2hhbm5lbCBtYXNrIGJ1aWxkaW5nCgkgIFRoZSBmaXJzdCBsb29wIHdvdWxkIHNoaWZ0IDEgYnkgNjQsIHdoaWNoIGlzIGVpdGhlciB1bmRlZmluZWQKCSAgb3IgaW1wbGVtZW50YXRpb24gZGVmaW5lZCwgaW5zdGVhZCBvZiBjbGVhcmluZyB0aGUgdG9wIGJpdC4KCSAgQ292ZXJpdHkgMTE5NzY5MQoKMjAxNC0wNC0wOCAxNzoxMDoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiByZXN0b3JlIE5VTEwgdGVzdCBtaXN0YWtlbmx5IHJlbW92ZWQKCSAgVGhhbmtzIHRvIHRwbSBmb3IgcG9pbnQgb3V0IEknbSBhbiBpZGlvdC4KCjIwMTQtMDQtMDggMTY6NTM6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IG9ubHkgc2V0IERJU0NPTlQgZmxhZyBvbiBhIHZhbGlkIGJ1ZmZlcgoJICBSZWNlbnQgcmVmYWN0b3JpbmcgY2F1c2VzIHRoaXMgY29kZSB0byBiZSBjYWxsZWQgd2l0aCBlaXRoZXIgYSBOVUxMCgkgIGZyYWdtZW50LCBvciBhIG5vbiBOVUxMIGZyYWdtZW50LiBJbiB0aGUgZm9ybWVyIGNhc2UsIHdlIGRvbid0IGhhdmUKCSAgYSBidWZmZXIuIEluIHRoZSBsYXR0ZXIgY2FzZSwgdGhlIG9yaWdpbmFsIGNvZGUgZGVhbGluZyB3aXRoIERJU0NPTlQKCSAgYXNzdW1lZCB0aGUgYnVmZmVyIHdhcyB2YWxpZC4gVGVzdGluZyBmb3IgYSBOVUxMIGJ1ZmZlciBoZXJlIHRodXMKCSAgZG9lcyBub3Qgc2VlbSB0byBjaGFuZ2UgdGhlIGludGVudCwgYW5kIGZpeGVzOgoJICBDb3Zlcml0eSAxMTk1MTQ3CgoyMDE0LTA0LTA4IDE2OjUzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZ3VhcmQgYWdhaW5zdCBOVUxMIG1hdGVyaWFsIHRyYWNrCgkgIEp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS4KCjIwMTQtMDQtMDggMTY6NDY6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogYnJpbmcgTlVMTCB0ZXN0IGJlZm9yZSBkZXJlZmVyZW5jZQoJICBDb3Zlcml0eSAxMTk1MTY4CgoyMDE0LTA0LTA4IDE2OjIzOjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiB0ZXN0IGZvciBmcmFtZSBOVUxMbmVzcyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdAoJICBDb3Zlcml0eSAxMTk1MTcyLCAxMTk1MTcxCgoyMDE0LTA0LTA5IDAwOjQ0OjA4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQXZvaWQgaW5maW5pdGUgbG9vcHMgb24gc2hvcnQgZGF0YQoKMjAxNC0wNC0wOCAxNjowOToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBmaXggY29tcGlsYXRpb24KCjIwMTQtMDQtMDggMTU6NTQ6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbDogZml4IGxlYWtzCgkgIEFzIHRoZSByZWxldmFudCB2YXJpYWJsZXMgYXJlIGluaXRpYWxpemVkIHRvIDAvTlVMTCwgd2UgY2FuIGxvb3AKCSAgb3ZlciB0aGUgZnVsbCByYW5nZSBhbmQgbWFrZSBzdXJlIHdlIGZyZWUgcGFydGlhbCBhbGxvY2F0aW9ucwoJICB3aGVuIGFuIGVycm9yIGhhcHBlbnMgcGFydHdheSB0aHJvdWdoIGluaXRpYWxpemF0aW9uLgoKMjAxNC0wNC0wOCAxNToyNjowNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogcmVqZWN0IHRvbyBsb25nIHNvY2tldCBwYXRocwoJICBDb3Zlcml0eSAyMDYwMDQKCjIwMTQtMDQtMDggMTQ6MzM6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBpbXBsZW1lbnQgc2ltcGxlIEtFWV9VTklUIHNlZWtpbmcKCSAgSWYgYSBLRVlfVU5JVCBzZWVrIHdhcyByZXF1ZXN0ZWQsIGFkanVzdCBzZWdtZW50CgkgIHN0YXJ0IHRvIHBvc2l0aW9uIG9mIHRoZSBrZXkgZnJhbWUuCgoyMDE0LTA0LTA4IDE0OjI0OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBvdmVyZmxvdyBpbiBhdWRpbyBzdWJ0aXRsZSBzdHJlYW1zCgkgIFR1cm5zIG91dCB0aGVyZSB3YXMgdGhlIHNhbWUgaXNzdWUgYXMgd2l0aCBzdWJ0aXRsZXMuCgkgIFRoZXJlIGlzIHNwYWNlIGZvciBhIHNpbmdsZSBhdWRpbyBzdHJlYW0sIGJ1dCB1cCB0byAyNTUKCSAgbWF5IGJlIHVzZWQgYmFzZWQgb24gYSB1aW50OF90IHZhbHVlIGluIGEgc3RydWN0LCB3aGljaCBtYXkKCSAgb3IgbWF5IG5vdCBiZSByZWFkIGZyb20gdGhlICh1bnRydXN0ZWQpIGRhdGEuCgkgIEEgY29tbWVudCBpbiBpZm9fdHlwZXMuaCBzYXlzIHRoaXMgdmFsdWUgaXMgZWl0aGVyIDAgb3IgMSwgc28KCSAgd2UgY2FuIGVuc3VyZSB0aGlzIGhlcmUgd2l0aG91dCBkcmF3YmFja3MuCgkgIENvdmVyaXR5IDExMzk1ODUKCjIwMTQtMDQtMDggMTQ6MTk6MjkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG92ZXJmbG93IGluIG1lbnUgc3VidGl0bGUgc3RyZWFtcwoJICBUaGVyZSBpcyBzcGFjZSBmb3IgYSBzaW5nbGUgc3VidGl0bGUgc3RyZWFtLCBidXQgdXAgdG8gMjU1CgkgIG1heSBiZSB1c2VkIGJhc2VkIG9uIGEgdWludDhfdCB2YWx1ZSBpbiBhIHN0cnVjdCwgd2hpY2ggbWF5CgkgIG9yIG1heSBub3QgYmUgcmVhZCBmcm9tIHRoZSAodW50cnVzdGVkKSBkYXRhLgoJICBBIGNvbW1lbnQgaW4gaWZvX3R5cGVzLmggc2F5cyB0aGlzIHZhbHVlIGlzIGVpdGhlciAwIG9yIDEsIHNvCgkgIHdlIGNhbiBlbnN1cmUgdGhpcyBoZXJlIHdpdGhvdXQgZHJhd2JhY2tzLgoJICBDb3Zlcml0eSAxMTM5NTg2CgoyMDE0LTA0LTA4IDEzOjI2OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHNlZWtpbmcsIHNlbmQgZGF0YSBzdGFydGluZyBmcm9tIGEga2V5IHVuaXQKCSAgRml4ZXMgbXVsdGlwbGUgc2Vla2luZyBpc3N1ZXMuIFdoZW4gZG9pbmcgQUNDVVJBVEUgb3Igbm9ybWFsCgkgIG5vbi1LRVlVTklUIHNlZWtzLCBteGZkZW11eCB3b3VsZCBqdXN0IHNlbmQgZGF0YSBmcm9tIHRoZQoJICBlZGl0IHVuaXQgdGhhdCBjb3ZlcmVkIHRoZSBzZWVrIHBvc2l0aW9uLCB3aGV0aGVyIHRoYXQncwoJICBhIGtleWZyYW1lIG9yIG5vdC4gRGVjb2RlcnMgd291bGQgb25seSBvdXRwdXQgdGhpbmdzIGZyb20KCSAgdGhlIG5leHQga2V5ZnJhbWUgdGhlbiwgd2hpY2ggbWVhbnMgdGhlcmUncyBhIGdhcCBiZXR3ZWVuCgkgIHRoZSBzdGFydCBvZiB0aGUgc2VnbWVudCBhbmQgdGhlIGZpcnN0IGRlY29kZWQgZGF0YSBpbgoJICBzb21lIGNhc2VzLiBJbiBjb21iaW5hdGlvbiB3aXRoIGdzdC1lZGl0aW5nLXNlcnZpY2VzIHRoaXMKCSAgbWlnaHQgcmVzdWx0IGluIGEgZnJvemVuIHBpY3R1cmUgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGF0CgkgIGdhcCBhdCB0aGUgYmVnaW5uaW5nIChpZiB2aWRlb3JhdGUgZml4ZXMgdXAgdGhlIGZpcnN0CgkgIGJ1ZmZlcidzIHN0YXJ0IHRpbWVzdGFtcCB0byBjb3ZlciB0aGUgZW50aXJlIGdhcCksIG9yCgkgIGEgYmxhY2sgZnJhbWUgKGlmIG5vIHZpZGVvcmF0ZSBpcyB1c2VkIGFuZCB2aWRlb21peGVyCgkgIGZpbGxzIHRoZSBnYXApLiBBbHNvIGZpeGVzIEEvViBzeW5jIGlzc3VlIHdoZW4gcmVxdWVzdGluZwoJICBhIEtFWVVOSVQgc2Vlay4KCjIwMTQtMDQtMDggMTI6Mzc6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBmaXggYnVmZmVyIG92ZXJmbG93cwoJICBDaGFubmVscyBjYW4gYmUgdXAgdG8gNy4gQWxzbyBhZGQgYSBndWFyZCBpbiBjYXNlIG1vcmUgY2FuIGJlCgkgIHJldHVybmVkIGluIHRoZSBmdXR1cmUuCgkgIENvdmVyaXR5IDExMzk4MjAsIDExMzk4MjEKCjIwMTQtMDQtMDggMTM6MjA6NTQgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBjcml0aWNhbCBkdWUgdG8gbWlzc2luZyBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODEyCgoyMDE0LTA0LTA4IDEyOjIwOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZml4IGZkIGxlYWsKCSAgQ292ZXJpdHkgMTEzOTgzMQoKMjAxNC0wNC0wOCAxMToyNjozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IENsYXJpZnkgcGFzc3Rocm91Z2ggaW4gc3dpdGNoIHN0YXRlbWVudAoJICBXZSBkbyB3YW50IHRoZSBjYXBzIGV2ZW50IHRvIGJlIGZvcndhcmRlZCBkb3duc3RyZWFtCgkgIENJRCAjMTEzOTc1NAoKMjAxNC0wNC0wOCAxMToyMzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoCgkgIFdob29wcywgbW9kaWZ5aW5nIHRoZSBwaXRjaCB3aGVuIG1vZGlmeWluZyB0aGUgb3V0cHV0IHJhdGUgLi4uCgkgIENJRCAjMTEzOTc0OQoKMjAxNC0wNC0wOCAxMToyMTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3ZnOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFRoaXMgd2Fzbid0IGZhdGFsIGJlZm9yZSAod29yc3QgY2FzZSBpdCB3b3VsZCBjbGVhciBhbiBhbHJlYWR5IGVtcHR5CgkgIGFkYXB0ZXIpLgoJICBDSUQgIzExMzk3NTgKCjIwMTQtMDQtMDggMTE6MjA6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoCgkgIFFVRVJZX0NBUFMgaXMgZnVsbHkgaGFuZGxlZCwgd2UgZG9uJ3QgbmVlZCB0byBwYXNzdGhyb3VnaCB0byB0aGUgZGVmYXVsdAoJICBoYW5kbGVyLgoJICBDSUQgIzExMzk3NTYKCjIwMTQtMDQtMDggMDk6NTE6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBJbml0aWFsaXplIHZhcmlhYmxlcwoJICBUaGVyZSBpcyBhIHNtYWxsIGNoYW5jZSB0aGF0IHdlIG1pZ2h0IGVuZCB1cCBpbiB0aGUgZG9uZSBzdGVwIHdpdGhvdXQKCSAgaGF2aW5nIGFueSBvdXRwdXQgYXZhaWxhYmxlLgoJICBGdXJ0aGVybW9yZSwgd2hlbiBnb2luZyB0aHJvdWdoIG5vdF9yZWFkeSwgd2UgbmVlZCB0byBlbnN1cmUgZ3N0X2J1ZmZlcl91bm1hcAoJICBoYXMgYSBwcm9wZXJseSBpbml0aWFsaXplZCBHc3RNYXBJbmZvLgoJICBDSUQgIzExMzk5MjMKCSAgQ0lEICMxMTM5OTI0CgkgIENJRCAjMTEzOTkxOQoJICBDSUQgIzExMzk5MjAKCjIwMTQtMDQtMDggMDc6NDg6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIGNoZWNrOiBGaXggbXBlZ3RzbXV4IGNhcHMKCSAgSW5jb21pbmcgc3RyZWFtcyBuZWVkIHRvIGJlIHBhcnNlZC4gRG9lc24ndCBmaXggdGhlIHRlc3QgY29tcGxldGVseSB0aG91Z2gKCjIwMTQtMDQtMDggMDc6NDc6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBJbml0aWFsaXplIGhlbHBlciBtcGVndHMgbGlicmFyeQoJICBXZSBub3cgdXNlIHRoYXQgbGlicmFyeSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGl0IHNvIHRoYXQgZGVidWcKCSAgY2F0ZWdvcmllcyAoYW1vbmdzdCBvdGhlciB0aGluZ3MpIGdldCBwcm9wZXJseSBpbml0aWFsaXplZAoKMjAxNC0wNC0wNyAxMzoyNTo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSAgbXhmOiBmaXggc3RvcCBkYXRlIHBhcnNpbmcgdXNpbmcgdGhlIHdyb25nIGlucHV0CgkgIENvdmVyaXR5IDExMzk2NDUKCjIwMTQtMDQtMDcgMTM6MjI6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogZml4IGNvcHkvcGFzdGUgZXJyb3JzIGluIGV4cHJlc3Npb25zCgkgIENvcnJlY3QgZm9ybXVsYWUgZm91bmQgaW4gSVRVIFQuODAwLCBCLjEyLjEuWzM0NV0KCSAgQ292ZXJpdHkgMTEzOTY0OSwgMTEzOTY1MCwgMTEzOTY1MQoKMjAxNC0wNC0wNCAxNTozMDoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IGZpeCBzaG0gdGVzdCBkZWFkbG9jawoJICBUaGUgdGVzdCB3YXMgbm90IGJyaW5naW5nIHRoZSBzb3VyY2UgYmFjayB0byBOVUxMLCBzbyBpdHMgdGhyZWFkCgkgIGNvdWxkIHN0YXJ0IGNyZWF0aW5nIGEgYnVmZmVyIHdoaWxlIHRoZSBwYWRzIHdlcmUgYmVpbmcgc2h1dGRvd24uCgoyMDE0LTA0LTA2IDExOjU3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDcmVhdGUgR0wgY29udGV4dCBhbmQgc2V0IHVwIHdpbmRvdyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGdzdF9nbF9jb250ZXh0X2NyZWF0ZSgpIG1pZ2h0IG5lZWQgdG8gZGlzcGF0Y2ggc29tZSBvcGVyYXRpb25zIHRvIHRoZQoJICBhcHBsaWNhdGlvbidzIG1haW4gdGhyZWFkLCBhbmQgY2FsbGluZyB0aGlzIGluIHRoZSBjaGFuZ2Vfc3RhdGUgZnVuY3Rpb24KCSAgY2FuIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMTQtMDQtMDQgMDk6MTk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGNoZWNrIGZvciBpT1MgZm9yIHRoZSBPcGVuR0wgc3VwcG9ydAoJICBUaGVyZSBpcyBhbHNvIGFuIGkzODYgdmVyc2lvbiBvZiBpT1MsIHdoaWNoIGlzIGZvciB0aGUgc2ltdWxhdG9yLgoJICBCZXR0ZXIgdXNlIG91ciBhbHJlYWR5IGV4aXN0aW5nIEhBVkVfSU9TIGNoZWNrIGluc3RlYWQgb2YgcmVseWluZwoJICBvbiB0aGUgaG9zdCB0cmlwbGV0LgoKMjAxNC0wNC0wMyAxMTo1NDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBwb3NzaWJsZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxNC0wNC0wMyAxMTo0ODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IG9ubHkgYWRkIGxvY2F0aW9uIHdoZW4gbm9kZSBleGlzdGVkCgkgIEFjdHVhbGx5IHJldHVybiBGQUxTRSB3aGVuIHRoZSBsb2NhdGlvbiBub2RlIHdhcyBub24tZXhpc3RpbmcKCSAgT25seSBhZGQgdGhlIGxvY2F0aW9uIG5vZGUgd2hlbiBpdCBleGlzdGVkCgoyMDE0LTA0LTAyIDIzOjQ5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZXF1aXJlIHBhcnNlZC9mcmFtZWQgaW5wdXQgZm9yIG1vc3Qgb2YgdGhlIHN1cHBvcnRlZCBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1MTkKCjIwMTQtMDQtMDIgMjM6MDg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IHBhc3MgYSBkZXN0IHJlY3RhbmdsZSBpZiBzZXQsIG90aGVyd2lzZSBwYXNzIE5VTEwKCSAgQ2FsbCB3aXRoIGFuIHVuaW5pdGlhbGl6ZWQgcmVjdGFuZ2xlIHdpbGwgY2F1c2UgZXJyb3JzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0OTk4CgoyMDE0LTA0LTAyIDEzOjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiBmaXggZ2wgdW5pdCB0ZXN0cyBmb3IgcmVjZW50IEFQSSBjaGFuZ2VzCgoyMDE0LTA0LTAyIDIzOjA1OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2w6IHBhc3MgdmlkZW8gaW5mbydzIGJ5IHJlZmVyZW5jZQoKMjAxNC0wNC0wMiAyMzowNToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogZml4IGFycmF5IGluaXRpYWxpemF0aW9uCgoyMDE0LTA0LTAyIDIyOjU0OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJICBnbGJ1bXBlcjogcmVtb3ZlIHJlZHVuZGFudCBjaGVjawoKMjAxNC0wNC0wMiAyMjo1MzoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2wvZ2x4OiB1c2UgdGhlIGNvbnRleHQncyBkaXNwbGF5IHJhdGhlciB0aGFuIGFza2luZyBmb3IgdGhlIHdpbmRvdydzCgoyMDE0LTA0LTAyIDIyOjQzOjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiBmaXggYXNzaWdubWVudCBvZiB0ZW1wb3JhcnkgdmFyaWFibGVzCgoyMDE0LTA0LTAyIDIyOjQyOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IGF2b2lkIGFkZGluZyBhIE5VTEwgcG9vbCB0byBwcm9wb3NlIGFsbG9jYXRpb24KCjIwMTQtMDQtMDIgMTI6Mzg6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC93aW4zMjogYWN0dWFsbHkgYnVpbGQgdGhlIGdsIHBsdWdpbnMgb24gd2luMzIKCSAgUmVncmVzc2lvbiBmcm9tIGM4ZmYyMTViMDJlZTE3ODUxM2UwNzZlMmRmYmQxNGU5Y2U3N2VjNDkKCjIwMTQtMDQtMDIgMDk6Mjk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC93aW4zMjogZml4IGRldGVjdGlvbiBvZiBHTC93Z2xleHQuaAoJICBXYXMgcmVzdWx0aW5nIGluICdwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQnIGVycm9ycwoKMjAxNC0wNC0wMSAyMTo0ODoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmaXggZGV0ZWN0aW9uIG9mIGV4dGVuc2lvbnMgd2l0aCBHTCB2ZXJzaW9ucyA8IDMKCSAgTWVzYSwgZm9yIGV4YW1wbGUgcmV0dXJucyB2YWxpZCBwb2ludGVycyBmb3IgZ2xHZXRJbnRlZ2VydiBhbmQKCSAgZ2xHZXRTdHJpbmdpIGV2ZW4gaWYgdGhlIGdsIHZlcnNpb24gaXMgbGVzcyB0aGFuIHRoYXQgcmVxdWlyZWQgZm9yCgkgIGJvdGggdGhvc2UgZnVuY3Rpb25zIHRvIHN1cHBvc2VkbHkgZXhpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjQKCjIwMTQtMDMtMzAgMjE6MDI6NDUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggZG9jcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM1NgoKMjAxNC0wMy0zMCAyMTowMjoxMCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkgIG1wZWd0czogYWRkIGR2Yi10MiBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM1NgoKMjAxNC0wMy0yNCAxNzo0NDo0NyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGJ1Z2ZpeCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcnMKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY5NzkKCjIwMTQtMDMtMjcgMjE6MjI6MzIgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiB1c2UgR1NUX1JFQURfVUlOVDMyX0JFCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTg3CgoyMDE0LTAzLTI3IDIxOjIxOjIzICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGFkZCBwYXJzaW5nIGRhdGEgYnJvYWRjYXN0IGRlc2NyaXB0b3IKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMjE6MTg6MzYgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYWRkIHBhcnNpbmcgc3RyZWFtIGlkZW50aWZpZXIKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMTM6NTY6MjYgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiB1c2UgZ2xpYiBhbGxvYyBhbmQgZnJlZQoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE1OQoKMjAxNC0wMy0yOSAxNzoyNjowMyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBjb3JyZWN0IHByaW50IGZvcm1hdCBmb3IgZ2ludDY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczODUKCjIwMTQtMDMtMzAgMTg6NTI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBIYW5kbGUgZXJyb3JzIHdoZW4gc3dpdGNoaW5nIHBsYXlsaXN0cyBwcm9wZXJseQoKMjAxNC0wMy0zMCAxODoxMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEdvIEVPUyBpZiB0aGUgZW5kIG9mIHRoZSBzZWdtZW50IGlzIHJlYWNoZWQKCjIwMTQtMDMtMzAgMTg6MDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9yZSBidWZmZXIgZW5kIHBvc2l0aW9uIGluIHNlZ21lbnQucG9zaXRpb24KCjIwMTQtMDMtMjkgMTA6MTk6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggdHlwbyBpbiBkZWJ1ZyBvdXRwdXQKCjIwMTQtMDMtMjggMTg6Mjc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IENvcHkgb3ZlciBESVNDT05UIGZsYWcgZnJvbSBpbnB1dCBidWZmZXJzCgoyMDE0LTAzLTI4IDE4OjExOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBuZXh0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnQgd2l0aCB0aGUgRElTQ09OVCBmbGFnCgoyMDE0LTAzLTI4IDE3OjMyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRHJhaW4gcmVtYWluaW5nIGRhdGEgb24gZGlzY29udHMKCjIwMTQtMDMtMjggMTc6MjU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGbHVzaCBpZiB3ZSByZWNlaXZlIGEgZGlzY29udCBidWZmZXIKCjIwMTQtMDMtMjggMTc6MjQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGlmIGZsdXNoZWQgYmVmb3JlIGEgcHJvZ3JhbSB3YXMgc2VsZWN0ZWQKCjIwMTQtMDMtMjcgMTk6NDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBFbnN1cmUgdGhhdCBhbGwgcGVuZGluZyBkYXRhIGlzIHB1c2hlZCBldmVuIGlmIHRoZSBzdHJlYW0gd2FzIG5vdCBhY3RpdmF0ZWQgYmVmb3JlCgkgIGdzdF90c19kZW11eF9wdXNoX3BlbmRpbmdfZGF0YSgpIHdpbGwgY2hlY2sgaWYgaXQgbm93IGNhbiBhY3RpdmF0ZSB0aGUKCSAgc3RyZWFtIGFuZCBhZGQgdGhlIHBhZCwgd2UgZG9uJ3QgaGF2ZSB0byBjaGVjayB0aGF0IG91cnNlbHZlcy4KCSAgRml4ZXMgcGxheWJhY2sgb2YgdmVyeSBzaG9ydCBNUEVHIFRTIGZpbGVzLgoKMjAxNC0wMy0yNyAxOToyMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpeCBwdWxsIG1vZGUgc2Nhbm5pbmcgZm9yIFBDUiBvbiBzbWFsbCBmaWxlcwoJICBJZiBhIGZpbGUgZG9lcyBub3QgY29udGFpbiA1IFBDUnMgdW50aWwgaXQgaXMgRU9TLCBvciBkb2VzIG5vdAoJICBjb250YWluIG1vcmUgdGhhbiA2NTUzNjAgYnl0ZXMgdGhlIFBDUiBzY2FubmluZyBhbGdvcml0aG0ganVzdAoJICBhYm9ydGVkLgoKMjAxNC0wMy0yNiAyMjoyNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCB0aGUgc2VnbWVudCBvZmZzZXQKCSAgSXQncyBjYXVzaW5nIHdyb25nIHJ1bm5pbmcgdGltZXMgYWZ0ZXIgc2Vla3Mgb3IgYml0cmF0ZQoJICBzd2l0Y2hlcy4KCjIwMTQtMDMtMjYgMDc6MzI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgRElTQ09OVCBmbGFnIG9uIGFsbCBidWZmZXJzIGluIHJldmVyc2UgcGxheWJhY2sgbW9kZQoKMjAxNC0wMy0yNiAwNzoyNToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGZvcndhcmRzIGFuZCBiYWNrd2FyZHMgc2VhcmNoaW5nIGluIHRoZSBmaWxlcyBsaXN0CgoyMDE0LTAzLTI2IDA3OjI0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVW5zZXQgRFRTIG9mIGFsbCBidWZmZXJzCgkgIFdlIHdvbid0IGdldCBhIHZhbGlkIERUUyBmcm9tIHRoZSBzb3VyY2UuCgoyMDE0LTAzLTI2IDA3OjIyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBmbHVzaCBzdGFydCBldmVudCBiZWZvcmUgd2FpdGluZyBmb3IgdGhlIHRhc2tzIHRvIGZpbmlzaAoJICBPdGhlcndpc2Ugd2UnbGwgd2FpdCB1bnRpbCBidWZmZXJzIGFyZSBjb21wbGV0ZWx5IHByb2Nlc3NlZCBkb3duc3RyZWFtLAoJICB3aGljaCBtaWdodCB0YWtlIHF1aXRlIHNvbWUgdGltZS4KCjIwMTQtMDMtMDkgMTk6MzE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCB0cmljayBtb2RlcyB2aWEgSS1mcmFtZSB2YXJpYW50IGxpc3RzCgoyMDE0LTAzLTA5IDE4OjI0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHBhcnNpbmcgb2YgI0VYVC1YLUktRlJBTUUtU1RSRUFNLUlORgoJICBUaGVzZSBhcmUgSS1mcmFtZS1vbmx5IHZhcmlhbnQgbGlzdHMgdGhhdCBjYW4gYmUgdXNlZAoJICBmb3IgdHJpY2sgbW9kZSBwbGF5YmFjay4KCjIwMTQtMDMtMjggMjA6MjI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJICBnbDogZWdsOiBmaXggZGlzdGNoZWNrIGFuZCBvdXQgb2Ygc291cmNlIGJ1aWxkCgoyMDE0LTAzLTI4IDIwOjQ3OjM2ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEZpeCBtYWtlIGRpc3QKCjIwMTQtMDMtMjggMTk6NDY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBMREFERCBvcmRlciBmb3IgaW5zZXJ0YmluIHRlc3QKCjIwMTQtMDMtMjggMTk6NDE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRvbid0IGxpbmsgY29kZWNwYXJzZXIgdGVzdHMgdHdpY2UgdG8gdGhlIGxpYgoKMjAxNC0wMy0yOCAxOTozMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGdsIHVuaXQgdGVzdHMgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgUHV0IGxvY2FsIC5sYSBmaWxlcyBmaXJzdCwgYW5kIGFkZCBsaW5rIHRvIGxpYmdzdHZpZGVvCgkgIGZvciB0ZXN0cyB0aGF0IHVzZSB0aGUgbGliZ3N0dmlkZW8gQVBJIGRpcmVjdGx5LgoKMjAxNC0wMy0yNyAyMjo0MTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBhbGxvdyBub3QgYnVpbGRpbmcgdGhlIGdsIHBsdWdpbnMKCSAgRml4ZXMgYnVpbGQgb24gd2luZG93cyBpZiA8R0wvd2dsZXh0Lmg+IGhlYWRlcnMgYXJlIG5vdCBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTI1CgoyMDE0LTAzLTI4IDExOjU0OjQ1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiB1bnJlZiBsYXN0IGJ1ZmZlciBvbiBEUkFJTgoJICBTaW1pbGFyIHRvIDA5MzU3NDA1M2ZhZTI0M2VjNWZjZmQ2YWRhZTgxODUwNTNiMWU4OTYKCSAgaW4gZ3N0YmFzZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjEwNwoKMjAxNC0wMy0yNyAxODo1MTo1OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggd3JvbmcgZG9jIGJsb2NrIGZvciBjcmVhdGVfd2luZG93CgkgIFdyb25nIHNpbmNlIDFhZDI1M2I5IHdoZW4gcHJvcCBuYW1lIHdhcyBjaGFuZ2VkIGZyb20KCSAgY2FuX2NyZWF0ZV93aW5kb3cgdG8gY3JlYXRlX3dpbmRvdy4KCjIwMTQtMDMtMjcgMjI6MDI6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZG9uJ3QgZmFpbCBjb25maWd1cmUgaWYgd2UgZG8gbm90IHVuZGVyc3RhbmQgdGhlIHBsYXRmb3JtCgoyMDE0LTAzLTI1IDE1OjQwOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJICBnbDogZml4IG91dC1vZi1zb3VyY2UgYnVpbGRzIHB0MgoJICAyMWI4OTdkZTJmNzYyYmVlNTA0Y2JjMDA3ZmQxMDgxNDhlZTVhZTI0IGRpZCB0aGlzIGZvciB4MTEgYW5kIHdheWxhbmQuCgkgIERvIGl0IGZvciB0aGUgb3RoZXIgYmFja2VuZHMgYXMgd2VsbC4KCjIwMTQtMDMtMjYgMjM6MTM6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogb25seSBzZXQgQ0FQU19GRUFUVVJFX01FTU9SWV9FR0xfSU1BR0Ugb24gZWdsIHBsYXRmb3JtCgoyMDE0LTAzLTI2IDE3OjE0OjQwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBPU1ggaG9zdCBjaGVjawoJICBNYWtlcyB0aGUgY2hlY2sgd29ya3Mgd2l0aCAoaTM4Nnx4ODZfNjQpLWFwcGxlLWRhcndpbiogaG9zdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxMDQKCjIwMTQtMDMtMjYgMTk6MTc6MDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGxldCB0aGUgdXNlciBpbmNsdWRlcyBpdHNlbGYgb3VyIGVnbCBoZWFkZXJzIGlmIG5lZWRlZAoJICBGb3Jnb3QgdG8gYWRkcmVzcyB0aGlzIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yMiAyMjowMTo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJICBnbDogYWRkIEVHTEltYWdlIHN1cHBvcnQKCSAgKiBwaWNrZWQgZnJvbSBvbGQgbGliZ3N0ZWdsOgoJICAtIEdzdEVHTEltYWdlTWVtb3J5CgkgIC0gR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgLSBsYXN0X2J1ZmZlciBtYW5hZ2VtZW50IGZyb20gcmVtb3ZlZCBHc3RFR0xJbWFnZUJ1ZmZlclBvb2wKCSAgKiBhZGQtb25zOgoJICAtIEdzdEVHTEltYWdlTWVtb3J5IG5vdyBvbGQgYSByZWZlcmVuY2Ugb24gR3N0R0xDb250ZXh0CgkgIHNvIHRoYXQgaXQgY2FuIGRlbGV0ZSB0aGUgRUdMSW1hZ2UgYW5kIGl0cyBnbHRleHR1cmUgc291cmNlCgkgIHdoaWxlIGhhdmluZyB0aGUgYXNzb2NpYXRlZCBnbCBjb250ZXh0IGJlaW5nIGN1cnJlbnQuCgkgIC0gYWRkIEVHTEltYWdlIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSB3aGljaAoJICBtYWlubHkgY2FsbCBFR0xJbWFnZVRhcmdldFRleHR1cmUyRAoJICAtIEdzdEdMQnVmZmVyUG9vbCBub3cgc3VwcG9ydHMgR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgLSBnbGltYWdlc2luayAvIGdsZmlsdGVycyAvIGV0Yy4uIG5vdyBwcm9wb3NlIEdzdEVHTEltYWdlQWxsb2NhdG9yCgkgIHRvIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MTI6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBkZXBsb3kgZWdsIGhlYWRlcnMgaW4gZ3N0L2dsL2VnbCBpbnN0ZWFkIG9mIGdzdC9nbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjEwOjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIGdsOiByZW1vdmUgY29tbWVudGVkIGFuZCB1bnN1ZWQgY29kZSBpbiB4MTEgTWFrZWZpbGUuYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yMyAyMTo1NTozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgcGtnY29uZmlnOiBhZGQgZ3N0cmVhbWVyLWdsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MDQ6MDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZml4IGNyYXNoIGlmIF9idWlsZF9leHRlbnNpb25fc3RyaW5nIGlzIG5vdCBjYWxsZWQKCSAgT24gR0xFUzIgdGhlbiAoZ2wtPkdldEludGVnZXJ2ICYmIGdsLT5HZXRTdHJpbmdpKSBpcyBmYWxzZQoJICByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2M2ZGYyMDRlMmY1OGZmZmRhNWNiZTkwZjM0NTBhZWJhOTU4ODljNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI2IDEwOjE0OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogT25seSBlbmFibGVkIGNvY29hIGJhY2tlbmQgb24gb3N4IChhbmQgbm90IGlvcykKCSAgaW9zIHJlcXVpcmVzIHVzaW5nIEVBR0wKCjIwMTQtMDMtMjYgMDk6MDU6MTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IFJlbW92ZSBVUkwgY2hlY2sgZm9yIHZhbGlkIHBsYXlwYXRoLgoJICBUaGUgcGxheXBhdGggaXMgYW4gb3B0aW9uYWwgY29tcG9uZW50IG9mIHRoZSBVUkwgLSBkb24ndCByZXF1aXJlIGl0LgoKMjAxNC0wMy0yNSAxNzozOToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IHVubG9jayBvYmplY3QgbG9jayBiZWZvcmUgcG9zdGluZyBlcnJvcgoJICBQb3N0aW5nIGFuIGVycm9yIHdpdGggdGhlIG9iamVjdCBsb2NrIHdpbGwgZGVhZGxvY2suIFJld29yayB0aGUgY29kZQoJICBhIGJpdCB0byBtYWtlIHRoaW5ncyBtb3JlIHNpbXBsZS4KCjIwMTQtMDMtMjUgMTU6MDQ6MTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGNvc21ldGljczogZHJvcCBUQUIgY2hhcmFjdGVycy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IENsYXJpZnkgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2UKCSAgVGhlIG1lc3NhZ2UgaXMgZGVzY3JpYmluZyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlbWFpbmluZyBmb3IKCSAgcGFyc2luZywgbm90ICdtaXNzaW5nJy4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IG1wZWd0c19wYWNrZXRpemVyX3NldF9jdXJyZW50X3Bjcl9vZmZzZXQoKQoJICBXaGVuIGFkanVzdGluZyB0aGUgUENSIG9mZnNldCBvZiBncm91cHMsIGFkanVzdCB0aGUgY29ycmVjdCBncm91cAoJICBlbnRyeSBmcm9tIHRoZSBsaXN0IC0gbm90IHRoZSBjdXJyZW50IGdyb3VwIHJlcGVhdGVkbHkuCgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIHdhcm5pbmcgZm9yIDItYml0IGFuZCA4LWJpdCBzdWJwaWN0dXJlcwoJICBCb3RoIDItYml0IGFuZCA4LWJpdCBtb2RlIG5vdyBzZWVtIGZpbmUsIHNvIHJlbW92ZSB0aGUgd2FybmluZwoJICBtZXNzYWdlcyBhYm91dCB0aGVtCgoyMDE0LTAzLTI1IDIxOjQwOjEwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IDgtYml0IHN1YnBpY3R1cmUgcmVuZGVyaW5nLgoJICBGaXggMiBzbWFsbCBmbGF3cyBoYW5kbGluZyA4LWJpdCBzdWJwaWN0dXJlcyB0aGF0IG1ha2VzCgkgIG15IG9uZSB0ZXN0IGZpbGUgd29yay4KCjIwMTMtMDMtMDggMDk6NTc6MjIgKzA4MDAgIExpIFhpYW93ZWkgPHhpYW93ZWkuYS5saUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2xpY2VfaGVhZGVyKCkgcGFyc2luZyBmb3IgTVZDLgoJICBUaGUgaWRyX3BpY19pZCBzeW50YXggZWxlbWVudCBkZXBlbmRzIG9uIElkclBpY0ZsYWcsIHdoaWNoIGlzIGEgY2FsY3VsYXRlZAoJICB2YWx1ZSB0aGF0IGRvZXMgbm90IG9ubHkgZGVwZW5kIG9uIE5BTCB1bml0IHR5cGUgKElEUiksIGJ1dCBwb3NzaWJseSBhbHNvCgkgIG9uIE1WQyBub25faWRyX2ZsYWcgc3ludGF4IGVsZW1lbnQuCgkgIFRoZSBjb21wdXRlZCBpZHJfcGljX2ZsYWcgaXMgYWxyZWFkeSBzdG9yZWQgaW4gR3N0SDI2NE5hbFVuaXQgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzcyCgkgIFNpZ25lZC1vZmYtYnk6IExpIFhpYW93ZWkgPHhpYW93ZWkuYS5saUBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMTAtMDEgMDk6NDg6MDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBnc3RfaDI2NF9wYXJzZV9uYWx1X2hlYWRlcigpIGhlbHBlci4KCSAgQWRkIGhlbHBlciB0byBwYXJzZSB0aGUgTkFMVSBoZWFkZXIuIE1vdmUgYm91bmRzIGNoZWNraW5nIHRvIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMTAtMDEgMDk6Mzc6MjEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBnc3RfaDI2NF9wYXJzZV9zcHNfZGF0YSgpIGhlbHBlci4KCSAgU3BsaXQgc2VxX3BhcmFtZXRlcl9zZXRfZGF0YSgpIHBhcnNpbmcgb2ZmIGdzdF9oMjY0X3BhcnNlX3NwcygpIHNvCgkgIHRoYXQgaXQgY291bGQgYmUgcmUtdXNlZCBsYXRlciBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTI2IDE4OjQ2OjM2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjb21wbGV0ZSBzZXQgb2YgTkFMIHVuaXQgdHlwZXMuCgkgIEFkZCBtaXNzaW5nIE5BTCB1bml0IHR5cGVzLiBUaGV5IGFyZSBtb3N0bHkgcmVsYXRlZCB0byBhbHBoYSBibGVuZGluZywKCSAgc2NhbGFibGUgdmlkZW8gY29kaW5nIGV4dGVuc2lvbnMgKFNWQywgQW5uZXguRyksIGFuZCBtdWx0aXZpZXcgdmlkZW8KCSAgY29kaW5nIGV4dGVuc2lvbnMgKE1WQywgQW5uZXguSCkuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjQgMTk6Mjc6NDQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNsZWFuLXVwIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWlfbWVzc2FnZSgpLgoJICBGaXggYnVpbGQgd2hlbiBHU1RfRElTQUJMRV9HU1RfREVCVUcgaXMgbm90IGRlZmluZWQuIFVzZSBhIHN3aXRjaAoJICBzdGF0ZW1lbnQgdG8gZGlzcGF0Y2ggdG8gdGhlIHZhcmlvdXMgU0VJIHBheWxvYWQgaGFuZGxlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjEgMTc6MDc6MTkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2tpcHBpbmcgb2YgdW5zdXBwb3J0ZWQgU0VJIG1lc3NhZ2VzLgoJICBUaGUgcGF5bG9hZFNpemUgZG9lcyBub3QgYWNjb3VudCBmb3IgZW11bGF0aW9uIHByZXZlbnRpb24gYnl0ZXMuIFNvLAoJICBqdXN0IHVzZSBuYWxfcmVhZGVyX3NraXAoKSBmb3Igc2tpcHBpbmcgcGF5bG9hZF9zaXplIGJpdHMuIEl0IHNob3VsZAoJICBiZSBwb3NzaWJsZSB0byBmdXJ0aGVyIG9wdGltaXplIHRoaXMgY29kZSBzaW5jZSB0aGUgTkFMIHJlYWRlciBzaGFsbAoJICBiZSBhbGlnbmVkIHRvIGJ5dGUgYm91bmRhcnkgYWxyZWFkeS4KCSAgS2lsbCB0aGUgbm93IHVudXNlZCBuYWxfcmVhZGVyX3NraXBfdG9fbmV4dF9ieXRlKCkgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MjkKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yMSAxNzowMzozNiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFNFSSBidWZmZXJpbmdfcGVyaW9kKCkgcGFyc2luZy4KCSAgRml4IHBhcnNpbmcgb2YgYnVmZmVyaW5nX3BlcmlvZCgpIFNFSSBtZXNzYWdlcy4gVGhlIG51bWJlciBvZiBiaXRzCgkgIHVzZWQgdG8gZXhwcmVzcyB7bmFsLHZjbH1faW5pdGlhbF9jcGJfcmVtb3ZhbF9kZWxheXssX29mZnNldH0gc3ludGF4CgkgIGVsZW1lbnRzIGlzIG5vdCA1IGJ1dCAxICsgaW5pdGlhbF9jcGJfcmVtb3ZhbF9kZWxheV9sZW5ndGhfbWludXMxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODI4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMTAtMTAgMTY6MTk6NDkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmJzcF9tb3JlX2RhdGEoKSBpbXBsZW1lbnRhdGlvbi4KCSAgQWNjb3VudCBmb3IgdHJhaWxpbmcgemVybyBiaXRzIHdoZW4gY2hlY2tpbmcgZm9yIHJic3BfbW9yZV9kYXRhKCkuCgkgIEluIHBhcnRpY3VsYXIsIGZpeCBhbiBoeXBvdGhldGljYWwgc3RyZWFtIHdoZXJlYnkgcmJzcF9tb3JlX2RhdGEoKQoJICBpcyBjYWxsZWQgaW4gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGZvciBQUFMgaGVhZGVyOiBOYWxSZWFkZXIKCSAgcmVhY2hlZCBwb3NpdGlvbiAyMCwgMTIgYml0cyBhcmUgcmVtYWluaW5nIGFuZCB0cmFpbGluZyBkYXRhIGF0CgkgIGN1cnJlbnQgYnl0ZSBwb3NpdGlvbiBpcyBjOCAwMC4KCSAgcmJzcF9tb3JlX2RhdGEoKSB1c2VkIHRvIHJldHVybiBUUlVFIHdoZXJlYXMgaXQgc2hvdWxkIG9idmlvdXNseQoJICByZXR1cm4gRkFMU0UgYmVjYXVzZSB4OCAwMCByZXByZXNlbnRzIGEgdmFsaWQgcmJzcF90cmFpbGluZ19iaXRzKCkKCSAgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODkwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjQgMTc6MzM6MDAgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IGZpeCBvdXQtb2Ytc291cmNlIGJ1aWxkcy4KCSAgQWx3YXlzIHVzZSB0aGUgbG9jYWxseSBnZW5lcmF0ZWQgPGdzdC9nbC9nc3RnbGNvbmZpZy5oPiBmaWxlLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI1IDAwOjUwOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsL2Rvd25sb2FkOiBhZGQgc3VwcG9ydCBmb3IgdGhlIGJ0NzA5IGNvbG9yIG1hdHJpeAoKMjAxNC0wMy0yNSAwMDozNDoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBhZGQgc3VwcG9ydCBmb3IgdGhlIGJ0NzA5IGNvbG9yIG1hdHJpeAoKMjAxNC0wMy0yNCAyMzowOToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IHJlbW92ZSBleHBsaWNpdCByZWZlcmVuY2UgdG8gWF9DRkxBR1MKCSAgVGhleSBhcmUgaW4gR0xfQ0ZMQUdTIGlmIHJlcXVpcmVkCgoyMDE0LTAzLTIzIDIzOjQzOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHJlbW92ZSB0aGUgbGVnYWN5IEdMIDEueCB1cGxvYWQgcGF0aAoJICB1cGxvYWRpbmcgcmVxdWlyZXMgc2hhZGVycyBhbmQgZmJvcyBhdmFpbGFibGUgaW4gR0wyLgoKMjAxNC0wMy0yMyAxMTowMjowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmYWxsYmFjayB0byBnbEdldFN0cmluZyBpZiBHTF9OVU1fRVhURU5TSU9OUyBmYWlscwoJICBOZWVkIGl0IG9uIE1hY09TWCAxMC43LjUKCjIwMTQtMDMtMjMgMDE6MDI6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkgIGdsOiBhbmQgdXBkYXRlIHRoZSBNYWtlZmlsZQoKMjAxNC0wMy0yMyAwMDozODoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmxlbmRpbmcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9lZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Ziby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2ZpeGVkZnVuY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMV9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMl9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zaGFkZXJzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogcmVvcmdhbml6ZSB0aGUgZXh0ZW5zaW9uIGhlYWRlcnMgYnkgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYXBpCgoyMDE0LTAzLTIxIDIwOjI5OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsL3dpbjMyOiB1c2UgdGhlIGNvcnJlY3QgaW5jbHVkZSBhbmQgZ3N0LWluZGVudAoKMjAxNC0wMy0yMSAxNTo1NjoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICBjaGVjazogZml4IG1ha2UgY2hlY2sKCSAgVGhlIG1wZWcgcGFyc2VyIG5vdyBmbGFncyB0aGUgc3RyZWFtIGFzIG1wZWcyIGlmIHRoZXJlIGlzIGEgcGljdHVyZQoJICBleHRlbnNpb24gaGVhZGVyLCBzbyByZW1vdmUgaXQgZm9yIG1wZWcxIGRhdGEuCgoyMDE0LTAzLTE4IDA5OjE2OjI1ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSAgZ2w6IHVzZSB3Z2xDcmVhdGVDb250ZXh0QXR0cmlic0FSQiB0byBjcmVhdGUgc2hhcmUgY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDk0CgoyMDE0LTAzLTE3IDIwOjQzOjM1ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL21peGVyOiBmaXggZG93bmxvYWQgY2hlY2sgZm9yIGZhaWx1cmUKCjIwMTQtMDMtMTcgMjA6NDA6NTEgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IHNpbGVuY2UgYSBjcml0aWNhbCBpZiB1cHN0cmVhbSBkb2VzIG5vdCBwcm92aWRlIHVzIHdpdGggbWV0YSBwYXJhbXMKCjIwMTQtMDMtMTkgMTM6NDg6MTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgkgIFNpbWlsYXIgdGhhbiAxMTkwYTc5YjE5OTU4NGNmYzRkZDYyYzQ3NDUzMWMzMmNmYmJhNDI1CgoyMDE0LTAzLTE5IDEzOjQ1OjM1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJICBnbDoga2VlcCBvbmx5IG9uZSBvY2N1cmVuY2Ugb2YgJyNpbmNsdWRlIDxFR0wvZWdsLmg+JwoJICBUbyBzaW1wbHkgbWFpbnRhaW5hbmNlIGlmIHdlIG5lZWQgdG8gcHV0IHNwZWNpZmljIGluY2x1ZGVzIGFyb3VuZCBpdC4KCjIwMTQtMDMtMTYgMDE6MjU6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEb24ndCBmb3J3YXJkIHRleHQgZ2FwIGV2ZW50cyBkb3duc3RyZWFtCgkgIFRoYXQgZ2FwIGlzIG9ubHkgZm9yIHRoZSBzdWJ0aXRsZSBzdHJlYW0gYW5kIG5vdCBmb3IgdGhlIHZpZGVvIHN0cmVhbS4KCjIwMTQtMDMtMTggMDA6MTE6MDkgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZG9uJ3QgZGVmYXVsdCB0byBHU1RfR0xfSEFWRV9XSU5ET1dfRElTUE1BTlg9MQoJICBNaXN0YWtlIGludHJvZHVjZWQgYnkgMmEwZjAzOTlhZTIyNjA4OWMyYmEwN2IxYjkwNDc0MWI4NTZmMzdhZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE4IDAwOjA4OjUwICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIGdsOiBmaXggdGhlIHVzZSBvZiBhbHdheXMtZGVmaW5lZCBtYWNyb3MKCSAgQWZ0ZXIgMmEwZjAzOTlhZTIyNjA4OWMyYmEwN2IxYjkwNDc0MWI4NTZmMzdhZiBHU1RfR0xfKiBtYWNyb3MgYXJlIGFsd2F5cwoJICBkZWZpbmVkIHRvIDAgb3IgMS4gRG9uJ3QgdXNlICNpZmRlZiAuLi4gb3IgI2lmIGRlZmluZWQoKSBvbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE4IDAwOjA3OjQzICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGNoZWNrIGZvciBYIHVuY29uZGl0aW9uYWxseQoJICBXaXRob3V0IHRoaXMgdGhlIEhBVkVfWCBtYWNybyBpcyBlbXB0eSwgbm90ICJubyIgb3IgInllcyIsIHdoaWNoIGlzIG5vdAoJICB3aGF0IHRoZSBsYXRlciBjb2RlIGlzIGNvdW50aW5nIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE3IDE3OjM1OjIyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IHNldCBkZWZhdWx0IHZhbHVlIHRvIDAgZm9yIGFsbCBkZWZpbml0aW9ucyB0aGF0IGdvIHRvIGdzdGdsY29uZmlnLmgKCSAgVG8gYXZvaWQgd2FybmluZ3MgbGlrZSAiR1NUX0dMX0hBVkVfT1BFTkdMIGlzIG5vdCBkZWZpbmVkIi4KCSAgQXMgd2UgYXJlIHVzaW5nICNpZiBpbnN0ZWFkIG9mICNpZmRlZgoKMjAxNC0wMy0xNyAxNTo0OTozNyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhbGxvdyBub3QgYnVpbGRpbmcgdGhlIGdsIGxpYnJhcnkgcGx1Z2lucwoKMjAxNC0wMy0xNyAxNToxNjoxMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgR01vZHVsZSBsaWJzIGZvciB3aW4zMgoKMjAxNC0wMy0xNyAxNTowNjoyNSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBvbmx5IGxpbmsgYWdhaW5zdCBnc3RlZ2wgaWYgd2UgYXJlIHVzaW5nIGVnbAoJICBBc3N1bWluZyBpZiB3ZSBhcmUgYnVpbGRpbmcgZWdsIHRoYXQgdGhlIGVnbCBsaWJyYXJ5IGlzIGJ1aWx0CgoyMDE0LTAzLTE3IDE1OjA1OjI0ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGFkZCB0aGUgb3B0aW9uIG9mIGRpc2FibGluZyBjb2NvYSBvbiBPUyBYIHVzaW5nIC0tZGlzYWJsZS1jb2NvYQoKMjAxNC0wMy0xNyAxNDozNzoxMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgcGF0aCBvZiB0aGUgZ3N0ZWdsIGxpYnJhcnkKCSAgVGVtcG9yYXJ5IHVudGlsIHdlIG1lcmdlIHRoZSB0d28gbGlicmFyaWVzCgoyMDE0LTAzLTE3IDE0OjI2OjMxICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgUmV2ZXJ0ICJnbDogYWRkIGRlcCBvbiBnc3RlZ2wiCgkgIEl0IHdhcyBhbHJlYWR5IGluIF9MSUJBREQKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiMTBhMzUzMDgwNDMzNWZjM2I5NDk0NjAzZWY3OGNlOTQxN2MzYmM4LgoKMjAxNC0wMy0xNyAxNDoxMToxNCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgZGVwIG9uIGdzdGVnbAoJICBUZW1wb3JhcnkgdW50aWwgd2UgbWVyZ2UgdGhlIHR3byBsaWJyYXJpZXMKCjIwMTQtMDMtMTcgMTQ6MDY6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRml4IGRlYnVnIHN0YXRlbWVudHMgYW5kIHBsYXRmb3JtCgoyMDE0LTAzLTE3IDEyOjMyOjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IHNldCBIQVZFX0VHTF9SUEkgdG8geWVzIGlmIEhBVkVfR0wgYW5kIFJQSQoJICBXaGljaCBmaXhlcyBidWlsZCBvbiBSYXNwYmVycnkgUGkgc2luY2UgLWdsIGhhcyBiZWVuIG1vdmVkIHRvIC1iYWQKCjIwMTQtMDMtMTcgMTI6MDQ6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsOiBGaXggc3RhdGljIGJ1aWxkIHdpdGggb2JqZWN0aXZlLUMKCSAgLS10YWc9Q0MgaXMgbmVlZGVkIGZvciBzdGF0aWMgYnVpbGQKCjIwMTQtMDMtMTcgMTI6MDA6MDkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgbWFrZTogd2hpdGVzcGFjZSBjbGVhbnVwcwoKMjAxNC0wMy0xNyAxMDo1NjozOSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbDogQWRkIEVHTERpc3BsYXkgZGlzcGxheSBzdWJjbGFzcwoKMjAxNC0wMy0xNyAxMDo0NDozMiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2wvd2luZG93OiBhZGQgYSBkdW1teSB3aW5kb3cgY2xhc3MKCSAgRWZmZWN0aXZlIGZvciB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIGEgcGxhdGZvcm0gdGhhdCBkb2VzIG5vdAoJICByZXF1aXJlIGEgbmF0aXZlIHdpbmRvdy4gIFdlIHJlcXVpcmUgYSBtYWlubG9vcCB0byBydW4gdGhlIEdMCgkgIGNvbW1hbmRzIHdoaWNoIGlzIGN1cnJlbnRseSBvcGVyYXRlZCBieSBHc3RHTFdpbmRvdy4KCjIwMTQtMDMtMTcgMDg6MTA6NTAgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGZpeCB1bmRlY2xhcmVkIHN5bWJvbCB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgR1NUX0RFQlVHCgoyMDE0LTAzLTE2IDE4OjU1OjAzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBmaXggYSBkb3VibGUgdW5yZWYgb2YgdGhlIHF1ZXJ5IHdoZW4gYnVpbGRpbmcgd2l0aG91dCBYCgoyMDE0LTAzLTE2IDE2OjM2OjA2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBoYW5kbGUgdmlkZW8veC1yYXcoQU5ZKSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NjMKCjIwMTQtMDMtMTYgMTc6MjE6MzggKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IHNpbGVuY2UgYSBjb21waWxlciB3YXJuaW5nIGFib3V0IG1pc3NpbmcgcHJvdG90eXBlcwoKMjAxNC0wMy0xNCAxOTowMzozNiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbC91dGlsczogYWRkIHgxMSBHc3RDb250ZXh0IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYzNjAKCjIwMTQtMDMtMTYgMTU6MzQ6MTEgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZGVmaW5lIEdMX05VTV9FWFRFTlNJT05TIGlmIG5vdCBkZWZpbmVkCgoyMDE0LTAzLTE2IDE1OjA4OjIzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICBNb3ZlIGdzdC1wbHVnaW5zLWdsIHRvIGJhZAoKMjAxNC0wMy0xNiAxNTowNjozNyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBzaWxlbmNlIGFsbCB0aGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTQtMDMtMTYgMTE6MjM6MTYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL0JVR1M6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBtb3ZlIGdsIGVsZW1lbnRzIHRvIGV4dCBzdWJkaXJlY3RvcnkKCjIwMTQtMDMtMTUgMTU6NTU6NDYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs5MDYvOTA2XSBmaWx0ZXI6IHdhcm4gYWJvdXQgdHJ5aW5nIHRvIHNoYXJlIHdpdGggbXVsdGlwbGUgY29udGV4dHMgYXQgb25jZQoKMjAxNC0wMy0xNSAxNDowNjo0MCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzkwNS85MDZdIEFkZCBHTCBjb250ZXh0IHNoYXJpbmcgc3VwcG9ydCBmb3Igbm9uLWdzdGdsIGVsZW1lbnRzCgoyMDE0LTAzLTE1IDEzOjU1OjM5ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs5MDQvOTA2XSBtaXhlcjogYXNrIGZvciBkaXNwbGF5IGhhbmRsZXMgb24gcGFkIGFjdGl2YXRpb24KCjIwMTQtMDMtMTUgMTM6NTE6NDQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbOTAzLzkwNl0gYXBpOiBhZGQgR3N0R0xQbGF0Zm9ybSB0by9mcm9tIHN0cmluZwoKMjAxNC0wMy0xNSAxMToyNTo0MyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs5MDIvOTA2XSBjb250ZXh0OiBpbXBsZW1lbnQgZ2xHZXRTdHJpbmdpIGhhbmRsaW5nIGZvciBHTCBjb3JlIGNvbnRleHRzL0dMRVMzCgoyMDE0LTAzLTEyIDIzOjQ2OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbOTAxLzkwNl0gZ2x4OiB1c2UgdGhlIGRpc3BsYXkgaGFuZGxlIGZyb20gdGhlIGdsb2JhbCBkaXNwbGF5CgkgIEludGVsIGRyaXZlcnMgcmVxdWlyZSB0aGUgZGlzcGxheSBoYW5kbGVzIGJlIHRoZSBzYW1lIGZvciBjb250ZXh0CgkgIHNoYXJpbmcgdG8gb2NjdXIuICBBbHNvIHNvbHZlcyBzb21lIGNhc2VzIG9mIHVzZSBhZnRlciBmcmVlIG9mIHRoZQoJICBkaXNwbGF5IHdoZW4gaW50ZWdyYXRpbmcgd2l0aCBnc3RyZWFtZXItdmFhcGkuCgkgIFNlZSBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD00MTczNiBmb3IgdGhlIGludGVsIGJ1Zy4KCjIwMTQtMDMtMTIgMjM6NDQ6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzkwMC85MDZdIHRlc3RzL2dzdGdsY29udGV4dDogcmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGRpc3BsYXllZAoJICBXYXMgY2F1c2luZyB0aW1lb3V0cyBvbiBpbnRlbCBoYXJkd2FyZSBkdWUgdG8gdnN5bmMgaGFuZGxpbmcuCgoyMDE0LTAzLTEyIDIzOjQzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODk5LzkwNl0gZWdsOiB3YXJuIGlmIHdlIHJlc29ydCB0byBkaXNwbGF5IGhhbmRsZXMgZnJvbSB0aGUgd2luZG93CgoyMDE0LTAzLTA2IDE4OjExOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzg5OC85MDZdIGdsaW1hZ2VzaW5rOiBhZGQgYW4gb3RoZXItY29udGV4dCBwcm9wZXJ0eQoJICBBbGxvd3MgYXBwbGljYXRpb25zIHRvIHByb3ZpZGUgdXMgd2l0aCBhbiBPcGVuR0wgY29udGV4dCB3aXRoIHdoaWNoCgkgIHRvIHNoYXJlIHdpdGguCgoyMDE0LTAzLTA0IDIzOjI4OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBbODk3LzkwNl0gYXBpOiBwbHVnaW4gYSBzbWFsbCBtZW1vcnkgbGVhawoJICBGb3VuZCBieSBhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20KCjIwMTQtMDMtMDIgMTE6NDg6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzg5Ni85MDZdIHV0aWxzOiB1c2UgdGhlIHZ0YWJsZSBmb3IgZGVsZXRpbmcgdGhlIHRleHR1cmUKCjIwMTQtMDItMjggMTc6NDI6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODk1LzkwNl0gY29udGV4dDogY2FsbCB3aW5kb3dfY2xhc3MtPmNsb3NlIGxhc3QKCSAgV2Ugc2hvdWxkIGRlc3Ryb3kgcmVzb3VyY2VzIGJlZm9yZSBjbG9zaW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA0OAoKMjAxNC0wMi0yNSAwOToyNzoyNiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzg5NC85MDZdIGdsOiBhZGQgbWlzc2luZyBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMTEKCjIwMTQtMDItMjQgMjM6NTU6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg5My85MDZdIHgxMTogY2xvc2UgYm90aCBvZiB0aGUgZGlzcGxheSdzIHdlIHVzZQoJICAodGhlIGNvbW1lbnQgZG9lc24ndCBzZWVtIHRvIGFwcGx5IGFueW1vcmUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwNDgKCjIwMTQtMDItMjMgMTE6NDQ6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODkyLzkwNl0gc2lsZW5jZSBhIGNvbXBpbGVyIHdhcm5pbmcgb24gb2xkZXIgZ2NjIHZlcnNpb25zICg0LjYpCgoyMDE0LTAyLTExIDA4OjU3OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzg5MS85MDZdIGNvbnRleHQ6IGFkZCBzdXBwb3J0IGZvciB3cmFwcGluZyBleHRlcm5hbCBjb250ZXh0cwoKMjAxMy0xMS0yNyAxNzo1Mjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJICBbODkwLzkwNl0geDExOiBhZGQgZGlzcGxheSBzdWJjbGFzcwoJICBHc3RHTERpc3BsYXlYMTEgaG9sZHMgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiBhbmQgbmFtZS4gIEVhY2ggdGhyZWFkIHJlcXVpcmVzCgkgIGl0J3Mgb3duIFgxMSBEaXNwbGF5IGNvbm5lY3Rpb24gKGluaXRpYWxpc2VkIGZyb20gbmFtZSkgZHVlIHRvIHRoZSBmYWN0IHRoYXQKCSAgd2UgZG8gbm90IHdhbnQgdG8gY2FsbCBYSW5pdFRocmVhZHMoKS4gIERvaW5nIHNvIHdvdWxkIHJlc3VsdCBpbiBzZWdmYXVsdHMKCSAgd2hlbiBpbnRlZ3JhdGluZyB3aXRoIEdVSSB0b29sa2l0cyBHdGssIFF0LCBldGMuCgkgIFRoZSBEaXNwbGF5IGNvbm5lY3Rpb24gaXMgZm9yIE9wZW5HTCBwbGF0Zm9ybXMgd2hlcmUgYSBjb25zdGFudCBkaXNwbGF5IGlzCgkgIHJlcXVpcmVkIGluIG9yZGVyIHRvIHNoYXJlIGNvbnRleHRzIChlZ2wpLiAgSW4gdGhlIGNhc2Ugb2YgYSB3cmFwcGVkIGNvbnRleHQKCSAgKGFkZGVkIGxhdGVyKSwgd2UgZG8gbm90IGhhdmUgR3N0R0xXaW5kb3cgdG8gcmV0cmVpdmUgdGhlIGRpc3BsYXkgZnJvbSBzbyBhCgkgICdtYXN0ZXInIGNvbm5lY3Rpb24gaXMgdXNlZCBpbnN0ZWFkLgoKMjAxNC0wMS0xNSAxMDoyMTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzg4OS85MDZdIGRpc3BsYXk6IGFkZCBkaXNwbGF5IHR5cGUgZW51bQoKMjAxNC0wMi0yMyAxMToyNzoyMyArMTEwMCAgQWRyaWVuIFNDSCA8YWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzg4OC85MDZdIGNvcnJlY3QgZXJyb3IgaGFuZGxpbmcgaW4gZ3N0Z2xkb3dubG9hZC5jCgoyMDE0LTAyLTIzIDEwOjM2OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4ODcvOTA2XSBtaXhlcjogZml4dXAgYSBtZW1vcnkgbGVhayBvZiB0aGUgY29udGV4dCBpbiB0aGUgR0xUZXh0dXJlVXBsb2FkTWV0YSBwYXRoCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0IHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBhbmQgd2UgYXNrZWQKCSAgZm9yIGFub3RoZXIgd2l0aCBnc3Rfb2JqZWN0X3JlcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjMgMDE6MzI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg4Ni85MDZdIGZpeHVwIGEgbWVtb3J5IGxlYWsgb2YgdGhlIGNvbnRleHQgaW4gdGhlIEdMVGV4dHVyZVVwbG9hZE1ldGEgcGF0aAoJICBnc3Rfc3RydWN0dXJlX2dldCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgYW5kIHdlIGFza2VkCgkgIGZvciBhbm90aGVyIHdpdGggZ3N0X29iamVjdF9yZXBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIxIDE1OjI1OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODg1LzkwNl0gZmlsdGVyOiBmcmVlIG91ciBkYXRhCgkgIHBsdWdzIHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjEgMTM6Mjg6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4ODQvOTA2XSBmaWx0ZXI6IHJldHVybiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaW4gdHJhbnNmb3JtX2NhcHMKCSAgV2UgY2FuIHRyYW5zZm9ybSBmcm9tIGFueSBpbnB1dCBpbiBvdXIgY2FwcyB0byBhbnkgb3V0cHV0LgoJICBXaXRoIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgc25pcHBldDoKCSAgLi4uICEgdmFhcGlkZWNvZGUgISBnbGNvbG9yc2NhbGUgISB4dmltYWdlc2luawoJICBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgd2FzIGJlaW5nIHVzZWQgb24gYm90aCBzcmMgYW5kIHNpbmsKCSAgcGFkcyBjYXVzaW5nIGxpbmtpbmcgdG8gZmFpbC4gIFRoaXMgYWxsb3dzIHRoZSB1c2FnZSBvZiB0aGUgbWV0YQoJICBvbiBlaXRoZXIgcGFkIHdpdGhvdXQgYWZmZWN0aW5nIHdoZXRoZXIgdGhlIG1ldGEgaXMgY2hvc2VuIG9uIHRoZQoJICBvdGhlciBwYWQuCgoyMDE0LTAyLTExIDA4OjIzOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODgzLzkwNl0gYXBpOiBwcm92aWRlIGZyb21fc3RyaW5nKCkKCSAgQWxzbyBzL2dzdF9nbF9hcGlfc3RyaW5nL2dzdF9nbF9hcGlfdG9fc3RyaW5nL2cKCjIwMTQtMDItMTEgMDc6MjQ6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzg4Mi85MDZdIHBvcnQgZ2xjb2xvcnNjYWxlIHRvIEdMRVMyCgoyMDE0LTAyLTA2IDIxOjQzOjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODgxLzkwNl0gdXBsb2FkOiByZXN0b3JlIGRlZmF1bHQgdmFsdWVzIGZvciB1bnBhY2tfbGVuZ3RoCgkgIGZpeGVzIGVsZW1lbnRzIHRoYXQgdXBsb2FkIGEgc3VwcGxlbWVudGFyeSB0ZXh0dXJlIChnbGJ1bWJlciwKCSAgZ2xkaWZmZXJlbmNlbWF0dGUsIGV0YykKCjIwMTQtMDItMDUgMDA6NDQ6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbODgwLzkwNl0gZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgc3RvcmVkX2J1ZmZlciBmaWVsZAoJICBJdCBoYXMgdGhlIHBvdGVudGlhbCB0byBjYXVzZSBkZWFkbG9ja3MuCgoyMDE0LTAyLTIwIDIyOjQwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbODc5LzkwNl0gYnVpbGQ6IGRvbid0IGFkZCBYX0NGTEFHUyB0byBDRkxBR1MKCSAgSXQgc2hvdWxkIGFscmVhZHkgYmUgaW5jbHVkZWQgaWYgbmVlZGVkIGluc2lkZSBHTF9DRkxBR1MKCjIwMTQtMDItMDUgMDE6NTM6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzgvOTA2XSB0ZXN0czogdXBkYXRlIGZvciBnbG1lbSBhcGkgY2hhbmdlCgoyMDE0LTAyLTA0IDEzOjQ5OjM1ICswMTAwICBDaHJpcyBQYXVsc29uLUVsbGlzIDxjaHJpc0BlZGVzaXguY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg3Ny85MDZdIHgxMTogVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnRwdHIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUzNwoKMjAxNC0wMi0wMSAwMzoxNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzYvOTA2XSBnbG1lbTogdXNlIEdzdFZpZGVvSW5mbyBmb3IgZm9ybWF0IGNvbmZpZ3VyYXRpb24KCSAgQWxsb3dzIHVzZSBvZiBzdHJpZGVzCgoyMDE0LTAxLTMxIDA2OjUzOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODc1LzkwNl0gdXBsb2FkOiBzdXBwb3J0IGZvciBhcmJpdHJhcnkgc3RyaWRlcwoJICBVc2luZyBHTF9VTlBBQ0tfQUxJR05NRU5UIGZvciBHTEVTMiBhbmQgR0xfVU5QQUNLX1JPV19MRU5HVEggZm9yIGV2ZXJ5dGhpbmcgZWxzZQoKMjAxNC0wMS0zMCAwNzo0OToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFs4NzQvOTA2XSBmaWx0ZXI6IGltcGxlbWVudCBkcmF3X3RleHR1cmUgZm9yIEdMRVMyCgkgICh0YWtlbiBmcm9tIGdsZWZmZWN0cykKCjIwMTQtMDEtMjkgMTk6MTQ6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODczLzkwNl0gdXBsb2FkOiB1c2UgR3N0VmlkZW9JbmZvIGZvciBjaG9vc2luZyB0aGUgZm9ybWF0CgoyMDE0LTAxLTI5IDA2OjQyOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcyLzkwNl0gdXBsb2FkOiBjb25zb2xpZGF0ZSBkYXRhIF9maWxsCgoyMDE0LTAxLTI5IDAyOjUxOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcxLzkwNl0gdXBsb2FkOiBmaXggdGV4dHVyZSBzY2FsaW5nIGZvciBZVVkyL1VZVlkgd2l0aCBHTEVTMgoJICBBbm90aGVyIGFydGlmYWN0IGZyb20gdGhlIHRyYW5zaXRpb24gdG8gR0xfVEVYVFVSRV8yRAoKMjAxNC0wMS0yOSAwMTowMjo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3MC85MDZdIHVwbG9hZDogcmVtb3ZlIHN1cGVyZmxvdXMgZ19tdXRleF9pbml0CgoyMDE0LTAxLTMwIDA4OjI4OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIFs4NjkvOTA2XSB0ZXN0czogYWRkIHNvbWUgdXBsb2FkIHRlc3RzCgoyMDE0LTAxLTI4IDA3OjUwOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODY4LzkwNl0gdXBsb2FkOiBmaXggY29tcGlsYXRpb24gZm9yIEdMRVMyCgoyMDE0LTAxLTE3IDA4OjQ2OjAyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbODY3LzkwNl0gZ2x1cGxvYWQ6IEFkZCBHUkFZOC9HUkFZMTZMRS9CRSB1cGxvYWQgc3VwcG9ydCB0byBnbGltYWdlc2luawoJICB0aGUgMTZiaXQgZGF0YSBpcyB1cGxvYWRlZCBhcyBMVU1JTkFOQ0VfQUxQSEEsIHRoZW4gZXhwYW5kZWQsIGNvbXBvc2VkCgkgIGluIHNoYWRlci4gdmFsdWUgd2VpZ2h0IGlzIGEgbGl0dGxlIGNvbXBsaWNhdGUsIGhpZ2ggYnl0ZSB3ZWlnaHQgaXMKCSAgMjU1KjI1Ni82NTUzNSAoZGVub3JtYWxpemUgdG8gWzB+MjU1XSAsc2hpZnQgdG8gaGlnaCBieXRlLHRoZW4gbm9ybWFsaXplCgkgIHRvIFswfjFdKSwgbG93IGJ5dGUgd2VpZ2h0IGlzIDI1NS82NTUzNShzaW1pbGFyKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjcwCgoyMDEzLTExLTIzIDIyOjU3OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzg2Ni85MDZdIHVwbG9hZDogdXBkYXRlIHNvbWUgZG9jcwoKMjAxMy0xMS0yMyAyMjoxOToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzg2NS85MDZdIGdsbWVtOiByZXBvcnQgc3VjY2Vzc2Z1bCBjb3B5IHRvIHRoZSBjYWxsZXIKCjIwMTMtMTItMjkgMTc6Mjk6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzg2NC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgdG8gZ3RrMwoKMjAxMy0xMS0yNiAwOTozMjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs4NjMvOTA2XSB3aW5kb3c6IGhvbGQgYSByZWYgdG8gb3VyIEdzdEdMRGlzcGxheQoKMjAxMy0xMS0yNSAyMDozNDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODYyLzkwNl0gd2luZG93OiByZW1vdmUgc2V0X25lZWRfbG9jawoJICBOby1vbmUgaXMgdXNpbmcgaXQuICBUaGUgb25seSBjb2RlIHRoYXQgZGlkIHdhcyB0aGUgeDExIG9uZSB3aGljaAoJICBkb2Vzbid0IG5lZWQgaXQgYW55bW9yZS4KCjIwMTQtMDEtMTAgMDI6NTA6MTQgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBbODYxLzkwNl0gZ2xwcm90b3R5cGVzOiBBZGQgbWlzc2luZyBnbFNjYWxlZiBkZWNsYXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE5MDMKCjIwMTMtMTEtMjMgMjI6NTg6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzg2MC85MDZdIGRvY3M6IG1pc2MgdXBkYXRlcwoKMjAxMy0xMS0yMyAyMjo1Nzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs4NTkvOTA2XSB3aW5kb3c6IHByb3ZpZGUgc29tZSBkb2N1bWV0YXRpb24KCjIwMTMtMTEtMjMgMjI6NTY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbODU4LzkwNl0gZ2xtZW06IHVwZGF0ZSB0aGUgZG9jcwoKMjAxMy0xMS0yMyAyMjo1NDo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzg1Ny85MDZdIGRpc3BsYXk6IGRvY3VtZW50IHRoZSBuZXcgR3N0Q29udGV4dCBhcGkKCjIwMTMtMTEtMjMgMjI6NTM6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIFs4NTYvOTA2XSBjb250ZXh0OiBkb2N1bWVudCBpdAoKMjAxMy0xMS0xNCAxNToyNzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODU1LzkwNl0gdXBsb2FkOiBhZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDEzLTExLTEzIDAwOjQxOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODU0LzkwNl0gdXNlIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHRvIHByb3BvZ2F0ZSBHc3RHTENvbnRleHQKCSAgdXNlcyB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGFwaSB0eXBlIGZvciB0aGUgcXVlcnkKCjIwMTMtMTAtMjQgMjI6MzA6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzg1My85MDZdIGRpc3BsYXk6IHJlbW92ZSBfe3NldCxnZXR9X2NvbnRleHQKCSAgQSBHc3RHTERpc3BsYXkgZG9lc24ndCBuZWVkIGEgR3N0R0xDb250ZXh0IGFuZCBpdHMgdXNlCgkgIHdhcyBjYXVzZSBhIHJlZmVyZW5jZSBjeWNsZQoKMjAxMy0xMS0xMyAxMDo0MzoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg1Mi85MDZdIHVzZSBHc3RDb250ZXh0IGZvciBHc3RHTERpc3BsYXkgcHJvcG9nYXRpb24KCSAgaW1wbGVtZW50cyB0aGUgaG9va3MgcmVxdWlyZWQgaW4gR3N0RWxlbWVudDo6c2V0X2NvbnRleHQgYW5kIHRoZSBjb250ZXh0IHF1ZXJ5CgoyMDEzLTEyLTIwIDE1OjE4OjM4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzg1MS85MDZdIGRlaW50ZXJsYWNlOiBmaXggdGV4dHVyZSBjb29yZGluYXRlcyBjb21wdXRhdGlvbgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBmZmZkY2JkZDNkZGU0MzdlMTBjZjZlMWI1ZTQwYzY5NThkNDFlNmMxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA4MjYKCjIwMTMtMTEtMTUgMTg6Mjg6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NTAvOTA2XSBnbHVwbG9hZDogUmVtb3ZlIHRleHR1cmUgc2NhbGluZyBhcnRpZmFjdHMgZnJvbSB0aGUgVEVYVFVSRV9SRUNUQU5HTEUgLT4gVEVYVFVSRV8yRCB0cmFuc2l0aW9uCgkgIGZpeGVzIHRoZSBmdW5reSBjb2xvdXJzIGluIHNvbWUgb2YgdGhlIHl1diBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjExNTUKCjIwMTMtMTAtMjYgMDI6MjA6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJICBbODQ5LzkwNl0gdGVzdHNyYzogdXNlIF9jb250ZXh0X2dldF9nbF9hcGkKCjIwMTMtMTAtMjQgMjI6Mjg6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4NDgvOTA2XSBmaWx0ZXI6IGEgbGl0dGxlIGNvZGUgY2xlYW51cAoKMjAxMy0xMS0xMyAxNTo1NzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODQ3LzkwNl0gbWl4ZXI6IHVubWFwIHRoZSB2aWRlbyBmcmFtZXMgd2UgbWFwCgkgIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTMtMTEtMTUgMjA6NTA6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg0Ni85MDZdIG1peGVyOiBoYW5kbGUgMC8xIGZyYW1lcmF0ZSBiZXR0ZXIgaW4gY2FwcwoKMjAxMy0xMS0xNSAyMDo0OTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg0NS85MDZdIGZpbHRlcjogaGFuZGxlIGNhcHNmZWF0dXJlcyBwcm9wZXJseQoKMjAxMy0xMS0xNCAxNTowODo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBbODQ0LzkwNl0gbWl4ZXI6IGdpdmUgYWNjZXNzIHRvIHRoZSBwYWRzIGF0IHJlbmRlciB0aW1lCgkgIGFsbG93cyB1cyB0byBtb3ZlIHRoZSB2aWRlbyBmcmFtZSBtYXBwaW5nIHNvbWV3aGVyZSBlbHNlCgoyMDEzLTExLTEzIDIzOjI0OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzg0My85MDZdIG1lbW9yeTogcHJvdmlkZSBjb3B5X2ludG9fdGV4dHVyZQoKMjAxMy0xMi0yNSAyMzozNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzg0Mi85MDZdIEZpeCBnc3RnbGNvbmZpZy5oLXJlbGF0ZWQgJ21ha2UgZGlzdGNoZWNrJyBpc3N1ZXMKCSAgRml4IHNyY2RpciB2cy4gYnVpbGRkaXIgaXNzdWUgaW4gZG9jcyBhbmQgJ2ZpbGVzIGxlZnQgYWZ0ZXIKCSAgZGlzY2xlYW4nIGlzc3VlIGZvciBnc3RnbGNvbmZpZy5oCgoyMDEzLTExLTMwIDA5OjUxOjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4NDEvOTA2XSBvc3g6IGFsbG93IHgxMS9nbHggYmFja2VuZCBhbmQgc2V0IGRlZmF1bHQgcnVudGltZSB0byBjb2NvYS9uc2dsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3NTcKCjIwMTMtMTItMTQgMTk6MTI6MDkgKzAxMDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIFs4NDAvOTA2XSBnbHZpZGVvbWl4ZXI6IFVzZSBjb3JyZWN0IGNvb3JkaW5hdGVzIGFmdGVyIHRoZSBzd2l0Y2ggZnJvbSBHTF9URVhUVVJFX1JFQ1RBTkdMRSB0byBHTF9URVhUVVJFXzJECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAxNzcKCjIwMTMtMTEtMzAgMTY6Mzg6MTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs4MzkvOTA2XSBjb2NvYTogYWxsb3cgdG8gY2FsbCBzZXRfd2luZG93X2hhbmRsZSBiZWZvcmUgdG8gY3JlYXRlIGdsY29udGV4dAoJICBTbyB0aGF0IGl0IGFjdHVhbGx5IG1ha2UgY29jb2EgdmlkZW9vdmVybGF5IGV4YW1wbGUgd29yayBhZ2Fpbi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3NTgKCjIwMTMtMTEtMTUgMTg6Mjg6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs4MzgvOTA2XSBnbDogVXNlIEdMX1RFWFRVUkVfMkQgaW5zdGVhZCBvZiBHTF9URVhUVVJFX1JFQ1RBTkdMRQoJICBXZSBjcmVhdGUgb3VyIHRleHR1cmVzIChpbiBEZXNrdG9wIEdMKSB3aXRoIEdMX1RFWFRVUkVfUkVDVEFOR0xFLAoJICB2YWFwaSBhdHRlbXB0cyB0byBiaW5kIG91ciB0ZXh0dXJlIHRvIEdMX1RFWFRVUkVfMkQgd2hpY2ggdGhyb3dzIGEKCSAgR0xfSU5WQUxJRF9PUEVSQVRJT04gZXJyb3IgYW5kIGFzIHRodXMsIG5vIHZpZGVvLgoJICBBbHNvLCBieSBtb3ZpbmcgZXhjbHVzaXZlbHkgdG8gR0xfVEVYVFVSRV8yRCBhbmQgdGhlIG5wb3QgZXh0ZW5zaW9uCgkgIHdlIGFsc28gcmVtb3ZlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBEZXNrdG9wIEdMIGFuZCBHTEVTMiBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjg3CgoyMDEzLTExLTA4IDEyOjEyOjI2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs4MzcvOTA2XSBjb2NvYTogcmVzaXplIE9wZW5HTCB2aWV3IHNpemUgZWFjaCB0aW1lIHRoZSB3aW5kb3cgaXMgcmVzaXplZAoJICBGaXhlcyBnbGl0Y2hlcyB0aGF0IGNhbiBhcHBlYXIgd2hlbiB0aGUgT3BlbkdMIHZpZXcgaGFzIG5vdCBiZWVuIHJlc2l6ZWQKCSAgYWZ0ZXIgYSB3aW5kb3cgcmVzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjcyCgoyMDEzLTExLTAxIDE2OjM1OjQ2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBbODM2LzkwNl0gY29jb2E6IG9ubHkgdXNlIEdTUmVnaXN0ZXJDdXJyZW50VGhyZWFkIHdpdGggR05VU3RlcCBlbnZpcm9ubWVudAoKMjAxMy0xMS0wNiAyMjoxNjoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgzNS85MDZdIGdzdGdsd2luZG93OiByZW1vdmUgdW51c2VkIGZpZWxkcwoKMjAxMy0xMS0wNiAyMjoxMzoyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgzNC85MDZdIGdzdGdsd2luZG93OiBjbGVhciBtdXRleAoKMjAxMy0xMS0wNiAyMjoxMjowMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MzMvOTA2XSBnc3RnbGNvbnRleHQ6IGluaXRpYWxpemUgd2luZG93IHRvIE5VTEwKCjIwMTMtMTEtMDYgMjE6NTk6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgzMi85MDZdIHgxMTogaWdub3JlIEV4cG9zZSBldmVudHMgbm90IGluaXRpYXRlZCBieSBnc3RfZ2xfd2luZG93X2RyYXcKCjIwMTMtMTEtMDYgMjE6NTU6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgzMS85MDZdIGdsaW1hZ2VzaW5rOiBhdm9pZCB0byBvdmVybG9hZCB0aGUgZHJhd2VyIGlmIGFscmVhZHkgZHJhd2luZwoJICBFc3BlY2lhbGx5IGlmIHRoZSBhcHBsaWNhdGlvbiBjYWxscyBnc3RfdmlkZW9fb3ZlcmxheV9leHBvc2UgYSBsb3QKCjIwMTMtMTAtMjMgMjE6NDY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODMwLzkwNl0gZ2x2aWRlb21peGVyOiBBZGQgYSBuZXcgc2ltcGxlIGdsdmlkZW9taXhlciBlbGVtZW50CgkgIHRoYXQgc2ltcGx5IHVzZXMgZ2xCbGVuZEZ1bmMgdG8gYmxlbmQgZWFjaCBpbXB1dCBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzE0CgoyMDEzLTEwLTIzIDIwOjM4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MjkvOTA2XSBtaXhlcjogZXJyb3Igb3V0IHByb3Blcmx5IG9uIGZsdXNoaW5nCgoyMDEzLTEwLTIyIDIxOjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzgyOC85MDZdIGNvbnRleHQ6IHJlZmNvdW50IHRoZSBkaXNwbGF5CgoyMDEzLTEwLTI2IDAyOjIwOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MjcvOTA2XSBtaXhlcjogZG9uJ3QgdW5yZWYgdGhlIHF1ZXJ5IGluIHRoZSBkZWZhdWx0IGNhc2UKCSAgVGhlIGVsZW1lbnQvYXBwbGljYXRpb24gcGVyZm9ybWluZyB0aGUgcXVlcnkgaXMgcmVzcG9uc2libGUgZm9yIHRoZQoJICBkZS9hbGxvY2F0aW9uCgoyMDEzLTEwLTI0IDIxOjI0OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODI2LzkwNl0gdXBsb2FkOiBmcmVlIG91ciBtdXRleAoKMjAxMy0xMC0xMSAxNjowMDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODI1LzkwNl0gZ2x3aW5kb3dfeDExOiBjaGVjayBpZiB0aGUgbG9vcCBleGlzdHMKCSAgSXQgaGFwcGVucyB3aGVuIGNhbGxpbmcgc2V0X3dpbmRvd19oYW5kbGUgYmVmb3JlIHRvIHJlYWNoIEdTVF9TVEFURV9SRUFEWS4KCSAgSW4gdGhpcyBjYXNlIHRoZSBwYXJlbnQgaXMgc2V0IHdoZW4gY3JlYXRpbmcgdGhlIGludGVybmFsIHdpbmRvdy4KCjIwMTMtMTAtMDEgMjM6NDc6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzgyNC85MDZdIGFuZHJvaWQ6IEJ1aWxkIGZpeGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3ODYKCjIwMTMtMTAtMDEgMTE6NDY6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzgyMy85MDZdIHdheWxhbmRfZWdsOiBtYWtlIHRoZSB3YXlsYW5kIGJhY2tlbmQgYWN0dWFsbHkgd29yayBvbiBSYXNwYmVycnkgUGkKCSAgRml4IHJlc2l6aW5nIGFuZCBjYW4gbm93IG1vdmUgdGhlIHdpbmRvdwoKMjAxMy0xMC0wMSAxMTo0NDowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzgyMi85MDZdIGdzdGdsY29udGV4dF9lZ2w6IGF2b2lkIG5vbiB3b3JraW5nIEVHTCBjb25mcyBvbiBycGkvd2F5bGFuZAoKMjAxMy0xMC0wMSAxMTo0MjoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODIxLzkwNl0gdGVzdHM6IGZpeCB0ZXN0X3NoYXJlIG9uIEdMRVN2MgoKMjAxMy0xMC0wMSAxMToyNzowNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgyMC85MDZdIGdzdGdsd2luZG93OiBpZiBhdmFpbGFibGUgdXNlIHdheWxhbmQgaW5zdGVhZCBkaXNwbWFueCBvbiBycGkKCjIwMTMtMDktMjcgMDE6MTU6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs4MTkvOTA2XSBtYWtlIGdlbl90ZXh0dXJlL2RlbF90ZXh0dXJlIHRocmVhZHNhZmUKCSAgVXNlIHN0YWNrIGFsbG9jYXRlZCBpbnN0ZWFkIG9mIHN0YXRpYyB2YXJpYWJsZXMKCSAgQ29uZmxpY3RzOgoJICBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jCgoyMDEzLTA5LTI1IDEyOjI2OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODE4LzkwNl0gd2luZG93OiBhZGQgc2VuZF9tZXNzYWdlX2FzeW5jIHZtZXRob2QKCSAgLSBwcm92aWRlIGEgZGVmYXVsdCBzeW5jaHJvbm91cyBzZW5kX21lc3NhZ2UKCSAgLSBtYWtlIGNvbnRleHQgY3JlYXRpb24gdGhyZWFkc2FmZSBhZ2FpbgoKMjAxMy0wOS0yNCAxNjozNzoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbODE3LzkwNl0gbWFrZSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QgcGFzcwoKMjAxMy0wOS0yNCAxNDowNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODE2LzkwNl0geDExOiBmaXggbWFrZSBjaGVjayBzZWdmYXVsdAoKMjAxMy0wOS0yMCAxMTo1NTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODE1LzkwNl0gZml4IHNvbWUgcmVmY291bnQgZXJyb3JzCgoyMDEzLTA5LTIwIDExOjU0OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MTQvOTA2XSBtaXhlcjogdGltZXN0YW1wIGJ1ZmZlcnMKCjIwMTMtMDktMTYgMTk6MDc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MTMvOTA2XSB1bnJlZiB0aGUgcG9vbCBvbiBzaHV0ZG93bgoKMjAxMy0wOS0xNSAxNDoyMzo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzgxMi85MDZdIG1vdmUgdGhlIEdMIHZ0YWJsZSBmcm9tIEdzdEdMRGlzcGxheSB0byBHc3RHTENvbnRleHQKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jCgoyMDEzLTA4LTIyIDE1OjU1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzgxMS85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIEdzdEdMQ29udGV4dCBhZGRpdGlvbgoKMjAxMy0wOS0yNiAxNDo0NjoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbODEwLzkwNl0gZ3N0Z2x1dGlsczogdXNlIGdsX3Z0YWJsZSBmb3IgZ2xEZWxldGVUZXh0dXJlcwoKMjAxMy0wOS0yNiAxNDo0MzoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODA5LzkwNl0gdGVzdHM6IHBvcnQgdGVzdF9zaGFyZSB0byBHTEVTMgoJICBBbHNvIGFkZCBhIGRlaW5pdCBmdW5jdGlvbiB0byByZWxlYXNlIGZibywgdGV4IGFuZCBzaGFkZXIuCgoyMDEzLTA5LTAzIDIyOjAzOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MDgvOTA2XSB4MTE6IHJlbW92ZSBkZWFkIGNvZGUKCjIwMTMtMDktMDMgMjE6NDk6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzgwNy85MDZdIGNvbnRleHQ6IE1vdmUgc29tZSB3aW5kb3cgZXJyb3IgZW51bXMgdG8gY29udGV4dAoKMjAxMy0wOC0zMCAwMDoyODowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzgwNi85MDZdIGVnbDogZG9lc24ndCByZXF1aXJlIHRoZSBFR0xDb25maWcgZnJvbSB0aGUgb3RoZXIgY29udGV4dAoJICBsaWJFR0wgc2hvdWxkIGdpdmUgdXMgdGhlIHNhbWUgb3Igc2ltaWxhciBFR0xDb25maWcgZnJvbSB0aGUKCSAgRUdMRGlzcGxheSB3ZSBoYXZlLgoKMjAxMy0wOC0zMCAwMDoyMjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs4MDUvOTA2XSBnbGZpbHRlcjogcmVuYW1lIGV4dGVybmFsLW9wZW5nbC1jb250ZXh0IHByb3AgdG8gb3RoZXItY29udGV4dAoJICBJdCBub3cgcmVxdWlyZXMgYSBHc3RHTENvbnRleHQgaW5zdGVhZCBvZiBhIGhhbmRsZQoKMjAxMy0wOC0zMCAxNTo1Mzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzgwNC85MDZdIHJwaTogY2FsbCBiY21faG9zdF9pbml0IGluIHBsdWdpbl9pbml0CgoyMDEzLTA4LTMwIDE0OjEyOjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MDMvOTA2XSByYXNwYmVycnlwaTogYWRkIHN1cHBvcnQgZm9yIGRpc3BtYW54CgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQyCgoyMDEzLTA4LTI5IDIwOjEyOjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MDIvOTA2XSBhZGQgR3N0R0xDb250ZXh0IHRlc3QgdGhhdCB0ZXN0cyBjb250ZXh0IHNoYXJpbmcKCjIwMTMtMDgtMjkgMjA6MTA6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbODAxLzkwNl0gY29udGV4dDogUmVpbXBsZW1lbnQgR0wgY29udGV4dCBzaGFyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ4MDYKCjIwMTMtMDgtMjggMTA6MzI6MjkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MDAvOTA2XSBnbGltYWdlc2luazogYXZvaWQgdG8gZHJhdyB0ZXh0dXJlIHdoaWxlIHJlbGVhc2luZyBzdG9yZWQgYnVmZmVyCgkgIFNwb3RlZCBieSBnZW5lcmljL2N1YmUgZXhhbXBsZSB3aXRoIENsaWVudERyYXdDYWxsYmFjayBzZXQgdG8KCSAgcmV0dXJuaW5nIFRSVUUgKGl0IG1lYW5zIGRyYXdpbmcgYXMgZmFzdCBhcyBwb3NzaWJsZSkKCjIwMTMtMDgtMjggMTA6MDc6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzk5LzkwNl0gZ2xpbWFnZXNpbms6IGZpeCBhc3luY2hyb25lIGRyYXdpbmcKCSAgU2ltcGxpZnkgZ3N0X2dsaW1hZ2Vfc2lua19yZWRpc3BsYXkgd2hpY2ggaXMgdGhlcmUKCSAgb25seSB0byBhc2sgdGhlIHdpbmRvdyBmb3IgYSByZWRyYXcuCgkgIFB1dCBhIGxvY2sgdG8gbWFrZSBzdXJlIHdlIGFyZSBub3QgcmVhbGVhc2luZwoJICB0aGUgc3RvcmVkIGJ1ZmZlciB3aGlsZSBzdGlsbCBkcmF3aW5nIHRoZSBjb3JyZXNwb25kaW5nCgkgIHRleHR1cmUKCjIwMTMtMDgtMjIgMDA6Mjk6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSAgWzc5OC85MDZdIGJ1aWxkOiBpbnN0YWxsIG5lZWRlZCBoZWFkZXIKCjIwMTMtMDgtMjEgMTU6NDA6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc5Ny85MDZdIHgxMTogZml4IGJ1aWxkIGZvciBjbGFuZwoKMjAxMy0wOC0yMSAxNDowNTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBbNzk2LzkwNl0gbW92ZSBlZ2wgaW50byBpdHMgb3duIGRpcmVjdG9yeQoKMjAxMy0wOC0yMSAxMzo1Nzo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBbNzk1LzkwNl0gYW5kcm9pZDogcG9ydCB0byBHc3RHTENvbnRleHQKCSAgbm90IHRlc3RlZAoKMjAxMy0wOC0xNSAxNzowOTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs3OTQvOTA2XSBjb250ZXh0OiBhZGQgc3ViY2xhc3NlcyBmb3IgdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMgKGVnbCwgZ2x4LCB3Z2wsIGV0YykKCSAgLSBtb3N0IGNvZGUgdGFrZW4gZnJvbSB0aGUgV2luZG93IHN1YmNsYXNzZXMKCSAgLSB0ZXN0ZWQgY29tYmluYXRpb25zOiB4RUdMLCBHTFgsIFdheWxhbmQrRUdMLCBDb2NvYSAodW5kZXIgR05VU3RlcCksIFdHTCAoV2luZSkKCjIwMTMtMDgtMTQgMTA6NDQ6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzc5My85MDZdIGFkZCBhIEdzdEdMQ29udGV4dCBvYmplY3QgdGhhdCB3aWxsIGJlIHRoZSBiYXNpcyBvZiBPcGVuR0wgY29udGV4dHMKCSAgQXQgdGhlIG1vbWVudCBpdCBqdXN0IHNpdHMgaW4gYmV0d2VlbiBHc3RHTERpc3BsYXkgYW5kIEdzdEdMV2luZG93CgkgIHBlcmZvcm1pbmcgc29tZSBvZiB0aGUgc3R1ZmYgdGhhdCBHc3RHTFdpbmRvdyB1c2VkIHRvIGRvLgoKMjAxMy0wOC0xMyAyMDoxMDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs3OTIvOTA2XSBidWlsZDogdXNlIG91ciBvd24gaW4gdHJlZSBoZWFkZXJzIGJlZm9yZSBzeXN0ZW0gb25lcwoJICBhbGxvd3MgdXMgdG8gZGV2ZWxvcCBhZ2FpbnN0IHRoZSB0cmVlIHJhdGhlciB0aGFuIHdoYXQgbWF5IGJlIGluc3RhbGxlZAoKMjAxMy0wOC0xNiAxNjoyOToxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSAgWzc5MS85MDZdIGdsd2luZG93L3gxMTogcmVtb3ZlIFgxMUV2ZW50U291cmNlIGFzIHNvb24gYXMgdGhlIHdpbmRvdyBpcyBkZWxldGVkCgkgIGdzdF9nbF93aW5kb3dfeDExX3NlbmRfbWVzc2FnZSBkbyBub3QgdXNlIFhTZW5kRXZlbnQgYW55bW9yZQoKMjAxMy0wOC0xNiAxNToyNjoyOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc5MC85MDZdIGdsaW1hZ2VzaW5rOiByZXRyaWV2ZSB3aW5kb3cgb25seSB3aGVuIGNsaWVudERyYXdDYWxsYmFjayByZXR1cm4gdHJ1ZQoKMjAxMy0wOC0wNyAxNzoxMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3ODkvOTA2XSBlZ2w6IENyZWF0ZSBhIHdpbmRvdyBzdXJmYWNlIGlmIG5lY2Vzc2FyeQoKMjAxMy0wOC0wNyAxMTo0Njo0OSArMDIwMCAgVG9udSBKYWFuc29vIDxjaGFpbkBic2QuZWU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzc4OC85MDZdIG9zeDogRml4IGNvbXBpbGF0aW9uCgoyMDEzLTA4LTA3IDExOjQyOjQ2ICswMjAwICBUb251IEphYW5zb28gPGNoYWluQGJzZC5lZT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc4Ny85MDZdIGdsOiBUaGUgR0xTTCByZWN0YW5nbGUgcmVzYW1wbGVyIGRvZXMgbm90IGFsd2F5cyB3b3JrIHdpdGggaW50IHRleCBjb29yZHMKCSAgVXNlIGZsb2F0cyBpbnN0ZWFkLgoKMjAxMy0wNy0yNCAxMzozNToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJICBbNzg2LzkwNl0gZ2xwcm90b3R5cGVzOiBBZGQgc3VwcG9ydCBmb3IgTlYgZXh0ZW5zaW9ucyBmb3IgRHJhd0J1ZmZlcnMgYW5kIFJlYWRCdWZmZXIKCjIwMTMtMDctMjQgMTM6MzQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJICBbNzg1LzkwNl0gZWdsOiBVc2UgRUdMX0tIUl9zdXJmYWNlbGVzc19jb250ZXh0IGluc3RlYWQgb2YgY3JlYXRpbmcgYSB1c2VsZXNzIHN1cmZhY2UgaWYgYXZhaWxhYmxlCgoyMDEzLTA3LTIyIDE5OjAwOjQyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzc4NC85MDZdIGdsb3ZlcmxheTogYWRkIEdfQkVHSU4vRU5EIGRlY2xhcmF0aW9uCgoyMDEzLTA3LTE5IDE2OjI4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc4My85MDZdIGdsaW1hZ2VzaW5rOiBGaXggZm9ybWF0IHN0cmluZyB3YXJuaW5nCgoyMDEzLTA3LTE5IDEwOjA3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzgyLzkwNl0gZ2xkb3dubG9hZDogVXNlIHN0cmxlbigpIGluc3RlYWQgb2Ygc2l6ZW9mKGNoYXIqKQoJICBnc3RnbGRvd25sb2FkLmM6ODQ2OjIyOiBlcnJvcjogYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbWNweScgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBzb3VyY2U7IGRpZCB5b3UgbWVhbiB0byBwcm92aWRlIGFuIGV4cGxpY2l0IGxlbmd0aD8gWy1XZXJyb3I9c2l6ZW9mLXBvaW50ZXItbWVtYWNjZXNzXQoKMjAxMy0wNy0xOSAxNjo0ODowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzgxLzkwNl0gZG93bmxvYWQ6IHByb3BvZ2F0ZSBlcnJvcnMgZnJvbSB0aGUgR0wgdGhyZWFkCgoyMDEzLTA3LTE4IDIwOjIxOjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzc4MC85MDZdIHVwL2Rvd25sb2FkOiBjaGVjayByZXR1cm4gdmFsdWVzCgkgIFNvIHdlIGZhaWwgcHJvcGVybHkKCjIwMTMtMDctMTggMTk6Mzc6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzc3OS85MDZdIGRvd25sb2FkOiByZW1vdmUgX3RocmVhZCB2YXJpYW50cyBvZiB0aGUgQVBJCgoyMDEzLTA3LTE4IDE5OjM2OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc3OC85MDZdIHVwbG9hZDogcmVtb3ZlIF90aHJlYWQgdmFyaWFudHMgb2YgdGhlIEFQSQoKMjAxMy0wNy0xOCAxOToxNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs3NzcvOTA2XSB1cGxvYWQ6IG92ZXJoYXVsIGFuZCBhZGRpdGlvbiBvZiBuZXcgdmlkZW8gZm9ybWF0cwoJICB1c2UgdGhlIHNoYWRlcnMgZnJvbSBlZ2xnbGVzc2luayAoYWRhcHRlZCBmb3IgRGVza3RvcCBHTCkKCSAgZXJyb3Igb3V0IHByb3Blcmx5CgoyMDEzLTA3LTE3IDIxOjE3OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NzYvOTA2XSBkb3dubG9hZDogZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgbWlzc2luZyBzdHJpbmcgZm9ybWF0CgoyMDEzLTA3LTE5IDA5OjIwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzc3NS85MDZdIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdMZWdsSW1hZ2VPRVMgYW5kIG90aGVycyBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NDk4CgoyMDEzLTA3LTE4IDIwOjI2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzc3NC85MDZdIHdpbjMyOiBGaXggc29tZSBjb21waWxlciBlcnJvcnMvd2FybmluZ3MKCjIwMTMtMDctMTggMDE6NDI6MzEgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNzczLzkwNl0gZ2xmaWx0ZXJzOiBNYXJrIHdyaXRhYmxlLW9ubHkgcHJvcGVydGllcyBhcyByZWFkYWJsZSBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0MjkKCjIwMTMtMDctMTggMDE6NDE6MDUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs3NzIvOTA2XSBnbGZpbHRlcnM6IE1hcmsgdGhlbSBhcyBWaWRlbyBmaWx0ZXJzIGluIHRoZWlyIGNsYXNzaWZpY2F0aW9uCgkgIEl0IG1ha2VzIGl0IHBvc3NpYmxlIGZvciBhcHBsaWNhdGlvbnMgbGlrZSBwaXRpdmkgdG8KCSAgdXNlIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0MjkKCjIwMTMtMDctMTcgMTE6MjI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs3NzEvOTA2XSBnbDogU29tZSBsZXNzIGxvbmcvdWxvbmcvZ3Vsb25nIHVzYWdlCgoyMDEzLTA3LTE2IDE4OjI4OjMzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNzcwLzkwNl0gdGVzdHMvZXhhbXBsZXM6IHBvcnQgc29tZSBvZiB0aGUgZXhhbXBsZXMuCgkgIFRoaXMgY29tbWl0IGlzIGEgZmlyc3Qgc3RlcCwgcmVtb3ZlcyBnbHVwbG9hZCwgc3dpdGNoIG5ldy1kZWNvZGVkLXBhZAoJICB0byBwYWQtYWRkZWQsIGJ1dCB0aGVzZSBleGFtcGxlcyBzdGlsbCBmYWlsIGZvciB2YXJpb3VzIHJlYXNvbnMuCgoyMDEzLTA3LTE2IDE4OjI3OjA3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs3NjkvOTA2XSB0ZXN0cy9leGFtcGxlczogZml4IGFuZCBwb3J0IHNvbWUgb2YgdGhlIGV4YW1wbGVzLgoJICBSZWFsaXplIHdpZGdldHMsIHJlbW92ZSBnbHVwbG9hZCBlbGVtZW50LgoKMjAxMy0wNy0xNiAxNjoxNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzY4LzkwNl0gZ2x0ZXN0c3JjOiBGaXggdXNhZ2Ugb2YgRkJPIEFQSQoKMjAxMy0wNy0xNiAxNDoyMjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzY3LzkwNl0gZ2xpbWFnZXNpbms6IFJlbW92ZSBHVmFsdWUgdXNhZ2UgZm9yIGZyYWN0aW9uIGhhbmRsaW5nCgoyMDEzLTA3LTA0IDEwOjAxOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIFs3NjYvOTA2XSB1dGlsczogZ2VuZXJhdGUgYSBSR0JBIHRleHR1cmUgaW4gYWxsIGNhc2VzCgoyMDEzLTA3LTAzIDIxOjAxOjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3NjUvOTA2XSB3YXlsYW5kOiByZW1vdmUgZnVsbHNjcmVlbgoKMjAxMy0wNy0wMyAxNDozNzoxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzc2NC85MDZdIGZpbHRlcjogZml4IHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIHVwbG9hZCBpcyBmb3IgdGhlIHNpbmsgdGVtcGxhdGUKCSAgZG93bmxvYWQgaXMgZm9ybSB0aGUgc3JjIHRlbXBsYXRlCgoyMDEzLTA3LTAzIDE0OjEzOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNzYzLzkwNl0gbWVtb3J5OiBjb3B5IHByb3Blcmx5IGRlcGVuZGluZyBvbiB3aGVyZSB0aGUgbW9zdCByZWNlbnQgZGF0YSBpcwoKMjAxMy0wNy0xNiAxNDoxMTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzYyLzkwNl0gZ2xpbWFnZXNpbms6IEZpeCBzb21lIG1lbW9yeSBsZWFrcyBhbmQgcHJvcGVybHkgc2V0IHVwIHRoZSBidWZmZXIgcG9vbAoKMjAxMy0wNy0xNiAxMzoyODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzc2MS85MDZdIHgxMTogUHJvdGVjdCBldmVudCBkaXNwbGF5IGNvbm5lY3Rpb24gd2l0aCBhIG11dGV4CgkgIFdlIHVzZSBpdCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGFuZCBuZWVkIHRvIHNlcmlhbGl6ZSB0aGUKCSAgYWNjZXNzZXMgdG8gaXQuCgoyMDEzLTA3LTE2IDEzOjIzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzYwLzkwNl0geDExOiBBbHdheXMgdXNlIHRoZSBzYW1lIGRpc3BsYXkgY29ubmVjdGlvbiBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgVGhlIG90aGVyIGRpc3BsYXkgY29ubmVjdGlvbiBtaWdodCBiZSB1c2VkIGJ5IGFzeW5jIGNhbGxzIGZyb20gZWxzZXdoZXJlCgkgIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDcKCjIwMTMtMDctMTUgMjE6NDQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTkvOTA2XSBnbGRvd25sb2FkOiAjaWZkZWYgc29tZSBHTEVTMiBzcGVjaWZpYyBjb2RlIHRvIGZpeCBjb21waWxhdGlvbgoKMjAxMy0wNy0xNSAxODowNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSAgWzc1OC85MDZdIGFuZHJvaWQ6IERvbid0IHJlcXVpcmUgYSB3aW5kb3cgdG8gYmUgc2V0CgkgIFRoaXMgYWxsb3dzIHRoZSBmaWx0ZXJzIHRvIGJlIHVzYWJsZSB3aXRob3V0IGEgR0wgc2luayBkb3duc3RyZWFtLgoKMjAxMy0wNy0xNSAxODowMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3NTcvOTA2XSBlZ2w6IENyZWF0ZSBhbiBvZmZzY3JlZW4gc3VyZmFjZSBpZiBubyB3aW5kb3cgd2FzIHByb3ZpZGVkCgoyMDEzLTA3LTE1IDE3OjIwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzU2LzkwNl0gZ2xkb3dubG9hZDogUmVzZXQgdGhlIHZpZXdwb3J0IGFmdGVyIGRvd25sb2FkIFJHQiB2aWEgR0xFUzIKCjIwMTMtMDctMTUgMTc6MTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTUvOTA2XSBnbGRvd25sb2FkOiBVbmJpbmQgZnJhbWVidWZmZXIgYWZ0ZXIgZG93bmxvYWRpbmcgUkdCIHdpdGggR0xFUzIKCjIwMTMtMDctMTUgMTc6MDg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIFs3NTQvOTA2XSBnbGRvd25sb2FkOiBBZGQgc3VwcG9ydCBmb3IgUkdCIHJlb3JkZXJpbmcgd2hlbiB1c2luZyBHTEVTMgoKMjAxMy0wNy0xNSAxNzowODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNzUzLzkwNl0gZ2xkaXNwbGF5OiBTZW5kaW5nIGEgbWVzc2FnZSBpcyBzeW5jaHJvbm91cywgd2UgY2FuIGFsbG9jYXRlIHRoZSBtZW1vcnkgb24gdGhlIHN0YWNrCgoyMDEzLTA3LTE1IDE1OjU4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3NTIvOTA2XSBnbHdpbmRvdzogQWRkIGRlc3Ryb3kgbm90aWZpZXMgZm9yIHRoZSBkYXRhIG9mIHRoZSBjYWxsYmFja3MKCSAgQW5kIGFjdHVhbGx5IGNhbGwgdGhlIGNsb3NlIGNhbGxiYWNrIHdoZW4gdGhlIHdpbmRvdyBpcyBjbG9zZWQuCgoyMDEzLTA3LTE1IDE1OjI1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs3NTEvOTA2XSBnbGRpc3BsYXk6IERvbid0IGhvbGQgbG9jayB3aGlsZSBzZW5kaW5nIGEgbWVzc2FnZSB0byB0aGUgR0wgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDcKCjIwMTMtMDctMTUgMTQ6MTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs3NTAvOTA2XSBnbHVwbG9hZDogQWRkIHN1cHBvcnQgZm9yIFJHQiByZW9yZGVyaW5nIHdoZW4gdXNpbmcgR0xFUzIKCjIwMTMtMDctMTUgMDc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNzQ5LzkwNl0gZ2xzaGFkZXI6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEzLTA3LTEyIDE0OjMxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzQ4LzkwNl0gZ2x1cGxvYWQ6IEdMX1NURU5DSUxfQVRUQUNITUVOVCBpcyBuZWVkZWQgZm9yIGRlc2t0b3AgR0wsIG5vdCBHTEVTCgoyMDEzLTA3LTEyIDE0OjI2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzc0Ny85MDZdIGdsOiBDb25zdGlmeSBZVVYgY29udmVyc2lvbiBzaGFkZXJzCgoyMDEzLTA3LTEyIDE0OjIwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJICBbNzQ2LzkwNl0gYW5kcm9pZDogQWRkIGNvbW1lbnQgdG8gY2xhcmlmeSB0aGUgdHlwZSBvZiBhIHZhcmlhYmxlCgoyMDEzLTA3LTEyIDE0OjIwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzc0NS85MDZdIGdsOiBTaW1wbGlmeSBhbmQgb3B0aW1pemUgWVVWIGNvbnZlcnNpb24gc2hhZGVycyBhIGJpdAoKMjAxMy0wNy0xMiAxMTozNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkgIFs3NDQvOTA2XSBnbDogVXNlIF9fR1NUX0dMX0hfXyBpbnN0ZWFkIG9mIF9fR0xfSF9fIGFzIGEgbXVsdGktaW5jbHVkZSBndWFyZAoJICBHTC9nbC5oIG1pZ2h0IHVzZSB0aGUgbGF0dGVyIGFscmVhZHkuCgoyMDEzLTA3LTExIDIxOjMwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkgIFs3NDMvOTA2XSB3aW4zMjogQWxsb3cgc2V0dGluZyB3aW5kb3cgaGFuZGxlIGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dAoKMjAxMy0wNy0xMSAyMToyMjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3NDIvOTA2XSBjb2NvYTogQWxsb3cgc2V0dGluZyB3aW5kb3cgaGFuZGxlIGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dAoKMjAxMy0wNy0xMSAyMToxNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzc0MS85MDZdIHdheWxhbmQ6IERvbid0IGxlYWsgbWFpbiBjb250ZXh0IGFuZCBsb29wCgoyMDEzLTA3LTExIDIxOjE1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzQwLzkwNl0geDExOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIwOjU4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzM5LzkwNl0geDExOiBEb24ndCBsZWFrIG1haW4gY29udGV4dCBhbmQgbWFpbiBsb29wCgoyMDEzLTA3LTExIDIwOjUxOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzczOC85MDZdIGdsOiBJbmNsdWRlIGdsdS5oIGFmdGVyIGdsLmgKCjIwMTMtMDctMTEgMTY6MjE6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzM3LzkwNl0gZ2xpbWFnZXNpbms6IFJlcXVlc3QgYW5kIHNldCB0aGUgd2luZG93IGhhbmRsZSBtdWNoIGVhcmxpZXIKCjIwMTMtMDctMTEgMTY6MDU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzczNi85MDZdIGdsaW1hZ2VzaW5rOiBHaXZlIE1BUkdJTkFMIHJhbmsgdG8gYmUgYWJsZSB0byBhdXRvcGx1ZyBpdCBpZiBub3RoaW5nIGVsc2UgaXMgYXZhaWxhYmxlCgoyMDEzLTA3LTEwIDExOjMxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MzUvOTA2XSBnbDogQWRkIHN1cHBvcnQgZm9yIEFuZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MAoKMjAxMy0wNy0xMSAxMTozNzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJICBbNzM0LzkwNl0gd2luMzI6IE1ha2UgYXV0b21ha2UgaGFwcHkgYnkgdXNpbmcgbm9pbnN0X0hFQURFUlMKCjIwMTMtMDctMTEgMTE6MDM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNzMzLzkwNl0gZ2w6IE1ham9yIGhlYWRlciBhbmQgaW5jbHVkZSBjbGVhbnVwCgoyMDEzLTA3LTEwIDE2OjAzOjA0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzczMi85MDZdIGJ1aWxkOiBmaXggcmVwZWF0ZWQgdHlwZWRlZnMKCSAgV3JpdGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgaW4gYW5vdGhlciB3YXkgdG8gYXZvaWQKCSAgcmVwZWF0ZWQgdHlwZWRlZnMgImVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiIuCgkgIFJhaXNlZCB3aGVuIHVzaW5nIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yCgkgIEl0IHNlZW1zIHRoYXQgQyBhcHBsZSBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0CgkgIEMxMSBmZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzODg1CgoyMDEzLTA3LTEwIDE1OjQ3OjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzMxLzkwNl0gY29jb2E6IGZpeCBidWlsZCB3aGVuIEdOVVNURVAgaXMgbm90IGRlZmluZWQKCjIwMTMtMDctMTAgMTE6MzA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIFs3MzAvOTA2XSBnbGNvbXBhdDogUHJvcGVybHkgY2hlY2sgZm9yIEdMY2hhciBhbmQgb3RoZXIgdHlwZXMKCSAgT24gQW5kcm9pZCBmb3IgZXhhbXBsZSB0aGVzZSBhcmUgbm8gI2RlZmluZXMgYnV0IHR5cGVkZWZzCgoyMDEzLTA3LTEwIDExOjI0OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs3MjkvOTA2XSBnbDogSW5jbHVkZSBjb25maWcuaCBldmVyeXdoZXJlCgoyMDEzLTA3LTAzIDE0OjEzOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzI4LzkwNl0gZ2xpbWFnZXNpbms6IGZpeCBmb3IgZ2xlczIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUwOAoKMjAxMy0wNy0wMyAwOToxMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSAgWzcyNy85MDZdIGVnbDogUmVmYWN0b3IgRUdMIGxvZ2ljIGludG8gYSBoZWxwZXIgb2JqZWN0CgoyMDEzLTA3LTAyIDIyOjQ1OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzcyNi85MDZdIHdpbmRvdzogZG9uJ3QgY2FsbCBhIE5VTEwgZGVzdHJveSBmdW5jdGlvbgoKMjAxMy0wNy0wMiAyMjowNjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmg6CgkgIFs3MjUvOTA2XSB4MTE6IHVzZSBHTWFpbkNvbnRleHQvR01haW5Mb29wCgkgIGFsbG93cyB1cyB0byBiZSByZWVudHJhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ0NQoKMjAxMy0wNy0wMiAxODozMzo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzI0LzkwNl0gd2F5bGFuZDogbWFrZSByZWVudHJhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ0NQoKMjAxMy0wNy0wMSAxNDo0MzoxNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzcyMy85MDZdIGdzdGdsd2luZG93OiBjbG9zZSBoYXMgdG8gYmUgY2FsbGVkIGluIHRoZSBnbHRocmVhZC4KCSAgSW5kZWVkICdnbFhNYWtlQ3VycmVudCAod2luZG93X3gxMS0+ZGV2aWNlLCBOb25lLCBOVUxMKTsnCgkgIGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIHRocmVhZCB3aGVyZSB0aGUgZ2xjb250ZXh0IGlzIGFjdHVhbGx5CgkgIGN1cnJlbnQuCgkgIE90aGVyd2lzZSBnbFhEZXN0cm95Q29udGV4dCBtYXkgY3Jhc2guCgoyMDEzLTA3LTAxIDAxOjM2OjM1ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzIyLzkwNl0gZ2w6IEZpeCBidWlsZCBvbiBXaW4zMgoJICAxKSBOZWVkIHRvIGluY2x1ZGUgR0wvZ2xleHQuaCBvbiBXMzIgdG8gcHJvdmlkZSBuZWNlc3NhcnkgbWFjcm9zCgkgIDIpIFczMiBtYWNyb3MgdGhhdCBwcmUtcHJvY2Vzc29yIGhhcyBieSBkZWZhdWx0IGFyZSBkaWZmZXJlbnQgZm9yIGRpZmZlcmVudAoJICB0b29sY2hhaW5zLiBCb3JsYW5kIHVzZXMgX19XSU4zMl9fLCBldmVyeW9uZSBlbHNlIGhhcyBfV0lOMzIsIHNvIGNoZWNrIGJvdGguCgkgIFNpZGUtbm90ZTogZ2xleHQuaCBpcyBub3Qgc3VwcGxpZWQgYnkgbWluZ3ctdzY0IGF0IHRoZSBtb21lbnQsIGJ1dCBjYW4gYmUKCSAgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cub3BlbmdsLm9yZy9yZWdpc3RyeS8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM2NAoKMjAxMy0wNi0yOCAxMToxMDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs3MjEvOTA2XSBnbGZpbHRlcjogVXNlIHVpbnQ2NCBmb3IgdGhlIE9wZW5HTCBjb250ZXh0IHByb3BlcnR5CgkgIHVsb25nL2xvbmcgcHJvcGVydGllcyBhcmUgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUKCSAgZm9yIHBvcnRhYmlsaXR5IHJlYXNvbnMuCgoyMDEzLTA2LTI4IDExOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzcyMC85MDZdIGV4YW1wbGVzOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDEzLTA2LTI4IDExOjAwOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzcxOS85MDZdIGdsOiBGaXggY29tcGlsYXRpb24gd2l0aCBHTEVTMgoKMjAxMy0wNi0yOCAwMDozNDo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNzE4LzkwNl0gc2hhZGVyOiBtYWtlIGl0IHBvc3NpYmxlIHRvIHVucmVmIGluIHRoZSBub24tR0wgdGhyZWFkCgoyMDEzLTA2LTI4IDAwOjMxOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNzE3LzkwNl0gcmVtb3ZlIG91dGRhdGVkIGNtYWtlIGJ1aWxkIGZpbGVzCgoyMDEzLTA2LTE3IDE5OjQ1OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJICBbNzE2LzkwNl0gd2F5bGFuZDogcHJvcGVybHkgY2hvb3NlIEVHTF9SRU5ERVJBQkxFX1RZUEUKCSAgYmFzZWQgb24gdGhlIGdsIGFwaSB3ZSBjaG9zZQoKMjAxMy0wNi0xNiAyMDo0NzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs3MTUvOTA2XSBkaXNwbGF5OiBpbmhlcml0IGZyb20gdGhlIHJpZ2h0IG9iamVjdCBjbGFzcwoKMjAxMy0wNi0xNiAyMDo0NDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MTQvOTA2XSBBZGQgR3N0R0xGcmFtZWJ1ZmZlciB0byByZXBsYWNlIF9kaXNwbGF5X2dlbl9mYm8gYW5kIGZyaWVuZHMKCSAgVGhpcyB2ZXJzaW9uIGlzIHNpbXBseSBBUEkgY29tcGF0aWJsZSB3aXRoIF9kaXNwbGF5X2dlbl9mYm8uCgkgIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBsaWtlbHkgcmV2YW1wIHRoZSBBUEkKCjIwMTMtMDYtMTYgMjA6NDE6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs3MTMvOTA2XSBzaGFkZXI6IG1ha2UgaXQgcG9zc2libGUgdG8gY3JlYXRlIHRoZSBvYmplY3QgaW4gYSBub24tR0wgdGhyZWFkCgoyMDEzLTA2LTE2IDIwOjM4OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3MTIvOTA2XSB3YXlsYW5kOiBzaHV0ZG93biBwcm9wZXJseQoJICBXZSBjYW5ub3QgdXNlIF9maW5hbGl6ZSBhcyB0aGlzIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSBHc3RHTFdpbmRvdydzCgkgIF9maW5hbGl6ZS4gIFRoaXMgY2F1c2VzIHVzIHRvIHRyeSBhbmQgcGVyZm9ybSBvcGVyYXRpb25zIHdpdGggdGhlCgkgIHdheWxhbmQgc2VydmVyIHdoZW4gdGhlIGNvbm5lY3Rpb24gaGFzIGJlZW4gc2V2ZXJlZC4KCjIwMTMtMDYtMTYgMjA6Mzc6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs3MTEvOTA2XSB3YXlsYW5kOiBzdXBwb3J0IGNob29zaW5nIERlc2t0b3AgR0wgYXMgdGhlIGFwaQoKMjAxMy0wNi0xNiAyMDozNDoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzcxMC85MDZdIHdpbmRvdzogZmFpbCBpZiB0aGUgdXNlciBzcGVjaWZpZXMgYW4gR0wgYXBpIHRoYXQgd2UgY2Fubm90IHdvcmsgd2l0aAoJICBJdCB3b3VsZCd2ZSBiZWVuIGNhdWdodCBsYXRlciBpbiBhbiBnX2Fzc2VydCBhbnl3YXkuCgoyMDEzLTA2LTEzIDE4OjMzOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNzA5LzkwNl0gZGlzcGxheTogc29tZSBtb3JlIGNsZWFudXBzCgoyMDEzLTA2LTEzIDE3OjU3OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzcwOC85MDZdIGRpc3BsYXk6IGEgY2xlYW51cCBhbmQgcmVtb3ZhbCBvZiBvbGQgY29kZQoKMjAxMy0wNi0xMyAxNjo1NTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzA3LzkwNl0gZGlzcGxheTogbW92ZSBlcnJvcl9tZXNzYWdlIHRvIHV0aWxzCgoyMDEzLTA2LTEzIDE2OjMxOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBbNzA2LzkwNl0gZGlzcGxheTogbW92ZSBhY3RpdmF0ZV9jb250ZXh0IGludG8gdXRpbHMKCjIwMTMtMDYtMTMgMTY6MDQ6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzA1LzkwNl0geDExOiBkb24ndCBzaHV0ZG93biBpbiBfZmluYWxpemUKCSAgVGhlIHdpbmRvdydzIGxvb3AgY291bGQgYmUgc3RpbGwgcnVubmluZyB3aGVuIF9maW5hbGl6ZSBpcyBjYWxsZWQKCSAgYW5kIGlmIHdlIGRlc3Ryb3kgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiBpdCB3aWxsIG5ldmVyIGJlIGNsb3NlZC4KCSAgQWRkIF9vcGVuIGFuZCBfY2xvc2UgdmZ1bmNzIHRvIEdzdEdMV2luZG93IHNvIHRoYXQgc3ViY2xhc3NlcyBjYW4KCSAgc3RhcnQgdXAgYW5kIHNodXRkb3duIGF0IHRoZSByaWdodCB0aW1lLgoKMjAxMy0wNi0xMyAxNDozNjo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzcwNC85MDZdIFVzZSBnc3Rfb2JqZWN0X1t1bl1yZWYgc28gd2UgY2FuIGdldCByZWZjb3VudHMgaW4gdGhlIGxvZwoKMjAxMy0wNi0xMyAxNDoxODoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwMy85MDZdIHgxMTogZG9uJ3Qgc2VnZmF1bHQgaWYgZGVzdHJveV9jYiBpcyBOVUxMCgoyMDEzLTA2LTEyIDIzOjIxOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDIvOTA2XSB4MTE6IGZpeCBzZWdmYXVsdCBpZiB0aGUgeDExIGJhY2tlbmQgaXMgaW5zdGFudGlhdGVkIGJ1dCBub3QgdXNlZAoKMjAxMy0wNi0xMiAyMzoxNzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzAxLzkwNl0gZGlzcGxheTogbW92ZSBjb250ZXh0IGNyZWF0aW9uIGludG8gd2luZG93CgoyMDEzLTA2LTEyIDAxOjA0OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBbNzAwLzkwNl0gZGlzcGxheTogbW92ZSBtb3N0IG9mIHRoZSBjb2RlIGludG8gdXRpbHMgZm9yIHNvcnRpbmcgbGF0ZXIKCSAgVGhpcyBjb250YWlucyBhIGhhY2sgdGhhdCBlc3NlbnRpYWxseSByZXF1aXJlcyBvbmUgR3N0R0xEaXNwbGF5CgkgIHBlciBwcm9jZXNzLgoKMjAxMy0wNi0xMSAxODo1MDoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs2OTkvOTA2XSBkaXNwbGF5OiByZW1vdmUgbGlzdCBvZiB1cGxvYWQgYW5kIGRvd25sb2FkIG9iamVjdHMKCSAgYW5kIG9ubHkgY3JlYXRlIGFuIHVwL2Rvd25sb2FkIG9iamVjdCB3aGVuIG5lZWRlZC4KCjIwMTMtMDYtMTEgMTI6MjY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzY5OC85MDZdIG1vdmUgc2luay1zcGVjaWZpYyBzdHVmZiBmcm9tIEdzdEdMRGlzcGxheSBpbnRvIGdsaW1hZ2VzaW5rCgoyMDEzLTA2LTExIDExOjI3OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY5Ny85MDZdIGRpc3BsYXk6IGFsbG93IHRoZSB1c2VyIHRvIHRyeSBhbmQgY2hvb3NlIHRoZSBHTCBhcGkgd2UgdXNlIHZpYSBlbnYgdmFyaWFibGUKCSAgR1NUX0dMX0FQST1vcGVuZ2wsb3BlbmdsMyxnbGVzMixnbGVzMwoKMjAxMy0wNi0xMSAxMToyNjozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSAgWzY5Ni85MDZdIGdsYXBpOiBmaXggbWVtb3J5IGxlYWsgZnJvbSBub3QgZnJlZWluZyBhIHN0cmluZwoKMjAxMy0wNi0wNCAyMjoxODo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIFs2OTUvOTA2XSBidWlsZDogcmVtb3ZlIGxpYnRvb2wgd2FybmluZyBhYm91dCAtdmVyc2lvbi1pbmZvIG5vdCB1c2VkIGluIGNvbnZlbmllbmNlIGxpYnJhcmllcwoKMjAxMy0wNi0wNCAyMjoxNzo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs2OTQvOTA2XSBidWlsZDogYWRkIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA2LTA0IDIyOjE2OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjkzLzkwNl0geDExX2dseDogYXNrIGZvciBhIDMuMCBHTCBDb250ZXh0CgkgIChmYWxsaW5nIGJhY2sgaWYgbmVlZGVkKQoKMjAxMy0wNi0wMyAxODoxNTo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbNjkyLzkwNl0gd2luZG93X3gxMTogYWRkIFhFcnJvciB0cmFwcGluZwoJICBzb21lIGZ1bmN0aW9ucyBpbiBHTFggY2FuIGZhaWwgaWYgdGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHN1cHBvcnQKCSAgY2VydGFpbiBmZWF0dXJlcyB3ZSBhc2sgZm9yIChpLmUuIEdMIDMpIGJyaW5naW5nIGRvd24gdGhlIGVudGlyZQoJICBhcHBsaWNhdGlvbgoKMjAxMy0wNi0wMyAxODoxMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2OTEvOTA2XSBmZWF0dXJlOiBtYWtlIGdzdF9nbF9jaGVja19leHRlbnNpb24gcHVibGljCgkgIHByZXZlbnRzIGR1cGxpY2F0aW9uIG9mIGNvZGUgb2YgZXh0ZW5zaW9uIHN0cmluZyBwYXJzaW5nIGluIEdzdEdMV2luZG93J3MKCjIwMTMtMDYtMDIgMjE6NDc6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjkwLzkwNl0gd2luZG93eDExZ2x4OiB1c2UgZmJjb25maWdzIGlmIHN1cHBvcnRlZAoKMjAxMy0wNC0yNSAxMjowNDoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY4OS85MDZdIGJ1bXBlcjogbmljZXIgZXJyb3IgZm9yIG5vIGJ1bXBtYXAgZmlsZSBwcm92ZWRlZAoKMjAxMy0wNC0yNCAxNDoyNToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2ODgvOTA2XSBkaXNwbGF5OiBwcm9wZXJseSBzaHV0ZG93biBpZiB3ZSBlcnJvciBhZnRlciBjb250ZXh0IGNyZWF0aW9uCgkgIFRoZSBfZmluYWxpemUoKSBjb2RlIGNoZWNrcyB0byBzZWUgaWYgdGhlIGNvbnRleHQgd2FzIGNyZWF0ZWQgYmVmb3JlCgkgIGF0dGVtcHRpbmcgdG8gZGVzdHJveSBpdC4gIFdlIG5ldmVyIGRpZCBzYXkgdGhhdCB3ZSBoYWQgY3JlYXRlZCB0aGUgY29udGV4dC4KCjIwMTMtMDQtMjQgMTQ6MjQ6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2ODcvOTA2XSBidW1wZXI6IGVycm9yIG91dCBwcm9wZXJseSBpZiB3ZSBjYW5ub3QgbG9hZCB0aGUgcG5nIGZpbGUKCjIwMTMtMDQtMjQgMTQ6MjM6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2ODYvOTA2XSBmaWx0ZXJzaGFkZXI6IGZpeCBzdHJpbmcgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTA0LTI0IDE0OjIyOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNjg1LzkwNl0gZmlsdGVyOiBpbXByb3ZlIGVycm9yIGhhbmRsaW5nCgoyMDEzLTA0LTI0IDEyOjE4OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY4NC85MDZdIGRpc3BsYXk6IGxhY2sgb2YgZm9ybWF0LXN0cmluZyBjYXVzaW5nIGEgY29tcGlsZXIgd2FybmluZwoKMjAxMy0wNC0yNCAxMjoxNzozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkgIFs2ODMvOTA2XSBmZWF0dXJlOiByZW1vdmUgZG91YmxlIGZyZWUKCjIwMTMtMDMtMTEgMTU6NTE6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNjgyLzkwNl0gb3ZlcmxheTogZml4IHZpZGVvLXRvcCBwcm9wZXJ0eQoKMjAxMy0wNi0wMiAwNzo1MjozMCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2ODEvOTA2XSB3aW4zMjogZml4IGdsIGFwaSBjYWxscyBvbiAzMi1iaXQKCSAgd2luIGhhcyB0aGUgYnJpZ2h0IGlkZWEgb2YgaGF2aW5nIDUgZGlmZmVyZW50IGNhbGxpbmcgY29udmVudGlvbnMuCgkgIHdlIHNob3VsZCBwcm9iYWJseSB1c2UgdGhlIHJpZ2h0IG9uZSBzbyB3ZSBkb24ndCBjcmFzaCBmcm9tIHN0YWNrCgkgIGNvcnJ1cHRpb24uCgoyMDEzLTAzLTEwIDEzOjM3OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzY4MC85MDZdIG92ZXJsYXk6IHRlbnRhdGl2ZSBwb3J0IHRvIG5ldyBHc3RHTEZ1bmNzIEFQSQoKMjAxMy0wMy0xMCAxMzozNDoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs2NzkvOTA2XSBvcGVuZ2w6IGZpeCBwbHVnaW5zIG5vdCBiZWluZyByZWdpc3RlcmVkIHdoZW4gdGhleSBzaG91bGQgYmUKCjIwMTMtMDMtMDkgMjM6MzY6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJICBbNjc4LzkwNl0gd2luZG93X3dpbjMyX3dnbDogaW1wbGVtZW50IHdnbEdldFByb2NBZGRyZXNzIGZvciBleHRlbnNpb24gZnVuY3Rpb25zCgoyMDEzLTAzLTA5IDIyOjUzOjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNjc3LzkwNl0gbWVtb3J5OiBmaXggR1NJWkUgcHJpbnRmIGZvcm1hdCBvbiB3aW4zMgoKMjAxMy0wMy0wOSAyMjo1MzowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSAgWzY3Ni85MDZdIHdpbmR3b193aW4zMjogcG9ydCB0byBuZXcgQVBJCgoyMDEzLTAzLTA5IDIyOjQ3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNjc1LzkwNl0gdXBsb2FkOiBwcm92aWRlIG5pY2VyIGRlYnVnZ2luZwoKMjAxMy0wMy0wOSAyMjo0NToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkgIFs2NzQvOTA2XSBmZWF0dXJlOiB0cnkgYW5kIGNhdGNoIG1vcmUgR0wgZXh0ZW5zaW9uIGZ1bmN0aW9ucwoJICBpZiB3ZSBkb24ndCBmaW5kIHRoZSBleHRlbnNpb24gaW4gY29yZSBHTCwgdHJ5IHRoZSBleHRlbnNpb24gdmVyc2lvbiBhbnl3YXkKCjIwMTMtMDMtMDkgMjI6Mzc6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjczLzkwNl0gZmVhdHVyZTogYWRkIGdzdHJlYW1lciBsaWNlbnNlCgoyMDEzLTAzLTA5IDIyOjA1OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY3Mi85MDZdIGRpc3BsYXk6IGNvbnN0aWZ5IEdzdEdMRnVuY3MgKmdsCgoyMDEzLTAzLTA5IDIxOjU5OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNjcxLzkwNl0gd2luMzI6ICNpbmNsdWRlIEdML2dsZXh0Lmggb24gd2luZG93cwoJICBhbHNvIGFkZCBzb21lIEdMIGRlZmF1bHQgdmFyaWFibGVzIGlmIHNvbWUgR0wgdHlwZXMgYXJlIG5vdCBkZWZpbmVkCgoyMDEzLTAyLTE4IDIxOjQwOjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNjcwLzkwNl0gZGlzcGxheTogcmVwbGFjZSBnbGliIGRlcHJlY2F0ZWQgYXBpCgoyMDEzLTAyLTEyIDIzOjQ4OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2NjkvOTA2XSB3aW5kb3c6IHNlcGVyYXRlIG9iamVjdCBjcmVhdGlvbiBhbmQgY29udGV4dCBjcmVhdGlvbgoKMjAxMy0wMi0wNCAyMTozMDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzY2OC85MDZdIHNoYWRlcjogZml4IGdsZXMyIHNlZ2ZhdWx0CgoyMDEzLTAyLTA0IDIxOjI5OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzY2Ny85MDZdIGZpbHRlcmN1YmU6IGZpeCBmb3IgZ2xlczIgY29tcGlsYXRpb24KCjIwMTMtMDItMDEgMTg6MjA6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzY2Ni85MDZdIHNvYmVsOiBwb3J0IGZvciBub24tZ2xldwoKMjAxMy0wMi0wMSAwMDowODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzY2NS85MDZdIG1vc2FpYzogZml4IGEgY291cGxlIG9mIGFzc2VydGlvbnMKCjIwMTMtMDItMDEgMDA6MDY6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2NjQvOTA2XSBmaWx0ZXJzaGFkZXI6IGltcHJvdmUgZXJyb3IgY2hlY2tpbmcKCjIwMTMtMDEtMzEgMjM6NTE6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2NjMvOTA2XSBmaWx0ZXJzaGFkZXI6IHBvcnQgdG8gbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6NDY6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs2NjIvOTA2XSBsYXBsYWNpYW46IHBvcnQgdG8gbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6NDM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSAgWzY2MS85MDZdIGdsYXNzOiBwb3J0IHRvIG5vbi1nbGV3ICsgc2hhZGVyIG1hdHJpY2VzCgoyMDEzLTAxLTMxIDIzOjM5OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzY2MC85MDZdIGN1YmU6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjM0OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzY1OS85MDZdIGJsdXI6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjMyOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs2NTgvOTA2XSBtaXhlcjogZml4IGVvcyB0aW1lc3RhbXAgY2hlY2sKCjIwMTMtMDEtMzEgMjM6MzE6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFs2NTcvOTA2XSBmaWx0ZXJhcHA6IHBvcnQgdG8gbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6Mjk6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2NTYvOTA2XSBidW1wZXI6IHVzZSBEcmF3RWxlbWVudHMgZm9yIHNlbWktY29tcGF0YWJpbGl0eSB3aXRoIEVTCgkgIGFsc28gR0xfUVVBRFMgaXNuJ3QgYXZhaWxhYmxlIHdpdGggRVMgY29udGV4dHMKCjIwMTMtMDEtMTcgMjM6NDU6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzY1NS85MDZdIGRvd25sb2FkOiByZW1vdmUgZXJyb25vdXMgUmVhZEJ1ZmZlciBjYWxsCgkgIC0gaXQgd2FzIGNhdXNpbmcgc2VnZmF1bHRzIGluIG1lc2EKCSAgLSB3ZSBkaWRuJ3Qgc2V0IHRoZSByZWFkYnVmZmVyIHNvIHdlIHNob3VsZG4ndCByZXNldCBpdAoKMjAxMy0wMS0xNyAyMzoxNzoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzY1NC85MDZdIGRpZmZlcmVuY2VtYXR0ZTogcG9ydCB0byBub24tR0xFVwoKMjAxMy0wMS0xNyAyMzoxNjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbNjUzLzkwNl0gZGVpbnRlcmxhY2U6IHBvcnQgdG8gbm9uLUdMRVcgKyBhcnJheXMKCjIwMTMtMDEtMTcgMjM6MTQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2NTIvOTA2XSBidW1wZXI6IHBvcnQgdG8gbm9uLUdMRVcgKyBhcnJheXMKCjIwMTMtMDEtMTcgMjM6MTI6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2NTEvOTA2XSB1cC9kb3dubG9hZDogZml4IHNvbWUgdHlwb3Mgd2hlbiByZW1vdmluZyBHTEVXCgoyMDEzLTAxLTE2IDIyOjQxOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNjUwLzkwNl0gZmlsdGVyOiBmaXggX2RyYXdfdGV4dHVyZSgpJ3Mgd3JvbmcgdmVydGljZXMKCjIwMTMtMDEtMTYgMjI6Mjc6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkgIFs2NDkvOTA2XSBlZmZlY3RzOiBmaXhlcyBmb3IgbWlycm9yKDEpIGFuZCBzcXVlZXplKDIpIHByb2R1Y2luZyBibGFjawoKMjAxMy0wMS0xNiAxNToyMzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNjQ4LzkwNl0gdGVzdHMvZXhhbXBsZXM6IHJlbW92ZSBkZXBlbmRlbmN5IG9uIGdsZXcKCjIwMTMtMDEtMTYgMTU6MjE6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNjQ3LzkwNl0gcmVtb3ZlIGRlcGVuZGVjeSBvbiBnbGV3CgoyMDEzLTAxLTEzIDAwOjA5OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBbNjQ2LzkwNl0gc29tZSBnbCBoZWFkZXIgZml4ZXMvYWRkaXRpb25zCgoyMDEzLTAxLTEwIDEzOjMyOjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY0NS85MDZdIGZpeCBnbGVzMiBjb21waWxhdGlvbgoKMjAxMy0wMS0xMCAxMDo1NzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvLmdpdGlnbm9yZToKCSAgWzY0NC85MDZdIHVwZGF0ZSAuZ2l0aWdub3JlIGZvciBzb21lIG5ldyBmaWxlcwoKMjAxMy0wMS0xMCAwMTo0NDo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzY0My85MDZdIGRpc3BsYXk6IHByaXZhdGlzZSBtb3N0IG9mIHRoZSBzdHJ1Y3QKCjIwMTMtMDEtMTAgMDE6MTM6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNjQyLzkwNl0gYWRkIGdzdGdsY29uZmlnLmggZm9yIGFwcHMgdG8gZmluZCBvdXQgd2hhdCBvdXIgY2FwYWJpbGl0ZXMgYXJlCgkgIGllIGxpYmdzdGdsIGNhbiBiZSBjb21waWxlZCB3aXRoIGFueSBjb21iaW5hdGlvbiBvZiBvcGVuZ2wvZ2xlczIKCjIwMTMtMDEtMTAgMDA6MzA6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjQxLzkwNl0gZGlzcGxheTogZmVhdHVyZSBjaGVjayBmb3IgR0wgZXh0ZW5zaW9uIGZ1bmN0aW9ucwoKMjAxMy0wMS0xMCAwMDoyNTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs2NDAvOTA2XSBidWlsZDogYWRkIG1pc3NpbmcgZmlsZSB0byBidWlsdCBzb3VyY2VzCgoyMDEzLTAxLTEwIDAwOjIzOjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSAgWzYzOS85MDZdIGFkZCBnZXRfcHJvY19hZGRyZXNzIGltcGxlbWVudGF0aW9ucyBmb3IgZWdsIGFuZCBnbHgKCjIwMTMtMDEtMDggMTc6NDA6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBbNjM4LzkwNl0gd2luZG93OiBhZGQgZ2V0X3Byb2NfYWRkcmVzcyArIHN0dWIgZm9yIHJldHJpZXZpbmcgZ2wgZnVuY3Rpb25zCgoyMDEzLTAxLTA4IDE3OjM4OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSAgWzYzNy85MDZdIHgxMV9lZ2w6IGFkZCBwcmVsaW0gc3VwcG9ydCBmb3IgY2hvb3Npbmcgb3BlbmdsIG9yIGdsZXMKCjIwMTMtMDEtMDggMTc6MzY6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYzNi85MDZdIHdpbmRvd194MTE6IGNvbXBhY3QgZGVidWcgaW5mbwoKMjAxMy0wMS0wNyAxNDowODozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MzUvOTA2XSBmaXh1cCBjb21waWxlIGVycm9ycwoKMjAxMi0xMi0xOSAxNDo1NDoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNjM0LzkwNl0gd2F5bGFuZCBlZ2w6IGRlYWN0aXZhdGUgY29udGV4dCBiZWZvcmUgd2UgZGVzdHJveSBpdAoJICBhdm9pZHMgYSBzZWdmYXVsdCB3aXRoIGRyaSBkcml2ZXJzCgoyMDEyLTEyLTE5IDE0OjMyOjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzYzMy85MDZdIGRpc3BsYXk6IGZhaWwgcHJvcGVybHkgaW4gY29udGV4dCBjcmVhdGlvbiBpbiBvcmRlciB0byBtaW5pbWl6ZSBhIHJhY2UgY29uZGl0aW9uCgkgIHByZXZpb3VzbHksIG9uIGNvbnRleHQgY3JlYXRpb24sIHdoZW4gd2UgZmFpbGVkIHRvIGdldCBhIHZhbGlkIGNvbnRleHQKCSAgd2Ugd291bGQgc3RpbGwgYXRlbXB0IHRvIHJ1biB0aGUgd2luZG93IG1haW5sb29wIGFzIHdlbGwgYXMgc2V0dGluZyBhbiBlcnJvcgoJICBvbiB0aGUgZGlzcGxheS4gVGhpcyB3b3VsZCBjYXVzZSB0aGUgY2FsbGluZyBlbGVtZW50IHRvIGZpbmFsaXplIHRoZSBkaXNwbGF5CgkgIGFuZCB0aGVyZWZvcmUgYXR0ZW1wdCB0byBxdWl0IHRoZSB3aW5kb3cgbWFpbmxvb3AuICBIb3dldmVyIHRoZSBtYWlubG9vcAoJICBtYXkgbm90IGhhdmUgc3RhcnRlZCBydW5uaW5nLiAgVGh1cyB3aGVuIHRoZSB3aW5kb3cgbWFpbmxvb3AgcmFuIGl0IHdvdWxkCgkgIG5ldmVyIGEgZ2V0IGEgcXVpdCBtZXNzYWdlIGFuZCBuZXZlciBlbmQuCgoyMDEyLTEyLTE4IDE4OjMxOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzYzMi85MDZdIHJlbW92ZSBzdHJheSApCgkgIFRoZSByZXN0IGlzIGluZGVudCBzdHVmZiBmcm9tIHRoZSBzdHJheSApCgoyMDEyLTEyLTE4IDE4OjI5OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBbNjMxLzkwNl0gcmVtb3ZlIHJlZGVmaW5pdGlvbiB3YXJuaW5ncyBpbiBjb21waWxpbmcgdGVzdHMKCjIwMTItMTItMDkgMDk6MzI6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MzAvOTA2XSBkaXNwbGF5OiBhZGQgZ2wgYXBpIGNoZWNraW5nCgkgIGkuZS4gY2hlY2sgZm9yIGNhc2VzIHdoZXJlIHRoZSB3aW5kb3cgd2FudHMgYSBkaWZmZXJlbnQgQVBJIHRoYW4KCSAgd2hhdCB0aGUgbGlicmFyeSB3YXMgY29tcGlsZWQgd2l0aAoKMjAxMi0xMi0wOSAwOTozMDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYyOS85MDZdIHdpbmRvdzogYWRkIEdFcnJvciBmb3IgZXJyb3IgaGFuZGxpbmcgb2YgY29udGV4dCBjcmVhdGlvbgoKMjAxMi0xMi0wOSAwOTowNDozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzYyOC85MDZdIHNoYWRlciBmaWx0ZXI6IGRvbid0IGRvIGFueXRoaW5nIGlmIHdlIGRvbid0IGhhdmUgYSBzaGFkZXIgZmlsZQoKMjAxMi0xMi0wNyAxMzozMjoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzYyNy85MDZdIHNoYWRlcjogY2hlY2sgZm9yIGludmFsaWQgb2JqZWN0cwoKMjAxMi0xMi0wNyAwMDoyMDo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs2MjYvOTA2XSBmaXggYnVpbGQgZmFpbHVyZSBmcm9tIHVuZGVmaW5lZCBtYWNybwoKMjAxMi0xMi0wNyAwMDoxNjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL1JFQURNRToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMV9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMl9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjI1LzkwNl0gYWRkIHZ0YWJsZSBmb3Igb3BlbmdsIGZ1bmN0aW9ucwoJICBUaGUgdnRhYmxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciBvbmUgdG8gY29tcGlsZSAoYnV0IG5vdCBsaW5rKQoJICBhZ2FpbnN0IGJvdGggT3BlbkdMIGFuZCBHTHxFUyBhbmQgc3RhcnRzIHRoZSBtb3ZlIGF3YXkgZnJvbSBHTEVXCgoyMDEyLTEyLTA2IDE4OjQwOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzYyNC85MDZdIE9QRU5HTF9FUzIgPT4gSEFWRV9HTEVTMiBhbmQgYWRkIEhBVkVfT1BFTkdMCgkgIHVzZSBHc3RHTEFQSSB0byBkZXRlcm1pbmUgd2hpY2ggY29kZSBwYXRocyB0byBleGVjdXRlLgoJICBwZXJmb3JtIHNvbWUgY2xlYW51cHMKCjIwMTItMTItMDYgMTc6NDA6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYyMy85MDZdIG1vdmUgR0wgaW5jbHVkZXMgaW50byBhIHNpbmdsZSBmaWxlCgoyMDEyLTEyLTA1IDE3OjIzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBbNjIyLzkwNl0gYWRkIG1pc3NpbmcgR0xfU1RFTkNJTF9BVFRBQ0hNRU5UIGZvciBnbGVzMiBjb21wYXRhYmlsaXR5CgoyMDEyLTEyLTAzIDE1OjA0OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjIxLzkwNl0gR3N0R0xSZW5kZXJlckFQSSA9PiBHc3RHTEFQSSBhbmQgZ2V0IEdzdEdMQVBJIGZyb20gYSB3aW5kb3cKCjIwMTItMTEtMzAgMTc6MDk6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgWzYyMC85MDZdIHdheWxhbmRfZWdsOiBhdHRlbXB0IGF0IHJlc2l6aW5nIHRoZSB2aWRlbwoKMjAxMi0xMS0yOSAxMzowNjoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJICBbNjE5LzkwNl0gZml4IHR5cG8gZm9yIHdpbjMyIGRlYnVnIHZhcmlhYmxlcwoKMjAxMi0xMS0yOSAwMTowMTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuaDoKCSAgWzYxOC85MDZdIGFkZCB3YXlsYW5kLWVnbCB3aW5kb3cgYmFja2VuZAoKMjAxMi0xMS0yMCAwMDoxNTowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjE3LzkwNl0gZml4ICdzZXQgYnV0IG5vdCB1c2VkJyBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMS0xOSAyMjo1NDoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjE2LzkwNl0gbW92ZSB3aW5kb3ctc3BlY2lmaWMgY29kZSBpbnRvIHNlcGVyYXRlIHN1YmZvbGRlcnMKCjIwMTItMTEtMTkgMjE6NTI6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJICBbNjE1LzkwNl0gcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgV2luMzIgRUdMCgoyMDEyLTExLTE4IDAxOjIzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYxNC85MDZdIHRyeSBHTFggZmlyc3Qgd2hlbiB1c2luZyBBTlkgfCBPUEVOR0wgfCBPUEVOR0wzCgoyMDEyLTExLTE4IDAxOjE2OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNjEzLzkwNl0gd2luZG93X2NvY29hOiBmaXggc2VnZmF1bHQgd2l0aCBnc3QtbGF1bmNoLTEuMCAtZSAuLi4gYW5kIHNlbmRpbmcgU0lHSU5UIChDdHJsLUMpCgkgIEdOVXN0ZXAgaGFzIGEgc2lnbmFsIGhhbmRsZXIgZm9yIFNJR0lOVCB3aGljaCBydW5zIGluIHRoZSBtYWluIHRocmVhZC4KCSAgSG93ZXZlciB0aGF0IHRocmVhZCBoYXMgbmV2ZXIgYmVlbiAncmVnaXN0ZXJlZCcgd2l0aCBHTlVzdGVwIHNvCgkgIHRoZSBhdXRvcmVsZWFzZSBtYWdpYyBvZiBvYmplY3RpdmUtYyBjYXVzZXMgYSBzZWdmYXVsdCBmcm9tIGFjY2Vzc2luZwoJICBhIG51bGwgTlNUaHJlYWQgb2JqZWN0IHNvbWV3aGVyZSBkZWVwIGluIEdOVXN0ZXAuCgoyMDEyLTExLTE2IDE4OjAxOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzYxMi85MDZdIHJlbW92ZSBHTlVzdGVwIG1ha2VmaWxlcwoKMjAxMi0xMS0xNiAxNzoxMzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs2MTEvOTA2XSBjb2NvYSBwb3J0IG9mIGRldGVybWluaW5nIGdsIHBsYXRmb3JtIGF0IHJ1bnRpbWUKCjIwMTItMTEtMTUgMjE6NDY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzYxMC85MDZdIFdpbmRvd1gxMUVHTDogcmVtb3ZlIGdldF9wbGF0Zm9ybSBjYWxsCgoyMDEyLTExLTE1IDEzOjE3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkgIFs2MDkvOTA2XSB3aW4zMiBwb3J0IG9mIGRldGVybWluaW5nIEdMIHBsYXRmb3JtIGF0IHJ1bnRpbWUKCSAgLSBhZGQgR3N0R0xXaW5kb3dXaW4zMiBhbmQgR3N0R0xXaW5kb3dXaW4zMldHTCBhbG9uZyB0aGUgc2FtZSBsaW5lcyBhcyB0aGUKCSAgWDExIHZhcmlhbnRzCgoyMDEyLTExLTE0IDIwOjM5OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJICBbNjA4LzkwNl0gYWRkIEdTVF9HTF9QTEFURk9STV9BTlkgZm9yIGNob29zaW5nIGFueSBwbGF0Zm9ybQoKMjAxMi0xMS0xNCAyMDozNjoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjA3LzkwNl0gcmVtb3ZlIGdldF9wbGF0Zm9ybSBhbmQgZ2V0X3dpbmRvd19oYW5kbGUgdmZ1bmNzCgkgIC0gcmVuYW1lIGNob29zZV92aXN1YWwoKSB0byBjaG9vc2VfZm9ybWF0KCkgZm9yIGxhdGVyIGluY29ycG9yYXRpbmcKCSAgd2luMzIgY2hhbmdlcyBhbmQgbmV3IEdzdEdMUGxhdGZvcm0gZm9yIFdHTCwgRUdMLCBHTFgsIGV0Yy4KCjIwMTItMTEtMTMgMjI6MTI6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjA2LzkwNl0gZGV0ZXJtaW5lIHRoZSBHTCBwbGF0Zm9ybSB0byB1c2UgYXQgcnVudGltZQoJICAtIE1ha2UgR3N0R0xXaW5kb3cgc3ViY2xhc3NhYmxlcmF0aGVyIHRoYW4gc3BlY2lmaWVkIGF0IGNvbXBpbGUgdGltZS4KCSAgLSBBZGQgR3N0R0xXaW5kb3dYMTEgZm9yIHgxMSB3aW5kb3dzIGFuZCB0d28gc3ViY2xhc3NlcywgR3N0R0xXaW5kb3dYMTFHTFgKCSAgYW5kIEdzdEdMV2luZHdYMTFFR0wgZm9yIEdMWCBhbmQgRUdMIHJlcGVjdGl2ZWx5LiAod2luMzIgYW5kIGNvY29hCgkgIHBvcnRzIHRvIGNvbWUpCgkgIC0gQWxzbyBjbGVhbnVwIEdMIGxpYnJhcnkgZGV0ZWN0aW9uIGluIGNvbmZpZ3VyZS5hYwoKMjAxMi0xMi0wMiAxNDo1ODoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzYwNS85MDZdIHNoYWRlcjogbW92ZSB0byBnc3QgZGVidWdnaW5nCgoyMDEyLTExLTIxIDEzOjM0OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzYwNC85MDZdIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YSgpCgoyMDEyLTExLTA4IDIyOjUzOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNjAzLzkwNl0gdXBkYXRlIEZTRiBhZGRyZXNzCgoyMDEyLTExLTA0IDE5OjE1OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs2MDIvOTA2XSBoaWRlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIHdpdGggbmV3ZXIgY2x1dHRlciB2ZXJzaW9ucwoKMjAxMi0xMC0xMSAwMDoyNDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzYwMS85MDZdIGZpeCB0eXBvIGNhdXNpbmcgc2hhZGVyIGNvbXBpbGF0aW9uIGZhaWx1cmUgZm9yIHVwbG9hZGluZyBJNDIwCgoyMDEyLTA5LTI3IDE1OjUzOjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs2MDAvOTA2XSBkb2NzOiBhZGQgZG9jcyBmb3IgbmV3IG9iamVjdHMgYW5kIGV4cGFuZCBvbiBzb21lIGV4aXN0aW5nIG9uZXMKCjIwMTItMDktMjYgMDc6MTg6NTMgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs1OTkvOTA2XSBHTHxFUzI6IGZpeCB0eXBvcyBmcm9tIHJlY2VudCBjaGFuZ2VzIGFuZCBtYWtlIGRvd25sb2FkaW5nIFJHQiBmb3JtYXRzIHdvcmsgYWdhaW4KCjIwMTItMDktMjUgMTk6MjY6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzU5OC85MDZdIGV4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gb2YgY2x1dHRlcnNoYXJlCgoyMDEyLTA5LTI1IDE4OjEzOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs1OTcvOTA2XSB0ZXN0czogYWRkIHNvbWUgc2ltcGxlIHBpcGVsaW5lIHRlc3RzIHRvIGNoZWNrCgoyMDEyLTA5LTI1IDE4OjA3OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTk2LzkwNl0gY29sb3JzY2FsZTogcG9ydCBvdmVyIHRvIGZpbHRlciBiYXNlIGNsYXNzCgoyMDEyLTA5LTI1IDE4OjA2OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1OTUvOTA2XSB1cGRhdGUgZm9yIGZpbHRlciBBUEkgY2hhbmdlCgkgIGdsZWZmZWN0cyBuZWVkZWQgYSBzaW1pbGFyIGNoYW5nZQoKMjAxMi0wOS0yNSAxNzo1OToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1OTQvOTA2XSBmaWx0ZXI6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMgYW5kIHNjYWxpbmcgZml4ZXMKCjIwMTItMDktMjUgMTY6MDM6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzU5My85MDZdIHRlc3RzcmMvaW1hZ2VzaW5rOiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzCgoyMDEyLTA5LTI1IDE2OjAxOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTkyLzkwNl0gbWVtb3J5OiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzCgoyMDEyLTA5LTI1IDE2OjAwOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1OTEvOTA2XSBtaXhlcjogc2F2ZSB0aGUgdXBsb2FkIG9iamVjdCBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGZvciBpdCBldmVyeSBmcmFtZQoKMjAxMi0wOS0yNSAxNToyMDoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTkwLzkwNl0gdXAvZG93bmxvYWQ6IGZpeCBzY2FsaW5nIG9uIHRyYW5zZmVyCgkgIGkuZS4gdXBsb2FkaW5nIGZyb20gYSAxMHgxMCB2aWRlbyBmcmFtZSB0byBhIDIweDIwIHRleHR1cmUgaW50byBhbm90aGVyIDMweDMwIHZpZGVvZnJhbWUKCjIwMTItMDktMjAgMjM6NDU6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1ODkvOTA2XSBSZXZlcnQgIkdMQ29sb3JzY2FsZTogY29udmVydCB0byBhIGJpbiBvZiBnbHVwbG9hZCAhIGdsZG93bmxvYWQiCgkgIFRoZSBlbGVtZW50cyBubyBsb25nZXIgZXhpc3Qgc28gd2UgaGF2ZSB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50CgoyMDEyLTA5LTIwIDIzOjQxOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzU4OC85MDZdIG1vc2FpYzogdXBkYXRlIGZvciBtaXhlciBjaGFuZ2VzIGFuZCBjb252ZW5pZW5jZSBBUEkKCjIwMTItMDktMjAgMjM6Mjc6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzU4Ny85MDZdIG1peGVyOiBtaXJyb3IgdGhlIGNoYW5nZXMgZG9uZSBmb3IgZmlsdGVyCgoyMDEyLTA5LTIwIDIzOjIxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1ODYvOTA2XSBmaXggdXAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIGdldCB0aGVtIGludG8gdGhlIHJpZ2h0IGNhdGVnb3JpZXMKCjIwMTItMDktMjAgMjM6MjA6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1ODUvOTA2XSBnbHRlc3RzcmM6IHVwZGF0ZSBmb3IgbmV3IEdMRG93bmxvYWQgaW4gbGlicwoKMjAxMi0wOS0yMCAyMzoxNjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1ODQvOTA2XSBnbGltYWdlc2luazogdXBkYXRlIGZvciBuZXcgR0xVcGxvYWQgb2JqZWN0IGluIGxpYnMKCjIwMTItMDktMjAgMjM6MDY6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbNTgzLzkwNl0gZGVpbnRlcmxhY2U6IGNoYW5nZSBmb3IgbmV3IEFQSQoJICBhbHNvIGFsbG93IGVsZW1lbnRzIHRvIGNhbGwgdGhlIF9maWx0ZXJfdGV4dHVyZSB2ZnVuYyBpZiB0aGV5IHdhbnQKCjIwMTItMDktMjAgMjM6MDM6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTgyLzkwNl0gZmlsdGVyczogY2hhbmdlcyBmb3IgbmV3IEFQSQoKMjAxMi0wOS0xOSAwMDozMjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1ODEvOTA2XSBmaWx0ZXI6IGFkZCBzZXBlcmF0ZSBmaWx0ZXIgZnVuY3Rpb24gZm9yIG9wZXJhdGluZyBvbiB0ZXh0dXJlcyBpbnN0ZWFkIG9mIGJ1ZmZlcnMKCjIwMTItMDktMTkgMDA6Mjk6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIFs1ODAvOTA2XSBidWZmZXJwb29sOiByZW1vdmUgb2JzZWxldGUgZ2wgbWV0YSBidWZmZXIgcG9vbCBvcHRpb25zCgoyMDEyLTA5LTE4IDIxOjQyOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1NzkvOTA2XSBkb3dubG9hZDogZml4IFlWMTIgZm9ybWF0CgkgIHNhbWUgYXMgSTQyMCBidXQgcGxhbmUgMSsyIHN3YXBwZWQKCjIwMTItMDktMTggMjE6Mzk6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTc4LzkwNl0ge3VwLGRvd259bG9hZDogYWRkIHZhcmlhbnRzIHRoYXQgY2FuIGJlIGNhbGxlZCBpbiB0aGUgZ2wgdGhyZWFkCgoyMDEyLTA5LTE3IDEwOjM3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzU3Ny85MDZdIHJlbW92ZSB1cGxvYWQgYW5kIGRvd25sb2FkIGVsZW1lbnRzIGZyb20gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOS0xNyAxMDozMDowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTc2LzkwNl0gcmVtb3ZlIHVuZWVkZWQgR3N0R0xNZXRhICh1c2UgR3N0VmlkZW9NZXRhKQoKMjAxMi0wOS0xNiAyMTo0MjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1NzUvOTA2XSBmaWx0ZXI6IHBvcnQgdG8gbmV3IHVwbG9hZC9kb3dubG9hZAoKMjAxMi0wOS0xNiAyMTozNjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs1NzQvOTA2XSBtZW1vcnk6IGltcGxlbWVudCB0cmFuc3BlcmVudCB1cGxvYWQvZG93bmxvYWQgZm9yIGRhdGEKCSAgKG5vdCBhc3luYyB5ZXQpCgoyMDEyLTA5LTE2IDIxOjIzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzMvOTA2XSBhZGQgdXBsb2FkIGFuZCBkb3dubG9hZCBsaWJyYXJ5IG9iamVjdHMKCSAgYWxsb3dzIG11bHRpcGxlIHVwbG9hZCBwaXBlbGluZXMgdGhhdCBwcmV2aW91c2x5IHdhc24ndCBwb3NzaWJsZQoJICAoaS5lLiB1cGxvYWQgUkdCIGFuZCBJNDIwIGFuZCAuLi4gb24gdGhlIHNhbWUgR3N0R0xEaXNwbGF5KQoKMjAxMi0wOS0xNiAyMToxMTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzU3Mi85MDZdIHJlbW92ZSB1cGxvYWQgYW5kIGRvd25sb2FkIGVsZW1lbnRzCgkgIHRvIGJlIHJlcGxhY2VkIGJ5IHVwbG9hZCBhbmQgZG93bmxvYWQgaW4gbWVtb3J5CgoyMDEyLTA5LTA1IDE0OjU4OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1NzEvOTA2XSBtaXhlcjogZml4IGRlYWRsb2NrIG9uIHNodXRkb3duCgkgIGRpZG4ndCByZWl0ZXJhdGUgb3ZlciB0aGUgc2lua3BhZCdzIGRpc3BsYXlzIGFuZCByZWFjdGl2YXRlIHRoZW0gY2F1c2luZyBhIGRlYWRsb2NrCgoyMDEyLTA5LTA0IDIyOjUwOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU3MC85MDZdIHJlbW92ZSB0aGUgcmVxdWlyZW1lbnQgZm9yIFZpZGVvTWV0YSB0byBiZSBwcmVzZW50IG9uIG5vbi1HTCBidWZmZXJzCgoyMDEyLTA4LTIwIDE2OjU1OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNTY5LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBwcmV2ZW50IGRvdWJsZSB1bnJlZiBvZiBzaGFkZXIgYW5kIG1pZHRleHR1cmUKCjIwMTItMDgtMjcgMTQ6MDg6MTYgKzAwMDAgIE1hdHRoZXcgPG1hdHRAbWF0dC1idW50LWxhcHQuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs1NjgvOTA2XSB3aW5kb3c6IGZpeCBwdWJsaWMgZGVmaW5pdGlvbnMKCjIwMTItMDgtMjcgMTQ6MDc6MzEgKzAwMDAgIE1hdHRoZXcgPG1hdHRAbWF0dC1idW50LWxhcHQuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs1NjcvOTA2XSBmaXggT3BlbkdMfEVTMiBpZmRlZidlZCBjb2RlCgoyMDEyLTA4LTIwIDEzOjI3OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzU2Ni85MDZdIGVmZmVjdHM6IGF2b2lkIHVzaW5nIHRhbmggaW4gc2luX2ZyYWdtZW50CgkgIEl0IHByb2R1Y2VzIHdlaXJkIHJlc3VsdHMgb24gbm91dmVhdS4KCSAgUHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB3aXRoICgxLXNpbmgpKmNvc2gKCjIwMTItMDgtMjAgMTM6MDY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNTY1LzkwNl0gZWZmZWN0czogZml4IHNoYWRlciBjb21waWxhdGlvbiB3aXRoIG1lc2EgZHJpdmVycwoKMjAxMi0wOC0xNSAyMTozNzowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzU2NC85MDZdIGdsbWVtb3J5OiByZW1vdmUgdW51c2VkIHR5cGVkZWYKCjIwMTItMDgtMTUgMTY6NTI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTYzLzkwNl0gcmVhZGQgc3VwcG9ydCBmb3IgaGFuZ2luZyBHTCBwaXBlbGluZXMgZS5nLiAuLi4gISBnbGVmZmVjdHMgISBmYWtlc2luawoKMjAxMi0wOC0xNSAxNTozNTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NjIvOTA2XSBnbGRpc3BsYXk6IGZpeCBkb3dubG9hZCBvZiBZVVYgZm9ybWF0cwoKMjAxMi0wOC0xNCAyMzo1NToxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NjEvOTA2XSBnbGRpc3BsYXk6IGZpeCBlbmRpYW5lc3MgaXNzdWVzIG9uIFJHQiBkb3dubG9hZAoKMjAxMi0wOC0xNCAxNDo0MToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzU2MC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcyBhbmQgZ2xpbWFnZXNpbmsgY2hhbmdlcwoKMjAxMi0wOC0xNCAwMjowNToxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTU5LzkwNl0gZ2xtaXhlcjogcGFzcyB0aGUgbWl4cGFkJ3MgZGlzcGxheSB0byB0aGUgcXVlcnlpbmcgZWxlbWVudAoKMjAxMi0wOC0xMiAxOTowMzo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs1NTgvOTA2XSBhZGQgbWlzc2luZyBpbmNsdWRlcyBmb3IgX3Bvc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2UgaW4gZ2xjb2xvcnNwYWNlCgoyMDEyLTA4LTEwIDE2OjQxOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzU1Ny85MDZdIEZpeCBwbHVnaW4gZGVmaW5lIGFuZCByZW1vdmUgd2FybmluZwoKMjAxMi0wOC0xMCAxNTo1NTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU1Ni85MDZdIEdMQ29sb3JzY2FsZTogY29udmVydCB0byBhIGJpbiBvZiBnbHVwbG9hZCAhIGdsZG93bmxvYWQKCjIwMTItMDgtMTAgMTU6MzE6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTU1LzkwNl0gTWFrZSB0aGUgcXVlcnkgZm9yIGEgR3N0R0xEaXNwbGF5IGEgcGFkIHBlZXIgcXVlcnkKCSAgQWxsb3dzIHRoZSBxdWVyeSB0byBwYXNzIHRocm91Z2ggYmluIGJvdW5kYXJpZXMgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIGZvcgoJICBhcmJpdHJhcnkgZ2wgZWxlbWVudHMgdG8gYmUgcGxhY2VkIGluIGJpbnMuCgoyMDEyLTA4LTA4IDE2OjA4OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbNTU0LzkwNl0gR3N0R0xNZW1vcnk6IHVwZGF0ZSBmb3IgR3N0QWxsb2NhdG9yIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTE2IDIzOjMxOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNTUzLzkwNl0gR3N0R0xGaWx0ZXJTaGFkZXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDIzOjIyOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbNTUyLzkwNl0gR3N0R0xGaWx0ZXJBcHA6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDIyOjQwOjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU1MS85MDZdIEdzdEdMT3ZlcmxheTogZml4IGxvYWRpbmcgb2Ygbm9uLXNxdWFyZSBvdmVybGF5cwoJICBsaWJqcGVnIGNvbXBsYWlucyBhYm91dCAiQXBwbGljYXRpb24gcmVhZCB0b28ge21hbnksZmV3fSBzY2FuIGxpbmVzIiBpbiBub24tc3F1YXJlIGltYWdlcwoKMjAxMi0wNy0xNiAyMTo0MDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NTAvOTA2XSBHc3RHTE92ZXJsYXk6IGZpeCBsaWJQTkcgY29tcGxhaW5pbmcgYWJvdXQgdW5zaWduZWQgaW50ZWdlciBiZWluZyBvdXQgb2YgcmFuZ2UKCjIwMTItMDctMTYgMjE6MzU6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTQ5LzkwNl0gR3N0R0xPdmVybGF5OiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAxNTowNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzU0OC85MDZdIEdzdEdMRGlmZmVyZW5jZU1hdHRlOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAwMDozNjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzU0Ny85MDZdIEdzdEdMQnVtcGVyOiBmaXggbGliUE5HIGNvbXBsYWluaW5nIGFib3V0IGludmFsaWQgcG5nIGZpbGVzCgkgIFdlIGZhaWxlZCB0byBpbmZvcm0gbGliUE5HIHRoYXQgd2UgaGFkIGFscmVhZHkgcmVhZCB0aGUgaGVhZGVyCgoyMDEyLTA3LTE2IDAwOjAzOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs1NDYvOTA2XSBHc3RHTEZpbHRlclNvYmVsOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMyAwMTowNzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzU0NS85MDZdIEdzdEdMQnVtcGVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMyAwMTowNDoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU0NC85MDZdIGZpeCBtZW1vcnkgbGVha3MgZnJvbSBub3QgZ19mcmVlKClpbmcgc3RyaW5nIHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2dldF9uYW1lCgoyMDEyLTA3LTEyIDE4OjIyOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU0My85MDZdIEdzdEdMRGlzcGxheTogZml4IHNlZ2ZhdWx0IGZyb20gR1NUX1BUUl9GT1JNQVQgdHJ5aW5nIHRvIGV4cGFuZCB0aGUgb2JqZWN0CgoyMDEyLTA3LTEyIDE4OjE5OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIFs1NDIvOTA2XSBHc3RHTE1peGVyOiBhZGQgYWxsb2NhdGlvbiBhbmQgYnVmZmVycG9vbCBtZXRob2RzCgkgIGJhc2VkIG9mZiBHc3RCYXNlVHJhbnNmb3JtCgoyMDEyLTA3LTEyIDE4OjExOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzU0MS85MDZdIEdzdEdMVGVzdFNyYzogZ2VuZXJhdGUgYSBHTEJ1ZmZlclBvb2wgaW5zdGVhZCBvZiBhIFZpZGVvQnVmZmVyUG9vbCBpbiBkZWNpZGVfYWxsb2NhdGlvbgoKMjAxMi0wNy0xMiAxODowOTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFs1NDAvOTA2XSBHc3RHTE1vc2FpYzogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTIgMTg6MDc6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTM5LzkwNl0gR3N0R0xJbWFnZVNpbms6IGZvbGQgbXVsdGlwbGUgZmllbGRzIGludG8gb25lIGFuZCB1c2UgVklERU9fU0lOS18qIGZvciB3aW5kb3cgd2lkdGgvaGVpZ2h0CgkgIHJlcGxhY2UgdGhlIGNhcHMgaW5mb3JtYXRpb24gd2l0aCBhIEdzdFZpZGVvSW5mbwoJICBwbGFjZSB0aGUgd2luZG93IHdpZHRoL2hlaWdodCBpbmZvcm1hdGlvbiB3aWR0aCBWSURFT19TSU5LCgoyMDEyLTA3LTExIDE0OjIwOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFs1MzgvOTA2XSBHc3RHTERlaW50ZXJsYWNlOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzo1NTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzUzNy85MDZdIEdzdEdMRmlsdGVyUmVmbGVjdGVkU2NyZWVuOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzozNzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbNTM2LzkwNl0gR3N0R0xGaWx0ZXJHbGFzczogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6MTE6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs1MzUvOTA2XSBHc3RHTEZpbHRlckxhcGxhY2lhbjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMDE6MjU6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNTM0LzkwNl0gR3N0R0xGaWx0ZXJDdWJlOiBVcGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAwMToxMDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs1MzMvOTA2XSBHc3RHTEZpbHRlckJsdXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTA5IDIyOjI3OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzUzMi85MDZdIEdzdEdMRmlsdGVyOiBpbXBsZW1lbnQgYWxsb2NhdGlvbiB2ZnVuY3MKCjIwMTItMDctMDkgMjI6MjY6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNTMxLzkwNl0gR3N0R0xFZmZlY3RzOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0wOSAxNjoxNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUzMC85MDZdIEdzdEdMVXBsb2FkOiBmaXggdmlkZW8gc2NhbGluZyBhbmQgdXNlIEdMX1VQTE9BRF9DQVBTCgoyMDEyLTA3LTA5IDE2OjE1OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1MjkvOTA2XSBHc3RHTERvd25sb2FkOiBmaXggdmlkZW8gc2NhbGluZyBhbmQgdXNlIEdMX0RPV05MT0FEX0NBUFMKCjIwMTItMDctMDkgMTY6MTM6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJICBbNTI4LzkwNl0gR3N0R0xNZXRhOiBzZXBlcmF0ZSB1cGxvYWQvZG93bmxvYWQvbm9ybWFsIEdMIGNhcHMgdmlkZW8gZm9ybWF0cwoJICBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdXBsb2FkLCBkb3dubG9hZCBhbmQgR0wgY2FwcwoKMjAxMi0wNy0wOSAxNjoxMjo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MjcvOTA2XSBHc3RHTERpc3BsYXk6IGFkZCBzb21lIHRyYWNlIGRlYnVnZ2luZwoKMjAxMi0wNy0wOCAxMzoxMTowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzUyNi85MDZdIEdzdEdMVGVzdFNyYzogdXBkYXRlIGZvciAxLjAKCSAgaW1wbGVtZW50IGRlY2lkZV9hbGxvY2F0aW9uCgkgIHJlbmFtZSBwdXNoX3NyY19jcmVhdGUgdG8gX2ZpbGwKCSAgdXNlIEdzdFZpZGVvSW5mbyB0byBjb252ZXJ0IHRpbWVzCgkgIG1ha2UgdXNlIG9mIEdzdEdMTWV0YSBhbmQgZnJpZW5kcwoKMjAxMi0wNy0wOCAwMTo1MDo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNTI1LzkwNl0gR3N0R0xEb3dubG9hZDogYWRkIGFsbG9jYXRpb24gbWV0aG9kcyBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIEdzdEdMRG93bmxvYWQgd29yayB3aXRoIHRoZSBuZXcgR3N0R0xNZXRhIGFuZCBmcmllbmRzCgoyMDEyLTA3LTA4IDAxOjQ5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNTI0LzkwNl0gR3N0R0xEaXNwbGF5OiByZXdvcmsgdGhlIGRvd25sb2FkIGNvZGUKCSAgZGF0YSBwYXJhbWF0ZXJzIG5vdyB0YWtlIEdzdFZpZGVvRnJhbWUKCSAgcmVtb3ZlIHJlZHVuZGFudCBwYXJhbWV0ZXJzCgoyMDEyLTA3LTA4IDAxOjExOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUyMy85MDZdIHVwZGF0ZSBmb3IgbWV0YSBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOCAwMToxMDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MjIvOTA2XSBHc3RHTERpc3BsYXk6IGFkZCBmb3Jnb3R0ZW4gZnVuY3Rpb24gZGVmaW5pdGlvbgoKMjAxMi0wNy0wOCAwMTowOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzUyMS85MDZdIEdzdEdMTWVtb3J5OiB1cGRhdGUgZm9yIEdzdEFsbG9jYXRvciBjaGFuZ2VzCgoyMDEyLTA3LTA3IDIyOjU2OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1MjAvOTA2XSBHc3RHTE1peGVyOiBmaXggZm9yIEdzdENoaWxkUHJveHkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxOToxMDo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1MTkvOTA2XSBHc3RHTFVwbG9hZDogaW1wbGVtZW50IHRoZSBhbGxvY2F0aW9uIGZ1bmNzIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgdXNlIG9mIHRoZSBuZXcgR3N0R0xNZXRhLCBHc3RHTE1lbW9yeSBhbmQgR3N0R0xCdWZmZXJQb29sIG9iamVjdHMKCjIwMTItMDctMDYgMTk6MDc6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTE4LzkwNl0gR3N0R0xJbWFnZVNpbms6IGFkZCBwcm9wb3NlX2FsbG9jYXRpb24gaW1wbCBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIHVzZSBvZiBHc3RHTE1ldGEgYW5kIEdzdEdMTWVtb3J5CgoyMDEyLTA3LTA2IDE5OjA1OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIFs1MTcvOTA2XSBhZGQgR3N0R0xCdWZmZXJQb29sCgkgIHdoaWNoIGFkZHMgR3N0R0xNZXRhIHRvIGJ1ZmZlcnMKCjIwMTItMDctMDYgMTg6NTc6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSAgWzUxNi85MDZdIGFkZCBza2VsZXRvbiBHc3RHTE1ldGEKCSAgdGhlIEdzdFZpZGVvTWV0YSBfbWFwL3VubWFwIGZ1bmN0aW9ucyBzdGlsbCBuZWVkIGltcGxlbWVudGluZwoKMjAxMi0wNy0wNiAxODo1MTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzUxNS85MDZdIEdzdEdMRGlzcGxheTogcmV3b3JrIGdlbl90ZXh0dXJlIGFuZCB1cGxvYWQKCSAgcmVuYW1lIGZ1bmN0aW9ucyBzbyB0aGF0IG90aGVyIGNvZGUgY2FuIGNyZWF0ZSB0ZXh0dXJlcyBpbiB0aGUgR0wgdGhyZWFkCgkgIGNoYW5nZSB1cGxvYWQgZnVuY3Rpb25zIHRvIHRha2UgYSBHc3RWaWRlb0ZyYW1lCgkgIGRlZmF1bHQgdG8gR0xTTCBmb3IgdXBsb2FkIGNvbnZlcnNpb24KCjIwMTItMDctMDYgMTg6MjI6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzUxNC85MDZdIGFkZCBHc3RHTE1lbW9yeSBhbmQgYWxsb2NhdG9yCgkgIGltcGxlbWVudCBjdXN0b20gR3N0TWVtb3J5IGZvciBHTCB0ZXh0dXJlcwoJICBjdXJyZW50bHkgbWFwL3VubWFwIHJldHVybnMgTlVMTCBhbHRob3VnaCBpdCBtaWdodCBiZSBmYXZvdXJhYmxlIHRvIHVwbG9hZC9kb3dubG9hZC9jYWNoZSB0aGUgaW1hZ2UgZGF0YQoKMjAxMi0wNi0xOSAxODo0MDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzUxMy85MDZdIFJlbW92ZSBHc3RHTEJ1ZmZlciAodG8gYmUgcmVwbGFjZWQgYnkgR3N0R0xNZXRhKQoKMjAxMi0wNi0xOSAxNTo1NDoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTEyLzkwNl0gR3N0R0xNaXhlcjogdXBkYXRlIGZvciAxLjAgYmFzZWQgb24gdGhlIHZpZGVvbWl4ZXIyIGVsZW1lbnQgaW4gLWdvb2QKCjIwMTItMDYtMDcgMDA6NTE6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs1MTEvOTA2XSB0ZXN0czogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMjI6NTk6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTEwLzkwNl0gR3N0R0xJbWFnZVNpbms6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE5OjEwOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs1MDkvOTA2XSBHc3RHTERpc3BsYXk6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE4OjUzOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1MDgvOTA2XSBHc3RHTERvd25sb2FkOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxNTo0MDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1MDcvOTA2XSBHc3RHTFRlc3RTcmM6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDEzOjU2OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTA2LzkwNl0gR3N0R0xVcGxvYWQ6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA0IDE4OjQ0OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgWzUwNS85MDZdIEdzdEdMQ29sb3JzY2FsZTogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDMgMjA6NDA6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTA0LzkwNl0gR3N0R0xGaWx0ZXI6IHVwZGF0ZSBmb3IgMS4wCgkgIC1maXggdXAgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCSAgLXJlbW92ZSBfcHJlcGFyZV9vdXRwdXRfYnVmZmVyIChmdW5jdGlvbmFsaXR5IHRha2VuIG92ZXIgYnkgR3N0QnVmZmVyUG9vbCkuCgoyMDEyLTA1LTMwIDEzOjQ2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MDMvOTA2XSBSZW5hbWUgR1NUX0JPSUxFUlBMQVRFXyogdG8gR19ERUZJTkVfVFlQRV8qIGFuZCBtb3ZlIF9iYXNlX2luaXQgaW50byBfY2xhc3NfaW5pdAoKMjAxMi0wNS0yOSAxNzo1NTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgWzUwMi85MDZdIFVwZGF0ZSB2ZXJzaW9uaW5nIGZvciBnc3RyZWFtZXIgMS4wCgkgIFJlbmFtZXMgR1NUX01BSk9STUlOT1IgdG8gR1NUX0FQSV9WRVJTSU9OIGluIGJ1aWxkIGZpbGVzCgkgIHJlbW92ZXMgLWxnc3RpbnRlcmZhY2VzIGZyb20gX0xEQUREIGZsYWdzCgoyMDEyLTA1LTIwIDE4OjQ1OjA2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzUwMS85MDZdIEZpeCBidWlsZGluZyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0MjgKCjIwMTItMDQtMjAgMTI6MzM6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTAwLzkwNl0gZ2xkaXNwbGF5OiBkbyBub3QgY2FsbCBnbENoZWNrRnJhbWVidWZmZXJTdGF0dXMgaWYgMCBpcyBib3VuZAoJICBJbmRlZWQgaXQgbWF5IHJldHVybiBHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQgaWYgdGhlcmUgaXMgbm8KCSAgZGVmYXVsdCBmcmFtZWJ1ZmZlci4KCSAgSXQgc2VlbXMgdG8gYmUgdGhlIGNhc2Ugb24gTWFjT1NYCgoyMDEyLTA0LTIwIDExOjE5OjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzQ5OS85MDZdIGV4YW1wbGVzOiBmaXggYnVpbGQgb24gTWFjT1NYCgoyMDEyLTA0LTIwIDEwOjQxOjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDk4LzkwNl0gZ2xkaXNwbGF5OiBkb24ndCBwYXNzIG5vbi1jb25zdGFudCBzdHJpbmdzIGFzIHByaW50ZiBmb3JtYXQgc3RyaW5ncwoJICBGaXhlcyAnZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzJyBvbiBkYXJ3aW4KCjIwMTItMDQtMjAgMTA6MzI6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs0OTcvOTA2XSBmaWx0ZXJzaGFkZXI6IGZpeCBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDQtMjAgMTA6MjY6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNDk2LzkwNl0gY21ha2UgYnVpbGQ6IGFkZCBwYXRoIHRvIGNvbmZpZy5oIG9uIEFQUExFCgoyMDEyLTA0LTE4IDE1OjQ0OjA1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNDk1LzkwNl0gZ2xFUzIuMDogcHJvcGVybHkgdXNlIGdsRGVsZXRlU2hhZGVyCgoyMDEyLTA0LTE3IDE4OjI1OjU1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNDk0LzkwNl0gY21ha2UgYnVpbGQ6IHVzZSBjb25maWcuaCBmcm9tIHdpbjMyL2NvbW1vbiBhbmQgYWRkIHNvbWUgZ3VpZGVsaW5lcwoKMjAxMy0wNi0yOCAwMDowNDo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNDkzLzkwNl0gZ2xmaWx0ZXJzaGFkZXI6IGZpeCBjcmFzaCB3aGVuIGxvYWRpbmcgc2hhZGVyIGZpbGUKCSAgSnVzdCB1c2UgZ19maWxlX2dldF9jb250ZW50cygpIGluc3RlYWQgb2YgaG9tZS1tYWRlIGZpbGUgbG9hZGluZy4KCSAgRml4ZXMgdHdvIGlzc3VlcyAtIG9uZSBpcyB0aGF0IHdlIHNob3VsZCBwYXNzICJyIiB0byBmb3BlbiBhbmQKCSAgbm90IE9fUkRPTkxZLCB0aGUgb3RoZXIgaXMgdGhhdCBhbiBpbmNvcnJlY3QgdmFyaWFibGUgd2FzIHVzZWQKCSAgdG8gcmVhZCB0aGUgZmlsZSBsZW5ndGgsIGxlYWRpbmcgdG8gYW4gZW1wdHkgc2hhZGVyIGZpbGUuCgkgIFNwb3R0ZWQgYnk6IFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjg0NQoJICBDb25mbGljdHM6CgkgIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jCgoyMDEyLTA0LTEzIDE1OjA4OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs0OTIvOTA2XSBnbHdpbmRvdzogcHJvcGVybHkgZmFpbHMgaWYgcmVzb3VyY2Ugbm90IGZvdW5kCgoyMDEyLTA0LTEzIDEyOjM4OjExICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDkxLzkwNl0gZ2xFUzIuMDogcHJvcGVybHkgZmFpbHMgaWYgZHJpdmVyL2tlcm5lbCBpbmNvbnNpc3RlbmN5CgoyMDEyLTA0LTExIDEwOjQ0OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNDkwLzkwNl0gZ2xkaXNwbGF5OiBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydAoKMjAxMi0wNC0xMCAxNjoxMjoxNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ4OS85MDZdIGdsaW1hZ2VzaW5rOiBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgbm93IHJldHVybnMgIjEvMSIgYnkgZGVmYXVsdAoJICBQcmV2aW91c2x5IGl0IHdhcyBub3Qgc2V0CgkgIEZpeCBidWcgIzY3MTczNCAoY29tcGF0aWJpbGl0eSB3aXRoIFRvdGVtKQoKMjAxMi0wNC0wNCAxNjoyMjo0MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQ4OC85MDZdIGxpYnZpc3VhbC1nbDogZnVsbCBjb21wYXRpYmlsaXR5IHdpdGggcHJvamVjdE0tbGlidmlzdWFsIGlmIGxpYnByb2plY3RNID49IDIuMC4xCgkgIEZpeCBidWcgIzMxMDc3NQoKMjAxMi0wMy0wNiAxNDozMTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNDg3LzkwNl0gZ2w6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICAnaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5Jywgd2hpY2ggd2VyZSByZWFsIGJ1Z3MgYW5kCgkgICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZScsIHdoaWNoIHdhcwoJICBvbmx5IGFuIHVubmVlZGVkIGNvbXBhcmlzb24uCgoyMDExLTEyLTIyIDE1OjMwOjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQ4Ni85MDZdIGxpYnZpc3VhbC1nbDogYWRkIG1pbmltYWwgc3VwcG9ydCB0byBsaWJ2aXN1YWwgcGx1Z2lucyB0aGF0IHVzZXMgRnJhbWVidWZmZXIgb2JqZWN0cwoJICBGaXggYnVnICMzMTA3NzUKCSAgZ3N0LWxhdW5jaCBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfcHJvamVjdE0gISBnbGltYWdlc2luayBpcyB3b3JraW5nCgkgIGJ1dCBmb3Igbm93IHlvdSBjYW5ub3QgYXBwZW5kIGFueSBvdGhlciBvcGVuZ2wgZmlsdGVycyBiZXR3ZWVuCgkgIGxpYnZpc3VhbF9nbF9wcm9qZWN0TSBhbmQgZ2xpbWFnZXNpbmsgYmVjYXVzZSBvdXIgRkJPIGlzIHR1cm5lZCBPRkYuCgkgIEl0IHdvdWxkIHJlcXVpcmUgdGhhdCBsaWJ2aXN1YWwgYWxsb3dzIHRvIHNwbGl0IHJlbmRlcmluZyBiZXR3ZWVuCgkgIHBhc3MxLDIsMy4uLiBhbmQgZmluYWwgcmVuZGVyaW5nLiBJbiBvcmRlciB0byB1bmJpbmQgb3VyIEZCTyBiZWZvcmUKCSAgdGhlIHBhc3NOLCBhbmQgdGhlbiByZWJpbmQgaXQganVzdCBiZWZvcmUgdGhlIGZpbmFsIGxpYnZpc3VhbCByZW5kZXJpbmcuCgoyMDExLTEyLTE1IDE4OjEzOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQ4NS85MDZdIGdzdGdsZGlzcGxheTogdHVybiBvZmYgdGV4dHVyZSBiaW5kaW5nIGFuZCByZWFkIGJ1ZmZlciB3aGVuIGRvd25sb2FkaW5nIHJnYiBpcyBkb25lCgkgIEl0IGZpeGVzOiAoYmxhY2sgaW1hZ2UgYmVmb3JlKQoJICBnc3QtbGF1bmNoLTAuMTAgYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX2x2X2dsdGVzdCAhIGdsZG93bmxvYWQgISB4aW1hZ2VzaW5rCgkgIGFuZAoJICBnc3QtbGF1bmNoLTAuMTAgIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9sdl9nbHRlc3QgISBnbGRvd25sb2FkICEgZ2xpbWFnZXNpbmsKCjIwMTEtMTItMTUgMTg6MDg6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSAgWzQ4NC85MDZdIGxpYnZpc3VhbF9nbDogY29ycmVjdGx5IHNldHVwIGRlcHRoIGFuZCBibGVuZCBmdW5jdGlvbnMKCjIwMTEtMTItMTUgMTY6MTg6MzYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0ODMvOTA2XSBnbGVsZW1lbnRzOiBkbyBub3QgbGVhayBwYXJlbnQgd2hlbiB1c2luZyBnc3RfcGFkX2dldF9wYXJlbnQKCjIwMTEtMTEtMjUgMTY6NTE6NTkgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL0NNYWtlTGlzdHMudHh0OgoJKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJICBbNDgyLzkwNl0gZXh0OiBBZGQgYSBsaWJ2aXN1YWwgcGx1Z2luIHdyYXBwaW5nIG9wZW5nbCBsaWJ2aXN1YWwKCSAgRml4IGJ1ZyAjMjAyMDY5CgoyMDExLTExLTI0IDE2OjAyOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ4MS85MDZdIGZlYXR1cmUgY2hlY2tpbmc6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGRvaW5nIG5vdGhpbmcgaWYgYW4gT3BlbkdMIGZlYXR1cmUgaXMgbm90IHByZXNlbnQKCSAgRml4IGJ1ZyAjNTcyNzY3CgoyMDExLTExLTIxIDE2OjQ2OjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDgwLzkwNl0gd2luMzIgYnVpbGRzOiBhZGQgZ2xzaGFkZXIgZmlsdGVyIHNvdXJjZXMgdG8gdnM5IGFuZCBjb2RlYmxvY2tzCgkgIEFsc28gZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOSBhbmQgbWluZ3ctMy40LjUKCjIwMTEtMTEtMjEgMTU6MDQ6MTYgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs0NzkvOTA2XSBnc3RnbHNoYWRlcnZhcmlhYmxlczogc3RydG9rX3IgaXMgbm90IG11bHRpcGxhdGZvcm0KCSAgRml4IGJ1ZyAjNjY0MzY3CgoyMDExLTExLTE4IDE3OjMyOjA1ICswMTAwICBXZWkgRmVuZyA8d2VpLmZlbmcud2F5bmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs0NzgvOTA2XSBPcGVuR0wgRVMgMi4wOiBpbmNsdWRlIGdsaWIuaCB0byB1c2UgR19CRUdJTl9ERUNMUyBpbiBnc3RnbGVzMi5oCgkgIEZpeCBidWcgIzYzMTAxOQoKMjAxMS0xMS0xOCAxNzoyNzo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBbNDc3LzkwNl0gT3BlbkdMIEVTIDIuMDogZml4IGJ1aWxkIHNpbmNlIGdsZmlsdGVyc2hhZGVyIGNoYW5nZXMKCjIwMTEtMTEtMTggMTc6MjY6MzUgKzAxMDAgIEFudG9uaSBTaWx2ZXN0cmUgPGFudG9uaS5zaWx2ZXN0cmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNDc2LzkwNl0gT3BlbkdMIEVTIDIuMDogZml4IGJ1aWxkIGFuZCBkaXNhYmxlIHNvbWUgZXhhbXBsZXMKCSAgRml4IGJ1ZyAjNjMxMDE5CgoyMDExLTExLTE4IDEyOjE2OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNDc1LzkwNl0gZG9jczogYWRkIGdsbW9zYWljIGFuZCBnbHNoYWRlciB0byBkb2NzCgoyMDExLTExLTE4IDExOjUyOjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDc0LzkwNl0gYnVpbGQ6IG1ha2UgbGlianBlZyB1c2UgY29uZGl0aW9uYWwKCSAgRGlzYWJsZSBnbG92ZXJsYXkgZWxlbWVudCBpZiB3ZSBkbyBub3QgaHZlIGxpYmpwZWcKCjIwMTEtMTEtMTggMTA6MTA6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNDczLzkwNl0gY21ha2UgYnVpbGQ6IDIuOCBpcyBub3cgcmVxdWlyZWQgYW5kIGFkZCBqcGVnCgkgIGpwZWcgYW5kIHBuZyBzaG91bGQgYmUgb3B0aW9uYWwgYnV0IG91ciBjbWFrZSBidWlsZCBpcyBzdGlsbCBpbiBwcmUtYWxwaGEKCjIwMTEtMTEtMTggMDg6MDg6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3Mi85MDZdIGxpbnBuZzogbWFrZSBsaWJwbmcgdXNlIGNvbmRpdGlvbmFsCgkgIERpc2FibGUgMyBlbGVtZW50cyBpZiB3ZSBkb24ndCBoYXZlIGxpYnBuZy4KCjIwMTEtMTEtMTcgMTc6MzY6NDQgKzAxMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eEBmcmVlc3VyZi5jaD4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDcxLzkwNl0gZ2xzaGFkZXI6IGFkZCBkeW5hbWljIGZyYWdtZW50IHNoYWRlciBmaWx0ZXIKCSAgQWxzbyBhZGQgZnJhZ21lbnQgc2hhZGVyIHBhcnNlcgoJICBGaXggYnVnICM2MDAxOTUKCjIwMTEtMTEtMTcgMTU6MjI6MDYgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0NzAvOTA2XSBnbG92ZXJsYXk6IGFkZCBqcGVnIHN1cHBvcnQKCSAgRml4IGJ1ZyAjNjM2MDcwCgoyMDExLTExLTE3IDExOjM5OjUwICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQ2OS85MDZdIGdsb3ZlcmxheTogbWFuYWdlIHJhdGlvIHRleHR1cmUKCSAgRml4IGJ1ZyAjNjMwNTI1CgoyMDExLTExLTE3IDExOjM0OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkgIFs0NjgvOTA2XSB0ZXN0czogZml4IGNvbW1lbnRhcnkgaW4gY2x1dHRlcmFjdG9yIGV4YW1wbGUKCjIwMTEtMTEtMTYgMTY6NTM6MjUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs0NjcvOTA2XSB0ZXN0czogdmFyaW91cyBidWlsZCBmaXhlcwoJICAtIGNtYWtlIGNvdWxkIG5vdCBmaW5kIGdsaWIKCSAgLSBwdXQgZ3RrIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIHRvIGF2b2lkIEdMIGNvbmZsaWN0cwoJICAtIHVwZGF0ZSBleGFtcGxlcyB0byBjbHV0dGVyLTEuOAoJICAtIHVzZSBjb25zdCBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgR19DT05TVF9SRVRVUk4KCSAgLSBzZXQgbWF4IHBlbmRpbmcgZXZlbnRzIHRvIDAgdG8gbWFrZSBjdWJlIGV4YW1wbGUgd29ya3MgYWdhaW4KCjIwMTEtMDgtMDMgMDk6MDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzQ2Ni85MDZdIHRlc3RzOiBGaXggdmFyaWFibGUgdW51c2VkIGJ1dCBzZXQgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wOC0wMyAwOTowNzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzQ2NS85MDZdIGdsOiBGaXggdmFyaWFibGUgdW51c2VkIGJ1dCBzZXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDUtMjUgMTE6MjE6MTkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDY0LzkwNl0gZ2xpbWFnZXNpbms6IEludGVyZmFjZSBxdWVyeSBzaG91bGQgcmV0dXJuIEZBTFNFIGlmIHRoZSBzdXBwbGllZCBpbnRlcmZhY2UgaXMgbm90IEdTVF9UWVBFX1hfT1ZFUkxBWQoKMjAxMC0xMi0xNCAyMzo1Njo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzQ2My85MDZdIEFkZCBzb21lIG1vcmUgR197QkVHSU4sRU5EfV9ERUNMUyB0byBwdWJsaWMgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MjYwCgoyMDEwLTEwLTE5IDE4OjAwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ2Mi85MDZdIHZhcmlvdXM6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4gSW5jbHVkZXMgc29tZSBnc3QtaW5kZW50IGNoYW5nZXMgYXMgd2VsbCA6LwoKMjAxMC0wOS0xNiAxNTowMDoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzQ2MS85MDZdIHhvdmVybGF5OiByZXF1aXJlIGJhc2UgZnJvbSBnaXQgYW5kIHVwZGF0ZSB0byBuZXcgQVBJCgoyMDEwLTA5LTA4IDIwOjM4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDYwLzkwNl0gZ3N0Z2xlZmZlY3RzOiBGaXggdXBwZXIgYm91bmQgb2YgYW4gYXJyYXkgaXRlcmF0aW9uCgkgIDEwIGlzIGFib3ZlIE5FRURFRF9URVhUVVJFUyAoY3VycmVudGx5IDUpIGFuZCBtYWtlcyB0aGUgY29kZSBjb25zaXN0ZW50CgkgIHdpdGggdGhlIHJlc3Qgb2YgdGhlIHVzYWdlIGluIHRoZSBmaWxlLgoKMjAxMC0wOC0xMSAwMDo0Nzo0MiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNDU5LzkwNl0gRml4IGRpc3RjaGVjay4KCjIwMTAtMDctMjMgMjI6MTI6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0NTgvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOQoKMjAxMC0wNy0xMiAxODozODo1OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQ1Ny85MDZdIGd0ayBleGFtcGxlczogYWRhcHQgY29kZSBzaW5jZSB0aGUgbmF0aXZlLXdpbmRvdyBjaGFuZ2VzIGZyb20gZ3RrCgkgIEZpeGVzIGJ1ZyAjNTk5ODg1CgoyMDEwLTA1LTA1IDExOjIxOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDU2LzkwNl0gZ2xmaWx0ZXIvZ2xtaXhlci9nbHRlc3RzcmMvZ2x1cGxvYWQ6IHRocm93IGFuIGVsZW1lbnQgZXJyb3IgaWYgbm8gcGFyZW50IGJpbgoJICBGaXhlcyBidWcgIzYwMjE1MwoKMjAxMC0wNS0wNCAxMTozNzozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNDU1LzkwNl0gZ2xpbWFnZXNpbms6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8KCjIwMTAtMDUtMDEgMTE6MTk6NTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDU0LzkwNl0gYmx1cjogZml4IGdhdXNzaWFuIGtlcm5lbCBjb21wdXRhdGlvbgoKMjAxMC0wNC0yOSAyMDo0OTowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJICBbNDUzLzkwNl0gYmx1cjogZ2l2ZSB1cCBzb21lIGFjY3VyYWN5IGZvciBzcGVlZAoJICBTZXR0bGUgd2l0aCA3eDcgZ2F1c3NpYW4gY29udm9sdXRpb24ga2VybmVscywgbWF5YmUgc2xpZ2h0bHkgbGVzcwoJICBhY2N1cmF0ZSB0aGFuIHByZXZpb3VzIDl4OSBidXQgZmFzdCBlbm91Z2ggdG8gYmUgYWJsZSB0byB1c2UgaXQgb24gaTkxNS4KCSAgQWJvdXQgYSAyMCUgcGVyY2VudCBzcGVlZCBnYWluIChhZ2Fpbiwgcm91Z2hseSBtZWFzdXJlZCB3aXRoCgkgIHZpZGVvdGVzdHNyYyBhbmQgZ2xpbWFnZXNpbmsgc3luYz1mYWxzZSkuIE5vIG5vdGljZWFibGUgcmVuZGVyaW5nCgkgIGRpZmZlcmVuY2Ugd2l0aCBjdXJyZW50IGVmZmVjdHMuCgoyMDEwLTA0LTI4IDE3OjA4OjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ1Mi85MDZdIHNpbjogZ2V0IHJpZCBvZiBobHMgY29udmVyc2lvbiBjb2RlCgkgIEdldCByaWQgb2YgYnVnZ3kgYW5kIGNvbXBsaWNhdGVkIGhscyBjb252ZXJzaW9uIGNvZGUgZm9yIHRoZSBzaW4gZWZmZWN0LgoJICBUaGUgb25seSB0aGluZyBuZWVkZWQgd2FzIGh1ZSBhbnl3YXkgYW5kIGl0IGlzIGVhc2lseSBjYWxjdWxhdGVkIHVzaW5nCgkgIFByZXVjaWwgZm9ybXVsYSBmb3IgcmdiIHRvIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24uCgkgIE5vdyB3b3JrcyBvbiBpOTE1IChyZW1vdmVkIGFsbCB0aGUgSUYgYmxvY2tzKS4gU3RpbGwgbmVlZHMgc29tZSB0dW5pbmcsCgkgIEkgd29uZGVyIGlmIGl0IHdpbGwgZXZlciB3b3JrIHByb3Blcmx5LgoKMjAxMC0wNC0zMCAxMTo0NDoyNiArMDIwMCAgUm9sYW5kIFBlZmZlciA8Um9sYW5kLlBlZmZlckBjbGl4eHVuLmRlPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTEvOTA2XSBnbHVwbG9hZDogcGFyIGlzIGFscmVhZHkgaGFuZGxlZCBpbiBmaXhhdGVfY2FwcyBmdW5jdGlvbgoJICBGaXhlcyBidWcgIzU5MzE2NQoKMjAxMC0wNC0zMCAxMTo0Mjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1MC85MDZdIGluZGVudDogZ3N0Z2x1cGxvYWQuYwoKMjAxMC0wNC0yOSAxNDoyMToyOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzQ0OS85MDZdIHNvYmVsOiBkcm9wIHVudXNlZCBzaW5nbGUgcGFzcyBzb2JlbCBzaGFkZXIKCSAgRHJvcCB1bnVzZWQgc29iZWwgc2hhZGVyLCBpZiBhbnlvbmUgc3RpbGwgbmVlZHMgaXQsIGdpdCBsb2cgaXMgeW91cgoJICBmcmllbmQuCgoyMDEwLTA0LTI5IDE0OjIwOjU2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBbNDQ4LzkwNl0geHJheTogaW5jcmVhc2UgZWRnZXMgdmlzaWJpbGl0eQoJICBTb21lIGxpdHRsZSBmaW5lIHR1bmluZywgc3RpbGwgbm90IGNvbXBsZXRlbHkgc2F0aXNmaWVkIHlldC4KCjIwMTAtMDQtMjkgMTI6NTk6NDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzQ0Ny85MDZdIHhyYXk6IHBvcnQgdG8gdGhlIG5ldyBzZXBhcmFibGUgc29iZWwgY29udm9sdXRpb24KCSAgUG9ydCB4cmF5IGVmZmVjdCB0byB1c2UgdGhlIHNhbWUgc29iZWwgY29udm9sdXRpb24ganVzdCB1c2VkIGluCgkgIGdsZmlsdGVyc29iZWwuIE5vdyB4cmF5IHRvbyB3b3JrcyBvbiBpOTE1IChhIGJpdCBzbG93KS4KCjIwMTAtMDQtMjkgMTA6NTc6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDQ2LzkwNl0gYmx1cjogZm9yZ290IHRvIGFkZCBhbGwgdGhlIGNoYW5nZXMgaW4gcHJldmlvdXMgY29tbWl0CgoyMDEwLTA0LTI5IDA5OjE1OjIxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQ0NS85MDZdIGJsdXI6IHVzZSBkcmF3X3RleHR1cmUgZnJvbSBnbGZpbHRlcgoKMjAxMC0wNC0yOSAwOTowMjoxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQ0NC85MDZdIGxhcGxhY2lhbjogcHJlY2FsY3VsYXRlIGNvb3JkaW5hdGVzCgkgIFByZWNhbGN1bGF0ZSBjb29yZGluYXRlcyB0byBhdm9pZCB1bm5lZWRlZCB0ZXh0dXJlIGluZGlyZWN0aW9ucy4KCSAgTm93IGxhcGxhY2lhbiB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yOSAwODoyNzoyOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs0NDMvOTA2XSBzb2JlbDogbW92ZSBzb21lIGhpZ2hseSBkdXBsaWNhdGVkIGNvZGUgaW50byBnbGZpbHRlcgoJICBBZGQgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24gaW4gR3N0R0xGaWx0ZXIgdGhhdCBqdXN0IGRyYXdzIGFuIGlucHV0CgkgIHRleHR1cmUgdG8gYSB0YXJnZXQgdGV4dHVyZSB1c2luZyBhIHNpbXBsZSBzaGFkZXIgd2l0aCBqdXN0IGEgInRleCIKCSAgdW5pZm9ybSBzYW1wbGVyLgoJICBNb3ZlIGRyYXdfdGV4dHVyZSBmcm9tIGdsZmlsdGVyc29iZWwgdG8gZ2xmaWx0ZXIuIFN0aWxsIG5lZWQgdG8gdXBkYXRlCgkgIG90aGVyIHBsdWdpbnMgdG8gdGhpcy4KCjIwMTAtMDQtMjcgMjE6NTY6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDQyLzkwNl0gYmx1cjogb3B0aW1pemUgY29vcmRpbmF0ZXMgY2FsY3VsYXRpb25zCgkgIFNhdmUgMjggaW5zdHJ1Y3Rpb25zIG9uIGk5MTUgKG1haW5seSByZWR1bmRhbnQgTU9WcykgYW5kIGdhaW4gYSAyNSUKCSAgKHJvdWdobHkgbWVhc3VyZWQgd2l0aCB2aWRlb3Rlc3RzcmMgYW5kIGdsaW1hZ2VzaW5rIHN5bmM9ZmFsc2UpIHNwZWVkCgkgIGJ1bXAKCjIwMTAtMDQtMjcgMTk6Mzg6MzMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkgIFs0NDEvOTA2XSBzb2JlbDogY29udm9sdmUgb25seSBsdW1hCgkgIFJld29yayBTb2JlbCBhIGxpdHRsZSBiaXQgYWdhaW4gbWFraW5nIGl0IHdvcmsgYXMgdGhlIG9sZCBvbmU6CgkgIDEuIGRlc2F0dXJhdGUgaW5wdXQgdGV4dHVyZQoJICAyLiBjYWxjdWxhdGUgaG9yaXpvbnRhbCBjb252b2x1dGlvbiBmb3IgeCBncmFkaWVudCBhbmQgdmVydGljYWwKCSAgY29udm9sdXRpb24gZm9yIHkgZ3JhZGllbnQgYXQgdGhlIHNhbWUgdGltZSAoaGFsdmVzIHRoZSBudW1iZXIgb2YKCSAgbmVlZGVkIHRleHR1cmUgbG9va3VwcykKCSAgMy4gc3RvcmUgcmVzdWx0cyBpbiBhIHNpbmdsZSB0ZXh0dXJlIChyZWQgYW5kIGdyZWVuIGNoYW5uZWwpCgkgIDQuIGNhbGN1bGF0ZSByZW1haW5pbmcgY29udm9sdXRpb24gKHNhbWUgYXMgYWJvdmUgc3dpdGNoaW5nIHZlcnRpY2FsIGFuZAoJICBob3Jpem9udGFsKQoJICA1LiBjYWxjdWxhdGUgbGVuZ3RoIG9mIGdyYWRpZW50IHVzaW5nIHJlZCBhbmQgZ3JlZW4gYXMgeCBhbmQgeQoJICBjb21wb25lbnRzLgoJICBPcHRpbWl6ZSB3aGVyZXZlciBwb3NzaWJsZSwgc3RvcmUga2VybmVscyBhcyBjb25zdGFudHMgaW4gdGhlIHNoYWRlcnMsCgkgIHJlbW92ZSB1bm5lZWRlZCB1bmlmb3Jtcy4gUmVzdG9yZSBpbnZlcnQgcHJvcGVydHkgY2FyZWZ1bGx5IGF2b2lkaW5nCgkgIHVzaW5nIElGLgoJICBTdGlsbCBub3Qgc3VyZSBpZiAiZnVsbCBjb2xvciIgY29udm9sdXRpb24gd2lsbCBiZSBuZWVkZWQsIGdsZmlsdGVyc29iZWwKCSAgaXMgdG8gYmUgaW50ZW5kZWQgYXMgYSBkZW1vIGZpbHRlciBhbmQgeHJheSwgdGhlIG9ubHkgZWZmZWN0IHdoaWNoIHVzZXMKCSAgc29iZWwgb25seSBuZWVkcyBlZGdlIGludGVuc2l0eS4gRHJvcHBpbmcgaXQgZm9yIG5vdy4KCjIwMTAtMDQtMjcgMDk6MDg6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkgIFs0NDAvOTA2XSBzb2JlbDogaW1wbGVtZW50IHNvYmVsIGZpbHRlciB1c2luZyBzZXBhcmFibGUga2VybmVscwoJICBSZWltcGxlbWVudCBzb2JlbCBpbiBhIG11bHRpcGFzcyBmdWxseSBzZXBhcmF0ZWQgY29udm9sdXRpb246CgkgIC0gY2FsY3VsYXRlIHggZ3JhZGllbnQgbWFwIGNvbnZvbHZpbmcgZmlyc3QgaG9yaXpvbnRhbGx5IHdpdGggYmx1cnJpbmcKCSAga2VybmVsIGFuZCB0aGVuIHZlcnRpY2FsbHkgd2l0aCBkaWZmZXJlbnRpYXRpbmcga2VybmVsCgkgIC0gY2FsY3VsYXRlIHkgZ3JhZGllbnQgbWFwIGNvbnZvbHZpbmcgZmlyc3QgdmVydGljYWxseSB3aXRoIGJsdXJyaW5nCgkgIGtlcm5lbCBhbmQgdGhlbiBob3Jpem9uYWxseSB3aXRoIGRpZmZlcmVudGlhdGluZyBrZXJuZWwKCSAgLSBjYWxjdWxhdGUgbGVuZ3RoIG9mIHRoZSBncmFkaWVudCB2ZWN0b3IKCSAgUGFydGljdWxhciBjYXJlIHdhcyBuZWVkZWQgd2l0aCBub3JtYWxpemF0aW9uIG9mIHRoZSBibHVycmluZyBrZXJuZWwgYW5kCgkgIHdpdGggZ3JleSBsZXZlbCBvZmZzZXQgb2YgdGhlIGRpZmZlcmVudGlhdGluZyBvbmUgdG8gcHJldmVudCBvdmVyZmxvdyBvZgoJICByZ2IgdmFsdWVzIGZyb20gdGhlIFswLjAsMS4wXSByYW5nZSBpbiBpbnRlcm1lZGlhdGUgcGFzc2VzLgoJICBOb3cgd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjYgMTM6MjA6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDM5LzkwNl0gc29iZWw6IGdldCByaWQgb2YgI3ZlcnNpb24gMTIwIGRlcGVuZGVudCBhcnJheSBjb25zdHJ1Y3RvcnMKCjIwMTAtMDQtMjcgMTE6MDc6MDQgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSAgWzQzOC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBpbXByb3ZlIGJlaGF2aW9yIGFuZCBhZGQgc29tZSBwcm9wZXJ0aWVzCgkgIEZpeGVzIGJ1ZyAjNjEyMTYzCgoyMDEwLTA0LTI2IDIzOjQ4OjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDM3LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IHJlbW92ZSB1bnVzZWQgY29kZSAoY29waWVkL3Bhc3RlZCBmcm9tIGdsZmlsdGVyZ2xhc3MpCgoyMDEwLTA0LTI2IDIzOjQyOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0MzYvOTA2XSBnbGVmZmVjdHNzb3VyY2VzOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5CgoyMDEwLTA0LTI2IDIzOjM4OjU5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNDM1LzkwNl0gR05VU3RlcCBidWlsZDogYWRkIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuIHNvdXJjZXMKCjIwMTAtMDQtMjYgMTQ6NDE6MTcgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSAgWzQzNC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBmb3Jnb3QgdG8gYWRkIHNvdXJjZXMKCjIwMTAtMDQtMjYgMTQ6MzI6MjggKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0MzMvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogYWRkIG5ldyBPcGVuR0wgUmVmbGVjdGVkIFNjcmVlbiBmaWx0ZXIKCSAgRml4ZXMgYnVnICM2MTIxNjMKCjIwMTAtMDQtMjYgMTQ6MTE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDMyLzkwNl0gR3N0R0xEaXNwbGF5OiB0aGlzIGlzIEdMX0RFUFRIMjRfU1RFTkNJTDhfRVhULCBub3QgR0xfREVQVEgyNF9TVEVOQ0lMOF9FWFQKCjIwMTAtMDQtMjYgMTM6NTc6MDAgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQzMS85MDZdIEdzdEdMRGlzcGxheTogZW5hYmxlIHN0ZW5jaWwgYnVmZmVyIHdoZW4gdXNpbmcgZnJhbWVidWZmZXIgb2JqZWN0cy4KCSAgRml4ZXMgQnVnICM2MTIxNTkKCjIwMTAtMDQtMjYgMTI6NDU6NTcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDMwLzkwNl0gY29udm9sdXRpb246IHNhdmUgc29tZSBpbmRpcmVjdGlvbiBncm91cGluZyBtYXRoIGFuZCBzYW1wbGluZwoJICBUaGFua3MgdG8gRXJpYyBBbmhvbHQgSSd2ZSBmaW5hbGx5IHVuZGVyc3Rvb2QgKGF0IGxlYXN0IEkgaG9wZSkgaG93IHRvCgkgIGNvdW50IHRleHR1cmUgaW5kaXJlY3Rpb25zIGFuZCBzYXZlIHVwIHNvbWUuICBUZXh0dXJlIHNhbXBsaW5nIGRlcGVuZGVudAoJICBvbiB0aGUgcmVzdWx0IG9mIHNvbWUgbWF0aCBjb3VudHMgYXMgYW4gaW5kaXJlY3Rpb24gcGhhc2UuIEdyb3VwZWQKCSAgdGV4dHVyZSBsb29rdXBzIHdpdGggbm8gbWF0aCBpbnZvbHZlZCBjb3VudCBhcyBhIHNpbmdsZSBpbmRpcmVjdGlvbi4KCSAgTWF0aCBvbiB0aGUgY29vcmRpbmF0ZXMgY291bnQgYXMgaW5kaXJlY3Rpb24uCgkgIFNvIHRoZSBiZXN0IHRoaW5nIGlzIHRvIGdyb3VwIGFsbCB0aGUgbWF0aCBpbnZvbHZpbmcgY29vcmRpbmF0ZXMgYW5kCgkgIHRoZW4gZG8gYWxsIHRoZSBsb29rdXBzLgoJICBUaGlzIHNhdmVzIGVub3VnaCBpbmRpcmVjdGlvbnMgdG8gbWFrZSBnbGZpbHRlcmJsdXIgYW5kIGdsb3cgZWZmZWN0CgkgIHdvcmssIGFsYmVpdCBhIGJpdCBzbG93bHksIG9uIGk5MTUuCgoyMDEwLTA0LTI1IDEwOjU1OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDI5LzkwNl0gbGFwbGFjaWFuOiByZW1vdmUgdW51c2VkIG5vcm1fY29uc3QgYW5kIG5vcm1fb2Zmc2V0IHVuaWZvcm1zCgkgIFJlbW92ZSB1bnVzZWQgdW5pZm9ybXMgZnJvbSB0aGUgbGFwbGFjaWFuIGZpbHRlci4gQWxzbyByZW1vdmUgaWYKCSAga2VybmVsW2ldICE9IDAgY2hlY2tzIHNvIHRoYXQgaXQgY29tcGlsZXMgd2hlcmUgSUYgaXMgbm90IGF2YWlsYWJsZS4KCSAgQWdhaW4sIGJpZyB0aGFua3MgdG8gRXJpYyBBbmhvbHQgZm9yIHRoZSBoaW50cy4KCjIwMTAtMDQtMTMgMTY6MjA6MDIgLTA3MDAgIEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQyOC85MDZdIGxhcGxhY2lhbjogQXZvaWQgdXNpbmcgR0xTTCAxLjIwIGZlYXR1cmVzIGluIGEgbm9uLSN2ZXJzaW9uZWQgc2hhZGVyLgoJICBGaXhlcyBjb21waWxlIG9uIE1lc2EuCgoyMDEwLTA0LTI1IDEwOjMxOjAxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNy85MDZdIHJnYl90b19jdXJ2ZTogc2F2ZSB1cCBhIHRleHR1cmUgaW5kaXJlY3Rpb24KCSAgQXBwYXJlbnRseSBhc3NpZ25pbmcgZ2xfVGV4Q29vcmQgdG8gYSB0ZW1wIGNvdW50IGFzIGFuIGluZGlyZWN0aW9uLgoJICBVc2luZyBpdCBkaXJlY3RseSBhdm9pZHMgaXQgYW5kIGxpbWl0cyBpbmRpcmVjdGlvbnMgdG8gZm91ciBub3QKCSAgZXhjZWVkaW5nIGk5MTUgbGltaXQuIE5vdyB4cHJvIGVmZmVjdCB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yNSAxMDowNDoyOCArMDIwMCAgVmluc29uIExlZSA8dmxlZUB2bXdhcmUuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI2LzkwNl0gbXVsdGlwbHk6IGZpeCBhIGNvbXBpbGF0aW9uIGVycm9yIHdpdGggQXBwbGUgY29tcGlsZXIKCSAgRml4IG11bHRpcGx5X2ZyYWdtZW50X3NvdXJjZSB0byBjb21waWxlIHdpdGggQXBwbGUgR0xTTCBjb21waWxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjc0OAoKMjAxMC0wNC0yNCAyMToxMTozNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjUvOTA2XSB0d2lybDogZ2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uCgkgIEdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgaW4gdGhlIHR3aXJsIGVmZmVjdC4gVGhlIHNhbWUgY2FuIGJlIGRvbmUKCSAgdXNpbmcgYSByb3RhdGlvbiBtYXRyaXgsIHNhdmluZyBhbHUgaW5zdHJ1Y3Rpb25zIGFuZCwgbW9zdCBvZiBhbGwsCgkgIGF2b2lkaW5nIHRoZSB1c2Ugb2YgdGhlIGV2aWwgYXRhbigpIGZ1bmN0aW9uICh3aGljaCB1c2VzIElGIG9wZXJhdG9ycykuCgkgIENhbGN1bGF0ZSByb3RhdGlvbiBhbmdsZSBpbiBhIHNhbmVyLCB1bmRlcnN0YW5kYWJsZSB3YXkuCgkgIFdvcmtzIG9uIGk5MTUhIChIb3BlIGl0IHN0aWxsIHdvcmtzIGVsc2V3aGVyZSB0b28gYXMgSSdtIG5vdCBhYmxlIHRvCgkgIHRlc3QgYXQgdGhlIG1vbWVudCkKCjIwMTAtMDQtMjQgMjA6NDM6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI0LzkwNl0gdHVubmVsOiBnZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24KCSAgR2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBpbiB0aGUgdHVubmVsIGVmZmVjdCBhcyB0aGUgc2FtZSBjYW4gZWFzaWx5CgkgIGJlIGRvbmUganVzdCBjbGFtcGluZyB0aGUgcmFkaXVzIGFuZCBtdWx0aXBseWluZy4KCSAgUmVtb3ZlIHRoZSBldmlsIGF0YW4oKSBjYWxsIHRoYXQgdXNlcyBicmFuY2hpbmcgYW5kIGEgbG90IG9mIHVubmVlZGVkIGFsdQoJICBpbnN0cnVjdGlvbnMuIE5vdyB3b3JrcyBvbiBpOTE1IQoKMjAxMC0wNC0yMyAyMDowNjo0OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJICBbNDIzLzkwNl0gY29udm9sdXRpb246IGdlbmVyYXRlIGdhdXNzaWFuIGtlcm5lbCBvbiB0aGUgZmx5CgkgIEdlbmVyYXRlIGEgbm9ybWFsaXplZCBnYXVzc2lhbiBrZXJuZWwgd2l0aCBnaXZlbiBzaXplIGFuZCBzdGFuZGFyZAoJICBkZXZpYXRpb24gb24gdGhlIGZseS4KCSAgUmVtb3ZlICJub3JtX2NvbnN0IiB1bmlmb3JtIGZyb20gY29udm9sdXRpb24gc2hhZGVycyBhbmQgcHJvdmlkZSBhCgkgIG5vcm1hbGl6ZWQga2VybmVsIGluc3RlYWQuIFJlbW92ZSBub3JtX29mZnNldCB1bmlmb3JtIGFzIGl0IHdhcyBhbHdheXMKCSAgemVybywgd2lsbCByZWludHJvZHVjZSBpdCBpZiByZWFsbHkgbmVlZGVkIGluIHRoZSBmdXR1cmUuIFRoYW5rcyB0byBFcmljCgkgIEFuaG9sdCBmb3Igc3VnZ2VzdGluZyBpdC4KCSAgU2F2ZSBzb21lIEFMVSBpbnN0cnVjdGlvbiBjYWxjdWxhdGluZyBkaXJlY3RseSB0aGUgY29vcmRpbmF0ZSBmb3IKCSAgdGV4dHVyZSBsb29rdXAgaW5zdGVhZCBvZiBzdW1taW5nIGFuIG9mZnNldC4KCSAgU3RpbGwgZXhjZWVkIG1heGltdW0gaW5kaXJlY3QgdGV4dHVyZSBsb29rdXBzIG9uIGk5MTUsIHRoZSBvbmx5IHNvbHV0aW9uCgkgIEkgc2VlIGlzIHVzaW5nIGEgM3gzIGtlcm5lbC4KCjIwMTAtMDQtMjMgMTc6NDk6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDIyLzkwNl0gY29udm9sdXRpb246IHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVyIHVzZWQKCSAgUmVkdWNlIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXIgY2FsY3VsYXRpbmcgdGV4dHVyZSBsb29rdXAgb2Zmc2V0IG9uIHRoZQoJICBmbHkuIEl0IHdhcyBqdXN0IGEgc2ltcGxlIHNlcXVlbmNlLCBubyBuZWVkIHRvIHN0b3JlIGl0IGluIGEgYXJyYXkuCgkgIEZpeGVzIG1heGltdW0gbnVtYmVyIG9mIHJlZ2lzdGVycyBleGNlZWRlZCBlcnJvciB3aXRoIGk5MTUuIFN0aWxsCgkgIGV4Y2VlZCBtYXhpbXVtIGluZGlyZWN0IHRleHR1cmUgbG9va3VwcyBhbmQgbWF4aW11bSBBTFUgaW5zdHJ1Y3Rpb25zLgoJICBNYXliZSB3ZSBzaG91bGQgZ2F2ZSB1cCBzb21lIGJsdXIgZ29vZG5lc3MgYW5kIHVzZSBsaWdodGx5IG1vcmUgbGl0dGxlCgkgIGtlcm5lbHMuCgoyMDEwLTA0LTIzIDE3OjM3OjIxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyMS85MDZdIGNvbnZvbHV0aW9uOiBkb24ndCBjaGVjayBrZXJuZWxbaV0gdG8gYmUgbm9uIHplcm8KCSAgQXBwYXJlbnRseSBzYXZpbmcgdXAgc29tZSB0ZXh0dXJlIGxvb2t1cCBmb3IgemVybyBrZXJuZWwgZWxlbWVudHMgaXMKCSAgZGVmaW5pdGVseSBub3Qgd29ydGggdGhlIHVzZSBvZiBicmFuY2hpbmcuIFRoaXMgd2F5IGNvbnZvbHV0aW9uCgkgIGZyYWdtZW50IHByb2dyYW1zIGFsc28gd29yayB3aGVyZSBJRiBvcGVyYXRvciBpcyBub3Qgc3VwcG9ydGVkICh0ZXN0ZWQKCSAgb24gaTkxNSBhbmQgbm91dmVhdSkuIFNlZSBhbHNvIGRpc2N1c3Npb24gb24gYnVnICM2MTU2OTYuCgkgIFRoYW5rcyB0byBFcmljIEFuaG9sdCBmb3Igc3BvdHRpbmcgdGhpcy4KCjIwMTAtMDQtMjMgMTc6MzA6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDIwLzkwNl0gYmx1cjogdXNlIGNvbW1vbiBzaGFkZXIgc291cmNlcwoJICBQb3J0IGJsdXIgZmlsdGVyIHRvIHVzZSB0aGUgY29tbW9uIGNvbnZvbHV0aW9uIHNoYWRlcnMgaW4KCSAgZ3N0Z2xlZmZlY3Rzc291cmNlcy5jLiBUaGlzIHJlZHVjZXMgY29kZSBkdXBsaWNhdGlvbiBhbmQsIGluY2lkZW50YWxseSwKCSAgdGhlIHNoYWRlcnMgaW4gdGhlIGNvbW1vbiBmaWxlIHdlcmUgYWxyZWFkeSB1cGRhdGVkIHRvIG5vdCB1c2UgYXJyYXkKCSAgY29uc3RydWN0b3IgYW5kIHRvIG5vdCBkZXBlbmQgb24gI3ZlcnNpb24gMTIwLgoJICBGaXJzdCBzdGVwIHRvd2FyZHMgYnVnICM2MTU2OTYgZml4aW5nLgoKMjAxMC0wNC0yMyAxNzoxOTo1MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0MTkvOTA2XSBibHVyOiByZW1vdmUgaG9yaXpvbnRhbCBmbGlwCgkgIEFwcGFyZW50bHkgdGhlcmUgd2FzIHNvbWUgc3RhbGUgaG9yaXpvbnRhbCBmbGlwIGZ1bmN0aW9uIHN0aWxsIHRoZXJlCgkgIGZyb20gbXkgc3VtbWVyIG9mIGNvZGUgZXhwZXJpbWVudHMuIFJlbW92ZSBpdC4KCjIwMTAtMDQtMjMgMTc6MTQ6NTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDE4LzkwNl0gZWZmZWN0czogZGlzYWJsZSBnc3QtaW5kZW50IGluIHRoZSBzb3VyY2VzCgkgIEZpeCBzb21lIGNyYXp5IGZvcm1hdHRpbmcgY2F1c2VkIGJ5IGdzdC1pbmRlbnQgcHJldmlvdXMgcnVucyBhbmQgZGlzYWJsZQoJICB0aGUgc2NyaXB0IGZvciB0aGlzIGZpbGUuIFRoZSBiZXN0IHdvdWxkIGJlIHRvIG1vdmUgc2hhZGVycyBpbnRvCgkgIHNlcGFyYXRlIGZpbGVzIGFuZCBsb2FkIHRoZW0gYXQgcnVudGltZSBvciBoYXJkY29kZSB0aGVtIGF0IGNvbXBpbGUKCSAgdGltZS4KCjIwMTAtMDMtMzEgMTI6NDA6MTIgKzAyMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs0MTcvOTA2XSBnbGJ1bXBlcjogVXNlIHBuZ19zaWdfY21wKCkgaW5zdGVhZCBvZiBwbmdfY2hlY2tfc2lnKCkKCSAgRml4ZXMgYnVnICM2MTMxODYKCjIwMTAtMDMtMjQgMTE6MTA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0MTYvOTA2XSBnbDogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpCgkgIEZpeGVzICM2MTMzNzEuCgoyMDEwLTAzLTA5IDAxOjM1OjQyICswMTAwICBOaWNob2xhcyBQYW5heWlzIDxuaWNrQG1vdmVuY3kuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs0MTUvOTA2XSBnc3RnbHdpbmRvd193aW4zMjogc2hhcmUgb3BlbmdsIGNvbnRleHQgaW4gY29ycmVjdCBvcmRlcgoJICBBbGxvdyB0byB1c2UgdGhlIG9wZW5nbCBjb250ZXh0IHNoYXJpbmcgZmVhdHVyZSBpZiB0aGUgb3JpZ2luYWwKCSAgY29udGV4dCBoYXMgYmVlbiB1c2VkIGFscmVhZHkuCgkgIFRoaXMgaXMgb25seSBwb3NzaWJsZSBvbiB3aW4zMiB3aXRoIHdnbFNoYXJlTGlzdHMgYmVjYXVzZSBvbiBvdGhlcgoJICBiYWNrZW5kcywgdGhlIHNoYXJpbmcgaXMgbWFkZSB3aGVuIGEgY29udGV4dCBpcyBjcmVhdGVkLgoJICBUaGlzIG5ldyBmZWF0dXJlIGlzIG9ubHkgdXNlZnVsbCB3aGVuIHVzaW5nIGV4dGVybmFsIGNvbnRleHQKCSAgYmVjYXVzZSBnc3QtZ2wgaW50ZXJuYWxseSBtYWtlcyBzdXJlIHRoYXQgdGhlIG9yZ2luYWwgY29udGV4dCBpcyBub3QKCSAgYWxyZWFkeSB1c2VkIHdoZW4gc2hhcmluZyBpdC4KCSAgRml4IGJ1ZyAjNjExMDY3CgoyMDEwLTAzLTA5IDAxOjI0OjA2ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDE0LzkwNl0gZ2xidW1wZXIvZ2xkaWZmZXJlbmNlbWF0dGUvZ2xvdmVybGF5OiBsaWJwbmcgMS40LnggY29tcGF0aWJsZQoJICBGaXggYnVnICM2MDg2NDMKCjIwMTAtMDEtMTIgMTg6MzI6MzkgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs0MTMvOTA2XSBGaXggV2luZG93cyBjb21waWxlciB3YXJuaW5nIGluIHRlc3QvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmMKCjIwMTAtMDEtMDYgMDA6MTM6NDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzQxMi85MDZdIENvY29hIGJhY2tlbmQ6IGltcHJvdmUgc3VwcG9ydCBvbiBHTlVTdGVwCgoyMDA5LTEyLTE4IDAwOjM0OjEzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MTEvOTA2XSBnc3RnbG1peGVyOiBjb3B5L3Bhc3QgcmVjZW50IGNoYW5nZXMgZnJvbSBnc3R2aWRlb21peGVyCgoyMDA5LTEyLTE2IDAxOjMzOjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MTAvOTA2XSBnc3RnbG1peGVyOiBpbmFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0IGJlZm9yZSB0byByZWxlYXNlIG91cnMKCSAgRmlyc3QsIGluYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHRzIGtub3duIGJ5IGVhY2ggc2luayBwYWQuCgkgIFRoZW4sIGRlc3Ryb3kgdGhlIGdsIGNvbnRleHQga25vd24gYnkgdGhlIGdsbWl4ZXIuCgkgIEZpbmFsbHksIHJlLWFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0cy4KCSAgVGhpcyBpcyB0byBzYXRpc2Z5IHRoZSBmYWN0IHRoYXQgbm8gc2hhcmVkIGdsIGNvbnRleHQgbXVzdCBiZSBjdXJyZW50CgkgIHdoZW4gYW4gb3BlbmdsIGNvbnRleHQgaXMgZGVzdHJveWVkLgoJICBNb3Jlb3ZlciB0aGUgYXBwbGljYXRpb24gbWF5IGhhbmcgb3IgY3Jhc2ggd2l0aG91dCB0aG9zZSBzdGVwcy4KCjIwMDktMTEtMjUgMTA6MjQ6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDA5LzkwNl0gZ2xlZmZlY3RzOiBpbmRlbnQgYW5kIGZpeCBzb21lIHdhcm5pbmdzIGluIEVTIDIuMCBtb2RlCgoyMDA5LTExLTIxIDIxOjQwOjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0MDgvOTA2XSBnbGVmZmVjdHM6IHN0YXJ0IHRvIG1ha2UgaXQgY29tcGF0aWJsZSB3aXRoIE9wZW5HTCBFUyAyLjAKCSAgRm9yIG5vdyBvbmx5IGlkZW50aXR5LCBtaXJyb3IgYW5kIHNxdWVlemUgZWZmZWN0cyBhcmUgYXZhaWxhYmxlLgoJICBNYXliZSBzb21lIGZhY3Rvcml6YXRpb24gaXMgbmVlZGVkIGFib3V0IGNvbXBpbGF0aW9uIHNoYWRlcgoJICBiZWZvcmUgdG8gcHV0IHRoZSBvdGhlciBlZmZlY3RzIHNpbmNlIG9ubHkgYSBjb3B5L3Bhc3QgaXMgbmVlZGVkLAoJICBhdCBsZWFzdCB1bnRpbCBlZmZlY3QgbnVtYmVyIDk6IGhlYXQuCgkgIFRoZSBlZmZlY3RzIGZyb20gMTA6c2VwaWEgdG8gMTU6Z2xvdyByZXF1aXJlIG1vcmUgd29yay4KCjIwMDktMTEtMjEgMTM6MzI6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkgIFs0MDcvOTA2XSB3aW5DRSBiYWNrZW5kOiBmaXggYnVpbGQKCjIwMDktMTEtMjEgMTM6MjE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNDA2LzkwNl0gZ2xpbWFnZXNpbms6IGFkZCBhIGNsaWVudC1kYXRhIHByb3BlcnR5CgkgIEFsc28gYWRkIGl0IHRvIGdsZmlsdGVyYXBwLgoJICBGaXhlcyAjNTU5MTMxCgoyMDA5LTExLTE3IDIzOjQ3OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs0MDUvOTA2XSBnbGZpbHRlcjogYWRkIGV4dGVybmFsLW9wZW5nbC1jb250ZXh0IHByb3BlcnR5CgkgIEl0IHJlcGFpcnMgdGhlIGNsdXR0ZXJzaGFyZSBhbmQgc2Rsc2hhcmUgZXhhbXBsZQoKMjAwOS0xMS0xNyAyMjo1NDozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQwNC85MDZdIGdsdXBsb2FkOiByZXBhaXIgZXh0ZXJuYWxfb3BlbmdsX2NvbnRleHQgcHJvcGVydHkKCSAgcWdsd3RleHR1cmVzaGFyZSBub3cgd29ya3MgYWdhaW4uIEluIHRoaXMgZXhhbXBsZSwKCSAgdGhlIHBpcGVsaW5lIGlzIHNyYyAhIGdsdXBsb2FkICEgZmFrZXNpbmsuCgkgIFNvIGluIHRoaXMgY2FzZSB0aGUgZ2x1cGxvYWQgZWxlbWVudCBpcyBhIHNpbmsgaW4KCSAgdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEJ1dCB0aGUgcHJvYmxlbSBpcyBzdGlsbCB0aGVyZSBpZiB0aGUgcGlwZWxpbmUgaXMKCSAgc3JjICEgZ2x1cGxvYWQgISBnbGZpbHRlciAhIGZha2VzaW5rCgkgIChpdCdzIHRoZSBjYXNlIGluIHNkbHNoYXJlIGFuZCBjbHV0dGVyc2hhcmUgZXhhbXBsZXMpCgkgIGJlY2F1c2Ugc2luY2UgcmVjZW50IGNoYW5nZXMgYWJvdXQgaG93IHRoZSBnc3RnbGRpc3BsYXkKCSAgaXMgdHJhbnNtaXR0ZWQgdG8gdGhlIGdsIGVsZW1lbnQsIHRoZSBjb250ZXh0IGlzIHVzdWFsbHkKCSAgY3JlYXRlZCBieSB0aGUgc2luayBpbiB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQSBzb2x1dGlvbiB3b3VsZCBiZSB0byBhbHNvIGluc3RhbGwgdGhpcyBwcm9wZXJ0eSBvbiBnbGZpbHRlci4KCjIwMDktMTEtMTcgMDI6MTY6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MDMvOTA2XSBnc3RnbG1peGVyOiBJbml0aWFsaXNlIHRoZSBkZWJ1ZyBjYXRlZ29yeQoJICBJbml0aWFsaXNlIHRoZSBnc3RnbG1peGVyIGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdC4KCjIwMDktMTEtMTcgMDE6MDg6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDAyLzkwNl0gZ2xvdmVybGF5OiBmaXggc29tZSB3YXJuaW5ncwoKMjAwOS0xMS0xNiAxNDozMjoxNiArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0MDEvOTA2XSBnbG92ZXJsYXk6IEFkZGVkIHJvdGF0ZSB0ZXh0dXJlCgkgIGZpeCAjNjAxMjc3CgoyMDA5LTExLTA1IDE0OjUzOjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQwMC85MDZdIGdzdGdsZGlzcGxheTogbm8gbmVlZCB0aGUgSTQyMCB3b3JrIGFyb3VuZCBpZiBBVEkgTW9iaWxpdHkKCSAgZml4ICM1ODg2NTMKCjIwMDktMTEtMDQgMjM6NDQ6NDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzM5OS85MDZdIGdsbWl4ZXI6IGZpeCB3aGVuIG5vIG1vcmUgZ2wgZWxlbWVudHMgYWZ0ZXIgaXQKCSAgRm9yIGV4YW1wbGU6CgkgIHZpZGVvdGVzdHNyYyAhIGdsdXBsb2FkICEgLi4uICEgZ2xmaXRlciAhIC4uLiAhIGdsbW9zYWljICEgZmFrZXNpbmsKCSAgVXNlZnVsbCB3aGVuIHVzaW5nIGdsbWl4ZXIgaW5zaWRlIGNsdXR0ZXJzaGFyZSBvciBzZGxzaGFyZSBjYXNlcy4KCjIwMDktMTEtMDQgMjM6MTI6NDIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzM5OC85MDZdIGdsZG93bmxvYWQ6IGRvIG5vdCBmb3Jnb3QgdG8gY3JlYXRlIHRoZSBnbCBjb250ZXh0CgkgIGZpeCAjNjAwNjMwCgoyMDA5LTExLTA0IDIzOjExOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbMzk3LzkwNl0gZ2xtb3NhaWM6IGZpeCBhIGNvbXBhcmlzb24gd2FybmluZwoKMjAwOS0xMS0wNCAyMzoxMDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzM5Ni85MDZdIGdsZGlmZmVyZW5jZW1hdHRlOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIHZjOQoKMjAwOS0xMC0yOCAxMDo0MTo1MyArMDEwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSAgWzM5NS85MDZdIGRpZmZlcmVuY2VtYXR0ZTogZml4IHJlZ3Jlc3Npb25zIGZyb20gZ2RrcGl4YnVmIHRvIGxpYnBuZyBtaWdyYXRpb24KCSAgVGhlIGJhY2tncm91bmQgaW1hZ2UgbmVlZHMgdG8gYmUgc2NhbGVkIHRvIGZpdCBjdXJyZW50IHRleHR1cmUgc2l6ZS4KCSAgUHJldmlvdXNseSB0aGlzIHdhcyBkb25lIGJ5IGdka19waXhidWZfc2NhbGVfc2ltcGxlIGJ1dCB0aGF0J3MgYmVlbgoJICByZW1vdmVkLgoJICBDcmVhdGUgYSB0ZXh0dXJlIGZyb20gdGhlIGJhY2tncm91bmQgcGl4YnVmIHdpdGggY29ycmVjdCBkaW1lbnNpb25zIGFuZAoJICB1c2UgaW50ZXJwb2xhdGlvbiBzaGFkZXIgdG8gc2NhbGUgaXQgdG8gdGhlIHJpZ2h0IHNpemUuIEludGVycG9sYXRpb24KCSAgZnJhZ21lbnQgc2hhZGVyIGRvZXNuJ3QgaGF2ZSB0b28gbXVjaCBzZW5zZSBpZiBhbGwgdGhlIHRleHR1cmVzIGRvbid0CgkgIGhhdmUgdGhlIHNhbWUgc2l6ZSBzbyB0aGlzIHNlZW1lZCB0aGUgbW9zdCBuYXR1cmFsIHBsYWNlIHRvIGRvIHRoZQoJICBzY2FsaW5nLiBJdCBjb3VsZCBwcm9iYWJseSBiZSBkb25lIHdpdGggc29tZSBjdXN0b20gdGV4dHVyZSBtYXBwaW5nCgkgIG91dHNpZGUgdGhlIHNoYWRlciBidXQgaXQgaW52b2x2ZWQgbW9yZSBjb2RlLgoJICBGaXhlcyBidWcgIzU5OTg4My4KCjIwMDktMTAtMjcgMTc6MDI6MjMgKzAxMDAgIFByYXRoZWVzaCBHYW5nYWRoYXIgPHByYXRoZWVzaC5nYW5nYWRoYXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzk0LzkwNl0gZ3N0Z2xkaXNwbGF5OiB1c2Ugb2YgR0xfREVQVEhfQ09NUE9ORU5UMTYgaWYgT3BlbkdMIEVTIDIuMAoJICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UgZG9lcyBub3QgYWNjZXB0IEdMX0RFUFRIX0NPTVBPTkVOVCBpbgoJICBPcGVuR0wgRVMgMi4wLgoJICBGaXggYnVnICM1OTM3ODYKCjIwMDktMTAtMjcgMTU6Mjc6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbMzkzLzkwNl0gZ2xtb3NhaWM6IGZvciBub3cgaXQncyBhIGN1YmUgbW9zYWljCgkgIEFsc28gdXNlIEdQdHJBcnJheSBpbnN0ZWFkIG9mIEdBcnJheSBpbiBnbG1peGVyLgoJICBBbmQgYWRkIGEgcGlwZWxpbmUgdG8gdGVzdHMvcGllcGxpbmVzCgoyMDA5LTEwLTI3IDExOjE0OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbMzkyLzkwNl0gZ2xtb3NhaWM6IGRlc2FjdGl2YXRlIHNoYWRlciB3aGVuIGRvbmUKCjIwMDktMTAtMjYgMTE6NDQ6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszOTEvOTA2XSBDb2NvYTogZml4IGJhY2tlbmQgc2luY2UgcmVjZW50IGNoYW5nZXMKCSAgQmVmb3JlLCB0aGUgd2luZG93IHNpemUgd2FzIGdpdmVuIGF0IGl0cyBjcmVhdGlvbi4gTm93LCBpdCdzIGRvbmUgYXQKCSAgdGhlIGRyYXdpbmcgc3RlcCBiZWNhdXNlIGl0J3Mgb25seSByZWxldmFudCB3aGVuIHRoZXJlIGlzIGEgZ2xpbWFnZXNpbmsKCSAgZWxlbWVudCBpbiB0aGUgcGlwZWxpbmUuCgoyMDA5LTEwLTIzIDIwOjUzOjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzM5MC85MDZdIHJlbW92ZSB3YXJuaW5ncyBmcm9tIHZzOQoKMjAwOS0xMC0yMyAyMDo1MjozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzM4OS85MDZdIGZpeCBjb2RlYmxvY2tzIGJ1aWxkIG9uIHdpbjMyCgoyMDA5LTEwLTIzIDEwOjUyOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFszODgvOTA2XSBqdXN0IGZpeCBidWlsZHMgYW5kIGluZGVudAoKMjAwOS0xMC0yMyAwMToxMToyNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszODcvOTA2XSBnbG1peGVyOiBhZGQgYSBnbG1peGVyIGJhc2UgZWxlbWVudAoJICBnbG1peGVyIGNhbiBiZSBzZWVuIGFzIGEgZ2xmaWx0ZXIgZXhjZXB0IGl0IGhhbmRsZXMgTiByZXF1ZXN0ZWQKCSAgc2luayBwYWRzLgoJICBFYWNoIHNpbmsgcGFkIGFuZCB0aGUgc3JjIHBhZCBhcmUgdmlkZW8veC1yYXctZ2wuCgkgIGdsbWl4ZXIgaXMgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGRpZmZlcmVudCBmcmFtZXJhdGVzIGZyb20gaW5wdXRzLgoJICBJdCB1c2VzIE9wZW5HTCBjb250ZXh0IHNoYXJpbmcuIEl0IG1lYW5zIHRoYXQgZWFjaCBpbnB1dCBpcyBpbiBpdHMKCSAgb3duIE9wZW5HTCBjb250ZXh0IHNoYXJlZCB0b2dldGhlciBhbmQgc2hhcmVkIHdpdGggdGhlIE9wZW5HTCBjb250ZXh0CgkgIG9mIHRoZSBvdXB1dCBnbCBjaGFpbi4KCSAgQWxzbyBhZGQgYSBnbG1vc2FpYyB3aGljaCBpcyBhbiBleGFtcGxlIG9mIGltcGxlbWVudGF0aW9uIG9mIGdsbWl4ZXIuCgkgIEZvciBub3cgZ2xtb3NhaWMgaXMgYSBjdWJlIGJ1dCBpdCB3aWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgkgIEZvciBub3cgdGhlIGdsbWl4ZXIgaGFzIHNvbWUgd2VpcmQgYmVoYXZpb3VycyBpbiBzb21lIGNvbmZpZ3VyYXRpb25zCgkgIGJ1dCBpdCB3aWxsIGJlIGltcHJvdmVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgkgIFRoZSBhdXRvdG9vbHMgYnVpbGRzIGlzIHRlbXBvcmFybHkgYnJva2VuIHNpbmNlIHRob3NlIGNoYW5nZXMKCSAgaGF2ZSBiZWVuIG1hZGUgb24gd2luMzIuCgoyMDA5LTEwLTIzIDAxOjA3OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzg2LzkwNl0gcGl4YnVmZHJvcDogZml4IGV4YW1wbGUgb24gd2luMzIKCjIwMDktMTAtMDQgMDI6MjM6NDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMzg1LzkwNl0gcmV3cml0ZSB0aGUgd2F5IGEgZ3N0Z2xkaXNwbGF5IGlzIHRyYW5zbWl0ZWQgdG8gdGhlIGdsIGVsZW1lbnRzCgkgIEJlZm9yZSwgYSBnc3RnbGRpc3BsYXkgd2FzIGluc3RhbmNpZWQgYnkgdGhlIGdsIHNyYyBpbiB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQW5kIHRoZW4gdGhlIG5leHQgZWxlbWVudCBnb3QgaXQgdGhyb3VnaCB0aGUgZmlyc3QgZ3N0Z2xidWZmZXIuCgkgIE5vdywgdGhpcyBpcyBkb25lIHRob3VnaCBxdWVyaWVzLgoJICBBbGwgZ2xlbGVtZW50cyBnZXQgdGhlaXIgcmVmIG9uIGEgZ3N0Z2xkaXNwbGF5IGluIFJFQURZIHN0YXRlLgoJICBUaGlzIHJld3JpdGUgaXMgbWFpbmx5IGEgZmlyc3Qgc3RlcCB0byBiZSBhYmxlIHRvIHNoYXJlIE9wZW5HTCBjb250ZXh0IGhvbGQKCSAgYnkgdGhlIGdzdGdsZGlzcGxheSB1c2luZyBtb3JlIGNvbXBsZXggZ2xlbGVtZW50cy4KCSAgRm9yIGV4YW1wbGUsIHdpdGggYSBnbHZpZGVvbWl4ZXIuIFRoZSBhc3NvY2lhdGVkIGdzdGdsZGlzcGxheSBvZiBlYWNoIGdsIGNoYWluCgkgIG9mIHRoZSBzaW5rIHBhZHMgd2lsbCBzaGFyZSB0aGVpciBPcGVuR0wgY29udGV4dC4KCjIwMDktMTAtMTYgMTg6MDg6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM4NC85MDZdIGJ1aWxkOiB1c2UgPHN0ZGlvLmg+IC8gInN0ZGlvLmgiCgoyMDA5LTEwLTE2IDE3OjI5OjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszODMvOTA2XSBidWlsZDogaW5jbHVkZSA8c3RkaW8uaD4gd2hlbiB1c2luZyBwcmludGYgJiBjby4KCjIwMDktMTAtMTUgMTU6NDA6MTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMzgyLzkwNl0gRVMyLjA6IHJlbW92ZSB3YXJuaW5ncwoJICBQYXJ0aWFsbHkgZml4ICM1OTM3ODYKCjIwMDktMTAtMTUgMTQ6NTk6MDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszODEvOTA2XSBFR0wgYW5kIEdMWDo6IHNldCBhIG1pbmltdW0gZGVwdGggc2l6ZQoKMjAwOS0wOS0yMSAxNTowMDowMiArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszODAvOTA2XSBnbG92ZXJsYXk6IGNhbiBwdXQgdmlkZW8gb3ZlciBwbmcgaW1hZ2VzCgkgIEZpeCBidWcgIzU5NTMwMwoKMjAwOS0wOS0yMSAxMDo1MTo0NyArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzc5LzkwNl0gZ2xvdmVybGF5OiBhZGQgc3VwcG9ydCB0byB1c2UgUkdCIHBuZyBpbWFnZXMKCSAgUHJldmlvdXNseSByZXN0cmljdGVkIHRvIFJHQkEsIG5vdyBnbG92ZXJsYXkgY2FuIGFsc28gaGFuZGxlIGEgUkdCIGltYWdlLgoKMjAwOS0wOS0xOSAxNDozMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzM3OC85MDZdIGdsZGlzcGxheTogYXZvaWQgdG8gcmVxdWVzdCBnbCB0aHJlYWQgd2hlbiBkZWxldGluZyBhIHRleHR1cmUKCSAgQSB0ZXh0dXJlIGlzIG5vdCBkZXN0cm95ZWQgd2hlbiB3aGVuIHdlIGFyZSBkb25lIHdpdGggaXQuCgkgIFRoaXMgdGV4dHVyZSBpcyBqdXN0IGFkZGVkIHRvIHRoZSB0ZXh0dXJlIHBvb2wgaW4gb3JkZXIgdG8gYmUKCSAgcmUtdXNlZC4gSW4gdGhpcyBjYXNlIG5vIE9wZW5HTCBjb2RlIGlzIGV4ZWN1dGVkIHNvIHdlIGRvIG5vdCBuZWVkIHRvCgkgIHJlcXVlc3QgZ2wgdGhyZWFkLgoKMjAwOS0wOS0xOSAxNDoxNjoyNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNzcvOTA2XSBnbGRpc3BsYXk6IGF2b2lkIHRvIHJlcXVlc3QgZ2wgdGhyZWFkIHdoZW4gZ2VuZXJhdGluZyBhIHRleHR1cmUKCSAgVGhhbmtzIHRvIHRoZSB0ZXh0dXJlIHBvb2wgdGhlIGdsIHRleHR1cmVzIGFyZSByZS11c2VkLgoJICBXaGVuIHJlLXVzaW5nIG9uZSwgbm8gb3BlbmdsIGNvZGUgaXMgZXhlY3V0ZWQgc28gZG8gbm90IG5lZWQKCSAgdG8gcmVxdWVzdCBnbCB0aHJlYWQuCgoyMDA5LTA5LTAxIDE1OjIxOjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM3Ni85MDZdIGJ1aWxkOiBzdXBwb3J0IG9wZW5HTEVTIG9uIGxpbnV4IHZpYSBhdXRvZm9vLiBQYXJ0aWFseSBmaXhlcyAjNTkzNzg2CgkgIEFkZCBhIHBrZy1jb25maWcgY2hlY2sgZm9yIG9wZW5nbCBhbmQgaWYgbm90IGZvdW5kIGFzc3VtZSBvcGVuZ2wtZXMuIElmIHVzZXIgaGFzCgkgIG5vbmUgb2YgYm90aCBvbmUgc3RpbGwgZ2V0IGJ1aWxkIGVycm9yIGxhdGVyIG9uICh0aGVyZSBpcyBubyBwa2ctY29uZmlnIGZvcgoJICBvcGVuZ2wtZXMpLgoJICBBZGQgbW9yZSBmaWxlcyB0byBFWFRSQSBkaXN0IGFuZCBidWlsZCB0aGUgb3BlbmdsZXMgdmFyaWFudCBpZiBzZWxlY3RlZC4KCSAgU2ltbWlsYXIgY2hhbmdlcyBjb3VsZCBiZSBkb25lIGZvciB0aGUgd2luQ0UgYmFja2VuZC4KCjIwMDktMDktMDIgMTA6MDY6MzYgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzc1LzkwNl0gZ2xvdmVybGF5OiBjYW4gY29udHJvbCBpbWFnZSBzaXplIGFuZCBwb3NpdGlvbgoJICBGaXggYnVnICM1OTE1OTEKCjIwMDktMDktMDEgMTk6NDY6MTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzQvOTA2XSBzZGxzaGFyZSBleGFtcGxlOiBmaXggYnVpbGQgb24gd2luMzIKCjIwMDktMDgtMzEgMTc6MjY6MzQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzMvOTA2XSBzZGxzaGFyZSBleGFtcGxlOiByZXZpZXcgaW5jbHVkZXMgb3JkZXIgYW5kIGZpeCBjbG9zdXJlCgoyMDA5LTA4LTMxIDE3OjE4OjAxICswMjAwICBNaXF1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzcyLzkwNl0gbWFrZSBzZGxzaGFyZSBleGFtcGxlIHdvcmsgb24gbGludXguIEZpeCBidWcgIzU5MzQ4NgoKMjAwOS0wOC0yNiAyMzo0MzozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3MS85MDZdIHRlc3RzOiBhZGQgc2Rsc2hhcmUgZXhhbXBsZQoJICBJdCBzaG93cyBob3cgdG8gdXNlIGdsIHRleHR1cmVzIHRoYXQgY29tZQoJICBmcm9tIGdzdCBnbCBlbGVtZW50cyBpbnNpZGUgYSBTREwgT3BlbkdMIHNjZW5lCgoyMDA5LTA4LTE3IDE1OjQ4OjA5ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNzAvOTA2XSBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZSB0byBNYWtlZmlsZS5hbSBhbmQgdXBkYXRlIHNwZWMgZmlsZSB0byBhY3R1YWxseSBiZSBmb3IgdGhpcyBwYWNrYWdlCgoyMDA5LTA4LTAzIDE3OjUyOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM2OS85MDZdIGRlZmluZSBtaXNzaW5nIGdsZXcgbWFjcm8gb24gb2xkZXIgdmVyc2lvbnMKCjIwMDktMDgtMDMgMTA6MTM6MDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjgvOTA2XSBDb2NvYSBiYWNrZW5kOiBmaXggY3Jhc2ggd2hlbiByZXNpemluZwoJICBEZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIE5TT3BlbmdsVmlldzo6dXBkYXRlIGlzIG5vdCBzYWZlIGJlY2F1c2UgaXQKCSAganVzdCBjYWxscyB1cGRhdGUgb24gdGhlIG9wZW5nbCBjb250ZXh0IHdoZXJlYXMgd2UgYXJlIG5vdCBpbiB0aGUgZ2wgdGhyZWFkLgoJICBBbHNvIGZpeCB0aGUgd2hpdGUgZmxpY2tlcmluZyB3aGVuIHJlc2l6aW5nLCBiZWNhdXNlIG5vdyB3ZSBuZWVkIHRvIGNhbGwKCSAgdGhlIGRyYXcgY2FsbGJhY2sgbWFudWFsbHkgd2hlbiByZXNpemluZy4KCjIwMDktMDctMzEgMTg6MTc6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMzY3LzkwNl0gZG9jczogZml4IEdzdFh2SW1hZ2VTSW5rIC0+IEdzdEdMSW1hZ2VTaW5rIGFuZCByZWluZGVudAoKMjAwOS0wNy0zMCAwMDozNjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzY2LzkwNl0gZG9jczogbWFrZSByZW1haW5pbmcgZWxlbWVudHMgc2hvdyB1cCBpbiBkb2NzCgkgIFNwbGl0IG91dCBkZWNsYXJhdGlvbnMgaW50byBoZWFkZXIgZmlsZXMgYW5kIGhvb2sgZXZlcnl0aGluZyB1cCBzbwoJICB0aGF0IGZpdmUgbW9yZSBlbGVtZW50cyBzaG93IHVwIGluIHRoZSBwbHVnaW4gZG9jcy4gRml4ZXMgIzU1OTEzNS4KCjIwMDktMDctMjcgMDk6NTg6MjAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjUvOTA2XSBDb2NvYSBiYWNrZW5kOiBtYWtlIHN1cmUgdGhhdCBuc2FwcCBpcyBpbml0aWFsaXplZAoJICBnc3QtbGF1bmNoLTAuMTAgdmlkZW90ZXN0c3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsgdC4gISBxdWV1ZSAhIGdsaW1hZ2VzaW5rCgkgIG5vdyB3b3JrcyBwcm9wZXJseSBvbiBNYWNPU1gKCjIwMDktMDctMjQgMTA6MzM6NDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszNjQvOTA2XSBtYWtlIHRoZSBjbWFrZSBidWlsZCB3b3JrIG9uIE1hY09TWAoJICBXZSBjYW4gbm93IGdlbmVyYXRlIGEgWGNvZGUgcHJvamVjdCAob3IgVW5peCBNYWtmaWxlcyksCgkgIHNlZSBJTlNUQUxMIGZpbGUKCjIwMDktMDctMjQgMTA6MTI6MDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjMvOTA2XSBDb2NvYSBiYWNrZW5kOiBmaXggY3Jhc2ggd2hlbiBjbG9zaW5nCgkgIC0gQWxsIGdzdGdsd2luZG93IG1lbWJlcnMgYXJlIG5vdyBtb2RpZmllZCBvbmx5IGluIHRoZSBnbCB0aHJlYWQKCSAgdG8gYXZvaWQgdGhyZWFkIGNvbmN1cnJlbmN5CgkgIC0gT3BlbkdMIGNvbnRleHQgaXMgbm93IHByb3Blcmx5IGNsZWFuCgkgIC0gZml4IGEgY291cGxlIG9mIHRoaW5ncyBpbiBpbXBsZW1lbnRhdGlvbiBvZiB4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDktMDctMTcgMTY6NDc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjIvOTA2XSBtYWtlIGNvY29hIGJhY2tlbmQgd29yayBvbiBNYWNPU1gKCSAgSXQgd29ya3Mgd2l0aCBib3RoIGdzdC1sYXVuY2ggYW5kIGEgY29jb2EgYXBwIChub24tZW1iZWRkZWQgYW5kIGVtYmVkZGVkKQoJICBCdXQgdGhlcmUgaXMgc3RpbGwgc29tZSBwcm9ibGVtczoKCSAgLSBzb21ldGltZXMgY3Jhc2ggd2hlbiBjbG9zaW5nCgkgIC0gZmxpY2tlcmluZyB3aGVuIHJlc2l6aW5nCgkgIC0gZW1iZWRkZWQgbW9kZSBub3QgcGVyZmVjdAoJICBJIHdpbGwgZmlyc3QgbWFrZSB0aGUgQ01ha2UgYnVpbGQgd29yayB3aXRoIGNvY29hIGJhY2tlbmQKCSAgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgYSBYQ29kZSBwcm9qZWN0LgoJICBUaGVuIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gZml4IHRob3NlIGlzc3Vlcy4KCjIwMDktMDctMTQgMjA6MzY6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzYxLzkwNl0gZ3N0Z3RrOiBhZGQgbWlzc2luZyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDctMTQgMjA6MjU6MjggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszNjAvOTA2XSBleGFtcGxlczogYWRkIG1pc3NpbmcgY29weXJpZ2h0L2xpY2Vuc2UgdG8gbXkgZXhhbXBsZXMKCjIwMDktMDctMTMgMTY6MzI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzU5LzkwNl0gZ2w6IExpbmsgd2l0aCAtbG0gYW5kIGZpeCBpbmRlbnRpb24KCjIwMDktMDctMTMgMTI6NTM6MTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM1OC85MDZdIGdzdGdsZGlzcGxheTogQ2xvc2UgYSBzbWFsbCByYWNlIHN0YXJ0aW5nIHRoZSBkaXNwbGF5IHRocmVhZAoJICBUYWtlIHRoZSBkaXNwbGF5IGxvY2sgYmVmb3JlIHNpZ25hbGxpbmcgdGhlIGNyZWF0ZS1jb250ZXh0IGNvbmQKCSAgdG8gZW5zdXJlIHRoZSBjYWxsZXIgaGFzIGRyb3BwZWQgdGhlIGxvY2sgYW5kIGlzIHRoZXJlZm9yZSBsaXN0ZW5pbmcKCSAgZm9yIHRoZSBzaWduYWwuCgoyMDA5LTA3LTEzIDEyOjUyOjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFszNTcvOTA2XSB4MTE6IERvbid0IGNyYXNoIHdoZW4gdGhlIFgxMSBkaXNwbGF5IGlzIG5vdCBhdmFpbGFibGUuCgkgIEVycm9yIG91dCBjbGVhbmx5IGluc3RlYWQgb2YgY3Jhc2hpbmcgd2hlbiB0aGUgWDExIGRpc3BsYXkgY2FuJ3QKCSAgYmUgY29udGFjdGVkLgoKMjAwOS0wNy0xMyAxMjowODoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzU2LzkwNl0gYnVpbGQ6IEZpeCB0eXBvOiBnc3RnbGJ1bWJlci5oIC0+IGdzdGdsYnVtcGVyLmgKCjIwMDktMDYtMjUgMjE6MzI6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzM1NS85MDZdIHNhbWUgbW90aW9uIGNvbXBlbnNhdGlvbgoKMjAwOS0wNi0yNSAwMTozMDo0NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzU0LzkwNl0gZml4IGFuZCBhZGQgZ2xkZWludGVybGFjZSBmaWx0ZXIgdG8gdGhlIGJ1aWxkcwoKMjAwOS0wNi0yNCAxNzo1ODozNSArMDIwMCAganVsaWVuIDxqdWxpZW5AS0pJUy4obm9uZSk+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbMzUzLzkwNl0gYWRkIGEgZ2xkZWludGVybGFjZSBmaWx0ZXIKCSAgR3JlZWR5aCBvcGVyYXRpb24gaW1wbGVtZW50ZWQgdXNpbmcgT3BlbkdMIFNoYWRpbmcgTGFuZ3VhZ2UuCgkgIFdlIGNvdWxkIGFkZCBvdGhlciBvcGVyYXRpb25zIGxhdGVyLgoJICBEb2VzIHNvbWUgZ29vZCByZXN1bHRzIGJ1dCBzdGlsbCBub3QgYXMgZXhwZWN0ZWQuCgkgIFRoYXQncyB3aHkgSSBkbyBub3QgYWRkIGl0IHlldCB0byB0aGUgYnVpbGQuCgoyMDA5LTA2LTEyIDExOjMzOjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFszNTIvOTA2XSBmaXggdHlwbwoJICBDaGFuZ2UgR1NUX0dMX0RJU1BMQVlfUFJPSkVDVElPTl9QRVJTUEVDSVZFIHRvCgkgIEdTVF9HTF9ESVNQTEFZX1BST0pFQ1RJT05fUEVSU1BFQ1RJVkUuCgkgIFJlLWluZGVudCBhIGNvdXBsZSBvZiBmaWxlcyB0aGF0IG5lZWRlZCBpdC4KCjIwMDktMDYtMDkgMjA6MzU6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFszNTEvOTA2XSBhbGxvdyB0byBzd2l0Y2ggeG92ZXJsYXkgd2hpbGUgYmVpbmcgaW4gcGF1c2VkIHN0YXRlCgoyMDA5LTA2LTA3IDIwOjE5OjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzUwLzkwNl0gZml4IHdpbmRvdyBwb3NpdGlvbiB3aGVuIHVzaW5nIHhvdmVybGF5CgkgIHgsIHkgYXJlIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcG9zaXRpb24gaW5zaWRlCgkgIHRoZSBuZXcgcGFyZW50IHdpbmRvdy4KCSAgRml4ZXMgIzU4NDg3NwoKMjAwOS0wNi0wNiAxNDozNDo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzM0OS85MDZdIGNhbiBzd2l0Y2ggeG92ZXJsYXlzIHdoaWxlIHBsYXlpbmcKCSAgRml4ZXMgYnVnICM1ODQ4NzcKCSAgQmVmb3JlIHRoaXMgY29tbWl0IGNhbGxpbmcgImdzdF94X292ZXJsYXlfc2V0X3h3aW5kb3dfaWQiIG1vcmUKCSAgdGhhbiBvbmUgdGltZSwgaGFkIG5vIGVmZmVjdC4KCSAgSXQgbWFpbmx5IGFmZmVjdHMgdGhlIGdsaW1hZ2VzaW5rIGltcGxlbWVudGF0aW9uLgoJICBCdXQgb24gd2luMzIgKGFuZCBDRSksIHNvbWUgc3R1ZmYgaGFzIHRvIGJlIGRvbmUgdG8KCSAgcmVsZWFzZSB0aGUgb2xkIHBhcmVudC4KCSAgQW5kIGFkZCBhIHN3aXRjaHhvdmVybGF5IGV4YW1wbGUgd2hlcmUgdGhlIHVzZXIKCSAgY2FuIGNsaWNrIG9uIGxlZnQvcmlnaHQgcGFydCBvZiB0aGUgbWFpbiB3aW5kb3cgdG8KCSAgc3dpdGNoIHRoZSB4b3ZlcmxheS4KCjIwMDktMDYtMDQgMDk6NTA6NTIgKzAyMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNDgvOTA2XSBBZGQgZ3N0dmlkZW8gdG8gZ2xpbWFnZXNpbmsgTElCQURELiBGaXhlcyBidWcgIzU4NDY4MAoKMjAwOS0wNi0wNCAwMDoyNzo0NCArMDIwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzQ3LzkwNl0gZml4IG1pc2Nhc3Qgb2YgYSBwb2ludGVyIGluIFNldFdpbmRvd0xvbmdQdHIKCSAgR0NDIDQuNC4wIGNvbXBsYWlucyBlcnJvcjogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZQoJICBGaXhlcyAjNTg0Njc4LgoKMjAwOS0wNS0xMiAxMTo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNDYvOTA2XSBGaXggbGlua2luZyBieSBwcm92aWRpbmcgbGlidG9vbCB0aGUgY29ycmVjdCAtLXRhZyBwYXJhbWV0ZXIKCjIwMDktMDUtMTEgMTg6MDY6MTggKzAyMDAgIGp1bGllbiA8anVsaWVuQEtKSVMuKG5vbmUpPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0NS85MDZdIGNoYW5nZSByb3RhdGlvbiBjZW50ZXIgaW4gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDkgMjE6MzA6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0NC85MDZdIFVzZSBhIG1vcmUgY29tcGxleCBnc3QgZ2wgcGlwZWxpbmUgaW4gdGhlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA5IDIxOjI2OjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDMvOTA2XSBBZGQgYSBzaWduYWwgd2F0Y2ggYnVzIGNhbGxiYWNrIHRvIGNoZWNrIGdzdCBtZXNzYWdlcwoKMjAwOS0wNS0wOSAyMDo1MTozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQyLzkwNl0gRml4IHRleHR1cmUgYWN0b3IgdXBkYXRlIGR1ZSB0byBhIHRvbyBzdHJvbmcgdGhyZWFkIGxvY2tpbmcuCgkgIE9uIGxpbnV4LCB0aGUgR1NvdXJjZSBmdW5jIGF0dGFjaGVkIHRvIHRoZSBjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGUKCSAgd2FzIG5vdCBnZXR0aW5nIHRoZSBjcHUgcmVzc291cmNlIHBlcmlvZGljYWxseS4KCSAgQmVjYXVzZSB0aGUgdXNlIG9mIGNsdXR0ZXJfdGhyZWFkc19lbnRlci9sZWF2ZSBpbnNpZGUgdGhlIGZha2VzaW5rCgkgIGNhbGxiYWNrIHNlZW1zIHRvIGJlIHRvbyBzdHJvbmcuCgkgIFNvIHJlbW92ZSB0aGUgdXNlIGlmIGNsdXR0ZXJfdGhyZWFkc19lbnRlci9sZWF2ZSBpbiB0aGUgZmFrZXNpbmsgY2FsbGJhY2suCgkgIFRoZW4gcmVwbGFjZSBHUXVldWUgYnkgR0FzeW5jUXVldWUgdG8ga2VlcCB0aHJlYWQgc2FmZSBhY2Nlc3MgdG8gdGhlCgkgIGNvbW11bmljYXRpb24gcXVldWVzIGJldHdlZW4gY2x1dHRlciBhbmQgZ3N0LWdsLgoJICBDYWxsIGNsdXR0ZXJfdGhyZWFkc19hZGRfaWRsZSB3aXRoIGhpZ2ggcHJpb3JpdHkuCgoyMDA5LTA1LTA5IDE1OjQ0OjA5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDEvOTA2XSBQcm9wZXJseSBjbGVhbiB1cCBwZW5kaW5nIGdzdCBnbCBidWZmZXJzIGluIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA4IDIxOjQzOjU2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDAvOTA2XSBGaXggY2x1dHRlcnNoYXJlIGV4YW1wbGUuCgkgIEl0IHJlcXVpcmVzIGF0IGxlYXN0IGNsdXR0ZXIgMC44LjYgc2luY2UgbG93ZXIgY2x1dHRlciB2ZXJzaW9ucyBhcmUKCSAgbm90IGNvbXBhdGlibGUgd2l0aCBHTF9URVhUVVJFX1JFQ1RBTkdMRV9BUkIuCgkgIFJlbW92ZSB1c2Ugb2YgQ2x1dHRlckVmZmVjdFRlbXBsYWNlIHNpbmNlIGl0IGRvZXMgbm90IGV4aXN0IGluCgkgIGNsdXR0ZXIgMC45LgoKMjAwOS0wNS0wNCAxMToyNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM5LzkwNl0gQ2FzdCB0byBhIEdzdEJ1ZmZlciogYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X2J1ZmZlcl91bnJlZiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAwOS0wNS0wMiAxNDoyNzoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM4LzkwNl0gVXNlIEdRdWV1ZSBpbiB0aGUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDQtMzAgMjM6NDA6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzcvOTA2XSBJbXByb3ZlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgkgIFVzZSBjbHV0dGVyX3RocmVhZHNfQVBJLgoJICBXaGVuIGp1c3QgdXNpbmcgZ2x1cGxvYWQgZnJvbSByZ2IsIHdlIGhhdmUgdG8gYmUgc3VyZSB0aGF0CgkgIHRoZSB1cGxvYWQgdGV4dHVyZSBpcyBub3QgaW4gdXNlIGluIG91ciBnc3QgZ2wgY29udGV4dC4KCjIwMDktMDQtMjAgMTg6MTc6NTQgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszMzYvOTA2XSBbeDExL3gxMUVTXSBmaXggc29tZSBwb2ludGVyIGNhc3Qgd2FybmluZ3MKCjIwMDktMDQtMjAgMjM6NTU6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMzUvOTA2XSBbY29jb2FdIHVwZGF0ZSBzaW5jZSBpbnRlcmZhY2UgY2hhbmdlZAoKMjAwOS0wNC0yMCAyMzo0ODoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM0LzkwNl0gW3dpbjMyL3dpbkNFXSBmaXggc29tZSBwb2ludGVyIGNhc3Qgd2FybmluZ3Mgd2l0aCBtaW5ndwoJICBBbmQgdHVybiBvZmYgZGVwcmVjYXRlZCBXcDY0IG1zdmMgY29tcGlsZXIgb3B0aW9uLgoKMjAwOS0wNC0yMCAwMDo1Mjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbMzMzLzkwNl0gYWRkIGZvcmNlLWFzcGVjdC1yYXRpbyBzdXBwb3J0CgoyMDA5LTA0LTE4IDE2OjA4OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzIvOTA2XSBqdXN0IGdzdC1pbmRlbnQgYW5kIEM5MCBvbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNC0xOCAwODo0MDo1MSAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFszMzEvOTA2XSBpbmRlbnQgYW5kIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTA0LTE4IDEzOjU3OjQ0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzMwLzkwNl0gQ2FuIG5vdyBzaGFyZSB0ZXh0dXJlcyB3aXRoIGFuIGV4dGVybmFsIGdsIGNvbnRleHQKCSAgVGhlIGV4dGVybmFsIG9wZW5nbCBjb250ZXh0IG11c3QgYmUgc3BlY2lmeSB3aGVuIGNyZWF0aW5nCgkgIG91ciBPcGVuR0wgY29udGV4dCAoZ2x4KSBvciBqdXN0IGFmdGVyICh3Z2wpLgoJICBXaGVuIGNhbGxpbmcgZ2xYQ3JlYXRlQ29udGV4dCBvciB3Z2xTaGFyZUxpc3RzLCB0aGUKCSAgZXh0ZXJuYWwgb3BlbmdsIGNvbnRleHQgbXVzdCBub3QgYmUgY3VycmVudC4KCSAgVGhlbiBvdXIgZ2wgY29udGV4dCBjYW4gYmUgY3VycmVudCBpbiB0aGUgZ2wgdGhyZWFkIHdoaWxlCgkgIHRoZSBleHRlcm5hbCBnbCBjb250ZXh0IGlzIGN1cnJlbnQgaW4gYW4gb3RoZXIgdGhyZWFkLgoJICBTZWUgdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYwoKMjAwOS0wNC0xMiAyMjoyNDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzI5LzkwNl0gQnVpbGQgZm9yIENvY29hIG9uIGRhcndpbiwgd2l0aCB2YXJpb3VzIGZpeGVzCgoyMDA5LTA0LTEyIDIwOjAzOjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzMyOC85MDZdIENvbnZlcnQgZ3RrIGV4YW1wbGVzIHRvIHVzZSBoZWxwZXIgbGlicmFyeQoJICBIZWxwZXIgbGliIGltcGxlbWVudHMgZ3N0LWd0ayBnbHVlIG9uIGFsbCBwbGF0Zm9ybXMKCjIwMDktMDQtMTAgMjA6NDI6NTkgKzAyMDAgIEp1bGllbiA8anVsaWVuQEp1bGllbi1LdWJ1bnR1Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzMyNy85MDZdIGZpeCBpbml0IEZCTydzIHRleHR1cmUgYXR0YWNobWVudCBvbiBFUyAyLjAKCjIwMDktMDQtMTAgMjA6MzA6NDYgKzAyMDAgIEp1bGllbiA8anVsaWVuQEp1bGllbi1LdWJ1bnR1Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszMjYvOTA2XSBhZGQgWCBiYWNrZW5kIGZvciBPcGVuR0wgRVMgMi4wCgoyMDA5LTAzLTI5IDE1OjQwOjE2ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjUvOTA2XSBSZXN0b3JlIGdsaW1hZ2VzaW5rIGluc3RlYWQgb2YgeGltYWdlc2luawoJICBQYXJ0aWFsbHkgcmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4gSXQncyBub3QgYW4gaXNzdWUgd2l0aCBnbGltYWdlc2luawoJICBYb3ZlcmxheSBpbnRlcmZhY2UuIEl0J3MgYWx3YXlzIHRoZSBzYW1lIGludGVsIGJ1ZyB3aXRoIGRpcmVjdAoJICByZW5kZXJpbmcgcmVkaXJlY3Rpb24gKHRoZSBvbmUgdGhhdCBhZmZlY3RzIGVhY2ggb3BlbmdsIGFwcGxpY2F0aW9uCgkgIHdpdGggY29tcG9zaXRpbmcgbWFuYWdlcnMpLiBJdCB3b3JrcyBmaW5lIHdpdGggRFJJMiBhbmQgVVhBCgkgIGFjY2VsZXJhdGlvbi4gU3RpbGwgbGVhdmluZyBlZmZlY3RzIGRpc2FibGVkIGJlY2F1c2UgSSdtIHRlc3RpbmcgaW50ZWwKCSAgaGFyZHdhcmUgdGhhdCBkb2Vzbid0IHN1cHBvcnQgRkJPcy4KCjIwMDktMDMtMjkgMDk6MDE6NTUgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyNC85MDZdIFRlbXBvcmFyeSBkaXNhYmxlIGdsaW1hZ2VzaW5rIGluIGNsdXR0ZXJhY3RvcnRlZQoJICBHTGltYWdlc2luayBYT3ZlcmxheSBpbnRlcmZhY2UgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBjb21wb3NpdGUKCSAgcmVkaXJlY3Rpb24gb24gaW50ZWwgKGFuZCBJIGJlbGlldmUgYXRpIHRvbykuIFdpbmRvd3MgYXJlbid0CgkgIHJlZGlyZWN0ZWQgb2Zmc2NyZWVuIGF0IGFsbC4gIFRoaXMgY29tbWl0IGp1c3Qgc2hvd3MgdGhhdCB0aGUgZXhhbXBsZQoJICBjb3JyZWN0eSB3b3JrcyB3aXRoIHhpbWFnZXNpbmsuIFRoZSBtb3N0IGV2aWRlbnQgZGlmZmVyZW5jZSBJIHNlZSBpcwoJICB0aGF0IGdsaW1hZ2VzaW5rIHJlcGFyZW50cyB0aGUgeG92ZXJsYXkgd2luZG93IGludG8gaXRzIG93biB3aGlsZSBib3RoCgkgIHggYW5kIHh2aW1hZ2VzaW5rIGRlc3Ryb3kgdGhlaXIgd2luZG93IGFuZCByZW5kZXIgZGlyZWN0bHkgdG8gdGhlCgkgIHhvdmVybGF5IG9uZS4KCjIwMDktMDMtMjkgMDg6NTE6MTYgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyMy85MDZdIFJlbW92ZSByZWR1bmRhbnQgWE1vdmVXaW5kb3cgY2FsbAoJICBSZXZlcnQgdGhlICJtb3ZlIHdpbmRvd3MiIHRoaW5nIGZyb20gY29tbWl0CgkgIDE3NWY3YTcwN2JjOTIyZjNmYWNjNjNlN2Q5YjZkMDFmOWJiNmIxYjAKCSAgV2luZG93cyBhcmUgb2Zmc2NyZWVuIHdobyBjYXJlcyBhYm91dCB0aGVpciBwb3NpdGlvbj8gSWYgeW91IHNlZSB0aGUKCSAgd2luZG93cyBzb21ldGhpbmcgaXMgZ29pbmcgd3Jvbmcgd2l0aCBjb21wb3NpdGUgcmVkaXJlY3Rpb24uCgoyMDA5LTAzLTE4IDIyOjQ2OjU2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzMyMi85MDZdIFtkb3dubG9hZCBZVVkyL1VZVlldIGZpeCBhIHJlZ3Jlc3Npb24KCSAgVGhlIGNhbGwgdG8gZ2xMb2FkSWRlbnRpdHkgd2FzIHJlbW92ZWQgYnkgbWlzdGFrZSBkdXJpbmcKCSAgT3BlbkdMIEVTIDIuMCBpbnRlZ3JhdGlvbi4KCjIwMDktMDMtMTUgMTQ6NDg6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzIxLzkwNl0gYWRkIE9wZW5HTCBFUyAyLnggc3VwcG9ydC4KCSAgSW4gT3BlbkdMIDIueCBmb3IgRW1iZWRkZWQgU3lzdGVtLCBhIGxvdCBvZiBiYXNpYyBzY2VuZS9kcmF3IGZ1bmN0aW9ucwoJICBoYXZlIGJlZW4gcmVtb3ZlZC4gSXQgbWVhbnMgdGhhdCBldmVyeXRoaW5nIGlzIG1hZGUgdXNpbmcgdmVydGV4IGFuZAoJICBmcmFnbWVudCBzaGFkZXJzLgoJICBJIGhhdmUgYWxzbyBhZGRlZCBhIGdzdGdsd2luZG93IGJhY2tlbmQgZm9yIHdpbkNFIHRoYXQgdXNlcyBFR0wKCSAgKE5hdGl2ZSBQbGF0Zm9ybSBHcmFwaGljcyBJbnRlcmNhY2UpICh3aGljaCBpcyBhIGZ1bGwgcGFydCBvZgoJICBPcGVuR0wgRVMgc3BlY2lmaWNhdGlvbikuIEl0IHJlbW92ZSB0aGUgdXNlIG9mIHdnbC9nbHggZnVuY3Rpb25zLgoKMjAwOS0wMy0wNyAwMzoxMzozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMyMC85MDZdIGZpeCBwb3NpdGlvbiBhbmQgY29udGVudCByZWN0CgoyMDA5LTAzLTA2IDIyOjQzOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzE5LzkwNl0gW3dpbjMyIGJhY2tlbmRdIGZpeCB0cmFuc21pdGlvbiBtZXNzYWdlIHRvIHRoZSBwYXJlbnQuCgkgIFRoZSBRdCBtb3V2ZXhvdmVybGF5IGV4YW1wbGUgc2hvd3MgaG93IHRvIHJvdGF0ZSB0aGUgY3ViZQoJICBieSBtb3ZpbmcgKCtjbGljaykgdGhlIG1vdXZlIG92ZXIgYSBxd2lkZ2V0IHVzaW5nIHhvdmVybGF5CgkgIGludGVyZmFjZS4KCjIwMDktMDItMjYgMTc6NDU6MjEgLTA1MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbMzE4LzkwNl0gcmVuYW1lIEdOVW1ha2VmaWxlKHMpIHRvIEdOVW1ha2VmaWxlKHMpLmdudXN0ZXAKCjIwMDktMDItMjYgMDE6MDY6NTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC9nbC9HTlVtYWtlZmlsZToKCSAgWzMxNy85MDZdIGltcGxlbWVudCBnc3RnbHdpbmRvdyBmb3IgQ29jb2EgKE1hY09TIGFuZCBHTlVzdGVwKQoKMjAwOS0wMi0yNSAwMDozOTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszMTYvOTA2XSByZW1vdmUgc29tZSB1bnVzZWQgSEFWRV9MSUJQTkc6IGxpYnBuZyBpcyBhIHJlcXVpcmVkIHBhY2thZ2UKCjIwMDktMDItMjUgMDA6MTI6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGU6CgkgIFszMTUvOTA2XSBhZGQgR05Vc3RlcCBidWlsZAoKMjAwOS0wMi0yMyAxMTowNzoyMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJICBbMzE0LzkwNl0gQWRkIHNyY2RpciB0byBpbmNsdWRlcyBmb3Igb3V0LW9mLXNvdXJjZSBidWlsZHMKCSAgV2hlbiB5b3UgdXNlIGdzdHJlYW1lciB1bmluc3RhbGxlZCBhbmQgYnVpbGQgb3V0c2lkZQoJICB0aGUgc291cmNlIHRyZWUsIHRoZSBpbmNsdWRlcyBuZWVkIHRvIGJlIHNwZWNpZmllZCBmb3IKCSAgYm90aCB0aGUgc291cmNlIHRyZWUgYW5kIHRoZSBidWlsZCB0cmVlLgoKMjAwOS0wMi0yMyAxMzozOToyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMzEzLzkwNl0gaW5kZW50OiBkb24ndCB1c2UgdGFicyBpbnNpZGUgcHJvcGVydHkgZGVzY3JpcHRpb25zCgoyMDA5LTAyLTIzIDEzOjM1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzMxMi85MDZdIGJ1aWxkOiBpbmNsdWRlIHN0ZGxpYi5oIHdoZW4gdXNpbmcgZnJlZSgpLgoKMjAwOS0wMi0yMiAxOTozNjo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFszMTEvOTA2XSBDYXN0IEdzdEJ1ZmZlciBzdWJjbGFzc2VzIHRvIEdzdEJ1ZmZlciAqIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9idWZmZXJfdW5yZWYoKQoKMjAwOS0wMi0xMCAyMjozOToxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMTAvOTA2XSBHbG9iYWwgcmVpbmRlbnQKCSAgSW5kZW50IHBhcmFtZXRlcnM6CgkgIElOREVOVF9QQVJBTUVURVJTPSItLWJyYWNlcy1vbi1pZi1saW5lIFwKCSAgLS1jYXNlLWJyYWNlLWluZGVudGF0aW9uMCBcCgkgIC0tY2FzZS1pbmRlbnRhdGlvbjIgXAoJICAtLWJyYWNlcy1hZnRlci1zdHJ1Y3QtZGVjbC1saW5lIFwKCSAgLS1saW5lLWxlbmd0aDgwIFwKCSAgLS1uby10YWJzIFwKCSAgLS1jdWRkbGUtZWxzZSBcCgkgIC0tZG9udC1saW5lLXVwLXBhcmVudGhlc2VzIFwKCSAgLS1ob25vdXItbmV3bGluZXMgXAoJICAtLWNvbnRpbnVhdGlvbi1pbmRlbnRhdGlvbjQgXAoJICAtLXRhYi1zaXplOCBcCgkgIC0taW5kZW50LWxldmVsMiIKCjIwMDktMDItMDMgMTg6NTg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMzA5LzkwNl0gUmVwbGF5OiBGaXggY2FsbGJhY2tzIHBhc3NlZCBvdmVyIFhFdmVudHMgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMKCSAgQWx0aG91Z2h0IHRoZSBYRXZlbnQncyB4Y2xpZW50LmRhdGEubCBhcnJheSBpcyBhbiBhcnJheSBvZgoJICBsb25ncyB0aGV5IHdpbGwgYmUgY29uc3RyYWluZWQgdG8gMzIgYml0IGJ5IHRoZSBYMTEgcHJvdG9jb2wuCgkgIE9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIHVzZSB0d28gZWxlbWVudHMgb2YgdGhlIGFycmF5IHRvIHN0b3JlCgkgIG9uZSBwb2ludGVyLgoJICBUaGlzIGZpeGVzIHNlZ2ZhdWx0cyB0aGF0IGhhcHBlbiBhdCBsZWFzdCBmb3IgZXZlcnkgZXhhbXBsZQoJICBvbiBzdGFydHVwLgoKMjAwOS0wMi0wNSAxMzoxMzo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzA4LzkwNl0gUmVuYW1lIGdscGl4YnVmb3ZlcmxheSB0byBnbG92ZXJsYXkKCjIwMDktMDItMDQgMTY6NTc6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwNy85MDZdIFJlbW92ZSBjb25kaXRpb25hbHMgb24gZ2RrcGl4YnVmCgoyMDA5LTAyLTA4IDAxOjUwOjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzA2LzkwNl0gZml4IENNYWtlIGJ1aWxkIGFuZCBmcm96ZW4gQ29kZUJsb2NrcyBidWlsZAoKMjAwOS0wMi0wNyAyMToxOToyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszMDUvOTA2XSBDTWFrZSBidWlsZCBub3cgY2hlY2tzIGZvciBsaWJwbmcKCjIwMDktMDItMDUgMTk6NTk6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwNC85MDZdIG9ubHkgbG9hZCBSR0JBIGZpbGVzLnBuZwoKMjAwOS0wMi0wNCAxNjoxODoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszMDMvOTA2XSBBZGQgbGlicG5nIGRlcGVuZGVuY3kKCjIwMDktMDEtMjYgMTY6MzA6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzMwMi85MDZdIEZpeCBzb21lIHdhcm5pbmdzCgoyMDA5LTAxLTIzIDAyOjA0OjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMDEvOTA2XSBkZXBlbmRzIG9uIGxpYnBuZyBpbnN0ZWFkIG9mIGdka19waXhidWYKCjIwMDktMDEtMjIgMDI6MTk6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzAwLzkwNl0gdXNlIGxpYnBuZyBpbiBnbHBpeGJ1Zm92ZXJsYXkgZmlsdGVyLgoKMjAwOS0wMS0yMiAwMToxNjozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkgIFsyOTkvOTA2XSB1c2UgbGlicG5nIHRvIGxvYWQgdGhlIG5vcm1hbCBtYXAgaW5zdGVhZCBvZiB1c2luZyBnZGtwaXhidWYKCjIwMDktMDItMTAgMjE6NTc6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMjk4LzkwNl0gUmV2ZXJ0ICJGaXggaW5kZW50aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk2ZTRhYjE4YzJjZjk4NzZmNmMwMzFiOWFiYTYyODJkMGJkNDVhOTMuCgkgIFlvdSBzaG91bGQgaGF2ZSBhc2tlZCBmaXJzdC4gIEFuZCB5b3Ugd291bGQgaGF2ZSBiZWVuIHRvbGQgIm5vIiwKCSAgYmVjYXVzZSBpdCBjYXVzZXMgcGVvcGxlIG9uIGRldmVsb3BtZW50IGJyYW5jaGVzIHRvIGRvIGEgaHVnZQoJICBhbW91bnQgb2YgZXh0cmEgd29yay4KCjIwMDktMDItMTAgMjE6NTc6MDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk3LzkwNl0gUmV2ZXJ0ICJGaXggY2FsbGJhY2tzIHBhc3NlZCBvdmVyIFhFdmVudHMgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjgwNzcxZDA5YjU4NjE3YjI3MjAxMDI3ZGUwZTExOTRkYTM3NmU3Mi4KCjIwMDktMDItMDMgMTg6NTg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk2LzkwNl0gRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzCgkgIEFsdGhvdWdodCB0aGUgWEV2ZW50J3MgeGNsaWVudC5kYXRhLmwgYXJyYXkgaXMgYW4gYXJyYXkgb2YKCSAgbG9uZ3MgdGhleSB3aWxsIGJlIGNvbnN0cmFpbmVkIHRvIDMyIGJpdCBieSB0aGUgWDExIHByb3RvY29sLgoJICBPbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcyB1c2UgdHdvIGVsZW1lbnRzIG9mIHRoZSBhcnJheSB0byBzdG9yZQoJICBvbmUgcG9pbnRlci4KCSAgVGhpcyBmaXhlcyBzZWdmYXVsdHMgdGhhdCBoYXBwZW4gYXQgbGVhc3QgZm9yIGV2ZXJ5IGV4YW1wbGUKCSAgb24gc3RhcnR1cC4KCjIwMDktMDItMDMgMTg6MzM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMjk1LzkwNl0gRml4IGluZGVudGlvbgoKMjAwOS0wMi0wMyAxMToyMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyOTQvOTA2XSBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyBieSB1c2luZyBHX0dVSU5UNjRfRk9STUFUCgoyMDA5LTAxLTE1IDE4OjM5OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyOTMvOTA2XSBtaW5pbWFsIGd0ayBkb2MKCjIwMDktMDEtMDkgMTc6NDY6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFsyOTIvOTA2XSBBZGQgJ2V4dGVybicgZm9yIGRhdGEgc3ltYm9scyBpbiBoZWFkZXJzCgoyMDA5LTAxLTA5IDE3OjIwOjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI5MS85MDZdIEFkZCBjaGVjayBmb3IgR0xFV19FWFRfZnJhbWVidWZmZXJfb2JqZWN0CgoyMDA5LTAxLTA4IDE5OjE4OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI5MC85MDZdIFNldCBHTF9MSUJTIGNvcnJlY3RseSBpbiBjb25maWd1cmUuYWMKCSAgVGhpcyBkb2Vzbid0IGRldGVjdCB0aGUgZXhpc3RlbmNlIG9mIGxpYnJhcmllcywgd2hpY2ggbmVlZHMgdG8KCSAgYmUgZml4ZWQuCgoyMDA5LTAxLTA3IDE5OjExOjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjg5LzkwNl0gYnVpbGQgZml4ZXMgZm9yIFdpbmRvd3MgbGlicmFyaWVzCgoyMDA4LTEyLTE0IDEyOjA2OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI4OC85MDZdIGFkZCBtb3JlIGRlYnVnIG91cHV0cyBhYm91dCBHTFNMIGFuZCBtZXNhCgoyMDA4LTEyLTEzIDE5OjM2OjMyIC0wNTAwICBqdWxpZW4gPGp1bGllbkBqdWxpZW4tZGVza3RvcC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODcvOTA2XSBmaXggYSByZWdyZXNzaW9uIGFib3V0IGdsWENob29zZVZpc3VhbCB3aGljaCBmYWlsZWQgd2hlbiB1c2luZyBtZXNhLCBzbyBhdHRyaWJ1dGVzIG11c3QgYmUgbGVzcyByZXN0cmljdGl2ZXMuCgoyMDA4LTEyLTEzIDAwOjUwOjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjg2LzkwNl0gW3dpbjMyXSBSZWdpc3RlciB3aW5kb3cgY2xhc3MgaW4gZ3N0X2dsX3dpbmRvd19jbGFzc19pbml0CgoyMDA4LTEyLTA3IDAzOjI1OjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsyODUvOTA2XSBmaXggZ2wgZnJhbWVyYXRlIGluIGdzdCBjYXBzLiBDb25zaWRlciBwb3NpdGlvbiBpbiB4b3ZlcmxheS4gRml4IGludmVyc2lvbiBiZXR0d2VlbiBDT0xTIGFuZCBST1dTLCBhbmQgbW92ZSB3aW5kb3dzLgoKMjAwOC0xMS0yOSAyMjoxNjo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4NC85MDZdIHdvcmthcm91bmQgYWJvdXQgdGhlIEFUSSBzaGFkZXIgY29tcGlsZXIgb24gbGludXggKHNldGxvY2FsZSkKCjIwMDgtMTEtMjUgMDE6MDE6MDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjgzLzkwNl0gYmV0dGVyIHJlc3VsdCBpbiBjdWJlIGFuZCBkb3VibGVjdWJlIGV4YW1wbGUuIEFuZCBzb21lIGNsZWFuIHVwIGRlYnVnIGFuZCBjb21tZW50cwoKMjAwOC0xMS0yMyAxNjoxNDoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyODIvOTA2XSB1cGRhdGUgQ01ha2UgYnVpbGQKCjIwMDgtMTEtMjMgMTY6MDQ6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4MS85MDZdIE1ha2UgY3ViZSBleGFtcGxlIHdvcmsgb24geDExLiBGaW5pc2ggVE9ETyB0YXNrIDkuCgoyMDA4LTExLTIyIDE2OjQzOjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsyODAvOTA2XSBSZW1vdmUgc2V0X3Zpc2libGUsIGJlY2F1c2UgaXQncyBub3cgYXV0b21hdGljYWxseSBkb25lIHdoZW4gdGhlIGZpcnN0IHBvc3QgcmVkaXNwbGF5IGNvbWVzLgoKMjAwOC0xMS0yMiAwMDo1MTozMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzkvOTA2XSBmaW5pc2ggc2V0X3h3aW5kb3dfaWQgKGdzdF9nbF93aW5kb3dfc2V0X2V4dGVybmFsX3dpbl9pZCk6IGNoaWxkIGlzIHJlc2l6ZWQgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgcGFyZW50IGlzLgoKMjAwOC0xMS0yMSAyMDo1MTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzgvOTA2XSBJbXBsZW1lbnQgc2V0X3h3aW5kb3dfaWQgKGdzdF9nbF93aW5kb3dfc2V0X2V4dGVybmFsX3dpbmRvd19pZCkuCgoyMDA4LTExLTIxIDE5OjM3OjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Ny85MDZdIG9wZW4geCBjbGllbnQgY29ubmVjdGlvbiBmb3Igc2VuZGVyIG9ubHkgYXQgc3RhcnQgdXAKCjIwMDgtMTEtMjEgMTk6MTE6MTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc2LzkwNl0gYmV0dGVyIGRlYWwgd2l0aCBsYXN0IHBlbmRpbmcgY3VzdG9tIGNiIGFuZCBkZXN0cm95X2NvbnRleHRfY2IKCjIwMDgtMTEtMjEgMDE6MzE6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3NS85MDZdIE1ha2Ugc3VyZSB0aGUgZ2wgcmVzc291cmVzIGFyZSBkZXN0cm95ZWQgYmVmb3JlIHRvIGRlc3Ryb3kgZ2wgd2luZG93CgoyMDA4LTExLTIwIDAxOjI0OjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc0LzkwNl0gYWRkIHNvbWUgb3RoZXIgZGVidWcgb3V0cHV0cyBhbmQgY2hlY2tzCgoyMDA4LTExLTE5IDAwOjA3OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsyNzMvOTA2XSBhZGQgc29tZSBkZWJ1ZyBvdXRwdXRzIGFib3V0IFZpc3VhbCBhbmQgWFZpc3VhbEluZm8KCjIwMDgtMTEtMTcgMDE6MDQ6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcyLzkwNl0gYWRkIGEgdmlzaWJsZSBtZW1iZXIgdG8gZGVhbCBiZXR0ZXIgd2l0aCB0aGUgZmlyc3QgZXhwb3NlIGV2ZW50cwoKMjAwOC0xMS0xNiAxNjo1NzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzEvOTA2XSByZXZlcnQgbGFzdCBjb21taXQgYmVjYXVzZSB0aGUgY3Jhc2ggY29tZXMgZnJvbSBsaWJzZWxpbnV4CgoyMDA4LTExLTE1IDIzOjMyOjA0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3MC85MDZdIGZpeCB1c2Ugb2YgZGlmZmVyZW50IERpc3BsYXkgc3RydWN0dXJlcyB3aGljaCBwb2ludCBvbiB0aGUgc2FtZSBkaXNwbGF5IG5hbWUKCjIwMDgtMTEtMTUgMTg6NTE6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjY5LzkwNl0gQmV0dGVyIGRlYWwgd2l0aCBYTmV4dEV2ZW50IGFuZCBYU2VuZEV2ZW50CgoyMDA4LTExLTE1IDAyOjI0OjA3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2OC85MDZdIEJldHRlciBkZWFsIHdpdGggQXRvbXMKCjIwMDgtMTEtMTQgMDE6MDA6MzMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjY3LzkwNl0gR2V0IHJpZGUgb2YgY2FsbGluZyBzbGVlcCBpbiBnbCB0aHJlYWQgWCBsb29wCgoyMDA4LTExLTEzIDAyOjA1OjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI2Ni85MDZdIHNlY3VyZSBjbG9zZSB3aGVuIGNsaWNraW5nIG9uIHRoZSBjcm9zcwoKMjAwOC0xMS0xMyAwMToyOToxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBbMjY1LzkwNl0gQ1JMRiAtPiBMRgoKMjAwOC0xMS0xMyAwMToyMzo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjY0LzkwNl0gUmV3cml0ZSBnc3RnbHdpbmRvd194MTEuYyBiZWNhdXNlIFggQVBJIGlzIG5vdCB0aHJlYWQgc2FmZS4KCjIwMDgtMTEtMTEgMDM6MTk6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjYzLzkwNl0gZGlzY2FyZCB4IGN1c3RvbSBtZXNzYWdlcyB3aGljaCBhcmUgb2YgZGF0ZQoKMjAwOC0xMS0wOSAyMzoyMzozMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjYyLzkwNl0gV29ya3Mgb24gbGludXggYnV0IHN0aWxsIHNvbWUgYnVncy4gRml4IGF1dG90b29scyAgYnVpbGQuCgoyMDA4LTExLTA5IDIyOjE0OjI5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2MS85MDZdIGltcGxlbWVudCBxdWl0IHggbWVzc2FnZSBsb29wCgoyMDA4LTExLTA5IDAyOjQ0OjI1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjYwLzkwNl0gdHJ5IHRvIG1ha2UgWFNlbmRFdmVudCBibG9ja2VyIChhcyB3aW4zMiBTZW5kTWVzc2FnZSBpcykKCjIwMDgtMTEtMDYgMjM6NDE6MTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNTkvOTA2XSBjb250aW51ZSB4IGltcGxlbWVudGF0aW9uIChidXQgc3RpbGwgbm90IHRlc3RlZCkKCjIwMDgtMTEtMDYgMDE6Mjg6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjU4LzkwNl0gc2V0dXAgeCBtZXNzYWdlIGxvb3AKCjIwMDgtMTEtMDUgMDI6MDY6MzMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjU3LzkwNl0gYmVnaW4gZ3N0Z2x3aW5kb3dfeDExLmMgaW1wbGVtZW50YXRpb24KCjIwMDgtMTAtMjkgMjM6NTM6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjU2LzkwNl0gZml4IENNYWtlIGFuIENvZGVCbG9ja3MgYnVpbGRzCgoyMDA4LTEwLTI4IDIxOjQ0OjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTUvOTA2XSBmaXggd2luZG93IGNsb3N1cmUgd2hlbiB1c2luZyBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA4LTEwLTI4IDAxOjM4OjQ1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1NC85MDZdIEJldHRlciBoYW5kbGUgd2hlbiB0aGUgcGFyZW50IHdpbmRvdyBpcyByZXNpemluZywgYW5kIGNsZWFudXAgc29tZSBjb2RlCgoyMDA4LTEwLTI4IDAwOjIyOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyNTMvOTA2XSB3aW4zMjogcmUtaW1wbGVtZW50IHN1cHBvcnRzIGZvciBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlLCBvbiB0aGlzIGJyYW5jaAoKMjAwOC0xMC0yNSAxNjoxODoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTIvOTA2XSBhdm9pZCBhIGRlYWQgbG9jayBvbiB3aW5kb3cgY2xvc3VyZQoKMjAwOC0xMC0yNSAwMjowMzoxNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyNTEvOTA2XSBQcm9wZXJseSBjbGVhbiBPcGVuR0wgY29udGV4dHMKCjIwMDgtMTAtMjQgMDE6Mzk6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1MC85MDZdIHdpbjMyOiBiYXNpYyBzdHVmZnMgYXJlIHdvcmtpbmcgbm93IG9uIHRoaXMgYnJhbmNoIHdpdGggdGhpcyBuZXcgZGVlcCBkZXNpZ24gKGdzdGdsd2luZG93KQoKMjAwOC0xMC0yMyAwMTo0MDo1MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNDkvOTA2XSBiZWdpbiBHc3RHTFdpbmRvdyBpbiBvcmRlciB0byB0b3RhbGx5IHJlbW92ZSBnc3RmcmVlZ2x1dAoKMjAwOC0xMC0xNiAyMzo0NzowMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBbMjQ4LzkwNl0gZml4IG1zdmMgd2FybmluZ3MgYW5kIHVwZGF0ZSBDTWFrZSBidWlsZCwgd2luMzIgQ29kZUJsb2NrcyBidWlsZCBhbmQgdnM4IGJ1aWxkCgoyMDA4LTEwLTE1IDE2OjE4OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzI0Ny85MDZdIEltcG9ydCB4cmF5IGVmZmVjdAoJICBBZGQgeHJheSBlZmZlY3QuIE1hcHMgbHVtYSB0byBhIG5lZ2F0aXZlLCBzbGlnaHRseSBjeWFuIHRpbnRlZCwgY3VydmUsCgkgIGFwcGxpZXMgc29tZSBsaWdodCBnYXVzc2lhbiBibHVyIGFuZCBtdWx0aXBsaWVzIGl0IHdpdGggaXRzIHNvYmVsIGVkZ2VzLiBOb3QKCSAgc3VyZSBhYm91dCB0aGUgbmFtZSwgbGlrZWx5IHRvIGNoYW5nZS4gUHJvYmFibHkgc3RpbGwgbmVlZHMgc29tZSB0dW5pbmcuCgoyMDA4LTEwLTE1IDE2OjE0OjUyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMjQ2LzkwNl0gQWRkIG11bHRpcGx5IGZyYWdtZW50IHNoYWRlcgoJICBBZGQgYSBmcmFnbWVudCBzaGFkZXIgdG8gYmxlbmQgdHdvIHRleHR1cmVzIHdpdGggbXVsdGlwbHkgYmxlbmQgbW9kZQoKMjAwOC0xMC0xNSAxNTo0OToxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFsyNDUvOTA2XSBBZGQgaW52ZXJ0IHByb3BlcnR5IHRvIHNvYmVsIGZpbHRlcgoJICBBZGQgYW4gaW52ZXJ0IHByb3BlcnR5IHRvIHNvYmVsX2ZyYWdtZW50X3NvdXJjZSBhbmQgU29iZWwgZmlsdGVyLiBVc2VmdWwKCSAgdG8gaGF2ZSBkYXJrIGVkZ2VzIHdpdGggd2hpdGUgYmFja2dyb3VuZC4KCjIwMDgtMTAtMTUgMTI6NTA6MDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkgIFsyNDQvOTA2XSBNYWtlIGx1bWFfdG9fY3VydmUgbm9uLXN0YXRpYwoJICBNYWtlIGx1bWFfdG9fY3VydmUgcHVibGljIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgYSBzdGVwIGZvciBtb3JlCgkgIGNvbXBsZXggZWZmZWN0cy4KCjIwMDgtMTAtMTUgMTI6NDI6MjkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjQzLzkwNl0gU3VwcG9ydCBmb3IgbWlzc2luZyB2aWRlb2Zvcm1hdHMgaW4gZ2x1cGxvYWQKCSAgQWRkIHN1cHBvcnQgZm9yIG1pc3NpbmcgYWxwaGEgY2hhbm5lbGVkIHZpZGVvZm9ybWF0cyAoUkdCQSwgQkdSQSwKCSAgQVJHQiwgQUJHUikgaW4gZ3N0X2dsX2Rpc3BsYXlfZG9fdXBsb2FkX2ZpbGwuCgoyMDA4LTEwLTEzIDIzOjE0OjI3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbMjQyLzkwNl0gRml4IGNyYXNoIGluIGZpbHRlcnMgd2hlbiBnb2luZyB0byBOVUxMIHdpdGggbm8gZGlzcGxheQoKMjAwOC0xMC0xMSAxMTo0NTo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyNDEvOTA2XSBmaXggQ01ha2UgYnVpbGQKCjIwMDgtMTAtMDQgMjI6MzQ6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzI0MC85MDZdIEJ1aWxkIGd0ay1kb2NzIGZvciBwbHVnaW5zLgoJICBBZGQgaW5jbHVkZSB0byBvdGhlcndpc2UgZW1wdHkgLnR5cGVzIGZpbGUgdG8gZml4IHRoZSBzY2FubmVyIGJ1aWxkLgoJICBFZGl0IE1ha2VmaWxlLmFtLCAuc2VjdGlvbnMsIC1kb2NzLnNnbWwgdG8gc2NhbiBhbGwgcGx1Z2lucyBhbmQgaW5jbHVkZQoJICB0aGVtIGluIHRoZSBtYXN0ZXIgZmlsZS4gRml4IHhtbCBlcnJvcnMgaW4gdHdvIHNvdXJjZXMgKG1pc3NpbmcgY2xvc2luZwoJICB0YWcpLgoKMjAwOC0wOS0yOSAyMzo0NToxMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMzkvOTA2XSBzdGFydCB0byB3cml0ZSB0aGUgZ3RrIGRvYwoKMjAwOC0wOS0yNSAyMjoyNToyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFsyMzgvOTA2XSBmaXggZ2xmaWx0ZXJnbGFzcyAocmVhc29uOiB2aWRlb3Rlc3RzcmMgcmdiIGlzIGJ5IGRlZmF1bHQgYnBwPTMyLCBkZXB0aD0yNCwgc28gYWxwaGEgY2hhbm5lbCBpcyAwKQoKMjAwOC0wOS0yNCAxOTozMjo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyMzcvOTA2XSB1cGRhdGUgY21ha2UgYnVpbGQgYW5kIHRoZSAyIGZyb3plbiB3aW4zMiBidWlsZHMgKENvZGVCbG9ja3MsIHZzOCkKCjIwMDgtMDktMjMgMTA6Mzc6NTggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMzYvOTA2XSBpbXBvcnQgc29iZWwgZWRnZSBkZXRlY3RvciBmcm9tIGN2cyBicmFuY2gKCjIwMDgtMDktMjQgMDI6MDc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzIzNS85MDZdIGNhbiB1c2Ugc2V2ZXJhbCBHX0xPR19ET01BSU5zIGFuZCBHU1RfQ0FUZWdvcmllcywgd2l0aCBtc3ZjOAoKMjAwOC0wOS0yMiAwOTo0NzoxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyMzQvOTA2XSB1c2UgcmlnaHQgYmxlbmRpbmcgZnVuY3Rpb24gd2l0aCBwaXhidWYgb3ZlcmxheQoKMjAwOC0wOS0yMSAxMDo1ODoxMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMzMvOTA2XSBubyBuZWVkIHRvIGV4cGxpY2l0IHNldCB0aGUgZGVidWcgY2F0ZWdvcnkgaWYgZGVmYXVsdCBvbmUgaXMgdXNlZAoKMjAwOC0wOS0yMSAxMDowNDo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJICBbMjMyLzkwNl0gdXNlIHRleHR1cmUxIGZvciBjdXJ2ZSB0ZXh0dXJlcwoKMjAwOC0wOS0yMSAxOToyNjozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjMxLzkwNl0gQWRkIGEgZ2xmaWx0ZXJnbGFzcyBpbnNwaXJlZCBmcm9tIGh0dHA6Ly93d3cubWRrLm9yZy5wbC8yMDA3LzExLzE3L2dsLWNvbG9yc3BhY2UtY29udmVyc2lvbnMKCjIwMDgtMDktMjEgMTY6NDA6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFsyMzAvOTA2XSBleHBsaWNpdCBjaGVjayBnX2dldGVudiByZXR1cm4gdmFsdWUgdG8gYmUgbm90IE5VTEwKCjIwMDgtMDktMjAgMTU6NDQ6MjQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIyOS85MDZdIHVwZGF0ZSBhdXRob3JzIGZyb20gdGhlIENWUyByZXBvc2l0b3J5CgoyMDA4LTA5LTIwIDE0OjEyOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbMjI4LzkwNl0gb3V0cHV0IHNoYWRlcnMgaW5mbyBsb2cgb25seSBpZiBHU1RfR0xfU0hBREVSX0RFQlVHIGVudiB2YXJpYWJsZSBpcyBzZXQuIFNob3VsZCBmaXggVE9ETyB0YXNrIDE4CgoyMDA4LTA5LTE5IDEyOjQ3OjA2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkgIFsyMjcvOTA2XSBleHBsaWNpdGx5IGJpbmQgdGhlIG1haW4gdGV4dHVyZSBhbmQgdGhlIGN1cnZlIG9uZSB0byBzZXBhcmF0ZSB1bml0cyBpbiByZ2IgYW5kIGx1bWEgdG8gY3VydmUgZWZmZWN0cy4gVGhpcyBzaG91bGQgc29sdmUgdGhlIGlzc3VlIHBvaW50ZWQgaW4gVE9ETyBpdGVtIDIxLgoKMjAwOC0wOS0xOCAyMjo1MDowNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjYvOTA2XSBjaGVjayBvbiB3aW4zMiB0aGF0IGV2ZXJ5IHRlc3RzL3BpcGVsaW5lcyBhbmQgdGVzdHMvZXhhbXBsZXMgKGdlbmVyaWMsIGd0aywgcXQpIHN0aWxsIHdvcmsKCjIwMDgtMDktMTggMjE6MTM6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI1LzkwNl0gZml4IGEgcmVncmVzc2lvbiB0aGF0IG1hZGUgdGhlIGdsdGVzdHNyYyBlbGVtZW50IG5vdCB3b3JraW5nCgoyMDA4LTA5LTE2IDAyOjEwOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNC85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gYWJvdXQgTUVTQSBZQ2JDciBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMDgtMDktMTQgMjM6MjI6NTggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjIzLzkwNl0gZml4IGEgcmVncmVzc2lvbiAoc29tZXRpbWVzIGEgRkJPIGlzIG5lZWRlZCBldmVuIGlmIHRoZSB2aWRlbyBzb3VyY2UgaXMgcmdiKQoKMjAwOC0wOS0xNCAxOTo1Njo1MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzIyMi85MDZdIEZpbmlzaCBUT0RPIHRhc2sgMTcKCjIwMDgtMDktMTMgMTk6NDc6NDQgKzAyMDAgIEp1bGllbiA8anVsaWVuQGJvd29iLihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMS85MDZdIGZpeCBnX2ludF9oYXNoIC0+IGdfZGlyZWN0X2hhc2gKCjIwMDgtMDktMTMgMTg6MTc6NDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjIwLzkwNl0gVXNlIGEgYmV0dGVyIGtleSBmb3IgdGhlIHBvb2wgb2YgdGV4dHVyZXMKCjIwMDgtMDktMTMgMDM6MzI6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjE5LzkwNl0gVXNlIGEgZ3N0IGRlYnVnIGNhdGVnb3J5IGZvciBHc3RHTERpc3BsYXkgaW5zdGVhZCBvZiBnX3ByaW50LCBnc3QtbGF1bmNoLTAuMTAgLS1nc3QtZGVidWc9Z2xkaXNwbGF5OjMgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCjIwMDgtMDktMTIgMDE6MTM6NTAgKzAyMDAgIEp1bGllbiA8anVsaWVuQGJvd29iLihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjE4LzkwNl0gVGhlIENNYWtlIGJ1aWxkIG5vdyB3b3JrcyBvbiBteSBLdWJ1bnR1LUtERTQuMS4xCgoyMDA4LTA5LTExIDAyOjA3OjEyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjE3LzkwNl0gQWRkIGNtYWtlIGJ1aWxkIGh0dHA6Ly93d3cuY21ha2Uub3JnLiBTZWUgQ01ha2UgaW5zdGFsbCBpbnN0cnVjdGlvbnMgaW4gdGhlIElOU1RBTEwgZmlsZS4gKEkgaGF2ZSBub3QgY29ycmVjdGx5IGNvbmZpZ3VyZWQgeWV0IHRoZSBDTWFrZSBidWlsZCBmb3IgdW5peCwgQkUgcGF0aWVudCkKCjIwMDgtMDktMDcgMTc6NDQ6NDIgKzAyMDAgIEp1bGllbiA8anVsaWVuQGJvd29iLihub25lKT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIxNi85MDZdIGZpeCBnbGJ1bXBlciByZWxhdGVkIGd0ayBkZXBlbmRlbmNpZXMKCjIwMDgtMDktMDcgMTQ6MTc6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTUvOTA2XSBnbGJ1bXBlciBpcyBjb21waWxlZCBvbmx5IHdoZW4gaGF2aW5nIEdka1BpeEJ1Zi4gQW5kIHVwZGF0ZSB3aW4zMiBjb2RlYmxvY2tzIGJ1aWxkCgoyMDA4LTA5LTA3IDAxOjM4OjEwICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFsyMTQvOTA2XSB1cGRhdGUgY29kZWJsb2NrcyBidWlsZCBvbiBsaW51eCBhbmQgZml4IGEgd2FybmluZwoKMjAwOC0wOS0wNyAwMToyMzoxOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkgIFsyMTMvOTA2XSBmb3Jnb3QgdG8gYWRkIHRoZSBidW1wZXIgZmlsZXMKCjIwMDgtMDktMDcgMDA6NDU6MzQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIxMi85MDZdIGFkZCBhIGdsYnVtcGVyIChidW1wIG1hcHBpbmcgZmlsdGVyIHRocm91Z2ggR0xTTCkgdGhhdCBleHBvc2VzIGhvdyB0byB1c2UgYm90aCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMKCjIwMDgtMDgtMjUgMTA6MzQ6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjExLzkwNl0gRml4IHVwbG9hZCBBWVVWIGFuZCBZVjEyIChhIHJlZ3Jlc3Npb24gaW4gbGFzdCBjb21taXRzKQoKMjAwOC0wOC0yNCAxNjozMzoyNiArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIxMC85MDZdIGdldCByaWRlIG9mIGEgd3JvbmcgY29sb3Igb24gbnZpZGlhL2xpbnV4IHdoZW4gY29udmVydGluZyB5djEyIHRvIHJnYiB0aHJvdWdoIEdMU0wKCjIwMDgtMDgtMjQgMTU6Mzk6MTQgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDkvOTA2XSBmaXggd2FybmluZ3MKCjIwMDgtMDgtMjQgMDQ6MjQ6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA4LzkwNl0gZml4IHVwbG9hZCBBWVVWLCByZWdyZXNzaW9uIGR1cmluZyB0aGUgMiBsYXN0IGNvbW1pdHMKCjIwMDgtMDgtMjQgMDM6Mzg6NDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA3LzkwNl0gb3VwcywgZml4IG15IG1pc3Rha2Ugb24gbGFzdCBjb21taXQKCjIwMDgtMDgtMjQgMDM6MTI6MTIgKzAyMDAgIHVua25vd24gPEx1Y0AuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyMDYvOTA2XSBEbyBub3QgdXNlIGZyYW1lIGJ1ZmZlciBvYmplY3Qgd2hlbiAiaW5wdXQgdmlkZW8gaXMgUkdCIiBvciB3aGVuICJHTFNMIGlzIG5vdCBhdmFpbGFibGUgYW5kIFlDYkNyIGlzIGF2YWlsYWJsZSIuIFNvIGZyYW1lIGJ1ZmZlciBvYmplY3QgaXMgbm90IGEgcGx1Z2luIHJlcXVpcmVtZW50IGFueW1vcmUuIFNvIEkgZGVjcmVhc2VkIHRoZSBPcGVuZ0dMIHZlcnNpb24gZnJvbSAxLjQgdG8gMS4yIChtYXliZSBsZXNzPykKCjIwMDgtMDgtMjEgMTE6MTI6NDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsyMDUvOTA2XSB1c2UgYSBHSGFzaCAgdGFibGUgaW5zdGVhZCBvZiBhIEdEYXRhIGZvciB0aGUgdGV4dHVyZSBwb29sCgoyMDA4LTA4LTIwIDE1OjQ3OjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwNC85MDZdIGdldCByaWRlIG9mIGEgYnVnIG9uIEFUSSByZWxhdGVkIHRvIFlWMTIgdG8gcmdiIGNvbnZlcnNpb24gdGhyb3VnaCBHTFNMIGFuZCBhZGQgYW4gZXhhbXBsZQoKMjAwOC0wOC0yMCAxMDowMjowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyMDMvOTA2XSB1c2Ugb3BlbmdsIGZvciBwaXhidWYgcmVzaXppbmcgaW4gZ2xwaXhidWZvdmVybGF5LCBzdGFydCB0byB3b3JrIG9uIHByb3BlcnRpZXMKCjIwMDgtMDgtMjAgMDk6MjY6NDYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjAyLzkwNl0gdXNlIGZpeGVkIG9wZW5nbCBwaXBlbGluZSBmb3IgZ2xwaXhidWZvdmVybGF5IChhbnkgZHJhd2JhY2s/KQoKMjAwOC0wOC0yMCAwOToyNDo1MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDEvOTA2XSBmaXggYSBzaWduZWRuZXNzIHdhcm5pbmcKCjIwMDgtMDgtMjAgMDA6MTE6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjAwLzkwNl0gZ2V0IHJpZGUgb2YgYSBBVEkgYnVnIHJlbGF0ZWQgdG8gR0xTTCBjb2xvcnNwYWNlIGNvbnZlcnNpb24gZm9yIEk0MjAgYW5kIFlWMTIgdG8gcmdiCgoyMDA4LTA4LTE5IDIyOjE1OjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk5LzkwNl0gYWRkIHBpeGJ1ZmRyb3AgdnM4IHByb2plY3QKCjIwMDgtMDgtMTkgMjE6MDQ6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk4LzkwNl0gYWRkIGZ4dGVzdCB2czggcHJvamVjdAoKMjAwOC0wOC0xOSAxMTowNzoxOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxOTcvOTA2XSBTaGFkZXJzIHdoaWNoIGFyZSBpbiB0aGUgc2hhZGVyc3RhYmxlIGFyZSBub3cgcmVsZWFzZWQKCjIwMDgtMDgtMTkgMDk6NDg6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTYvOTA2XSBmaXggYSBkaWZmZXJlbmNlbWF0dGUgbWVtb3J5IGlzc3VlCgoyMDA4LTA4LTE5IDA4OjUwOjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk1LzkwNl0gZml4IGdzdGdsZGlmZmVyZW5jZW1hdHRlIGFuZCBhZGQgYW4gZXhhbXBsZSBhcHAgdG8gdGVzdCBpdCBkcmFnZ2luZyBhbiBpbWFnZSBvdmVyIHRoZSB2aWRlbyAod29ya3Mgd2l0aCBwaXhidWZvdmVybGF5IHRvbywgc2VlIHBpeGJ1ZmRyb3AgLS1oZWxwKQoKMjAwOC0wOC0xOCAyMTo1MDowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTk0LzkwNl0gYW5vdGhlciB0eXBvLCByZXN0b3JlIG9sZCB0d2lybCBmcmFnbWVudCBzb3VyY2UKCjIwMDgtMDgtMTggMjE6NDM6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5My85MDZdIGZpeCB0eXBvcwoKMjAwOC0wOC0xOCAyMTo0MDoyNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTIvOTA2XSBjb21wbGV0ZSBkaWZmZXJlbmNlbWF0dGUgZmlsdGVyLi4gSSBkaWQgaXQgcXVpY2tseSwgcHJvYmFibHkgc3RpbGwgbmVlZHMgc29tZSB3b3JrCgoyMDA4LTA4LTE4IDIwOjI1OjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE5MS85MDZdIGxpdHRsZSBjbGVhbnVwLiBhZGQgZmlyc3QgZHJhZnQgb2YgZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuIHN0aWxsIGRvZXNuJ3Qgd29yawoKMjAwOC0wOC0xOCAxODo1MzoxMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzE5MC85MDZdIGZvcmNlIGNhbGxpbmcgZ2xpbWFnZXNpbmstPnN0b3AoKSB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZCgoyMDA4LTA4LTE4IDE3OjE5OjA2ICswMjAwICB1bmtub3duIDxBZG1pbmlzdHJhdGV1ckAuKG5vbmUpPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMTg5LzkwNl0gdXBkYXRlIHZzOCBidWlsZCBhbmQgZml4IHNvbWUgd2FybmluZ3MgdGhhdCBjb21lcyBmcm9tIHZjOAoKMjAwOC0wOC0xOCAxNjoxNjo1OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTg4LzkwNl0gYWRkIGZpcnN0IGRyYWZ0IG9mIGEgcGl4YnVmIG92ZXJsYXkgZWxlbWVudC4gYWRkIG1hY3JvcyB0byBvcHRpb25hbGx5IGJ1aWxkIHRoZSBsYXR0ZXIgaWYgZ2RrLXBpeGJ1ZiBpcyBmb3VuZAoKMjAwOC0wOC0xOCAxMTo0ODo0NyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg3LzkwNl0gcmVtb3ZlIGV4cG9zZSBldmVudCBoYW5kbGluZywgaXQncyBtYXAtdW5tYXAgdGhhdCBpcyBub3QgYmVoYXZpbmcgY29ycmVjdGx5LCBhbnkgaWRlYT8KCjIwMDgtMDgtMTggMTE6MDg6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4Ni85MDZdIGFkZCBleHBvc2UgZXZlbnQgaGFuZGxpbmcgdG8gY2x1dHRlcmFjdG9ydGVlCgoyMDA4LTA4LTE4IDEwOjUwOjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODUvOTA2XSBhZGQgY2x1dHRlcmFjdG9ydGVlIGV4YW1wbGUsIGEgbmljZSBleGFtcGxlIGFib3V0IGhvdyBjbHV0dGVyIGNvdWxkIGJlIHVzZWQgdG8gY3JlYXRlIGEgbGl2ZSBwcmV2aWV3IHdpZGdldCBmb3IgZ2xlZmZlY3RzLiBJdCB1c2VzIHRleHR1cmUgZnJvbSBwaXhtYXAsIHN0aWxsIG5lZWRzIHNvbWUgd29yayByZWdhcmRpbmcgY2xlYW4gZXhpdCBhbmQgZXhwb3NlIGV2ZW50IG1hbmFnZW1lbnQuCgoyMDA4LTA4LTE4IDA5OjA2OjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE4NC85MDZdIGFkZCBhIGNvdXBsZSBvZiBtYWNyb3MgdG8gYXV0b3Rvb2xzIHRvIGNvbXBpbGUgd2l0aCB1aW50cmVwaWQgYXV0b21ha2UuIHJlbW92ZSBhcnJheSBjb25zdHJ1Y3RvciBzbyB3ZSBkb24ndCBoYXZlIHRvIGRlcGVuZCBvbiBnbHNsICN2ZXJzaW9uIDEyMC4KCjIwMDgtMDgtMTcgMTc6NDU6NTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSAgWzE4My85MDZdIGFkZCBhbiBleGFtcGxlIHRvIHVzZSB0ZXh0dXJlIGZyb20gcGl4bWFwIHRvIGRvIHNvbWUga2luZCBvZiB4X292ZXJsYXkgb24gYSBjbHV0dGVyYWN0b3IuIEEgYmV0dGVyIHdheSB3b3VsZCBiZSB0byBkaXJlY3RseSBzaGFyZSBnbCBoYW5kbGVzIGJldHdlZW4gY2x1dHRlciBhbmQgZ3N0Z2wgYnV0IHN0aWxsIEkgY2Fubm90IGZpbmQgYSB3YXkgdG8gZG8gaXQuCgoyMDA4LTA4LTE3IDEyOjIxOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBbMTgyLzkwNl0gYWRkIGEgYmV0dGVyIHNlcGlhIHRvbmluZyBjdXJ2ZQoKMjAwOC0wOC0xNyAwOToyNDoyNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFsxODEvOTA2XSBhZGQgYSB0cmFuc2xhdGFibGUgc3RyaW5nIHRvIHRlc3RzcmMgdG8gZ2V0IHJpZCBvZiBwbyBkaXIgZXJyb3JzIGFmdGVyIGRpc3RjbGVhbiBhbmQgZ2l0IGNsZWFuCgoyMDA4LTA4LTE2IDE3OjM2OjEwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxODAvOTA2XSBtaW5vciBjbGVhbnVwIGluIGZ4dGVzdAoKMjAwOC0wOC0xNiAxMjozNzozNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNkaXN0b3J0aW9uLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJICBbMTc5LzkwNl0gZGlzdG9ydGlvbiBlZmZlY3QgY2xlYW51cAoKMjAwOC0wOC0xNiAxMDoxNTozMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTc4LzkwNl0gaW1wcm92ZSBmeHRlc3QgY29tbWFuZCBsaW5lIG9wdGlvbiBoYW5kbGluZywgZGVmYXVsdCB0byB2aWRlb3Rlc3RzcmMgaWYgbm8gc291cmNlIGJpbiBkZXNjcmlwdGlvbiBpcyBnaXZlbgoKMjAwOC0wOC0xNiAwOTo0MDo1NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNzcvOTA2XSBmaXggZ2xlZmZlY3RzIG1lbW9yeSBpc3N1ZSAoaW5pdCByZXNvdXJjZXMgb24gc3RhcnQgYW5kIHJlc2V0IHRoZW0gb24gc3RvcCkKCjIwMDgtMDgtMTYgMDk6MTc6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbMTc2LzkwNl0gZml4IGEgdHlwbwoKMjAwOC0wOC0xNiAwOToxMzozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3NS85MDZdIGFkZCBzaW4gZWZmZWN0IChkZXNhdHVyYXRlIGV2ZXJ5dGhpbmcgYnV0IHJlZCBzaGFkZXMpLiBzdGlsbCBuZWVkcyBzb21lIHR1bmluZy4KCjIwMDgtMDgtMTQgMjI6Mjg6MTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNzQvOTA2XSBhZGQgYSBwcm9wZXJ0eSB0byBnbGVmZmVjdHMgdG8gc3dpdGNoIHZpZGVvIGxlZnQgdG8gcmlnaHQsIHVzZWZ1bCB3aXRoIHdlYmNhbXMgdG8gcmVzZW1ibGUgYSBtaXJyb3IKCjIwMDgtMDgtMTQgMjE6Mjk6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzMvOTA2XSBhZGQgbHVtYXhwcm8gKGRlc2F0dXJhdGUgKyBjcm9zcyBwcm9jZXNzKSBlZmZlY3QuIG5vdGhpbmcgdG9vIGltcHJlc3NpdmUgYnV0IEkgbGlrZSBpdC4KCjIwMDgtMDgtMTQgMjA6NTQ6NTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3Mi85MDZdIGFkZCBzdXBwb3J0IGZvciBjb21tYW5kIGxpbmUgcGFyc2luZyB0byBmeHRlc3QgKHRyeSBmeHRlc3QgdmlkZW90ZXN0c3JjICEgZGVzaXJlZCBjYXBzICEgaWRlbnRpdHkpLiByZXBvcnQgYSBuZXcgaXNzdWUgb24gQlVHUy4KCjIwMDgtMDgtMTQgMjA6MDI6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTcxLzkwNl0gaW1wb3J0IGZ4dGVzdCAobGl0dGxlIGd0ayBhcHAgdG8gZWFzaWx5IHRlc3QgZWZmZWN0cykgZnJvbSBjdnMgYnJhbmNoLCBmaXhlZCByZ2J0b2N1cnZlLgoKMjAwOC0wOC0xNCAxNzowMzoyMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNzAvOTA2XSB1cGRhdGUgY29kZWJsb2NrcyBidWlsZAoKMjAwOC0wOC0xNCAxNDowODoyMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2Rpc3RvcnRpb24uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjkvOTA2XSBpbXBvcnQgcmVtYWluaW5nIGRpc3RvcnRpb24gZWZmZWN0cyBmcm9tIGN2cyBicmFuY2ggKGZpc2hleWUsIHR3aXJsLCBidWxnZSwgdHVubmVsLCBzcXVhcmUpCgoyMDA4LTA4LTE0IDEyOjM5OjAxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBbMTY4LzkwNl0gY2xlYW51cCBjdXJ2ZXMgaGVhZGVyCgoyMDA4LTA4LTE0IDEyOjI2OjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBbMTY3LzkwNl0gYmV0dGVyIGNyb3NzIHByb2Nlc3NpbmcgY3VydmUKCjIwMDgtMDgtMTQgMTI6MDk6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2Ni85MDZdIGFkZCByZ2JfdG9fbHVtYV9mcmFnbWVudCBzb3VyY2UgYW5kIGNvcnJlc3BvbmRlbnQgZWZmZWN0LiB1c2UgdGhlIGxhdHRlciBmb3IgYSBjcm9zcyBwcm9jZXNzaW5nIGVmZmVjdC4KCjIwMDgtMDgtMTQgMTE6MzE6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjUvOTA2XSBpbXBvcnQgbHVtYV90b19jdXJ2ZSBlZmZlY3RzIChTZXBpYSwgSGVhdCkgZnJvbSBjdnMgYnJhbmNoIHdpdGggYmV0dGVyIHRleHR1cmUgbWVtb3J5IGhhbmRsaW5nICh0ZXhpbWFnZSBjdXJ2ZXMgb25seSBvbmNlKS4gU2VwaWEgY3VydmUgc3RpbGwgbmVlZHMgc29tZSBsb3ZlLgoKMjAwOC0wOC0xNCAwOTozOTo1NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFsxNjQvOTA2XSByZW5hbWUgYmxlbmRfZnJhZ21lbnRfc291cmNlIHRvIHN1bV9mcmFnbWVudF9zb3VyY2UgYW5kIGFkZCB1bmlmb3JtIGJsZW5kaW5nIHBhcmFtZXRlcnMKCjIwMDgtMDgtMTQgMDk6MjY6MjMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTYzLzkwNl0gaW1wb3J0IGdsb3cgZWZmZWN0IChtYXliZSB0aGUgbW9zdCB0cmlja3kpIGZyb20gY3ZzIGJyYW5jaAoKMjAwOC0wOC0xNCAwODowMzo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE2Mi85MDZdIGltcG9ydCBzdHJldGNoIGVmZmVjdCBmcm9tIGN2cwoKMjAwOC0wOC0xNCAwMDowNzoyMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE2MS85MDZdIGltcG9ydCBzcXVlZXplIGVmZmVjdCBmcm9tIGN2cwoKMjAwOC0wOC0xMyAyMjo0Mjo0OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxNjAvOTA2XSBmb3Jnb3QgdG8gYWRkIGEgZmlsZQoKMjAwOC0wOC0xMyAyMjozNjoxMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTU5LzkwNl0gc3RpbGwgc29tZSBzb3VyY2UgdHJlZSByZW9yZ2FuaXplLCBmaXhlZCBzb21lIGlzc3VlIHdpdGggaGVhZGVycyBhbmQgaWZkZWZzLCBtb3ZlZCBpZGVudGl0eSBpbnRvIGVmZmVjdHMgZGlyCgoyMDA4LTA4LTEzIDIwOjU4OjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTU4LzkwNl0gc3RpbGwgd29ya2luZyBvbiBtZXJnaW4gZ3N0Z2xlZmZlY3RzLCBhZGQgbWlycm9yIGVmZmVjdC4gcmVvcmdhbml6ZSBzb3VyY2UgdHJlZS4KCjIwMDgtMDgtMTMgMTc6NTk6MDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTU3LzkwNl0gbW92ZSB0aHJlYWRfZG9fdXBsb2FkX21ha2UgZnJvbSB0aHJlYWRfZG9fdXBsb2FkIHRvIHRocmVhZF9pbml0X3VwbG9hZAoKMjAwOC0wOC0xMyAxNzoxNjoxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9CVUdTOgoJICBbMTU2LzkwNl0gZml4IGEgY3Jhc2ggdGhhdCBjb3VsZCBoYXBwZW5zIHdoZW4gdXNpbmcgYXQgbGVhc3QgMiBnbCBjb250ZXh0IGFuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgb24gbGludXgKCjIwMDgtMDgtMTMgMTY6MDE6MjEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTU1LzkwNl0gZml4IHNvbWUgZXJyb3JzIGFuZCBjaGVjayBhbGwgdGhlIHBpcGVsaW5lcyBsaXN0ZWQgaW4gdGVzdHMvcGlwZWxpbmVzCgoyMDA4LTA4LTEyIDExOjA5OjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNTQvOTA2XSBhZGRlZCBmaXJzdCBza2VsZXRvbiBvZiBnc3RnbGVmZmVjdHMsIGltcG9ydGVkIGJhc2ljIHN0dWZmIGZyb20gY3ZzIGJyYW5jaC4KCjIwMDgtMDgtMTEgMjA6MTI6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNTMvOTA2XSBUcnkgdG8gZ2VuZXJlYXRlIHRleHR1cmVzIHdpdGhpbiBnc3RnbGZpbHRlcmJsdXIgdG8gc2VlIGlmIHRoZSBuZXcgdGhyZWFkX3VzZV9mYm8gd29ya3MgYm90aCB3aXRoIHRleHR1cmVzIGZyb20gdGhlIHBvb2wgYW5kIGN1c3RvbSBvbmVzCgoyMDA4LTA4LTExIDIwOjAxOjQxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE1Mi85MDZdIHJlbW92ZSBhbiB1bm5lZWRlZCAocmVhbGx5PykgZ2xUZXhJbWFnZQoKMjAwOC0wOC0xMSAxOTowODoyMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzE1MS85MDZdIElTTyBDOTAKCjIwMDgtMDgtMTEgMTk6MDE6MzMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNTAvOTA2XSBnbFRleEltYWdlMkQodywgaCwgTlVMTCkgaXMgbm93IGNhbGxlZCBvbmx5IG9uZSB0aW1lIChtZW0gYWxsb2MpCgoyMDA4LTA4LTExIDE3OjIxOjMwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0OS85MDZdIHNhbWUgYXMgcHJldmlvdXMgY29tbWl0CgoyMDA4LTA4LTExIDE3OjE3OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0OC85MDZdIEZpeCByZ2IgaXNzdWUuIEN1cnJlbnQgcHJvZ3JhbSBzaG91bGQgYWx3YXlzIGJlIHNldCB0byAwIHdoZW4gYSBuZXcgdGV4dHVyZSBpcyBhdHRhY2hlZCB0byBhIGZiby4KCjIwMDgtMDgtMTEgMTU6NTM6MTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTQ3LzkwNl0gb3VwcyBmb3Jnb3QgdG8gYWRkIDIgZmlsZXMgdG8gdGhlIHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wOC0xMSAxNTo0MDozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTQ2LzkwNl0gcmVtb3ZlIGZpbHRlcmVkZ2UKCjIwMDgtMDgtMTEgMTU6MzA6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQ1LzkwNl0gZ2VuL2RlbCB0aGUgbWlkZGxlIHRleHR1cmUgb25seSBvbmUgdGltZSBpbiB0aGUgZ3N0Z2xmaWx0ZXJibHVyCgoyMDA4LTA4LTExIDExOjI2OjMyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNDQvOTA2XSByZW1vdmUgZ3N0Z2xmaWx0ZXJibHVyLmgsIGl0J3MgZWFzaWVyIHRvIGhhdmUgZXZlcnl0aGluZyBpbiB0aGUgc2FtZSBmaWxlCgoyMDA4LTA4LTExIDA5OjUyOjE2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0My85MDZdIEFkZCBpbml0IGFuZCByZXNldCBjYWxsYmFja3MgaW4gR3N0R0xGaWx0ZXIgdG8gcnVuIGFyYml0cmFyeSBnbCBjb2RlIGF0IHN0YXJ0IGFuZCBzdG9wLiBVc2VmdWwgdG8gaW5pdCBhbmQgY2xlYW51cCBjdXN0b20gZ2wgcmVzb3VyY2VzLgoKMjAwOC0wOC0xMSAwOTowMDo0MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQyLzkwNl0gQWRkIGEgZ2VuZXJpYyBhY3Rpb24gdG8gYmUgYWJsZSB0byBleGVjdXRlIGFyYml0cmFyeSBnbCBjb2RlIHdpdGhpbiB0aGUgZ2wgdGhyZWFkIHdpdGggbGVzcyBwYWluCgoyMDA4LTA4LTEwIDExOjIyOjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDEvOTA2XSBzb21lIHN0ZXBzIHRvd2FyZHMgc2ltcGxpZmljYXRpb24uIGFkZGVkIGEgY29udmVuaWVuY2UgZnVuY3Rpb24gdG8gZ3N0Z2xmaWx0ZXIgYW5kIHNvbWUgY29tbWVudCBoZXJlIGFuZCB0aGVyZQoKMjAwOC0wOC0wNSAxMDoxNTowNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNDAvOTA2XSBGaXggR0xfU1RBQ0tfT1ZFUkZMT1cKCjIwMDgtMDgtMDQgMTI6MTM6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxMzkvOTA2XSBmaXggd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgdXBsb2FkL2Rvd25sb2FkIHNoYWRlcnMKCjIwMDgtMDgtMDQgMDk6NTY6NTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsxMzgvOTA2XSBpcyB0aGF0IHZpZGVvZm9ybWF0IHBvaW50ZXIgcmVhbGx5IG5lZWRlZD8KCjIwMDgtMDgtMDQgMDk6NDY6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsxMzcvOTA2XSBEb24ndCByZWFsbG9jYXRlIHRleHR1cmUgbWVtb3J5IGV2ZXJ5IHRpbWUgaW4gdXBsb2FkXyogZnVuY3Rpb25zLgoKMjAwOC0wOC0wMSAxMTowMDo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzNi85MDZdIHJlaW5kZW50IGdzdGdsZGlzcGxheSB3aXRoIGdzdHJlYW1lci1jLW1vZGUKCjIwMDgtMDctMzEgMTc6NDg6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEzNS85MDZdIGFkZCBhbmQgbWFrZSB0aGUgRmlsaXBwbydzIGdzdGdsZmlsdGVyYmx1ciB3b3JrcyBvbiB0aGUgbWFzdGVyIGJyYW5jaCAoZXhhbXBsZSBvZiBtdWx0aXBsZSBzdGVwIHJlbmRlcmluZykKCjIwMDgtMDctMjUgMDE6NDM6MjggKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzEzNC85MDZdIGZpeCBtYWtlZmlsZXMgbGlzdCBmcm9tIGNvbmZpZ3VyZS5hYyAodGVzdHMgaGF2ZSBjaGFuZ2VzKSBhbmQgZml4IGEgd2FybmluZwoKMjAwOC0wNy0yMSAwMDoyNDo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMzMvOTA2XSBmaW5pc2ggdG9kbyB0YXNrIDQKCjIwMDgtMDctMjAgMTY6Mzg6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTMyLzkwNl0gbWFrZSB0aGUgcGx1Z2luIHByb3Blcmx5IHNodXRkb3duIHdoZW4gb25lIG9mIHRoZSBjaGVjayByZXF1aXJlbWVudHMgZmFpbGVkCgoyMDA4LTA3LTE5IDA4OjMyOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJICBbMTMxLzkwNl0gZml4IHdhcm5pbmdzICh1bnVzZWQgdmFycykKCjIwMDgtMDctMTkgMDM6MDA6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkgIFsxMzAvOTA2XSB1c2UgR3N0R0xTaGFkZXIgaW4gdGhlIEdMU0wgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDA4LTA3LTE4IDIyOjMzOjQ0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbMTI5LzkwNl0gZml4ZWQgd2FybmluZyBmb3IgdW51c2VkIHZhcmlhYmxlIChmYXRhbCB3aXRoIC1XZXJyb3IpCgoyMDA4LTA3LTE4IDIxOjU1OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFsxMjgvOTA2XSBhZGQgR3N0R0xTaGFkZXIgc3R1ZmZzIGluIHRoZSB2czggcHJvamVjdCwgZml4IGxhcGxhY2lhbiBmcmFnbWVudCBjb2RlIHRvIG1ha2UgaXQgY29tcGlsZSBvbiBBVEksIGFuZCBmaXggY2hlY2sgZnVuY3Rpb24gYWJvdXQgT3BlbmdsIGFuZCBHbGV3IHZlcnNpb24KCjIwMDgtMDctMTggMTA6NDk6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMjcvOTA2XSBJbXBvcnRlZCBHc3RHTFNoYWRlciBmcm9tIGN2cyBicmFuY2guIEFkZGVkIGEgZGVtbyBsYXBsYWNpYW4gY29udm9sdXRpb24gZmlsdGVyIHRvIGRlbW9uc3RyYXRlIGhvdyB0aGlzIGNhbiBiZSBpbnRlZ3JhdGVkIHdpdGggbWluaW11bSBlZmZvcnQuCgoyMDA4LTA3LTE2IDE1OjIzOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbMTI2LzkwNl0gQ2hhbmdlIHNvbWUgZ3VpbnRzIHRvIEdMdWludHMgYmVjYXVzZSBvZiB3YXJuaW5ncyBvbiBPUy9YLgoKMjAwOC0wNy0xNiAxNToyMjozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gubG9jYWw+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsxMjUvOTA2XSBBZGQgbGlicmFyaWVzIGFzIGFwcHJvcHJpYXRlIHRvIGZpeCBjb21waWxhdGlvbgoKMjAwOC0wNy0xNSAxNDozNjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBbMTI0LzkwNl0gR2xvYmFsIHJlcGxhY2Ugb2YgQ1JMRiBsaW5lIGVuZGluZ3MgdG8gTEYKCjIwMDgtMDctMTIgMTQ6MTg6NDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIzLzkwNl0gWCBTcGVjaWZpYzogYmV0dGVyIGltcGxlbWVudGF0aW9uIG9mIHRoZSBnc3RfZ2xfc2V0X3dpbmRvd19pZAoKMjAwOC0wNy0xMiAxMzoyNDozMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjIvOTA2XSBiZXR0ZXIgaW1wbGVtZW50YXRpb24gb2YgZ3N0X2dsX2Rpc3BsYXlfc2V0X3dpbmRvd19pZCBmb3Igd2luMzIuIChjaGFuZ2UgdGhlIHdpbmRvdyBvZiB0aGUgY3VycmVudCB3Z2xjb250ZXh0IGluc3RlYWQgb2YgcmVpbml0IGV2ZXJ5dGhpbmcsIGFuZCBzbyBhdm9pZCBzb21lIHByb2JsZW1zIGFib3V0IG9wZW5nbCBvYmplY3RzIHRoYXQgY291bGQgYmUgaW5pdCBpbiB0aGUgcHJldmlvdXMgd2dsY29udGV4dCBhbmQgc28gbm8gdXNhYmxlIGluIHRoZSBuZXdlciB3Z2xjb250ZXh0LCBpdCB3aGF0IHRoZSBjYXNlIGZvciB0aGUgZmlyc3QgdGV4dHVyZSkgVGhpcyBuZXdlciBpbXBsZW1lbnRhdGlvbiBoYXMgbm90IGJlZW4gbWFkZSB5ZXQgb24gbGludXgKCjIwMDgtMDctMTIgMDE6MTM6MDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIxLzkwNl0gYXZvaWQgdXNlIG9mIEdMU0wgZnVuY3Rpb25zIHdoZW4gZnJhZ21lbnRfc2hhZGVyIGlzIG5vdCBhdmFpbGFibGUKCjIwMDgtMDctMTEgMDY6MjQ6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIwLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1ODAgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTEwIDIzOjUzOjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMTkvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU3OSA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMDcgMjA6NTk6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExOC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTczIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0wNiAxNjo1MDoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExNy85MDZdIHVwIGd0ayBleGFtcGxlCgoyMDA4LTA3LTA1IDIyOjU2OjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFsxMTYvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU2MyA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMzAgMDA6Mzg6MzkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTE1LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTYgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI5IDE3OjI3OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzExNC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTU1IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yOCAyMzoyODoxMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbMTEzLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTQgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI4IDE1OjM4OjQxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzExMi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTUyIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yNCAyMjoyODowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMTEvOTA2XSB1cAoKMjAwOC0wNi0yMyAyMzoxMjozNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFsxMTAvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU0NCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjMgMTg6NTY6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMDkvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU0MyA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjEgMjE6Mzg6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzEwOC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQwIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0xOSAyMzozODozNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMDcvOTA2XSBmaXggb3BlbmdsIHZlcnNpb24gY2hlY2tlcgoKMjAwOC0wNi0xNiAyMzoxMjo0OCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMDYvOTA2XSB1cCBzb2JlbCBhbGdvCgoyMDA4LTA2LTE1IDE4OjMxOjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJICBbMTA1LzkwNl0gdXAgU29iZWwgZmlsdGVyIGFuZCBnbC9nbGV3IHZlcnNpb24gY2hlY2tlcgoKMjAwOC0wNi0xMyAwMDowMToyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEwNC85MDZdIHN0YXJ0IHRvIGFkZCBhIGdsZmlsdGVyZWRnZSB0aGF0IHByb2NlZWRzIGVkZ2UgZGV0ZWN0aW9uIHVzaW5nIEdMU0wKCjIwMDgtMDYtMTIgMjE6NDA6MTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEwMy85MDZdIHJlbmFtZSBnbGdyYXBoaWNtYWtlciAtPiBnbHVwbG9hZCBhbmQgZ2x2aWRlb21ha2VyIC0+IGdsZG93bmxvYWQKCjIwMDgtMDYtMTEgMjM6NDM6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBbMTAyLzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6NDI6NTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFsxMDEvOTA2XSBpZGVtCgoyMDA4LTA2LTExIDIzOjQwOjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbMTAwLzkwNl0gZml4IHdhcm5pbmdzIGxpbnV4LXNwZWNpZmljCgoyMDA4LTA2LTExIDIzOjQwOjAxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzA5OS85MDZdIHVwIChzd2l0Y2hpbmcgbGludXggYW5kIHdpbjMyKSAuLi4gbm90IGZ1biBlZGl0b3IgLi4uCgoyMDA4LTA2LTExIDIzOjM4OjMzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA5OC85MDZdIHVwLi4uCgoyMDA4LTA2LTExIDIzOjM2OjI1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJICBbMDk3LzkwNl0gZml4IHdhcm5pbmdzCgoyMDA4LTA2LTExIDIzOjMxOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSAgWzA5Ni85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjI2OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5oOgoJICBbMDk1LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MjM6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFswOTQvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoxMjo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswOTMvOTA2XSByZW1vdmUgMiB3YXJuaW5ncwoKMjAwOC0wNi0xMSAyMzowNDo1MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMDkyLzkwNl0gRmluaXNoIHRvIHJldml2ZSB0aGUgZ2x0ZXN0c3JjLiBOZXh0IHN0ZXAgaXMgdG8gZG8gc29tZSByZWZhY3RvcmluZy4KCjIwMDgtMDYtMTEgMTg6MzM6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswOTEvOTA2XSBzdGFydCB0byByZXZpdmUgdGhlIGdsdGVzdHNyYwoKMjAwOC0wNi0xMCAyMzowMDozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswOTAvOTA2XSB1cAoKMjAwOC0wNi0xMCAyMjo1OTo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODkvOTA2XSBhZGQgYSAiZ2xjb2xvcnNjYWxlIiBlbGVtZW50IGVxdWl2YWxlbnQgdG8gImZmbWVwZ2NvbG9yc3BhY2UgISB2aWRlb3NjYWxlICEgZmZtcGVnY29sb3JzcGFjZSIKCjIwMDgtMDYtMTAgMjI6MDg6MTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA4OC85MDZdIGZpeCBzb21lIGNhcHMgbmVnb2NpYXRpb25zIHRob3NlIHBpcGVsaW5lcyB3b3JrcyBmaW5lIDogZ3N0LWxhdW5jaC0wLjEwIC12IHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1diwgd2lkdGg9MzIwLCBoZWlnaHQ9MjQwICEgZ2xncmFwaGljbWFrZXIgISB2aWRlby94LXJhdy1nbCwgd2lkdGg9NzIwICwgaGVpZ2h0PTU3NiAhIGdsZmlsdGVyY3ViZSAhIGdsaW1hZ2VzaW5rIGFuZCBnc3QtbGF1bmNoLTAuMTAgLXYgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LCB3aWR0aD0zMjAsIGhlaWdodD0yNDAgISBnbGdyYXBoaWNtYWtlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD03MjAgLCBoZWlnaHQ9NTc2ICEgZ2xpbWFnZXNpbmsKCjIwMDgtMDYtMTAgMTk6MDc6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJICBbMDg3LzkwNl0gZ2xmaWx0ZXIgY2FuIGFjY2VwdCB0byBoYXZlIGFuIGlucHV0IHNpemUgZGlmZmVyZW50IHRoYW4gdGhlIG91dCBwdXQgc2l6ZSA6IHZpZGVvL3gtcmF3LWdsLCB3aWR0aD13MSwgaGVpZ2h0PXcxICEgZ2xmaWx0ZXIgISB2aWRlby94LXJhdy1nbCwgd2lkdGg9dzIsIGhlaWdodD13MiAhIChmaXggZXZlcnkgZXhhbXBsZXMpCgoyMDA4LTA2LTA4IDIyOjExOjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA4Ni85MDZdIHVwCgoyMDA4LTA2LTA4IDEzOjE1OjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJICBbMDg1LzkwNl0gZml4IHJlZ3Jlc3Npb25zIGFib3V0IGdsdmlkZW9tYWtlci4KCjIwMDgtMDYtMDggMDI6MTk6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODQvOTA2XSBhZGQgYSBnbGZpbHRlcmFwcCB3aGljaCBob2xkcyB0aGUgY2xpZW50IGRyYXcgYW5kIHJlc2hhcGUgY2FsbGJhY2tzIChzb21lICJ3YW50ZWQiIHJlZ3Jlc3Npb25zIGFib3V0IHRoZSBnbHZpZGVvbWFrZXIsIGhhdmUgYmVlbiBkb25lIHdpdGggdGhpcyB2ZXJzaW9uLiBXaWxsIGJlIGZpeCBpbiBuZXh0IGNvbW1pdHMpCgoyMDA4LTA2LTA3IDIxOjU2OjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA4My85MDZdIGZpbmlzaCB0byBpbXBsZW1lbnQgdGhlIGdsZmlsdGVyOiBleGFtcGxlIDogZ3N0LWxhdW5jaC0wLjEwIHZpZGVvdGVzdHNyYyBudW1fYnVmZmVycyA9IDEwMCAhIGdsZ3JhcGhpY21ha2VyICEgZ2xmaWx0ZXJjdWJlICEgZ2xpbWFnZXNpbmsKCjIwMDgtMDYtMDcgMTU6Mjc6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA4Mi85MDZdIGdsZmlsdGVyIGNhbiByZXF1ZXN0LCB1c2UgYW5kIHJlamVjdCBhIEZCTyAoc3RlcCAxKQoKMjAwOC0wNi0wNyAwMDowMToxOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDgxLzkwNl0gc3RhcnQgdG8gYWRkIGEgZ2xmaWx0ZXIKCjIwMDgtMDUtMjQgMTI6MzU6MzQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDgwLzkwNl0gZml4IGdzdGZyZWVnbHV0IGxpbnV4IGltcGxlbWVudGF0aW9uIHRvIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdzdHhvdmVybGF5IGludGVyZmFjZQoKMjAwOC0wNS0yMiAyMDoxMDozMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzkvOTA2XSB1cAoKMjAwOC0wNS0yMSAyMjo0OToyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswNzgvOTA2XSB1cCBmcm9tIGt1YnVudHUKCjIwMDgtMDUtMjEgMjE6MTc6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc3LzkwNl0gdXAKCjIwMDgtMDUtMjEgMjE6MTU6NDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc2LzkwNl0gY2hlY2sgT3BlbkdMIGFuZCBHbGV3IHZlcnNpb25zCgoyMDA4LTA1LTIwIDE3OjQwOjIwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA3NS85MDZdIGluZGVudAoKMjAwOC0wNS0xOSAyMzowNjowNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzQvOTA2XSB1cAoKMjAwOC0wNS0xOSAyMzowMzoyMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzMvOTA2XSB1cAoKMjAwOC0wNS0xOSAyMTozNjo1OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzIvOTA2XSB1cAoKMjAwOC0wNS0xOSAyMToyODoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzEvOTA2XSByZW1vdmUgYWxsIHdhcm5pbmdzCgoyMDA4LTA1LTE5IDE4OjQ1OjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzA3MC85MDZdIGltcGxlbWVudCBhbmQgZml4IG9uQ2xvc2U6IHdoZW4gYSB1c2VyIGNsaWNrIG9uIHRoZSBjcm9zcyBvZiBhbiBpbnRlcm5hbCB3aW5kb3cgKHRoZXJlIGlzIG5vdCB0aGlzIGlzc3VlIHdoZW4gdXNpbmcgdGhlIGdzdHhvdmVybGF5IGludGVyZmFjZSkKCjIwMDgtMDUtMTkgMTY6NTc6MzkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNjkvOTA2XSBhZGQgZ3N0cmVhbWVyIGxpY2Vuc2UKCjIwMDgtMDUtMTggMjA6MDU6MTggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDY4LzkwNl0gdXAKCjIwMDgtMDUtMTggMTk6NTg6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDY3LzkwNl0gdXAKCjIwMDgtMDUtMTggMTk6MTg6MDQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkgIFswNjYvOTA2XSB1cAoKMjAwOC0wNS0xOCAxNzo1NTo1NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzA2NS85MDZdIHVwCgoyMDA4LTA1LTE4IDE2OjA0OjU2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDY0LzkwNl0gdXAKCjIwMDgtMDUtMTggMTQ6NDc6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMDYzLzkwNl0gdXAKCjIwMDgtMDUtMTggMTE6MTI6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA2Mi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANDIxIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0xNSAxNDoxNjo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC8uY3ZzaWdub3JlOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvY29sb3JfbWF0cml4LmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2MS85MDZdIEZpcnN0IFNWTiBjb21taXQuICBUaGlzIGNvbW1pdCBpcyBhIGhhY2sgdG8gbWFrZSBnaXQtcmViYXNlIHdvcmsKCjIwMDgtMDItMjMgMTU6MTA6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA2MC85MDZdIAkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOiAoZ3N0X2dsX2J1ZmZlcl9mb3JtYXRfZnJvbV92aWRlb19mb3JtYXQpOiAJICBGaXggY29tcGlsZXIgd2FybmluZyBpZiB0aGVyZSBhcmUgdmlkZW8gZm9ybWF0IAkgIGVudW1zIGdzdGdsYnVmZmVyIGRvZXNuJ3Qga25vdyBhYm91dCB5ZXQuICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOiAoZ3N0X2dsX2Rpc3BsYXlfdXBsb2FkX3RleHR1cmVfcmVjdGFuZ2xlKSwgKGdzdF9nbF9kaXNwbGF5X2RyYXdfdGV4dHVyZSk6IAkgIEZpeCBwcmludGYgZm9ybWF0IGZvciA2NC1iaXQgaW50ZWdlcnMuCgoyMDA4LTAxLTMxIDIzOjQwOjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFswNTkvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBwa2djb25maWcvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46IFJlbmFtZSBwa2djb25maWcgZmlsZXMuICBBbmQgaW5zdGFsbCB0aGVtLiAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6ICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogQWRkIHNvbWUgdGVzdHMgY29waWVkIGZyb20gLWdvb2QuCgoyMDA4LTAxLTMxIDIxOjM1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU4LzkwNl0gCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAJICBUaGUgbGlicmFyeSBuZWVkcyB0byBsaW5rIGFnYWluc3QgbGliZ3N0dmlkZW8tMC4xMC4gCSogZ3N0L2dsL01ha2VmaWxlLmFtOiAJICBUaGUgcGx1Z2luIGRvZXMgbm90IChJIHRoaW5rKSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBHTCBvciBsaWJnc3R2aWRlbywgCSAgc2luY2Ugb3VyIG5ldyBnc3RyZWFtZXIgR0wgbGlicmFyeSBhbHJlYWR5IGRvZXMgdGhhdCwgYnV0IGl0IGRvZXMgCSAgbmVlZCB0byBsaW5rIGFnYWluc3Qgb3VyIGJyYW5kLW5ldyBsaWJnc3RnbC0wLjEwLgoKMjAwOC0wMS0zMSAyMDozMToxMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvLmN2c2lnbm9yZToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU3LzkwNl0gKiBnc3QvZ2wvLmN2c2lnbm9yZTogaW5nb3JlIHNvbWUgZmlsZXMgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06IGRpc3RjaGVjayBmaXhlcyAqIGdzdC9nbC9NYWtlZmlsZS5hbTogZGlzdGNoZWNrIGZpeGVzICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiAtZ29vZCBoYXMgdGhpcyBpbiBDVlMsIHNvIHdlIHdpbGwgdG9vLgoKMjAwOC0wMS0zMSAyMDoyMToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA1Ni85MDZdICogY29uZmlndXJlLmFjOiBSZWFkZCBwcmUtcGtnY29uZmlnIE9wZW5HTCBkZXRlY3Rpb24sIHNpbmNlIHBrZ2NvbmZpZyByZXF1aXJlcyBNZXNhIGZyb20gZ2l0IG1hc3Rlci4gKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzogKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6IE1vdmUgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24gdG8gZWxlbWVudC4gKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6ICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6ICogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6ICogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6IE1vdmUgZ2xmaWx0ZXIgdG8gbGlicmFyeS4gKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46IEFkZCBnc3RyZWFtZXItYmFzZS0wLjEwIGFzIGEgcmVxdWlyZW1lbnQuICogcG8vZW4ucG86IFVwZGF0ZS4KCjIwMDgtMDEtMTggMTU6MTM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTUvOTA2XSAJKiBjb25maWd1cmUuYWM6IAkqIGRvY3MvTWFrZWZpbGUuYW06IAkqIGdzdC1saWJzL01ha2VmaWxlLmFtOiAJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06IAkqIGdzdC9nbC9NYWtlZmlsZS5hbTogKiB0ZXN0cy9NYWtlZmlsZS5hbTogCSAgRml4IGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwIGFuZCBzb21lICAgZGlzdGNoZWNrLXkgYml0cyAobm90IGFsbCB0aG91Z2gpLgoKMjAwOC0wMS0xNyAyMzoyMzozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMDU0LzkwNl0gRml4ZXMgdG8gbWFrZSBwcm9qZWN0IGNvbXBpbGUuICBQcm9iYWJseSBzdGlsbCBkb2Vzbid0IHdvcmsuICogY29uZmlndXJlLmFjOiAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6ICogcG8vTElOR1VBUzogKiB3aW4zMi9NQU5JRkVTVDoKCjIwMDgtMDEtMTcgMTk6NDA6MzYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDUzLzkwNl0gQWRkIHByb2plY3QgaW5mcmFzdHJ1Y3R1cmUuICBOb3QgY29tcGxldGUsIGRvZXNuJ3Qgd29yay4gKiAuY3ZzaWdub3JlOiAqIEFVVEhPUlM6ICogQ09QWUlORzogKiBDT1BZSU5HLkxJQjogKiBJTlNUQUxMOiAqIE1ha2VmaWxlLmFtOiAqIE5FV1M6ICogUkVBRE1FOiAqIFJFTEVBU0U6ICogUkVRVUlSRU1FTlRTOiAqIGF1dG9nZW4uc2g6ICogY29uZmlndXJlLmFjOiAqIGRvY3MvLmN2c2lnbm9yZTogKiBkb2NzL01ha2VmaWxlLmFtOiAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbTogKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06ICogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOiAqIGV4dC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC1wbHVnaW5zLWdsLmRvYXA6ICogZ3N0LXBsdWdpbnMtZ2wuc3BlYy5pbjogKiBnc3QvTWFrZWZpbGUuYW06ICogbTQvLmN2c2lnbm9yZTogKiBtNC9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvLmN2c2lnbm9yZTogKiBwa2djb25maWcvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLXVuaW5zdGFsbGVkLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogKiBzeXMvTWFrZWZpbGUuYW06ICogdGVzdHMvTWFrZWZpbGUuYW06ICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06ICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06ICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06ICogdG9vbHMvTWFrZWZpbGUuYW06ICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoKMjAwOC0wMS0wNiAwMzowMTozOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNTIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1bGxzY3JlZW5pbmcgYmVpbmcgYW4gZXhlY3B0aW9uKS4gIERvZXNuJ3QgaGFuZGxlIGV4cG9zZSBldmVudHMgZGlyZWN0bHkgdG8gdGhlIEdMIHdpbmRvdy4KCjIwMDgtMDEtMDYgMDE6MTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA1MS85MDZdICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZSB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwNy0xMi0zMSAwNzo1NToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTAvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZSByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcgYSBjaGVjayBmb3IgcHJlLXBrZ2NvbmZpZyB2ZXJzaW9ucy4KCjIwMDctMTItMjkgMDA6Mzc6NDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0OS85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uIEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIG1vc3RseSBjb3JyZWN0bHkuICBSZWVuYWJsZSBpbiBidWlsZC4KCjIwMDctMTItMjcgMDU6MjY6MDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ4LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYmUgZml4ZWQgc29vbi4KCjIwMDctMTItMjcgMDQ6MTU6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDcvOTA2XSAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZSB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3VzIGZvcm1hdHMgdG8gZG93bmxvYWRpbmcuICBGaXggYSBmZXcgcGxhY2VzIHdoZXJlIHdlIGxlYWsgR0wgc3RhdGUgdG8gb3RoZXIgZWxlbWVudHMgKGJhZCwgYnV0IGhhcmQgdG8gcHJldmVudCkuCgoyMDA3LTEyLTI3IDAwOjUyOjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvY29sb3JfbWF0cml4LmM6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0Ni85MDZdICogc3lzL2dsc2luay9CVUdTOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFJlbW92ZSBjb2RlIHRoYXQgaGFuZGxlcyBub24tdGV4dHVyZSBidWZmZXJzLiAgQWRkIGEgR3N0R0xCdWZmZXJGb3JtYXQgdHlwZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGhvdyB0byB1c2UgdGhlIHRleHR1cmUsIG5vdCB0aGUgb3JpZ2luYWwgdmlkZW8gZm9ybWF0LiAgQ29udmVydCBnc3RmbGZpbHRlci5jIGludG8gYSBiYXNlIGNsYXNzLCBhZGQgZ2xmaWx0ZXJleGFtcGxlIGFuZCBnbGNvbnZlcnQgZWxlbWVudHMuICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzogTWlub3IgcmFtYmxpbmdzIGFib3V0IGNvbG9yIGNvbnZlcnNpb24gbWF0cmljZXMuCgoyMDA3LTEyLTI1IDAwOjM0OjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNDUvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzIEdMIHJlbmRlcmluZyB0byBjcmVhdGUgaW1hZ2VzLiAgTW9yZSBjbGVhbnVwLgoKMjAwNy0xMi0yNCAyMToyNjozOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFswNDQvOTA2XSAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6IENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgoyMDA3LTEyLTI0IDIxOjA0OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkgIFswNDMvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoKMjAwNy0xMi0yNCAyMDo1Mzo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQyLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwgZmlsdGVyaW5nIGFsbCB3b3JrLgoKMjAwNy0xMi0yMiAwNTowMTo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguIENoZWNrcG9pbnQgYmVjYXVzZSBJJ20gYWJvdXQgdG8gcmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUuCgoyMDA3LTEyLTIxIDAwOjAzOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0MC85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLCBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW92ZSBHTERyYXdhYmxlLCBzaW5jZSBHc3RHTERpc3BsYXkgbm93IGhhcyBhIGRlZmF1bHQgZHJhd2FibGUgYW5kIGNvbnRleHQuCgoyMDA3LTEyLTE4IDAxOjI1OjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzOS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidWYuICBVbnRlc3RlZC4gIFdpbGwgbGlrZWx5IGNyYXNoIHlvdXIgbW90b3JjeWNsZSBpZiB5b3UgdHJ5IGl0LiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogUmVtb3ZlLgoKMjAwNy0xMi0xNiAyMjo1NzoyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkgIFswMzgvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6IFJlbmFtZSBHTFZpZGVvKiB0byBHc3RHTCouCgoyMDA3LTEyLTE2IDAwOjE2OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkgIFswMzcvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15IGRyaXZlci4gOigKCjIwMDctMTItMTUgMTk6MzE6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzYvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogQWRkIHN1cHBvcnQgZm9yIHhSR0IsIHhCR1IsIGFuZCBBWVVWLiAgUmUtYWRkIHN1cHBvcnQgZm9yIHBvd2VyLW9mLTIgdGV4dHVyZXMuCgoyMDA3LTEyLTE1IDA2OjMzOjM2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM1LzkwNl0gKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6IFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4gVGhpcyBzaG91bGQgZXZlbnR1YWxseSBtb3ZlIHRvIC1iYXNlLiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBVc2UgdGhlIG5ldyB2aWRlby1jb21tb24uaCBzdHVmZi4gIFJlYWRkIHN1cHBvcnQgZm9yIFJHQiB2aWRlby4KCjIwMDctMTItMTQgMTY6MjM6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzAzNC85MDZdIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNy0xMi0xMiAwMjozMzoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJICBbMDMzLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXNpb25hbGx5IGR1ZSB0byBkaWZmZXJlbnQgdGhyZWFkcyB0b3VjaGluZyBiaXRzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDA3LTA2LTA2IDE1OjU4OjMxICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDMyLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX3N0b3ApLCAoZ3N0X2dsaW1hZ2Vfc2lua19jcmVhdGVfd2luZG93KSwgKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogU3ByaW5rbGUgaW4gc29tZSBYU3luYyBjYWxscyB0byBhdm9pZCByYWNpbmVzcyB3aXRoIGJyb2tlbiBkcml2ZXJzIChBVEkpIHdoZW4gcmUtdXNpbmcgYSBzaW5nbGUgZ2xpbWFnZXNpbmsuCgoyMDA3LTA1LTE4IDEyOjM5OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDMxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6IFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydCBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyBmb3JtYXRzLCBub3QganVzdCB0aGUgdGVtcGxhdGUgY2Fwcy4gRml4ZXM6ICM0Mzk0MDUKCjIwMDctMDQtMDMgMjI6MzY6NDcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzAvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoKMjAwNi0wOS0yMyAwMDoyODozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyOS85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4gKGZpeGVzICMzNTcyMTIpCgoyMDA2LTA5LTIyIDE1OjU5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI4LzkwNl0gKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChwbHVnaW5faW5pdCk6IExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4ndCB0cnVtcCBwbHVnaW5zIGluIC1iYXNlLCAtZ29vZCBvciAtdWdseSAoaW4gdGhpcyBjYXNlIHhpbWFnZXNpbmspLiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKHBsdWdpbl9pbml0KTogU2V0IHJhbmsgdG8gTk9ORSB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgdW50aWwgZXJyb3JzIGFyZSBoYW5kbGVkIHByb3Blcmx5IChzZWUgIzM1NzIxMikuCgoyMDA2LTA4LTE1IDE5OjI5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI3LzkwNl0gKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19nZXRfcHJvcGVydHkpOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfZ2V0X3Byb3BlcnR5KTogRml4IGxlYWtzICgjMzUxNTAyKS4KCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjYvOTA2XSAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6ICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6ICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjUvOTA2XSAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6ICogZXh0L2FydHMvZ3N0X2FydHMuYzogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6ICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6ICogZXh0L2J6Mi9nc3RiejJlbmMuYzogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6ICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6ICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KTogKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOiAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6ICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6ICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOiAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6ICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6ICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOiAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6ICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6ICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6ICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KTogKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6ICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KTogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOiAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KTogKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6ICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOiAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6ICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzogKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzogKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6ICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6ICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6ICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6ICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6ICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6ICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOiAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KTogKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6ICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOiAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6ICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6ICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6ICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KTogKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjQvOTA2XSByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDItMjUgMjE6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkgIFswMjMvOTA2XSAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoKMjAwNi0wMi0yMiAxNDozNzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDIyLzkwNl0gICAgICAgICAqIGNvbmZpZ3VyZS5hYzogICAgICAgICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICAgICAgIE1lcmdlIHBhdGNoIGZyb20gIzMxNzA0OCBmb3IgYnVpbGRpbmcgb24gQ3lnd2luLiBQYXRjaCBieSBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4gICAgICAgICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogICAgICAgICBNb3ZlIG5vcm1hbCBkZWJ1ZyBvdXRwdXQgdG8gTE9HIGxldmVsIG5vdCBFUlJPUi4KCjIwMDYtMDItMTQgMTE6MzY6MzAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFswMjEvOTA2XSAyMDA2LTAyLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbgoJICBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCjIwMDYtMDEtMzAgMTU6NDc6NDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzAyMC85MDZdIDIwMDYtMDEtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfQ0ZMQUdTKTogQWRkIFBMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMuCgoyMDA2LTAxLTI4IDEyOjQ1OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzAxOS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoKMjAwNi0wMS0yOCAwNDozOToxOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSAgWzAxOC85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6IHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoKMjAwNS0xMS0yMSAxNDozMzoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNy85MDZdICAgICAgICAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6ICAgICAgICAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX3NpbmtfZml4YXRlKTogICAgICAgICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6ICAgICAgICAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiAgICAgICAgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6ICAgICAgICAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOiAgICAgICAgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAgICAgICAgICgjMzIyMDI3KQoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTYvOTA2XSAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKTogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLCAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLCAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKTogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6ICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6ICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6ICogZXh0L2phY2svZ3N0amFjay5oOiAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOiAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvbmFzL25hc3NpbmsuaDogKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDogKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KTogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6ICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6ICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KTogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KTogKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KTogKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOiAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6ICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKTogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6ICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6ICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KTogKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLCAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLCAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDogKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDogKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLCAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLCAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKTogKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6ICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6ICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKTogKiBzeXMvdmNkL3ZjZHNyYy5oOiByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0wOS0wNSAxNzoyMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNS85MDZdICAgICAgICAgICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNC0xMS0wMSAxNDo0MzozOCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNC85MDZdICogZXh0L2Fsc2EvZ3N0YWxzYS5jOiAoZ3N0X2Fsc2FfY2xhc3NfaW5pdCksIChnc3RfYWxzYV9kaXNwb3NlKSwgICAgICAgICAoZ3N0X2Fsc2FfZmluYWxpemUpOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfY2RhdWRpb19maW5hbGl6ZSk6ICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYS5jOiAoY2RwYXJhbm9pYV9jbGFzc19pbml0KSwgKGNkcGFyYW5vaWFfZmluYWxpemUpOiAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2Rpc3Bvc2UpOiAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKGdzdF9kaXZ4ZW5jX2Rpc3Bvc2UpOiAqIGV4dC9kdmRyZWFkL2R2ZHJlYWRzcmMuYzogKGR2ZHJlYWRzcmNfY2xhc3NfaW5pdCksICAgICAgICAgKGR2ZHJlYWRzcmNfZmluYWxpemUpOiAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNkZWNfZmluYWxpemUpOiAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX2NsYXNzX2luaXQpLCAgICAgIChnc3RfZmxhY2VuY19maW5hbGl6ZSk6ICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21ldmZzc2lua19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X2dub21ldmZzc2lua19maW5hbGl6ZSk6ICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWV2ZnNzcmNfY2xhc3NfaW5pdCksIChnc3RfZ25vbWV2ZnNzcmNfZmluYWxpemUpOiAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfZmFtZWVuY19maW5hbGl6ZSk6ICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X25hc3NpbmtfZmluYWxpemUpOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QvbWl4ZXIvbWl4ZXJ0cmFjay5jOiAoZ3N0X21peGVyX3RyYWNrX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC90dW5lci90dW5lcmNoYW5uZWwuYzogKGdzdF90dW5lcl9jaGFubmVsX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC90dW5lci90dW5lcm5vcm0uYzogKGdzdF90dW5lcl9ub3JtX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC94d2luZG93bGlzdGVuZXIveHdpbmRvd2xpc3RlbmVyLmM6IChnc3RfeF93aW5kb3dfbGlzdGVuZXJfZGlzcG9zZSk6ICogZ3N0L2F1ZGlvc2NhbGUvZ3N0YXVkaW9zY2FsZS5jOiAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KSwgKHBsYXlfb25fZGVtYW5kX2ZpbmFsaXplKTogKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6IChnc3RfdmlkZW9iYWxhbmNlX2Rpc3Bvc2UpOiAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb3NjYWxlX2NoYWluKTogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpLCAgICAgKGNkcGxheWVyX2ZpbmFsaXplKTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZmluYWxpemUpLCAgICAgICAgIChnc3RfZ2xpbWFnZXNpbmtfY2xhc3NfaW5pdCk6ICogc3lzL29zcy9nc3Rvc3NlbGVtZW50LmM6IChnc3Rfb3NzZWxlbWVudF9jbGFzc19pbml0KSwgKGdzdF9vc3NlbGVtZW50X2ZpbmFsaXplKTogKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3NzaW5rX2Rpc3Bvc2UpOiAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3Nzc3JjX2Rpc3Bvc2UpOiAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfZGlzcG9zZSk6ICAgICAgICAgICBGaXhlcyBhIGJ1bmNoIG9mIHByb2JsZW1zIHdpdGggZmluYWxpemUgYW5kIGRpc3Bvc2UgZnVuY3Rpb25zLCAgICAgICAgICAgZWl0aGVyIGFzc3VtcHRpb25zIHRoYXQgZGlzcG9zZSBpcyBvbmx5IGNhbGxlZCBvbmNlLCBvciBub3QgY2FsbGluZyAgICAgICAgICAgdGhlIHBhcmVudCBjbGFzcyBkaXNwb3NlL2ZpbmFsaXplIGZ1bmN0aW9uCgoyMDA0LTA4LTI3IDE5OjE4OjI0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDEzLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfeGltYWdlX3B1dCksIChnc3RfZ2xpbWFnZXNpbmtfeHdpbmRvd19uZXcpLCAoZ3N0X2dsaW1hZ2VzaW5rX3hjb250ZXh0X2dldCksIChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKTogIE1vdmUgbG9jYWwgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIG1ha2UgZ2NjLTIuOTUgaGFwcHkuCgoyMDA0LTA4LTA5IDIwOjE2OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMTIvOTA2XSAqIHN5cy9nbHNpbmsvQVJCX211bHRpdGV4dHVyZS5oOiAgUmVtb3ZlIG9sZCBmaWxlcy4gKiBzeXMvZ2xzaW5rL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6ICogc3lzL2dsc2luay9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDogKiBzeXMvZ2xzaW5rL2dzdGdsX252aW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsX3BkcmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbF9yZ2JpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmM6ICogc3lzL2dsc2luay9nc3RnbHNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdseHdpbmRvdy5jOiAqIHN5cy9nbHNpbmsvcmVnY29tYl95dXZyZ2IuYzoKCjIwMDQtMDgtMDkgMjA6MTQ6NTEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkgIFswMTEvOTA2XSBQYXRjaCBmcm9tIEdlcm5vdCBaaWVnbGVyIDxnekBseXNhdG9yLmxpdS5zZT4gcmV3cml0aW5nIHRoZSBHTCBzaW5rIHBsdWdpbi4gIChCdWcgIzE0NzMwMikgKiBjb25maWd1cmUuYWM6IFRlc3QgZm9yIE9wZW5HTCAqIHN5cy9NYWtlZmlsZS5hbTogVXNlIHRlc3QgZm9yIE9wZW5HTCAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiByZXdyaXRlICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiByZXdyaXRlCgoyMDA0LTAzLTE1IDE5OjMyOjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAxMC85MDZdIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTMgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJICBbMDA5LzkwNl0gICAgICAgICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwOC85MDZdIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDQ6MTU6NDcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwNy85MDZdICogZXh0L2ZmbXBlZy9nc3RmZm1wZWcuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2VuYy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ3Byb3RvY29sLmM6ICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOiAgKiBleHQvanBlZy9nc3RqcGVnLmM6ICAqIGV4dC9saWJwbmcvZ3N0cG5nLmM6ICAqIGV4dC9tcGVnMmRlYy9wZXJmdGVzdC5jOiAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogICogZ3N0LWxpYnMvZ3N0L3Jlc2FtcGxlL2R0b3MuYzogICogZ3N0L2ludGZsb2F0L2dzdGludGZsb2F0Y29udmVydC5jOiAgKiBnc3Qvb25ldG9uL2dzdG9uZXRvbi5jOiAgKiBnc3QvcnRqcGVnL1JUanBlZy5jOiAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAgKiBzeXMvZHhyMy9keHIzaW5pdC5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsX252aW1hZ2UuYzogICogc3lzL2dsc2luay9nc3RnbF9wZHJpbWFnZS5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5jOiAgKiB0ZXN0c3VpdGUvZ3N0LWxpbnQ6ICBNYWtlIHN1cmUgZXZlcnlib2R5IHdyYXBzICNpbmNsdWRlICJjb25maWcuaCIgaW4gI2lmZGVmIEhBVkVfQ09ORklHX0gKCjIwMDMtMTItMjIgMDE6NDc6MDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA2LzkwNl0gTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMDQgMTA6Mzc6MzYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwNS85MDZdIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTA3IDEyOjQ2OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwNC85MDZdIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDYgMDA6Mjc6MDMgKzAwMDAgIG1hZG1hYyA8bWFkbWFjPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDAzLzkwNl0gdXBkYXRlcyB0byBnbHNpbmsKCjIwMDMtMTAtMzEgMTY6NDA6MjAgKzAwMDAgIG1hZG1hYyA8bWFkbWFjPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwMi85MDZdIGdsc2luayB3aXRoIGNvcnJlY3QgdGhyZWFkaW5nIHN1cHBvcnQKCjIwMDMtMTAtMjggMTg6NTQ6MjAgKzAwMDAgIG1hZG1hYyA8bWFkbWFjPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDAxLzkwNl0gd2VsY29tZSB0byBnbHNpbmsgZm9yIDAuNy54IDopCgoyMDE0LTAzLTE0IDE4OjIzOjUxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDQxCgoyMDE0LTAzLTE1IDE1OjE3OjQzICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhCgkgIFRoaXMgZWxlbWVudCBvbmx5IG5lZWQgc3RyaWRlIHN1cHBvcnQsIGJ1dCBjaGVja3MgZm9yIENST1BfTUVUQSwgd2hpY2gKCSAgaXMgYSBiaXQgdG9vIG11Y2gsIGV2ZW4gdGhvdWdoIHRoaXMgd29ya3MgYXMgQ1JPUCBpbXBseSBoYXZpbmcgVklERU8KCSAgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjI1NQoKMjAxNC0wMy0wNCAxMzoxOTo1NSArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogbXBlZ3RzOiBjaGFuZ2UgYmFuZHdpZHRoIHRvIERWQnY1IHZhbHVlcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQ2MwoKMjAxMy0xMC0zMSAxNDoyNzoxMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBBZGQgdGFibGVfaWRfbmFtZSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjgyCgoyMDEzLTExLTE5IDExOjM2OjE0ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IEFkZCBEVkIgdGVsZXRleHQvc3VidGl0bGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjgyCgoyMDE0LTAzLTAzIDEzOjA3OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU3VwcG9ydCBCbHVyYXkgRFRTL0RUUy1IRCBhbmQgQUMzKy9UcnVlSEQgc3RyZWFtcwoJICBBcGFydCBmcm9tIGp1c3QgYWRkaW5nIGRldGVjdGlvbiBvZiB0aGUgcHJvcGVyIHN0cmVhbSB0eXBlLCB3ZSBhbHNvIG5lZWQgdG8gb25seQoJICBvdXRwdXQgdGhlIGZpcnN0IHN1YnN0cmVhbSAoMHg3MSkgd2hpY2ggY29udGFpbnMgdGhlIGNvcmUgc3Vic3RyZWFtLgoJICBXaGlsZSB0aGlzIGRvZXMgbm90IHByb3ZpZGUgKmZ1bGwqIERUUy1IRCBzdXBwb3J0IChzaW5jZSBpdCB3aWxsIG1pc3MgdGhlIGNvbXBsZW1lbnRhcnkKCSAgc3Vic3RyZWFtcyksIGl0IHdpbGwgc3RpbGwgd29yayBpbiB0aGUgd2F5IGxlZ2FjeSAobm9uLURUUy1IRCkgYmx1cmF5IHBsYXllcnMgd291bGQgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTU2MwoKMjAxNC0wMy0xMyAxNDo0MTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHN0cmluZyBvcmRlciBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTQtMDMtMDkgMTg6NDE6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFsd2F5cyBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgZG93bmxvYWQgcmF0ZQoJICBBbHNvIHRha2UgaW50byBhY2NvdW50IHRoZSBsYXN0IGRvd25sb2FkIHJhdGUgd2hlbgoJICBjYWxjdWxhdGluZyBpdC4KCjIwMTQtMDMtMTEgMTA6MzI6NDYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmNlbmM6IEFsbG93IHVzZXIgdG8gc2V0IGNoYW5uZWwtbW9kZQoJICBEb24ndCByZXR1cm4gZXJyb3Igd2hlbiBjaGFubmVsLW1vZGUgaXMgYWxyZWFkeSBzZXQsIGp1c3QgY2hlY2sgdGhhdCBpdAoJICBpcyBjb2hlcmVudCB3aXRoIG51bWJlciBvZiBjaGFubmVscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjA5OAoKMjAxNC0wMy0xMCAxMToxOTo0NiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRGlmZmVyZW50aWF0ZSB0aGUgbXBlZy0yIHN0cmVhbSBmcm9tIG1wZWctMSBiYXNlZCBvbiBwaWNfZXh0CgkgIFByZXNlbmNlIG9mIHBpY3R1cmUgZXh0ZW5zaW9uIGhlYWRlciBpZGVudGlmaWVzIHRoZSBzdHJlYW0gYXMgbXBlZzIuCgkgIFdlIGFyZSBzdXBwb3NlZCB0byBzZXQgdGhlIG1wZWd2ZXJzaW9uIHRvIDIgaWYgdGhlcmUgaXMgYSBwaWNleHRlbnNpb24KCSAgaW5zdGVhZCBvZiBibGluZGx5IHNldHRpbmcgdGhlIHZlcnNpb24gdG8gMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDI4CgoyMDE0LTAzLTExIDIyOjM2OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBzZXQgYSBncm91cC1pZCBvbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIFNldCBhIGRlZmF1bHQgZ3JvdXAtaWQgdG8gZml4IGEgd2FybmluZyBwcmludGVkIGJ5IHRoZSBzaW5rLgoKMjAxNC0wMy0xMCAyMjo0ODowNCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHJmaWx0ZXI6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiBvbiBzaW5rIGNhcHMgY2hhbmdlcy4KCSAgV2hlbiB0aGUgaW5wdXQgc2l6ZSBjaGFuZ2VkLCB0aGUgZnJlaTByIGZpbHRlcnMgZGlkbid0IHRha2UKCSAgaXQgaW50byBhY2NvdW50IGFuZCBlbmRlZCB1cCBjb3JydXB0aW5nIG1lbW9yeS4KCSAgRml4ZXMgIzcyNjA2OQoKMjAxNC0wMy0xMSAxNTozMDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNC0wMy0xMSAxNDo0NzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGF0ZGVjOiBJbXBsZW1lbnQgZHJhaW5pbmcgcHJvcGVybHkKCjIwMTQtMDMtMTEgMTQ6Mzc6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogRmlyc3QgZGVxdWV1ZSBhIGJ1ZmZlciBiZWZvcmUgZW5xdWV1ZWluZyBhbnl0aGluZyBmcm9tIHRoZSBxdWV1ZQoJICBSZXF1aXJlZCBmb3Igb2ZmbGluZSByZW5kZXJpbmcgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLiB3dGYuCgoyMDE0LTAzLTExIDE0OjMyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgSXQncyByZXF1aXJlZCB0byBzZXQgYSB2YWxpZCBzYW1wbGUgdGltZSBmb3IgZGVjb2Rpbmcgb24gaU9TLgoKMjAxNC0wMy0xMSAxNDoyNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGF0ZGVjOiBBbHdheXMgdHJ5IHRvIHB1bGwgb25lIGRlY29kZWQgZnJhbWUgb3V0IG9mIHRoZSBxdWV1ZQoJICAuLi4gaW5zdGVhZCBvZiBkb2luZyBtYWdpYyBjYWxjdWxhdGlvbnMgd2l0aCB0aGUgYnVmZmVyIGR1cmF0aW9uLgoKMjAxNC0wMy0xMSAxNDoyMjo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBIYW5kbGUgZXJyb3JzIGluIGhhbmRsZV9mcmFtZSgpIHByb3Blcmx5CgoyMDE0LTAzLTExIDE0OjE0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IENhbGwgQXVkaW9RdWV1ZVJlc2V0KCkgZm9yIGZsdXNoaW5nCgkgIEF1ZGlvUXVldWVGbHVzaCgpIGlzIGZvciBkcmFpbmluZyBhbGwgcmVtYWluaW5nIGRhdGEuCgoyMDE0LTAzLTExIDExOjE4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJICBhdGRlYzogU2V0IGNvcnJlY3QgbnVtYmVyIG9mIGZyYW1lcyBmb3IgTVAzCgoyMDE0LTAzLTExIDExOjE4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEluaXRpYWxpemUgdGhlIGF1ZGlvIGRlc2NyaXB0aW9uIHdpdGggemVyb2VzCgoyMDE0LTAzLTExIDExOjE0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IFNldCB0aGUgY29ycmVjdCBsYXllciBkZXBlbmRpbmcgb24gdGhlIE1QMyBjYXBzCgoyMDE0LTAzLTExIDEwOjI2OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB2aWRlb3NpZ25hbCB3YXMgcG9ydGVkIGFsbW9zdCBhIHllYXIgYWdvCgoyMDE0LTAzLTA5IDE5OjM4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggY29tcGFyaXNvbiBpbiBiaXRyYXRlIHNlbGVjdGlvbgoKMjAxNC0wMy0wNyAxMjoxMTo1OSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogc2V0IHByb3h5IGFsbG9jYXRpb24gZmxhZyBvbiB0aGUgdmlkZW8gc2luayBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTg5MwoKMjAxNC0wMy0wNyAxNjoyMjo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBtM3U4OiBGaXggb2ZmLWJ5LW9uZSBpbiB0aGUgZG93bmxvYWQgcmFuZ2UgZW5kCgoyMDE0LTAzLTA3IDE2OjIyOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZDogSGFuZGxlIG5vIGJ1ZmZlcnMgYmVmb3JlIEVPUyBhcyBlcnJvciBpbnN0ZWFkIG9mIGNyYXNoaW5nCgoyMDE0LTAzLTA2IDIzOjE0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcHJvcGVyIHNlZ21lbnQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg0NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjY4CgoyMDE0LTAzLTA1IDEwOjQ3OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgaGFuZGxpbmcgb2YgYnl0ZSByYW5nZXMKCjIwMTQtMDItMjcgMTA6NTQ6MTAgKzAxMDAgIFphbGxlc292IDx6YWxsZXNvdkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggc2Vla2luZyBmdXJ0aGVyIHRoYW4gdHJhY2sgZHVyYXRpb24KCSAgRG9uJ3QgZmFpbCB0aGUgc2VlayBidXQgaW5zdGVhZCBzZW5kIGFuIEVPUyBldmVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxNC0wMy0wNSAxNjowMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN3aXRjaCBwbGF5bGlzdHMgYWZ0ZXIgcHVzaGluZyB0aGUgZnJhZ21lbnQKCSAgTWFrZXMgc3VyZSB3ZSBwcm9wZXJseSBzZXQgdGhlIGRpc2NvbnQgZmxhZyBmb3IgdGhlIG5leHQgYnVmZmVyLAoJICBub3QgdGhlIGN1cnJlbnQgb25lLgoKMjAxNC0wMS0xMCAxNzozODowOSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogaGFuZGxlIHZpZGVvL3gtcmF3KEFOWSkgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxOTUwCgoyMDE0LTAzLTA0IDE3OjI1OjIzICswMjAwICBBbmRyZXMgR29tZXogPGFnb21lekBpZ2FsaWEuY29tPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0OiAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IGRlZmF1bHRzIHRvIFRSVUUKCSAgQXMgcGVyIGRpc2N1c3NlZCBpbiBidWcgIzcyNTM4MywgaXQgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgdG8gZGVmYXVsdAoJICB0byBGQUxTRSBpbiB0aGUgImlyYWRpby1tb2RlIiBwcm9wZXJ0eS4gQmV0dGVyLCBsZXQncyBzZW50IHRoZSBoZWFkZXIKCSAgYnkgZGVmYXVsdCBhbmQganVzdCBpZ25vcmUgaGVhZGVycyB0aGF0IGFyZSBub3QgdW5kZXJzdG9vZCwgaWYgc28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2NTkKCjIwMTQtMDMtMDUgMDA6NTE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICB0ZXN0czogZml4IG1wZzEyM2F1ZGlvZGVjIHRlc3QgZm9yIGJpZy1lbmRpYW4gYXJjaGl0ZWN0dXJlcwoKMjAxNC0wMy0wNSAxMToyMDoyNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBpbmNyZWFzZSBmcmFtZXJhdGUgdG8gbWF4aW50CgoyMDE0LTAzLTA1IDEwOjU0OjQ3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGluY3JlYXNlIG1heGltdW0gZnJhbWVyYXRlCgoyMDE0LTAzLTAyIDA1OjI1OjQ4ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZ2NvdiBpbnRlcm1lZGlhdGUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQ4MQoKMjAxNC0wMy0wMSAxNzoxMzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcHJvcGVyIGhhbmRsaW5nIG9mIGRpc2NvbnRpbnVpdGllcwoJICBJdCdzIG5vdCByZWFsbHkgY29ycmVjdCB5ZXQgZm9yIHNlZWtzIGJ1dCBiZXR0ZXIgdGhhbiB3aGF0CgkgIHdlIGhhZCBiZWZvcmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODQ2CgoyMDE0LTAyLTI4IDExOjE2OjI3IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogdW5yZWYgY2FwcyBhZnRlciBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0MTIKCjIwMTQtMDItMjUgMTE6NDU6NDYgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU2VnZmF1bHRzIGlmIHBsYXlsaXN0IGhhcyBubyBtZWRpYSBmaWxlcwoJICBobHNkZW11eCBjYXVzZXMgYSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgaWYgdGhlIG1lZGlhIHBsYXlsaXN0CgkgIGRvZXMgbm90IGNvbnRhaW4gYW55IG1lZGlhIGZpbGVzLiBUaGUgZ3N0X20zdThfY2xpZW50X2dldF9kdXJhdGlvbgoJICBmdW5jdGlvbiBhc3N1bWVzIHRoYXQgZGVtdXgtPmNsaWVudC0+Y3VycmVudC0+ZmlsZXMgaXMgdmFsaWQgd2hlbgoJICBjb21wdXRpbmcgZHVyYXRpb24uCgkgIGdzdF9tM3U4X2NsaWVudF91cGRhdGUgbmVlZGVkIHRvIGJlIG1vZGlmaWVkIHRvIGNoZWNrIGZvciB0aGUKCSAgY2FzZSBvZiBkb3dubG9hZGluZyBhbiBNM1U4IGZpbGUgdGhhdCBkb2Vzbid0IGNvbnRhaW4gYW55IG1lZGlhCgkgIGZpbGVzLCBhbmQgcmV0dXJuaW5nIGFuIGVycm9yIHRvIGdzdGhsc2RlbXV4LmMKCSAgVGhpcyBidWcgY2FuIGJlIHJlcHJvZHVjZWQgYnkgY3JlYXRpbmcgYSBtYXN0ZXIgbTN1OCBmaWxlIHRoYXQKCSAgY29udGFpbnMgb25lIG1lZGlhIHBsYXlsaXN0IHRoYXQgcG9pbnRzIGJhY2sgdG8gdGhlIG1hc3RlciBtM3U4CgkgIGZpbGUuICBGb3IgZXhhbXBsZSBjcmVhdGUgYSBmaWxlIGNhbGxlZCBidWc3MjUxMzQubTN1ODoKCSAgI0VYVE0zVQoJICAjRVhULVgtVkVSU0lPTjo0CgkgICNFWFQtWC1TVFJFQU0tSU5GOlBST0dSQU0tSUQ9MSwgQkFORFdJRFRIPTEyNTExMzUsIENPREVDUz0iYXZjMS40MjAwMWYgbXA0YS40MC4yIiwgUkVTT0xVVElPTj02NDB4MzUyCgkgIGJ1ZzcyNTEzNC5tM3U4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMzQKCjIwMTQtMDItMjggMDk6MzQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlMTY3MmUgdG8gYmNiMTUxOAoKMjAxNC0wMi0yNyAyMjoyODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRG9uJ3Qgd3JpdGUgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgcHNtIGFycmF5IHdoZW4gaW5pdGlhbGlzaW5nIGl0CgoyMDE0LTAyLTI3IDIxOjQ1OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSAgb3BlbmFsc3JjOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI3IDIxOjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI3IDE1OjQ5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW5pdCBhbmQgY2xlYXIgYSBtdXRleAoJICBHTGliIGluaXRpYWxpc2VzIGF1dG9tYXRpY2FsbHkgZm9yIHVzIGZvciBzb21lIHJlYXNvbi4uLiBidXQgb2YgY291cnNlCgkgIGRvZXMgbm90IGNsZWFyIHRoZSBtdXRleCBvbmNlIHRoZSBkZW11eGVyIGlzIGRlc3Ryb3llZC4KCjIwMTQtMDItMjcgMTU6NDE6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVbnJlZiBzZWVrIGV2ZW50cyBiZWZvcmUgcmV0dXJuaW5nIGZyb20gdGhlIHNlZWsgaGFuZGxlcgoJICBPdGhlcndpc2Ugd2UgbGVhayB0aGVtIGFsbC4KCjIwMTQtMDItMjcgMTI6MDI6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCBkZWJ1ZyBvdXRwdXQgdG8gZGVzY3JpYmUgdGhlIG5ldyByZWFsaXR5CgoyMDE0LTAyLTI3IDExOjUzOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBXYXJuaW5nIG1lc3NhZ2VzIGFyZSBub3QgZmF0YWwKCSAgQWxzbyB0aGV5IG5lZWQgdG8gYmUgcGFyc2VkIHdpdGggZ3N0X21lc3NhZ2VfcGFyc2Vfd2FybmluZygpLAoJICBnc3RfbWVzc2FnZV9wYXJzZV9lcnJvcigpIGRvZXMgbm90IHdvcmsgb24gdGhlbS4KCjIwMTQtMDItMjYgMjI6MjY6NDggKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgZG9jczogbXBlZ3RzOiBhZGQgbWlzc2VkIGRvY3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNzgKCjIwMTQtMDItMjYgMjE6MDg6MjMgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIGRvY3M6IGR2YnNyYzogYWRkIG1pc3NlZCBhcmdzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1Mjc4CgoyMDE0LTAyLTI2IDIyOjEyOjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxYTA3ZGE5IHRvIGZlMTY3MmUKCjIwMTQtMDItMjYgMTk6MTg6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgc3RyYXkgKCBpbiBNYWtlZmlsZS5hbQoKMjAxNC0wMi0yNCAyMjo1MzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZvcndhcmQgdGFncyB0aGF0IGhhdmUgZ2xvYmFsIHNjb3BlCgkgIEluc3RlYWQgb2YgZHJvcHBpbmcgYWxsIHRhZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDM5NQoKMjAxNC0wMi0yNCAyMjo0Mzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBzdG9yZSBnbG9iYWwgdGFncyB0byBwdXNoIGxhdGVyCgkgIEtlZXAgYSBsaXN0IG9mIGN1cnJlbnQgZ2xvYmFsIHRhZ3MgYXJvdW5kIGFuZCBwdXNoIHRoZW0KCSAgd2hlbmV2ZXIgYSBuZXcgc3RyZWFtIGlzIHN0YXJ0ZWQuIEFsc28gY29udmVydCBhbGwgc3RyZWFtCgkgIHNwZWNpZmljIHRhZ3MgdG8gZ2xvYmFsIGFzIHRoZXkgYXJlIHN0cmVhbSBzcGVjaWZpYyBmb3IKCSAgdGhlIGNvbnRhaW5lciwgc28gdGhleSBhcmUgZ2xvYmFsIGZvciB0aGUgc3RyZWFtcyBmcm9tCgkgIHdpdGhpbiB0aGF0IGNvbnRhaW5lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDM5NQoKMjAxNC0wMi0yNiAxMTozMjowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGluc3RhbGwgcHJlYnVpbHQgcGx1Z2luIGRvY3MgaWYgZ3RrLWRvYyBpcyBkaXNhYmxlZAoJICBTeW5jIHRvIHRoZSBNYWtlZmlsZS5hbSBmcm9tIGdzdC1wbHVnaW4tYmFzZSB3aGVyZSBpdCBpcyBkb25lIHJpZ2h0LgoJICBGaXhlcyAjNzI1MDM0CgoyMDE0LTAyLTIxIDA5OjM2OjUxICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBwYXJzaW5nIG9mIENPREVDUyBhbmQgUkVTT0xVVElPTgoJICBobHNkZW11eCBkb2VzIG5vdCBjaGVjayBmb3IgdGhlICciJyBjaGFyYWN0ZXIgaW4gI0VYVC1YLVNUUkVBTS1JTkYKCSAgYXR0cmlidXRlcy4gVGhlIENPREVDUyBwYXJhbWV0ZXIgaXMgYW4gZXhhbXBsZSBvZiBhbiBhdHRyaWJ1dGUKCSAgdGhhdCBtaWdodCB1c2UgdGhlICciJyBzeW1ib2wgYW5kIG1pZ2h0IGNvbnRhaW4gYSAnLCcgY2hhcmFjdGVyCgkgIGluc2lkZSB0aGlzIHF1b3RlZCBzdHJpbmcuCgkgIEZvciBleGFtcGxlOiBDT0RFQ1M9ImF2YzEuNzcuMzAsIG1wNGEuNDAuMiIKCSAgaGxzZGVtdXggZG9lcyBub3QgY29ycmVjdGx5IHBhcnNlIHRoZSBSRVNPTFVUSU9OIGF0dHJpYnV0ZSwgaXQKCSAgYXNzdW1lcyB0aGF0IGFuICc9JyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBkZWxpbmVhdGUgdGhlIHdpZHRoCgkgIGFuZCBoZWlnaHQgdmFsdWVzLCBidXQgdGhlIEhMUyBSRkMgc3RhdGVzIHRoYXQgYSAneCcgY2hhcmFjdGVyCgkgIG11c3QgYmUgdXNlZCBhcyB0aGUgZGVsaW1pdGVyIGJldHdlZW4gd2lkdGggYW5kIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE0MAoKMjAxNC0wMi0yMSAwOTozMDo0OSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggZm9yIFVSTHMgdGhhdCBjb250YWluIGEgJy8nIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIKCSAgSWYgdGhlIFVSTCBmb3IgdGhlIG1hc3RlciBtYW5pZmVzdCBmaWxlcyBjb250YWlucyBhICcvJyBjaGFyYWN0ZXIKCSAgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlciAoZm9yIGV4YW1wbGUKCSAgaHR0cDovL2V4YW1wbGUubmV0LzEwNTQ1NTlfaDI2NF8xNTAway5tcDQvbWFzdGVyLm0zdTg/YWNsPS8qMTA1NDU1OV9oMjY0XzE1MDBrLm1wNCksCgkgIGhsc2RlbXV4IGlzIGluY29ycmVjdGx5IGNvbnZlcnRpbmcgdGhlIHJlbGF0aXZlIFVSTHMgb2YgdGhlIG1lZGlhCgkgIHBsYXlsaXN0cyBpbiB0byBhYnNvbHV0ZSBVUkxzLiBJdCBpcyBpbmNvcnJlY3RseSB1c2luZyB0aGUgbGFzdCAnLycgaXQKCSAgZmluZHMgaW4gdGhlIFVSTC4gQWNjb3JkaW5nIHRvIFJGQzM5ODYgdGhlICcvJyBjaGFyYWN0ZXIgaXMgYWxsb3dlZCBpbgoJICB0aGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTM3CgoyMDEzLTEyLTAyIDEwOjAxOjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbGdsZXNzaW5rOiBtb3ZlIEdzdEVHTEltYWdlQnVmZmVyUG9vbCB0byBnc3RlZ2wgbGliCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwNTQKCjIwMTQtMDItMjUgMTI6MTc6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0OiBtcGVndHM6IEFkZCBjaGVjayBmb3IgU0RUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDY6MzEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBjb25zdHJ1Y3RvciBmb3IgZHZiIHNlcnZpY2UgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTI1IDEwOjI4OjM4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbXBlZ3RzOiBBZGQgbmV3IFNEVCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0Nzo1NyArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW9uIG9mIFNEVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQxOjIyICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgdHJhbnNwb3J0X3N0cmVhbV9pZCB0byBHc3RNcGVnVHNTRFQKCSAgVGhlIHRyYW5zcG9ydF9zdHJlYW1faWQgaXMgY29udGFpbmVkIGluIHRoZSBzdWJ0YWJsZSBleHRlbnNpb24uCgkgIEludHJvZHVjZSBhIHZhcmlhYmxlIGZvciByZWFkYWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yNSAxMToyOTowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBJbml0aWFsaXplIFBTTSBmdWxseQoJICBTb21lIGdhcHMgd2VyZSBtaXNzZWQgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24uIEluc3RlYWQganVzdCBpbml0aWFsaXplCgkgIHRoZSB3aG9sZSB0YWJsZSB0byAtMSBmaXJzdCBhbmQgdGhlbiBmaWxsIHdoYXQgbmVlZHMgdG8gYmUgc3BlY2lmaWVkLgoKMjAxNC0wMi0yNCAxNTo1Mjo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGRlc2NyaXB0b3IgY2hlY2tzCgkgIE9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIG9uIHByb3ZpZGVkIGRpcmVjdCBhcmd1bWVudHMuIFRoZSBvdGhlcnMgZ2V0CgkgIGNoZWNrZWQgYWxsIHRoZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NDY0CgoyMDE0LTAyLTI0IDE0OjU2OjAzIC0wNTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBjaXRhLnV0b3JvbnRvLmNhPgoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJICBkZWJ1Z3V0aWxzYmFkLmMgZmFpbHMgZ3N0LWluZGVudCBjaGVjawoJICB0aGlzIHBhdGNoIGlzICJnc3QtaW5kZW50IGRlYnVndXRpbHNiYWQuYyIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA5MAoKMjAxNC0wMi0yMiAxODoyMjoyNiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogbmV0d29ya19uYW1lOiBDaGVjayBjb252ZXJ0ZWQgbGVuZ3RoCgkgIENoZWNrIHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgYXJndW1lbnQgYWZ0ZXIgaXQgaGFzIGJlZW4gY29udmVydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzOTUzCgoyMDE0LTAyLTA4IDIyOjQ3OjIwICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBtcGVndHMgbGlicmFyeQoJICBUZXN0cyBmb3IgUEFULCBQTVQsIGFuZCBOSVQKCSAgQ3JlYXRlcyBhIG5ldyB0YWJsZSwgYW5kIHBvcHVsYXRlcyBpdCB3aXRoIGRlc2NyaXB0b3JzLgoJICBQYXJzZXMgdGhlIG5ld2x5IGNyZWF0ZWQgdGFibGVzLCBhbmQgY2hlY2tzIHRoZSBkYXRhLgoJICBDcmVhdGVzIGEgR3N0TXBlZ1RzU2VjdGlvbiBmcm9tIHRoZSB0YWJsZXMsIGFuZCBwYWNrZXRpemUgdGhlIHNlY3Rpb25zLgoJICBUaGUgcGFja2V0aXplZCBzZWN0aW9uIGRhdGEgaXMgYnl0ZS13aXNlIGNvbXBhcmVkIHRvIGEgc3RhdGljIGJ5dGUgYXJyYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzk1MwoKMjAxNC0wMi0yNCAxMTowNjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmFiaW4yLXRlc3Q6IG5ldyAxLnggcmF3IGNhcHMgZm9ybWF0CgkgIFJlbW92ZSAteXV2IGFuZCAtcmdiIGZyb20gdmlkZW8veC1yYXcgYXMgdGhvc2UgYXJlIGZyb20gdGhlCgkgIG9sZCAwLjEwIHZlcnNpb24KCjIwMTQtMDItMjMgMTU6MTg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEtlZXAgdHJhY2sgb2YgdGltZXN0YW1wcyBieSBhZGRpbmcgdGhlbSB1cCBkdXJpbmcgcGxheWJhY2sKCSAgLi4uaW5zdGVhZCBvZiBhZGRpbmcgdGhlbSBmcm9tIHRoZSBzdGFydCBvZiBwbGF5bGlzdCBldmVyeSB0aW1lLiBUaGlzCgkgIGFtb25nIG90aGVyIHRoaW5ncyBmaXhlcyB0aW1lc3RhbXBzIGZvciBsaXZlIHN0cmVhbXMsIHdoZXJlIHRoZSBwbGF5bGlzdAoJICBpcyBzb21lIGtpbmQgb2YgcmluZ2J1ZmZlciBvZiBmcmFnbWVudHMgYW5kIHRodXMgYWRkaW5nIGZyb20gdGhlIGJlZ2lubmluZwoJICBvZiB0aGUgcGxheWxpc3Qgd2lsbCBtaXNzIHRoZSBwYXN0IGZyYWdtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MwoKMjAxNC0wMi0yMyAxMTowMTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERlcHJlY2F0ZSBmcmFnbWVudHMtY2FjaGUgcHJvcGVydHkKCSAgVGhlIGJ1ZmZlcmluZy9jYWNoaW5nIGlzIGhhbmRsaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50IG5vdyBhbmQKCSAgb3V0c2lkZSBvZiBobHNkZW11eC4KCjIwMTQtMDItMTggMTk6MTY6MzUgLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGVkZWM6IE1lcmdlIG5ldyB0YWdzIHdpdGggZXhpc3RpbmcgdGFncyB0byBwcmV2ZW50IG92ZXJ3cml0aW5nIGRlbXV4ZXIgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0Njk5CgoyMDE0LTAyLTIwIDE1OjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBleHQ6IFVzZSBDb2RlYy9EZW11eGVyL0FkYXB0aXZlIGZvciB0aGUgYWRhcHRpdmUgc3RyZWFtaW5nIGRlbXV4ZXJzCgoyMDE0LTAyLTE3IDA5OjE5OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFJlZmFjdG9yIHRocmVhZGluZyBhbmQgZG93bmxvYWRpbmcKCSAgV2Ugbm93IGRvd25sb2FkIGZyYWdtZW50cyBhcyBmYXN0IGFzIHBvc3NpYmxlIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbQoJICB3aGlsZSBhbm90aGVyIHRocmVhZCBpcyBqdXN0IHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyBsaXZlIHBsYXlsaXN0cwoJICBldmVyeSBub3cgYW5kIHRoZW4uCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdCBhbmQgdG9nZXRoZXIgd2l0aCB0aGUgbmV3IGJ1ZmZlcmluZwoJICBtb2RlIGZvciBhZGFwdGl2ZSBzdHJlYW1zIGluIG11bHRpcXVldWUgbWFrZXMgc3RyZWFtcyBzdGFydCBtdWNoIGZhc3Rlci4KCSAgQWxzbyBzaW1wbGlmeSB0aHJlYWRpbmcgYSBiaXQgYW5kIGhvcGVmdWxseSBtYWtlIHRoZSBHc3RUYXNrIHVzYWdlIHNhZmVyLgoKMjAxNC0wMi0xOSAwOTozNTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc3dpdGNoIHBhZHMgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nCgoyMDE0LTAyLTIxIDEyOjMzOjQyICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBlbnN1cmUgc2VnbWVudHMgYXJlbid0IGZldGNoZWQgYmVmb3JlIHRoZXkncmUgYXZhaWxhYmxlCgkgIEluY29ycmVjdCB0aW1lIHNjYWxpbmcgaW4gZ3N0X2Rhc2hfZGVtdXhfd2FpdF9mb3JfZnJhZ21lbnRfdG9fYmVfYXZhaWxhYmxlKCkKCSAgbWVhbnMgdGhhdCBtZWRpYSBzZWdtZW50cyBhcmUgZmV0Y2hlZCBiZWZvcmUgdGhlaXIgYXZhaWxhYmxpdHkgdGltZS4gVGhpcwoJICBwYXRjaCBmaXhlcyB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODc1CgoyMDE0LTAyLTIxIDE0OjA2OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFVuY29tbWVudCBQQVQgY2xlYXJ1cCBpbiBfcmVzZXQKCSAgVGhlIFBBVCBpcyByZWxhdGVkIHRvIHRoZSBzdHJlYW0sIHdlIHRoZXJlZm9yZSB3YW50IGl0IGNsZWFyZWQgYWxvbmcKCSAgd2l0aCBhbnl0aGluZyBzdHJlYW0gcmVsYXRlZC4KCSAgVGhpcyBjb21tZW50ZWQgc2VjdGlvbiB3YXMgZnJvbSB0aGUgKG9sZCkgbXBlZ3RzcGFyc2UgYW5kICptaWdodCogaGF2ZQoJICBiZWVuIHJlbGF0ZWQgdG8gc3BlZWRpbmcgdXAgRFZCIHN0YXJ0LXVwLiBCdXQgd2UgaGF2ZSBhbm90aGVyIHBsYW4gZm9yIHRoYXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTYKCjIwMTQtMDItMTggMTA6MTk6NTIgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGluaXRpYWxpc2UgZGVtdXgtPmxhc3RfbWFuaWZlc3RfdXBkYXRlCgkgIGRlbXV4LT5sYXN0X21hbmlmZXN0X3VwZGF0ZSBpcyBub3QgaW5pdGlhbGlzZWQgYXQgc3RhcnR1cCwgd2l0aCB0aGUKCSAgZWZmZWN0IHRoYXQgbGl2ZSBtYW5pZmVzdHMgYXJlIHJlbG9hZGVkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkb3dubG9hZAoJICBsb29wIGJlZ2lucy4gVGhpcyBwYXRjaCBmaXhlcyB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzkwCgoyMDEzLTEyLTI5IDE2OjAwOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB0c190b19vZmZzZXQgYmV5b25kIGxhc3Qgb2JzZXJ2ZWQgUENSCgkgIFRoZSByZXF1ZXN0ZWQgVFMgbWlnaHQgYmUgYmV5b25kIHRoZSBsYXN0IG9ic2VydmVkIFBDUi4gSW4gb3JkZXIgdG8gY2FsY3VsYXRlCgkgIGEgY29oZXJlbnQgb2Zmc2V0LCB3ZSBuZWVkIHRvIHVzZSB0aGUgbGFzdCBhbmQgcHJldmlvdXMtdG8tbGFzdCBncm91cHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMzUKCjIwMTQtMDItMTIgMTg6MTU6NDQgLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIGdzdF9tcGVndHNfc2VjdGlvbl9nZXRfZGF0YSwgdG8gYWxsb3cgdXMgdG8gZ2V0IHRoZSBvcmlnaW5hbCBiaW5hcnkgc2VjdGlvbiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MjU1CgoyMDE0LTAyLTIwIDE5OjA4OjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHNpemUgZ3VhcmRzIGZvciBkZXNjcmlwdG9ycyB3aGVyZSBuZWVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0NjQKCjIwMTQtMDItMjAgMTg6MTQ6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZy10czogUmVuYW1lIHByaXZhdGUgZnVuY3Rpb24KCSAgQ2FsbGluZyBpdCBfZGVzY19jaGVja3Mgd2hlbiBpdCB3YXMgaW4gZmFjdCB1c2VkIGZvciBzZWN0aW9ucyB3YXMgYQoJICB0YWQgY29uZnVzaW5nIC4uLgoKMjAxNC0wMi0xNiAxMDo0NToyMSArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjb250ZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDAzNAoKMjAxNC0wMi0xNiAxMDo0NDo1NSArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTE2IDEwOjQzOjUyICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGV2ZW50IGRlc3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTEwIDIxOjUyOjI4ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIERWQiB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDY5CgoyMDE0LTAyLTE2IDEwOjA5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBSZW5hbWUgYWxsIHZhcmlhYmxlcyByZWxhdGVkIHRvIHRoZSB3aW5rcyBwbHVnaW4KCSAgSXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjYWxsIHRoZW0gYWZ0ZXIgZGlyZWN0c2hvdyBpZiB0aGV5CgkgIGFyZSBmb3IgdGhlIHdpbmtzIHBsdWdpbiBvbmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTAwCgoyMDEzLTA0LTA4IDE0OjA0OjEwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHVwZGF0ZSBpbnRlcnZhbCB3aXRoIHJlc3BlY3Qgb2YgdGhlIHNwZWMKCjIwMTQtMDItMTQgMTI6Mzk6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgYW1jYXVkaW9kZWM6IENhbGN1bGF0ZSBudW1iZXIgb2Ygc2FtcGxlcyBwZXIgZnJhbWUgZm9yIE1QMyBhbmQgdXNlIHRoYXQKCSAgU29tZSBhdWRpbyBkZWNvZGVycyAoYXQgbGVhc3QgdGhlIE1QMyBkZWNvZGVyIG9uIE1USyBiYXNlZCBkZXZpY2VzKSBvdXRwdXRzCgkgIHJhdyBhdWRpbyBpbiBiYXRjaGVzIG9mIG11bHRpcGxlIGF1ZGlvIGZyYW1lcy4gV2UgbmVlZCB0byBoYW5kbGUgdGhhdAoJICBwcm9wZXJseSwgb3RoZXJ3aXNlIHRoZSBiYXNlIGNsYXNzIHdpbGwgYmUga2luZCBvZiB1bmhhcHB5LgoKMjAxNC0wMi0xNCAxMjozMzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IEVycm9yIG91dCBpZiB3ZSBnZXQgYW4gaW52YWxpZCByYXcgYXVkaW8gYnVmZmVyIHNpemUKCjIwMTQtMDItMTQgMTI6MzI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBTdG9yZSByZXR1cm4gdmFsdWUgb2YgZ3N0X2NhcHNfbWVyZ2Vfc3RydWN0dXJlKCkKCSAgVGhlIGlucHV0cyBhcmUgYm90aCBpbnZhbGlkIGFmdGVyd2FyZHMuCgoyMDE0LTAyLTE0IDEyOjMxOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogUmVsZWFzZSBidWZmZXIgdG8gQW5kcm9pZCBpZiBhbGxvY2F0aW5nIG91dHB1dCBmYWlsZWQKCjIwMTQtMDItMTQgMTI6Mjg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBSZWxlYXNlIGJ1ZmZlciBiYWNrIHRvIEFuZHJvaWQgaWYgYWxsb2NhdGluZyBvdXRwdXQgZmFpbHMKCjIwMTQtMDItMTMgMTA6MjE6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEtlZXAgYWxpdmUgY29ubmVjdGlvbnMgaWYgdGhlIHNvdXJjZSBzdXBwb3J0cyB0aGF0CgoyMDE0LTAyLTEzIDEwOjA2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBSZS11c2Ugb2xkIHNvdXJjZSBlbGVtZW50IGlmIHBvc3NpYmxlCgkgIEFsbG93cyB0byBpbXBsZW1lbnQga2VlcC1hbGl2ZSBoYW5kbGluZyBpbiB0aGUgc291cmNlIGVsZW1lbnQuCgoyMDE0LTAyLTEyIDE4OjQ5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBJZ25vcmUgZW1wdHkgbGluZXMgaW4gdGhlIHBsYXlsaXN0CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQW5kb25pIE1vcmFsZXMuCgoyMDE0LTAyLTEyIDE4OjQ3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBNYWtlIHN1cmUgdG8gaWdub3JlIFxyIGluIGxpbmUgZW5kaW5ncyBpbiBldmVyeSBjYXNlCgoyMDE0LTAyLTEyIDE4OjI3OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBHaXZlIGEgcHJvcGVyIG5hbWUgdG8gdGhlIHNyY3BhZHMgYW5kIHJlbW92ZSBpdCB3aGVuIHJlc2V0dGluZyB0aGUgZWxlbWVudAoKMjAxNC0wMi0xMiAxODowNjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHBvdGVudGlhbCBkZWFkbG9jawoJICBUaGUgc3RyZWFtaW5nIHRocmVhZCBtaWdodCB1c2Ugb3VyIGxvY2ssIHNvIHNodXR0aW5nCgkgIGRvd24gdGhlIGVsZW1lbnQgd2hpbGUgaG9sZGluZyB0aGF0IGxvY2sgY2FsbHMgZm9yIHByb2JsZW1zLgoKMjAxNC0wMi0xMiAxNzo1OTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2h1dGRvd24gdGhlIHNvdXJjZSBlbGVtZW50IGJlZm9yZSB1bmxpbmtpbmcgaXQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCB3YXJuaW5ncyBhYm91dCBwdXNoaW5nIHRvIHVubGlua2VkIHBhZHMuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQW5kb25pIE1vcmFsZXMuCgoyMDE0LTAyLTEyIDE2OjQ2OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcCBsZWFraW5nIEdFcnJvcnMgaW4gc29tZSBlcnJvciBwYXRocwoKMjAxMi0wNS0xMSAxMzo1ODoyOCArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBwYXVzZSB0YXNrIHdoZW4gaXQgaXMgc3RvcHBlZAoJICBUaGlzIGZpeGVzIGEgcG90ZW50aWFsIGRlYWQtbG9jayBzaXR1YXRpb24gZnJvbSBHc3RUYXNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU4NjkKCjIwMTQtMDItMTIgMTY6MDE6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXYWl0IGZvciB0aGUgdXBkYXRlIHRhc2sgdG8gZmluaXNoIHdoZW4gc2h1dHRpbmcgZG93bgoKMjAxNC0wMi0xMiAxNTozMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByZXZlbnQgcm91bmRpbmcgZXJyb3JzIGR1ZSB0byBkaXZpc2lvbiBieSB1c2luZyBnc3RfdXRpbF91aW50NjRfc2NhbGUoKQoKMjAxMy0wNy0yNSAxOTozNjo0OCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHNjaGVkdWxlIG5leHQgdXBkYXRlIGJhc2VkIG9uIHRoZSBmcmFnbWVudCBkdXJhdGlvbgoKMjAxNC0wMi0xMiAxNToxNjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IGVycm9yIG91dCBpZiBjYXBzIGNhbid0IGJlIHR5cGVmaW5kIGluc3RlYWQgb2YgdXNpbmcgTlVMTCBjYXBzCgoyMDEzLTA3LTI5IDE4OjAwOjMxICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvZyBmcmFnbWVudCB0aW1lc3RhbXAKCjIwMTQtMDItMTIgMTQ6MTA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFVzZSBnX2FzY2lpX3hkaWdpdF92YWx1ZSgpIGluc3RlYWQgb2Ygb3VyIG93biB2ZXJzaW9uIG9mIGl0CgoyMDE0LTAyLTEyIDEzOjQwOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRXJyb3Igb3V0IGlmIHRoZSBrZXkgaXMgbm90IDE2IGJ5dGVzIGxhcmdlCgoyMDE0LTAyLTEyIDEzOjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG93bmxvYWQgcGxheWxpc3RzIHdpdGggY29tcHJlc3Npb24sIGtleXMgYW5kIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjExOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG93bmxvYWQgdGhlIG1hbmlmZXN0IHdpdGggY29tcHJlc3Npb24sIHRoZSBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzoxMDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IERvd25sb2FkIE1QRCB3aXRoIGNvbXByZXNzaW9uLCB0aGUgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MDg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgZG93bmxvYWRzCgkgIFZlcnkgdXNlZnVsIGZvciBwbGF5bGlzdHMsIGxlc3MgdXNlZnVsIGZvciBtZWRpYSBmaWxlcy4KCjIwMTQtMDItMTIgMTE6MjY6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgdGhlIGVsZW1lbnQgcHJpdmF0ZSBkYXRhIG9uIHRoZSBzcmNwYWRzCgkgIEl0J3Mgbm90IHVzZWQgYW55d2F5LgoKMjAxNC0wMi0xMiAxMToyNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVzZSBnc3RfcGFkX3VzZV9maXhlZF9jYXBzKCkgb24gdGhlIHNyY3BhZHMKCjIwMTQtMDItMTIgMTA6NTk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IENhY2hlIHRoZSBrZXkgZnJhZ21lbnQgaW5zdGVhZCBvZiBkb3dubG9hZGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluCgoyMDE0LTAyLTEyIDEwOjU4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGNsZWFudXAgd2hlbiBkZWNyeXB0aW9uIGZhaWxzCgkgIEZpcnN0IHVubWFwIGJ1ZmZlcnMsIHRoZW4gdW5yZWYgdGhlbS4gQW5kIGFsc28gdW5yZWYgdGhlCgkgIGtleSBmcmFnbWVudC4KCjIwMTQtMDItMTEgMTU6MjA6NTggKzAxMDAgIExpaHVhIExpdSA8bGlodWFsQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogSW5jbHVkZSB0aW1lem9uZSBpbmZvcm1hdGlvbiBpbiBtYWlsIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTI1CgoyMDE0LTAyLTExIDE4OjE1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCB0cnkgZGVjcnlwdGlvbiBpZiBhbiB1bnN1cHBvcnRlZCBtZXRob2QgaXMgZm91bmQKCjIwMTQtMDItMTEgMTg6MTU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IHBhcnNlIElWIGZyb20gdGhlIHBsYXlsaXN0CgkgIFdpdGhvdXQgdGhpcyBldmVyeSBmcmFnbWVudCdzIGZpcnN0IDE2IGJ5dGVzIHdpbGwgYmUgY29ycnVwdGVkCgkgIGlmIG5vdCB0aGUgZmFsbGJhY2sgSVYgaXMgdXNlZCBieSB0aGUgcGxheWxpc3QuCgoyMDE0LTAyLTExIDE1OjI2OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBSZXNldCBjYW5jZWxsZWQgc3RhdGUgYWZ0ZXIgZmV0Y2hpbmcgYW4gVVJJCgkgIE90aGVyd2lzZSBpdCB3aWxsIG5ldmVyIGV2ZXIgYmUgYWJsZSB0byBmZXRjaCBhbnl0aGluZyBhZnRlciBhbgoJICBlcnJvciB1bnRpbCB0aGUgdXNlciByZXNldHMgaXQgbWFudWFsbHkuCgoyMDE0LTAyLTExIDE0OjU3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvcGFnYXRlIGRvd25sb2FkIGVycm9ycyBwcm9wZXJseSBhbmQgcG9zdCBlcnJvciBtZXNzYWdlcyBpZiB0aGV5J3JlIGZhdGFsCgoyMDE0LTAyLTExIDE0OjE4OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0VXJpRG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wMi0xMSAxNDoxMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBQcm92aWRlIHNvbWUgbW9yZSBkZXRhaWxzIGFib3V0IGVycm9ycyBpZiBkb3dubG9hZGluZyBmYWlscwoKMjAxNC0wMi0xMSAwOToyMDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgd2lua3MgcGx1Z2luIGlzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MTAwCgoyMDE0LTAyLTEwIDE1OjM4OjA4IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IGNhbGwgY2xvc2UoKSBhZnRlciBzaHV0ZG93bigpCgkgIHNodXRkb3duKCkgZG9lc24ndCBjbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yIHNvIHdlIGxlYWsgc29ja2V0cyBpZiB3ZQoJICBkb24ndCBjYWxsIGNsb3NlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNzcKCjIwMTQtMDItMTAgMTQ6MzM6NDkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogdXNlIHNodXRkb3duKCkgaW5zdGVhZCBvZiBjbG9zZSgpCgkgIHdlIG1ha2Ugc3VyZSBib3RoIGVuZHMgZ2V0IG5vdGlmaWVkIHdoZW4gdGhlIHNvY2tldCBpcyBjbG9zZWQgYnkgdXNpbmcKCSAgc2h1dGRvd24oKSBpbnN0ZWFkIG9mIGNsb3NlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNzcKCjIwMTQtMDItMTAgMTg6Mjk6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdGFydCBkb3dubG9hZGluZyB0aGUgbmV4dCBmcmFnbWVudCBpbW1lZGlhdGVseSBhZnRlciBjYWNoaW5nIHRoZSBpbml0aWFsIGZyYWdtZW50cwoJICBBbmQgb25seSBhZnRlcndhcmRzIHdhaXQgdW50aWwgYSBmcmFnbWVudCB3YXMgcGxheWVkLiBPdGhlcndpc2Ugd2UncmUga2VlcGluZwoJICBvdXIgY2FjaGUgbW9zdCBvZiB0aGUgdGltZSBhdCAiZnJhZ21lbnRzLWNhY2hlIiBmcmFnbWVudHMgbWludXMgb25lLgoJICBBbHNvIGFsbG93IHNldHRpbmcgImZyYWdtZW50cy1jYWNoZSIgdG8gMSBub3cgdG8gc3RhcnQgcGxheWJhY2sgZXZlbiBmYXN0ZXIuCgoyMDE0LTAyLTEwIDE4OjI3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RhcnQgZmV0Y2hpbmcgbmV3IGZyYWdtZW50cyB3aGVuZXZlciB3ZSBoYXZlIGxlc3MgZnJhZ21lbnRzIGNhY2hlZCB0aGFuIGdpdmVuIGJ5IHRoZSBmcmFnbWVudHMtY2FjaGUgcHJvcGVydHkKCSAgV2FpdGluZyB1bnRpbCBvdXIgY2FjaGUgaXMgZW1wdHkgYmVmb3JlIHN0YXJ0aW5nIHRvIGZldGNoIHRoZSBuZXh0IGZyYWdtZW50CgkgIGtpbmQgb2YgZGVmZWF0cyB0aGUgcHVycG9zZSBvZiBjYWNoaW5nIG11bHRpcGxlIGZyYWdtZW50cy4KCjIwMTQtMDItMTAgMTg6MjE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBnX2dldF9tb25vdG9uaWNfdGltZSgpIHJldHVybnMgbWljcm9zZWNvbmRzLCBub3QgbmFub3NlY29uZHMuCgoyMDE0LTAyLTEwIDE3OjI2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBBY3R1YWxseSBzdG9yZSBkb3VibGVzIGFzIHN1Y2ggYW5kIGRvbid0IHRydW5jYXRlIHRoZW0gdG8gaW50cwoJICBGaXhlcyBicm9rZW4gZHVyYXRpb24gcmVwb3J0aW5nLgoKMjAxNC0wMi0xMCAxNzoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogVXNlIGxvY2FsZS1pbmRlcGVuZGVudCBpbnQvZmxvYXQgcGFyc2luZyBmdW5jdGlvbnMgZnJvbSBHTGliCgoyMDE0LTAyLTEwIDE0OjM0OjQwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBhZGQgbW9yZSBzb3VuZGZvbnQgc2VhcmNoIHBhdGhzCgkgIEZlZG9yYSBpbnN0YWxscyB0aGUgc291bmRmb250cyBpbiAvdXNyL3NoYXJlL3NvdW5kZm9udHMvIHNvIG1ha2Ugc3VyZSB3ZQoJICBsb29rIHRoZXJlIGFzIHdlbGwuCgoyMDE0LTAyLTEwIDA4OjE5OjUyICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIENoYW5nZSBzb3VuZGZvbnQgZmlsZSBzZWFyY2ggcGF0aCBmb3IgZmx1aWRkZWMKCSAgVXNlIGdsaWIgdG8gZ2V0IGEgbGlzdCBvZiBzeXN0ZW0gInNoYXJlIiBkaXJlY3RvcmllcywgdGhlbiBnbyB0aHJvdWdoIHRoYXQKCSAgbGlzdCwgYXBwZW5kaW5nICdzb3VuZHMvc2YyLycgdG8gZWFjaCBkaXJlY3RvcnkgdG8gZ2V0IGEgc291bmRmb250IGRpcmVjdG9yeSwKCSAgYW5kIGxvb2tpbmcgZm9yIC5zZjIgZmlsZXMgdGhlcmUuCgkgIFRoaXMgd2F5IGZsdWlkZGVjIGlzIGFibGUgdG8gbG9hZCBzZjIgZmlsZXMgb24gVzMyLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUKCSAgcGF0aCAnL3Vzci9zaGFyZS9zb3VuZHMvc2YyJyBtYWtlcyBubyBzZW5zZSB0aGVyZS4KCSAgRml4ZXMgIzcyNDAxMwoKMjAxNC0wMi0xMCAwODoyMTowNCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEZpeCB3aW5rcyBjb25maWd1cmUgdGVzdAoJICBGaXhlcyAjNzIzOTk1CgoyMDE0LTAyLTEwIDA4OjIyOjA1ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2lua3M6IE1ha2UgaGVhZGVycyBrbm93biB0byBhdXRvbWFrZQoJICBGaXhlcyAjNzI0MDAzCgoyMDE0LTAyLTA5IDE4OjQ5OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcmVmZXIgdG8gdXNlIG5ldHRsZSBmb3IgZGVjcnlwdGlvbiBidXQgZmFsbC1iYWNrIHRvIGxpYmdjcnlwdAoJICBuZXR0bGUgaXMgdXNlZCBieSBuZXdlciB2ZXJzaW9ucyBvZiBnbnV0bHMsIHdoaWxlIG9sZGVyIHZlcnNpb25zIG9mIGdudXRscwoJICB1c2VkIGxpYmdjcnlwdC4gU3VwcG9ydCBib3RoIGZvciBub3cgYXMgbm90IGV2ZXJ5IGRpc3RybyBoYXMgbmV0dGxlIHlldC4KCSAgbmV0dGxlIGlzIHByZWZlcnJlZCBhcyBpdCBpcyBtb3JlIGVmZmljaWVudCB0byB1c2UgYW5kIG11Y2ggc21hbGxlci4KCjIwMTQtMDItMDkgMTg6MTk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogVXBkYXRlIHRvIG5vbi1kZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxNC0wMi0wOSAxODowOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBtNC9saWJnY3J5cHQubTQ6CgkgIGhsc2RlbXV4OiBVc2UgbGliZ2NyeXB0IGRpcmVjdGx5IGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBnbnV0bHMKCSAgZ251dGxzIGlzIGFsc28ganVzdCB3cmFwcGluZyBnY3J5cHQsIGJ1dCB3ZSBkb24ndCBuZWVkIGFueSBvZgoJICB0aGUgVExTIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eS4gV2UganVzdCBuZWVkIHRvIGJlIGFibGUgdG8gZGVjcnlwdAoJICBBRVMxMjgtQ0JDLgoKMjAxNC0wMi0wOCAyMDowODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBmcm9tIHVuaXQgdGVzdAoKMjAxNC0wMi0wOCAyMDowNzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBmcm9tIHVuaXQgdGVzdAoKMjAxNC0wMi0wOCAyMDowNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIHRlc3QKCSAgZXJyb3I6IHN1Z2dlc3QgYnJhY2VzIGFyb3VuZCBpbml0aWFsaXphdGlvbiBvZiBzdWJvYmplY3QgWy1XZXJyb3IsLVdtaXNzaW5nLWJyYWNlc10KCjIwMTQtMDItMDggMTk6NTk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEZpeCBjb21wYXJpc29uIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uIG9mIHR5cGUKCSAgJ0dzdFNydHBDaXBoZXJUeXBlJyBpcyBhbHdheXMgZmFsc2UKCjIwMTQtMDItMDggMTk6Mjk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBSZW1vdmUgdW51c2VkIHByaXZhdGUgZmllbGRzCgoyMDE0LTAyLTA4IDE5OjI4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJICBzZWdtZW50YXRpb246IEZpeCBpbnRlZ2VyIHVuZGVyZmxvdyBjaGVjawoJICBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcwoJICBhbHdheXMgZmFsc2UgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCjIwMTQtMDItMDggMTg6NTg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMDggMTg6NTc6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICBiejI6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkcwoKMjAxNC0wMi0wOCAxODo1NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSAgdmRwYXU6IEZpeCBjb21wYXJpc29uIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uCgkgIG9mIHR5cGUgJ2NvbnN0IEdzdFZpZGVvRm9ybWF0JyBpcyBhbHdheXMgZmFsc2UKCjIwMTQtMDItMDggMTg6NTQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTQtMDItMDggMTg6NDg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IHZhcmlhYmxlICdpbWFnZV90eXBlJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIKCSAgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTg6NDU6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDItMDggMTg6MjA6MjIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBwbXQ6IERldGVjdCBkZXNjcmlwdG9yIGxlbmd0aCBjb3JyZWN0CgoyMDE0LTAyLTA4IDE3OjQzOjAzICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQ29ycmVjdGx5IGNoZWNrIGZvciBQQVQsUE1ULENBVCxUU0RUCgoyMDE0LTAyLTA4IDEzOjA4OjAyICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IHNvbWUgcGFja2V0aXppbmcgYnVncwoJICAtIExlbmd0aCBvZiBOSVQgc3RyZWFtIGRlc2NyaXB0b3JzIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdAoJICAtIFJlc2VydmVkIGJpdHMgd2FzIG5vdCBzZXQgYWNjb3JkaW5nIHRvIEVOIDMwMCA0NjgsIElTTy9JRUMgMTM4MTgtMQoJICAtIEFsc28gc2V0IG91dHB1dCBkYXRhIHNpemUgaWYgdGhlIHNlY3Rpb24gd2FzIHByZXZpb3VzbHkgcGFja2V0aXplZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODkyCgoyMDE0LTAyLTA3IDExOjU0OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIG9yIG1vdmUgdmFyaWFibGUgYXNzaWdubWVudHMKCSAgVG8gd2hlcmUgdGhleSdyZSBuZWVkZWQKCjIwMTQtMDItMDcgMTE6NTM6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogUmVtb3ZlIHVubmVlZGVkIGluY3JlbWVudAoKMjAxNC0wMi0wNyAxMTo0Mjo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBGaXggY29tcGFyaXNpb24KCSAgd2Ugd2FudCB0byBzdG9wIGlmIG9uZSBPUiB0aGUgb3RoZXIgaXMgTlVMTC4KCjIwMTQtMDItMDYgMTM6NTM6NDkgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IFVwZGF0ZWQgZG9jcyB3aXRoIG5ldyBBUEkKCjIwMTMtMTEtMTkgMTI6MjE6MzEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogVXNlIG1wZWctdHMgbGliIGZvciBQQVQvUE1UIHNlY3Rpb25zCgkgIFJld3JpdGUgb2YgdGhlIFBBVC9QTVQgc2VjdGlvbiBoYW5kbGluZyB0byB1c2UgdGhlIG1wZWctdHMgbGlicmFyeQoKMjAxMy0xMS0yMCAxMToxNDo0NiArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIFNJIHRhYmxlcwoJICBUaGUgbXV4ZXIgaXMgbm93IGFibGUgdG8gaW5jbHVkZSBEVkIgc2VjdGlvbnMgaW4gdGhlIHRyYW5zcG9ydCBzdHJlYW0uCgkgIFRoZSBzaS1pbnRlcnZhbCBwcm9wZXJ0eSB3aWxsIGRldGVybWluZSBob3cgb2Z0ZW4gdGhlIFNJIHRhYmxlcyBhcmUKCSAgbXV4ZWQgaW50byB0aGUgc3RyZWFtLgoJICBUaGUgc2VjdGlvbiBpcyBoYW5kbGVkIGJ5IHRoZSBtcGVnLXRzIGxpYnJhcnkuIEJlbG93IGlzIGEgc21hbGwgZXhhbXBsZQoJICB0aGF0IHdpbGwgaW5jbHVkZSBhIE5ldG9yayBJbmZvcm1hdGlvbiBUYWJsZSB3aXRoIGEgTmV0d29yayBOYW1lCgkgIGRlc2NyaXB0b3IgaW4gdGhlIHN0cmVhbS4KCSAgR3N0TXBlZ1RzTklUICpuaXQ7CgkgIEdzdE1wZWdUc0Rlc2NyaXB0b3IgKmRlc2NyaXB0b3I7CgkgIEdzdE1wZWdUc1NlY3Rpb24gKnNlY3Rpb247CgkgIEdzdEVsZW1lbnQgKm1wZWd0c211eDsKCSAgZ3N0X21wZWd0c19pbml0aWFsaXplICgpOwoJICBuaXQgPSBnc3RfbXBlZ3RzX3NlY3Rpb25fbml0X25ldyAoKTsKCSAgbml0LT5hY3R1YWxfbmV0d29yayA9IFRSVUU7CgkgIGRlc2NyaXB0b3IgPSBnc3RfbXBlZ3RzX2Rlc2NyaXB0b3JfZnJvbV9kdmJfbmV0d29ya19uYW1lICgiTmV0d29yayBuYW1lIik7CgkgIGdfcHRyX2FycmF5X2FkZCAobml0LT5kZXNjcmlwdG9ycywgZGVzY3JpcHRvcik7CgkgIHNlY3Rpb24gPSBnc3RfbXBlZ3RzX3NlY3Rpb25fZnJvbV9uaXQgKG5pdCk7CgkgIC8vIG1wZWd0c211eCBzaG91bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIHBpcGVsaW5lCgkgIGdzdF9tcGVndHNfc2VjdGlvbl9zZW5kX2V2ZW50IChzZWN0aW9uLCBtcGVndHNtdXgpOwoJICBnc3RfbXBlZ3RzX3NlY3Rpb25fdW5yZWYgKHNlY3Rpb24pOwoKMjAxMy0xMS0xOSAxMTozMDozMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IFN1cHBvcnQgcmVnaXN0cmF0aW9uIGFuZCBjdXN0b20gZGVzY3JpcHRvcgoJICBTdXBwb3J0IGZvciByZWdpc3RyYXRpb24gZGVzY3JpcHRvciAoMHgwNSkKCSAgQWRkIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGRlc2NyaXB0b3Igd2l0aCBjdXN0b20gdGFnIGFuZCBkYXRhCgoyMDEzLTExLTE5IDExOjE1OjUyICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBjcmVhdGlvbiBvZiBEVkIgU3VidGl0bGluZyBkZXNjcmlwdG9yCgkgIERlc2NyaXB0b3IgdGFnIGlzIDB4NTkKCjIwMTMtMTEtMTkgMTA6NTA6MzAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogU3VwcG9ydCBwYXJzaW5nIG9mIERWQiBUZWxldGV4dCBkZXNjcmlwdG9yCgkgIERlc2NyaXB0b3IgdGFnIGlzIDB4NTYKCjIwMTMtMTEtMjAgMTE6MDY6MDMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpbmcgUEFUL1BNVAoKMjAxMy0xMS0yMCAxMTowNDo1OCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBwcm9ncmFtX251bWJlciB0byBHc3RNcGVnVHNQTVQKCjIwMTMtMTAtMjggMTQ6NDk6MDggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yIGNvbnN0cnVjdGlvbgoJICBBZGQgZnVuY3Rpb24gdG8gY3JlYXRlIGEgTmV0d29yayBOYW1lIERWQiBkZXNjcmlwdG9yLgoKMjAxMy0xMC0yOCAxNDo0ODoxMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpbmcgYSBOSVQgc2VjdGlvbgoJICBGdW5jdGlvbnMgdGhhdCB3aWxsIGVuYWJsZSB1c2VyIHRvIGNyZWF0ZSBOZXR3b3JrIEluZm9ybWF0aW9uIFRhYmxlcy4KCjIwMTMtMTAtMjggMTQ6MjY6MzkgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIG5ldHdvcmtfaWQgdG8gR3N0TXBlZ1RzTklUCgkgIFRoZSBuZXR3b3JrX2lkIGlzIHN0b3JlZCBpbiB0aGUgc3VidGFibGUgZXh0ZW5zaW9uLiBNYWtlIGEgZmllbGQKCSAgaW4gdGhlIEdzdE1wZWdUc05JVCBmb3IgYmV0dGVyIGNvZGUgcmVhZGFiaWxpdHkKCjIwMTMtMTAtMzEgMTM6NDc6MjMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZnVuY3Rpb25zIHRvIHNlbmQgc2VjdGlvbnMgYXMgZXZlbnRzCgkgIEFkZGVkIGZ1bmN0aW9uIHRoYXQgZW5hYmxlcyB0aGUgdXNlciB0byBzZW5kIGEgR3N0TXBlZ1RzU2VjdGlvbiBhcwoJICBhbiBldmVudCB0byBhIEdzdEVsZW1lbnQuIChpLmUuIG1wZWd0c211eCkKCjIwMTMtMTAtMjggMTQ6NDQ6MTMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZnVuY3Rpb25zIHRvIHBhY2tldGl6ZSBzZWN0aW9uCgkgIFNlY3Rpb25zIG5lZWRzIHRvIGJlIHBhY2tldGl6ZWQgZm9yIHVzZSBpbiBpLmUuIG1wZWd0c211eC4KCSAgVGhlc2UgZnVuY3Rpb25zIGhhbmRsZXMgdGhlIGdlbmVyaWMgY29tbW9uIHBhcnRzIG9mIGEgR3N0TXBlZ1RzU2VjdGlvbgoKMjAxMy0xMC0yOCAxNDozOTo0OSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEFkZCBpbml0IGZ1bmN0aW9ucyBmb3IgZGVzY3JpcHRvci9zZWN0aW9uCgoyMDEzLTEwLTMwIDEwOjQzOjIxICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbiB0byBlbmNvZGUgVVRGOCBzdHJpbmdzCgkgIFRoaXMgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGRlc2NyaXB0b3JzIHdpdGggYXBwcm9wcmlhdGUgY2hhcmFjdGVyIG1hcHMKCjIwMTMtMTAtMzAgMTA6NDI6MDcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IFVzZSBiaWcgZW5kaWFuIFVDUy0yIGNvZGluZwoJICBQYXJzaW5nIG9mIGNvbnRyb2wgY29kZXMgcmVxdWlyZXMgYSBiaWcgZW5kaWFuIGNoYXJhY3RlciBtYXAKCjIwMTMtMTAtMzAgMTA6MzM6MTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciB0d28td2F5IGljb252IGNvbnZlcnNpb25zCgkgIFRvIHVzZSBpbiBjb252ZXJzaW9ucyBmcm9tIFVURi04IHRvIGFub3RoZXIgY2hhcmFjdGVyIG1hcAoKMjAxNC0wMi0wNiAxNjoxNzozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBGaXggbGlidG9vbCB1c2FnZQoJICAtLXRhZz1DQyBpcyBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZAoKMjAxNC0wMi0wNiAxNDoyMTo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXBkYXRlIHBsdWdpbiBsaWNlbnNlIGZpZWxkCgkgIFRoZSBvcmlnaW5hbCBjb2RlIChvbGQgbXBlZ3RzcGFyc2UpIGZyb20gd2hpY2ggdGhpcyBwbHVnaW4gd2FzIGJhc2VkIG9uCgkgIHdhcyBkdWFsLWxpY2Vuc2VkLiBUaGlzIGFsbG93ZWQgdXNhZ2Ugb2YgdGhlIGNvZGUgdW5kZXIgYW55IG9mIHRoZQoJICBsaWNlbnNlcyAod2hpY2ggaW5jbHVkaW5nIExHUEwpOgoJICAiIiIKCSAgKiBBbHRlcm5hdGl2ZWx5LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZgoJICAqIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAyIG9yIGxhdGVyICh0aGUgIkxHUEwiKSwKCSAgKiBpbiB3aGljaCBjYXNlIHRoZSBwcm92aXNpb25zIG9mIHRoZSBMR1BMIGFyZSBhcHBsaWNhYmxlIGluc3RlYWQKCSAgKiBvZiB0aG9zZSBhYm92ZS4gSWYgeW91IHdpc2ggdG8gYWxsb3cgdXNlIG9mIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgb25seQoJICAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTEdQTCwgYW5kIG5vdCB0byBhbGxvdyBvdGhlcnMgdG8KCSAgKiB1c2UgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1QTCwgaW5kaWNhdGUgeW91cgoJICAqIGRlY2lzaW9uIGJ5IGRlbGV0aW5nIHRoZSBwcm92aXNpb25zIGFib3ZlIGFuZCByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbm90aWNlCgkgICogYW5kIG90aGVyIHByb3Zpc2lvbnMgcmVxdWlyZWQgYnkgdGhlIExHUEwuIElmIHlvdSBkbyBub3QgZGVsZXRlCgkgICogdGhlIHByb3Zpc2lvbnMgYWJvdmUsIGEgcmVjaXBpZW50IG1heSB1c2UgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSB1bmRlcgoJICAqIHRoZSB0ZXJtcyBvZiB0aGUgTVBMIG9yIHRoZSBMR1BMLgoJICAiIiIKCSAgV2hlbiByZWZhY3RvcmVkIChsZWFkaW5nIHRvIHRoZSBjcmVhdGlvbiBvZiB0aGlzIG5ldyBwbHVnaW4pLCBJIGNob3NlIGFsbAoJICBuZXcgY29kZSB0byBiZSBMR1BMLW9ubHkgKHdoaWNoIHdhcyBhbGxvd2VkIGZvciBwcmUtZXhpc3RpbmcgY29kZSkgYnkgcmVtb3ZpbmcKCSAgdGhlIE1QTCBzZWN0aW9ucy4KCSAgVGhlIGhlYWRlcnMgd2VyZSBhbGwgdXBkYXRlZCwgYnV0IG5vdCB0aGUgcGx1Z2luIGxpY2Vuc2UgZmllbGQuIFRoaXMgY29tbWl0CgkgIGZpeGVzIHRoaXMuCgoyMDE0LTAyLTA0IDE0OjE1OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIHRlc3RzOiBpbnNlcnRiaW46IHVwZGF0ZSB0ZXN0cyB0byAxLnggc2NlbmFyaW8KCSAgVGhlIHRocmVhZCB0aGF0IGNhbGxzIHRoZSBzdWNjZXNzL2ZhaWx1cmUgY2FsbGJhY2sgY2FuIGJlIHRoZQoJICBzYW1lIHRoYXQgaXMgYWRkaW5nL3JlbW92aW5nIHRoZSBlbGVtZW50IGFzIHRoZSBJRExFIHByb2JlIGNhbgoJICBoYXBwZW4gaW5zdGFudGx5IGlmIHRoZSBwYWQgaXMgbm90ICdidXN5Jy4KCSAgVGhpcyByZXF1aXJlZCBtb3Zpbmcgc29tZSBjaGVja3MgZm9yIHRoZSBjYWxsYmFjayBjb3VudGVyIGFyb3VuZAoJICBhcyB3ZWxsIGFzIHJlbW92aW5nIHNvbWUgcGFkIHB1c2hlcyBmcm9tIHRoZSBtYWluIHRlc3QgdGhyZWFkIGFzCgkgIHRoZXkgd2VyZSBtYWRlIHVzZWxlc3MgYWZ0ZXIgdGhlIElETEUgcGFkIHByb2JlIHdhcyBmaXhlZCBpbiBjb3JlCgkgIGJ5IGNvbW1pdCAwMzI0MzU4ZWJjODEyMmE0MWFiNDk5YTNlZjc5NzNiNjFjM2U2MjFiCgoyMDE0LTAyLTAzIDIzOjM5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBhdm9pZCB3YXJuaW5nIGlmIHRlc3QgaXMgZmFpbGluZwoJICBJbiBjYXNlIHRoZSB0ZXN0IGZhaWxzIHRoZSBtZXNzYWdlIHdvbid0IGJlIHJldHVybmVkIGFuZCBpdAoJICB3aWxsIGxlYWQgdG8gYW4gYXNzZXJ0aW9uIHRoYXQgbWlnaHQgYmUgbWlzbGVhZGluZyB0byB0aG9zZQoJICBkZWJ1Z2dpbmcgdGhlIGlzc3VlLgoKMjAxNC0wMi0wMyAyMzoxMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHN0b3Agc291cmNlIHRvIGRvIGludGVybmFsIHJlY29uZmlndXJhdGlvbiBzYWZlbHkKCSAgSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBjaGFuZ2UgdGhlIGNhcHMgb24gbXVsdGlwbGUgY2Fwc2ZpbHRlcnMgdGhlCgkgIHNvdXJjZSBlbGVtZW50IG5lZWRzIHRvIGJlIHN0b3BwZWQsIG90aGVyd2lzZSBpdCB3aWxsIGdldCBhIGZldwoJICByZWNvbmZpZ3VyZSBldmVudHMgYW5kIG1pZ2h0IHRyeSB0byByZW5lZ290aWF0ZSB3aGlsZSB0aGUgYmluCgkgIGlzIHN0aWxsIHRyYW5zaXRpb25pbmcgaXRzIGNhcHMsIGxlYWRpbmcgdG8gYSBub3QtbmVnb3RpYXRlZCBmYWlsdXJlCgkgIGFuZCB0aGUgaW1hZ2UgY2FwdHVyZSB3b24ndCBoYXBwZW4gYmVjYXVzZSB0aGUgc291cmNlIHdpbGwgYmUKCSAgdW51c2FibGUuCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSBzb3VyY2UgaW4gcGF1c2VkIHdoaWxlIHRoZSBjYXBzIGFyZSBiZWluZwoJICBjaGFuZ2VkIGluIHRoZSBiaW4sIGFuZCB0aGVuIGJyaW5nIHRoZSBlbGVtZW50IGJhY2sgdG8gcGxheWluZyBvbmNlCgkgIGl0IGlzIGRvbmUuIFVuZm9ydHVuYXRlbHkgdGhpcyBpbmNyZWFzZXMgdGhlIGltYWdlIGNhcHR1cmUgbGF0ZW5jeSwKCSAgYnV0IGl0IHNob3VsZCBhbHdheXMgd29yay4KCSAgQSBwb3NzaWJsZSBpbXByb3ZlbWVudCB0byByZWR1Y2UgdGhlIGxhdGVuY3kgaXMgdG8gYWRkIGFub3RoZXIgc2lnbmFsCgkgIHRvIGJlIGNhbGxlZCBiZWZvcmUgJ3N0YXJ0LWNhcHR1cmUnOiAncHJlcGFyZS1jYXB0dXJlJy4gQXQgdGhpcyBzdGVwCgkgIHRoZSBjYW1lcmEgc291cmNlIHNob3VsZCBzZXQgYWxsIGNhcHMgaXQgbmVlZHMgYW5kIGdldCB0aGUgc291cmNlCgkgIHJlYWR5IGZvciBkb2luZyB0aGUgY2FwdHVyZSBhcyBzb29uIGFzICdzdGFydC1jYXB0dXJlJyBpcyBjYWxsZWQuCgkgIFRoaXMgY2FuIGJlIGRvbmUgb24gYSBmdXR1cmUgY29tbWl0CgoyMDE0LTAyLTAzIDIzOjA5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFByb2JhYmx5IGEgbGVmdCBvdmVyIGZyb20gMC4xMCAtPiAxLnggcG9ydGluZwoKMjAxNC0wMi0wNCAxNzoyMjoyNyArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGltcHJvdmVkIGVycm9yIHJlcG9ydCBhbmQgY2hlY2tzCgkgIFNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCjIwMTQtMDItMDQgMTI6NTI6MjUgKzAxMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIEVPUyBoYW5kbGluZyBhbmQgZG93bmxvYWRpbmcgYSByYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTM0CgoyMDE0LTAyLTA0IDA1OjQ2OjE2IC0wNTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBhZGFwdGl2ZSBidWZmZXIgc2l6ZQoJICBDb3BpZWQgZnJvbSB3YXZwYXJzZSwgaGVscHMgd2l0aCBDUFUgdXNhZ2Ugb24gaGlnaCBiaXRyYXRlCgkgIGZpbGVzLgoKMjAxNC0wMi0wMiAxODoxNzowNiAtMDgwMCAgRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgU2luY2UgYjFhNzU2ZmQsIGFwcGxlbWVkaWEgZmFpbHMgdG8gYnVpbGQgb24gb3N4IDEwLjcsIHdoaWNoIGxhY2tzIFZpZGVvVG9vbGJveC5oLi4uIHNvIGRpc2FibGUgaXQgb24gT1NYIGlmIHRoYXQgaGVhZGVyIGlzIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MDgKCjIwMTQtMDItMDIgMTM6NTA6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGRhdGEgc3RhcnQgb2Zmc2V0IGNhbGN1bGF0aW9uIG5vdCBjb3VudGluZyBDT01NIHNpemUKCSAgSW4gcGFydGljdWxhciwgdGhpcyBmaXhlcyBzZWVraW5nIGJhY2sgdG8gdGhlIHN0YXJ0IHJlYWRpbmcgZGF0YQoJICBvdXQgb2Ygc3luYyB3aXRoIHNhbXBsZSBzdGFydCBncmFudWxhcml0eSwgeWllbGRpbmcgc3dhcHBlZCBjaGFubmVscy4KCjIwMTQtMDEtMzEgMjM6NDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgdGVzdHM6IGdkcGRlcGF5OiB1cGRhdGUgdG8gMS54IGV2ZW50cwoJICBUZXN0cyBuZWVkZWQgc3RyZWFtIHN0YXJ0IGF0IGJlZ2lubmluZyBhbmQgc2VnbWVudCBhZnRlciB0aGUKCSAgY2FwcyBldmVudAoKMjAxNC0wMS0zMSAxODozODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBhZGQgRFRTIHRvIGhlYWRlcnMKCjIwMTQtMDEtMzEgMTI6MTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcHBheTogdXBkYXRlIHRvIDEueCByZWFsaXR5CgkgICogc3RyZWFtLXN0YXJ0LWlkIGlzIG1hbmRhdG9yeSBhdCB0aGUgYmVnaW5uaW5nLCBzbyBhZGQgdGhhdCB0byB0aGUKCSAgZ2RwIGhlYWRlcnMKCSAgKiBjYXBzIG11c3QgYmUgc2VudCBiZWZvcmUgbmV3IHNlZ21lbnQsIGludmVydCB0aGUgb3JkZXIgZnJvbSBsZWdhY3kKCSAgMC4xMCBjb2RlCgkgIEFuZCBmaXggdGhlIHRlc3RzIGFzIGEgcmVmIGlzIG5vdyBrZXB0IGZvciB0aG9zZSBidWZmZXJzIHRoYXQgY29tcG9zZQoJICB0aGUgaGVhZGVyCgoyMDE0LTAxLTMxIDE2OjU4OjE2IC0wNTAwICBDb2xpbiBNYWNkb25hbGQgPGNibUBtLmZzZi5vcmc+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSAgZmlzaGV5ZTogRml4IGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM5OAoKMjAxNC0wMS0yOSAxNjozMjozMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEZWZhdWx0IGZyYW1lcmF0ZSB0byAwLzEgd2hlbiBubyBpbmZvcm1hdGlvbnMgZm91bmQKCSAgSXQgaXMgbm90IHBlcmZlY3QgYnV0IGl0IGFsbG93cyB1cyB0byBiZSBzdXJlIHRoYXQgdGhlIG1hbmRhdG9yeSAnZnJhbWVyYXRlJwoJICBmaWVsZCBpcyBwcmVzZW50IGluIHRoZSBjYXBzLgoJICBBcyBzb29uIGFzIHNvbWUgaW5mb3JtYXRpb24gaXMgZm91bmQgaW4gdGhlIHN0cmVhbSwgdGhhdCB3aWxsIGJlCgkgIHVwZGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNDMKCjIwMTQtMDEtMzAgMTk6NDU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBnZHBwYXk6IHJlZmFjdG9yIGFuZCBhZGQgbWlzc2luZyBiaXRzCgkgIE1vc3Qgb2YgdGhlIHRlc3RzIHdlcmVuJ3QgdXBkYXRlZCBhZnRlciB0aGUgc3RpY2t5IGV2ZW50cyBvcmRlcgoJICBhbmQgc3RyZWFtIHN0YXJ0LiBGaXggdGhhdCBhbmQgcmVmYWN0b3IgdGhvc2UgdGVzdHMgY2hlY2sgdGhhdAoJICBhcmUgdGhlIHNhbWUgdG8gc29tZSBjb21tb24gZnVuY3Rpb25zLgoJICBUaG9zZSBmdW5jdGlvbnMgc3RpbGwgZG9uJ3QgYWN0dWFsbHkgdGVzdCB0aGUgY29udGVudCBidXQgYXQKCSAgbGVhc3Qgbm93IHRoZXkgYXJlIGluIGEgc2luZ2xlIHBsYWNlIGFuZCBjYW4gYmUgaW1wcm92ZWQKCSAgd2l0aG91dCByZXBsaWNhdGlvbgoKMjAxNC0wMS0zMCAxODoxNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogRG8gbm90IGZvcmdldCB0byBzZW5kIHN0cmVhbS1zdGFydCBldmVudCBvbiB0ZXN0CgkgIEV2ZW4gaWYgd2UgZG9uJ3Qgd2FudCB0byBwdXNoIHRoZSBjYXBzIGV2ZW50LCBhIHN0cmVhbS1zdGFydCBtdXN0CgkgIGJlIHByZXNlbnQgYmVmb3JlIGFueSBkYXRhIGluIDEueAoKMjAxNC0wMS0zMCAxODowOToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHB1c2ggdGhlIHN0cmVhbS1zdGFydCBldmVudAoJICBpbnN0ZWFkIG9mIGp1c3Qgc3dhbGxvd2luZyB1cHN0cmVhbSdzIHN0cmVhbS1zdGFydCBpbnRvIGl0cwoJICBwYXlsb2FkLCBwdXNoIGl0IGFzIGVsZW1lbnRzIGV4cGVjdCBhIHN0cmVhbS1zdGFydCBiZWZvcmUgZGF0YQoKMjAxNC0wMS0zMCAyMDoyODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFdlIGRvIG5vdCBzdXBwb3J0IHRoZSBTS0lQIHNlZWsgZmxhZyBidXQgdGhhdCBpcyBub3QgYSBwcm9ibGVtCgoyMDE0LTAxLTMwIDEwOjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNDhiZWQzIHRvIDFhMDdkYTkKCjIwMTQtMDEtMzAgMDM6Mjg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGltcHJvdmUgcHJldmlldyBoYW5kbGluZyBpbiB0ZXN0cwoJICBBbHdheXMgZXJhc2UgdGhlIHByZXZpZXcgaW1hZ2UgZGF0YSB0byBhbGxvdyB0aGUgbmV4dCBjaGVjayBmb3IKCSAgaXQgdG8gb3BlcmF0ZSBwcm9wZXJseQoKMjAxNC0wMS0yOSAyMDozODo1NyArMDEwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogQWx3YXlzIHJlbGVhc2UgdGhlIG9iamVjdCBsb2NrIGluIGdzdF91cmlfZG93bmxvYWRlcl9mZXRjaF91cmlfd2l0aF9yYW5nZSgpCgkgIGV2ZW4gaWYgZG93bmxvYWRlci0+cHJpdi0+dXJpc3JjIGlzIG5vdCBzZXQuIFRoaXMgYXZvaWRzIGRlYWRsb2NrIHVuZGVyIHNvbWUKCSAgc29tZSBjb25kaXRpb25zIG9uIGNhbmNlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzEyNwoKMjAxNC0wMS0yOSAxMzoyNTozNyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogVGhlIHBsdWdpbiB3b3JrcyB3aXRoIDIuNC44IHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjMwCgoyMDE0LTAxLTI5IDEwOjUwOjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IERvbid0IHVzZSBnc3RfIGFzIHByZWZpeCBmb3IgcHJpdmF0ZSBzeW1ib2xzCgkgIE90aGVyd2lzZSB0aGV5IGdldCBleHBvc2VkL2FjY2Vzc2libGUgaW4gdGhlIHJlc3VsdGluZyAuc28KCSAgQW5kIG1ha2UgY2hlY2stZXhwb3J0cyB3aWxsIGNvbXBsYWluCgoyMDE0LTAxLTI3IDIzOjU1OjU3IC0wMzAwICBBbWF1cnkgTWVkZWlyb3MgPGFtYXVyeW1lZGVpcm9zQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBGaXggZmxhZ3MgY29tcGFyaXNvbiBvcGVyYXRvciBwcmVjZWRlbmNlCgkgIEZpeCBvcGVyYXRvciBwcmVjZWRlbmNlLCBzbyB0aGUgd2hvbGUgb3BlcmF0aW9uIGlzCgkgIG5lZ2F0ZWQgaW5zdGVhZCBvZiBvbmx5IGZsYWdzIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDk2CgoyMDE0LTAxLTI2IDE0OjQyOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJICBtcGVndHM6IGluc3RhbGwgYnV0IG5vZGlzdCBmb3IgZ2VuZXJhdGVkIGhlYWRlcgoKMjAxNC0wMS0yNSAxNzo0MDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGhhbmRsZSBGTFVTSElORyBvciBOT1RfTElOS0VEIGFzIGVycm9yCgkgIEFuZCBhbHNvIGp1c3Qgc3RvcCB0aGUgdGFzayBmb3IgRkxVU0hJTkcuCgoyMDE0LTAxLTI0IDIxOjQxOjI1ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCBnbyBpbnRvIHB1bGwgbW9kZSB3aGVuIHRoZSBzZXF1ZW50aWFsIGZsYWcgaXMgc2V0CgkgIFdoZW4gdGhlIHNjaGVkdWxpbmcgcXVlcnkgcmVzdWx0cyBoYXMgR1NUX1NDSEVEVUxJTkdfRkxBR19TRVFVRU5USUFMIHNldAoJICBpbiBpdHMgZmxhZ3MgZG9uJ3QgZ28gaW50byBwdWxsIG1vZGUgdG8gcHJldmVudCBvdmVyLWVhZ2VyIHNlZWtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI5MzQKCjIwMTQtMDEtMjQgMTI6MzY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGZpeCB0ZXN0cyBhZnRlciBsZWFkaW5nIDB4MDAgcmVtb3ZhbAoJICBDb21taXQgNmFmMzg3Y2Q1YWIyYzk0NjAyNWU1NDk5OTAzZTc1ZWU4N2IwNjNhOSBtYWRlIGgyNjRwYXJzZQoJICBzdHJpcCBhIGxlYWRpbmcgMHgwMCBieXRlIGZyb20gc29tZSBvdXRwdXQgc2NlbmFyaW9zLiBUaGlzIGJyb2tlCgkgIHRlc3RzIGFzIGJzX3RvX25hbCB0ZXN0IGV4cGVjdHMgb25lIG1vcmUgYnl0ZSBvbiB0aGUgb3V0cHV0LgoJICBGaXggdGhpcyBieSBjb21wYXJpbmcgdGhlIG91dHB1dCB3aXRoIHRoZSBleHBlY3RlZCBzdHJpcHBlZCB2ZXJzaW9uLAoJICB0b28uCgoyMDE0LTAxLTI0IDAxOjA3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogcmVmYWN0b3IgY29tbW9uIG5hbCBwYXJzaW5nIHRvIG5hbHV0aWxzCgkgIE1vdmVzIGNvbW1vbiBjb2RlIGZyb20gaDI2NCBhbmQgaDI2NSB0byBhIHNlcGFyYXRlIGZpbGUKCjIwMTQtMDEtMDMgMDk6NDQ6MjggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IG11bHRpcGxlIFNFSSBtZXNzYWdlcyBpbiBvbmUgU0VJIFJCU1AgcGFyc2luZy4KCSAgQW4gU0VJIFJCU1AgY291bGQgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBTRUkgbWVzc2FnZSBhcyBzcGVjaWZpZWQgaW4KCSAgNy40LjIuMy4xLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2UgdGhlIHBhcnNlciBBUEk6IHRoZSBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2VpKCkKCSAgZnVuY3Rpb24gbm93IGNyZWF0ZSBhbmQgZmlsbCBhIEdBcnJheSBjb250YWluaW5nIEdzdEgyNjRTRUlNZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzE1CgoyMDE0LTAxLTIyIDEwOjI2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiByZW1vdmUgdHJhaWxsaW5nIDB4MDAgYnl0ZXMgYXMgdGhlIHNwZWMgZG9lc24ndCBhbGxvdyB0aGVtCgkgIEp1c3QgbGlrZSBoMjY0LCB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZSBsYXN0IGJ5dGVzIG9mIGEgTkFMIHRvIGJlIDB4MDAuCgkgIFNvIHJlbW92ZSBpdCBhcyBpdCBpcyBwcm9iYWJseSBqdXN0IHBhZGRpbmcuCgkgIFRoaXMgaXMgcmVsYXRlZCB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzg0CgoyMDE0LTAxLTIwIDE3OjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiByZW1vdmUgdHJhaWxsaW5nIDB4MDAgYnl0ZXMgYXMgdGhlIHNwZWMgZG9lc24ndCBhbGxvdyB0aGVtCgkgIFRoZSBzcGVjIHN0YXRlcyB0aGF0IHRoZSBsYXN0IGJ5dGUgb2YgYSBOQUwgJ3NoYWxsIG5vdCcgYmUgMHgwMAoJICBhbmQgaXQgaXMgYWxsb3dlZCBmb3IgYnl0ZS1zdHJlYW0gZm9ybWF0IHRvIGFkZCBwYWRkaW5nIDB4MDAgZm9yCgkgIGFsaWdubWVudC4KCSAgU28gb3VyIHBhcnNlciBzaG91bGQgc3RyaXAgYW55IHRyYWlsbGluZyAweDAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzg0CgoyMDE0LTAxLTIxIDIzOjQyOjU4ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBsZWFrIHBhZCBuYW1lIHdoZW4gdHJlYXRpbmcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2OTkKCjIwMTQtMDEtMjEgMTA6Mjc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiB1cGRhdGUgbGFzdF90cyB0byBtdXggY29ycmVjdGx5CgkgIFdlIHVzZSBsYXN0X3RzIHRvIGRlY2lkZSB3aGF0IGJ1ZmZlciB0byBtdXggbmV4dCBzbyBtYWtlIHN1cmUgdGhhdCBpdAoJICBhbHdheXMgY29udGFpbnMgdGhlIGxhc3Qga25vd24gdmFsaWQgdGltZXN0YW1wLgoKMjAxNC0wMS0yMSAxMDo1ODozNSArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBJbml0aWFsaXplIHBvaW50ZXIgY29ycmVjdGx5IHRoYXQgaXMgbmV2ZXIgYXNzaWduZWQgYnV0IGZyZWVkIGluIGVycm9yIGNhc2VzCgkgIEZpeGVzIGNyYXNoIG9uIGJyb2tlbiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjY5CgoyMDE0LTAxLTIxIDA5OjQ0OjAwICswMTAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEZpcnN0IGRlc3Ryb3kgdGhlIHdpbmRvdywgdGhlbiB1bnJlZ2lzdGVyIHRoZSBjbGFzcwoJICBJdCdzIGltcG9zc2libGUgdG8gY3JlYXRlIGFub3RoZXIgcGlwZWxpbmUgd2l0aCBkM2R2aWRlb3NpbmsgYWZ0ZXIgZGlzcG9zaW5nCgkgIHRoZSBwcmV2aW91cyBvbmUgZHVlIHRvIHNvbWUgcHJvYmxlbSBpbiBkM2R2aWRlb3NpbmsuIFRoZSBtZXNzYWdlIGlzOiAiVW5hYmxlCgkgIHRvIHJlZ2lzdGVyIERpcmVjdDNEIGhpZGRlbiB3aW5kb3cgY2xhc3MiLgoJICBJJ3ZlIGV2YWx1YXRlZCB0aGUgcHJvYmxlbSBhbmQgaXQncyB0aGF0IFVucmVnaXN0ZXJDbGFzcygpIGluIHdvcmtpbmcgdGhyZWFkIGlzCgkgIGNhbGxlZCBiZWZvcmUgRGVzdHJveVdpbmRvdygpIGFuZCBVbnJlZ2lzdGVyQ2xhc3MoKSBkb2VzIG5vdGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2MjIKCjIwMTQtMDEtMjAgMTY6MjU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBmaXggdGltZXN0YW1wIGhhbmRsaW5nCgkgIElmIHRoZSBmaXJzdCBidWZmZXIgdGhhdCB3ZSBoYW5kbGUgZm9yIGEgc3RyZWFtIGhhcyBubyB0aW1lc3RhbXAsIHdlCgkgIHdvdWxkIG5ldmVyIGNvbnNpZGVyIHRoaXMgcGFkIGFnYWluIGZvciBtdXhpbmcgd2hpY2ggY2F1c2VzIHF1ZXVlcyB0bwoJICBmaWxsIHVwIGFuZCBwaXBlbGluZXMgdG8gc3RhbGwuIEluc3RlYWQsIHRyeSB0byBtdXggcGFkcyB3aXRoIC0xCgkgIHRpbWVzdGFtcHMgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMzMAoKMjAxNC0wMS0yMCAxNjoyMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IHJldHVybiBHU1RfRkxPV19FT1Mgd2hlbiB3ZSBwdXNoZWQgRU9TCgkgIFJldHVybiBHU1RfRkxPV19FT1MgZnJvbSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uIHdoZW4gd2UgcHVzaGVkIEVPUyBvcgoJICBlbHNlIGl0IHNpbXBseSBrZWVwcyBvbiBjYWxsaW5nIG91ciBjb2xsZWN0ZWQgZnVuY3Rpb24uCgoyMDE0LTAxLTIwIDEwOjM4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IEFjdHVhbGx5IHRoZSBlbmMvZGVjYmlucyBhcmUgbm90IHVzZWQgYW55d2hlcmUgY3VycmVudGx5CgkgIENvZGUgaXMgY29tbWVudGVkIG91dC4KCjIwMTQtMDEtMjAgMTA6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IEZpeCBidWlsZCBvbiBpT1MgYW5kIHByb2JhYmx5IGFsc28gb24gT1NYCgkgIFRoZSB2aWRlbyB0b29sYm94IGlzIG5vdCBhdmFpbGFibGUgb24gaU9TLCBhbmQgYWxzbyBvbiBPU1gKCSAgd2Ugc2hvdWxkIHByb2JhYmx5IGJ1aWxkIGFsbCBzb3VyY2UgZmlsZXMgdGhhdCBhcmUgdXNlZCBmb3IKCSAgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1OTAKCjIwMTQtMDEtMjAgMTU6MjE6NDIgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IFVwZGF0ZSBjYXBzIHdoZW4gcmVjZWl2ZSBWUFMvU1BTL1BQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMjQwCgoyMDE0LTAxLTIwIDE3OjAzOjA5ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEZpeCBzZWdmYXVsdCB3aGVuIHBhcnNpbmcgSFJEIHBhcmFtZXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMjQwCgoyMDE0LTAxLTE4IDEzOjU2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IERvbid0IHN0YXJ0IHNjYW5uaW5nIGZvciB0aGUgaGVhZGVyIGZyb20gdGhlIHN0YXJ0IGFnYWluIGVhY2ggdGltZQoJICBUaGlzIHdpbGwgYmUgaW5jcmVkaWJsZSBzbG93IGlmIHRoZSB1cHN0cmVhbSBibG9jayBzaXplIGlzIHZlcnkgc21hbGwuIEluc3RlYWQKCSAgY29udGludWUgc2Nhbm5pbmcgZm9yIHRoZSBoZWFkZXIgd2hlcmUgd2UgcHJldmlvdXNseSBzdG9wcGVkLgoJICBGb3IgdGhlIHN0YW5kYXJkIGZpbGVzcmMgYmxvY2stc2l6ZSB0aGlzIG1hZGUgZGVjb2RpbmcgYSBmaWxlIGFib3V0CgkgIDMgdGltZXMgZmFzdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODkwCgoyMDE0LTAxLTE4IDEzOjA2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IFRoaXMgaXMgYSBkZWNvZGVyLCBub3QgYSBkZW11eGVyCgkgIERvbid0IGNvbmZ1c2UgYXV0b3BsdWdnZXJzIQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzE2CgoyMDE0LTAxLTE4IDAxOjE5OjM2ICswMjAwICBBbmRyZXkgVXRraW4gPGFuZHJleS5rcmllZ2VyLnV0a2luQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IEZpeCBsZWFrIG9mIFBDUk9mZnNldEdyb3VwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI0NjIKCjIwMTQtMDEtMTYgMTI6MTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbW92ZSBzb21lIHVzZWxlc3MgYXNzaWdubWVudHMgYW5kIHNraXAgdGhlIGN1cnJlbnQgcGFydCBvZiB0aGUgYnVmZmVyIGlmIHRoZSBwYWQgaXMgbXV0ZWQKCjIwMTQtMDEtMTYgMjA6MTY6NDcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSAgcmVzaW5kdmQ6IE1lcmdlIGNoYW5nZXMgYWNyb3NzIGZyb20gbWFzdGVyIG1wZWdkZW11eAoJICBNZXJnZSB2YXJpb3VzIGNoYW5nZXMgYW5kIGZpeGVzIGZyb20gdGhlIG1hc3RlciBtcGVnZGVtdXgKCSAgUGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgZnJvbSB0aGUgd2F5IHN0cmVhbXMgYXJlIG9yZ2FuaXNlZCwKCSAgcmV0dXJuIGZsb3cgY29tYmluaW5nLCBsYW5ndWFnZSB0YWcgZXZlbnQgZ2VuZXJhdGlvbiwKCSAgYWRqdXN0bWVudHMgYW5kIGZpeGVzIGluIGRlYnVnIG91dHB1dCwgYW5kIHRoaW5ncyBsaWtlIHRoYXQuCgoyMDE0LTAxLTE2IDIwOjE0OjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogTWVyZ2Ugc29tZSBjaGFuZ2VzIGZyb20gdGhlIHJlc2luZHZkIGNvcHkKCSAgT25lIGJ1ZyBmaXgsIHNvbWUgZGVidWcgY2hhbmdlcyBhbmQgb3RoZXIgaW5jb25zZXF1ZW50aWFsIGNoYW5nZXMKCSAganVzdCB0byByZWR1Y2UgdGhlIGRpZmYgYmV0d2VlbiB0aGUgMiBjb3BpZXMgYSBiaXQuCgoyMDE0LTAxLTE1IDIzOjMwOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBGaXggYW5kIHNpbXBsaWZ5IG92ZXJsYXAgY2FsY3VsYXRpb24KCjIwMTQtMDEtMTQgMjM6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGZpeCBtaW5vciBtZW1vcnkgbGVhayB3aGVuIGNyZWF0aW5nIHRpdGxlIGluZm8gbWVzc2FnZQoKMjAxMy0xMC0wOSAxNzo0OTowNiArMDIwMCAgSm9yZ2UgWmFwYXRhIDxqb3JnZWx1aXMuemFwYXRhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEFkZCB0aGUgZGl2eCB2YXJpYW50IGZvciBtcGVnNCB2aWRlbwoJICBMb29rcyBsaWtlIGFsbCB0aGUgbXBlZzQgdmlkZW8gZGVjb2RlcnMgYWxzbyBhY2NlcHQgdGhlIGRpdngKCSAgdmFyaWFudHMuIFNvIHdlIGJldHRlciBhZGQgdGhvc2UgY2FwcyB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE2MwoKMjAxNC0wMS0xNCAxNzowODozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IChhZ2FpbikgY2hlY2sgZm9yIERCIEFQSTogNS40IGlzIE5vdCBSZWNlbnQgRW5vdWdoCgkgIE1heWJlIHRlc3RpbmcgdGhlIHZlcnNpb24gaXMgY2xlYXJlciwgYnV0IHRlc3RpbmcgZm9yIDwgNSBpcyBub3QKCSAgZW5vdWdoLCBteSB2ZXJzaW9uIGlzIDUuNCBhbmQgZG9lcyBub3QgeWV0IGhhdmUgdGhvc2UgbmV3IGVudW1zLgoJICBJZiB5b3UgZ2l0IGJsYW1lIHRvIHRoaXMgYW5kIGhhdmUgYSB2ZXJzaW9uID4gNS40IHRoYXQgZG9lcyBub3QKCSAgZWl0aGVyLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGpvaW4gYWxvbmcgYW5kIGJ1bXAgdGhlIHZlcnNpb24uCgoyMDE0LTAxLTE0IDIzOjIxOjI1ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBoMjY1cGFyc2VyOiBGaXggc2VnZmF1bHQgd2hlbiBwYXJzaW5nIFZQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDgxCgoyMDE0LTAxLTE0IDEwOjM4OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogc2V0IG1heGltdW0gZmVhdHVyZSBzaXplIHRvIDB4MAoJICBQcmV2aW91c2x5IGZhY2VzIHdvdWxkIG9ubHkgYmUgZGV0ZWN0ZWQgaWYgdGhleSB3ZXJlIGF0IGxlYXN0IDMweDMwIHBpeGVscwoJICBsYXJnZSBhbmQgYXQgbW9zdCAzMngzMiBwaXhlbHMuIFdlIGtlZXAgdGhlIG1pbmltdW0gc2V0dGluZyAobWF5YmUgbmVlZHMKCSAgYSBwcm9wZXJ0eSBhcyBpbiBmYWNlZGV0ZWN0KSBidXQgZGlzYWJsZSB0aGUgbWF4aW11bSBmZWF0dXJlIHNpemUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU4CgoyMDE0LTAxLTE0IDAxOjA2OjAyIC0wNTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBjaXRhLnV0b3JvbnRvLmNhPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IHNldCBtYXhpbXVtIGZlYXR1cmUgc2l6ZSB0byAweDAKCSAgVGhpcyBkaXNhYmxlcyB0aGUgIm1heCBmZWF0dXJlIHNpemUiIGZlYXR1cmUuIFRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24KCSAgaXMgdG90YWxseSBidXN0ZWQ6IFRoZSBtYXggZmVhdHVyZSBzaXplIGlzIGhhcmQtY29kZWQgdG8gMiBwaXhlbHMgbW9yZQoJICB0aGFuIHRoZSB1c2VyLXN1cHBsaWVkIG1pbiBmZWF0dXJlIHNpemUgd2hpY2ggcHJldHR5IG11Y2ggbWVhbnMgeW91IG5lZWQKCSAgdG8gZ3Vlc3MgdGhlIHNpemUgb2YgdGhlIHBlcnNvbidzIGZhY2UgdG8gd2l0aGluIGEgZmV3IHBpeGVscyB0byBnZXQgdGhlCgkgIGNvZGUgdG8gZmluZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE1OAoKMjAxNC0wMS0xNCAwMjoxOToxMiArMDIwMCAgQW5kcmV5IFV0a2luIDxhbmRyZXkua3JpZWdlci51dGtpbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggbWVtbGVhayBvZiBQQ1JPZmZzZXRDdXJyZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNDUKCjIwMTQtMDEtMTMgMjE6NTA6MTYgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogcHJldmVudCB0byBvdmVycnVuIGNocm9tYV93ZWlnaHRfbDBfZmxhZwoJICBUaGUgaW5kZXggb2YgZWxlbWVudHMgY2Fubm90IGV4Y2VlZCBvciBlcXVhbCB0byB0aGUgc2l6ZSBvZiBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEwMQoKMjAxNC0wMS0xMyAxMDowMTo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgYnVmZmVyIG9mZnNldCB0byBidWZmZXIgdGltZXN0YW1wCgkgIG9nZ211eCBleHBlY3RzIHRoaXMgdG8gb3JkZXIgaW5jb21pbmcgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDc4CgoyMDE0LTAxLTEwIDA4OjU4OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkdmI6IFVzZSBEVkJfQVBJX1ZFUlNJT04gdG8ga25vdyBpZiB3ZSBoYXZlIHJlY2VudCBlbm91Z2ggdmVyc2lvbgoJICBXZSBlbmQgdXAgd2l0aCB0aGUgc2FtZSBlbmQtcmVzdWx0IGJ1dCBpdCdzIG1vcmUgY29tcHJlaGVuc2libGUKCjIwMTQtMDEtMDkgMTY6Mzg6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIGdvb2QgZW5vdWdoIGR2YiBrZXJuZWwgaGVhZGVycwoJICBSZWNlbnQgY2hhbmdlcyBhcmUgdXNpbmcgbmV3IGR2YiBhcGkuIERvbid0IGJ1aWx0IHRoZSBwbHVnaW4sIGlmIHdlIGNhbid0LgoJICBGaXhlcyAjNzIxODY5CgoyMDE0LTAxLTA5IDA4OjE4OjA3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogbWlzYyBjb2RlIGNsZWFudXBzCgkgIEZpeCB0aGUgbGF1bmNoIGV4YW1wbGVzIGZvciAxLjAuIFR1cm4gbW9yZSBsb2dnaW5nIGludG8gX09CSkVDVCB2YXJpYW50cy4KCjIwMTQtMDEtMDkgMDk6MTM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlCgkgIEluc3RlYWQgb2YgdXNpbmcgMiBpbmRleGVzIHRoYXQgd2VyZSBhY3R1YWxseSB0aGUgc2FtZSwgdXNlIG9ubHkKCSAgb25lLiBTYXZlcyBhIHZhcmlhYmxlLgoKMjAxNC0wMS0wOSAwOToxMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IHNlZWtpbmcgd2hlbiB0aGUgbXBkIHVzZXMgYSBzZWdtZW50IHRlbXBsYXRlCgkgIFJlbW92ZSB0aGUgZGFzaGRlbXV4IHNlZWtpbmcgZnVuY3Rpb24gdG8gdXNlIHRoZSBvbmUgaW1wbGVtZW50ZWQKCSAgaW4gbXBkcGFyc2VyIGFzIGl0IGlzIG1vcmUgY29tcGxldGUuIFRoaXMgYWxzbyBtYWtlcyBkYXNoZGVtdXggbm90CgkgIGNyYXNoIHdoZW4gc2Vla2luZyBvbiBzdHJlYW1zIHRoYXQgdXNlIHNlZ21lbnQgdGVtcGxhdGVzLgoKMjAxNC0wMS0wOCAxNjozMzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvIG5vdCBsb3NlIERJU0NPTlQgZmxhZyBpZiBidWZmZXIgaXNuJ3QgcHVzaGVkCgkgIG1wZWc0dmlkZW9wYXJzZSBtaWdodCBub3QgcHVzaCBidWZmZXJzIHdoaWxlIHBhcnNpbmcuIElmIHRob3NlIGJ1ZmZlcnMKCSAgY29udGFpbiB0aGUgRElTQ09OVCBmbGFnLCBpdCBnZXRzIGxvc3QgYW5kIGRvd25zdHJlYW0gd29uJ3QgZ2V0IGFueQoJICBidWZmZXIgd2l0aCB0aGUgZmxhZy4KCSAgRml4IGl0IGJ5IGFkZGluZyB0aGUgRElTQ09OVCB0byB0aGUgbmV4dCBwdXNoZWQgYnVmZmVyLgoJICBUaGlzIG1ha2VzIGJhY2t3YXJkcyBwbGF5YmFjayB3b3JrLgoKMjAxNC0wMS0wNiAyMjoxNToyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBza2lwICdcMCcgc3RyaW5ncyBmb3IgbWV0YWRhdGEKCSAgbGlic25kZmlsZSBkb2VzIG5vdCBmaWx0ZXIgZW1wdHkgc3RyaW5ncy4gV2UgZ2V0IGEgd2FybmluZyBmcm9tIGdzdHJlYW1lciB3aGVuCgkgIHNldHRpbmcgdGhpcyBhcyBhIHRhZy4KCjIwMTQtMDEtMDYgMTU6MTU6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogYnJlYWsgbG9uZyBtZXRob2QKCSAgRXh0cmFjdCB0YWdsaXN0IGNyZWF0aW9uIGludG8gc2VwYXJhdGUgZnVudGlvbi4KCjIwMTQtMDEtMDYgMTU6MDE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3Qtc2N0ZS1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IG1ha2UgaGVhZGVycyB1c2FibGUgd2l0aCBjKysgY29tcGlsZXIKCSAgQWRkIEdfQkVHSU5fREVDTFMgR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEzNgoKMjAxNC0wMS0wNiAxNTowMjozMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiByZW1vdmUgbGVmdCBvdmVyIHByb3BlcnR5LWlkIGVudW0KCjIwMTQtMDEtMDYgMTQ6NTI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEFsbG93cyBodmMxIHZlcnNpb24gMCBhbmQgZml4IHJlYWRpbmcgb2YgTkFMIGNvdW50IGluIGNvZGVjX2RhdGEKCjIwMTQtMDEtMDYgMTQ6NDg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgkgIEFuZCBkb24ndCBhY2Nlc3MgaW52YWxpZCBtZW1vcnkKCjIwMTQtMDEtMDYgMTQ6NDc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogRml4IGRlYnVnIG91dHB1dAoKMjAxNC0wMS0wNiAxMzo1MTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIEhFVkMgLyBoMjY1IHN1cHBvcnQKCjIwMTQtMDEtMDUgMjM6NDQ6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiB0eXBvIGZpeCBpbiBjb21tZW50CgoyMDE0LTAxLTA1IDIzOjQzOjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHRoZSByZWFkIGZ1bmN0aW9ucyBhbHJlYWR5IHJldHVybiBmcmFtZXNfcmVhZAoJICBGaXhlcyBjaG9wcHkgb3V0cHV0LgoKMjAxNC0wMS0wNSAyMzo0MToyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgIHNuZGZpbGU6IGVuYWJsZSByZjY0IGZvcm1hdAoKMjAxNC0wMS0wMiAyMTowMjoyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBhZGQgZGF0ZSB0byB0YWdsaXN0CgoyMDE0LTAxLTAzIDExOjE4OjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IERvY3VtZW50IHRoYXQgc29ja2V0LXBhdGggbWF5IGNoYW5nZQoKMjAxNC0wMS0wMyAxMToxNjo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBDaGFuZ2UgZGVmYXVsdCBzaG0gc2l6ZSB0byA2NCBNaUIKCSAgVGhlIG9yaWdpbmFsIHNpemUgb2YgMjU2ayB3YXMgdG9vIHNtYWxsIGZvciBhbnl0aGluZyB3aGVyZQoJICBvbmUgd291bGQgd2FudCB0byB1c2Ugc2htLiBJZiB0aGUgYnVmZmVyJ3Mgc2l6ZSBuZWVkcyB0byBiZSBsaW1pdCwgaXQgaXMKCSAgYmV0dGVyIHRvIHVzZSBidWZmZXItdGltZSBpbiBtb3N0IGNhc2VzIGFueXdheS4KCjIwMTMtMTAtMTAgMTg6MjU6NDYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQWRkIGR2Yi1zMiwgZHZiLXQyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNAoKMjAxMy0xMC0xMCAxODoyMzoyMCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBDaGFuZ2UgZnJvbSBkZXByZWNhdGVkIGZyb250ZW5kIHR5cGUgZmllbGQgdG8gRFRWX0VOVU1fREVMU1lTCgkgIC1hZGQgZGVsc3lzIHByb3BlcnR5CgkgIC1hZGQgZGVsaXZlcnkgc3lzdGVtIGNhcGFiaWxpdHkgdG8gdGhlIGdzdHJlYW1lciBhZGFwdGVyIHN0cnVjdHVyZQoJICAtcmVhZHkgZm9yIGFkZCBuZXcgZGVsaXZlcnkgc3lzdGVtcwoJICBBcHBsaWNhdGlvbiBtdXN0IGFzayB0aGUgYWRhcHRlciBzdHJ1Y3R1cmUgdG8ga25vdyB3aGljaCBkZWxpdmVyeSBzeXN0ZW1zIGFyZSBhdmFpYmxlLgoJICBUaGUgcHJvcGVydHkgZGVsc3lzIG11c3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDE0LTAxLTAzIDA5OjU5OjM0ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRml4IEdzdENhcHMgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM4MgoKMjAxMy0xMi0zMSAyMjozODowMyArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjkzCgoyMDEzLTEyLTMxIDIzOjE4OjU0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBuZXcgY29sb3IgZm9ybWF0LCBhbmQgZW5oYW5jZSBkZWJ1ZyBvdXRwdXQKCSAgQWRkIGEgbmV3IGNvbG9yIGZvcm1hdCBzZWVuIG9uIG15IEdhbGF4eSBTMwoJICAoT01YX1NFQ19DT0xPUl9Gb3JtYXROVjEyVGlsZWQgPSAweDdmYzAwMDAyKSB0byB0aGUgdGFibGUsCgkgIGJ1dCBkb24ndCBhY3R1YWxseSBpbXBsZW1lbnQgaXQgLSB0aGUgZGVjb2RlciBkb2Vzbid0IGNob29zZSBpdC4KCSAgUmVtb3ZlIGFuIGFzc2VydCB0aGF0IG1ha2VzIHRoZSBwbHVnaW4gZmFpbCBub2lzaWx5IGFuZCB0YWtlIHRoZSBhcHAgZG93bgoJICBpZiBpdCBzZWVzIGEgY29sb3IgZm9ybWF0IGl0IGRvZXNuJ3QgcmVjb2duaXNlIChqdXN0IHNraXAgdGhlIGNvZGVjIGluc3RlYWQpCgkgIE1vZGlmeSB0aGUgZGVidWcgb3V0cHV0IHdoZW4gcGx1Z2luIHNjYW5uaW5nIHRvIHByaW50IGNvbG9yIGZvcm1hdCBpbmZvIHRvCgkgIG1ha2UgdGhpcyBzb3J0IG9mIHRoaW5nIGVhc2llciBpbiB0aGUgZnV0dXJlLgoKMjAxMy0xMi0xOSAyMzowMDoxMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IERvbid0IGRpc3J1cHQgYnVmZmVyIHN0YXRlIGluIHRoZSBjbGlwIGZ1bmN0aW9uCgkgIENvbGxlY3RwYWRzIGFzc3VtZXMgdGhhdCBpdCBjYW4gcGFzcyBhbnkgYnVmZmVyIHRvIHRoZSBjbGlwIGZ1bmN0aW9uCgkgIGZvciBhZGp1c3RtZW50LCBzb21lIG9mIHdoaWNoIGFyZSBhcnRpZmljaWFsbHkgaW5qZWN0ZWQgLSBzbyBkb24ndAoJICBhZGp1c3QgZ2xvYmFsIHRpbWVzdGFtcCB0cmFja2luZyB0aGVyZS4gSW5zdGVhZCwgb25seSBhZGp1c3QgdGhlCgkgIGJ1ZmZlciB0aW1lc3RhbXBzIGFuZCB1c2UgdGhlbSBkaXJlY3RseSBpbiB0aGUgY29sbGVjdGlvbiBmdW5jdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODc0OAoKMjAxMy0xMi0zMCAxNTo0OTo1NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNuZGZpbGU6IGVtaXQgbWlkaS1iYXNlLW5vdGUgdGFnCgkgIFF1ZXJ5IGluc3RydW1lbnQgZGF0YS4gVXNlIGJvdGggJ2xvb3BfaW5mbycgYW5kICdpbnN0cnVtZW50JyB0byBpbmZvcm0gYWJvdXQgdGhlCgkgIGJhc2Vub3RlLgoKMjAxMy0xMi0zMCAxMzoyODo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IFJlbW92ZSB1bm5lZWRlZCBjYWxsCgkgICdwYXJzZScgaXMgYWxyZWFkeSBwcm92aWRlZCBieSB0aGUgcGFyZW50IHZhcmlhYmxlCgoyMDEzLTEyLTI5IDEzOjMxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IFRoZSBwbHVnaW4gd29ya3Mgd2l0aCAyLjQuNyB0b28KCSAgUmVwb3J0ZWQgYnkga3dtIG9uIElSQy4KCjIwMTMtMTItMjggMTI6Mzk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBEb24ndCBzZW5kIGNhcHMgaW4gR3N0QmFzZVBhcnNlOjpzdGFydCgpCgkgIFRoaXMgaXMgdG9vIGVhcmx5IGFuZCB3aWxsIGNvbmZ1c2UgdGhlIGV2ZW50IG9yZGVyLiBUaGUgb3RoZXIKCSAgY29kZSB0aGF0IHNldHMgdGhlIGNhcHMgaXMgYXQgdGhlIHJpZ2h0IHBvc2l0aW9uIGFuZCBkb2VzIGl0CgkgIHByb3Blcmx5IGFscmVhZHkuCgoyMDEzLTEyLTI0IDIzOjE1OjI4ICswMDAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBmaXggaW5wdXQgZGVxdWV1ZSBmb3Igb2Ryb2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMjcKCjIwMTMtMTItMjcgMTQ6Mjk6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBpbmNyZWFzZSBtYXggcGF5bG9hZCBzaXplIHRvIDQwMDAgYnl0ZXMKCSAgMTI3NSBpcyB0aGUgbWF4aW11bSBzaXplIG9mIGEgZnJhbWUsIGJ1dCB0aGUgZW5jb2RlciBtYXkgcmV0dXJuCgkgIHVwIHRvIDMgZnJhbWVzLCBhbmQgd2UgbmVlZCBhIGZldyBleHRyYSBieXRlcyBmb3IgVE9DLCBldGMuIFdlCgkgIHVzZSA0MDAwLCB3aGljaCBpcyBhIGJpdCBtb3JlLCBhbmQgc3VnZ2VzdGVkIGluIHRoZSBsaWJvcHVzIGRvY3MuCgoyMDEzLTEyLTI3IDEwOjI1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBmaXggZy1pIGFubm90YXRpb25zIGFuZCBndGstZG9jIG1hcmt1cAoKMjAxMy0xMi0yMCAxMDowNToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHN0cmVhbSBsb29wIHRocmVhZAoJICBEb3dubG9hZCBhbmQgcHVzaCBmcm9tIHRoZSBzYW1lIHRhc2ssIG1ha2VzIGNvZGUgYSBsb3Qgc2ltcGxlcgoJICB0byBtYWludGFpbi4gQWxzbyBwdXNoaW5nIGZyb20gc2VwYXJhdGUgdGhyZWFkcyBhdm9pZHMgZGVhZGxvY2tpbmcKCSAgd2hlbiBnc3RfcGFkX3B1c2ggYmxvY2tzIGR1ZSB0byBkb3duc3RyZWFtIHF1ZXVlcyBiZWluZyBmdWxsLgoKMjAxMy0xMi0yMCAxOTo0Mjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGZpeCBkZWFkbG9jayBuZWFyIEVPUwoJICBBIGRlYWRsb2NrIGNhbiBoYXBwZW4gd2hlbiB0aGUgc291cmNlIHNlbmRzIEVPUyB3aGVuCgkgIGJlaW5nIHB1dCB0byBOVUxMIGFzIHRoZSBvYmplY3QgbG9jayBpcyBiZWluZyBoZWxkIGJ5IHRoZQoJICB0aHJlYWQgdGhhdCBzZXRzIHRoZSBlbGVtZW50IHRvIE5VTEwgYW5kIGlzIG5lZWRlZCBieQoJICB0aGUgZXZlbnQgaGFuZGxlci4KCjIwMTMtMTItMjAgMTk6Mzk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGRldGVjdCBFT1Mgd2hlbiBzZWdtZW50cyBhcmUgZ2VuZXJhdGVkIGJ5IHRlbXBsYXRlCgkgIFVzZSB0aGUgUGVyaW9kIGR1cmF0aW9uIGRvIGtub3cgd2hlbiB0byBlbmQgdGhlIHN0cmVhbQoKMjAxMy0xMi0xMyAxNzoyNjoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgdHJ5IHRvIGFjY2VzcyBidWZmZXIgYWZ0ZXIgbG9zaW5nIHRoZSByZWYKCSAgRm9yIG9idmlvdXMgcmVhc29ucwoKMjAxMy0xMi0xMyAxNzoyNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdXNlIGEgc2VwYXJhdGUgR3N0VXJpRG93bmxvYWRlciBwZXIgc3RyZWFtCgkgIEF2b2lkcyBvbmUgZG93bmxvYWQgaGF2aW5nIHRvIHdhaXQgZm9yIGFub3RoZXIgdG8gZmluaXNoCgkgIGJlZm9yZSBzdGFydGluZwoKMjAxMy0xMi0wOSAxMzo1NToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogc3RvcmUgR3N0QWN0aXZlU3RyZWFtIHRvIGF2b2lkIGdldHRpbmcgaXQgZXZlcnkgdGltZQoJICBHc3RBY3RpdmVTdHJlYW0gaXMgdXNlZCBldmVyeXdoZXJlIHRvIG9wZXJhdGUgb24gdGhlIE1QRCBjbGllbnQsCgkgIGJldHRlciBzdG9yZSBpdCBpbiB0aGUgR3N0RGFzaERlbXV4U3RyZWFtIHRvIGF2b2lkIGdldHRpbmcgaXQKCSAgZXZlcnl0aW1lCgoyMDEzLTEyLTA5IDEzOjMzOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzaW1wbGlmeSBsb2NraW5nIGZvciBzdHJlYW1zCgkgIFVzZSBhIHNpbmdsZSBsb2NrIGZvciBhbGwgc3RyZWFtcyBpbnN0ZWFkIG9mIGhhdmluZyBzZXBhcmF0ZSBsb2Nrcy4KCSAgVGhpcyBtYWtlcyBtYWludGVuYW5jZSBlYXNpZXIgYW5kIGF0IG1vc3QgcG9pbnRzIHdlIHdvdWxkIG5lZWQKCSAgYSBzaW5nbGUgbG9jayBiZWZvcmUgaXRlcmF0aW5nIG9uIGFsbCBzdHJlYW1zIGRhdGEuIFNvIG5vdCBtdWNoCgkgIGlzIGdhaW5lZCBmcm9tIGluZGl2aWR1YWwgbG9ja3MuCgoyMDEzLTEyLTA5IDExOjI4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtdWx0aXBsZSBwZXJpb2QgbXBkIHBsYXliYWNrCgkgIE1ha2UgZGFzaCBwbGF5bGlzdHMgd2l0aCBtdWx0aXBsZSBwZXJpb2RzIHdvcmsgYWdhaW4gYnkgd2FpdGluZwoJICB0byBzd2l0Y2ggdGhlIHBlcmlvZHMgd2hlbiBhbGwgc3RyZWFtcyBoYXZlIHJlYWNoZWQgdGhlIGVuZCBvZgoJICB0aGUgY3VycmVudCBwZXJpb2QuIFRoZSBzdHJlYW1fbG9vcCBpcyByZXNwb25zaWJsZSBmb3IgYWR2YW5jaW5nCgkgIHRoZSBwZXJpb2QsIGJ1dCB0aGUgZG93bmxvYWQgbG9vcHMgd2lsbCBhbHJlYWR5IHN0YXJ0IGRvd25sb2FkaW5nCgkgIGRhdGEgZm9yIHRoZSBuZXh0IHBlcmlvZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoKMjAxMy0xMi0wNSAwMjo1MzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhZGQgY29tYmluZSBmbG93cyBmdW5jdGlvbgoJICBVc2UgYSBmbG93IGNvbWJpbmF0aW9uIGZ1bmN0aW9uIHRvIGRlY2lkZSB0aGUgcmVzdWx0IGZyb20gdGhlCgkgIHN0cmVhbV9sb29wCgoyMDEzLTEyLTA0IDExOjMwOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgbXVsdGlwbGUgbGFuZ3VhZ2VzCgkgIEhhbmRsZSBtdWx0aXBsZSBsYW5ndWFnZXMgYnkgdXNpbmcgdGhlIG5vdC1saW5rZWQgcmV0dXJuIHRvIHN0b3AKCSAgdGhlIGRvd25sb2FkIHRhc2sgZm9yIHRoYXQgc3RyZWFtLiBJdCBjYW4gYmUgcmVhY3RpdmF0ZWQgd2hlbgoJICBhIHJlY29uZmlndXJlIGV2ZW50IGlzIHJlY2VpdmVkLiBTdG9wcGluZyB0aGUgdW51c2VkIHN0cmVhbXMgaXMKCSAgcmVsZXZhbnQgdG8gc2F2ZSBuZXR3b3JrIGJhbmR3aWR0aAoKMjAxMy0xMi0wMyAxNjoxNjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogVXNlIDEgZG93bmxvYWQgdGFzayBwZXIgc3RyZWFtCgkgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIGRvd25sb2FkIHRhc2sgZm9yIGFsbCBzdHJlYW1zLCB0aGlzCgkgIGNvbW1pdCBtYWtlcyBlYWNoIHN0cmVhbSBoYXZlIGl0cyBvd24gZG93bmxvYWQgbG9vcCwgYWxsb3dpbmcKCSAgcGFyYWxsZWwgZG93bmxvYWQgb2YgZnJhZ21lbnRzLgoKMjAxMy0xMi0wMyAwMDoxMjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3IgZnJhZ21lbnQgZmV0Y2hpbmcgaW50byBzbWFsbGVyIGZ1bmN0aW9ucwoJICBNYWtlcyBpdCBlYXNpZXIgdG8gbWFpbnRhaW4gYW5kIGV4dGVuZC4gVGhpcyBpcyBhIGZpcnN0IHN0ZXAgaW50bwoJICBhZGRpbmcgbXVsdGkgbGFuZ3VhZ2Ugc3VwcG9ydCB0byBkYXNoZGVtdXgKCjIwMTMtMTItMDIgMTc6NDE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJ1biBnc3QtaW5kZW50CgkgIExvdHMgb2YgaW5kZW50YXRpb24gaXNzdWVzIG1ha2luZyBpdCB2ZXJ5IGFubm95aW5nIHRvIGNvbW1pdAoJICBiZWNhdXNlIG9mIHRoZSBpbmRlbnQgaG9vay4gRml4IHRoaXMgZm9yIG9uY2UuCgoyMDEzLTEyLTAyIDE3OjMxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZXhwb3NlIGFsbCBzdHJlYW1zCgkgIGFsd2F5cyBleHBvc2UgYWxsIHN0cmVhbXMgaW5zdGVhZCBvZiBvbmx5IGV4cG9zaW5nIG9uZSBvZiBlYWNoIHR5cGUuCgkgIFRoaXMgaXMgbW9yZSBhbGlnbmVkIHdpdGggZ3N0cmVhbWVyJ3Mgd2F5IG9mIHdvcmtpbmcuIEFsbG93cyB0aGUgdXNlcgoJICB0byBzZWxlY3QgdGhlIHN0cmVhbSB0aGF0IGl0IHdhbnRzIHRvIHVzZSBieSBsaW5raW5nIGl0cyBwYWQgYW5kIGxlYXZpbmcKCSAgdGhlIHVudXNlZCBvbmVzIGFzIHVubGlua2VkLgoKMjAxMy0xMi0yNCAxMTo1MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgY2xlYW4gdXAgcmVuZGVyYnVmZmVycyBhbmQgRUFHTCBjb250ZXh0CgoyMDEzLTEyLTIzIDE1OjMzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBQcm9wZXJseSBzZXQgb3V0cHV0IGZvcm1hdAoJICBPdGhlcndpc2UgdGhpcyB3aWxsIGp1c3QgZXJyb3Igb3V0IGlmIHdlIG9ubHkgc2V0IGNhcHMgb24gdGhlIHNyY3BhZC4KCjIwMTMtMTItMjIgMjI6MzM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRiZWRhYTAgdG8gZDQ4YmVkMwoKMjAxMy0xMi0yMiAyMTo1NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogc2V0IGdldHRleHQgZG9tYWluIGluIE1ha2V2YXJzIHNvIHdlIGRvbid0IGhhdmUgdG8gcGF0Y2ggdGhlIGdlbmVyYXRlZCBNYWtlZmlsZS5pbi5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDU1CgoyMDEzLTEyLTIyIDE3OjQ2OjQwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHRoZSBjb3JyZWN0IHN0cmlkZSBpbiB0aGUgdmlkZW8gbWV0YQoKMjAxMy0xMi0yMiAxNzo0NDowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogZml4IGFhYyBkZWNvZGluZyBvbiBNYXZlcmlja3MKCjIwMTMtMTItMjAgMTg6MTI6NTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBzbWFsbCBzZWVraW5nIGNvZGUgcmVzaHVmZmxlCgkgIFB1dCB0aGUgY29kZSB0aGF0IGNoZWNrcyBzdG9wIHZhbHVlcyB0b2dldGhlci4gRG9uJ3QgY2xhbXAgYSBjdXIgdmFsdWUgb2YgLTEgdG8gMCAoc2hvdWxkIG5vdCBoYXBwZW4gcmlnaHQgbm93KS4KCjIwMTMtMTItMjAgMTg6MTA6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogbWFrZSBfc3RvcCgpIG5vbiBmYXRhbCB3aGVuIHdlIGhhdmUgYW4gZXJyb3IgYWxyZWFkeQoJICBIYXZpbmcgbm8gb3BlbiBmaWxlIGluIF9zdG9wKCkgaXMgb2theS4gSnVzdCByZXNldCBzdGF0ZS4KCjIwMTMtMTItMjAgMTg6MDg6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzZmRlYzogYWRkIGV2ZW50IGZ1bmN0aW9uIGFuZCBzZWVraW5nIHN1cHBvcnQKCjIwMTMtMTItMTggMDg6MTI6MDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogYWRkIHRhZ2xpc3Qgc3VwcG9ydAoJICBNYXAgdGhlIG1ldGFkYXRhIHN0cmluZ3MgYW5kIGEgYnVuY2ggb2YgaW5mby1maWVsZHMgdG8gR1N0cmVhbWVyIHRhZ3MuCgoyMDEzLTEyLTE3IDIyOjI1OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuaDoKCSAgc2ZkZWM6IGFkZCBxdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgcG9zaXRpb24gYW5kIGR1cmF0aW9uCgoyMDEzLTEyLTE3IDE3OjU2OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuaDoKCSAgc25kZmlsZTogcmV3cml0ZSBzbmRmaWxlIGZvciAxLjAKCSAgQWRkIGEgc2ZkZWMgZm9yIGEgc3RhcnQuIEluc3RlYWQgb2YgYSBzb3VyY2UgcGx1Z2luLCB0aGlzIGlzIGEgZGVtdXhlci9kZWNvZGVyIGNvbWJpbmF0aW9uLiBUaGlzIG1ha2VzIGl0IHdvcmsgd2l0aCBhdXRvLXBsdWdnaW5nLgoKMjAxMy0xMi0yMCAwMDozOTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1cGRhdGluZyBkb2NzIGV4cGxhaW5pbmcgaG93IGl0IHdvcmtzCgkgIG1zc2RlbXV4IGNoYW5nZWQgYSBsb3QgYW5kIHRoZSBkb2NzIHdlcmUgbm90IGNvcnJlY3QgYW55bW9yZS4KCSAgQWxzbyBhZGRzIHRoZSAnQWRhcHRpdmUnIGNhdGVnb3J5IHRvIGl0cyBkZXRhaWxzCgoyMDEzLTEyLTE5IDE0OjMwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCBwdXNoIGV2ZW50IGhvbGRpbmcgb2JqZWN0IGxvY2sKCSAgQ2FuIGxlYWQgdG8gZGVhZGxvY2tzIGFzIHRoZSBwdXNoIG1pZ2h0IGJsb2NrIGRvd25zdHJlYW0gaW4KCSAgc2VyaWFsaXplZCBldmVudCBjYXNlcy4KCjIwMTMtMTItMTkgMTQ6Mjk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbG9jayBhcm91bmQgJ2NhbmNlbGxlZCcgZmxhZwoJICBQcmV2ZW50cyByYWNlIGNvbmRpdGlvbnMgd2hlbiBwaXBlbGluZSBpcyBzZWVraW5nIG5lYXIgZW9zCgoyMDEzLTEyLTE5IDIxOjU5OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBbHNvIHJlc3luYyB0aW1lc3RhbXBzIG9uIHRoZSBSRVNZTkMgZmxhZwoKMjAxMy0xMi0xOSAyMTozNjo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogRG9uJ3Qgc2V0IHRoZSBFQUdMQ29udGV4dCBvZiB0aGUgbWFpbiB0aHJlYWQgYW5kIGRvbid0IHJldXNlIGl0IGVpdGhlcgoJICAuLi4gaW5zdGVhZCBjcmVhdGUgYSBuZXcgY29udGV4dCBmb3IgZXZlcnkgc2luayBpbnN0YW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDQyMQoKMjAxMy0xMi0xOSAwODo1Nzo0MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvYnVmZmVyOiBmaXggZm9yIHBsYW5hciBmb3JtYXRzCgoyMDEzLTEyLTE5IDA3OjU0OjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW1vdmUgc2lsbHkgc3RyaWRlIHJlcXVpcmVtZW50CgkgIFRoaXMgaXMgbGVnYWN5IGZyb20gdGhlIDAuMTAgdGltZXMsIGFuZCBpdCBpc24ndCBjbGVhciBob3cgaXQgd2FzIHVzZWZ1bCBiYWNrCgkgIHRoZW4gYWxzby4nCgoyMDEzLTEyLTE5IDExOjExOjI4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSAgZGlyZWN0ZmI6IEFkZCBoYWNrIHRvIGZpeCBjb21waWxlIHdpdGggYnJva2VuIERpcmVjdEZCIGRlZmluZQoJICBDb21waWxhdGlvbiBicmVha3MgYmVjYXVzZSBzb21lIHZlcnNpb25zIG9mIERpcmVjdEZCIHJlZGVmaW5lCgkgIF9fbm9faW5zdHJ1bWVudF9mdW5jdGlvbl9fLCB3aGljaCBpcyB1c2VkIGluIHRoZSBHX0dOVUNfTk9fSU5TVFJVTUVOVAoJICBtYWNyby4KCjIwMTMtMTItMTcgMTc6NTU6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNlZ2ZhdWx0IHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyBjb2RlY19kYXRhCgkgIENoZWNrIGlmIGNvZGVjX2RhdGEgd2FzIG9idGFpbmVkIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0IHRvCgkgIHByZXZlbnQgYSBzZWdmYXVsdAoKMjAxMy0xMi0xNyAxNzo1NDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGdlbmVyYXRlIGNhcHMgZnJvbSBhdWRpb3RhZyBhdHRyaWJ1dGUKCSAgU29tZSBhdWRpbyB3aWxsIGhhdmUgaXRzIGF1ZGlvIGZvcm1hdCBkZWZpbmVkIGJ5IHRoZSBBdWRpb1RhZwoJICBpbnN0ZWFkIG9mIHRoZSBGb3VyY2MuIEZhbGxiYWNrIHRvIHVzaW5nIEF1ZGlvVGFnIGlmIEZvdXJjYwoJICBpc24ndCBhdmFpbGFibGUKCjIwMTMtMTItMTcgMTY6MzE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbWFrZSBzdXJlIHN0cmVhbXMgc3RvcCBwcm9wZXJseSBvbiBjYW5jZWxsZWQKCSAgc3BlY2lhbGx5IHdoZW4gdGhlIGdzdF90YXNrX2pvaW4gaXMgd2FpdGluZyBmb3IgdGhlIHRhc2sKCSAgdG8gZ28gc3RvcCBhbmQgdGhlIHRhc2sgaXRzZWxmIHNldHMgaXRzIGJhY2sgdG8gcGF1c2VkLCBjYXVzaW5nCgkgIGEgZGVhZGxvY2sgb24gZXhpdC4KCjIwMTMtMTItMTcgMTM6MTY6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB0cmFjayBzZWdtZW50cyBwZXIgc3RyZWFtCgkgIEFzIHN0cmVhbXMgbm93IGZsb3cgaW5kZXBlbmRlbnRseSwgdGhlIEdzdFNlZ21lbnQgbmVlZHMgdG8gYmUgcHV0CgkgIG9uIGVhY2ggc3RyZWFtIHNvIHRoZXkgY2FuIHRyYWNrIHRoZSBwb3NpdGlvbiBvZiBlYWNoIG9uZSBjb3JyZWN0bHkKCSAgaW5zdGVhZCBvZiBiZWluZyBtaXhlZCBpbiBhIHNpbmdsZSBzZWdtZW50CgoyMDEzLTExLTE0IDE1OjIzOjQyICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHB1c2ggbGFuZ3VhZ2UgY29kZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjM1OAoKMjAxMy0xMS0xNCAxNToxNDoxOCArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzbWFuaWZlc3Q6IHN0b3JlIHRoZSBsYW5ndWFnZSBvZiB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzNTgKCjIwMTMtMTItMTYgMTY6MTQ6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgdGhlIHN0cmVhbSBsb29wIHRhc2sKCSAgRG93bmxvYWQgYW5kIHB1c2ggZnJvbSB0aGUgc2FtZSB0YXNrLCBtYWtlcyBjb2RlIGEgbG90IHNpbXBsZXIKCSAgdG8gbWFpbnRhaW4uIEFsc28gcHVzaGluZyBmcm9tIHNlcGFyYXRlIHRocmVhZHMgYXZvaWRzIGRlYWRsb2NraW5nCgkgIHdoZW4gZ3N0X3BhZF9wdXNoIGJsb2NrcyBkdWUgdG8gZG93bnN0cmVhbSBxdWV1ZXMgYmVpbmcgZnVsbAoKMjAxMy0xMi0xMyAxNzozMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBJbXByb3ZlIGxvZ2dpbmcKCSAgU2hvdyB0aGUgc3RyZWFtJ3MgcGFkIG9uIGxvZyBtZXNzYWdlcyB0byBtYWtlIGVhc2llciB0byBkZWJ1ZwoJICBpc3N1ZXMgaW4gdGhlIG11bHRpcGxlIHRocmVhZHMKCjIwMTMtMTItMTAgMTg6MDg6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaW1wcm92ZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBIYW5kbGUgZGlmZmVyZW50IGZsb3cgcmV0dXJucyBib3RoIGZyb20gdGhlIHN0cmVhbWluZyBhbmQgdGhlCgkgIGRvd25sb2FkaW5nIGxvb3BzCgoyMDEzLTEyLTEwIDE1OjQxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVtb3ZlIHN0cmVhbSBsb2NrcwoJICBTaW1wbGlmeSB0aGUgbG9ja2luZyBieSB1c2luZyBhIHNpbmdsZSBsb2NrIGluc3RlYWQgb2YgaGF2aW5nIG9uZQoJICBsb2NrIHBlciBzdHJlYW0uIFRoaXMgc3RpbGwgd29ya3MgYW5kIGlzIHNpbXBsZXIgdG8gbWFpbnRhaW4uCgoyMDEzLTExLTEyIDA5OjU4OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYXZvaWQgZG93bmxvYWRpbmcgbm90LWxpbmtlZCBzdHJlYW1zCgkgIFdoZW4gYSBzdHJlYW0gZ2V0cyBhIG5vdC1saW5rZWQgcmV0dXJuLCBpdCB3aWxsIGJlIG1hcmtlZCBhcyBzbyBhbmQKCSAgd29uJ3QgZG93bmxvYWQgYW55IG1vcmUgbmV3IGZyYWdtZW50cyB1bnRpbCBhIHJlY29uZmlndXJlIGV2ZW50CgkgIGlzIHJlY2VpdmVkLiBUaGlzIHdpbGwgbWFrZSBtc3NkZW11eCBleHBvc2UgYWxsIHBhZHMsIGJ1dCBvbmx5IGRvd25sb2FkCgkgIGZyYWdtZW50cyBmb3IgdGhlIHN0cmVhbXMgdGhhdCBhcmUgYWN0dWFsbHkgYmVpbmcgdXNlZC4KCSAgUmVseWluZyBvbiB0aGUgcGFkcyBiZWluZyBsaW5rZWQvdW5saW5rZWQgaXNuJ3QgZW5vdWdoIGluIHRoaXMgc2NlbmFyaW8KCSAgYXMgdGhlcmUgbWlnaHQgYmUgYW4gaW5wdXQtc2VsZWN0b3IgZG93bnN0cmVhbSB0aGF0IGlzIGFjdHVhbGx5IGRpc2NhcmRpbmcKCSAgYnVmZmVycyBmb3IgYSBnaXZlbiBsaW5rZWQgcGFkLgoJICBXaGVuIHN0cmVhbXMgYXJlIHN3aXRjaGluZywgdGhlIG9sZCBhY3RpdmUgc3RyZWFtIGNhbiBiZSBibG9ja2VkIGJlY2F1c2UKCSAgaW5wdXQtc2VsZWN0b3Igd2lsbCBibG9jayBub3QtbGlua2VkIHN0cmVhbXMuIEluIGNhc2UgdGhlIG1zc2RlbXV4J3MKCSAgc3RyZWFtIGxvb3AgaXMgYmxvY2tlZCBwdXNoaW5nIGEgYnVmZmVyIHRvIGEgZnVsbCBxdWV1ZSBkb3duc3RyZWFtIGl0IHdpbGwKCSAgbmV2ZXIgdW5ibG9jayBhcyB0aGUgcXVldWUgd2lsbCBub3QgZHJhaW4gKGlucHV0LXNlbGVjdG9yIGlzIGJsb2NraW5nKS4KCSAgSW4gdGhpcyBzY2VuYXJpbywgc3RyZWFtIHN3aXRjaGluZyB3aWxsIGRlYWRsb2NrIGFzIGlucHV0LXNlbGVjdG9yIGlzCgkgIHdhaXRpbmcgZm9yIHRoZSBuZXdseSBhY3RpdmUgc3RyZWFtIGRhdGEgYW5kIHRoZSBzdHJlYW1fbG9vcCB0aGF0IHdvdWxkCgkgIHB1c2ggdGhpcyBkYXRhIGlzIGJsb2NrZWQgd2FpdGluZyBmb3IgaW5wdXQtc2VsZWN0b3IuCgkgIFRvIHNvbHZlIHRoaXMgaXNzdWUsIHdoZW5ldmVyIGFuIHN0cmVhbSBpcyByZWFjdGl2YXRlZCBvbiBhIHJlY29uZmlndXJlCgkgIGl0IHdpbGwgZW50ZXIgaW50byB0aGUgJ2NhdGNoIHVwIG1vZGUnLCBpbiB0aGlzIG1vZGUgaXQgY2FuIHB1c2ggYnVmZmVycwoJICBmcm9tIGl0cyBkb3dubG9hZCB0aHJlYWQgdW50aWwgaXQgcmVhY2hlcyB0aGUgY3VycnJlbnQgR3N0U2VnbWVudCdzIHBvc2l0aW9uLgoJICBUaGlzIHdvcmtzIGJlY2F1c2UgdGhpcyB0aW1lc3RhbXAgd2lsbCBhbHdheXMgYmUgYmVoaW5kIG9yIGVxdWFsIHRvIHRoZSBtYXhpbXVtCgkgIHRpbWVzdGFtcCBwdXNoZWQgZm9yIGFsbCBzdHJlYW1zLCBhZnRlciBwdXNoaW5nIGRhdGEgZm9yIHRoaXMgdGltZXN0YW1wLAoJICB0aGUgc3RyZWFtIHdpbGwgZ28gYmFjayB0byBkZWZhdWx0IGFuZCBiZSBwdXNoZWQgc2VxdWVudGlhbGx5IGZyb20gdGhlIG1haW4KCSAgc3RyZWFtaW5nIHRocmVhZC4gQnkgdGhpcyB0aW1lLCB0aGUgaW5wdXQtc2VsZWN0b3Igc2hvdWxkIGhhdmUgYWxyZWFkeQoJICByZWxlYXNlZCB0aGUgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODQ5CgoyMDEzLTEyLTE4IDE2OjI2OjE3IC0wNTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBkb2N1bWVudGF0aW9uIG9mIEdzdE1wZWdWaWRlb1NlcXVlbmNlU2NhbGFibGVNb2RlCgoyMDEzLTEyLTE4IDEzOjQ4OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBEb24ndCBpbmNsdWRlIGxpYnJhcmllcyBpbiB0aGUgZ2VuZXJpYyBnc3QtcGx1Z2lucy1iYWQgcGMgZmlsZQoKMjAxMy0xMi0xOCAxMzo0NToyMiArMDEwMCAgTWFyaXVzeiBCdXJhcyA8bWFyaXVzei5idXJhc0B5b3V2aWV3LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIG1wZWd0czogSW5zdGFsbCBnZW5lcmF0ZWQgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNjczCgoyMDEzLTEyLTE3IDEwOjAxOjQyICswMTAwICBEYXZpZGUgQmVydG9sYSA8ZGFkZUBkYWRlYi5pdD4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBFbmFibGUgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgZGVjb2Rpbmcgb24gMTAuOQoKMjAxMy0xMi0xNyAxMjoxNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsOiBGaXggaW5kZW50aW9uCgoyMDEzLTEyLTE3IDEyOjA2OjEzICswMTAwICBIYXJpZGFzcyBTZWx2YXJhaiA8aGFyaWRhc2pAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJICBjdXJsZnRwc2luazogT3B0aW9uYWxseSBjcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZSBkdXJpbmcgRlRQIHRyYW5zZmVyL3VwbG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjIwCgoyMDEzLTEyLTE3IDEwOjIzOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogR2l2ZSBwcmVmZXJlbmNlIHRvIHRoZSBvcmRlciBvZiB0aGUgZmlsdGVyIGNhcHMgd2hlbiBxdWVyeWluZyBjYXBzCgoyMDEzLTEyLTE3IDEwOjIxOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogT25seSBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGNhcHMgaWYgdGhlcmUgYWN0dWFsbHkgaXMgYSBmaWx0ZXIKCjIwMTMtMTItMTUgMjE6MDU6MzEgLTA4MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogU29tZSBjb21waWxlciB3YXJuaW5nIGZpeGVzIHRvIHNhdGlzZnkgWENvZGUgY29tcGlsZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMwoKMjAxMy0xMi0xNiAxNjowNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogUmVhZCBpbWFnZS1kZXNjcmlwdGlvbiBmcm9tIHRoZSBpbmZvIHN0cnVjdHVyZSwgbm90IHRoZSBjYXBzCgoyMDEzLTEyLTE2IDExOjE0OjI5ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCB0eXBvIGluIGJ6MiBjaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTMyCgoyMDEzLTEyLTE2IDExOjUxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBXcml0ZSBpbWFnZS10eXBlIGludG8gdGhlIEFQSUMgdGFnCgoyMDEzLTEyLTE2IDEwOjI1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoyNDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJICBwbmdwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MjI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVc2UgcGJ1dGlscyBBUEkgdG8gY3JlYXRlIHRoZSBWSURFT19DT0RFQyB0YWcgc3RyaW5nCgoyMDEzLTEyLTE2IDEwOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkgIGgyNjVwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE2OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSAgZGlyYWNwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTQgMTg6MTI6NTMgLTA1MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IFByb2Nlc3MgRU9TIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gaW5jb21pbmcgdmlkZW8gZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzAwCgoyMDEzLTEyLTE0IDE1OjU1OjQyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBoYW5kbGUgbGV2ZWwgMyBpbiBnZXRfZHBiX21heF9tYl9zX2Zyb21fbGV2ZWwuIG9vcHMuCgoyMDEzLTEyLTE0IDE1OjU1OjIyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBmaXggbXAzIGNhcHMKCjIwMTMtMTItMTQgMTg6NDI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogU2V0IEdTVF9FTEVNRU5UX0ZMQUdfU09VUkNFIG9uIHRoZSBzb3VyY2UKCSAgQXMgaXQgZG9lcyBub3QgaW5oZXJpdCBmcm9tIGJhc2VzcmMsIHRoaXMgZmxhZyBpcyBub3QgYXV0b21hdGljYWxseSBzZXQKCSAgYW5kIGUuZy4gZ3N0X2Jpbl9pdGVyYXRlX3NvdXJjZXMoKSBhbmQgb3RoZXIgY29kZSBkb2VzIG5vdCBjb25zaWRlciB0aGlzCgkgIGVsZW1lbnQgYSBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMTItMTQgMTM6MzI6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGFkZCBtaXNzaW5nIEFNX0NPTkRJVElPTkFMIGZvciBPUEVORVhSIGFuZCBTQkMKCSAgTWFrZXMgbXkgYXV0b21ha2UgKDEuMTQpIGhhcHBpZXIuCgoyMDEzLTEyLTE0IDEzOjMwOjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhbHdheXMgaW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggbmV3ZXN0IHhjb2RlLgoKMjAxMy0xMi0xMiAxNzo0OToyNCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBub3QgYWxsIHN0YXJ0Y29kZXMgc2hvdWxkIGhhdmUgMy1ieXRlIDAgcHJlZml4CgkgIFRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0IGV2ZXJ5IHRpbWUgdGhlcmUgaXMgYSAwIGJlZm9yZSB0aGUgc3RhcnRjb2RlLAoJICBpdCBpcyBwYXJ0IG9mIHRoZSBzdGFydGNvZGUuIEJ1dCB0aGF0J3Mgbm90IHRydWUuCgkgIEZyb20gdGhlIHNwZWNpZmljYXRpb24KCSAgQnl0ZSBzdHJlYW0gTkFMIHVuaXQgc3ludGF4CgkgIHplcm9fYnl0ZSBpcyBhIHNpbmdsZSBieXRlIGVxdWFsIHRvIDB4MDAuCgkgIFdoZW4gYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgZnVsZmlsbGVkLCB0aGUgemVyb19ieXRlIHN5bnRheAoJICBlbGVtZW50IHNoYWxsIGJlIHByZXNlbnQuCgkgIOKAkyB0aGUgbmFsX3VuaXRfdHlwZSB3aXRoaW4gdGhlIG5hbF91bml0KCApIGlzIGVxdWFsIHRvIDcgKHNlcXVlbmNlIHBhcmFtZXRlcgoJICBzZXQpIG9yIDggKHBpY3R1cmUgcGFyYW1ldGVyIHNldCkKCSAg4oCTIHRoZSBieXRlIHN0cmVhbSBOQUwgdW5pdCBzeW50YXggc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBmaXJzdCBOQUwgdW5pdCBvZiBhbgoJICBhY2Nlc3MgdW5pdCBpbiBkZWNvZGluZyBvcmRlciwgYXMgc3BlY2lmaWVkIGJ5IHN1YmNsYXVzZSA3LjQuMS4yLjMuCgkgIFRoZSBwcm9ibGVtIHdpdGggZG9pbmcgdGhpcyBmb3IgYWxsIHN0YXJ0Y29kZXMgaXMgdGhhdCBhIHRyYWlsaW5nIHplcm8gY2FuIG1lc3MKCSAgdXAgdGltZXN0YW1wcy4gVGhlIHRyYWlsaW5nIHplcm8gZ2V0cyBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0Y29kZSwgd2hpY2ggd2lsbAoJICBjYXJyeSB0aGUgUFRTIGFuZCBEVFMgb2YgcHJldmlvdXMgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NDQzCgoyMDEzLTEyLTEwIDExOjI3OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZwYXJzZTogYWRkIHRpbWVzdGFtcHMgdG8gcGFja2V0cwoJICByZS1lbmFibGUgdGhlIGNvZGUgdGhhdCBhZGRzIHRpbWVzdGFtcHMgdG8gcGFja2V0cyBhZnRlciBiYXNlcGFyc2UncwoJICBwb3J0CgoyMDEzLTEyLTEwIDEwOjM0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkgIGFzZnBhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoJICBhc2ZwYXJzZSB3YXMgbm90IHJlYWxseSBmdW5jdGlvbmFsIGFmdGVyIHRoZSBwb3J0IHRvIDEuMAoJICBOb3cgcG9ydGluZyBpdCB0byBiYXNlcGFyc2UgdG8gZ2V0IGl0IHdvcmtpbmcgYWdhaW4KCjIwMTMtMTItMTMgMTE6NDk6NTIgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggcmVhZGluZyBvZiBkaXNwbGF5IHdpbmRvdyBpbiBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudAoJICBGcm9tIEVUU0kgRU4gMzAwIDc0MyBWMS4zLjEgKDIwMDYtMTEpIDcuMi4xIERpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHNwZWNpZmljdGF0aW9ucwoJICB0aGUgcGFyYW1ldGVycyBvZiBkaXNwbGF5IHdpbmRvdyBhcmUgaW4gdGhpcyBvcmRlcjogWG1pbiwgWG1heCwgWW1pbiwgWW1heC4KCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIFNpZ25lZC1vZmYtYnk6IFBpZXJyZS1ZdmVzIE1vcmRyZXQgPHBpZXJyZS15dmVzLm1vcmRyZXRAc3QuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzgyCgoyMDEzLTEyLTEzIDE0OjE2OjQ5IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHNydHA6IGFkZCAyNTYtYml0IGtleSBzdXBwb3J0CgkgICogZXh0L3NydHAvZ3N0c3J0cC5bY2hdOiBhZGRlZCBHU1RfU1JUUF9DSVBIRVJfQUVTXzI1Nl9JQ00gdG8KCSAgR3N0U3J0cENpcGhlclR5cGUgYW5kIG5ldyBmdW5jdGlvbiBjaXBoZXJfa2V5X3NpemUuCgkgICogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOiBtYXhpbXVtIGtleSBzaXplIGlzIG5vdyA0NiBjaGFyYWN0ZXJzICgxNCBmb3IKCSAgdGhlIHNhbHQgcGx1cyB0aGUga2V5KS4gSWYgZGlmZmVyZW50IGNpcGhlcnMgYXJlIGNob3NlbiBmb3IgUlRQIGFuZAoJICBSVENQIHRoZSBtYXhpbXVtIG5lZWRlZCBrZXkgc2l6ZSBpcyBleHBlY3RlZC4KCSAgKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6IG1pbm9yIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDQzNAoKMjAxMy0xMi0xMiAxMzoyMToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogcHJvY2VzcyBhbGwgYXZhaWxhYmxlIGlucHV0IGZyYW1lcyBpbiBvbmUgZ28KCSAgSW5zdGVhZCBvZiBwYXJzaW5nLCBkZWNvZGluZyBhbmQgc2VuZGluZyBvdXQKCSAgbG90cyBvcyBsaXR0bGUgMjBtcyBhdWRpbyBidWZmZXJzIG9uZSBieSBvbmUuCgoyMDEzLTEyLTExIDE4OjUyOjUzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggY29tcGlsZXIgd2FybmluZyAodW5pbml0aWFsaXplZCB2YXJpYWJsZSkKCjIwMTMtMTItMTEgMDg6MTE6NTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbmFtZSByZW9yZGVyX3F1ZXVlX2ZyYW1lX2RlbGF5IHRvIHJlb3JkZXJfcXVldWVfbGVuZ3RoCgoyMDEzLTEyLTExIDA4OjEwOjE5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZXBvcnQgbGF0ZW5jeQoKMjAxMy0xMi0xMSAwNzo1ODoyMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHJlb3JkZXIgcXVldWUgbGVuZ3RoIHRvIHRoZSBtYXggRFBCIGxlbmd0aAoJICBTZXQgcmVvcmRlcl9xdWV1ZV9mcmFtZV9kZWxheSBmcm9tIHRoZSBEUEIgc2l6ZSAoaW4gZnJhbWVzKS4gU3RpbGwgbm90IG9wdGltYWwsCgkgIGFzIHRoZSBEUEIgc2l6ZSBpcyBsYXJnZXIgdGhhbiB0aGUgbWF4IGJmcmFtZSBmb3J3YXJkIHByZWRpY3Rpb24gbGVuZ3RoLCBidXQgSQoJICBkb24ndCBrbm93IGhvdyB0byBjb21wdXRlIHRoZSBsYXR0ZXIgd2l0aG91dCBwYXJzaW5nIGV2ZXJ5IGdyb3VwIG9mIHBpY3R1cmVzLgoKMjAxMy0xMi0xMCAyMzowNjo1MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIHNvdW5kdG91Y2g6IENhbGwgZGVmYXVsdCBldmVudCBoYW5kbGVyIGZvciBiYXNldHJhbnNmb3JtCgkgIE1ha2UgcGlwZWxpbmUgZW5kIHByb3Blcmx5IGF0IEVPUyBhbmQgbm90IGxlYWsgYnkgcGFzc2luZyBldmVudHMKCSAgdG8gdGhlIGRlZmF1bHQgZXZlbnQgaGFuZGxlci4KCjIwMTMtMTItMDYgMDA6NDU6NTAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcmFjeSBnbGliIHdhcm5pbmcuCgkgIFNvbWV0aW1lcywgdGhlIHBhZCBwcm9iZXMgY2FuIGJlIGNhbGxlZCB0d2ljZSAtIGZvciBPT0IgZXZlbnRzCgkgIHRyYXZlbGxpbmcgZG93bnN0cmVhbS4gQ2xlYXIgb3V0IHRoZSBwYWQgYmxvY2sgaWQsIHNvIGl0IG9ubHkKCSAgZ2V0cyByZW1vdmVkIG9uY2UuCgoyMDEzLTEyLTA2IDAwOjIyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBmaXggZGVjb2Rpbmcgb2YgYXVkaW8vbXMtZ3NtIHZhcmlhbnQKCSAgQWx0ZXJuYXRlcyBiZXR3ZWVuIDMzIGFuZCAzMiBieXRlIGZyYW1lcywgYnV0IG11c3Qgc3RhcnQKCSAgd2l0aCBhIDMzIGJ5dGUgZnJhbWUuIFRoaXMgaGFzIGJlZW4gYnJva2VuIGZvciBhZ2VzIHNpbmNlCgkgIHRoZSBlbGVtZW50IHdhcyBwb3J0ZWQgdG8gdGhlIGF1ZGlvIGRlY29kZXIgYmFzZSBjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNgoKMjAxMy0xMi0xMCAxMToxMDo1NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHNldCB0aGUgY29ycmVjdCB2aWRlbyBmb3JtYXQgaW4gdGhlIHZpZGVvIG1ldGEKCSAgRml4ZXMgYWxsIGtpbmRzIG9mIHdlaXJkIGJ1Z3Mgd2hlbiB2aWRlb2NvbnZlcnQgaXMgdXNlZCB3aXRoIHRoZSBkZWNvZGVyLgoKMjAxMy0wNC0xNyAxMDo0NDo0OCArMDgwMCAgQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBpY3R1cmUgbGV2ZWwgc2NhbGluZyBsaXN0cyBkZXJpdmF0aW9uIChydWxlIEIpLgoJICBGaXggcGljdHVyZSBsZXZlbCBzY2FsaW5nIGxpc3RzIGRlcml2YXRpb24gZnJvbSBmYWxsLWJhY2sgcnVsZSBzZXQgQiwKCSAgYXMgc3BlY2lmaWVkIGluIDcuNC4yLjIuIE1vcmUgcHJlY2lzZWx5LCB0aGUgc2VxdWVuY2UgbGV2ZWwgc2NhbGluZwoJICBsaXN0cyBuZWVkIHRvIGJlIHVzZWQgYnV0IGludHJhIGFuZCBpbnRlciBsaXN0cyBhcmd1bWVudHMgd2VyZSBzd2FwcGVkLgoJICBUaGlzIGZpeGVzIEZSRXh0L2ZyZWg1LjI2NCBmcm9tIGNvbmZvcm1hbmNlIHRlc3RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAwOTkKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0xMi0wOCAxNjo0Njo1OCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvYnVmZmVyOiBzZXQgdGhlIGNvcnJlY3Qgc3RyaWRlIGZvciBwYWNrZWQgZm9ybWF0cwoKMjAxMy0xMi0wOCAxNTozMTowOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IG1wZWcyIHZpZGVvIHN1cHBvcnQKCjIwMTMtMTItMDggMTU6MjU6MjcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IG1ha2UganBlZyBkZWNvZGluZyBhY3R1YWxseSB3b3JrCgoyMDEzLTEyLTA4IDE1OjI0OjU4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmYWlsIGdyYWNlZnVsbHkgd2hlbiBub3QgbmVnb3RpYXRlZAoKMjAxMy0xMi0wNyAyMzo1NToxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHJld3JpdGUgVmlkZW9Ub29sYm94IGRlY29kZXIgYmFzZWQgb24gR3N0VmlkZW9EZWNvZGVyCgoyMDEzLTEyLTA2IDIxOjExOjMyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5oOgoJICB2bWNuZGVjOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZQoJICBGb3Jnb3QgdG8gYWRkIGhlYWRlciBmaWxlIHRvIHByZXZpb3UgY29tbWl0CgoyMDEzLTEyLTA2IDIwOjU4OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jZGVjOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAgQVBJCgoyMDEzLTEyLTA2IDE3OjU4OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBzdGVyZW86IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDYgMTc6MTA6MzkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAgQVBJCgoyMDEzLTEyLTA1IDE2OjUwOjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBVc2UgR3N0UlRQQmFzZVBheWxvYWQgbWV0aG9kIHRvIHB1c2ggYnVmZmVyCgkgIFRoaXMgd2F5IHRoZSBldmVudCBpcyBhbHNvIHB1c2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxMy0xMi0wNSAxMjowNTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiY2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBzaXJlbmRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzYXVkaW9kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTE6NDk6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDk6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmNkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0OToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkgIGRhYWxhZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDQgMTc6MzE6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IEFsc28gaW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBpbiBwYXJzZV9zZXF1ZW5jZV9oZWFkZXIKCSAgQWxzbyByZW1vdmUgdGhlIHVzZWxlc3MgaW5pdGlhbGl6ZWQgZmxhZywgdGhpcyBpcyBhbHJlYWR5IGRvbmUgYnkgdGhlIG1hY3JvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2NTcKCjIwMTMtMTItMDQgMjI6Mzg6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogSW5zdGVhZCBvZiB0cnlpbmcgdG8gcGFyc2UgdGhlIGJpdHN0cmVhbSwganVzdCBsb29rIGZvciB0aGUgbmV4dCBoZWFkZXIKCSAgVGhpcyBzaG91bGQgYmUgbW9yZSByb2J1c3QgYW5kIGFsbG93cyB1cyB0byBoYW5kbGUgbmV3IHZlcnNpb25zIG9mIHRoZQoJICBmaWxlIGZvcm1hdCBpZiB0aGUgbGlicmFyeSBzdXBwb3J0cyBpdC4KCjIwMTMtMTItMDQgMDk6MTM6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBBQ0NFUFRfSU5URVJTRUNUCgkgIFdlIGNhbiBhbHNvIGFjY2VwdCBjYXBzIHdpdGggbWlzc2luZyBmaWVsZHMuCgoyMDEzLTEyLTA0IDA5OjAzOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiByZW1vdmUgZmllbGRzIGZyb20gZmlsdGVyCgkgIERvbid0IGZpbHRlciBvdXQgdGhlIGNhcHMgcHJvcGVydGllcyB3ZSBjYW4gY29udmVydCBiZXR3ZWVuIHdoZW4KCSAgcHJveHlpbmcgdGhlIGdldGNhcHMgcXVlcnkgdG8gdGhlIGRvd25zdHJlYW0gcGVlciBwYWQuCgoyMDEzLTEyLTA0IDA5OjAwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiByZWZhY3RvciByZW1vdmVfZmllbGRzIGluIGdldGNhcHMKCjIwMTMtMTItMDMgMTQ6NTM6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2hlY2sgY29sb3IgZm9ybWF0CgoyMDEzLTEyLTAzIDE0OjQ3OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEFkZCBzdXBwb3J0IGZvciB0aGUgdmlkZW8gbWV0YQoKMjAxMy0xMi0wMyAxNDo0NjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTJzcmM6IFVzZSBHc3RWaWRlb0ZyYW1lIEFQSSBmb3IgYmV0dGVyIGhhbmRsaW5nIG9mIHN0cmlkZXMKCSAgQW5kIGRvIHByb3BlciBzdHJpZGUgY29udmVyc2lvbi4KCjIwMTMtMTItMDMgMTQ6MzU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IGJ1ZmZlciBoYW5kbGluZyB0byBhY3R1YWxseSB3b3JrIGFuZCBwcm9wZXJseSB0aW1lc3RhbXAgYnVmZmVycwoKMjAxMy0xMi0wMyAxNDozNTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBEb24ndCBzaHV0IGRvd24gbGlicmFyeSB3aGVuIGZpbmFsaXppbmcgYW4gZWxlbWVudCBpbnN0YW5jZQoKMjAxMy0xMi0wMyAxNDozNToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggbmVnb3RpYXRpb24gYW5kIGNyZWF0aW9uIG9mIGEgdmlkZW8gYnVmZmVyIHBvb2wKCjIwMTMtMTItMDMgMTQ6MzQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogVXNlIGRlYnVnIGNhdGVnb3J5IHByb3Blcmx5CgoyMDEzLTEyLTAyIDE3OjAzOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IENsYXNzaWZpY2F0aW9uIG9mIHRoZSBlbGVtZW50IHNob3VsZCBiZSBTb3VyY2UvVmlkZW8KCjIwMTMtMTItMDIgMTc6MDE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogVXNlIEdzdFZpZGVvSW5mbyB0byBjcmVhdGUgY2FwcyBhbmQgZG9uJ3QgbGVhayB0aGVtCgoyMDEzLTEyLTAyIDE2OjU5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IFNvbWUgcmFuZG9tIGNsZWFudXAgYW5kIG1pbm9yIGZpeGVzCgoyMDEzLTEyLTAyIDExOjE3OjAyICswMTAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3Blbm5pMi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMi5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTogQWRkIE9wZW5OTkkyIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4OTE0CgoyMDEzLTEyLTAyIDEwOjI4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogR19ERUZJTkVfVFlQRSgpIGFscmVhZHkgY2FsbHMgZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KCkgZm9yIHVzCgoyMDEzLTEyLTAyIDEwOjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW1vdmUgZW1wdHkgR09iamVjdDo6ZmluYWxpemUoKSBpbXBsZW1lbnRhdGlvbnMKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEzLTEwLTIwIDIyOjA0OjM4ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkIGEgMkQgcGVyc3BlY3RpdmUgdHJhbnNmb3JtIHBsdWdpbgoJICBUaGUgcGVyc3BlY3RpdmUgcGx1Z2luIGFwcGxpZXMgYSAyRCBwZXJzcGVjdGl2ZSAoYWxzbyBjYWxsZWQgcHJvamVjdGl2ZSkKCSAgdHJhbnNmb3JtIHRvIHRoZSBmcmFtZSBidWZmZXIuCgkgIEEgcGVyc3BlY3RpdmUgdHJhbnNmb3JtIGNhbiBiZSB1c2VkIGZvciBpbnN0YW5jZSB0byBwZXJmb3JtIGtleXN0b25lCgkgIGNvcnJlY3Rpb24gd2hlbiBwbGF5aW5nIHRoZSBjb250ZW50IHdpdGggYSB2aWRlbyBwcm9qZWN0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4MTAKCjIwMTMtMTItMDEgMjM6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBhdm9pZCBsaXN0IGZvciBvbmUgc2luZ2xlIHZhbHVlIGluIHRlbXBsYXRlIGNhcHMKCjIwMTMtMTItMDEgMjI6MzI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IG1pY3Jvb3B0aW1pc2F0aW9uOiBhdm9pZCB1bm5lY2Vzc2FyeSBnc3RfYnVmZmVyX2dldF9zaXplKCkgY2FsbHMKCjIwMTMtMTEtMjkgMTM6MjM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IGluaXQgcnRwIGJ1ZmZlciBmaXhpbmcgcnRwIHBhY2tldCBjcmVhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTExLTI5IDEzOjIyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBkb24ndCB1c2UgYnVmZmVyIGFmdGVyIGdpdmluZyBhd2F5IG93bmVyc2hpcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTExLTI5IDEwOjE0OjQzICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMy0xMS0yNSAxNjo1NzowMCArMDAwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogRG9uJ3QgdHJ5IHRvIHNldCBmcmFtZXJhdGUgaWYgbm90IGZyb20gdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTE2NgoKMjAxMy0xMS0yOCAxNToxMDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IHNwbGl0dGluZyBvZiBtdWx0aXBsZSBOQUxVIHBlciBidWZmZXIKCSAgQ29udmVyc2lvbiB0byBieXRlLXN0cmVhbS9uYWwgY3Jhc2hlcyB3aXRob3V0IHRoYXQgYmVjYXVzZSB0aGUKCSAgYmFzZXBhcnNlIGZyYW1lIG9mIGFsbCBOQUxVcyBpcyBmaW5pc2hlZCBmb3IgdGhlIGZpcnN0IE5BTFUsIHRoZW4KCSAgdXNlZCBhZ2FpbiBmb3IgcGFyc2luZyB0aGUgc2Vjb25kIE5BTFUuIEp1c3QgdGhhdCBub3cgdGhlIGJ1ZmZlcgoJICBvZiB0aGUgZnJhbWUgaXMgYWxyZWFkeSBnb25lLiBJbnN0ZWFkIHdlIGNyZWF0ZSB0ZW1wb3JhcnkgZnJhbWVzCgkgIGZvciBldmVyeSBOQUxVLgoKMjAxMy0xMC0zMSAxNzoxNjoxNCArMDEwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBzZXR0aW5nIGNvZGVjX2RhdGEgd2hlbiB1c2luZyBXYXZlRm9ybWF0RXgKCSAgV2hlbiB1c2luZyBXYXZlRm9ybWF0RXggdGhlIGFjdHVhbCBjb2RlYyBwcml2YXRlIGRhdGEgaXMgYXQgdGhlIGVuZCBvZgoJICB0aGUgd2F2IGhlYWRlciBzdHJ1Y3R1cmUsIGFmdGVyIHRoZSBjYlNpemUgZmllbGQsIHNlZSBmb3IgZXhhbXBsZSB0aGUKCSAgbm90ZXMgYXQgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9V0FWRUZPUk1BVEVYCgkgIFRoZSBwcmV2aW91cyBjb2RlIHdhcyBlcnJvbmVvdXNseSBwYXNzaW5nIHRoZSB3aG9sZSBXQVZFRk9STUFURVgKCSAgc3RydWN0dXJlIGFzIGNvZGVjX2RhdGEuCgkgIFRoZSBzbW9vdGhzdHJlYW1pbmcgc3BlY2lmaWNhdGlvbnNbMSwyLDNdIGFsd2F5cyBtZW50aW9uIFdBVkVGT1JNQVRFWAoJICBhbmQgbmV2ZXIgc21hbGxlciBzdHJ1Y3R1cmVzIGxpa2UgV0FWRUZPUk1BVCBvciBQQ01XQVZFRk9STUFULCBzbyB0aGUKCSAgYnVmZmVyIGNhbiBhc3N1bWVkIHRvIGJlIGF0IGxlYXN0IDE4IGJ5dGVzIGFuZCBhbHdheXMgY29uc3VtaW5nIHRoZSB3YXYKCSAgaGVhZGVyIGdpdmVzIHRoZSAocG9zc2libHkgZW1wdHkpIGNvZGVjIHByaXZhdGUgZGF0YS4KCSAgWzFdIGh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTIwOTA3MDA0NzQyL2h0dHA6Ly93d3cuaWlzLm5ldC9jb21tdW5pdHkvZmlsZXMvbWVkaWEvc21vb3Roc3BlY3MvJTVCTVMtU01USCU1RC5wZGYKCSAgWzJdIGh0dHA6Ly9kb3dubG9hZC5taWNyb3NvZnQuY29tL2Rvd25sb2FkL0IvMC9CL0IwQjE5OURCLTQxRTYtNDAwRi05MENELUMzNTBEMEMxNEE1My8lNUJNUy1TU1RSJTVELnBkZgoJICBbM10gaHR0cDovL2Rvd25sb2FkLm1pY3Jvc29mdC5jb20vZG93bmxvYWQvOS81L0UvOTVFRjY2QUYtOTAyNi00QkIwLUE0MUQtQTRGODE4MDJEOTJDLyU1Qk1TLVNTVFIlNUQucGRmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMTAtMzEgMTU6NTg6MjcgKzAxMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiB1c2UgbXNzZGVtdXhfZGVidWcgZGVidWcgY2F0ZWdvcnkgZm9yIGdzdG1zc21hbmlmZXN0LmMgdG9vCgoyMDEzLTEwLTE2IDE2OjIyOjM2ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGNvZGluZyBzdHlsZQoKMjAxMy0xMS0yNSAxNToxNzozMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBEb24ndCB1bm1hcCBhbiB1bnJlZmZlZCBidWZmZXIKCSAgZ3N0X2R2ZF9zcHVfZmluaXNoX3NwdV9idWYgZHJvcHMgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudAoJICBidWZmZXIsIHNvIG1ha2Ugc3VyZSB0byBjYWxsIGdzdF9idWZmZXJfdW5tYXAgYmVmb3JlIGl0LgoKMjAxMy0xMS0yMyAxOToxMTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBDb25zaWRlciB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHN0b3JlZCBpbiB0aGUgZmlsZQoKMjAxMy0xMS0yMyAxODozNzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmM6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmg6CgkgIG9wZW5leHI6IEFkZCBPcGVuRVhSIGRlY29kZXIgZWxlbWVudAoJICBUaGlzIGN1cnJlbnRseSBjb252ZXJ0cyBmcm9tIEFSR0I2NF9GMTYgKDE2IGJpdCBmbG9hdCBwZXIgY29tcG9uZW50KQoJICB0byBBUkdCNjQgYnkgY2xpcHBpbmcuIFdlIHNob3VsZCBhZGQgc3VwcG9ydCBmb3IgdGhlIEYxNiBmb3JtYXQgYW5kCgkgIGltcGxlbWVudCBhIGNvbnZlcnNpb24gZmlsdGVyIGVsZW1lbnQgdGhhdCBjYW4gYXBwbHkgZ2FtbWEgY3VydmVzLAoJICBjaGFuZ2UgZXhwb3N1cmUsIGV0Yy4KCjIwMTMtMTEtMjMgMTE6Mjk6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5oOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5oOgoJICBvcGVuZXhyOiBBZGQgT3BlbkVYUiBwbHVnaW4KCSAgU2VlIGh0dHA6Ly93d3cub3BlbmV4ci5jb20KCjIwMTMtMTEtMjMgMTE6MzU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBGaXggbmFtZXMgb2YgZGVidWcgY2F0ZWdvcmllcwoKMjAxMy0xMS0yMyAxNDozNTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogcG9wIG5ldyBwYWNrZXQgd2hlbiBpbnZhbGlkIG5leHQgY29tbWFuZCBibG9jawoJICAuLi4gdG8gcHJldmVudCBzdGF5aW5nIHN0dWNrIG9uIGN1cnJlbnQgY29tbWFuZCBibG9jayBhbmQgYnVzeSBsb29waW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjE5CgoyMDEzLTExLTIzIDExOjIzOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFjY2VwdCBWaWRlb09iamVjdExheWVyIGFzIHN0YXJ0IG9mIGZyYW1lIGFuZCBjb25maWcKCSAgLi4uIHdoaWNoIGl0IGRlc2VydmVzIGFzIG11Y2ggYXMgVmlkZW9PYmplY3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc1NjQKCjIwMTMtMTEtMjEgMTU6NTQ6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQKCSAgSnVzdCB1c2UgcGxhaW4gbWVtbW92ZSgpLCBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkIGluCgkgIHJlY2VudCBHTGliIHZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODExCgoyMDEzLTExLTIwIDEyOjQ2OjIzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogSGFuZGxlIHZvYnN1YiBwYWNrZXRzIHNtYWxsZXIgdGhhbiA0IGJ5dGVzCgkgIEluIHBhcnRpY3VsYXIsIGhhbmRsZSB0aGUgY2FzZSBvZiBhbiBlbXB0eSBwYWNrZXQgd2l0aCBzaXplIDAgYnl0ZXMuCgkgIFBhcnRpYWxseSBmaXhlczogIzcxMjY0MwoKMjAxMy0xMS0xOSAyMDoxODo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogU2V0IHRoZSBmaXJzdCBzZXNzaW9uIGZsYWcgdG8gZmFsc2Ugb25jZSBvbmUgaXMgY3JlYXRlCgkgIE90aGVyd2lzZSBpdCBhbHdheXMgdGhpbmtzIGl0J3MgdGhlIGZpcnN0IHNlc3Npb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0OTUKCjIwMTMtMTEtMTkgMjA6MTI6NTQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSAgc3J0cGRlYzogTWFrZSBzdXJlIHRoYXQgc3RyZWFtLWlkL2NhcHMvc2VnbWVudCBhcmUgc2VudCBiZWZvcmUgYnVmZmVycwoJICBJdCBtYXkgYmUgcG9zc2libGUgdGhhdCBvbmx5IG9uZSBvZiB0aGUgdHdvIHNpbmsgcGFkcyBpcyBsaW5rZWQgaW4gdGhhdCBjYXNlLAoJICB0aGUgZXZlbnRzIG5lZWQgdG8gYmUgY3JlYXRlZCBmcm9tIHRoZSBvdGhlciBwYWQuCgoyMDEzLTExLTE5IDE5OjEwOjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBQYXNzIGlzX3J0Y3AgdG8gc2V0Y2FwcyBmdW5jdGlvbgoKMjAxMy0wNC0wNCAxNzo1OTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cDogSW1wbGVtZW50IFNSVENQIGRlbXVsdGlwbGV4aW5nCgkgIFNlcGFyYXRlIG11bHRpcGxleGVkIFJUUCBhbmQgUlRDUCBpZiB0aGV5IGFycml2ZQoJICBvbiB0aGUgcnRwX3NpbmsgcGFkLgoKMjAxMy0xMS0xOSAwMDozODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSAgZGFhbGE6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0xMS0xMyAyMjoyNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdHJ5IHRvIGRlaW5pdCB0aGUgZG93bmxvYWRyYXRlIHdoaWxlIGl0IGlzIHVzZWQKCSAgVGhpcyBjYW4gY2F1c2UgYW4gYXNzZXJ0aW9uIG9yIGRlYWRsb2Nrcy4KCjIwMTMtMTEtMTEgMTY6MzU6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWxzbyBjb25zaWRlciAvbWFuaWZlc3QKCSAgVGhlIHNwZWMgc2F5cyAvTWFuaWZlc3QsIGJ1dCAvbWFuaWZlc3QgaXMgZWFzaWx5IGZvdW5kIG9uIHNvbWUKCSAgc2VydmljZXMsIHNvIGhhbmRsZSB0aGF0LCB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAyMjMKCjIwMTMtMTEtMTQgMDk6MDI6MzUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IGNvbXBpbGF0aW9uIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCjIwMTMtMTEtMTMgMTg6NTk6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IEFkZCAtbG0gbmVlZGVkIGJ5IEguMjY1IHBhcnNlcgoKMjAxMy0xMS0xMyAxNzoxNjowNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogUHJveHkgdXBzdHJlYW0gZnJhbWVyYXRlIG9uIHNyY3BhZCBpZiBhdmFsYWlibGUKCSAgSWYgdGhlIHVzZXIgc2V0cyBpdCBoaW1zZWxmIHdpdGggY2Fwc2ZpbHRlciwgdGhlIGluZm9ybWF0aW9uIHNob3VsZCBiZQoJICBrZXB0IGFuZCB0cmFuc21pdHRlZCBkb3duc3RyZWFtLgoKMjAxMy0xMS0xMiAxODozNjowNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IFByb3Blcmx5IGFkZCBzdWJ0aXRsZSBkZXNjcmlwdG9yIGZvciBEVmIgc3VicGljdHVyZSBzdWJ0aXRsZXMKCSAgV2Ugd2VyZSBhZGRpbmcgYW4gZW1wdHkgZGVzY3JpcHRvciBmb3IgdGhlbSBhbmQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwoJICBhY3R1YWxseSB1c2UgdGhlbSBvbiBtdXhlZCBzdHJlYW1zLgoKMjAxMy0xMS0xMyAxNDoyODozMCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggbm9uLWVnbCBkaXNwbGF5IGNvbnRleHQgcXVlcnkKCjIwMTMtMTEtMTEgMTY6MTU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGxvb2sgYmV5b25kIHN0YXJ0IGNvZGUgYmVmb3JlIGxlYXBpbmcKCSAgSW4gY2FzZSBtb3JlIGRhdGEgdGhhbiBhIHN0YXJ0IGNvZGUgYWxvbmUgaXMgbmVlZGVkIHRvIGRlY2lkZSB3aGV0aGVyCgkgIGl0IGVuZHMgYSBmcmFtZSwgYXJyYW5nZSBmb3IgbW9yZSBpbnB1dCBkYXRhIGFuZCBkZWNpZGUgd2hlbiBhdmFpbGFibGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjcKCjIwMTMtMTEtMTEgMTM6MjQ6MDggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZGVjbGFyZSBtaXNzaW5nIGluc3RhbmNlIHZhcmlhYmxlcwoJICBGaXhlcyBidWlsZCBvbiAzMi1iaXQgc3lzdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODQ0CgoyMDEzLTExLTEwIDEyOjE3OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiB0d2VhayBleHRlbnNpb24gaGFuZGxpbmcKCjIwMTMtMTEtMTAgMTI6MTU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZ2VnZGVtdXg6IGRvIG5vdCB1c2UgcHVzaGVkIGJ1ZmZlciBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEzLTExLTA5IDEzOjMyOjIxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hlY2sgZm9yIHNhbWUgVFNOIG9ubHkgZm9yIGludGVybGFjZWQgc3RyZWFtcyAoZml4ZXMgdW5pdCB0ZXN0KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzIxCgoyMDEzLTExLTA5IDEyOjE4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGF1ZGlvbWl4ZXI6IEFkZCB0ZXN0IGZvciB0aGUgT1JDIGNvZGUKCjIwMTMtMTEtMDkgMDk6NDM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFJldmVydCAibXBlZ3ZwYXJzZTogRml4IGxhc3Qgc3RhcnQgY29kZSBwb3NpdGlvbiB3aGVuIGlucHV0IGJ1ZmZlciBpcyBlbXB0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3YzIzYTZmMjNjMTg1MzMwZDc0YWU0Y2NjZTc5YzM2NDFhMmZhYmFjLgoJICBUaGUgZml4IHdhcyBub3QgY29tcGxldGUsIHNlZSBkaXNjdXNzaW9uIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjcKCjIwMTMtMTEtMDggMjA6MjM6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzb21lIG1vcmUgZWxlbWVudC10eXBlIGFubm90YXRpb25zIGZvciBnLWkKCjIwMTMtMTEtMDcgMjE6Mzc6MjkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgY29yZW1lZGlhYnVmZmVyOiBrZWVwIGFuIGV4dHJhIHJlZiB0byB0aGUgaW1hZ2UgYW5kIGRhdGEgYnVmZmVyCgoyMDEzLTExLTA3IDEwOjU3OjIyIC0wNzAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2cGFyc2U6IEZpeCBsYXN0IHN0YXJ0IGNvZGUgcG9zaXRpb24gd2hlbiBpbnB1dCBidWZmZXIgaXMgZW1wdHkKCSAgV2hlbiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5IGFuZCB3ZSBuZWVkIG1vcmUgZGF0YSB0byBkZXRlcm1pbmUKCSAgd2hldGhlciBvciBub3QgdG8gdGVybWluYXRlIHRoZSBwcmV2aW91cyBmcmFtZSwgdGhlIGxhc3Qgc3RhcnQgY29kZQoJICBsb2NhdGlvbiBuZWVkcyB0byBiZSBzZXQgdG8gNCBieXRlcyBiZWZvcmUgdGhlIHRoZSBjdXJyZW50IHBvc2l0aW9uCgkgIChzaXplIG9mIHN0YXJ0X2NvZGUgaXMgMzItYml0cykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0wNyAxNDozOToyNiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEZpeCBiYWQgY29uZGl0aW9uIGluIGgyNjQgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MTUKCjIwMTMtMTEtMDcgMTI6Mjk6NDggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZW1lZGlhYnVmZmVyOiB1c2UgY29ycmVjdCByZXRhaW4vcmVsZWFzZSBmdW5jdGlvbnMgb24gQ01TYW1wbGVCdWZmZXJSZWYgYnVmZmVyCgkgIEZpeGVzIGEgY3Jhc2ggd2hpbGUgcmVsZWFzaW5nIHRoZSBzYW1wbGUgYnVmZmVyIGFmdGVyIHRoZSBpbWFnZQoJICBidWZmZXIgaXQgY29udGFpbnMuCgkgIEFsc28gZml4ZXMgYSBtaW5vciBjb2Rpbmcgc3R5bGUgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MDYKCjIwMTMtMTEtMDcgMTQ6MjY6MjIgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgcXRraXR2aWRlb3NyYzogbG93ZXIgcmFuayB0byBHU1RfUkFOS19TRUNPTkRBUlkKCSAgTWFrZXMgYXZmdmlkZW9zcmMgYmUgcHJlZmVyZWQgb3ZlciBxdGtpdHZpZGVvc3JjIHNpbmNlIGl0IGlzIGRlcHJlY2F0ZWQKCSAgd2l0aCBPUyBYIDEwLjkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MTQKCjIwMTMtMTEtMDcgMTM6MzM6MzYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXZmdmlkZW9zcmM6IHNldCByYW5rIHRvIEdTVF9SQU5LX1BSSU1BUlkKCSAgTWFrZXMgYXZmdmlkZW9zcmMgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZXRlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MTQKCjIwMTMtMTEtMDcgMTI6NDc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvIG5vdCBsb3NlIHJlZiB0byB0aGUgbXVsdGlmaWxlc2luawoJICBJdCBpcyBuZWVkZWQgdG8gdXBkYXRlIGxvY2F0aW9uIHByb3BlcnRpZXMgYW5kIGl0IHdhcyBiZWluZyBsb3N0IG9uCgkgIHN0YXRlIGNoYW5nZXMsIGNhdXNpbmcgaXNzdWVzIGlmIHRoZSBwaXBlbGluZSB3YXMgdG8gYmUgcmV1c2VkCgoyMDEzLTExLTA3IDEyOjM1OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBtYWtlIHN1cmUgaXQgaXMgaGFuZGxlZCBhcyBhIHNpbmsKCSAgSXQgb25seSBnZXRzIHRoZSBzaW5rIGZsYWcgc2V0IHdoZW4gaXQgYWRkcyB0aGUgbXVsdGlmaWxlc2luaywgdGhhdAoJICBoYXBwZW5zIGluIG51bGwtPnJlYWR5IGFuZCBpdCBtaWdodCBiZSB0b28gbGF0ZS4gU2V0IHRoZSBmbGFnCgkgIGV4cGxpY2l0bHkgb24gdGhlIGNvbnN0cnVjdG9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDg2CgoyMDEzLTExLTA3IDEzOjA1OjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXZmdmlkZW9zcmM6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGlPUwoKMjAxMy0xMS0wNyAxMjoyOTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYnVpbGQgaW4gaU9TIHdpdGggaXNFcXVhbFRvIGRvZXNuJ3QgZXhpc3RzCgoyMDEzLTExLTA3IDEyOjIwOjMxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCB3aXRoIG9sZGVyIFNESyBub3Qgc3VwcG9ydGluZyBBVkRldmljZUZvcm1hdAoJICBBVkRldmljZUZvcm1hdCBhbmQgQVZGcmFtZVJhdGVSYW5nZSBhcmUgYXZhaWxhYmxlIGluIGlPUyBzaW5jZSA3LjAKCSAgc28gd2UgbmVlZCBhIG1vcmUgZHluYW1pYyBhcHByb2FjaCB0byBzdXBwb3J0IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIKCSAgU0RLJ3MuIFdlIHVzZSBhIE5TT2JqZWN0IHRvIGF2b2lkIHJlZmVyZW5jaW5nIHRob3NlIHR5cGVzIGFuZCBrZXktdmFsdWUKCSAgY29kaW5nIG9yIHByZWZvcm1TZWxlY3RvciB0byBhY2Nlc3MgcHJvcGVydGllcy4KCjIwMTMtMTEtMDcgMDE6Mzg6MjAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGNoZWNrcyBmb3IgSEFWRV9JT1MKCjIwMTMtMTEtMDcgMDE6Mzc6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogaW5jbHVkZSBjb25maWcuaAoKMjAxMy0xMS0wNiAxODo1MzoyNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0xMS0wNiAxODo1MDo0NiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggY29tcGlsYXRpb24gd2l0aCBnY2MKCSAgVGhlIHN5bnRoZXNpemUgYmxvY2sgbmVlZHMgdG8gYmUgbW92ZWQgdG8gZml4IGEgY29tcGlsZXIgZXJyb3IKCjIwMTMtMTEtMDYgMTg6NDk6MzUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogc29ydCBjYXBzIHdpdGggdGhlIGhpZ2hlc3QgcmVzb2x1dGlvbiBmaXJzdAoJICBXaGVuIHN0YXJ0ZWQgd2l0aG91dCBhbnkgY2FwcyBmaWx0ZXIgd2UgcHJlZmVyIHRoZSBoaWdoZXN0CgkgIHN1cHBvcnRlZCByZXNvbHV0aW9uLgoKMjAxMy0xMS0wNCAxMToxNDozNSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzdXBwb3J0IHNjcmVlbiBjYXB0dXJlIG9uIE9TWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDMyCgoyMDEzLTEwLTMxIDEzOjA1OjQwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG1pbm9yIGNvc21ldGljCgoyMDEzLTEwLTMxIDEzOjAzOjU4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHVzZSBpbnB1dCBkZXZpY2UgZm9ybWF0cyB0byBzZXQvZ2V0IGNhcHMgaWYgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMTEKCjIwMTMtMTAtMjkgMTU6Mzc6MTYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXBkYXRlIGNhcHMgaWYgZnJhbWUgc2l6ZSBoYXMgY2hhbmdlZAoJICBPbiBPU1gsIHNldHRpbmcgdGhlIHBpeGVsIGZvcm1hdCBvbiB0aGUgb3V0cHV0IHJlc2V0IHRoZSBjYXB0dXJlIGRldmljZQoJICB0byBpdHMgbmF0aXZlIHJlc29sdXRpb24sIHNvIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBjYXBzIGlmIHRoZSBvdXRwdXQKCSAgZnJhbWUgc2l6ZSBoYXMgY2hhbmdlZCBiZWZvcmUgYSBwcm9wZXIgc29sdXRpb24gaXMgZm91bmQuCgoyMDEzLTEwLTI5IDE1OjM2OjA2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGNoZWNrIGlmIGxvdyBwcmVzZXQgaXMgYXZhaWxhYmxlCgoyMDEzLTEwLTI4IDE4OjIyOjEzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHVzZSBhIGRlZGljYXRlZCBxdWV1ZSBmb3IgQVZGb3VuZGF0aW9uIGNhbGxzCgkgIFJlcGxhY2UgdGhlIG1haW4gcXVldWUgd2l0aCBhIGRlZGljYXRlZCBxdWV1ZSBmb3IgQVZGb3VuZGF0aW9uIGNhbGxzCgkgIHNvIHRoZSBleGVjdXRpb24gb24gdGhpcyBxdWV1ZSB3b24ndCBibG9jayBpZiB0aGUgbWFpbiBxdWV1ZQoJICBpcyBub3QgcnVubmluZy4KCjIwMTMtMTAtMjkgMTc6MzM6MTEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogcmVtb3ZlIHRyYWlsaW5nIHNwYWNlCgoyMDEzLTEwLTMwIDE0OjUxOjUwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRpc3BhdGNoIEFWRm91bmRhdGlvbiBjYWxscyBzeW5jaHJvbm91c2x5IGluIHRoZSBtYWluIHF1ZXVlCgoyMDEzLTEwLTMwIDEyOjQwOjAxICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBlbmFibGUgYXZmdmlkZW9zcmMgaWYgQVZGb3VuZGF0aW9uIGlzIHByZXNlbnQKCjIwMTMtMTAtMzAgMTI6Mzk6MjQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogb25seSBlbmFibGUgMTkyMHgxMDgwIHByZXNldCBvbiBpT1MKCjIwMTMtMTAtMjggMTE6MjA6MjcgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZGV0ZWN0IHByZXNlbmNlIG9mIEFWRm91bmRhdGlvbgoKMjAxMy0xMC0yOCAxMTo1MzoyNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBwb3J0IGF2ZnZpZGVvc3JjIHRvIDEuMAoKMjAxMy0xMS0wNyAxNDoxMjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHVuaXQgdGVzdCBmb3IgaGFuZGxpbmcgdW5hbGlnbmVkIGJ1ZmZlcnMKCSAgVGhhdCBpcywgYnVmZmVycyB0aGF0IHN0YXJ0IG9yIGVuZCBpbiB0aGUgbWlkZGxlIG9mIGFuIG91dHB1dCBibG9jay4KCjIwMTMtMTEtMDcgMTQ6MTI6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBFT1MgaGFuZGxpbmcgaWYgd2UgaGF2ZSBzb21lIHBlbmRpbmcgZGF0YQoKMjAxMy0xMS0wNyAxMzo1NzozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgZm9yIHRoZSBkaXNjb250IGhhbmRsaW5nCgoyMDEzLTExLTA3IDEzOjU1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZWZhY3RvciBzeW5jIHRlc3QgdG8gYmUgbW9yZSByZXVzYWJsZQoKMjAxMy0xMS0wNyAxMzo0ODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHNvbWUgcmFjeS1uZXNzIGZyb20gdGhlIHVuaXQgdGVzdAoJICBXZSBtaWdodCBhbHJlYWR5IGJlIEVPUyB3aGVuIHdlIHN0YXJ0IHRoZSBtYWlubG9vcCwgc28gb25seQoJICBzZXQgdGhlIHBpcGVsaW5lIHRvIFBMQVlJTkcgZnJvbSB0aGUgbWFpbiBsb29wLgoKMjAxMy0xMS0wNyAwOTo1NDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBSZW1vdmUgc29tZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDEzLTExLTA2IDIyOjEzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBNYWtlIHN1cmUgdmlkZW8tZG9uZSBpcyBwb3N0IG9ubHkgd2hlbiBmaWxlIGlzIGNsb3NlZAoJICBGb3JjZSBmaWxlc2luayB0byBudWxsIGJlZm9yZSBwb3N0aW5nIHZpZGVvLWRvbmUgdG8gbWFrZSBzdXJlIHRoZQoJICBmaWxlIHdhcyBjbG9zZWQuCgkgIEhhZCB0byBkbyBpdCBmcm9tIGEgc2VwYXJhdGUgdGhyZWFkIHRvIGF2b2lkIGNhbGxpbmcgc3RhdGVfY2hhbmdlIGZyb20KCSAgYSBzeW5jIG1lc3NhZ2UgaGFuZGxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM3MwoKMjAxMy0xMS0wNiAyMzoxMToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogYWRkIG5ldyBjb2RlY3BhcnNlciBBUEkgdG8gLmRlZiBmaWxlCgoyMDEzLTEwLTA5IDEwOjU0OjE0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBILjI2NSBIRVZDIHZpZGVvIHBhcnNlciBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg0MzgKCjIwMTMtMTAtMDEgMTM6Mzk6NDEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgSC4yNjUgSEVWQyBiaXRzdHJlYW0gcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg0MzgKCjIwMTMtMTEtMDUgMTI6NDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMTMtMTEtMDYgMTU6NTA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvbid0IHRha2UgY2hhbm5lbCBtYXNrIGluIGNvbnNpZGVyYXRpb24gaW4gbW9ubyBvciBzdGVyZW8KCSAgVGhpcyBjb3VsZCBjYXVzZSBuZWdvdGlhdGlvbiB0byBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjMzCgoyMDEzLTExLTA2IDE1OjMxOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgdG8gdGhlIC5naXRpZ25vcmUgZmlsZQoKMjAxMy0xMS0wNiAxNToxODo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHNpbXBseSBzeW5jaHJvbml6YXRpb24gdGVzdAoKMjAxMy0xMS0wNiAxNToxODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0Lmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMub3JjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgbmV3IGVsZW1lbnQgYmFzZWQgb24gYWRkZXIgdGhhdCBkb2VzIHN5bmNocm9uaXplZCBhdWRpbyBtaXhpbmcKCjIwMTMtMTEtMDUgMTE6MTk6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2NWFhMjAgdG8gZGJlZGFhMAoKMjAxMy0xMS0wNCAxOTo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBRdWVyeSB1cHN0cmVhbSBmaXJzdCB0byBnZXQgYSBFR0xEaXNwbGF5CgoyMDEzLTExLTA0IDEwOjA0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogTGluayB3aXRoIGdtb2R1bGUgZm9yIGdfbW9kdWxlX29wZW4oKSBhbmQgb3RoZXJzCgoyMDEzLTExLTA0IDEwOjA0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IExpbmsgd2l0aCBnbW9kdWxlIGZvciBnX21vZHVsZV9vcGVuKCkgYW5kIG90aGVycwoKMjAxMy0xMS0wMSAyMjozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbHdheXMgZGVmaW5lIEFNX0NPTkRJVElPTkFMIFVTRV9FR0xHTEVTCgoyMDEzLTEwLTA0IDEyOjQ4OjEwICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJICBjdXJsOiBjdXJsc2Z0cHNpbmsgLSBuZXcgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQgZm9yIFNGVFAKCSAgTm90ZTogU0ZUUCA9IFNTSCBGaWxlIFRyYW5zZmVyIFByb3RvY29sCgkgIFRoZSBzaW5rIGFjdHMgYXMgYSBjbGllbnQgYW5kIHVwbG9hZHMgZGF0YSB0byB0aGUgU0ZUUCBzZXJ2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3OTUKCjIwMTMtMTAtMzEgMTM6MzY6MjUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgY2RhdWRpbzogUmVtb3ZlIGNkYXVkaW8gcGx1Z2luCgkgIFRoaXMgZWxlbWVudCBpcyBiZWluZyByZW1vdmVkIGR1ZSB0byBpdCBiZWVuCgkgIGNvbnNpZGVyZWQgb2Jzb2xldGUgYW5kIHRoZSBmdW5jdGlvbmFpbHkgaXQKCSAgcHJvdmlkZXMgbm8gbG9uZ2VyIG5lZWRlZC4KCSAgRGV0YWlscyBvbiB0aGUgZGVjaXNpb24gY2FuIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMjMKCSAgRml4ZXM6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMzIKCjIwMTMtMTEtMDEgMTA6NDE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBjb21waWxlciB3YXJuaW5nIGNhdXNlZCBieSBzcGVjaWZ5aW5nIGNvbnN0IHR3aWNlCgkgIHlhZGlmLmM6NDk6MjQ6IHdhcm5pbmc6IGR1cGxpY2F0ZSAnY29uc3QnIGRlY2xhcmF0aW9uIHNwZWNpZmllciBbLVdkdXBsaWNhdGUtZGVjbC1zcGVjaWZpZXJdCgkgIERFQ0xBUkVfQVNNX0NPTlNUICgxNiwgY29uc3QgeG1tX3JlZywgcGJfMSkgPSB7CgkgIF4KCSAgeWFkaWYuYzozMzo1MDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnREVDTEFSRV9BU01fQ09OU1QnCgkgICNkZWZpbmUgREVDTEFSRV9BU01fQ09OU1Qobix0LHYpICAgIHN0YXRpYyBjb25zdCB0IF9fYXR0cmlidXRlX18oKHVzZWQpKSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAobikpKSB2CgkgIF4KCSAgeWFkaWYuYzo1MjoyNDogd2FybmluZzogZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gc3BlY2lmaWVyIFstV2R1cGxpY2F0ZS1kZWNsLXNwZWNpZmllcl0KCSAgREVDTEFSRV9BU01fQ09OU1QgKDE2LCBjb25zdCB4bW1fcmVnLCBwd18xKSA9IHsKCSAgXgoJICB5YWRpZi5jOjMzOjUwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdERUNMQVJFX0FTTV9DT05TVCcKCSAgI2RlZmluZSBERUNMQVJFX0FTTV9DT05TVChuLHQsdikgICAgc3RhdGljIGNvbnN0IHQgX19hdHRyaWJ1dGVfXygodXNlZCkpIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChuKSkpCgoyMDEzLTExLTAxIDEwOjQwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggYnVpbGQgd2l0aCBYQ29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDUxCgoyMDEzLTEwLTI4IDE1OjA0OjE2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFJlbW92ZSB0aGUgZXhwbGljaXQgUEFSIGNhbGN1bGF0aW9uIGJhc2VkIG9uIFZVSSBoZWFkZXJzCgkgIFRoZSBQQVIgY2FsY3VsYXRpb24gYmFzZWQgb24gVlVJIGhlYWRlcnMgaXMgYWxyZWFkeSBkb2luZyBieSB0aGUKCSAgaDI2NCBjb2RlY3BhcnNlciBhbmQgd2UgZG9lcyd0IG5lZWQgdG8gZHVwbGljYXRlIHRob3NlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDA5CgoyMDEzLTEwLTE3IDEyOjA1OjQ0ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogRml4IGFuZ2xlIHByb3BlcnR5IGhlbHAgdGV4dAoJICBUaGUgaGVscCB0ZXh0IG9mIHRoZSBhbmdsZSBwcm9wZXJ0eSB3YXMgcHJvYmFibHkgY29waWVkIGZyb20gdGhlIGNpcmNsZQoJICBwbHVnaW4sIGZpeCBpdCB0byBtZW50aW9uIHRoZSByb3RhdGlvbiBkZXRlcm1pbmVkIGJ5IHRoZSBhbmdsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDM5MQoKMjAxMy0xMC0zMCAxODo0ODowOCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICBjZGF1ZGlvOiBwb3J0IHRvIDEuWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjIzCgoyMDEzLTEwLTMwIDE4OjI1OjUwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggcmFuayBmb3IgbW9yZSBzb2Z0d2FyZSBkZWNvZGVycwoJICBJbiBHYWxheHkgUzQgdGhlIGNvZGVjcyBsaXN0IGNvbnRhaW5zIHNvbWUgT01YLlNFQy5mb28uc3cuZGVjCgkgIGFzIHNvZnR3YXJlIGRlY29kZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMTQKCjIwMTMtMTAtMTcgMTI6NTM6MzEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEZpeCBzZXR0aW5nIGJsYWNrIGJhY2tncm91bmQgZm9yIEFZVVYgYnVmZmVycwoJICBXaGVuIHRoZSBmcmFtZSBidWZmZXIgaXMgQVlVViB3cml0aW5nIGFsbCB6ZXJvcyBkb2VzIG5vdCBzZXQgaXQgdG8KCSAgYmxhY2ssIGluIFlVViBjb2xvcnNwYWNlIDB4MTAgaXMgdGhlIGJsYWNrIGxldmVsIGZvciBsdW1pbmFuY2UgYW5kIDB4ODAKCSAgaXMgdGhlIGJsYWNrIGxldmVsIGZvciBjaHJvbWluYW5jZS4KCSAgRml4IHNldHRpbmcgdGhlIGJhY2tncm91bmQgdG8gYmxhY2sgd2hlbiB0aGUgb3V0X2ZyYW1lIGZvcm1hdCBpcyBBWVVWOwoJICBpbiBhbGwgdGhlIG90aGVyIHN1cHBvcnRlZCBmb3JtYXRzIHplcm9pbmcgdGhlIGRhdGEgd2l0aCBtZW1zZXQgaXMgc3RpbGwKCSAgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMzkyCgoyMDEzLTEwLTIzIDIzOjM0OjI3ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBmaXggcGx1Z2luIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTEzNQoKMjAxMy0xMC0yMyAxNzoyMjoxNiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IHVzZSBwcm9wZXIgcmVsZWFzZSBjYWxsYmFjayB0eXBlIGluIENWUGl4ZWxCdWZmZXJDcmVhdGVXaXRoUGxhbmFyQnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE0MAoKMjAxMy0wOS0yMSAwMDoyMDozNiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggdHJ1bmNhdGVkIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDY1NwoKMjAxMy0xMC0zMCAxNjoyMDo1NiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgaW4gdGhlIGVhZ2wgYmFja2VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTU5CgoyMDEzLTEwLTE4IDExOjU0OjEyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGFjY2VzcyB0byBpbnZhbGlkIGJ1ZmZlcnMgaW4gdGhlIGRlY29kaW5nIGxvb3AKCSAgRmx1c2hpbmcgdGhlIGRlY29kZXIgaW52YWxpZGF0ZXMgYWxsIGJ1ZmZlcnMsIHNvIGl0IHNob3VsZCBiZSBkb25lCgkgIGFmdGVyIHF1aXRpbmcgdGhlIGRlY29kaW5nIGxvb3AuIE90aGVyd2lzZSB3ZSBjYW4ganVtcCBpbnRvCgkgICJmYWlsZWRfcmVsZWFzZSIgYW5kIHN0b3AgZXZlcnl0aGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTU2CgoyMDEzLTEwLTI4IDA5OjMzOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVW5pZnkgdmFsdWUgc2V0dGluZwoJICB0aGUgaW5pdGlhbCBwYXJfbiA9IHBhcl9kID0gMDsgd2FzIGFsd2F5cyBvdmVyd3JpdHRlbiBzaW5jZSB0aGUgc3dpdGNoL2Nhc2UKCSAgaGFuZGxlcyBhbGwgdmFsdWVzCgkgIEFuZCByZW1vdmUgdGhlIDAgY2FzZSAoaXQncyB0aGUgc2FtZSBoYW5kbGluZyBhcyBkZWZhdWx0KQoKMjAxMy0xMC0yOCAwOTozMzoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEF2b2lkIGVuZGluZyB1cCB3aXRoIHVuZGVmaW5lZCB2YWx1ZXMKCSAgSWYgY2FwcyBhcmVuJ3QgZml4ZWQsIHdlJ2QgZW5kIHVwIHdpdGggdW5kZWZpbmVkIHZhbHVlcyBmb3IgZm9ybWF0CgkgIGFuZCBhbGlnbi4KCjIwMTMtMTAtMTEgMTE6MjM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRGVtb3RlIEdTVF9FUlJPUiB0byBHU1RfV0FSTklORwoJICBkaXNjb250aW51aXRpZXMgYXJlIG5vdCBlcnJvcnMgcGVyLXNlIGFuZCB3ZSBoYW5kbGUgdGhlbSBjb3JyZWN0bHkuCgoyMDEzLTEwLTI1IDExOjExOjMwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudAoJICBUaGlzIHBhdGNoIGZpeGVzIHRocmVlIG1lbW9yeSBsZWFrcyBpbiBobHNkZW11eCwgb25lIHRoYXQgb2NjdXJzCgkgIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uIGFuZCB0d28gdGhhdCBvY2N1ciBkdXJpbmcgZXJyb3IgY29uZGl0aW9ucy4KCSAgVGhlIGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQgZnVuY3Rpb24gY2FsbHMKCSAgZ3N0X2ZyYWdtZW50X2dldF9idWZmZXIgd2hpY2ggaW5jcmVtZW50cyB0aGUgcmVmZXJlbmNlIGNvdW50CgkgIG9uIHRoZSBidWZmZXIgYnV0IGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQgbmV2ZXIgY2FsbHMgdW5yZWYgb24KCSAgdGhlIGJ1ZmZlci4gVGhpcyBtZWFucyB0aGF0IHRoZSByZWZlcmVuY2UgY291bnQgZm9yIGVhY2ggZG93bmxvYWRlZAoJICBmcmFnbWVudCBuZXZlciBnZXRzIHRvIHplcm8gYW5kIHNvIGl0cyBtZW1vcnkgaXMgbmV2ZXIgcmVsZWFzZWQuCgkgIFRoaXMgcGF0Y2ggYWRkcyBhIGNhbGwgdG8gZ3N0X2J1ZmZlcl91bnJlZiBhZnRlciB0aGUgZmxhZ3MgaGF2ZSBiZWVuCgkgIHVwZGF0ZWQgb24gdGhlIGJ1ZmZlci4KCSAgVGhlcmUgaXMgYSBsZWFrLW9uLWVycm9yIGluIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudCBpZiBpdCBmYWlscwoJICB0byBkb3dubG9hZCB0aGUga2V5IGZpbGUuIElmIHRoZSBrZXkgZmFpbHMgdG8gZG93bmxvYWQsIG51bGwgaXMKCSAgcmV0dXJuZWQgd2l0aG91dCBkb2luZyBhbiB1bnJlZiBvbiB0aGUgZW5jcnlwdGVkIGZyYWdtZW50LiBUaGUKCSAgc2VtYW50aWNzIG9mIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudCBpcyB0aGF0IGl0IHRha2VzIG93bmVyc2hpcAoJICBvZiB0aGUgZW5jcnlwdGVkIGZyYWdtZW50IGFuZCByZWxlYXNlcyBpdCBiZWZvcmUgcmV0dXJuaW5nLgoJICBUaGVyZSBpcyBhIGxlYWstb24tZXJyb3IgaW4gZ3N0X2hsc19zcmNfYnVmX3RvX3V0ZjhfcGxheWxpc3QgaW4gdGhlCgkgIHVubGlrZWx5IGV2ZW50IHRoYXQgdGhlIGdzdF9idWZmZXJfbWFwIGZhaWxzLiBJbiB0aGUgImhhcHB5IHBhdGgiCgkgIG9wZXJhdGlvbiBvZiBnc3RfaGxzX3NyY19idWZfdG9fdXRmOF9wbGF5bGlzdCB0aGUgYnVmZmVyIGdldHMgYW4gdW5yZWYKCSAgYmVmb3JlIHRoZSBmdW5jdGlvbiByZXR1cm5zLCB0aGVyZWZvcmUgdGhlIGVycm9yIGNvbmRpdGlvbiBtdXN0IGRvIHRoZQoJICBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODgxCgoyMDEzLTEwLTIzIDE3OjExOjIwICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkgIG1wZWd0c211eDogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzU5CgoyMDEzLTEwLTIzIDE2OjU4OjQ5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzU5CgoyMDEzLTEwLTE4IDEwOjEyOjU2ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogbWFrZSBnc3RfYW1jX2F2Y19wcm9maWxlX2Zyb21fc3RyaW5nIHJlY29nbml6ZSBhbHQgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDMzCgoyMDEzLTEwLTEyIDE2OjA0OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiBGaXggaW52ZXJ0ZWQgY29uZGl0aW9uIGluIHNldGNhcHMKCjIwMTMtMTAtMTEgMTA6MzI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU2tpcCBwYWNrZXRzIHdpdGggY29ycnVwdGVkIGxlbmd0aAoJICBUaGlzIGlzIHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBmb3IgcGFja2V0cyB3aXRoIHBheWxvYWQKCjIwMTMtMTAtMTEgMTA6Mjk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmYWN0b3IgbGFuZ3VhZ2UgdGFnIGV4dHJhY3Rpb24KCSAgc3VidGl0bGluZyBkZXNjcmlwdG9yIG5lZWRzIHRvIGJlIHVzZWQgd2l0aCBhIGRpZmZlcmVudCBtZXRob2QgdG8gZXh0cmFjdAoJICBsYW5ndWFnZSBjb2Rlcy4KCjIwMTMtMTAtMTEgMTA6MjE6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgcGFyc2luZyBEVkIgU3VidGl0bGluZyBkZXNjcmlwdG9yICgweDU5KQoJICBFc3NlbnRpYWxseSB3b3JrcyBpbiB0aGUgc2FtZSB2ZWluIGFzIHRoZSBpc282MzkgZGVzY3JpcHRvciBjb2RlCgoyMDEzLTEwLTEwIDIyOjQ2OjQ4ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGFzc2VydGlvbiBmYXVsdCBpbiBJU08gNjM5IHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wOSAxNzoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBGaXggc29tZSBieXRlcy1wZXItZnJhbWUgdnMuIGJ5dGVzLXBlci1zYW1wbGUgbWl4dXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNyYXNoIHdoZW4gaGFuZGxpbmcgbXVsdGlwbGUgY2hhbm5lbHMgYW5kCgkgIG1pc2NhbGN1bGF0ZSB0aW1lc3RhbXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzM0CgoyMDEzLTEwLTA4IDExOjEwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTWFrZSBzdXJlIHRvIHRyeSB3aW5kb3ctc3lzdGVtLWFnbm9zdGljIEVHTCBpZiBub3RoaW5nIHdhcyBhdXRvLWRldGVjdGVkCgoyMDEzLTEwLTA4IDA3OjU2OjExICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGxvZyB0aW1lIGZvcm1hdCBhcyBuYW1lIGluc3RlYWQgb2YgdGhlIG51bWJlcgoKMjAxMy0xMC0wNiAxNzozNzozOCArMDIwMCAgR2lsbGVzIERhcnRpZ3VlbG9uZ3VlIDxldmFAZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsOiBBbGxvdyBkaXNhYmxpbmcgZ3N0cmVhbWVyLWVnbCBsaWJyYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1MzEKCjIwMTMtMTAtMDUgMTQ6NDU6MzMgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgbXBlZ3RzLWxpYiBmb3IgSVNPIDYzOSBsYW5ndWFnZSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMTQ6NDU6MzIgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXR1cm4gZGVzY3JpcHRvciBpbiBnZXRfZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA1IDE0OjQ1OjMxICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBJU08gNjM5IHBhcnNpbmcgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMDA6MDA6NTIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGhhbmRsZSBzdGlja3kgZHZkIGV2ZW50cwoJICBwYWxldHRlLWNoYW5nZWQgZXZlbnRzIGFyZSBub3cgc3RpY2t5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDU0CgoyMDEzLTEwLTAzIDA3OjU3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNtYWxsIGltcHJvdmVtZW50IG9uIGFsd2F5cyB2YWxpZCBpZiBjb25kaXRpb24KCSAgTm8gbmVlZCB0byBjaGVjayBmb3IgIWNhbmNlbGxlZCBhcyB0aGUgYWJvdmUgaWYgZ3VhcmFudGVlcyBpdAoJICB0byBiZSB0cnVlCgoyMDEzLTEwLTAzIDA3OjU2OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBjYWxsIF9zdG9wIGhvbGRpbmcgdGhlIHVwZGF0ZXMgbG9jawoJICBJdCB3aWxsIGNhdXNlIGEgZGVhZGxvY2sgYW5kIHRoZSBjYWxlcnMgZm9yIF9nZXRfbmV4dF9mcmFnbWVudAoJICB3aWxsIGFscmVhZHkgY2FsbCBfc3RvcCBpZiByZXF1aXJlZCB3aGVuIF9nZXRfbmV4dF9mcmFnbWVudCBmYWlscy4KCSAgRml4ZXMgIzY5MDE0OAoKMjAxMy0wNi0xMiAxMDo1MDo1MSAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogSW1wcm92ZSBpZiBjYXVzZSByZWFkYWJpbGl0eQoJICBGaXhlZCB1cCB0aGUgZXJyb3ItaGFuZGxpbmcgY29kZSB3aGVuIGRvd25sb2FkaW5nIGZyYWdtZW50cy4KCSAgTW9kaWZlZCB0aGUgZXJyb3ItaGFuZGxpbmcgY29kZSB0byB1c2UgcG9zaXRpdmUgbG9naWMgd2hlbgoJICB0ZXN0aW5nIGZvciBjYW5jZWxsYXRpb24gb2YgdGhlIGRvd25sb2FkIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMDktMjYgMTc6MDU6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWN0dWFsbHkgcmV0dXJuIHRydWUgb24gbGF0ZW5jeSBxdWVyeQoJICBEbyBub3QgZm9yZ2V0IHRvIHNldCB0aGUgcmV0dXJuIGZvciBsYXRlbmN5IHF1ZXJ5CgoyMDEzLTA5LTI2IDE2OjEzOjMzIC0wMzAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHN0b3AgZmV0Y2hpbmcgbGl2ZSBmcmFnbWVudHMgdGhhdCBkb24ndCB5ZXQgZXhpc3QKCSAgVGhlcmUgaXMgYW4gaXNzdWUgZm9yIGxpdmUgc3RyZWFtcyB3aGVyZSBkb3dubG9hZF9sb29wIHdpbGwga2VlcAoJICBkb3dubG9hZGluZyBzZWdtZW50cyB1bnRpbCBpdCBnZXRzIGEgNDA0IGVycm9yIGZvciBhIHNlZ21lbnQKCSAgdGhhdCBoYXMgbm90IHlldCBiZWVuIHB1Ymxpc2hlZC4gVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSB0aGlzCgkgIHJlcXVlc3QgZm9yIGEgc2VnbWVudCB0aGF0IGRvZXNuJ3QgZXhpc3Qgd2lsbCBwcm9wYWdhdGUgYWxsIHRoZQoJICB3YXkgYmFjayB0byB0aGUgb3JpZ2luIHNlcnZlcihzKS4gVGhpcyBtZWFucyB0aGF0IGRhc2hkZW11eCBjYXVzZXMKCSAgZXh0cmEgbG9hZCBvbiB0aGUgb3JpZ2luIHNlcnZlcihzKSBmb3Igc2VnbWVudHMgdGhhdCBhcmVuJ3QgeWV0CgkgIGF2YWlsYWJsZS4KCSAgVGhpcyBwYXRjaCB1c2VzIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSwgcGVyaW9kCgkgIGFuZCB0aGUgaG9zdCdzIGlkZWEgb2YgVVRDIHRvIGRlY2lkZSBpZiBhIGZyYWdtZW50IGlzIGF2YWlsYWJsZSB0bwoJICBiZSByZXF1ZXN0ZWQgZnJvbSBhbiBIVFRQIHNlcnZlciBhbmQgZmlsdGVyIG91dCByZXF1ZXN0cyBmb3IgZnJhZ21lbnRzCgkgIHRoYXQgYXJlIG5vdCB5ZXQgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTEwLTAzIDEzOjI2OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBjb252ZXJzaW9uIHRvIEFWQyBpZiBhIFNQUy9QUFMgbm90IGZyb20gdGhlIGZpcnN0IGluZGl6ZXMgaXMgdXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTc0CgoyMDEzLTEwLTAyIDEwOjU1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogUG9ydCBPcGVuSlBFRyBwbHVnaW4gdG8gdGhlIDIuMCBBUEkKCjIwMTMtMTAtMDIgMDU6NDk6NDMgKzAzMDAgIERvbWluaWsgUsO2dHRzY2hlcyA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEFkZCBzdXBwb3J0IGZvciBJNDIwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNDEKCjIwMTMtMTAtMDIgMDU6NDk6MzQgKzAzMDAgIERvbWluaWsgUsO2dHRzY2hlcyA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFVzZSBjb3JyZWN0IHN0cmlkZXMsIGV0YyBmcm9tIHRoZSBHc3RWaWRlb0ZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyMTEKCjIwMTMtMDgtMjAgMTc6MDM6MzggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHN0b3JlIHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbiB6aWctemFnIG9yZGVyCgkgIFF1YW50aXplciBtYXRyaWNlcyBhcmUgZW5jb2RlZCBpbiB6aWd6YWcgc2NhbiBvcmRlciBpbiB0aGUgYml0c3RyZWFtLAoJICBzbyBhbHdheXMgcGFyc2UgaXQgYXMgaXQgaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MjkKCjIwMTMtMTAtMDIgMTE6NDA6MDUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIHdpdGggdGhlIG5ldyBmaWxlIGxpYmdzdGNvZGVjcGFyc2Vycy5kZWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0xMC0wMiAxMToyNDo1OCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzCgkgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBmcm9tIHppZy16YWcgc2NhbgoJICBvcmRlciBpbnRvIHJhc3RlciBzY2FuIG9yZGVyIGFuZCB2aWNlLXZlcnNhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MjkKCjIwMTMtMDktMzAgMTU6MzI6NTUgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLW1wZWd0cy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgQWRkIGdzdHJlYW1lci1tcGVndHMgcGtnLWNvbmZpZyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTQ1CgoyMDEzLTA5LTI5IDIzOjQzOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJICBvcGVuY3Y6IGRvbid0IHVucmVmIE5VTEwgY2FwcyBpbiBmaW5hbGl6ZQoJICBGaXhlcyBnc3QtaW5zcGVjdC0xLjAgLWEgYW5kIGdlbmVyaWMgc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTMtMDktMjYgMTM6Mzc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJICBpb3Nhc3NldHNyYzogUG9ydCB0byAxLjAgYW5kIGZpeCBzb21lIGJ1Z3Mgb24gdGhlIHdheQoKMjAxMy0wOS0yNiAxMzoyMTo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgaW9zYXNzZXRzcmM6IEFkZCBuZXcgZWxlbWVudCBmcm9tIHRoZSBHU3RyZWFtZXIgU0RLIHByb2plY3QKCjIwMTMtMDktMjMgMTQ6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IGlPUyBwYXJ0IHRvIDEuMAoKMjAxMy0wOS0yMyAxMzoyMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBpT1MgY2hlY2sgZm9yIGVnbGdsZXNzaW5rCgoyMDEzLTA5LTIzIDExOjM1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjIGlzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoKMjAxMy0wOS0xOCAxNzo1MToyNiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJvdW5kIHdoZW4gY2FsY3VsYXRpb24gbGVuZ3RoIGZyb20gZHVyYXRpb24KCSAgbGl2ZWFkZGVyIHNvbWV0aW1lcyBjYWxjdWxhdGVzIHRoZSBvZmZzZXRzIGluY29ycmVjdGx5IGJlZm9yZSBhZGRpbmcuIFRoZQoJICByZXN1bHRpbmcgZXJyb3JzIGNhbiBlYXNpbHkgYmUgaGVhcmQgd2hlbiBtaXhpbmcgc2lsZW5jZSB3aXRoIGEgc2luZS4KCSAgSSdtIG5vdCBzdXJlIHdoYXQgdGhlIGV4YWN0IGNvbmRpdGlvbnMgYXJlIHRvIHRyaWdnZXIgdGhpcywgYnV0IGl0IGRlZmluaXRpdmVseQoJICBoYXBwZW5zIHdoZW4gdGhlIGJ1ZmZlcnMgb2YgdHdvIHN0cmVhbXMgaGF2ZSBhIGRpZmZlcmVudCBkdXJhdGlvbiBhbmQgYnVmZmVyCgkgIGxlbmd0aCBhbmQgZHVyYXRpb24gZG9uJ3QgbWF0Y2ggZXhhY3RseSBmb3Igb25lIHN0cmVhbSBiZWNhdXNlIG9mIHJvdW5kaW5nCgkgIGVycm9ycyAoZS5nLiAgZHVyYXRpb249MDowMDowMC4wMjEzMzMzMzMpCgkgIEkgaGF2ZSB0byBhZG1pdCwgSSBnb3QgbG9zdCBpbiB0aGUgbWF0aCBzb21ld2hlcmUgYnV0IGl0IHNlZW1zIHRoYXQgbm90CgkgIHJvdW5kaW5nIGluIGdzdF9saXZlX2FkZGVyX2xlbmd0aF9mcm9tX2R1cmF0aW9uKCkgY2F1c2VzIDEgc2FtcGxlIG92ZXJsYXBzIGluCgkgIGNvbnNlY3V0aXZlIGJ1ZmZlcnMgZnJvbSB0aGUgc2FtZSBzdHJlYW0uCgkgIFdoZW4gdXNpbmcgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZCgpIGluc3RlYWQgb2YganVzdCB0cnVuY2F0aW5nIHRoZQoJICBzaW5lIHNvdW5kIGNvcnJlY3RseSBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODM0NQoKMjAxMy0wOS0yNSAxNToyMjoxMiArMDEwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogVXNlIGZsb2F0cyBmb3IgdGhlIEVYVElORiBkdXJhdGlvbiB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg1MQoKMjAxMy0wOS0yNSAxNToxODozOSArMDEwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogV3JpdGUgRVhULVgtVkVSU0lPTiB0YWcgaW4gdGhlIHBsYXlsaXN0IGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg1MQoKMjAxMy0wOS0xOSAxNDo1Mzo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgY2hlY2s6IFVwZGF0ZSB1dmNoMjY0ZGVtdXggZm9yIGJlaGF2aW91ciBjaGFuZ2UKCSAgU2luY2UgMDA2ZTdhMzQyOGJkMDk3ZmM2ZTZjNjQ4MzMyYmZmNTgzZGQ0MzRmOSB3ZSBubyBsb25nZXIgZXJyb3Igb3V0IG9uCgkgIGluY29tcGxldGUgYXV4IHNlZ21lbnQuCgoyMDEzLTA5LTI3IDE0OjQ1OjAwICswMDAwICBTdGV2ZSBNYXluYXJkIDxzdGV2ZUBzZWNvbmRzdHJ5a2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3Qtc2N0ZS1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0czogQWRkIFNDVEUvRUlTUyBzZWN0aW9ucyBhbmQgdGFibGUgdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODY4OAoKMjAxMy0wNy0yOSAwODoxMDowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBXYWl0IGZvciB2YWxpZCBQQ1Ivb2Zmc2V0IG9idmVydmF0aW9ucwoJICBJdCBpcyBxdWl0ZSBwb3NzaWJsZSB0aGF0IHdlIG1pZ2h0IGdldCBQVFMvRFRTIGJlZm9yZSB0aGUgZmlyc3QKCSAgUENSL09mZnNldCBvYnNlcnZhdGlvbi4KCSAgSW4gb3JkZXIgdG8gZW5kIHVwIHdpdGggdmFsaWQgdGltZXN0YW1wIHdlIHdhaXQgdW50aWwgYXQgbGVhc3Qgb25lCgkgIHN0cmVhbSB3YXMgYWJsZSB0byBnZXQgYSBwcm9wZXIgcnVubmluZy10aW1lIGZvciBhbnkgUFRTL0RUUy4KCSAgVW50aWwgdGhlbiwgd2UgcXVldWUgdXAgdGhlIHBlbmRpbmcgYnVmZmVycyB0byBwdXNoIG91dC4KCSAgT25jZSB3ZSBzZWUgYSBmaXJzdCB2YWxpZCB0aW1lc3RhbXAsIHdlIHJlLWV2YWx1YXRlIHRoZSBhbW91bnQgb2YKCSAgcnVubmluZy10aW1lIGVsYXBzZWQgKGJhc2VkIG9uIHJldHVybmVkIGluaXRhbCBydW5uaW5nLXRpbWUgYW5kIGFtb3VudAoJICBvZiBkYXRhL0RUUyBxdWV1ZWQgdXApIGZvciBhbnkgZ2l2ZW4gc3RyZWFtLgoJICBUYWtpbmcgdGhlIGJpZ2dlc3QgYW1vdW50IG9mIGVsYXBzZWQgdGltZSwgd2Ugc2V0IHRoYXQgb24gdGhlIHBhY2tldGl6ZXIKCSAgYXMgdGhlIGluaXRpYWwgb2Zmc2V0IGFuZCByZWNhbGN1bGF0ZSBhbGwgcGVuZGluZyBidWZmZXJzIHJ1bm5pbmctdGltZQoJICBQVFMvRFRTLgoJICBOb3RlOiBUaGUgYnVmZmVyIHF1ZXVlaW5nIHN5c3RlbSBjYW4gYWxzbyBiZSB1c2VkIGxhdGVyIG9uIGZvciB0aGUKCSAgZHZiIGZhc3Qgc3RhcnQgcHJvcG9zYWwgKHdoZXJlIHdlIHF1ZXVlIHVwIGFsbCBzdHJlYW0gcGFja2V0cyBiZWZvcmUKCSAgc2VlaW5nIFBBVC9QTVQgYW5kIHRoZW4gcHVzaCB0aGVtIG9uY2Ugd2Uga25vdyBpZiB0aGV5IGJlbG9uZyB0byB0aGUKCSAgY2hvc2VuIHByb2dyYW0pLgoKMjAxMy0wNy0wNyAxNTowNDoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgZGVzY3JpcHRvciBkdW1waW5nCgoyMDEzLTA3LTI2IDA3OjU0OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogTmV3IFBDUjw9Pk9mZnNldCBlc3RpbWF0aW9uIGNvZGUKCSAgVGhpcyBhbGxvd3M6CgkgICogQmV0dGVyIGR1cmF0aW9uIGVzdGltYXRpb24KCSAgKiBNb3JlIGFjY3VyYXRlIFBDUiBsb2NhdGlvbgoJICAqIE92ZXJhbGwgbW9yZSBhY2N1cmF0ZSBydW5uaW5nLXRpbWUgbG9jYXRpb24gYW5kIGNhbGN1bGF0aW9uCgkgIExvY2F0aW9uIGFuZCB2YWx1ZXMgb2YgUENSIGFyZSByZWNvcmRlZCBpbiBncm91cHMgKFBDUk9mZnNldEdyb3VwKQoJICB3aXRoIG5vdGFibGUgUENSL09mZnNldCBvYnNlcnZhdGlvbnMgaW4gdGhlbSAod2hlbiBiaXRyYXRlIGNoYW5nZWQKCSAgZm9yIGV4YW1wbGUpLiBQQ1IgYW5kIG9mZnNldCBhcmUgc3RvcmVkIGFzIDMyYml0IHZhbHVlcyB0bwoJICByZWR1Y2UgbWVtb3J5IHVzYWdlICh0aGV5IGFyZSBkaWZmZXJlbmNlcyBhZ2FpbnN0IHRoYXQgZ3JvdXAncwoJICBmaXJzdF97cGNyfG9mZnNldH0uCgkgIFRob3NlIGdyb3VwcyBlYWNoIGNvbnRhaW4gYSBnbG9iYWwgUENSIG9mZnNldCAocGNyX29mZnNldCkgd2hpY2gKCSAgaW5kaWNhdGVzIGhvdyBmYXIgaW4gdGhlIHN0cmVhbSB0aGF0IGdyb3VwIGlzLgoJICBXaGVuZXZlciBuZXcgUENSIHZhbHVlcyBhcmUgb2JzZXJ2ZWQsIHdlIHN0b3JlIHRoZW0gaW4gYSBzbGlkaW5nCgkgIHdpbmRvdyBlc3RpbWF0b3IgKFBDUk9mZnNldEdyb3VwQ3VycmVudCkuCgkgIFdoZW4gYSByZXNldC93cmFwb3Zlci9nYXAgaXMgZGV0ZWN0ZWQsIHdlIGNsb3NlIHRoZSBjdXJyZW50IGdyb3VwIHdpdGgKCSAgY3VycmVudCB2YWx1ZXMgYW5kIHN0YXJ0IGEgbmV3IG9uZSAodGhlIHBjcl9vZmZzZXQgb2YgdGhhdCBuZXcgZ3JvdXAKCSAgaXMgYWxzbyBjYWxjdWxhdGVkKS4KCSAgV2hlbiBhIG5vdGFibGUgY2hhbmdlIGluIGJpdHJhdGUgaXMgb2JzZXJ2ZWQgKCsvLSAxMCUpLCB3ZSByZWNvcmQKCSAgbmV3IHZhbHVlcyBpbiB0aGUgY3VycmVudCBncm91cC4gVGhpcyBpcyBhIGNvbXByb21pc2UgYmV0d2VlbgoJICBzdG9yaW5nIGFsbCBQQ1Ivb2Zmc2V0IG9ic2VydmF0aW9ucyBhbmQgbm9uZSwgd2hpbGUgYXQgdGhlIHNhbWUgdGltZQoJICBwcm92aWRpbmcgYmV0dGVyIGluZm9ybWF0aW9uIGZvciBydW5uaW5nLXRpbWU8PT5vZmZzZXQgY2FsY3VsYXRpb24KCSAgaW4gVkJSIHN0cmVhbXMuCgkgIFdoZW5ldmVyIGEgbmV3IG5vbi1jb250aWd1b3VzIGdyb3VwIGlzIHN0YXJ0IChkdWUgdG8gc2Vla2luZyBmb3IgZXhhbXBsZSkKCSAgd2UgcmUtZXZhbHVhdGUgdGhlIHBjcl9vZmZzZXQgb2YgZWFjaCBncm91cHMuIFRoaXMgYWxsb3dzIGRldGVjdGluZyBhcwoJICBxdWlja2x5IGFzIHBvc3NpYmxlIFBDUiB3cmFwb3Zlci9yZXNldC4KCSAgV2hlbiB3YW50aW5nIHRvIGZpbmQgdGhlIG9mZnNldCBvZiBhIGNlcnRhaW4gcnVubmluZy10aW1lLCBvbmUgY2FuCgkgIGl0ZXJhdGUgdGhlIGdyb3VwcyBieSBsb29raW5nIGF0IHRoZSBwY3Jfb2Zmc2V0ICh3aGljaCBpbiBlc3NlbmNlICppcyoKCSAgdGhlIHJ1bm5pbmctdGltZSBvZiB0aGF0IGdyb3VwIGluIHRoZSBvdmVyYWxsIHN0cmVhbSkuCgkgIE9uY2UgYSBncm91cCAob3IgbmVpZ2hib3VyaW5nIGdyb3VwcyBpZiB0aGUgcnVubmluZy10aW1lIGlzIGJldHdlZW4gdHdvCgkgIGdyb3VwcykgaXMgZm91bmQsIG9uY2UgY2FuIHVzZSB0aGUgcmVjb3JkZWQgdmFsdWVzIHRvIGZpbmQgdGhlIG1vc3QKCSAgYWNjdXJhdGUgb2Zmc2V0LgoJICBSaWdodCBub3cgdGhpcyBjb2RlIGlzIG9ubHkgdXNlZCBpbiBwdWxsLW1vZGUgLCBidXQgY291bGQgYWxzbwoJICBiZSBhY3RpdmF0ZWQgbGF0ZXIgb24gZm9yIGFueSBzZWVrYWJsZSBzdHJlYW0sIGxpa2UgbGl2ZSB0aW1lc2hpZnQKCSAgd2l0aCBxdWV1ZTIuCgkgIEZ1dHVyZSBpbXByb3ZlbWVudHM6CgkgICogc29tZSBoZXVyaXN0aWNzIHRvICJjb21wcmVzcyIgdGhlIHN0b3JlZCB2YWx1ZXMgaW4gZ3JvdXBzIHNvIGFzIHRvIGtlZXAKCSAgdGhlIG1lbW9yeSB1c2FnZSBkb3duIHdoaWxlIHN0aWxsIGtlZXBpbmcgYSBkZWNlbnQgYW1vdW50IG9mIG5vdGFibGUKCSAgcG9pbnRzLgoJICAqIEFmdGVyIGEgc2VlayBjb21wYXJlIGV4cGVjdGVkIGFuZCBvYnRhaW5lZCBQQ1IvT2Zmc2V0IGFuZCBpZiB0aGUKCSAgZGlmZmVyZW5jZSBpcyB0b28gYmlnLCByZS1jYWxjdWxhdGUgcG9zaXRpb24gd2l0aCBuZXdseSBvYnNlcnZlZAoJICB2YWx1ZXMgYW5kIHNlZWsgdG8gdGhhdCBtb3JlIGFjY3VyYXRlIHBvc2l0aW9uLgoJICBOb3RlIHRoYXQgdGhpcyBjb2RlIHdpbGwgKm5vdCogcHJvdmlkZSBrZXlmcmFtZS1hY2N1cmF0ZSBzZWVraW5nLCBidXQKCSAgd2lsbCBhbGxvdyBhIG11Y2ggbW9yZSBhY2N1cmF0ZSBQQ1IvcnVubmluZy10aW1lL29mZnNldCBsb2NhdGlvbiBvbgoJICBhbnkgcmFuZG9tIHN0cmVhbS4KCSAgRm9yIHBhc3QgKG9ic2VydmVkKSB2YWx1ZXMgaXQgd2lsbCBiZSBhcyBhY2N1cmF0ZSBhcyBjYW4gYmUuCgkgIEZvciBmdXR1cmUgdmFsdWVzIGl0IHdpbGwgYmUgYmV0dGVyIHRoYW4gdGhlIGN1cnJlbnQgc2l0dWF0aW9uLgoJICBGaW5hbGx5IHRoZSBtb3JlIHlvdSBzZWVrLCB0aGUgbW9yZSBhY2N1cmF0ZSB5b3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUuCgoyMDEzLTA3LTA1IDE3OjExOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE5vIGxvbmdlciB1c2UgYSBwcml2YXRlIHN0cnVjdAoJICBUaGVzZSBhcmUgbm90IHB1YmxpYyBoZWFkZXJzLCBpdCBqdXN0IGFkZHMgY29tcGxleGl0eSBmb3Igbm8gcmVhc29uCgoyMDEzLTA5LTI2IDE2OjUxOjI1ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggZGVyZWZlcmVuY2luZyBvZiBOVUxMIHBvaW50ZXIKCSAgT24gc29tZSBsaXZlIEhMUyBzdHJlYW1zLCBnc3RfaGxzX2RlbXV4X3N3aXRjaF9wbGF5bGlzdCBjYXVzZXMKCSAgYXNzZXJ0aW9uIGZhaWx1cmVzIGJlY2F1c2UgaXQgdHJpZWQgdG8gZGVyZWZlcmVuY2UgYSBOVUxMIGZyYWdtZW50LgoJICBUaGlzIGlzIGJlY2F1c2UgZ19xdWV1ZV9wZWVrX3RhaWwgc29tZXRpbWVzIHdhcyByZXR1cm5pbmcgTlVMTCBhbmQKCSAgdGhpcyBjYXNlIHdhcyBub3QgYmVpbmcgY2hlY2tlZC4KCSAgVGhpcyBwYXRjaCBkb2VzIHR3byB0aGluZ3M6CgkgICogbW92ZSB0aGUgZ19xdWV1ZV9wZWVrX3RhaWwgaW5zaWRlIHRoZSBzZW1hcGhvcmUgcHJvdGVjdGlvbgoJICAqIGNoZWNrIGlmIHFfcXVldWVfcGVla190YWlsIHJldHVybnMgTlVMTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODQ5CgoyMDEzLTA5LTI3IDE2OjEwOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBRdWV1ZSBidWZmZXJzIHVudGlsIHdlIGhhdmUgZW5vdWdoIHRvIGtub3cgdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODIyMgoKMjAxMy0wOS0xNiAxMTo0NjoyNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiByZXdvcmsgVFMgcGFja2V0IHN5bmMgYW5kIGV4dHJhY3Rpb24KCSAgVGhlIHByZXZpb3VzIGNvZGUgY291bGQgZW50ZXIgYW4gaW5maW5pdGUgbG9vcCBiZWNhdXNlIHRoZSBhZGFwdGVyIHN0YXRlCgkgIGNvdWxkIGdldCBvdXQgb2Ygc3luYyB3aXRoIGl0cyBtYXBwZWQgZGF0YSBzdGF0ZSBhZnRlciBzeW5jIHdhcyBsb3N0LgoJICBUaGUgY29kZSB3YXMgcHJldHR5IGNvbmZ1c2luZyBzbyBpdCdzIGJlZW4gcmV3cml0dGVuIHRvIGJlIGNsZWFyZXIuCgkgIFRoZSBlYXNpZXN0IHdheSB0byByZXByb2R1Y2UgdGhlIGluZmluaXRlIGxvb3AgaXMgdG8gdXNlIHRoZSBicmVha215ZGF0YQoJICBlbGVtZW50IGJlZm9yZSB0c2RlbXV4IHRvIHRyaWdnZXIgYSByZXN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxNjEKCjIwMTMtMDktMTYgMTE6NDI6NDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IGJ1ZmZlciBvdmVyZmxvdwoJICBUaGlzIGNhbiBoYXBwZW4gd2l0aCBhIGNvcnJ1cHQgVFMgZmlsZSwgZm91bmQgd2l0aCBicmVha215ZGF0YSBlbGVtZW50CgkgIHBsdWdnZWQgYmVmb3JlIHRzZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxNjEKCjIwMTMtMDktMjUgMjM6NTc6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIEFTX1NDUlVCX0lOQ0xVREUKCSAgU2hvdWxkbid0IGJlIG5lZWRlZCBhbnkgbW9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzY1OAoKMjAxMy0wOS0yNSAyMDoyNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogRml4IGNvbXBpbGF0aW9uIG9uIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxMy0wOS0yNCAxODozMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YjAzYmE3IHRvIDg2NWFhMjAKCjIwMTMtMDktMjQgMTU6MDU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBY3R1YWxseSB1c2UgMS4zLjAuMSBhcyB2ZXJzaW9uIHRvIG1ha2UgY29uZmlndXJlIGhhcHB5CgoyMDEzLTA5LTI0IDE1OjAwOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMi4wID09PQoKMjAxMy0wOS0yNCAxNDozNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMi4wCgoyMDEzLTA5LTI0IDE0OjM3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0yMyAxNjoxODo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkgIHNkcGRlbXV4OiBDaGFuZ2UgcmFuayB0byBOT05FIHVudGlsIGl0IGNhbiBiZSBhdXRvcGx1Z2dlZCBwcm9wZXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDk1CgoyMDEzLTA5LTIwIDE2OjE3OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjYxMzY2MSB0byA2YjAzYmE3CgoyMDEzLTA5LTE5IDIwOjE3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2Z4YmFkLmM6CgkgIGF1ZGlvZnhiYWQ6IENoYW5nZSBwbHVnaW4gbmFtZSB0byBhdWRpb2Z4YmFkIGZyb20gYXVkaW9jaGFubmVsbWl4CgoyMDEzLTA5LTE5IDIwOjA5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIGRhc2gvc21vb3Roc3RyZWFtaW5nOiBSZW1vdmUgdW51c2VkIGRlYnVnIGNhdGVnb3J5IHdpdGggdGhlIHNhbWUgbmFtZQoJICBJdCBjYXVzZWQgc3RhdGljIGxpbmtpbmcgdG8gZmFpbC4KCjIwMTMtMDktMTkgMTg6NDM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc0YTY4NTcgdG8gYjYxMzY2MQoKMjAxMy0wOS0xOSAxNzozNjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byA3NGE2ODU3CgoyMDEzLTA5LTE5IDE2OjQ0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdGF0aWMgbGlua2luZyBmb3IgQW5kcm9pZCBieSBwYXNzaW5nIC0tdGFnPUNDIHRvIGxpYnRvb2wKCjIwMTMtMDktMTkgMTE6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjkwID09PQoKMjAxMy0wOS0xOSAxMDo1MDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS45MAoKMjAxMy0wOS0xOSAxMDo0NjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMTkgMDk6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2NzLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA5LTE4IDIyOjM2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgZm9yIG5ldyBHc3RDb250ZXh0IEFQSQoKMjAxMy0wOS0xOCAyMjoyNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBVcGRhdGUgZm9yIG5ldyBHc3RDb250ZXh0IEFQSQoKMjAxMy0wOS0xNyAxNzo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IEdzdFVyaURvd25sb2FkZXIgY2FuY2VsbGF0aW9uIHdoZW4gcmVzdGFydGluZyB0byBwbGF5CgoyMDEzLTA5LTE1IDE3OjA5OjE2ICswNTMwICBTdWRpcCBKYWluIDxzdWRpcC5qYWluQHN0LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENvcnJlY3QgY29uZGl0aW9uIGNoZWNrIGZvciBjdXJyZW50IG5leHQgaW5kaWNhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxMDYKCjIwMTMtMDktMTIgMTI6MDM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBmaXggZXZlbnQgb3JkZXIKCSAgRGVsYXkgZm9yd2FyZGluZyB0aGUgc2VnbWVudCBldmVudCB1bnRpbCB3ZSBwdXNoZWQgY2Fwcy4KCSAgU2VuZCBTVFJFQU1fU1RBUlQgaW4gcHVsbCBtb2RlLgoKMjAxMy0wOS0xMiAxMzoyMTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRG9uJ3QgcHV0IHRoZSBsZXZlbCByZXN0cmljdGlvbnMgb24gdGhlIHNpbmtwYWQgY2FwcwoJICBUaGV5IHRlbmQgdG8gYmUgaW5hY2N1cmF0ZSBhbmQgaGF2aW5nIHRoZW0gaW4gdGhlIHNpbmtwYWQgY2FwcwoJICBwcmV2ZW50cyBwbGF5YmFjayBvZiBmaWxlcyB0aGF0IHdvdWxkIG90aGVyd2lzZSBwbGF5IGZpbmUuCgoyMDEzLTA5LTEwIDE4OjUxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiByZXNwZWN0IHNlcW51bXMgb24gc2Vla3MKCSAgUGFzcyB0aGUgc2VxbnVtIHRvIG90aGVyIGV2ZW50cyB0aGF0IGFyZSBjb25zZXF1ZW5jZSBvZiB0aGUKCSAgb3JpZ2luYWwgc2VlayBldmVudAoKMjAxMy0wOS0xMCAxMTozNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IFdlIGFsc28gd29yayB3aXRoIE9wZW5DViAyLjQuNi4xCgoyMDEzLTA5LTEwIDA4OjQ4OjMyICswMDAwICBJYWluIExhbmUgPGlhaW4ubGFuZUBjYW5vbmljYWwuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogU3BlY2lmeSBkaXJlY3Rvcnkgd2hlbiBpbmNsdWRpbmcgc3RkYWZ4LmgKCSAgbW9kcGx1ZyBzdG9wcGVkIGV4cG9zaW5nIHRoZWlyIGRpcmVjdG9yeSBpbiB0aGVpciBwY2ZpbGUsIG1lYWluaW5nCgkgIGNvbnN1bWVycyBhY2Nlc3NpbmcgdGhlIGhlYWRlcnMgZGlyZWN0bHkgZmFpbCB0byBidWlsZC4KCSAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL21vZHBsdWcteG1tcy9naXQvY2kvNzVlOWIxNjY5ODJlZDYzN2I1OWVmN2NiYzE4MzVhMDlmNzY4OTIzZS8KCjIwMTMtMDktMDkgMTM6MTQ6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggc21hbGwgbWVtIGxlYWsKCjIwMTMtMDktMDcgMjM6MDk6MzEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IHVwZGF0ZSBzcmMgY2FwcyBpZiBvbmx5IGNvZGVjX2RhdGEgZGlmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzMzCgoyMDEzLTA5LTA1IDE5OjIzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogTGV0IHRoZSBjYXBzIGJlIE5VTEwgaWYgdGhlcmUgaXMgbm8gcGVlcgoKMjAxMy0wOS0wNSAxOToyMjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IE5vIG5lZWQgdG8gZHJvcCBzZWdtZW50IGV2ZW50cwoJICBJbiAxLjAsIHNlZ21lbnQgZXZlbnRzIGFyZSBzdGlja3kgYW5kIG5vdCBhZGRpdGl2ZSwgbm8gbmVlZCB0byBwcmV2ZW50CgkgIHRoZWlyIGFjY3VtdWxhdGlvbi4KCjIwMTMtMDktMDUgMTk6MTA6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogc2VuZCBjYXBzIGV2ZW50IGJlZm9yZSBzZWdtZW50CgoyMDEzLTA5LTA0IDEwOjU4OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBjaGFuZ2UgcG9vbC0+c2luay0+bGFzdF9idWZmZXIgdG8gcG9vbC0+bGFzdF9idWZmZXIKCSAgU28gdGhhdCBHc3RFR0xJbWFnZUJ1ZmZlclBvb2wgZG9lcyBub3QgZGVwZW5kIG9uIEdzdEVnbEdsZXNTaW5rCgkgIFRoZSBnb2FsIGlzIHN0aWxsIHRvIG1vdmUgaXQgaW50byBnc3RlZ2wgbGliCgoyMDEzLTA5LTA0IDEwOjU2OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBidWZmZXIgcG9vbCBkb2VzIG5vdCBuZWVkIHRvIG1haW50YWluIGEgcmVmIG9uIHRoZSBkaXNwbGF5CgkgIEJlY2F1c2UgaXQgZG9lcyBub3QgdXNlIGl0IGFuZCBhbHNvIGl0IG1heSBub3Qga25vdyBpdCB3aGVuCgkgIHdlIGNyZWF0ZSB0aGUgcG9vbAoKMjAxMy0wOS0wNCAxMDo1Mjo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogYWRkIEdzdEVHTEltYWdlQnVmZmVyUG9vbFNlbmRCbG9ja2luZ0FsbG9jYXRlIGNhbGxiYWNrCgkgIFRoZSBnb2FsIGhlcmUgaXMgdG8gcHJlcGFyZSBHc3RFR0xCdWZmZXJQb29sIHRvIGJlIG1vdmVkIGludG8KCSAgZ3N0ZWdsIGxpYi4gU28gaXQgaGFzIHRvIG5vdCBkZXBlbmQgb24gJ2dzdF9lZ2xnbGVzc2lua19xdWV1ZV9vYmplY3QnCgoyMDEzLTA5LTA0IDEwOjQ4OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHByZXBhcmUgZ3N0X2VnbF9hZGFwdGF0aW9uX2FsbG9jYXRlX2VnbGltYWdlIHRvIGJlIG1vdmVkCgkgIGludG8gZ3N0ZWdsIGxpYiBvciBzcGxpdGVkIGJldHdlZW4gZ3N0ZWdsIGxpYiBhbmQgZ3N0Z2wgbGliCgkgIGJlY2F1c2UgaXQgYm90aCBkZXBlbmRzIG9uIGVnbCBhbmQgZ2wKCSAgU28gaXQgaGFzIHRvIG5vdCBkZXBlbmQgb24gR3N0RWdsQWRhcHRhdGlvbkNvbnRleHQKCjIwMTMtMDgtMzAgMTM6NTQ6NDAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBzdXBwb3J0IGZvciBzdHJlYW0tZm9ybWF0PWF2YzMKCSAgV2hlbiBvdXRwdXR0aW5nIGluIEFWQzMgc3RyZWFtIGZvcm1hdCwgdGhlIGNvZGVjX2RhdGEgc2hvdWxkIG5vdAoJICBjb250YWluIGFueSBTUFMgb3IgUFBTLCBiZWNhdXNlIHRoZXkgYXJlIGVtYmVkZGVkIGluc2lkZSB0aGUgc3RyZWFtLgoJICBJbiBjYXNlIG9mIGF2Yy0+Ynl0ZXN0cmVhbSBoMjY0cGFyc2Ugd2lsbCBwdXNoIHRoZSBTUFMgYW5kIFBQUyBmcm9tCgkgIGNvZGVjX2RhdGEgZG93bnN0cmVhbSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSwgYXQgaW50ZXJ2YWxzCgkgIGNvbnRyb2xsZWQgYnkgImNvbmZpZy1pbnRlcnZhbCIgYW5kIHdoZW4gdGhlcmUgaXMgYSBjb2RlY19kYXRhIGNoYW5nZS4KCSAgSW4gdGhlIGNhc2Ugb2YgYXZjMy0+Ynl0c3RyZWFtIGgyNjRwYXJzZSBkZXRlY3RzIHRoYXQgdGhlcmUgaXMKCSAgYWxyZWFkeSBTUFMvUFBTIGluIHRoZSBzdHJlYW0gYW5kIHNldHMgaDI2NHBhcnNlLT5wdXNoX2NvZGVjIHRvIEZBTFNFLgoJICBUaGVyZWZvcmUgYXZjMy0+Ynl0c3RyZWFtIHdhcyBhbHJlYWR5IHN1cHBvcnRlZCwgZXhjZXB0IGZvciB0aGUgc3RyZWFtCgkgIHR5cGUuCgkgIEluIHRoZSBjYXNlIG9mIGJ5c3RyZWFtLT5hdmMgaDI2NHBhcnNlIHdpbGwgZ2VuZXJhdGUgY29kZWNfZGF0YSBjYXBzCgkgIGZyb20gdGhlIHBhcnNlZCBTUFMvUFBTIGluIHRoZSBzdHJlYW0uIEhvd2V2ZXIgaXQgZG9lcyBub3QgcmVtb3ZlIHRoZXNlCgkgIFNQUy9QUFMgZnJvbSB0aGUgc3RyZWFtLiBieXRlc3RyZWFtLT5hdmMzIGlzIHRoZSBzYW1lIGFzIGJ5dGVzdHJlYW0tPmF2YwoJICBleGNlcHQgdGhhdCB0aGUgY29kZWNfZGF0YSBtdXN0IG5vdCBoYXZlIGFueSBTUFMvUFBTIGluIGl0LgoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICB8c3RyZWFtLWZvcm1hdCB8IFNQUyBpbi1iYW5kIHwgU1BTIGluIGNvZGVjX2RhdGEgfAoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICB8IGF2YyAgICAgICAgICB8IG1heWJlICAgICAgIHwgYWx3YXlzICAgICAgICAgICAgfAoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICB8IGF2YzMgICAgICAgICB8IGFsd2F5cyAgICAgIHwgbmV2ZXIgICAgICAgICAgICAgfAoJICB8LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tfAoJICBBbWVuZG1lbnQgMiBvZiBJU08vSUVDIDE0NDk2LTE1IChBVkMgZmlsZSBmb3JtYXQpIGlzIGRlZmluaW5nIGEgbmV3CgkgIHN0cnVjdHVyZSBmb3IgZnJhZ21lbnRlZCBNUDQgY2FsbGVkICJhdmMzIi4gVGhlIHByaW5jaXBhbCBkaWZmZXJlbmNlCgkgIGJldHdlZW4gQVZDMSBhbmQgQVZDMyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIGNvZGVjIGluaXRpYWxpc2F0aW9uCgkgIGRhdGEgKGUuZy4gU1BTLCBQUFMpLiBJbiBBVkMxIHRoaXMgZGF0YSBpcyBwbGFjZWQgaW4gdGhlIGluaXRpYWwgTU9PViBib3gKCSAgKG1vb3YudHJhay5tZGlhLm1pbmYuc3RibC5zdHNkLmF2YzEpIGJ1dCBpbiBBVkMzIHRoaXMgZGF0YSBnb2VzIGluIHRoZQoJICBmaXJzdCBzYW1wbGUgb2YgZXZlcnkgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwMDQKCjIwMTMtMDktMDMgMTc6MzY6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IEZpeCBjb21waWxhdGlvbiB3aXRoIHNvdW5kdG91Y2ggMS40LjAKCSAgSXQgdXNlZCBGTE9BVF9TQU1QTEVTL0lOVEVHRVJfU0FNUExFUyAjZGVmaW5lcyBpbnN0ZWFkIG9mIG9uZXMgcHJvcGVybHkKCSAgcHJlZml4ZWQgd2l0aCBhIG5hbWVzcGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM5MAoKMjAxMy0wOS0wMyAxMToxNDo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgd2luMzIgY29uZmlnLmgtbmV3CgoyMDEzLTA5LTAzIDExOjA1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBQb3J0IHRpbGVkIE5WMTIgY29udmVyc2lvbiB0byAxLjAKCjIwMTMtMDktMDMgMTA6NTY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEFkZCBGSVhNRSBjb21tZW50CgoyMDEzLTA4LTEyIDEwOjE2OjE2ICswMDAwICBKb3JnZSBMdWlzIFphcGF0YSA8anphcGF0YUBmbHVlbmRvLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogYWRkIHN1cHBvcnQgZm9yIGEgbmV3IHF1YWxjb21tIGNvbG9yc3BhY2UKCjIwMTMtMDktMDIgMjM6Mjg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbWlub3IgY2xlYW4tdXAKCjIwMTMtMDktMDIgMjI6NTQ6MzIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlbmQgZXZlbnRzIG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZAoJICBTb21lb25lIG1pZ2h0IGJlIHdhaXRpbmcgZm9yIGNlcnRhaW4gZXZlbnRzIHdpdGggYSBwcm9iZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzMxNwoKMjAxMy0wOC0yOCAyMDowNzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRpc2FibGUgYnVmZmVyIHBvb2xzCgkgIE9uIGEgZGV2aWNlIGxvc3QsIGFsbCB0aGUgc3VyZmFjZXMgYWxsb2NhdGVkIGluIHRoZQoJICBkZXZpY2UgbmVlZCB0byBiZSByZWxlYXNlZCBiZWZvcmUgcmVzZXR0aW5nIHRoZSBkZXZpY2UsCgkgIHdoaWNoIGNhbid0IGJlIGRvbmUgZm9yIHRoZSBhbGxvY2F0ZWQgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjU2NgoKMjAxMy0wOS0wMiAxMzo0MDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIENoYW5nZSBob3cgd2luMzIvY29tbW9uL2NvbmZpZy5oIGlzIHVwZGF0ZWQKCSAgR2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oLW5ldyBkaXJlY3RseSBmcm9tIGNvbmZpZy5oLmluLAoJICB1c2luZyBzaGVsbCB2YXJpYWJsZXMgaW4gY29uZmlndXJlIGFuZCBzb21lIGhhcmQtY29kZWQgaW5mb3JtYXRpb24uCgkgIENoYW5nZSB0b3AtbGV2ZWwgbWFrZWZpbGUgc28gdGhhdCAnbWFrZSB3aW4zMi11cGRhdGUnIGNvcGllcyB0aGUKCSAgZ2VuZXJhdGVkIGZpbGUgdG8gd2luMzIvY29tbW9uL2NvbmZpZy5oLCB3aGljaCB3ZSBrZWVwIGluIHNvdXJjZQoJICBjb250cm9sLiAgSXQncyBrZXB0IGluIHNvdXJjZSBjb250cm9sIHNvIHRoYXQgdGhlIGdpdCB0cmVlIGlzCgkgIGJ1aWxkYWJsZSBmcm9tIFZTLgoJICBUaGlzIGNoYW5nZSBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgcmVjZW50bHkgYXBwbGllZCB0byBHU3RyZWFtZXIKCSAgYW5kIGdzdC1wbHVnaW5zLWdvb2QuICBUaGUgcHJldmlvdXMgY29uZmlnLmggZmlsZSBpbiAtYmFkIHdhcyBpbgoJICBwcmV0dHkgYmFkIHNoYXBlLCBzbyB1bmxpa2UgY29yZSBhbmQgYmFzZSwgSSBkaWRuJ3QgYXR0ZW1wdCB0bwoJICBsZWF2ZSBpdCBzdHJpY3RseSB0aGUgc2FtZSwgYnV0IGZpeGVkIGl0IGFzIG5lY2Vzc2FyeS4gIE5lZWRzCgkgIHRlc3RpbmcgSSBjYW5ub3QgZG8gbXlzZWxmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5MDE1CgoyMDEzLTA5LTAyIDEyOjE5OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgYWlmZnBhcnNlIHRlc3QgYmluYXJ5CgoyMDEzLTA5LTAyIDEwOjI5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgc291bmR0b3VjaDogQWxsb3cgY29tcGlsYXRpb24gYWdhaW5zdCBmbG9hdCBhbmQgaW50ZWdlciB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNzAKCjIwMTMtMDgtMzAgMjE6NTI6MzUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIGluIE9TIFggU25vdyBMZW9wYXJkCgkgIGdzdGRhc2hkZW11eC5jOjE3NTM6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JwoJICBnc3RkYXNoZGVtdXguYzoyMjI0OiB3YXJuaW5nOiBmb3JtYXQgJyVsbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyBsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdndWludDY0JwoJICBnc3RkYXNoZGVtdXguYzoyMjI0OiB3YXJuaW5nOiBmb3JtYXQgJyVsbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyBsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMCBoYXMgdHlwZSAnZ3VpbnQ2NCcKCjIwMTMtMDgtMzAgMjE6MzY6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBGaXggd2FybmluZ3Mgd2hlbiBidWlsZGluZyBpbiBPUyBYIFNub3cgTGVvcGFyZAoJICBnc3RtcGRwYXJzZXIuaDo1MzA6IHdhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlCgkgIGdzdG1wZHBhcnNlci5jOjQxNzc6IHdhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlCgoyMDEzLTA4LTMwIDA5OjA1OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIGNvZGVjcGFyc2VycyBtYWNyb3MKCSAgbm90ZTogSS9TSSBhbHNvIGNvdmVycyB0aGUgU19JL1NfU0kgdmFyaWFudHMKCjIwMTMtMDgtMjkgMTE6MDI6MzcgLTA3MDAgIEtlcnJpY2sgU3RhbGV5IDxrZXJyaWNrQGtlcnJpY2tzdGFsZXkuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkgIGV4YW1wbGVzOiBwb3J0IGRpcmVjdGZiIGV4YW1wbGUgdG8gMS4wCgkgIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwcyB3YXMgcmVtb3ZlZCBmcm9tIDEuMDsKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuIFNlZQoJICBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdHJlYW1lci90cmVlL2RvY3MvcmFuZG9tCgkgIC9wb3J0aW5nLXRvLTEuMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA3NAoKMjAxMy0wOC0yOSAxNTo1NTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZSBjb25maWcuaAoKMjAxMy0wOC0yOSAxNTo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBtYWtlICJsYXllci1tb2RlIiBwcm9wZXJ0eSBhbiBlbnVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MjAKCjIwMTMtMDgtMjkgMTQ6NDg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MjAKCjIwMTMtMDYtMjYgMTE6MDc6MTQgKzA5MDAgIEthenVub3JpIEtvYmF5YXNoaSA8a2tvYmF5YXNAaWdlbC5jby5qcD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgIGRmYnZpZGVvc2luazogcG9ydCB0byAxLjAKCSAgaW5jbHVkaW5nIHRoZSBmb2xsb3dpbmcgc3VwcG9ydHMgYW5kIGZpeGVzOgoJICAqIENyZWF0ZSBEaXJlY3RGQiBzdXJmYWNlcyBmcm9tIEdzdEJ1ZmZlclBvb2wKCSAgKiBBZGQgTlYxMiBwaXhlbCBmb3JtYXQgc3VwcG9ydAoJICAqIERvbid0IHVzZSB0aGUgY3Vyc29yIGluIHRoZSBleGNsdXNpdmUgbW9kZQoJICAtIEVuYWJsZUN1c29yKCkgY2FuIGJlIG9ubHkgdXNlZCB3aGVuIHRoZSBhZG1pbmlzdHJhdGl2ZSBtb2RlIGlzIHNldAoJICBpbiBEaXJlY3RGQiAxLjYuMCBhbmQgbGF0ZXIuCgkgICogU3VwcG9ydCBtdWx0aXBsZSBwbGFuZSByZW5kZXJpbmcgZm9yIHBsYW5hciBjb2xvciBmb3JtYXRzCgkgIC0gVGhpcyBhY2NvbW1vZGF0ZXMgdGhlIGNocm9tYSBwbGFuZSBvZmZzZXRzIG9mIHRoZSBmcmFtZWJ1ZmZlcgoJICBpbiBwbGFuYXIgZm9ybWF0cy4KCSAgKiBJbnZva2UgU2V0Q29uZmlndXJhdGlvbiByZWdhcmRsZXNzIG9mIHZpZGVvIG1vZGUgc2V0dGluZyBpbiBzZXRjYXBzKCkKCSAgLSBTZXRDb25maWd1cmF0aW9uKCkgbWV0aG9kIHNob3VsZCBiZSBpbnZva2VkIHJlZ2FyZGxlc3Mgb2YKCSAgdGhlIHJlc3VsdCBvZiBnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKCksIHNpbmNlIHRoZSB0d28gYXJlCgkgIHVucmVsYXRlZC4KCSAgKiBEaXNhYmxlIERpcmVjdEZCIHNpZ25hbCBoYW5kbGVyCgkgIC0gIi0tZGZiOm5vLXNpZ2hhbmRsZXIiIG9wdGlvbiBpcyBwYXNzZWQgdG8gRGlyZWN0RkJJbml0KCkuCgkgIFRoaXMgcHJldmVudHMgRGlyZWN0RkIgZnJvbSB0cnlpbmcgdG8ga2lsbCB0aGUgcHJvY2VzcyBhbmQgYWxsb3dzCgkgIEdTdHJlYW1lcidzIHRlcm1pbmF0aW9uIHNlcXVlbmNlIHRvIHByb2NlZWQgbm9ybWFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MjAKCjIwMTMtMDgtMjkgMTA6MjA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYXZkdHB1dGlsOiBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGxlYWsgZml4ZXMKCjIwMTMtMDgtMjggMTQ6MjY6MDQgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IHN1cHBvcnQgYWFjIGluIGF2ZHRwc3JjCgkgIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoyMDEzLTA4LTI4IDEzOjI2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS40ID09PQoKMjAxMy0wOC0yOCAxMzowNzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuNAoKMjAxMy0wOC0yOCAxMzowNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDgtMjggMTI6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL3B0X0JSLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOC0yOCAxMToxMzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogbWFyayBhcyB1bnN0YWJsZSBBUEkKCjIwMTMtMDgtMjcgMTc6MDU6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHBvc3NpYmxlIHJlYWQgYmV5b25kIGVuZCBvZiBidWZmZXIgd2hlbiByZXN5bmNpbmcKCjIwMTMtMDgtMjcgMTE6Mjc6MDQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9ubHkgdXBkYXRlIHNyYyBDQVBTIHdoZW4gaXQncyBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1MgoKMjAxMy0wOC0yMCAxMTo1OTozNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHNldCBDQVBTIGFuZCBwYXNzdGhyb3VnaCBtb2RlIGlmIFNQUy9QUFMgaGF2ZSBub3QgYmVlbiBwYXJzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1MgoKMjAxMy0wOC0yNiAxMzo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERvbid0IHNldCBCWjJfTElCUyBpZiBiejIgaXMgbm90IGZvdW5kCgoyMDEzLTA4LTI2IDEwOjIyOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IFNvbWUgY2xlYW51cCBhbmQgbWlub3IgZml4ZXMKCjIwMTMtMDgtMjQgMDA6NDY6MzggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvZ3N0d2VicC5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuaDoKCSAgd2VicDogQWRkIFdlYlAgaW1hZ2UgZGVjb2RlciBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI4NQoKMjAxMi0wOS0wMSAyMDo0Njo0MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IG5ldyBwcm9wZXJ0eSB0byBjb250cm9sIGJ1cyBtZXNzYWdlcyB1cGRhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU2MjIKCjIwMTMtMDgtMjMgMTI6MDE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJICBvcGVuY3Y6IEZpeCBpbmRlbnRpb24KCjIwMTMtMDgtMjMgMTI6MDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSAgb3BlbmN2OiBQb3J0IHRvIG5vbi1kZXByZWNhdGVkIEdNdXRleC9HQ29uZCBBUEkKCjIwMTMtMDgtMjMgMTE6Mzg6MDQgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgb3BlbmN2OiBBZGQgZGlzcGFyaXR5LW1hcCBjYWxjdWxhdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ3NjAKCjIwMTMtMDgtMjIgMTc6MzI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMy0wOC0yMiAxNjowNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSBvcGVuY3YgZGVwZW5kZW5jeSwgMi40LjUgd29ya3MgdG9vLgoKMjAxMy0wOC0yMiAxMzo0NTo1OSArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIGEgYXVkaW8gZGV2aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1NzQKCjIwMTMtMDgtMjIgMTQ6NTY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggYnoyIGNvbmZpZ3VyZSBjaGVjayBmb3IgV2luZG93cwoJICBEdWUgdG8gZnVuY3Rpb24gZGVjb3JhdGlvbnMgb24gV2luZG93cyBBQ19DSEVDS19MSUIgY2FuJ3QgYmUgdXNlZCB0byBjaGVjayBmb3IgYnoyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1OTI0CgoyMDEzLTA4LTIxIDE0OjQ0OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZnVzZSBuZWdhdGl2ZSByYXRlcyB3aGljaCB3ZSBkb24ndCBzdXBwb3J0IHlldAoJICBBbmQgcmVtb3ZlIGEgY2hlY2sgd2hpY2ggd2FzIGRvbmUgYmVmb3JlCgoyMDEzLTAzLTEwIDE3OjAyOjE4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBTZXQgdGhlIHByb2dyYW0gbnVtYmVyIGZyb20gcHJvZy1tYXAKCSAgVGhlIHByb2ctbWFwIHByb3BlcnR5IG9mIG1wZWd0c211eCBvbmx5IGFsbG93cyB5b3UgdG8gZ3JvdXAgcGlkcyB0b2dldGhlciBpbiBhIHByb2dyYW0uCgkgIFRoZSBwcm9ncmFtIG51bWJlciBzZXQgaW4gdGhlIFBBVC9QTVQgdGFibGVzIGNhbm5vdCBiZSBzZXQgZXhwbGljaXRseS4KCSAgVGhpcyBwYXRjaCB3aWxsIHNldCB0aGUgcHJvZ3JhbSBudW1iZXIgYWNjb3JkaW5nIHRvIHRoZSBwcm9nLW1hcC4KCSAgSWYgYSBwcm9ncmFtIGlkIG9mIDAgaXMgZ2l2ZW4sIHRoZSBmaXJzdCB2YWNhbnQgcHJvZ3JhbSBudW1iZXIgc3RhcnRpbmcgZnJvbSAxIHdpbGwgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIzOQoKMjAxMy0wOC0yMSAwODo1ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEFkYXB0IGZvciBsYXRlc3QgbXBlZ3RzIGxpYiBjaGFuZ2VzCgoyMDEzLTA4LTIxIDA4OjU4OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IEFkYXB0IGZvciBsYXRlc3QgbXBlZ3RzIGxpYiBjaGFuZ2VzCgoyMDEzLTA4LTIxIDA4OjQwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogQUJJL0FQSSBicmVhazogVXNlIEdQdHJBcnJheSBpbnN0ZWFkIG9mIEdBcnJheQoJICBXaGlsZSBpdCB3YXMgYSBncmVhdCBpZGVhLCB2YXJpb3VzIGctaSBiYXNlZCBiaW5kaW5ncyBkb24ndCBzdXBwb3J0CgkgIEdBcnJheSB3aXRoIGVudHJpZXMgZ3JlYXRlciB0aGFuIHNpemVvZihncG9pbnRlcikgOigKCSAgU28gbGV0J3MganVzdCBtYWtlIGV2ZXJ5Ym9keSBoYXBweSBieSBqdXN0IHVzaW5nIEdQdHJBcnJheS4KCSAgQW5kIHNpbmNlIHdlJ3JlIGJyZWFraW5nIHRoZSBBUEksIGFsc28gcmVuYW1lIHRoZSB2YXJpb3VzIGRlc2NyaXB0b3IgZmllbGRzCgkgIHRvIG5vIGxvbmdlciBoYXZlIHRoZSBkZXNjcmlwdG9yXyBwcmVmaXguCgkgIEl0IGRvZXMgY29zdCBhIGJpdCBtb3JlIGluIHRlcm1zIG9mIG1lbW9yeS9jcHUgdXNhZ2UsIGJ1dCBtYWtlcyBpdCB1c2FibGUKCSAgZnJvbSBiaW5kaW5ncy4KCjIwMTMtMDgtMTkgMTU6MzE6NTEgLTA0MDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0c3JjOiBkb24ndCBlcnJvciBvdXQgb24gaW5jb21wbGV0ZSBhdXggZGF0YSBzZWdtZW50CgkgIEl0IGFwcGVhcnMgdGhhdCB0aGUgTG9naXRlY2ggQzkyMCBzb21ldGltZXMgZHJvcHMgdGhlIG5leHQKCSAgdG8gbGFzdCBzZWdtZW50IG9mIFJBVyBhdXggZGF0YSBjb250YWluZWQgd2l0aGluIHRoZSBNSlBFRwoJICBjb250YWluZXIuICBIMjY0IGRhdGEgdGhhdCBpcyBtdWx0aXBsZXhlZCB3aXRoIGluIHRoZSBzYW1lCgkgIGNvbnRhaW5lciBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYWZmZWN0ZWQuICBUaGlzIGFwcGVhcnMgdG8KCSAgYmUgYSBidWcgaW4gdGhlIExvZ2l0ZWNoIEM5MjAgZmlybXdhcmUgYW5kIHV2Y2gyNjRzcmMgc2hvdWxkCgkgIG5vdCBlcnJvciBvdXQgaW4gdGhpcyBjYXNlLgoJICBTb21ldGltZXMgaXQgY2FuIHRha2UgMjQgaG91cnMgb2YgY29udGludW91cyBzdHJlYW1pbmcgZm9yCgkgIHRoZSBwcm9ibGVtIHRvIG9jY3VyLCBidXQgc29tZXRpbWVzIGl0IHRha2VzIG9ubHkgYSBjb3VwbGUKCSAgb2YgaG91cnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyNzYKCjIwMTMtMDgtMjAgMTY6MDE6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBVc2UgaW5wdXQgZnJhbWVyYXRlIHdoZW4gcG9zc2libGUKCSAgaWYgaW5wdXQgaXMgMzAwMDAvMTAwMSAuLi4gdXNlIDI0MDAwLzEwMDEgYXMgdGhlIG91dHB1dCBmaXhhdGVkIGZyYW1lcmF0ZQoKMjAxMy0wOC0xNSAxMTo0NTozNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogaGFuZGxlIHB1Ymxpc2hlciwgaW50ZXJwcmV0ZWQtYnkgYW5kIG11c2ljYWwta2V5IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5OQoKMjAxMy0wOC0yMCAxMzoyOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IHN3aXRjaCBzdGF0ZW1lbnQgaW4gbGV2ZWwgZGV0ZWN0aW9uIGNvZGUKCSAgUHJvcGVybHkgZmFsbCB0aHJvdWdoIHRoZSBjYXNlcyB3aXRob3V0IHJlLWFzc2lnbmluZyB0aGUgbGV2ZWwgdG8KCSAgdGhlIHdyb25nIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MzY5CgoyMDEzLTA4LTE5IDE3OjIzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZvcndhcmQgc2VnbWVudCBldmVudCBhZnRlciBjYXBzCgkgIFN0b3JlIGl0IHVudGlsIHdlIGtub3cgd2hhdCBvdXIgY2FwcyBhcmUuCgoyMDEzLTA4LTIwIDAwOjI2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIHRlc3Q6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGFpZmZwYXJzZSB0ZXN0IG9uIDMyLWJpdCB4ODYKCjIwMTMtMDgtMTkgMDk6MjU6MjAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggY29weXJpZ2h0CgoyMDEzLTA4LTE3IDAwOjIyOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIHRlc3RzOiBmaXggc29tZSBsZWFrcyBpbiBhaWZmcGFyc2UgdW5pdCB0ZXN0CgoyMDEzLTA4LTE3IDAwOjA5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIHRlc3RzOiBmaXggc3RhdGUgY2hhbmdlIG9yZGVyIGluIGFpZmZwYXJzZSB0ZXN0CgkgIERvIHN0YXRlIGNoYW5nZXMgZnJvbSBzaW5rIHRvIHNyYy4gRml4ZXMgcmFjZSBjb25kaXRpb24gaW4KCSAgcHVsbCBtb2RlIHRlc3Qgd2hlcmUgdGhlIHNvdXJjZSB3aWxsIHN0YXJ0IHVwIGFuZCBwdXNoIGJ1ZmZlcnMKCSAgdG8gcXVldWUvaWRlbnRpdHkgb3IgYWlmZnBhcnNlIGJlZm9yZSB0aGUgbWFpbiB0aHJlYWQgaGFzCgkgIG1hbmFnZWQgdG8gc2V0IHRoZW0gdG8gcGxheWluZyB5ZXQuCgoyMDEzLTA4LTEyIDE4OjMzOjM5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvczE2YmUtaWQzdjIuYWlmZjoKCSAgYWlmZnBhcnNlOiBhZGQgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xNyAwMDoyMzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGRvbid0IGxlYWsgYWRhcHRlcgoKMjAxMy0wOC0xNSAxMzo1ODo0OCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHMvbmV3c2VnbWVudC9zZWdtZW50LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTEzIDE4OjQyOjU1ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IHB1c2ggbW9kZQoJICBGaXggcHVzaCBtb2RlIGJ5IGhhbmRsaW5nIHNpbmsgZXZlbnRzIChDQVBTLCBTRUdNRU5UKSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xNiAxNTo0MTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogUmVwYXJzZSB0aGUgY29uZmlnIGlmIHRoZSBzaXplIGNoYW5nZWQKCSAgQWxzbyBvbmx5IHJlLWlzc3VlIHRoZSBjYXBzIHVwZGF0ZSBpZiB0aGUgcGFydCBvZiB0aGUgY29uZmlnIHRoYXQKCSAgY2hhbmdlZCBpcyBvbmUgd2UgY2FyZSBhYm91dC4KCjIwMTMtMDgtMTYgMTk6NDg6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IGZpeCBidWZmZXJzIGJlaW5nIGRyb3BwZWQgZHVlIHRvIHNoYWRvd2VkIHZhcmlhYmxlCgkgIFNwb3R0ZWQgYnkgZ3N0Ymx1YkBnbWFpbC5jb20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOTEKCjIwMTMtMDgtMDggMTE6MTk6MDAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG9mZnNldCBzZWdtZW50IG51bWJlcnMgYnkgc3RhcnROdW1iZXIKCSAgRm9yIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50cyBjb250YWluaW5nIGEgc3RhcnROdW1iZXIgYXR0cmlidXRlLCB0aGUKCSAgYG51bWJlcicgbWVtYmVyIG9mIEdzdE1lZGlhU2VnbWVudHMgc2hvdWxkIGJlIG9mZnNldCBieSB0aGUgdmFsdWUgb2YKCSAgc3RhcnROdW1iZXI7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IGN1cnJlbnRseSB0aGUgY2FzZS4gQXMgYSByZXN1bHQsIHRoZQoJICBmaXJzdCBVUkkocykgcmVxdWVzdGVkIGJ5IHRoZSBkb3dubG9hZCBsb29wIHdpbGwgYmUgd3JvbmcuCgkgIFRoaXMgY29tbWl0IGVuc3VyZXMgdGhhdCBzZWdtZW50IG51bWJlcnMgd2lsbCBiZSBvZmZzZXQgYnkgc3RhcnROdW1iZXIKCSAgd2hlbiBvbmUgaXMgcHJlc2VudCBpbiBhIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjYxCgoyMDEzLTA4LTA4IDE1OjE5OjE1ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgaW5jb3JyZWN0IHRpbWVzdGFtcCBzY2FsaW5nLgoJICBXaGVuIHVzaW5nIGEgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnQsIHRoZSB0aW1lc3RhbXBzIG9mIHRoZSBidWZmZXJzCgkgIG91dHB1dCBieSBkYXNoZGVtdXggYXJlIGluY29ycmVjdCwgY2F1c2luZyBwcm9ibGVtcyBkb3duc3RyZWFtLgoJICBUaGUgcmVhc29uIGlzIHRoYXQgR3N0TWVkaWFTZWdtZW50IHN0YXJ0IHRpbWVzIGFyZSBjYWxjdWxhdGVkIChpbgoJICBnc3RfbXBkcGFyc2VyX2dldF9jaHVua19ieV9pbmRleCkgYnkgbXVsdGlwbHlpbmcgc2VnbWVudCBpbmRleCBieQoJICBzZWdtZW50IGR1cmF0aW9uIGFuZCB0aGVuIHNjYWxpbmcgdGhlIHJlc3VsdCBhY2NvcmRpbmcgdGhlIGB0aW1lYmFzZScKCSAgYXR0cmlidXRlIGZyb20gdGhlIE1QRC4gSG93ZXZlciwgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgYWxyZWFkeSBhCgkgIEdzdENsb2NrVGltZSAoaS5lLiwgaXQgaGFzIGFscmVhZHkgYmVlbiBzY2FsZWQgYWNjb3JkaW5nIHRvIHRoZSB0aW1lYmFzZQoJICBmcm9tIHRoZSBNUEQgYW5kIGNvbnZlcnRlZCB0byBhIG5hbm9zZWNvbmQgdmFsdWUpLCBzbyBtdWx0aXBseWluZyBpdCBieQoJICB0aGUgc2VnbWVudCBpbmRleCB3aWxsIGdpdmUgdGhlIGNvcnJlY3QgdGltZXN0YW1wIHdpdGhvdXQgdGhlIG5lZWQgZm9yCgkgIGFueSBmdXJ0aGVyIHNjYWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzkKCjIwMTMtMDgtMTUgMjA6MTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgYW5vdGhlciBvYnNvbGV0ZSBleGFtcGxlCgoyMDEzLTA4LTE1IDE1OjQ2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgZXh0OiBVc2UgbmV3IGZsdXNoIHZmdW5jIG9mIHZpZGVvIGNvZGVjIGJhc2UgY2xhc3NlcyBhbmQgcmVtb3ZlIHJlc2V0IGltcGxlbWVudGF0aW9ucwoKMjAxMy0wOC0xNCAxOToxMjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJICBleGFtcGxlczogcmVtb3ZlIHByZWhpc3RvcmljIGV4YW1wbGVzCgoyMDEzLTA4LTE0IDE4OjE3OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSAgaW50ZXJhdWRpb3NyYzogbWFrZSBzaWxlbmNlIG1lbW9yeSBhY3R1YWxseSBjb250YWluIHNpbGVuY2UKCSAgaW5zdGVhZCBvZiByYW5kb20gZGF0YS4gUmVwb3J0ZWQgYnkgTWFyY28gTWljaGVsZXR0aSBvbgoJICBnc3RyZWFtZXItZGV2ZWwuCgoyMDEzLTA4LTE0IDEzOjI3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBjcml0aWNhbHMgd2hlbiB0cnlpbmcgdG8gY2FzdCBhIEdzdFBhZCB0byBhIEdzdEVsZW1lbnQKCSAgbWVzc2FnZS0+c3JjIG1pZ2h0IGJlIGEgR3N0UGFkLiBPYnNlcnZlZCBkdXJpbmcgZ3N0LWluc3BlY3QtMS4wIC1hCgoyMDEzLTA4LTE0IDEzOjU5OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogVXBkYXRlIGZvciBuZXcgZmlsZXMgdG8gaWdub3JlCgoyMDEzLTA4LTE0IDEzOjQxOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgcGVzcGFyc2U6IFJlZmFjdG9yeSBzZWNvbmRhcnkgUEVTIGV4dGVuc2lvbiBoYW5kbGluZwoJICBTb21lIHN0cmVhbXMgaGFkIHdyb25nIHZhbHVlcyBmb3IgdGhlIHN0cmVhbV9pZF9leHRlbnNpb24sIG1ha2Ugc3VyZQoJICB3ZSBvbmx5IHJlbWVtYmVyIHRoZSB2YWxpZCBvbmVzLgoJICBGb3Igc3RyZWFtcyB3aXRoIFBFU19leHRlbnNpb25fZmllbGRfbGVuZ3RoID09IDAsIGFzc3VtZSB0aGVyZSdzIG5vdGhpbmcKCSAgZWxzZS4KCSAgRm9yIHN0cmVhbXMgdGhhdCBzdGF0ZSB0aGV5IGhhdmUgYSBUUkVGIGV4dGVuc2lvbiBidXQgZG9uJ3QgaGF2ZSBlbm91Z2gKCSAgZGF0YSB0byBzdG9yZSBpdCwganVzdCBhc3N1bWUgaXQgd2FzIHByb2R1Y2VkIGJ5IGEgbm9uLWNvbXBsaWFudCBtdXhlcgoJICBhbmQgc2tpcCB0aGUgcmVtYWluaW5nIGRhdGEuCgkgIE9ubHkgc3RvcmUgcmVtYWluaW5nIGRhdGEgaW4gc3RyZWFtX2lkX2V4dGVuc2lvbl9kYXRhIGluc3RlYWQgb2Ygc3RvcmluZwoJICBkYXRhIHdlIGFscmVhZHkgcGFyc2UuCgoyMDEzLTA4LTE0IDEwOjQ3OjMxICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBSZW1vdmUgdW5uZWVkZWQgdW5yZWYgYW5kIG9ubHkgc2V0IHBhZCBjYXBzIGlmIHdlIGhhdmUgY2FwcwoJICBGaXhlcyBjcmFzaGVzIGR1ZSB0byBpbnZhbGlkIHVucmVmcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk1NwoKMjAxMy0wOC0xNCAxMDozOTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IEZpeCBwZXMgZXh0ZW5zaW9uIGRhdGEgbGVuZ3RoIGNoZWNrCgkgIEFuZCByZW1vdmUgbGVuZ3RoL2RhdGEgdXBkYXRlcyAod2UgdXNlIHRoZSBoZWFkZXIgc2l6ZSBqdXN0IGJlbG93IHRvCgkgIHByb3Blcmx5IHNldCB0aGVtKS4KCSAgQmFzZWQgb24gZmVlZGJhY2sgZnJvbSBTdGFzIFNlcmdlZXYgPHN0c3BAbGlzdC5ydT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM0MwoKMjAxMy0wOC0xNCAxMDozMzoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHBlc3BhcnNlOiBSZW1vdmUgdW51c2VkIGFyZ3VtZW50CgkgIFdlIGFsd2F5cyBwcm92aWRlZCAwIGFzIHRoZSBvZmZzZXQgYW5kIG5ldmVyIHVzZWQgdGhlIHJldHVybmVkIHZhbHVlLgoJICBCYXNlZCBvbiBmZWVkYmFjayBmcm9tIFN0YXMgU2VyZ2VldiA8c3RzcEBsaXN0LnJ1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzQzCgoyMDEzLTA4LTEzIDE3OjQ3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZTogdHVybiBpbnRlcm5hbCBjb25zaXN0ZW5jeSBjaGVjayBpbnRvIGEgZ19hc3NlcnQoKQoJICBXZSBvbmx5IGNoZWNrIGlucHV0IGZyb20gdGhlIEFQSSB1c2VyIHdpdGggZ19yZXR1cm5fKl9pZl9mYWlsKCkuCgkgIEludGVybmFsIHNhbml0eSBjaGVja3Mgc2hvdWxkIHVzZSBnX2Fzc2VydCgpIGluc3RlYWQsIHdoaWNoIGlzCgkgIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIHJlbGVhc2VzLgoKMjAxMy0wOC0xMyAxNzo0NTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2VyOiBtaW5vciBkb2MgZml4ZXMKCjIwMTMtMDgtMTMgMTI6NDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVzZSBnc3RfZGF0YV9xdWV1ZV9wdXNoX2ZvcmNlIGZvciBhZGRpbmcgZXZlbnRzIHRvIHF1ZXVlCgkgIFRoaXMgcHJldmVudHMgbG9ja2luZyBvbiBzdGFydHVwIHdoZW4gYSBzdHJlYW0gb25seSBoYXMgYSBzaW5nbGUgYnVmZmVyCgkgIGZvciBvbmUgb2YgdGhlIHN0cmVhbXMgYW5kIG1zc2RlbXV4IGRlY2lkZXMgdG8gcHVzaCBhbiBFT1MgZXZlbnQgcmlnaHQKCSAgYWZ0ZXIgaXQuCgoyMDEzLTA4LTA4IDEzOjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgcHVzaF9mb3JjZSB3aGVuIGFkZGluZyBldmVudHMgdG8gdGhlIGRhdGFxdWV1ZQoJICBUaGlzIHByZXZlbnRzIGRlYWRsb2NrcyBvbiBzdGFydHVwIG9uIGZpbGVzIHRoYXQgaGF2ZSBvbmx5IGEgdmVyeQoJICBsYXJnZSBidWZmZXIgZm9yIGEgc3RyZWFtIGFuZCB0aGUgcXVldWUgaXMgZmlsbGVkIGFuZCB3aWxsIGxvY2sgb24KCSAgdGhlIGVvcyBldmVudCB0aGF0IGlzIHB1c2hlZCBhZnRlciB0aGUgYnVmZmVyLiBBcyBubyBidWZmZXJzIGhhdmUgeWV0CgkgIGJlZW4gcHVzaGVkIHRvIG90aGVyIHN0cmVhbXMsIHRoZSBwaXBlbGluZSBsb2NrcyBvbiBwcmVyb2xsCgoyMDEzLTA3LTMwIDE1OjE3OjIzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc3VwcG9ydCBmaWVsZCBlbmNvZGluZyBmb3IgaW50ZXJsYWNlZCB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTQ0CgoyMDEzLTA4LTEyIDAxOjAyOjUxIC0wNDAwICBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG5lb25odHRwc3JjOiBhbGxvdyBidWlsZGluZyB3aXRoIG5lb24tMC4zMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1ODEyCgoyMDEzLTA4LTEyIDEyOjI3OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IExldCBwYWNrZXRzIHRocm91Z2ggd2l0aG91dCB0b3VjaGluZyB0aGVtIGlmIG5vIGNyeXB0byBvciBhdXRoIGlzIHNldAoKMjAxMy0wOC0xMiAxMjoyNzoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUmVmYWN0b3IgY29kZSBhIGJpdAoJICBTaW1wbGlmeSB0aGUgZXJyb3IgaGFuZGxpbmcgY2FzZSBhbmQgZ2V0IHRoZSBwYWNrZXQgcHVzaCBvdXQgb2YgdGhlIGlmKCkKCjIwMTMtMDgtMTIgMTE6NTY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IGVycm9yIG9uIGludmFsaWQgcGFja2V0LCBqdXN0IGRyb3AgaXQKCjIwMTMtMDgtMDcgMTU6MDE6MzMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCB0aGUgU2VxdWVuY2VMYXllciBoYW5kbGluZyBmb3IgYWR2YW5jZWQgcHJvZmlsZS4KCSAgVGhlIFNlcXVlbmNlIEhlYWRlciBEYXRhIFN0cnVjdHVyZSBTVFJVQ1RfQyBmb3IgQWR2YW5jZWQgUHJvZmlsZQoJICBoYXMgb25seSBhIG9uZSB2YWxpZCBmaWVsZCB3aGljaCBpcyB0aGUgcHJvZmlsZSBpbmRpY2F0b3IuIERvbid0CgkgIHVzZSB0aGUgcmVzZXJ2ZWQgZmllbGRzIGZvciBmcHMgdXBkYXRlIGxpa2UgU2ltcGxlL01haW4gcHJvZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2NwoKMjAxMy0wOC0wNyAxNDo1Mjo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IHNlcSBoZHIgU1RSVUNUX0EgaGFuZGxpbmcgZm9yIGFkdmFuY2VkIHByb2ZpbGUuCgkgIFRoZSBTZXF1ZW5jZSBIZWFkZXIgRGF0YSBTdHJ1Y3R1cmUgU1RSVUNUX0EgZm9yIGFkdmFuY2VkIHByb2ZpbGUKCSAgbWF5IGJlIGVpZ2h0IGNvbnNlY3V0aXZlIHplcm8gYnl0ZXMuRG9uJ3QgdHJ5IHRvIG92ZXJyaWRlIHRoZQoJICB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyBpbiB0aGlzIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjcKCjIwMTMtMDgtMDcgMTA6MTQ6MjAgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggU1NORCBkYXRhIHNpemUKCSAgQUlGRiBjaHVuayBzaXplIGRvZXMgbm90IGluY2x1ZGUgdGhlIGNodW5rIGhlYWRlciBzaXplICg4IGJ5dGVzKSwgc28gdGhlCgkgIFNTTkQgZGF0YSBzaXplIGlzIGVxdWFsIHRvIHRoZSBjaHVuayBzaXplIG1pbnVzIHRoZSBTU05EIGhlYWRlciBzaXplICg4CgkgIGJ5dGVzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NQoKMjAxMy0wNy0xMyAwMjo1MDo1MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciByZWRpcmVjdGlvbnMKCjIwMTMtMDgtMDIgMjA6Mzc6MzAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZW5kIGNvZGVjIHRhZyBmb3IgZWFjaCBzdHJlYW0KCjIwMTMtMDgtMTAgMjE6MzQ6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgdGVzdHM6IHV2Y2gyNjRkZW11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnRzIGFuZCBmaXggZXZlbnQgb3JkZXIKCjIwMTMtMDgtMTAgMjE6MzM6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0bWpwZ2RlbXV4OiBmaXggZXZlbnQgb3JkZXJpbmcKCjIwMTMtMDgtMTAgMjA6MDI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogbXBsZXg6IGZpeCAnR290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50JyBmYWlsdXJlCgoyMDEzLTA4LTEwIDE5OjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSAgdGVzdHM6IG1wZWcyZW5jOiBmaXggJ0dvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCcgZmFpbHVyZQoKMjAxMy0wOC0xMCAxOTo0NDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBDQVBTIHF1ZXJ5CgkgIFdhcyBjYXVzaW5nIGNyaXRpY2FscyBpbiBkZWNvZGViaW4vcGxheWJpbiBiZWNhdXNlIHRoZSBjYXBzCgkgIHF1ZXJ5IGRvbmUgd2hlbiBleHBvc2luZyBwYWRzIHdvdWxkIHJldHVybiBBTlkgY2Fwcy4KCjIwMTMtMDgtMTAgMTk6NDM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcgoKMjAxMy0wOC0wNyAxOTowODozMyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHNldCBtaXNzaW5nIGxheW91dCBmaWVsZCBpbiBzcmNwYWQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTA3IDE3OjI4OjI5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogc2VuZCBzdGFydCBzdHJlYW0gZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wNiAxNjo1MzozNyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBidWZmZXJzIGluaXRpYWxpc2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDIgMTQ6MTE6MDEgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGFkZCBzdWJkaXItb2JqZWN0cyB0byBBTV9JTklUX0FVVE9NQUtFCgkgIEZpeGVzIHdhcm5pbmdzIHdpdGggYXV0b21ha2UgMS4xNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wOSAyMDoxMjowOSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY3JlYXRlL3JlbW92ZSBvcmMgZGlyZWN0b3J5IGF0IHByb3BlciB0aW1lCgkgIEJlZm9yZSBhdXRvbWFrZSBjcmVhdGVzIC5kZXBzIGRpcmVjdG9yaWVzLCBhbmQgZHVyaW5nIGRpc3RjbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wOSAyMDoxMDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgYmFzZWF1ZGlvdmlzdWFsaXplciB0ZXN0IHdpdGggc3ViZGlyLW9iamVjdHMgb3B0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDcgMDk6MDQ6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBzbGljZSB0eXBlIHRvIGRldGVybWluZSBpZiBmcmFtZSBpcyBrZXlmcmFtZQoJICBUaGlzIGlzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyBwcmUtYmFzZXBhcnNlLXJlZmFjdG9yaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1OTgKCjIwMTMtMDgtMDMgMTQ6MjA6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEbyBub3QgdHJpZ2dlciBjYXBzIHVwZGF0ZSBpZiB3ZSBvbmx5IGhhdmUgUFBTIHVwZGF0ZXMKCSAgVXBkYXRpbmcgY2FwcyByZXN1bHRzIGluIGRvd25zdHJlYW0gZWxlbWVudHMgcG90ZW50aWFsbHkgcmVjb25maWd1cmluZyB0aGVtc2VsdmVzCgkgIChzdWNoIGFzIGRlY29kZXJzKS4gSWYgd2UgZG8gdGhpcyBpbiB0aGUgbWlkZGxlIG9mIGtleWZyYW1lcywgd2Ugd291bGQgcmVzdWx0CgkgIGluIHRob3NlIGVsZW1lbnRzIGJlaW5nIHJlY29uZmlndXJlZCBhbmQgaGFuZGxpbmcgZ2FyYmFnZSB1bnRpbCB0aGUgbmV4dCBrZXlmcmFtZS4KCSAgSW5zdGVhZCBvZiB0aGlzIG9ubHkgc2VuZCAocG90ZW50aWFsbHkpIG5ldyBjb2RlY19kYXRhIHdoZW4gd2UgaGF2ZSAqYm90aCogU1BTIGFuZAoJICBQUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzMzMKCjIwMTMtMDctMzEgMTE6NTY6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBxdWlldCBGSVhNRSB3aGVuIGl0J3Mgbm90IHJlbGV2YW50CgoyMDEzLTA3LTMxIDExOjU0OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogaW1wbGVtZW50IG5ldyBlZGdlLWRpcmVjdGVkIHVwc2FtcGxpbmcKCjIwMTMtMDgtMDMgMTg6MDc6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlbW92ZSB1c2Ugb2YgX1hPUEVOX1NPVVJDRQoJICBXaGljaCBjYXVzZXMgcHJvYmxlbXMgd2hlbiB1c2VkIHdpdGggX0dOVV9TT1VSQ0UgYXBwYXJlbnRseSwgYW5kIGl0CgkgIHNlZW1zIGl0IHdhcyBvbmx5IHNldCBiZWNhdXNlIG9mIHVzbGVlcCgpLCB3aGljaCB3ZSBjYW4ganVzdCByZXBsYWNlCgkgIHdpdGggZ191c2xlZXAoKSB1bnRpbCB3ZSBnZXQgcmlkIG9mIHRob3NlIGVudGlyZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MjA4CgoyMDEzLTA4LTAyIDE1OjEyOjE3ICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiByZXR1cm4gR1NUX0ZMT1dfRU9TIGluIGF2ZHRwc3JjIGNyZWF0ZSB3aGVuIHN0cmVhbSBpcyBFT0YKCSAgU2lnbmVkLW9mZi1ieTogQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM0OQoKMjAxMy0wOC0wMSAxMTowMTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBMb29rIGhhcmRlciBmb3IgbmV4dCBzeW5jIHBvc2l0aW9uCgkgIElmIGV2ZXIgd2UgbG9zZSBzeW5jLCB3ZSB3ZXJlIGp1c3QgY2hlY2tpbmcgZm9yIHRoZSBuZXh0IDB4NDcgbWFya2VyIC4uLgoJICB3aGljaCBtaWdodCBhY3R1YWxseSBoYXBwZW4gd2l0aGluIGEgbXBlZy10cyBwYWNrZXQuCgkgIEluc3RlYWQgY2hlY2sgZm9yIDMgcmVwZWF0aW5nIDB4NDcgYXQgdGhlIGV4cGVjdGVkIHBhY2tldCBzaXplIGludGVydmFsLAoJICB3aGljaCB0aGUgc2FtZSBsb2dpYyB3ZSB1c2Ugd2hlbiB3ZSBpbml0aWFsbHkgbG9vayBmb3IgdGhlIHBhY2tldCBzaXplLgoKMjAxMy0wOC0wMSAxMDo1ODoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggUENSIExVVCB0YWJsZQoJICBXZSB3ZXJlIG9ubHkgcmVzZXR0aW5nIHRoZSBmaXJzdCA1MTIgdmFsdWVzIG9mIHRoZSBsb29rdXAgdGFibGUgaW5zdGVhZAoJICBvZiB0aGUgd2hvbGUgODE5Mi4KCSAgVGhpcyByZXN1bHRlZCBpbiBhbnkgUENSIFBJRCBvdmVyIDB4MDIwMCAuLi4gZW5kaW5nIHVwIHRha2luZyB0aGUgZmlyc3QgUENSCgkgIHRhYmxlIGFyb3VuZCA6KAoKMjAxMy0wNy0zMCAyMjowNjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvcGVybHkgZXJyb3Igb3V0IHdoZW4gbWFuaWZlc3QgaGFzIG5vIHN0cmVhbXMKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlIG1hbmlmZXN0IGlzIHBhcnNlZCBhbmQgbm8gdmFsaWQgc3RyZWFtcwoJICBhcmUgZm91bmQgYmUgYWN0aXZhdGVkIGFuZCB1c2VkLgoJICBGaXhlcyAjNzA0MzA4CgoyMDEzLTA3LTMwIDE2OjA4OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzOiBwcml2YXRlL3RlbGV0ZXh0IC0+IGFwcGxpY2F0aW9uL3gtdGVsZXRleHQKCjIwMTMtMDctMjkgMjE6MjU6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiB1cGRhdGUKCjIwMTMtMDctMjkgMjE6MjQ6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBleGFtcGxlIGJpbmFyaWVzCgoyMDEzLTA3LTI5IDIxOjIzOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vZWwucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdmkucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA3LTI5IDE0OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4zID09PQoKMjAxMy0wNy0yOSAxMzo1MjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMwoKMjAxMy0wNy0yOSAxMzo1MjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0yOSAxMjoxNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaTogRml4IGhhbmRsaW5nIG9mIHRoZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDEyOjE0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIGdzdDogRG9uJ3Qgc3dhcCBzdGFydC9zdG9wIGZvciBuZWdhdGl2ZSByYXRlcyBpbiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDA5OjM1OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSAgYWxsOiBGaXggZm9yIEdTVF9ESVNBQkxFX0dTVF9ERUJVRwoJICBXaGVyZSBhcHBsaWNhYmxlLCByZW1vdmUgbWV0aG9kcyB0aGF0IGRvbid0IGRvIGFueXRoaW5nIGRpZmZlcmVudCB0aGFuCgkgIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoKMjAxMy0wNy0yOSAwODo0NjozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZG9jcy9zcGVjOiBSZWFsbHkgcmVtb3ZlIGFsbCBtZW50aW9ucyBvZiBDRUxUIHBsdWdpbgoKMjAxMy0wNy0yOSAwODoyOTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNob3cgTkFMVSBzdHJpbmcgdHlwZSBpbiBkZWJ1ZyBtZXNzYWdlcwoJICBJZiB5b3Uga25vdyB0aGUgTkFMVSB0eXBlIGJ5IGhlYXJ0IEkgdGlwIG15IGhhdCB0byB5b3UsIGZvciB0aGUgcmVzdCBvZgoJICB1cyBtZXJlIG1vcnRhbHMgdGhpcyBpcyBhIGJpdCBtb3JlIGhlbHBmdWwKCjIwMTMtMDctMjkgMDg6Mjg6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVudXNlZCBtYWNyb3MKCjIwMTMtMDctMjkgMDg6MjM6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBtb3JlIEFDMyBkZXRlY3Rpb24gY2FzZXMKCSAgQVRTQyBhYzMgc3RyZWFtcyBhcmUgYWx3YXlzIGd1YXJhbnRlZWQgdG8gYmUgQUMzIGlmIEVBQzMgZGVzY3JpcHRvcgoJICBpcyBub3QgcHJlc2VudAoJICBJZiBzdHJlYW0gcmVnaXN0cmF0aW9uIGlkIGlzICdBQy0zJyB0aGVuIGl0J3MgYWxzbyBndWFyYW50ZWVkIHRvIGJlIEFDMy4KCSAgRmluYWxseSBpZiBBQzMgZGVzY3JpcHRvciBpcyBwcmVzZW50IGl0J3MgZ3VhcmFudGVlZCB0byBiZSBBQzMuCgkgIE9ubHkgc2lsZW5jZXMgYSB3YXJuaW5nLCBidXQgc3RpbGwuCgoyMDEzLTA3LTI5IDA4OjIwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZsdXNoIG91dCBwZW5kaW5nIGRhdGEgb24gRU9TCgkgIEVuc3VyZXMgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSBkZWNvZGVycykgcmVhbGx5IGdldCBhbGwgdGhlIGRhdGEKCjIwMTMtMDctMjkgMDg6MTg6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogTW9yZSBBRkMgZmxhZ3MKCSAgSSBzaG91bGQgaGF2ZSBwdXQgdGhvc2UgaW4gYSBwcmV2aW91cyBjb21taXQuIHNvcnJ5IDooCgoyMDEzLTA3LTI5IDA4OjE0OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVnZGVmczogU2ltcGxpZnkgUENSL1BUUy9EVFMgPT4gR1NUIGNvbnZlcnNpb24gbWFjcm9zCgkgIFdlIGtub3cgd2Ugd2lsbCBub3Qgb3ZlcmZsb3cgNjQgYml0cywgdGhlcmVmb3JlIGp1c3QgdXNlIGRpcmVjdAoJICBtdWx0aXBsaWNhdGlvbi9kaXZpc2lvbiBpbnN0ZWFkIG9mIHRoZSBzY2FsZSBtZXRob2QgKHRyaW1zIHVzYWdlIGZyb20KCSAgNTAgaW5zdHJ1Y3Rpb24gY2FsbHMgdG8gMi8zKS4KCjIwMTMtMDctMjggMjA6MTQ6NTUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogYXJ0aWZhY3RzIHdoZW4gcmVuZGVyaW5nIGNsaXBwZWQgc3B1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMzkKCjIwMTMtMDctMjggMTg6Mjg6MzAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkbyBub3QgdXBkYXRlIGNhcHMgd2hlbiBiaXRyYXRlIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAzNQoKMjAxMy0wNy0yOCAxNDoyMjozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIEZpeCBVUklzIGluIFJFUVVJUkVNRU5UUwoKMjAxMy0wNy0yOCAxMzoxMjozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0OiByZW1vdmUsIHJlcGxhY2VkIGJ5IG9wdXMuCgoyMDEzLTA3LTI4IDE3OjI5OjMyICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NF9tanBnZGVtdXg6IFJlbW92ZSBkdXBsaWNhdGVkIHZhcmlhYmxlcwoKMjAxMy0wNy0yOCAxNzoyNToxMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRfbWpwZ2RlbXV4OiBEb24ndCB1bm1hcC91bnJlZiBidWZmZXIgaWYgaXQncyBwdXNoZWQgb3V0IGFzLWlzCgoyMDEzLTA3LTI2IDE4OjMzOjAwICswMDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjdjRsMl9tanBlZ2RlbXV4OiBVbm1hcCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTUxNwoKMjAxMy0wNy0yOCAxNTo0NjozMyArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIGJlIGN1cnJlbnQKCjIwMTMtMDctMjcgMTI6MTc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEhEViBvbmx5IGhhcyBtcGVnIDEgYXVkaW8gbGF5ZXIgMgoJICBTZXQgdGhhdCBhY2NvcmRpbmdseSBvbiB0aGUgY2FwcwoKMjAxMy0wNy0yNiAxNzozMToyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFZhcmlvdXMgZGVidWcgYXJndW1lbnQgZml4ZXMKCSAgbWFpbmx5IEdfR1VJTlQxNl9GT1JNQVQgdG8gLi4uIHRoZSByaWdodCB0eXBlIChndWludDMyIG9yIGd1aW50OCkKCjIwMTMtMDctMjYgMTc6MjU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgaGFyZGVyID8gOikKCjIwMTMtMDctMjYgMTM6MjA6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBpbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGVhcmxpZXIKCSAgWW91IGtub3csIGJlZm9yZSBpdCdzIHVzZWQuCgoyMDEzLTA3LTI2IDA3OjUzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogQWRkIG1vcmUgZmxhZyBkZWJ1Z2dpbmcgZm9yIFBFUyBhbmQgVFMgcGFja2V0cwoJICBIZWxwcyB3aXRoIGRlYnVnZ2luZyBpc3N1ZXMuIEFuZCBhbHNvIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgKG9wY3IpCgkgIFRoaXMgd2lsbCBhbHNvIGFsbG93IHVzIGluIHRoZSBmdXR1cmUgdG8gcHJvcGVybHkgZGV0ZWN0OgoJICAqIHJhbmRvbS1hY2Nlc3MgbG9jYXRpb24gKHRvIGVuYWJsZSBrZXlmcmFtZSBvYnNlcnZhdGlvbiBhbmQKCSAgcG90ZW50aWFsbHkgc2Vla2luZwoJICAqIGRpc2NvbnQgbG9jYXRpb24gKHRvIHByb3Blcmx5IGhhbmRsZSByZXNldHMpCgkgICogc3BsaWNlIGxvY2F0aW9uICh0byBwcm9wZXJseSBoYW5kbGUgbmV3IHN0cmVhbSBjaGFuZ2VzKQoKMjAxMy0wNy0yNCAxNzo0OTo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogTWFrZSB3YXJuaW5ncyBtb3JlIG1lYW5pbmdmdWwKCSAgQnkgc3RhdGluZyB3aGV0aGVyIHdlIGRvbid0IGhhdmUgZW5vdWdoIGRhdGEgb3IgaXQncyBhIGNvcnJ1cHRlZAoJICBwYWNrZXQKCjIwMTMtMDctMjQgMTc6NDk6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBEZW1vdGUgYSBXYXJuaW5nCgkgIFdlIGFjdHVhbGx5IG5vdyBrbm93IHdoYXQgdG8gZG8gLi4uIGhhdmUgYSBsb2cgbWVzc2FnZSA6KQoKMjAxMy0wNy0yNSAxNTowNjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIHVzaW5nIGNsaXBwZWQgb3V0IGJ1ZmZlcnMKCSAgSWYgYSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgb3V0IChpZSwgaXQncyBvdXQgb2YgdGhlIHNlZ21lbnQKCSAgZW50aXJlbHkpLCB3ZSdsbCBlbmQgdXAgd2l0aCBhIE5VTEwgYnVmZmVyLCB3aGljaCB3ZSBkb24ndCB3YW50CgkgIHRvIHByb2Nlc3MvZGVyZWZlcmVuY2UuCgoyMDEzLTA3LTI0IDE1OjUwOjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFJlbWVtYmVyIHJlcXVlc3RlZCBzZWVrIHJhdGUgYW5kIHVzZSBpdAoJICBUaGUgbmV3IHNlZWsgaGFuZGxpbmcgcmUtY3JlYXRlcyB0aGUgc2VnbWVudCB0aW1lIGluZm9ybWF0aW9uIG9uY2UgaXQKCSAgaGFzIGVub3VnaCBpbmZvcm1hdGlvbiBhZnRlciBhIHNlZWsuCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IHdlJ2QgY29tcGxldGVseSBpZ25vcmUgdGhlIHJlcXVlc3RlZCByYXRlLiBTbyBzdG9yZQoJICB0aGF0IGFuZCB1c2UgaXQgaW4gdGhlIG5ld2x5IGNyZWF0ZWQgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM2OQoKMjAxMy0wNy0yNCAwOToxODo0MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogZGVzdHJveSB0aGUgcXVldWUgaWYgc2V0X2Zvcm1hdCBmYWlscwoKMjAxMy0wNy0yNCAwOToxNTo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogcmVtb3ZlIGMrKyBzdHlsZSBjb21tZW50cwoKMjAxMy0wNy0yNCAwOToxMTo1OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogMXN0IHJvdW5kIG9mIGZpeGVzCgoyMDEzLTA3LTIzIDEwOjEwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBjb2RlY19kYXRhIGhhbmRsaW5nCgkgIFNldCB0byBzZXF1ZW5jZV9vZmZzZXQgc28gdGhhdCBfcHJvY2Vzc19jb25maWcgYWNjZXB0cyBpdC4KCSAgKGJ0dzogc2VxX29mZnNldCB1c2FnZSB0aHJvdWdob3V0IHRoaXMgcGx1Z2luIGlzIHJlYWxseSBkb2RneSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgwNgoKMjAxMy0wNi0xNCAwNzoyODoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENyZWF0ZSBhbmQgc2VuZCBjb2RlYyB0YWcKCSAgSGVscHMgd2l0aCBhcHBsaWNhdGlvbnMgdGhhdCByZWx5IG9uIHByZXNlbmNlIG9mIHRoYXQgdGFnIGZvciB1c2VyLWZhY2luZwoJICBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIxNgoKMjAxMy0wNy0yMyAxMzoyOToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IHBrY3M3IHVucGFkZGluZwoJICBFdmVyeSBlbmNyeXB0ZWQgZnJhZ21lbnQgd2lsbCBiZSBhIG11bHRpcGxlIG9mIDEyOCBiaXRzLCB0aGUgbGFzdCBieXRlCgkgIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCB3ZXJlIGFkZGVkIGFzIHBhZGRpbmcgaW4gdGhlIGVuZAoJICBhbmQgc2hvdWxkIGJlIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE2NzMKCjIwMTMtMDctMjMgMTA6MzA6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgQXVkaW9Ub29sYm94IGJhc2VkIGF1ZGlvIGRlY29kZXIKCjIwMTMtMDctMjMgMTA6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDozMToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoyNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MjE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDowOTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDowNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDowNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNzozMDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBuZWdvdGlhdGlvbiBpZiBmaWx0ZXIgY2FwcyBhcmUgcGFzc2VkIHRvIHF1ZXJ5X2NhcHMKCSAgTWFrZSB2aWRlb3Rlc3RzcmMgISBpbnRlcmxhY2UgISAkYW55dGhpbmcgd29yayBhZ2Fpbi4gUHJvYmxlbQoJICB3YXMgdGhhdCB1cHN0cmVhbSBmaWx0ZXIgY2FwcyB3ZXJlIHBhc3NlZCB3aGljaCBjb250YWluZWQKCSAgaW50ZXJsYWNlLW1vZGU9cHJvZ3Jlc3NpdmUsIHdoaWNoIGRvZXNuJ3QgaW50ZXJzZWN0IHRvbyB3ZWxsCgkgIHdpdGggaW50ZXJsYWNlJ3Mgc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLCBsZWFkaW5nIHRvCgkgIG5vdC1uZWdvdGlhdGVkIGVycm9ycy4KCjIwMTMtMDctMjIgMTQ6NTY6MzIgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvbid0IGFib3J0IG9uIGludmFsaWQgc3RyZWFtcwoJICBKdXN0IHJldHVybiBhbiBlcnJvcgoKMjAxMy0wNy0xOSAxNTozMDo0MiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50Lmg6CgkgIGhsczogZml4IGZvciBhc3NlcnQgZmFpbHVyZSB3aGVuIHVzaW5nIGVuY3J5cHRlZCBITFMgc3RyZWFtcwoJICBXaGVuIHVzaW5nIGFuIEhMUyBlbmNyeXB0ZWQgc3RyZWFtLCBhbiBhc3NlcnRpb24gZmFpbHVyZSBpcyB0aHJvd246CgkgIChnc3QtbGF1bmNoLTEuMDozMTAyOCk6IEdMaWItR09iamVjdC1XQVJOSU5HICoqOiBjYW5ub3QgcmVnaXN0ZXIKCSAgZXhpc3RpbmcgdHlwZSBgR3N0RnJhZ21lbnQnCgkgIChnc3QtbGF1bmNoLTEuMDozMTAyOCk6IEdMaWItQ1JJVElDQUwgKio6IGdfb25jZV9pbml0X2xlYXZlOiBhc3NlcnRpb24KCSAgYHJlc3VsdCAhPSAwJyBmYWlsZWQKCSAgRXZlbnR1YWxseSB0cmFja2VkIHRoaXMgZG93biB0byB0aGUgY2FsbCBnc3RfZnJhZ21lbnRfbmV3KCkKCSAgaW4gZnVuY3Rpb24gZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50LgoJICBUaGUgR3N0RnJhZ21lbnQgY2xhc3MgaXMgZGVmaW5lZCBpbiBleHQvaGxzL2dzdGZyYWdtZW50LmMgYW5kIGluCgkgIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmMuIEhhdmluZyB0d28gY2xhc3MgZGVmaW5pdGlvbnMKCSAgd2l0aCB0aGUgc2FtZSBuYW1lIGNhdXNlcyB0aGUgYXNzZXJ0IGZhaWx1cmUgd2hlbiB0cnlpbmcgdG8gYWxsb2NhdGUKCSAgR3N0RnJhZ21lbnQuIERlbGV0aW5nIHRoZSB2ZXJzaW9uIGZyb20gaGxzIGFuZCBlZGl0aW5nIHRoZQoJICBNYWtlZmlsZS5hbSBzb2x2ZXMgdGhpcyBhc3NlcnQgZmFpbHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDU1NQoKMjAxMy0wNy0xOSAyMzo0MjoxMiArMDIwMCAgWW91cmkgV2VzdGVybWFuIDx0ZXRyYWNvbkBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogYWN0dWFsbHkgZW5hYmxlIGRlY2tsaW5rc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA1CgoyMDEzLTA3LTE5IDIwOjA5OjI4ICswMjAwICBZb3VyaSBXZXN0ZXJtYW4gPHRldHJhY29uQGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogYWRkICJkZXZpY2UtbnVtYmVyIiB0byBzZWxlY3QgZnJvbSBtdWx0aXBsZSBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDUKCjIwMTMtMDctMjIgMTA6NDY6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogT25seSBtYXAgaW5wdXQgYnVmZmVyIG9uY2UKCSAgSW5zdGVhZCBvZiBjb25zdGFudGx5IG1hcC91bm1hcHBpbmcgaXQgYSBiaXQgZXZlcnl3aGVyZSwgd2UgcGFzcyBhbG9uZwoJICB0byBhbGwgZnVuY3Rpb25zIHRoZSBHc3RNYXBJbmZvLgoJICBNYWtlcyBtcGVnIHZpZGVvIGZyYW1lIHBhcnNpbmcgNiUgZmFzdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIzMzAKCjIwMTMtMDMtMTAgMTI6MDc6NDAgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBkaXNlbnRhbmdsZSByZXF1ZXN0ZWQgcHJvZ3JhbSBudW1iZXIgZnJvbSBhY3RpdmUgcHJvZ3JhbSBudW1iZXIKCSAgVGhlIHByb2dyYW1fbnVtYmVyIGF0dHJpYnV0ZSB3YXMgb3ZlcmxvYWRlZCwgdHJ5aW5nIHRvIGluZGljYXRlIGJvdGgKCSAgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHByb2dyYW0sIGFuZCB0aGUgcHJvZ3JhbSByZXF1ZXN0ZWQgdmlhIHRoZQoJICAicHJvZ3JhbS1udW1iZXIiIHByb3BlcnR5LiAgVGhlIGVuZCByZXN1bHQgd2FzIHRoYXQgc2V0dGluZyB0aGUKCSAgcHJvcGVydHkgZGlkbid0IHdvcmsgKHNlZSAjNjkwOTM0KS4KCSAgSSBhZGRlZCBhIG5ldyByZXF1ZXN0ZWRfcHJvZ3JhbV9udW1iZXIgZmllbGQgcmF0aGVyIHRoYW4gcmV2aXZpbmcgdGhlCgkgIGN1cnJlbnRfcHJvZ3JhbV9udW1iZXIgZmllbGQgYmVjYXVzZSBpdCBzZWVtZWQgdGhpcyB3b3VsZCByZXN1bHQgaW4KCSAgZmV3ZXIgY2hhbmdlcyBvdmVyYWxsIGFuZCBiZSBsZXNzIGNvbmZ1c2luZy4gIEl0IGJyZWFrcyBzeW1tZXRyeSB3aXRoCgkgIHRoZSAicHJvZ3JhbS1udW1iZXIiIHByb3BlcnR5LCBidXQgaXQgcmV0YWlucyBwYXJhbGxlbHMgd2l0aCB0aGUgbGlrZXMKCSAgb2YgcHJvZ3JhbS0+cHJvZ3JhbV9udW1iZXIuCgkgIEJlY2F1c2UgZ3N0X3RzX2RlbXV4X3Jlc2V0IGlzIGNhbGxlZCBhZnRlciB0aGUgcHJvcGVydGllcyBoYXZlIGJlZW4KCSAgcGFyc2VkLCByZXF1ZXN0ZWRfcHJvZ3JhbV9udW1iZXIgaXMgaW5pdGlhbGlzZWQgaW4gZ3N0X3RzX2RlbXV4X2luaXQuCgkgIFdoZXRoZXIgdGhpcyBpcyBleGFjdGx5IHRoZSByaWdodCBwbGFjZSwgSSBkb24ndCBrbm93LgoKMjAxMy0wMy0wNiAxMjoxNTo0NyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHByb2dyYW0tbnVtYmVyIGZ1bmN0aW9uYWxpdHkKCSAgU2V0dGluZyB0aGUgcHJvZ3JhbS1udW1iZXIgcHJvcGVydHkgZG9lcyBub3QgYWZmZWN0IHdoaWNoIHByb2dyYW0KCSAgaXMgYWN0dWFsbHkgYmVpbmcgZGVtdXhlZC4KCSAgTW92aW5nIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgcHJvZ3JhbV9udW1iZXIgZnJvbQoJICBnc3RfdHNfZGVtdXhfcmVzZXQgdG8gZ3N0X3RzX2RlbXV4X2luaXQgc2VlbXMgdG8gZml4IHRoaXMgaXNzdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA5MzQKCjIwMTMtMDctMjIgMDk6MTg6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlIG9uIHRoZSBtcGVnIGRlbXV4ZXIgc3JjcGFkcwoKMjAxMy0wNy0xNyAxNzoxMjo1OSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIEV4cGxpY2l0bHkgdW5zZXQgZGlzY29udCBmbGFnIHdoZW4gaXQgc2hvdWxkbid0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjExMAoKMjAxMy0wNy0xNyAxMToyODoyOCArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBncmFiY3V0OiBBZGQgR3JhYkN1dCBzZWdtZW50YXRpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzIyCgoyMDEzLTA3LTE1IDIzOjAxOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggaGVpZ2h0IGV4dHJhY3Rpb24gZm9yIEgyNjNwCgoyMDEzLTA3LTE1IDIyOjU3OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHVwc3RyZWFtIGRvZXNuJ3QgcHJvdmlkZSBvbmUKCjIwMTMtMDctMDkgMTI6NDk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCB0eXBvIGluIGNoZWNrX3F1ZXVlX2Z1bGwgZnVuY3Rpb24KCSAgSXQgc2hvdWxkIHJldHVybiBUcnVlIHdoZW4gdGhlIHF1ZXVlIElTIGZ1bGwKCSAgRml4ZXMgIzcwNDIyNgoKMjAxMy0wNy0xNSAxMToxNToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVtZW1iZXIgc2VlayBzZXF1ZW5jZSBudW1iZXIKCSAgKiBBdm9pZHMgaGFuZGxpbmcgdHdpY2UgdGhlIHNhbWUgc2VlayAoY2FuIGhhcHBlbiB3aXRoIHBsYXliaW4gYW5kIGZpbGVzCgkgIHdpdGggc3VidGl0bGVzKQoJICAqIFNldCB0aGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBzZWdtZW50IGV2ZW50IHRvIHRoZSBzZXF1ZW5jZSBudW1iZXIgb2YKCSAgdGhlIHNlZWsgZXZlbnQgdGhhdCBnZW5lcmF0ZWQgaXQgKC0xIGZvciB0aGUgaW5pdGlhbCBvbmUpLgoKMjAxMy0wNS0yNCAxODoxODozNSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMTMtMDUtMjggMTY6MTQ6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVjYWxjdWxhdGUgbmV3IHNlZ21lbnQgYWZ0ZXIgYnl0ZSBzZWVrCgkgIFRoZSBzZWVraW5nIHN0YXJ0IHRpbWUgaXMgYXBwcm94aW1hdGVkIGZyb20gdGhlIHNlZWsgb2Zmc2V0IGluIGJ5dGVzCgkgIHVzaW5nIHRoZSBhY2N1bXVsYXRlZCBQQ1Igb2JzZXJ2YXRpb25zLCBzbyBvbiBhIFZCUiBzdHJlYW0gdGhlcmUgbWlnaHQKCSAgYmUgYSBiaWcgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBhY3R1YWwgUENSIGFuZCB0aGUgZXN0aW1hdGVkIG9uZSBhZnRlcgoJICB0aGUgc2Vlay4gVGhpcyBtaWdodCByZXN1bHQgaW4gYSBsb25nIHdhaXQgdG8gc2tpcCBhbGwgb3V0IG9mIHNlZ21lbnRzCgkgIHBhY2tldHMuCgkgIEluc3RlYWQgd2UganVzdCByZWNhbGN1bGF0ZSB0aGUgbmV3IHNlZ21lbnQgdG8gc3RhcnQgYXQgdGhlIGZpcnN0IFBUUwoJICBhZnRlciB0aGUgc2Vlaywgc28gdGhhdCBwbGF5YmFjayBzdGFydHMgaW1tZWRpYXRseS4KCjIwMTMtMDctMTMgMjM6NDk6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBkb2NzIGFuZCB3aW4zMiBjb25maWcuaCB0byBkZXZlbG9wbWVudCB2ZXJzaW9uCgoyMDEzLTA3LTEyIDE1OjU4OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICBkb2NzOiBhZGQgbmV3bHktcG9ydGVkIGVsZW1lbnRzIHRvIGRvY3MKCjIwMTMtMDctMTEgMTc6NDY6MzcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVzZSBzZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbiB2YWx1ZXMgdG8gdXBkYXRlIHRoZSBzcmMgY2FwcwoJICBUaGUgY2FwcyBzaG91bGQgYWx3YXlzIHJlcHJlc2VudCB3aGF0IHRoZSB1c2VyIGlzIHN1cHBvc2VkIHRvIHNlZS4KCSAgU28gaWYgdGhlcmUgaXMgYSBzZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlCgkgIHN0cmVhbSB0aGVuIHVzZSB0aGUgZGlzcGxheV9ob3Jpem9udGFsX3NpemUvZGlzcGxheV92ZXJ0aWNhbF9zaXplCgkgIHRvIHVwZGF0ZSB0aGUgc3JjIGNhcHMgKGlmIHRoZXkgYXJlIGxlc3MgdGhhbiB0aGUgdmFsdWVzIHByb3ZpZGVkCgkgIGJ5IHNlcXVlbmNlIGhlYWRlcikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQwMDkKCjIwMTMtMDctMTIgMDk6NDU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMgoJICBPb3BzLi4uIHNob3VsZCd2ZSBiZWVuIHBhcnQgb2YgMS4xLjIgdGFnIGFscmVhZHkgOigKCjIwMTMtMDctMTEgMTY6NTc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjIgPT09CgoyMDEzLTA3LTExIDE2OjMxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTEwIDEyOjI4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnkgZGF0YQoKMjAxMy0wNy0wOCAwODo0NDo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgcGFyc2luZyBzZWN0aW9uIHdpdGhvdXQgZW5vdWdoIGRhdGEKCSAgVGhpcyBpcyBhY3R1YWxseSBhIHdvcmthcm91bmQgKHdlJ2xsIGJlIHNraXBwaW5nIHRoZSB1cGNvbWluZyBzZWN0aW9uKQoJICBUaGlzIHdpbGwgb25seSBoYXBwZW4gZm9yIHNlY3Rpb25zIHdoZXJlIHRoZSBiZWdpbm5pbmcgaXMgbG9jYXRlZCB3aXRoaW4KCSAgdGhlIGxhc3QgOCBieXRlcyBvZiBhIHBhY2tldCAod2hpY2ggaXMgdGhlIG1pbmltdW0gd2UgbmVlZCB0byBwcm9wZXJseQoJICBpZGVudGlmeSBhbnkgc2VjdGlvbiBiZWdpbm5pbmcpLgoJICBMYXRlciB3ZSBzaG91bGQgZmlndXJlIG91dCBhIHdheSB0byBzdG9yZSB0aG9zZSBieXRlcyBhbmQgbWFyayB0aGF0CgkgIHNvbWUgYW5hbHlzaXMgbmVlZHMgdG8gaGFwcGVuLiBUaGUgcHJvYmFiaWxpdHkgb2YgdGhpcyBoYXBwZW5pbmcgaXMKCSAgdG9vIGxvdyBmb3IgbWUgdG8gY2FyZSByaWdodCBub3cgYW5kIGRvIHRoYXQgZml4LiBUaGVyZSBpcyBhIGdvb2QgY2hhbmNlCgkgIHRoYXQgc2VjdGlvbiB3aWxsIGV2ZW50dWFsbHkgYmUgcmVwZWF0ZWQgYW5kIHdvbid0IGVuZCB1cCBvbiBzdWNoIGJvcmRlci4KCjIwMTMtMDctMDggMDg6NDM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIEJBVCBzdXBwb3J0IHRvIG1wZWd0cyBleGFtcGxlCgoyMDEzLTA3LTA4IDA4OjQyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogVW5pZnkgc2VjdGlvbiBjaGVja3MgYW5kIGFkZCBCQVQgcGFyc2luZwoJICAqIEF2b2lkIHJlcGVhdGluZyBjb2RlIGV2ZXJ5d2hlcmUsIGFuZCBpbnN0ZWFkIHByb3ZpZGUgYWxsIHBhcnNpbmcKCSAgaW5mb3JtYXRpb24gaW4gb25lIGdvLgoJICAqIEFkZCBCQVQgc3VwcG9ydAoJICAqIFJlZmluZSBCQVQvQ0FUIGlkZW50aWZpY2F0aW9uIChieSBhZGRpbmcgUElEIGNoZWNrcykKCjIwMTMtMDctMDcgMTE6NDI6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCB2bWV0aG9kIGNhbGxzCgkgIERlcGVuZGluZyBvbiB1c2FnZSwgdHNwYXJzZSBhbmQgdHNkZW11eCBtaWdodCBub3QgbmVlZCB0byBiZSBjYWxsZWQKCSAgd2hlbiBuZXcgc2VjdGlvbi9wZXMtZGF0YSBpcyBhdmFpbGFibGUuCgoyMDEzLTA3LTA3IDEwOjI1OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlcwoJICAqIHBhY2tldC5vcmlndHMgaXMgbm8gbG9uZ2VyIHVzZWQgc2luY2UgdGhlIFBDUiByZWZhY3RvcmluZyBkb25lIGFnZXMgYWdvCgkgICoga25vd25fcGFja2V0X3NpemUgaXMgYSBkdXBsaWNhdGUgb2YgcGFja2V0X3NpemUgIT0gMAoJICAqIGNhcHMgd2FzIG5ldmVyIHVzZWQgb3V0c2lkZSBvZiB0aGUgcGFja2V0aXplcgoKMjAxMy0wNy0wOSAxMTozOTo0NiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlcjogZml4IHNpemUgY2FwcyB0byByZXBvcnQgY3JvcHBlZCBkaW1lbnNpb25zLgoJICBSZXN0b3JlIHRoZSBvcmlnaW5hbCBoMjY0cGFyc2VyIGJlaGF2aW91ciB0byByZXBvcnQgY3JvcHBlZCBkaW1lbnNpb25zCgkgIGluIHNpemUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDA2OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA4IDE4OjQ0OjI0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIGNyb3BwaW5nIHJlY3RhbmdsZS4KCSAgRml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBjcm9wcGluZyByZWN0YW5nbGUsIGFuZCBtb3JlIHByZWNpc2VseQoJICB0aGUgYWN0dWFsIGNyb3BwZWQgaGVpZ2h0LiBUaGUgZnJhbWVfY3JvcF90b3Bfb2Zmc2V0IHN1YnRyYWN0aW9uCgkgIHdhcyBub3Qgc2NhbGVkIHVwIHdpdGggU3ViSGVpZ2h0Qy4KCSAgQWxzbyBjbGVhbi11cCB2YXJpYWJsZXMgdG8gYWxpZ24gbW9yZSB3aXRoICg3LTE4KSB0byAoNy0yMSkuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMTUgMTQ6MTg6NDkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogUGFyc2UgdGhlIGNyb3BwaW5nLXJlY3RhbmdsZSBzZXBhcmF0ZWx5LgoJICBBc3NpZ24gdGhlIHVuLWNyb3BwZWQgd2lkdGgvaGVpZ2h0IHRvIHNwcy0+d2lkdGgvc3BzLT5oZWlnaHQKCSAgZHVyaW5nIHNwcyBoZWFkZXIgcGFyc2luZy4gQWRkZWQgbmV3IGZpZWxkcyB0byBTUFMgaGVhZGVyIHN0cnVjdHVyZQoJICB0byBwcm92aWRlIHRoZSBjcm9wLXJlY3RhbmdsZSBkaW1lbnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDY4CgoyMDEzLTA3LTAzIDE2OjM4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgcXVldWUgZnVsbCBjaGVjayBmdW5jdGlvbgoJICBDaGVja3MgaWYgdGhlIHF1ZXVlIGlzIGZ1bGwgYWNjb3JkaW5nIHRvIG1heCBidWZmZXJpbmcgdGltZQoJICBzZXQgYnkgdGhlIHVzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0wNy0wOSAwMDo0NzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbWlub3IgcmVmYWN0b3IKCSAgU3BsaXQgb25lIHZlcnkgbGFyZ2UgZnVuY3Rpb24gaW50byAyIHNtYWxsZXIgYnV0IHN0aWxsIGxhcmdlIGZ1bmN0aW9ucy4KCSAgQWxzbyBjaGFuZ2UgdGhlIGlmIGNvbmRpdGlvbnMgdG8gcG9zaXRpdmUgY2hlY2tzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCgoyMDEzLTA3LTA4IDIzOjI0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgbGl2ZSBwbGF5YmFjayByZXN5bmMKCSAgRHVyaW5nIGEgbGl2ZSBzdHJlYW0gaXQgaXMgcG9zc2libGUgZm9yIGRhc2hkZW11eCB0byBsYWcgYmVoaW5kIG9uIGEKCSAgc2xvdyBjb25uZWN0aW9uIG9yIHRvIHJ1c2ggYWhlYWQgb2YgdGhlIGNvbm5lY3Rpb24gb3MgdG9vIGZhc3QuCgkgIEZvciB0aGUgZmlyc3QgY2FzZSBpdCBpcyBuZWNlc3NhcnkgdG8ganVtcCBzb21lIHNlZ21lbnRzIGFoZWFkIHRvIGJlIGFibGUgdG8KCSAgY29udGludWUgcGxheWJhY2sgYXMgb2xkIHNlZ21lbnRzIGFyZSB1c3VhbGx5IGRlbGV0ZWQgZnJvbSB0aGUgc2VydmVyLgoJICBGb3IgdGhlIGxhdGVyLCBkYXNoZGVtdXggc2hvdWxkIHdhaXQgYSBsaXR0bGUgYmVmb3JlIGF0dGVtcHRpbmcgYW5vdGhlcgoJICBkb3dubG9hZCBkbyBnaXZlIHRpbWUgdG8gdGhlIHNlcnZlciB0byBwcm9kdWNlIGEgbmV3IHNlZ21lbnQKCjIwMTMtMDctMDUgMTM6MjI6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggdGVtcGxhdGUgYmFzZWQgc2VnbWVudCBnZW5lcmF0aW9uCgkgIFdoZW4gdXNpbmcgYSB0ZW1wbGF0ZSBiYXNlZCBzZWdtZW50IGxpc3QsIGRvIG5vdCB0cnkgdG8KCSAgY29udHJ1Y3QgYSBmaW5pdGUgc2VnbWVudCBsaXN0IGZvciB0aGUgbGltaXRzIG9mIHRoZSBhdmFpbGFibGUgcGVyaW9kcy4KCSAgV2UgbWlnaHQgbm90IGtub3cgd2hlbiB0aGUgcGVyaW9kIGVuZHMgKGZvciBsaXZlIHN0cmVhbXMpIGFuZCB3ZSBjYW4KCSAgYWx3YXlzIGNyZWF0ZSB0aGUgc2VnbWVudCBvbiBkZW1hbmQgd2hlbiByZXF1ZXN0ZWQgYnkgZGFzaGRlbXV4LAoJICBhdm9pZGluZyB1c2Ugb2Ygc29tZSBtZW1vcnkgYW5kIGNwdSB3aGVuIHJlLWNyZWF0aW5nIHRoaXMgbGlzdC4KCjIwMTMtMDctMDQgMjM6NDI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdXNlIG1vcmUgYXBwcm9wcmlhdGUgZGF0YSBzdHJ1Y3R1cmVzIGZvciBwYXJzaW5nCgkgIFJlcGxhY2VzIHRoZSAyIGxpa2VseSBsYXJnZXIgbGlzdHMgd2l0aCBtb3JlIGFwcHJvcHJpYXRlIHN0cnVjdHVyZXMKCSAgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4KCSAgUmVwbGFjZXMgUyBub2RlcyBHTGlzdCBmb3IgYSBHUXVldWUsIHRoaXMgcmVkdWNlcyBsYXRlbmN5IHRvIHN0YXJ0dXAKCSAgYmVjYXVzZSBvZiB0cmF2ZXJzaW5nIHRoZSBsaXN0IGp1c3QgYXBwZW5kIGFuIGVsZW1lbnQuCgkgIFJlcGxhY2VzIHRoZSBwcm9jZXNzZWQgbWVkaWEgc2VnbWVudHMgR0xpc3QgZm9yIGEgR1B0ckFycmF5IGFzIGl0IGlzCgkgIGNvbnN0YW50bHkgYWNlc3NlZCBieSBpbmRleCBkdXJpbmcgcGxheWJhY2suCgoyMDEzLTA3LTA0IDE1OjE0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhbnN3ZXIgdG8gbGF0ZW5jeSBxdWVyaWVzCgkgIFNldCBsaXZlIGlmIHN0cmVhbSBpcyBsaXZlIGFuZCBhbHNvIGFkZCB0byB0aGUgbWF4IGxhdGVuY3kgdGhlCgkgIG1heCBpbnRlcm5hbCBidWZmZXJpbmcKCjIwMTMtMDctMDggMjI6MDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZml4IGNyYXNoIHdoZW4gZG93bmxvYWQgaXMgbnVsbAoJICBEbyBubyB0cnkgdG8gdW5yZWYgYSBOVUxMIGRvd25sb2FkIGF0dHJpYnV0ZQoKMjAxMy0wNy0wOCAyMjowMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBkbyBub3Qgc2V0IGNhbmNlbGxlZCB1bmxlc3MgZXhwbGljaXRseSBjYWxsZWQgYnkgdXNlcgoJICBDYW5jZWxsZWQgaXMgYSAncGVybWFuZW50JyBzdGF0ZSBvZiB0aGUgdXJpZG93bmxvYWRlciBhbmQgaXMgb25seQoJICByZW1vdmVkIGJ5IGEgY2FsbCB0byBfcmVzZXQuIFdoZW4gYSBkb3dubG9hZCBmYWlscyB3ZSBqdXN0IHdhbnQgdG8KCSAgcmV0dXJuIE5VTEwgb24gdGhlIGZldGNoIGZ1bmN0aW9uIGFuZCBsZWF2ZSB0aGUgZG93bmxvYWRlciByZWFkeQoJICBmb3IgYW5vdGhlciBmZXRjaCwgb3RoZXJ3aXNlIHRoZSB1c2VyIGhhcyB0byBjYWxsIF9yZXNldCBhZnRlcgoJICBmYWlsZWQgZG93bmxvYWRlciwgZXZlbiB3aGVuIGl0IGRpZG4ndCBjYWxsIF9jYW5jZWwuCgoyMDEzLTA3LTA3IDA4OjM1OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEF2b2lkIGZhbHNlLXBvc2l0aXZlcyBpbiBzZWN0aW9uIHR5cGUgZGV0ZWN0aW9uCgkgIER1ZSB0byB0aGUgdmFyaWV0eSBvZiBzZWN0aW9uIHR5cGVzIG91dCB0aGVyZSwgd2UgbmVlZCB0byBhZGQKCSAgc29tZSBjaGVja3Mgd2hlbiBpZGVudGlmeWluZyBzZWN0aW9uIHR5cGVzLgoJICBXZSBjaGVjayBoZXJlIHRoYXQgdGhlIFBJRCBpcyBhbHNvIGNvbnNpc3RlbnQgd2l0aCB0aGUgdGFibGVfaWQuCgoyMDEzLTA3LTA3IDA4OjI5OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBGaXggbXVsdGlwbGUtU0kgZGV0ZWN0aW9uL3BhcnNpbmcKCSAgV2UgaGFkIHR3byBpc3N1ZXMgd2l0aCB0aGUgcHJldmlvdXMgY29kZToKCSAgMSkgV2Ugd2VyZSBiYWRseSBoYW5kbGluZyBQVVNJLWZsYWdnZWQgcGFja2V0cy4gV2Ugd2VyZSBkaXNjYXJkaW5nIHRoZQoJICBpbml0aWFsIGRhdGEgKGlmIHBvaW50ZXIgIT0gMCkgd2hlcmVhcyB3ZSBzaG91bGQgaGF2ZSBiZWVuIGFjY3VtdWxhdGluZwoJICBpdCB3aXRoIHRoZSBwcmV2aW91cyBkYXRhIChpZiB0aGVyZSB3YXMgYSBjb250aW51aXR5IG9mIGNvdXJzZSkuCgkgID0+IEZpcnN0IHNlcmllcyBvZiBpbmZvcm1hdGlvbiBsb3NzCgkgIDIpIFdlIHdlcmUgbm90IGNoZWNraW5nIHdoZXRoZXIgdGhlcmUgd2VyZSBtb3JlIHNlY3Rpb25zIGFmdGVyIHRoZSBlbmQKCSAgb2Ygb25lIChpLmUuIHdoZW4gdGhlIGZvbGxvd2luZyBieXRlIHdhcyBub3QgYSBzdHVmZiBieXRlKS4KCSAgVGhpcyBmaXhlcyB0aG9zZSB0d28gaXNzdWVzLgoJICBGaXhlcyAjNjc3NDQzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc0NDMKCjIwMTMtMDctMDcgMDc6MjE6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBGaXggc3dpdGNoL2Nhc2UgdHlwbwoJICBFbmRlZCB1cCB0cnlpbmcgdG8gYW5hbHl6ZSBQTVQgLi4uIHdpdGggYSBQQVQgOigKCjIwMTMtMDctMDYgMTQ6NTA6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSBwcml2YXRlIHNlY3Rpb24gc3RyZWFtcwoJICBVbnRpbCBub3cgd2Ugc2ltcGx5IGlnbm9yZWQgdGhvc2Ugc3RyZWFtcyAoc2luY2Ugd2UgY291bGRuJ3QgZG8gYW55dGhpbmcKCSAgd2l0aCBpdCBhbnl3YXkpLiBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBtcGVndHMgbGlicmFyeSBhbmQgd2Ugb2ZmbG9hZCB0aGUKCSAgc2VjdGlvbiBoYW5kbGluZyB0byB0aGUgYXBwbGljYXRpb24gc2lkZSB3ZSBjYW4gcHJvcGVybHkgaWRlbnRpZnkgYW5kCgkgIGV4dHJhY3QgdGhlbS4KCSAgQnkgZGVmYXVsdCBpdCBpcyBkaXNhYmxlZCBmb3IgdHNwYXJzZSBhbmQgZW5hYmxlZCBmb3IgdHNkZW11eCwgYnV0IHRoZXJlIGlzCgkgIGEgcHJvcGVydHkgdG8gY2hhbmdlIHRoYXQuCgkgIFRoaXMgc2hvdWxkIG9wZW4gdGhlIHdheSB0byBwcm9wZXJseSBoYW5kbGUgYWxsIHByaXZhdGUgc2VjdGlvbiBzdHJlYW1zLAoJICBpbmNsdWRpbmc6CgkgICogRFNNLUNDCgkgICogTUhFRwoJICAqIENhcm91c2VsIGRhdGEKCSAgKiBNZXRhZGF0YSBzdHJlYW1zICh0aG91Z2ggSSBoYXZlbid0IHNlZW4gYW55IG9mIHRob3NlIGluIHRoZSB3aWxkKQoJICAqIC4uLiBBbmQgYWxsIG90aGVyIHNwZWNzL3Byb3RvY29scyBtYWtpbmcgdXNlIG9mIHRob3NlCgkgIFBhcnRpYWxseSBmaXhlcyAjNTYwNjMxCgoyMDEzLTA3LTA2IDEyOjM5OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBQcm9wZXJseSBoYW5kbGUgVVRDIHRpbWUgaW4gc2VjdGlvbnMKCSAgKiBkb24ndCB1bnJlZiBpbmV4aXN0YW50IEdzdERhdGVUaW1lCgkgICogRmluZS10dW5lIGhvdXIvbWluL3NlYyBCQ0QgcmVhZGluZyBjb2RlCgkgICogVXBkYXRlIGV4YW1wbGUgY29kZSBhY2NvcmRpbmdseQoKMjAxMy0wNy0wNiAxMDo1OTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBSZWdpc3RyYXRpb24gZGVzY3JpcHRvciBzdXBwb3J0CgkgIEFuZCBvdXRwdXQgdGhlIGxlbmd0aCBvZiB0aGUgZGVzY3JpcHRvcnMKCjIwMTMtMDctMDYgMTA6Mzg6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggTklUIHBhcnNpbmcKCSAgVGhlIHNpemUgY2hlY2tzIHdlcmUgd3JvbmcuIFRoZSBzbWFsbGVzdCBzaXplIGZvciBhIE5JVCBpcyAxNiBieXRlcwoJICAoMTIgZm9yIHRoZSBzbWFsbGVzdCBjb250ZW50ICsgNCBmb3IgY3JjKSBhbmQgdGhlIHNtYWxsZXN0IHNpemUgZm9yCgkgIGEgaW5uZXIgc3RyZWFtIGxvb3AgaXMgNiBieXRlcyAod2l0aG91dCBhbnkgZGVzY3JpcHRvcnMpLgoJICBBbHNvIHJlbW92ZSBGSVhNRSB0aGF0IGhhcyBhbHJlYWR5IG1vdmVkIGVsc2V3aGVyZQoKMjAxMy0wNy0wNiAxMDozNjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSByZWdpc3RyYXRpb24gZGVzY3JpcHRvciBmb3IgcHJvZ3JhbXMgYW5kIHN0cmVhbXMKCSAgKiBBbGxvd3MgdXMgdG8gc2ltcGxpZnkgc29tZSBjb2RlIGFuZCBwcmVwYXJlIGZvciBmdXR1cmUgY2xlYW51cHMuCgkgICogUmVtb3ZlIHVzZWxlc3MgY2FzdHMKCSAgKiBBZGQgc29tZSBGSVhNRSByZWdhcmRpbmcgVkMxCgoyMDEzLTA3LTA1IDIxOjQ5OjQ4ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2ODMKCjIwMTMtMDctMDUgMTE6MjA6NDkgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJICB3ZWJ2dHRlbmM6IFNlcGFyYXRlIGN1ZXMgd2l0aCB0d28gbGluZSBicmVha3MgaW5zdGVhZCBvZiBvbmUuCgkgIFNlZSBodHRwOi8vZGV2LnczLm9yZy9odG1sNS93ZWJ2dHQvI3N5bnRheAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjczCgoyMDEzLTA3LTA1IDE4OjMzOjQyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBmaXggdmlkZW8gcGFja2V0IGhlYWRlciBzaXplIGNoZWNrcy4KCSAgRml4IHZpZGVvIHBhY2tldCBoZWFkZXIgc2l6ZSBjaGVja3MgZm9yOgoJICAtIFNlcXVlbmNlIEhlYWRlcjogNjQgYml0cyA7CgkgIC0gU2VxdWVuY2UgU2NhbGFibGUgRXh0ZW5zaW9uOiAxMCBiaXRzIDsKCSAgLSBTbGljZSBIZWFkZXI6IDYgYml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY2OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA1IDE0OjU4OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgbWlzc2luZyBndGstZG9jIGVudHJpZXMuCgkgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHdlcmUgbWlzc2luZyBndGstZG9jIGVudHJpZXM6CgkgIC0gZ3N0X21wZWdfdmlkZW9fcGFyc2Vfc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24KCSAgLSBnc3RfbXBlZ192aWRlb19maW5hbGlzZV9tcGVnMl9zZXF1ZW5jZV9oZWFkZXIKCSAgLSBnc3RfbXBlZ192aWRlb19xdWFudF9tYXRyaXhfZ2V0X3Jhc3Rlcl9mcm9tX3ppZ3phZwoJICAtIGdzdF9tcGVnX3ZpZGVvX3F1YW50X21hdHJpeF9nZXRfemlnemFnX2Zyb21fcmFzdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NjcKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxMTo1Nzo1NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogdXBkYXRlIHRlc3QgcHJvZ3JhbSB3aXRoIG5ldyBHc3RNcGVnVmlkZW9QYWNrZXQgQVBJLgoJICBUaGlzIGlzIHRoZSBsb3N0IGh1bmsgZnJvbToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMwIDE2OjU2OjE1ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgc2xpY2UgaGVhZGVyIHBhcnNpbmcgQVBJLgoJICBBZGQgQVBJIHRvIHBhcnNlIHRoZSBTbGljZSBoZWFkZXIuIFRoaXMgYWxzbyBjYWxjdWxhdGVzIHRoZSBtYWNyb2Jsb2NrCgkgIHBvc2l0aW9uIGFzIHNwZWNpZmllZCBpbiA2LjMuMTYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNzQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTI1IDE1OjQ4OjU4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgc2VxdWVuY2Ugc2NhbGFibGUgZXh0ZW5zaW9uIHBhcnNpbmcgQVBJLgoJICBBZGQgQVBJIHRvIHBhcnNlIHRoZSBTZXF1ZW5jZSBTY2FsYWJsZSBFeHRlbnNpb24gaGVhZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0Mjc0CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNCAxNDoyMjoxNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY29wZSB3aXRoIG5ldyBwYXJzZXIgQVBJLgoJICBNaWdyYXRlIHRoZSBjb2RlIHRvIHVzZSB0aGUgbmV3IHBhcnNlciBBUEkgYmFzZWQgb24gR3N0TXBlZ1ZpZGVvUGFja2V0LgoJICBBbHNvIHRyeSB0byBvcHRpbWl6ZSBnc3RfbXBlZ3ZfcGFyc2VfcHJvY2Vzc19jb25maWcoKSBieSB1c2luZyBtb3JlIG9mCgkgIEdzdE1wZWdWaWRlb1BhY2tldCBhbmQgZGV0ZXJtaW5pbmcgdGhlIGV4dGVuc2lvbl9zdGFydF9jb2RlX2lkZW50aWZpZXIKCSAgcHJpb3IgdG8gY2FsbGluZyB0aGUgcGFyc2VyIGZ1bmN0aW9uIGZvciB0aGF0IGV4dGVuc2lvbiBwYWNrZXQuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTE6NTc6NTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBuZXcgQVBJIHRoYXQgdGFrZXMgR3N0TXBlZ1ZpZGVvUGFja2V0IGFyZ3VtZW50cy4KCSAgQWRkIG5ldyBpbnRlcmZhY2UgdG8gTVBFRy0yIHZpZGVvIHBhcnNlciB0aGF0IHRha2VzIEdzdE1wZWdWaWRlb1BhY2tldAoJICBhcmd1bWVudHMgaW5zdGVhZCBvZiBkYXRhLCBzaXplLCBhbmQgb2Zmc2V0LiBOZXcgZnVuY3Rpb25zIGFyZSBjYWxsZWQKCSAgYWZ0ZXIgZ3N0X21wZWdfdmlkZW9fcGFja2V0XyooKSBhbmQgcHJvdmlkZSB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCSAgT2xkZXIgQVBJIGlzIG1vdmVkIHRvIHRoZSBkZXByZWNhdGVkIG5hbWVzcGFjZSBhbmQgdXNlcyB0aGUgbmV3IGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA1IDE2OjQ2OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSBuby1sb25nZXIgbmVlZGVkIGNvZGUKCSAgU2luY2Ugd2Ugbm93IHNlbmQgYWxsIHNlY3Rpb25zIHRvIHRoZSBwYWNrZXRpemVyLCB3ZSBubyBsb25nZXIgbmVlZCB0byBkbwoJICBhbnltb3JlIGluLWRlcHRoIGNoZWNrcyBmb3IgdGhlIHZhbGlkaXR5IG9mIGEgc2VjdGlvbi4KCSAgVGhlIGNob2ljZSBib2lscyBkb3duIHRvOgoJICAxKSBJcyBpdCBmcm9tIGEga25vd24gUEVTIHBpZCA/IElmIHNvIHBhc3MgaXQgb24gKHdoaWNoIG1pZ2h0IGJlIGp1c3QgcHVzaGluZwoJICBkb3duc3RyZWFtIGluIHRoZSBjYXNlIG9mIHRzcGFyc2UsIG9yIGFjY3VtdWxhdGluZyBQRVMgZGF0YSBmb3IgdHNkZW11eCkKCSAgMikgSXMgaXQgZnJvbSBhIGtub3duIFNJIHBpZCA/IElmIHNvIHBhc3MgaXQgdG8gdGhlIHNlY3Rpb24gcGFja2V0aXplcgoKMjAxMy0wNy0wNSAxMzo1MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBGaXggUE1UIGhhbmRsaW5nCgkgIFdhcyB1c2luZyBhbiBvbGRlciAodGVtcG9yYXJ5KSB2ZXJzaW9uIG9mIHRoZSBtcGVndHMgbGlicmFyeSBBUEkuCgoyMDEzLTA3LTA1IDEwOjU3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsaW5nCgkgIFdlIHByZXZpb3VzbHkgd2VyZW4ndCB1c2luZyB0aGF0IHZhcmlhYmxlIC4uLgoKMjAxMy0wNy0wNCAwODo0MzozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEltcHJvdmUgZG9jdW1lbnRhdGlvbgoJICAqIEFkZCBhIGJhc2UgcGFnZSBmb3IgdGhlIGxpYnJhcnkKCSAgKiBBZGQgcGFnZXMgZm9yIHRoZSBiYXNlIE1QRUctVFMgc2VjdGlvbiBhbmQgZGVzY3JpcHRvcnMKCSAgKiBBZGQgcGFnZXMgZm9yIHRoZSBrbm93biB2YXJpYW50cwoJICAqIEFkZCBkb2N1bWVudGF0aW9uIG9uIG1vcmUgZmllbGRzL3NlY3Rpb25zL3R5cGVzCgkgICogUmVtb3ZlIHNvbWUgZml4bWVzIHRoYXQgd2VyZSAuLi4gZml4ZWQKCjIwMTMtMDctMDQgMDc6NDk6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTd2l0Y2ggdG8gdXNpbmcgR3N0TXBlZ1RzU3RyZWFtVHlwZQoJICBXZSBzdGlsbCBoYXZlIHNvbWUgb3RoZXIgc3RyZWFtIHR5cGVzIHdoaWNoIGhhdmVuJ3QgYmVlbiBwb3J0ZWQsIGJ1dAoJICB3ZSB3aWxsIGRvIHNvIG9uY2Ugd2UgaGF2ZSBkZWZpbmVkIHRoZSBlbnVtcyBpbiB0aGUgbXBlZ3RzIGxpYnJhcnkuCgkgIEFsc28gYWRkIHNvbWUgRklYTUVzIHJlZ2FyZGluZyBpdGVtcyBkaXNjb3ZlcmVkIGR1cmluZyBhbmFseXNpcwoKMjAxMy0wNy0wNCAwNzo0ODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzZGVzY3JpcHRvcjogRml4IGhhbmRsaW5nIG9mIHVua25vd24gc3RyZWFtIGVuY29kaW5ncwoJICBJZiB3ZSBjYW5ub3QgaWRlbnRpZnkgdGhlIGVuY29kaW5nIHVzZWQgZm9yIGEgc3RyaW5nLCByZXR1cm4gYSBOVUxMCgkgIHN0cmluZyBpbnN0ZWFkIG9mIGdhcmJhZ2UgYW5kIGFkZCBhIEZJWE1FIHNvIHdlIGNhbiBkZXRlY3QgYW5kIGxhdGVyCgkgIGZpeCBpdC4KCjIwMTMtMDctMDQgMDc6NDU6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEFkZCByZWdpc3RlcmVkIG1wZWctdHMgc3RyZWFtIHR5cGVzCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIG9mZmljaWFsbHkgcmVnaXN0ZXJlZCBpbiB0aGUgYmFzZSBzcGVjaWZpY2F0aW9uCgkgIChILjIyMi4wLzEzODE4LTEpLiBMYXRlciBvbiB3ZSBjYW4gYWRkIG90aGVyIGVudW1zIGZvciBvdGhlciB2YXJpYW50cwoJICBOb3RlIHRoYXQgdGhlIGVudW0gaXMgbm90IHVzZWQgaW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMgKHN1Y2ggYXMgYSBwbXQKCSAgc3RyZWFtIHN0cmVhbV90eXBlIGZpZWxkKSBzaW5jZSBpdCBjYW4gY29udGFpbiB2YWx1ZXMgZnJvbSBvdGhlcgoJICB2YXJpYW50cy4KCjIwMTMtMDctMDQgMDI6MTI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IGFkZCBtaXNzaW5nIGxpYiB0byBtYWtlZmlsZQoJICBGaXhlcyBpbml0aWFsaXphdGlvbiBvZiBzYW1wbGUgYXBwbGljYXRpb24KCjIwMTMtMDctMDMgMTk6MTE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gZHVyYXRpb24gaXMgdW5rbm93bgoJICBEdXJhdGlvbiBmcm9tIHNlZ21lbnQgYmVpbmcgdW5rbm93biBpcyBhIGlzc3VlIGZyb20gdGhlIE1QRCBhbmQgbm90CgkgIGEgcHJvZ3JhbW1pbmcgaXNzdWUsIHNvIHRoZSBhc3NlcnQgaXNuJ3QgdXNlZnVsIGhlcmUuIEluc3RlYWQgY2hlY2sKCSAgYW5kIHJldHVybiBhbiBlcnJvciBjb2RlIHNvIHRoZSBjYWxsZXIgY2FuIGZhbGxiYWNrIHRvIGFsdGVybmF0aXZlcwoKMjAxMy0wNy0wMyAxOToxMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGV2ZW50IGxlYWsgd2hlbiBwYXJzaW5nIG1hbmlmZXN0IGZhaWxzCgkgIEFsd2F5cyByZW1lbWJlciB0byB1bnJlZiB0aGUgZXZlbnQgYmVmb3JlIHByb2NlZWRpbmcsIGluIGJvdGggc3VjY2VzcwoJICBhbmQgZmFpbHVyZSBjYXNlcwoKMjAxMy0wNy0wMyAxMjozMDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB2YXJpb3VzIGNsZWFudXBzCgkgIFJlbW92aW5nIHVudXNlZCBmdW5jdGlvbiwgcmVwbGFjaW5nIC8vIGNvbW1lbnRzIHdpdGggLyogKi8gYW5kCgkgIHJlcGxhY2luZyBzb21lIEdTVF9XQVJOSU5HIHdpdGggR1NUX0lORk8vX0RFQlVHIGFzIHRoZXkgYXJlIG1lYW50CgkgIHRvIGJlCgoyMDEzLTA2LTExIDE0OjI4OjUzICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IENoYW5nZSBmaXJzdCBmcmFnbWVudCBzZWxlY3Rpb24gZm9yIGxpdmUgc3RyZWFtcwoJICBXaGVuIGRhc2hkZW11eCBzZWxlY3RzIGl0cyBmaXJzdCBmcmFnbWVudCwgaXQgYWx3YXlzIHNlbGVjdHMgdGhlCgkgIGZpcnN0IGZyYWdtZW50IGxpc3RlZCBpbiB0aGUgbWFuaWZlc3QuIEZvciBvbi1kZW1hbmQgY29udGVudCwKCSAgdGhpcyBpcyB0aGUgY29ycmVjdCBiZWhhdmlvdXIuIEhvd2V2ZXIgZm9yIGxpdmUgY29udGVudCwgdGhpcwoJICBiZWhhdmlvdXIgaXMgdW5kZXNpcmFibGUgYmVjYXVzZSB0aGUgZmlyc3QgZnJhZ21lbnQgbGlzdGVkIGluIHRoZQoJICBtYW5pZmVzdCBtaWdodCBiZSBzb21lIGNvbnNpZGVyYWJsZSB0aW1lIGJlaGluZCAibm93Ii4KCSAgVGhlIGNvbW1pdCB1c2VzIHRoZSBob3N0J3MgaWRlYSBvZiBVVEMgYW5kIHRyaWVzIHRvIGZpbmQgdGhlCgkgIG9sZGVzdCBmcmFnbWVudCB0aGF0IGNvbnRhaW5zIHNhbXBsZXMgZm9yIHRoaXMgdGltZSBvZiBkYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1MDkKCjIwMTMtMDctMDMgMTg6NTI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogc3BsaXQgZHZiIGRlc2NyaXB0b3JzL2VudW1zIGludG8gYSBzZXBhcmF0ZSBmaWxlCgkgIFdlIHdpbGwgZG8gdGhlIHNhbWUgb25jZSB3ZSBoYXZlIEFUU0MvSVNEQi8uLi4gZGVzY3JpcHRvciBwYXJzaW5nCgoyMDEzLTA3LTAzIDE4OjQ0OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBGaXggVE9UIHNlY3Rpb24gcGFyc2luZwoJICBBbmQgdXNlIGl0IGluIGV4YW1wbGUKCjIwMTMtMDctMDMgMTg6MDA6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogRml4IGEgbGVhawoKMjAxMy0wNy0wMyAxNzo1OTowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJICBtcGVndHM6IFNwbGl0IGZpbGVzIGFuZCBpbXBsZW1lbnQgZnJlZSBmdW5jdGlvbnMKCSAgKiBJbiBvcmRlciB0byBhdm9pZCBmdXR1cmUgY2xhc2hpbmcgYmV0d2VlbiB0YWJsZV9pZCBmb3IgdGhlIHZhcmlvdXMKCSAgbXBlZy10cyB2YXJpYW50cywgdXNlIGRpZmZlcmVudCBlbnVtcy4KCSAgKiBJbiBvcmRlciB0byBrZWVwIGV2ZXJ5dGhpbmcgY2xlYW4oaXNoKSBhbmQgYWxsb3cgZm9yIGNsZWFuZXIgZ3Jvd3RoLAoJICBzcGxpdCBpbnRvIGRpZmZlcmVudCBmaWxlcyAod2lsbCBuZWVkIHRoZSBzYW1lIGZvciBkZXNjcmlwdG9ycyBsYXRlcikKCSAgKiBBbHNvIC4uLiBpbXBsZW1lbnQgZnJlZSBmdW5jdGlvbnMgZm9yIGFsbCB0YWJsZSB0eXBlcyA6KQoKMjAxMy0wNy0wMyAxNTozMDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCjIwMTMtMDctMDMgMTA6MTY6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG9ubHkgZ2VuZXJhdGUgaW5kZXggc2VnbWVudCB1cmkgaWYgdGhlcmUgaXMgYSB0ZW1wbGF0ZQoJICBTaW1wbGUgZml4IHRvIGF2b2lkIGFuIGFzc2VydGlvbi4KCjIwMTMtMDYtMjEgMTc6MDk6MzAgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBpbmhlcml0YW5jZSBmb3IgY2VydGFpbiBNUEQgZWxlbWVudHMKCSAgQWNjb3JkaW5nIHRvIHRoZSBNUEVHLURBU0ggc3BlYywgY2VydGFpbiBlbGVtZW50cyAoaS5lLgoJICBTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlLCBhbmQgU2VnbWVudExpc3QpIHNob3VsZCBpbmhlcml0CgkgIGF0dHJpYnV0ZXMgZnJvbSB0aGUgc2FtZSBlbGVtZW50cyBpbiB0aGUgY29udGFpbmluZyBBZGFwdGF0aW9uU2V0CgkgIG9yIFBlcmlvZC4KCSAgVXBkYXRlZCB0aGUgU2VnbWVudEJhc2UsIFNlZ21lbnRUZW1wbGF0ZSwgYW5kIFNlZ21lbnRMaXN0IHBhcnNlcnMKCSAgdG8gcHJvcGVybHkgaW5oZXJpdCBhdHRyaWJ1dGVzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgaW4KCSAgQWRhcHRhdGlvblNldCBhbmQvb3IgUGVyaW9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjc3CgoyMDEzLTA2LTIxIDE1OjUxOjQ2IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBkZXRlY3QgcHJlc2VuY2Ugb2YgeG1sIGF0dHJpYnV0ZXMKCSAgQ29udmVydCBhbGwgeG1sIGF0dHJpYnV0ZS9jb250ZW50IHBhcnNpbmcgZnVuY3Rpb25zIHRvIHJldHVybiBhCgkgIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgYXR0cmlidXRlL2NvbnRlbnQgd2FzCgkgIHByZXNlbnQuICBXZSBuZWVkIHRoaXMgZmluZXItZ3JhaW5lZCBjb250cm9sIGluIG9yZGVyIHRvIHByb3Blcmx5CgkgIGltcGxlbWVudCB0aGUgaW5oZXJpdGFuY2UgcG9saWNpZXMgZGVzY3JpYmVkIGluIHRoZSBzcGVjCgkgIEFsc28gZml4ZWQgc2V2ZXJhbCBtZW1vcnkgbGVhayBjb25kaXRpb25zIHdoZW4gaGFuZGxpbmcgZXJyb3JzIGluCgkgIHRoZSB4bWwgYXR0cmlidXRlL2NvbnRlbnQgcGFyc2luZyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2NzcKCjIwMTMtMDctMDIgMjE6MzE6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGNoYW5nZSBkZWJ1ZyBtZXNzYWdlIGZyb20gd2FybmluZyB0byBpbmZvCgkgIEl0IGlzbid0IGEgd2FybmluZy9pc3N1ZS4KCjIwMTMtMDctMDIgMjE6Mjg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByb3RlY3QgZnJvbSBhY2Nlc3MgdG8gZW1wdHkgbGlzdCBkYXRhCgkgIENoZWNrIGlmIHRoZSBsaXN0IGhhcyBlbGVtZW50cyBiZWZvcmUgdHJ5aW5nIHRvIGFjY2VzcyB0aGUgbGFzdCBvbmUKCSAgYW5kIGNhdXNpbmcgYSBzZWdmYXVsdAoKMjAxMy0wNy0wMiAyMzoxNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTaW1wbGlmeSBsb2NraW5nIHRvIGZpeCBkZWFkbG9ja3MKCSAgVXNlIG9iamVjdCBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGVzIGZyb20gY29uY3VycmVudCBhY2Nlc3MgYW5kCgkgIHVzZSBkb3dubG9hZF9sb2NrIHRvIG9ubHkgYWxsb3cgb25lIGRvd25sb2FkIHJ1bm5pbmcKCjIwMTMtMDctMDIgMTY6MDQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3RlY3QgYWdhaW5zdCBmYWlsZWQgaGVhZGVyIGRvd25sb2FkcwoJICBBdm9pZHMgY3JpdGljYWxzIHdoZW4gZG93bmxvYWRlZCBmcmFnbWVudCBpcyBOVUxMCgoyMDEzLTA3LTAzIDEzOjU5OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTc6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1NzozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTY6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbGlicy9tcGVndHM6IFJlbmFtZSBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgkgIFNvcnJ5IGZvciB0aGlzIDooIEJ1dCB0aGlzIG1ha2VzIGl0IG1vcmUgaW4gc3luYyB3aXRoIGV4cGVjdGVkIHR5cGUKCSAgbmFtaW5nIGluIGdvYmplY3QgKGkuZS4gQ2FtZWxDYXNlIGFuZCBub3QgQ2FtZWxNQVlCRUNhc2UpLgoJICBBbHNvIHNwbGl0IGRlc2NyaXB0b3IgdHlwZSBlbnVtcyBpbnRvIHRoZSBkaWZmZXJlbnQgdmFyaWFudHM6CgkgICogSVNPIEguMjIyLjAgLyAxMzgxOC0xIChpLmUuIHN0YW5kYXJkIG1wZWctdHMpCgkgICogRFZCCgkgICogQVRTQwoJICAqIElTREIKCSAgKiBtaXNjZWxsYW5lb3VzCgkgIFRoaXMgd2lsbCBhdm9pZCBmdXR1cmUgY2xhc2hlcyB3aGVuIHNwZWNzIHVzZSB0aGUgc2FtZSBkZXNjcmlwdG9yIHR5cGUKCjIwMTMtMDctMDEgMDg6MzU6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgYW4gZXhhbXBsZSBvZiBhIG1wZWctdHMgU0kgZXh0cmFjdG9yCgkgIFNlcnZlcyBhcyBhbiBleGFtcGxlIG9mIHVzYWdlIG9mIHRoZSBuZXcgbXBlZ3RzIGxpYnJhcnkgZnJvbSBhbgoJICBhcHBsaWNhdGlvbi4KCSAgV2lsbCBwYXJzZS9kdW1wIGFsbCBzZWN0aW9ucyByZWNlaXZlZCBvbiBhIGJ1cy4KCSAgVXNhZ2UgaXMgLi90c3BhcnNlIDxhbnkgZ3N0LWxhdW5jaCBsaW5lIHVzaW5nIHRzZGVtdXggb3IgdHNwYXJzZT4KCSAgRXhhbXBsZXM6CgkgIC4vdHNwYXJzZSBmaWxlOi8vL3NvbWUvbXBlZ3RzZmlsZSAhIHRzcGFyc2UgISBmYWtlc2luawoJICAuL3RzcGFyc2UgZHZiOi8vQ0hBTk5FTCAhIHRzcGFyc2UgISBmYWtlc2luawoJICAuL3RzcGFyc2UgcGxheWJpbiB1cmk9ZHZiOi8vQ0hBTk5FTAoJICAuL3RzcGFyc2UgcGxheWJpbiB1cmk9ZmlsZTovLy9zb21lL21wZWd0c2ZpbGUKCSAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDQ6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogU3dpdGNoIHRvIE1QRUctVFMgU0kgbGlicmFyeQoJICBBbHNvIHNlcnZlcyBhcyBhbiBleGFtcGxlIG9mIHVzaW5nIG1wZWd0cyBsaWJyYXJ5IGZyb20gYSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0MzoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN3aXRjaCB0byBNUEVHLVRTIFNJIGxpYnJhcnkKCSAgKiBPbmx5IG1wZWctdHMgc2VjdGlvbiBwYWNrZXRpemF0aW9uIHJlbWFpbnMuCgkgICogSW1wcm92ZSBjb2RlIHRvIGRldGVjdCBkdXBsaWNhdGVkIHNlY3Rpb25zIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgkgICogQWRkIEZJWE1FIGZvciB2YXJpb3VzIGlzc3VlcyB0aGF0IG5lZWQgZml4aW5nIChidXQgYXJlIG5vdCByZWdyZXNzaW9ucykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0MToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIGdzdC1saWJzOiBOZXcgTXBlZy1UUyBzdXBwb3J0IGxpYnJhcnkKCSAgRXhwb3NlcyB2YXJpb3VzIE1QRUctVFMgKElTTy9JRUMgMTM4MTgtMSkgYW5kIERWQiAoRU4gMzAwIDQ2OCkgU2VjdGlvbgoJICBJbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIGRlc2NyaXB0b3JzIGZvciB1c2FnZSBieSBwbHVnaW5zIGFuZCBhcHBsaWNhdGlvbnMuCgkgIFRoaXMgcmVwbGFjZXMgZW50aXJlbHkgdGhlIG9sZCBHc3RTdHJ1Y3R1cmUtYmFzZWQgc3lzdGVtIGZvciBjb252ZXlpbmcKCSAgbXBlZy10cyBpbmZvcm1hdGlvbiB0byBhcHBsaWNhdGlvbnMgYW5kIG90aGVyIHBsdWdpbnMuCgkgIFBhcnNpbmcgYW5kIHZhbGlkYXRpb24gaXMgZG9uZSBvbiBhICJ3aGVuLW5lZWRlZCIgYmFzaXMuIFRoaXMgZW5zdXJlcwoJICB0aGUgbWluaW1hbCBvdmVyaGVhZCBmb3IgZWxlbWVudHMgYW5kIGFwcGxpY2F0aW9ucyBjcmVhdGluZyBhbmQgdXNpbmcKCSAgc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzLgoJICBTaW5jZSBhbGwgaW5mb3JtYXRpb24gaXMgbWFkZSBhdmFpbGFibGUsIHRoaXMgYWxzbyBhbGxvd3MgYXBwbGljYXRpb25zCgkgIHRvIHBhcnNlIGN1c3RvbSBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMuCgkgIFJpZ2h0IG5vdyB0aGUgbGlicmFyeSBpcyB0YXJnZXRlZCB0b3dhcmRzIHBhcnNpbmcsIGJ1dCB0aGUgc3RydWN0dXJlcwoJICBjb3VsZCBiZSB1c2VkIGluIHRoZSBmdXR1cmUgdG8gYWxsb3cgYXBwbGljYXRpb25zIHRvIGNyZWF0ZSBhbmQgaW5qZWN0CgkgIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycyAoZm9yIHVzYWdlIGJ5IHZhcmlvdXMgbXBlZy10cyBlbGVtZW50cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMTAgMTg6MDE6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSGFuZGxlIGNhc2Ugd2l0aG91dCBhbiBpbml0aWFsaXphdGlvbiBzZWdtZW50CgkgIElmIG5vIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgaXMgZGVmaW5lZCwgdGhlbiBkb24ndCBwcmludCBhCgkgIGNyaXRpY2FsIG9yIGEgd2FybmluZywganVzdCBpZ25vcmUgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NjEKCjIwMTMtMDctMDEgMTg6MjI6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBzYXZlIDEgb3IgMiBzdHJpbmcgY29waWVzIHdoZW4gZ2V0dGluZyBmcmFnbWVudCB1cmlzCgkgIE9ubHkgY3JlYXRlIG5ldyBzdHJpbmcgaWYgcmVxdWlyZWQsIHNhdmluZyBtYXliZSAxIG9yIDIgc3RyIGNvcGllcyBwZXIKCSAgZnJhZ21lbnQuCgoyMDEzLTA3LTAxIDE4OjE1OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCB1cmlkb3dubG9hZGVyIGxpYiB0byBndGstZG9jIGxpYnMKCSAgZml4ZXMgcnVudGltZSBsaW5raW5nIGVycm9yIG9uIHdpbmRvd3MKCjIwMTMtMDctMDEgMTc6NTA6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZWFjaCBmcmFnbWVudCBjYW4gaGF2ZSBpdHMgb3duIGluZGV4CgkgIFJldHVybiBpbmRleCBVUkkvcmFuZ2UgdG8gZGFzaGRlbXV4IGZyb20gdGhlIG1wZHBhcnNlciB0byBiZSBhYmxlCgkgIHRvIGRvd25sb2FkIGFuZCBkZWxpdmVyIHRoZW0gZG93bnN0cmVhbSBmb3IgcGxheWJhY2suCgoyMDEzLTA3LTAxIDEzOjE5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSB0b3AtbGV2ZWwgaW5kZXggdXJscwoJICBQYXJzZSBhbmQgcHJvdmlkZSBhY2Nlc3MgdG8gdG9wLWxldmVsIGluZGV4IHNlZ21lbnRzIGlmIGF2YWlsYWJsZS4KCSAgZGFzaGRlbXV4IHNob3VsZCBwdXNoIHRob3NlIHdoZW5ldmVyIGEgaGVhZGVyIGlzIHB1c2hlZC4KCSAgRml4ZXMgIzcwMDQ4OQoKMjAxMy0wNS0wNiAxNzowODo1NCAtMDQwMCAgQXJ0aHVyIFNoaXBrb3dza2kgPGFydEB2aWRlb24tY2VudHJhbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBGaXggY3JpdGljYWwgZXJyb3Igb3V0cHV0IHdoZW4gSW5pdGlhbGl6YXRpb24gaGFzIG5vIFVSTAoJICBJc3N1ZSBldmluY2VkIGJ5CgkgIGh0dHA6Ly95dC1kYXNoLW1zZS10ZXN0LmNvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Nhci0yMDEyMDgyNy1tYW5pZmVzdC5tcGQKCSAgd2hpY2ggcHJvZHVjZXMgb3V0cHV0IGxpa2UgKiogKGdzdC1sYXVuY2gtMS4wOjgwNjApOiBDUklUSUNBTCAqKjoKCSAgZ3N0X21wZHBhcnNlcl9nZXRfaW5pdGlhbGl6YXRpb25VUkw6IGFzc2VydGlvbiBgSW5pdGlhbGl6YXRpb25VUkwtPnNvdXJjZVVSTAoJICAhPSBOVUxMJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQ4OQoKMjAxMy0wNy0wMSAxNDozNTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJldmVudCBjcmFzaCBieSBjaGVja2luZyBpZiB0aGUgc2VnbWVudCBub2RlIGlzIHByZXNlbnQKCSAgRG8gbm90IHRyeSB0byBhY2Nlc3MgcmFuZ2UgZGF0YSBpZiB0aGVyZSBpcyBubyBzZWdtZW50IG5vZGUKCjIwMTMtMDYtMjUgMTg6MzQ6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoX2RlYnVnLmg6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogdXNlIHNhbWUgZGVidWcgY2F0ZWdvcnkgZm9yIGRhc2hkZW11eCBhbmQgdGhlIG1wZCBwYXJzZXIKCSAgTWFrZXMgZGVidWdnaW5nIGVhc2llcgoKMjAxMy0wNi0yMCAwMzo1MjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmFuZ2UgYmFzZWQgc2VnbWVudHMKCSAgVXNlIHRoZSBtZWRpYVJhbmdlIGluZm9ybWF0aW9uIGFuZCBwYXNzIGl0IHRvIHRoZSB1cmlkb3dubG9hZGVyCgkgIHRvIGNvcnJlY3RseSBkb3dubG9hZCBvbmx5IHRoZSBzZWdtZW50IHJhbmdlcyBpbmRpY2F0ZWQgaW4gdGhlCgkgIE1QRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA2LTE5IDE4OjI4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogYWRkIHN1cHBvcnQgZm9yIHJhbmdlIGJhc2VkIGRvd25sb2FkcwoJICBBZGRzIGEgbmV3IEFQSSBnc3RfdXJpX2Rvd25sb2FkZXJfZmV0Y2hfdXJpX3dpdGhfcmFuZ2UgdGhhdCBhbGxvd3MKCSAgZG93bmxvYWRpbmcgb25seSBhIGJ5dGUgcmFuZ2UgZnJvbSBhbiBVUkkuIEl0IHVzZXMgYSBzZWVrIGV2ZW50CgkgIHNlbnQgdG8gdGhlIHNvdXJjZSB0byBzaWduYWwgdGhlIHJhbmdlIHRvIGJlIGRvd25sb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDMtMDkgMDE6NDk6MjMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBGaXggdGhlIHJldHVybiB2YWx1ZSB0eXBlIGZvciB0aGUgU0VJIHBhbHlsb2FkIHBhcnNpbmcgbWV0aG9kcy4KCSAgVGhlIHJldHVybiB2YWx1ZSB0eXBlIG9mIFNFSSBwYXlsb2FkIHBhcnNpbmcgZnVuY3Rpb25zCgkgIGFyZSBHc3RIMjY0UGFyc2VyUmVzdWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDc1CgoyMDEzLTA2LTI4IDIwOjE1OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IERvbid0IHJlcXVpcmUgYSBrZXkgaWYgYm90aCBhdXRoIGFuZCBjaXBoZXIgYXJlIG51bGwKCjIwMTMtMDYtMjggMjA6MzI6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwOiBNb3ZlIHRoZSBlbnVtcyB0byB0aGUgY29tbW9uIGhlYWRlcgoJICBUaGUgdHlwZXMgYXJlIHVzZWQgaW4gYm90aCB0aGUgZW5jb2RlciBhbmQgZGVjb2RlcgoKMjAxMy0wNi0yOCAyMDoxMzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogUmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEzLTA2LTI4IDEyOjI1OjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBhZGQgdGhlIGJ1aWxkIHByZWZpeCBwYXRoIGluIHRoZSBzZWFyY2ggZGlycwoKMjAxMy0wNi0yNSAxMDoyNjoyNCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQ2xlYW51cCBtZW1vcnkgYWxsb2NhdGlvbi9kZWFsbG9jYXRpb24KCSAgRW5zdXJlIHRoYXQgZ19mcmVlL3htbEZyZWUgaXMgdXNlZCBjb3JyZWN0bHkgYmFzZWQgb24gaG93IHRoZQoJICBtZW1vcnkgd2FzIGFsbG9jYXRlZC4KCSAgV2hlbiBkZWFsbG9jYXRpbmcgR0xpc3RzLCB0aGVyZSB3ZXJlIG1hbnkgcGxhY2VzIHRoYXQgd2VyZSB1c2luZwoJICBnX2xpc3RfZm9yZWFjaCBhbmQgZ19saXN0X2ZyZWUuICBDb252ZXJ0ZWQgdGhlc2Ugb2NjdXJyZW5jZXMgdG8KCSAgY2FsbCBnX2xpc3RfZnJlZV9mdWxsLgoJICBBZGQgTlVMTCBjaGVja3MgdG8gYWxsIHhtbEZyZWUgY2FsbHMgc2luY2UgdGhlIGRvY3VtZW50YXRpb24gZG9lcwoJICBub3QgZ3VhcmFudGVlIHRoYXQgcGFzc2luZyBOVUxMIGlzIHNhZmUKCSAgSW4gcGxhY2VzIHdoZXJlIHdlIGFyZSBzdHJkdXAnaW5nIG1lbW9yeSBhbGxvY2F0ZWQgYnkgbGlieG1sMiwKCSAgY2hhbmdlZCB0aG9zZSBjYWxscyB0byB1c2UgeG1sTWVtU3RyZHVwKCkuCgkgIFRoZXJlIHdlcmUgc2V2ZXJhbCBwbGFjZXMgd2hlcmUgd2Ugd2VyZSBtaXNzaW5nIGdfc2xpY2VfZnJlZSB3aGVuCgkgIGRlYWxsb2NhdGluZyBhIHRvcC1sZXZlbCBub2RlIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgzNwoKMjAxMy0wNi0yNCAxMzowMjo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEV4dGVuZCBsaXN0IG9mIGtub3duIGRlc2NyaXB0b3JzCgkgIEFkZCB0aGUgdmFyaW91cyBBVFNDIG9uZXMKCjIwMTMtMDYtMjQgMDg6MjQ6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogT25seSB3YXJuIGZvciBhZGRlZCBzdHJlYW1zIHdoZW4gbmVlZGVkCgkgIFdlIHVzZSBhZGRfc3RyZWFtKHN0cmVhbV90eXBlOi0xKSB0byBlbnN1cmUgYSBwcm9ncmFtcycgUENSIFN0cmVhbSBpcwoJICBhbHNvIHRha2VuIGludG8gYWNjb3VudC4gRm9yIG1vc3QgcHJvZ3JhbXMgdGhpcyB3aWxsIHJlLXVzZSBhbgoJICBleGlzdGluZyBFUyBzdHJlYW0uCgkgIFNvIG9ubHkgd2FybiB0aGF0IHdlIGFyZSByZS1hZGRpbmcgYSBzdHJlYW0gaWYgaXQgd2FzIGFscmVhZHkgcHJlc2VudAoJICBBTkQgaXQgaXMgbm90IHRvIGVuc3VyZSB0aGUgUENSIHN0cmVhbSBpcyB0YWtlbiBpbnRvIGFjY291bnQuCgoyMDEzLTA2LTIzIDE1OjEyOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkIHVwIHNlY3Rpb24gcGFyc2luZwoJICBPbmx5IGNyZWF0ZSBzdWJ0YWJsZXMgd2hlbiBuZWVkZWQuIEl0IHdhcyBwcmV2aW91c2x5IGNyZWF0aW5nIG9uZSBldmVyeQoJICBzaW5nbGUgdGltZSAuLi4gdG8gY2hlY2sgaWYgb25lIHdhcyBwcmVzZW50LgoJICBBbmQgc3BlZWQgdXAgY29kZSB0byBkZXRlY3Qgd2hldGhlciBhIHN1YnRhYmxlIHdhcyBhbHJlYWR5IHByZXNlbnQgb3Igbm90LgoJICBPdmVyYWxsIG1ha2VzIHNlY3Rpb24gcHVzaGluZyAyIHRpbWVzIGZhc3Rlci4KCjIwMTMtMDYtMjQgMDc6NDA6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBFeHRlbmQgbGlzdCBvZiBrbm93biBkZXNjcmlwdG9ycwoJICBGcm9tIElUVS1UIEgyMjIuMCAoMDYvMjAxMikuIEZyZWVseSBhdmFpbGFibGUgZnJvbSBpdHUuaW50CgoyMDEzLTA2LTIzIDE1OjI2OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkdXAgcGFja2V0IHBhcnNpbmcKCSAgQXZvaWQgdXNpbmcgYml0c2hpZnRpbmcgd2hlcmUgbm90IG5lZWRlZC4KCSAgU3BlZWRzIHVwIHBhY2tldCBwYXJzaW5nIGJ5IDMlICh0aGlzIGlzICp0aGUqIGhvdHNwb3Qgb2YgbXBlZy10cyBlbGVtZW50cykuCgoyMDEzLTA2LTIyIDA4OjU3OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogRml4IGd0ay1kb2MKCSAgRGV0ZWN0ZWQgYnkgaW5pdGlhbCBwcmUtcnVuIG9mIGdpLXNjYW5uZXIuCgoyMDEzLTA2LTIzIDExOjI5OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5oOgoJICBkYWFsYWRlYzogQWRkIGRlY29kZXIgZWxlbWVudAoKMjAxMy0wNi0yMyAxMDowNDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5oOgoJICBkYWFsYWVuYzogQWRkIGVuY29kZXIgZWxlbWVudAoKMjAxMy0wNi0yMiAxMToyNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kYWFsYS9NYWtlZmlsZS5hbToKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuaDoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5oOgoJICBkYWFsYTogSW5pdGlhbCB2ZXJzaW9uIG9mIGEgRGFhbGEgcGx1Z2luCgoyMDEzLTA2LTIzIDA5OjA1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJICBzcnRwOiBGaXggZGlzdAoJICBUaGUgZW51bXMgc2hvdWxkIG5vdCBiZSBkaXN0LWVkIGFuZCBpbnN0ZWFkIGJlIHJlLWdlbmVyYXRlZCB3aGVuCgkgIGNvbXBpbGluZy4KCjIwMTMtMDYtMTkgMjA6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQmV0dGVyIGRldGVjdCBhbHJlYWR5IHNlZW4gc2VjdGlvbgoJICBJbiBzb21lIGNhc2VzIChOSVQgb24gaGlnaGx5LXBvcHVsYXRlZCBEVkItQyBvcGVyYXRvciBmb3IgZXhhbXBsZSksIHRoZXJlCgkgIHdpbGwgYmUgbW9yZSB0aGFuIG9uZSBzZWN0aW9uIGVtaXR0ZWQgZm9yIHRoZSBzYW1lIHN1YnRhYmxlIGFuZCB2ZXJzaW9uCgkgIG51bWJlci4KCSAgSW4gb3JkZXIgbm90IHRvIGxvc2UgdGhvc2UgdXBkYXRlcyBmb3IgdGhlIHNhbWUgdmVyc2lvbiBudW1iZXIsIHdlIGNoZWNrZWQKCSAgYWdhaW5zdCB0aGUgQ1JDIG9mIHRoZSBwcmV2aW91cyBzZWN0aW9uIHdlIHBhcnNlZC4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCwgd2hpbGUgaXQgbWFkZSBzdXJlIHdlIGRpZG4ndCBsb3NlIGFueSBpbmZvcm1hdGlvbiwgaXQKCSAgYWxzbyBtZWFudCB0aGF0IGlmIHRoZSBzYW1lIHNlY3Rpb24gY2FtZSBiYWNrIChzYW1lIHZlcnNpb24sIHNhbWUgQ1JDKSBsYXRlcgoJICBvbiB3ZSB3b3VsZCByZS1wcm9jZXNzIGl0LCByZS1wYXJzZSBpdCBhbmQgcmUtZW1pdCBpdC4KCSAgVGhpcyB2ZXJzaW9uIGltcHJvdmVzIG9uIHRoYXQgYnkga2VlcGluZyBhIGxpc3Qgb2YgcHJldmlvdXNseSBvYnNlcnZlZCBDUkMKCSAgZm9yIGlkZW50aWNhbCBQSUQvc3VidGFibGUvdmVyc2lvbi1udW1iZXIgYW5kIHdpbGwgb25seSBwcm9jZXNzIHNlY3Rpb25zIGlmCgkgIHRoZXkgcmVhbGx5IHdlcmUgbmV2ZXIgc2VlbiBpbiB0aGUgcGFzdCAoYXMgb3Bwb3NlZCB0byBqdXN0IGJlZm9yZSkuCgkgIE9uIGEgMzBzIGNsaXAsIHRoaXMgYnJpbmdzIGRvd24gdGhlIG51bWJlciBvZiBOSVQgc2VjdGlvbiBwYXJzaW5nIGZyb20gNDU0MQoJICBkb3duIHRvIDY2My4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDQ3OQoKMjAxMy0wNi0yMCAyMjoxMjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkgIHdpbnNjcmVlbmNhcDogSW5pdGlhbCBwb3J0IHRvIDEuMAoKMjAxMy0wNi0yMCAwOTo1MjozMSArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggY29weWluZyBvZiByYXcgdmlkZW8gZnJhbWVzIG9uIFNhbXN1bmcgR2FsYXh5IFMzIHdpdGggRXh5bm9zIDQgU09DCgoyMDEzLTA2LTE5IDEyOjUyOjUyIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IHVucmVmIGJ1ZmZlciBpZiBubyBjbGllbnRzIGFyZSBjb25uZWN0ZWQKCSAgSWYgbm8gY2xpZW50IGhhcyByZWNlaXZlZCB0aGUgY29tbWFuZCwgdW5yZWYgdGhlIGJ1ZmZlci4gVGhpcyB3aWxsCgkgIG1ha2Ugc3VyZSB0aGF0IHRoZSBzaGFyZWQgbWVtb3J5IGFyZWEgZG9lcyBub3QgZ2V0IGZpbGxlZCB3aXRoIGJ1ZmZlcnMKCSAgbm8gb25lIGtub3dzIGFib3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjg0CgoyMDEzLTA2LTE5IDE5OjI5OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkIHVwIE5JVCBwYXJzaW5nCgkgIEF2b2lkIGR1cGxpY2F0aW5nIHRoZSBkZWxpdmVyeSBzdHJ1Y3R1cmUsIGFuZCBpbnN0ZWFkIGdpdmUgaXQgdG8gdGhlCgkgIHJlY2VpdmluZyBjb250YWluZXIuCgoyMDEzLTA2LTA3IDEyOjUzOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogc2ltcGxpZnkgY29kZQoJICBXZSBkb24ndCBuZWVkIGdlbmVyaWMgbWV0aG9kcyBmb3IgcHVzaC9mbHVzaCBzaW5jZSB3ZSBrbm93IGFsbCB0aGUKCSAgc3ViY2xhc3MgdGhhdCB3ZSBjb250cm9sCgoyMDEzLTA2LTA1IDE1OjUxOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IGZvciBjb21waWxpbmcgd2l0aG91dCBHU1RfREVCVUcKCSAgUHJvdGVjdCBkZWJ1Zy1vbmx5IHZhcmlhYmxlcy91c2FnZSwgYW5kIGluIG9uZSBjYXNlIHJlbW92ZSBhIHVzZWxlc3MKCSAgdmFyaWFibGUuCgoyMDEzLTA2LTE3IDA4OjE1OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogRW5zdXJlIGluaXRpYWwgZXZlbnRzIGFyZSBzZW50IGluIHRoZSByaWdodCBvcmRlcgoJICBGaXJzdCBzZW5kIHN0cmVhbS1zdGFydCwgdGhlbiBjYXBzLCB0aGVuIHNlZ21lbnQuCgkgIFRoZSBzZWdtZW50IHdlIHB1c2ggaXMgZnJvbSB1cHN0cmVhbSBpbiBwdXNoLW1vZGUuIElmIHdlIHdvcmsgaW4gcHVsbC1tb2RlCgkgIHRoZW4gd2UgaW5pdGlhbGl6ZSB0aGUgYmFzZSBzZWdtZW50IHRvIEJZVEVTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDIyCgoyMDEzLTA2LTE4IDEyOjI5OjQxIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IHByb3BhZ2F0ZSBldmVudHMgdG8gYmFzZXNpbmsgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjU5NwoKMjAxMy0wNi0xOCAxMzo0Nzo1NCArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kOiBBZGQgc3VwcG9ydCBmb3IgUkdCeCBhbmQgUkdCQSBmb3JtYXRzCgkgIFdheWxhbmQgaW50ZXJmYWNlIGNvdWxkIG9mZmVyIHR3byBidWZmZXJzIHBpeGVscyBmb3JtYXRzOiBXTF9TSE1fRk9STUFUX1hSR0I4ODg4IGFuZCBXTF9TSE1fRk9STUFUX0FSR0I4ODg4LgoJICBVcGRhdGUgd2F5bGFuZHNpbmsgdG8gc3VwcG9ydCB0aGVtIGFuZCBjaGVjayBpZiB0aGUgZm9ybWF0IGlzIHJlYWxseSBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxMTIKCjIwMTMtMDYtMTggMTI6NDY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBmaXggQ0ZMQUdTIG9yZGVyIGFuZCBhZGQgcGx1Z2lucyBiYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ1hYRkxBR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjI5NwoKMjAxMy0wNi0xNSAwMDoxMjoxOCArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkgIG9wZW5jdjogZml4ZXMgYnVpbGQgYnkgbW92aW5nIHRoZSBjKysgaGVhZGVyIHRvIGdzdHNlZ21lbnRhdGlvbi5jcHAKCSAgRml4ZXM6CgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBnc3RzZWdtZW50YXRpb24uaDo1MTowLAoJICBmcm9tIGdzdG9wZW5jdi5jOjQyOgoJICAvdXNyL2luY2x1ZGUvb3BlbmN2Mi92aWRlby9iYWNrZ3JvdW5kX3NlZ20uaHBwOjQ3OjE2OiBmYXRhbCBlcnJvcjogbGlzdDoKCSAgTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8bGlzdD4KCSAgXgoJICBjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjk3CgoyMDEzLTA2LTE4IDEzOjMzOjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogZml4IHJlbGVhc2Ugb2YgbnVsbCBwb2ludGVyCgoyMDEzLTA2LTE4IDEzOjE3OjUyICswMjAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogY29yZW1lZGlhYnVmZmVyOiBmaXggbGVha2luZyBvZiBhcHBsZSBtZWRpYSBzdHJ1Y3RzCgkgIHJlbWVtYmVyIHRvIHJlbGVhc2UgdGhlIGFwcGxlJ3MgYXBpIGJ1ZmZlcnMgdG8gYXZvaWQgaHVnZSBsZWFraW5nCgoyMDEzLTA2LTE4IDEzOjAyOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IG1vdmUgZGVmaW5lcyB0byBDUFBGTEFHUyBmb3Igb2JqLWMgZmlsZXMKCjIwMTMtMDYtMTEgMTE6NTQ6NDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBmaXggYXVkaW9jYXB0dXJlIHByb2R1Y2luZyBzaWxlbmNlCgkgIENvbmZpZ3VyZSB0aGUgY2FwdHVyZSBsYXRlbmN5IHVzaW5nIHRoZSBJQU1CdWZmZXJOZWdvdGlhdGlvbgoJICBpbnRlcmZhY2UgYW5kIHRyeSB0byByZXNwZWN0IHRoZSBjb25maWd1cmVkIGxhdGVuY3ktdGltZSBhbmQgYnVmZmVyLXRpbWUKCjIwMTMtMDYtMTQgMTQ6NTI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE1ha2Ugc3VyZSB0aGUgYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSB3ZSBhZGQgdGhlIE1QRUcgdmlkZW8gbWV0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTc0CgoyMDEzLTA2LTEzIDEzOjM0OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBGaXggc29tZSBhdXRvbWFrZSB3YXJuaW5ncwoKMjAxMy0wNS0yNyAyMjoyMjozMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggTTJUUyBzdHJlYW0gcmVzeW5jCgkgIFN5bmMgYnl0ZSBzY2FuIGlzIGluY29ycmVjdCBmb3IgTTJUUyBzdHJlYW1zIGJlY2F1c2UgdGhlIHRpbWVzdGFtcCA0CgkgIGJ5dGVzIHdlcmUgbm90IGluY2x1ZGVkIGluIHRoZSBmbHVzaCBzaXplLiBUaGlzIGNhbiByZXN1bHQgaW4gYW4KCSAgaW5maW5pdGUgbG9vcC4KCSAgUmV3b3JrIHRoZSBzY2FuIGNvZGUgdG8gYmUgY2xlYXJlciBhbmQgd29yayBpbiBhbGwgY2FzZXMuCgoyMDEzLTA1LTI0IDEwOjU5OjU1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG1vdmUgc29tZSBkZWJ1ZyBwcmludHMgYXQgdGhlIGxvZyBsZXZlbAoKMjAxMy0wNS0yNCAxMDo1OTo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4ZXMgc2Vla2luZyBpbiBwdWxsIG1vZGUKCSAgUHJlc2VydmUgdGhlIGN1cnJlbnQgc2VnbWVudCBhbmQgb2JzZXJ2YXRpb25zIGluIHB1bGwgbW9kZSBzZWVrcyB3aXRoCgkgIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MDUwCgoyMDEzLTA2LTExIDE5OjQ1OjMxICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IHJlbW92ZWQgYW4gaW5jb3JyZWN0IGFzc2VydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDM2CgoyMDEzLTA2LTExIDE0OjMyOjQzICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkgIG9wZW5jdjogYWRkIGZvcmVncm91bmQvYmFja2dyb3VuZCBzZWdtZW50YXRpb24gZWxlbWVudAoJICBBZGQgYW4gZWxlbWVudCB0byB0aGUgb3BlbmN2IHBsdWdpbiBmb3IgZm9yZWdyb3VuZy9iYWNrZ3JvdW5kIGltYWdlCgkgIHNlcXVlbmNlIHNlZ21lbnRhdGlvbiwgdXNpbmcgb25lIG91dCBvZiAzIGFsZ29yaXRobXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MjEKCjIwMTMtMDYtMTAgMTc6MDA6NDIgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCB2aWRlby1zb3VyY2UtZmlsdGVyIGR1cmluZyBjb25zdHJ1Y3Rpb24KCSAgQnkgYWRkaW5nIHRoZSB2aWRlby1zb3VyY2UtZmlsdGVyIGR1cmluZyBjb25zdHJ1Y3Rpb24gdGltZSwgcmF0aGVyIHRoZW4KCSAgcGF0Y2hpbmcgaXQgaW4gbGF0ZXIgKCopLCB3ZSBjYW4gZ3JlYXRseSByZWR1Y2UgdGhlIGFtb3VudCBvZiBjYXBzIGludm9sdmVkCgkgIGluIG5lZ290YXRpb24sIHNwZWVkaW5nIHVwIHBpcGVsaW5lIGNyZWF0aW9uLgoJICBJIHdyb3RlIHRoaXMgd2hpbGUgd29ya2luZyBvbiBzcGVlZGluZyB1cCB0aGUgc3RhcnR1cCBvZiBjaGVlc2UuIE15IGNoZWVzZQoJICBoYXMgYmVlbiBtb2RpZmllZCB0byBhZGQgYSBjYXBzZmlsdGVyLCBmaWx0ZXJpbmcgZm9yIG9ubHkgdGhlIGNvbmZpZ3VyZWQKCSAgcmVzb2x1dGlvbiwgd2l0aCB0aGF0IGNoZWVzZSBwYXRjaCArIHRoaXMgcGF0Y2gsIHRoZSBwaXBlbGluZSBjcmVhdGlvbiB0aW1lCgkgIGdvZXMgZnJvbSBhcHJveCAxLjEgc2Vjb25kcyB0byBhcHJveCAzNTBtcy4gVGhpcyBpcyB3aXRoIGEgTG9naXRlY2ggOTAwMAoJICBwcm8gY2FtZXJhLCB3aGljaCBzdXBwb3J0cyBsb3RzIG9mIGRpZmZlcmVudCByZXNvbHV0aW9ucyBhdCBtYW55IGRpZmZlcmVudAoJICBmcmFtZXJhdGVzIHBlciByZXNvbHV0aW9uLCBjYXVzaW5nIGEgY2FwcyAiZXhwbG9zaW9uIiBpZiBub3QgZmlsdGVyZWQuCgkgICopIE5vdGUgdGhlIGNvZGUgZm9yIHRoaXMgaXMgbGVmdCBpbiwgYXMgaXQgaXMgc3RpbGwgbmVjZXNzYXJ5IGlmIHRoZQoJICB2aWRlby1zb3VyY2UtZmlsdGVyIGlzIGNoYW5nZWQgYmV0d2VlbiBhIHN0b3AgKyByZS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk1MwoKMjAxMy0wNi0xMCAxODowMDoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE1ha2UgZ3N0LWluZGVudCBoYXBweQoKMjAxMy0wNi0xMCAxMDowNTo1NiArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBEb24ndCB1bnNldCB0aGUgdmlkZW8tc291cmNlIHByb3BlcnR5IG9uIHBpcGVsaW5lIHN0YXJ0CgkgIGNoZWNrX2FuZF9yZXBsYWNlX3NyYygpIHdhcyBzZXR0aW5nIHNlbGYtPmFwcF92aWRfc3JjIHRvIE5VTEwsIHdoaWNoCgkgIG1lYW5zIHRoYXQgYW4gYXBwIHNldHRpbmcgdGhlIHZpZGVvLXNvdXJjZSBwcm9wZXJ0eSwgYW5kIHRoZW4gc3RhcnRpbmcsCgkgIHN0b3BwaW5nIGFuZCByZS1zdGFydGluZyB0aGUgcGlwZWxpbmUgKGllIHRvIG1ha2UgY2hhbmdlcyB0byB0aGUKCSAgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eSkgd291bGQgYWZ0ZXIgdGhlIHJlc3RhcnQgbm8gbG9uZ2VyIGhhdmUKCSAgYSB2aWRlby1zb3VyY2UuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSBtYWtpbmcgZ3N0X2NhbWVyYWJpbl9zZXR1cF9kZWZhdWx0X2VsZW1lbnQgcmV0dXJuIGEKCSAgcmVmIHRvIHRoZSBwYXNzZWQgaW4gdXNlcl9lbGVtZW50LCByYXRoZXIgdGhlbiByZXR1cm5pbmcgdGhlIHVzZXJfZWxlbWVudCBhcwoJICBpcywgc28gdGhhdCB0aGF0IHJlZiBjYW4gYmUgcGFzc2VkIG9uIHRvIHRoZSBiaW4sIGFuZCB0aGUgYXBwX3ZpZF9zcmMgcmVmCgkgIHN0YXlzIHZhbGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTE1CgoyMDEzLTA2LTA4IDE0OjQ4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIHRoZSBSUGkgRUdMIGltcGxlbWVudGF0aW9uCgkgIEl0J3MgZml4ZWQgaW4gdGhlIGxhdGVzdCBmaXJtd2FyZSBzaW5jZSBhIGZldyB3ZWVrcy4KCjIwMTMtMDUtMDYgMTY6NTY6MDEgLTA0MDAgIEFydGh1ciBTaGlwa293c2tpIDxhcnRAdmlkZW9uLWNlbnRyYWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGlzc3VlIHdpdGggZ2V0IHJldHVybmluZyBhIHZhbHVlIGZvciBtYXgtYnVmZmVyaW5nLXRpbWUKCSAgSXQgd2FzIG5vdCBwcm9wZXJseSBkaXZpZGVkIGJ5IEdTVF9TRUNPTkRTLiBBbHNvIGZpeCBpc3N1ZSB3aXRoCgkgIG1heC1idWZmZXJpbmctdGltZSBiZWluZyBtdWx0aXBsaWVkIGJ5IEdTVF9TRUNPTkRTIGV2ZXJ5IHRpbWUgdGhlCgkgIHByb3BlcnR5IGlzIHJldHJpZXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQ4NwoKMjAxMy0wNi0wNyAxNToxODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICByZmI6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RQdXNoU3JjCgoyMDEzLTA2LTA3IDE0OjAxOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggc3RyaW5nIGNvbXBhcmlzb24KCjIwMTMtMDQtMDQgMTg6MjI6NTIgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBhY2NlcHQgSURfUFJJVkFURV9TVFJFQU1fMSB0byBhdm9pZCBsb29zaW5nIHN5bmMKCSAgQ3VycmVudCBmYWxsYmFjayB0byBsb3N0X3N5bmMgc2VlbXMgdG8gaW1wZWRlIGEgZGVsYXkgdG8gcmVzdG9yZQoJICBzeW5jLiBMZXQgdGhlIHBhcnNlciBwYXJzZSBhbmQgc2tpcCB0aGUgcHJpdmF0ZSBzdHJlYW0uCgkgIEhlcmUgaXQgY29udGFpbnMgdGhlIGRpZ2l0YWwgY2FtZXJhIGJyYW5kIChpbiAyMDEwIGJ5dGVzKQoJICBhbmQgaXMgcmVwZWF0ZWQgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyODMKCjIwMTMtMDYtMDcgMTI6MTA6MDggKzAyMDAgIElseWEgU21lbHlraCA8aWx5YS5zbWVseWtoQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogV2FpdCB1bnRpbCBTUFMvUFBTIGJlZm9yZSBvdXRwdXR0aW5nIGFueSBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDYzMjcKCjIwMTMtMDYtMDcgMTQ6MDY6NTYgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhY2tzIGZvciBIdWF3ZWlNZWRpYVBhZCB3aGljaCByZXBvcnRzIHdyb25nIGNvbG9yIGZvcm1hdAoJICBDT0xPUl9Gb3JtYXRZQ2JZQ3IgaXMgcmVwb3J0ZWQgYnV0IGl0IGlzIGFjdHVhbGx5IENPTE9SX1RJX0Zvcm1hdFlVVjQyMFBhY2tlZFNlbWlQbGFuYXIuCgoyMDEzLTA2LTA1IDE2OjE2OjM2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IEZpeCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uCgkgIElnbm9yZSB0aGUgZGlzcGxheV9leHRlbnNpb24gdmFsdWVzIGlmIHRoZXkgYXJlIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGgvaGVpZ2h0CgkgIHZhbHVlcyBwcm92aWRlZCBieSBzZXFoZHIgYW5kIGNhbGN1bGF0ZSB0aGUgUEFSIGJhc2VkIG9uIHRoZSBzZXFoZHIgdmFsdWVzLlQKCSAgaGlzIGlzIHdoYXQgRFZEIHBsYXllcnMgYXJlIGRvaW5nLgoJICBUaGFua3MgdG8gIkRhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTEwMwoKMjAxMy0wNi0wNSAxODozNjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4xID09PQoKMjAxMy0wNi0wNSAxODoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMQoKMjAxMy0wNi0wNSAxODoyODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBBZGQgc29tZSBtaXNzaW5nIGhlYWRlcnMgdG8gZGlzdAoKMjAxMy0wNi0wNSAxODowMToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRhc2g6IEFkZCB0byBNYWtlZmlsZS5hbSBmb3IgbWFrZSBkaXN0CgoyMDEzLTA2LTA1IDE3OjQ5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IEFkZCB0byB0aGUgTWFrZWZpbGUuYW0gZm9yIGRpc3QKCjIwMTMtMDYtMDUgMTY6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNi0wNSAxNToyMDo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggbGVhawoJICBTaW5jZSB3ZSB3ZXJlIG1hbnVhbGx5IHNldHRpbmcgR1ZhbHVlIHRvIHRoZSBHVmFsdWVBcnJheSwgd2UgYWxzbyBuZWVkCgkgIHRvIHNwZWNpZnkgaG93IG1hbnkgd2VyZSBzZXQsIG90aGVyd2lzZSBhbGwgdmFsdWVzIGluIHRoZSBhcnJheSB3aWxsCgkgIGJlIGxlYWtlZC4KCjIwMTMtMDYtMDUgMTU6MTU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byAwMWE3YTQ2CgoyMDEzLTA2LTA1IDEzOjM5OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkdXAgVERUL1RPVCBwYXJzaW5nCgkgIFVzZSBxdWFya3Mgd2hlcmUgbmVlZGVkLCBtYWtlcyBpdCAyLjUgdGltZXMgZmFzdGVyCgoyMDEzLTA2LTA1IDEzOjIxOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBzdHJpbmcgbGVhawoJICBUaGUgZGVzY3JpcHRpb24vdGV4dCBnZXQgY29waWVkIGluIHRoZSBzdHJ1Y3R1cmUuCgoyMDEzLTA2LTA1IDEyOjQ5OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwZWVkIHVwIGRlc2NyaXB0b3IgcGFyc2luZy9wYWNraW5nCgkgIGRlc2NyaXB0b3JzIGFyZSBzdG9yZWQgYXMgYSBHVmFsdWVBcnJheSBvZiBHU3RyaW5nLiBUaGUgZG93bnNpZGUgaXMKCSAgdGhhdCB0aGVyZSBpcyBubyB3YXkgdG8gInBhc3MiIG93bmVyc2hpcCBvZiBhIEdWYWx1ZSB0byBhIEdWYWx1ZUFycmF5CgkgIHdoaWNoIHByZXZpb3VzbHkgcmVzdWx0ZWQgaW4gZXhwZW5zaXZlIGNvcHkvZnJlZSBvZiB0aGUgKGFscmVhZHkgZXhwZW5zaXZlKQoJICBHU3RyaW5nLgoJICBIZXJlIHdlIGVzdGltYXRlIGZpcnN0IHRoZSBzaXplIG9mIHRoZSBHVmFsdWVBcnJheSwgdGhlbiBjcmVhdGUgaXQsCgkgIHRoZW4gZGlyZWN0bHkgdXNlIHRoZSBHVmFsdWUgb2YgdGhhdCBhcnJheS4KCSAgU3BlZWRzIHVwIHRvdGFsIFNJIHBhcnNpbmcgYnkgfjMwJQoKMjAxMy0wNi0wNSAxMToyMToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZ3N0X3ZhbHVlX2xpc3RfYXBwZW5kX2FuZF90YWtlX3ZhbHVlCgkgIEF2b2lkcyBkb2luZyB0aGUgZXhwZW5zaXZlIGNvcHkgb2Ygc3RydWN0dXJlcy9hcnJheXMvLi4uCgkgIFNwZWVkcyB1cCBwYXJzaW5nIFNJIGJ5IGFib3V0IDUwJQoKMjAxMy0wNi0wNSAxMToyMDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCBjb3B5aW5nIEdWYWx1ZUFycmF5CgkgIEp1c3QgZ2l2ZSB0aGUgR1ZhbHVlQXJyYXkgdG8gdGhlIGNvbnRhaW5lciBHVmFsdWUuCgoyMDEzLTA1LTI5IDA5OjI1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIHNpZ25hbHByb2Nlc3NvciBkaXJlY3RvcnkKCjIwMTMtMDUtMjkgMDg6Mzc6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZWQgc2lnbmFscHJvY2Vzc29yIGZyb20gZG9jcy9saWJzL01ha2VmaWxlLmFtCgoyMDEzLTA1LTI4IDE1OjU0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IEluIHB1bGwgbW9kZSBkcm9wIFNFR01FTlQsIENBUFMgYW5kIFNUUkVBTV9TVEFSVCBldmVudHMKCSAgV2UgY3JlYXRlIGFuZCBzZW5kIG91ciBvd24gbGF0ZXIgZnJvbSBhbm90aGVyIHRocmVhZC4KCjIwMTMtMDUtMjggMTU6NTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMjggMDg6MDg6NDIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGxhZHNwYSBpcyBub3QgdXNpbmcgdGhpcyBhbnltb3JlCgkgIFdoZW4gd2UgcG9ydCBsdjIsIHdlJ2xsIGdvIHRoZSBzYW1lIHJvdXRlIGFzIHRoZSBuZXcgbGFkc3BhIHBsdWdpbi4KCjIwMTMtMDUtMjggMDc6NTM6MzcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGZpeCB0eXBvcyBpbiBsYXVuY2ggZXhhbXBsZXMKCjIwMTMtMDUtMjcgMjM6MDc6MTYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5oOgoJICBsYWRzcGE6IHVzZSB0aGUgcmVnaXN0cnkgY2FjaGUgZm9yIHBsdWdpbiBkZXRhaWxzCgkgIFNwbGl0IHRoZSBpbnRyb3NwZWN0aW9uIGFuZCByZWdpc3RyYXRpb24gcGFydC4gVGhpcyB3YXkgd2Ugb25seSBuZWVkIHRvIG9wZW4gYWxsCgkgIHBsdWdpbnMgd2hlbiB1cGRhdGluZyB0aGUgcmVnaXN0cnkuIFdoZW4gcmVhZGluZyB0aGUgcmVnaXN0cnkgd2UgY2FuIHJlZ2lzdGVyCgkgIHRoZSBlbGVtZW50cyBlbnRpZXJseSBmcm9tIHRoZSBjYWNoZS4KCjIwMTMtMDUtMjcgMTE6MjA6MDcgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSAgb3BlbmN2OiBBZGQgY29sb3VyIGltYWdlIGVuaGFuY2VtZW50IGVsZW1lbnQgYmFzZWQgb24gUmV0aW5leCBhbGdvcml0aG0KCSAgQWRkIGNvbG91ciBpbWFnZSBlbmhhbmNlbWVudCBlbGVtZW50IGJhc2VkIG9uIFJldGluZXggYWxnb3JpdGhtLiBUd28gdHlwZXMKCSAgZXhpc3QsIG5hbWVseSBiYXNpYyBhbmQgbXVsdGlzY2FsZTsgYm90aCBhcmUgZGVzY3JpYmVkIGluIHRoaXMgYXJ0aWNsZToKCSAgUmFobWFuLCBaaWEtdXIsIERhbmllbCBKLiBKb2Jzb24sIGFuZCBHbGVubiBBLiBXb29kZWxsLiAiTXVsdGktc2NhbGUgcmV0aW5leAoJICBmb3IgY29sb3IgaW1hZ2UgZW5oYW5jZW1lbnQuIiBJbWFnZSBQcm9jZXNzaW5nLCAxOTk2LiBQcm9jZWVkaW5ncy4sCgkgIEludGVybmF0aW9uYWwgQ29uZmVyZW5jZSBvbi4gVm9sLiAzLiBJRUVFLCAxOTk2CgkgIFZpc3VhbGx5IHNwZWFraW5nIHRoZSByZXN1bHQgbG9va3MgYSBiaXQgZnVubnksIGJ1dCBpcyBwcmV0dHkgaW52YXJpYWJsZSB0bwoJICBsaWdodG5pbmcgY2hhbmdlcywgd2hpY2ggaXMgZ29vZCBmb3Igc29tZSBhcHBsaWNhdGlvbnMsIGxpa2UgaW1hZ2UKCSAgc2VnbWVudGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTc3CgoyMDEzLTA1LTI2IDE0OjI5OjU0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4Lmg6CgkgIGF1ZGlvY2hhbm5lbG1peDogZmlsbCBpbiB0aGUgYXV0aG9yIHRlbXBsYXRlCgkgIFRoZSBjb3B5cmlnaHQgaGVhZGVyIHN0aWxsIGNvbnRhaW5lZCB0aGUgYXV0aG9yIHRlbXBsYXRlLgoKMjAxMy0wNS0yNSAxNToyNTo1NiArMDIwMCAgTWljaGFlbCBSdWJpbnN0ZWluIDxtcnViaW5zdGVpbkB3ZWF0aGVyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGcmVlIG1lbW9yeSBiZWhpbmQgR1N0cmluZyBpZiB3ZSBkb24ndCB1c2UgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDkwMwoKMjAxMy0wNS0yMyAxNDozMjowNyArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSAgY3VybHNtdHBzaW5rOiB0ZXJtaW5hdGUgdHJhbnNmZXIgdGhyZWFkIHByb3Blcmx5CgkgIElmIG5vIEVPUyBoYXMgYmVlbiBzZW50LCB0aGUgY3VybCByZWFkZnVuYyBjYWxsYmFjayB3aWxsCgkgIHJldHVybiBBQk9SVC4gVGhlIG1lZGlhIGZpbGUgaW4gdGhhdCBjYXNlIHdpbGwgbm90IGJlIHByb3Blcmx5CgkgIGZpbmFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg4NgoKMjAxMy0wNC0wOCAxNDo1OTo1NCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiB1cGRhdGUgd2luZG93IHdpZHRoL2hlaWdodCB3aGVuIGl0J3Mgbm90IGRvbmUgaW4gV25kUHJvYwoKMjAxMy0wNC0wNSAxNzo1OTo0MSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGRpcmVjdGRyd2FzaW5rOiBjYWxsIHByZXZpb3VzIFduZFByb2MgaWYgYW55CgoyMDEzLTA0LTA1IDE3OjI2OjU3ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHJlc3BlY3QgUEFSIHdpdGggY29vcmRpbmF0ZXMKCjIwMTMtMDQtMjUgMTU6MzU6NTAgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBmaXggc3ltYm9scyByZWRlZmluaXRpb24gZm9yIG9iamMgZmlsZXMKCjIwMTMtMDQtMjQgMTU6NTU6MTIgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyB3aXRoIGFwcGxlbWVkaWEKCjIwMTMtMDUtMjMgMTQ6NTc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gRU9TJ2luZyB3aXRob3V0IHNvdXJjZSBwYWRzCgkgIFRoaXMgZW5zdXJlcyB3ZSBkb24ndCAiaGFuZyIgd2hlbiBmaWxlcyBjYW4ndCBiZSBkZWNvZGVkLCBvciBjb250YWluCgkgIG5vIHZhbGlkIHN0cmVhbXMuCgoyMDEzLTA1LTIzIDE0OjU2OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERlbW90ZSBhIHdhcm5pbmcgdG8gZGVidWcgbGV2ZWwKCSAgV2Ugd2lsbCBnZXQgaXQgZm9yIHZpcnR1YWxseSBldmVyeSBmaXJzdCBwYWNrZXRzLgoKMjAxMy0wNS0wMSAxNjozNzo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEFjdHVhbGx5IHN0b3JlIG1wZWcgdmlkZW8gYml0cmF0ZSB2YWx1ZQoJICBBbmQgdXNlIHRoZSBleHRlbnNpb24gYWxzbyAoaGlnaGVyIDEyIGJpdHMpCgoyMDEzLTA1LTIzIDExOjA0OjU3ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0Lmg6CgkgIG9wZW5jdjogQWRkIHNraW4gY29sb3IgZGV0ZWN0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDY1NAoKMjAxMy0wNS0wNyAyMTo0NTo1NCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBzaW1wbGlmeSBjYXBzIHNldHRpbmcKCjIwMTMtMDQtMjYgMTc6NDc6MjYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBmaXggSDI2NCBzdHJlYW1zIHdpdGggYi1mcmFtZXMKCSAgVGhlIGRlY29kZXIgb3V0cHV0IGZyYW1lcyBpbiBEVFMgb3JkZXIsIGV2ZW4gd2l0aCB0aGUgZmxhZwoJICBrVlREZWNvZGVGcmFtZV9FbmFibGVUZW1wb3JhbFByb2Nlc3NpbmcuIFdlIHN0b3JlIGEgaW50ZXJuYWwKCSAgcXVldWUgb2YgdGhlIGRlY29kZWQgZnJhbWVzIGFuZCBwdXNoIHRoZW0gUFRTIG9yZGVyLgoKMjAxMy0wNC0yNiAxNzo0NTozMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCBzZWdmYXVsdCB3aXRoIGRyb3BwZWQgZnJhbWVzCgoyMDEzLTA0LTI2IDE3OjQwOjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogaW1wcm92ZSB1c2FnZSBvZiB0aGUgVlQgQVBJCgkgIEFkZCB0aW1pbmcgaW5mb3JtYXRpb24gdG8gQ1Ygc2FtcGxlcyBhbmQgcGFzcyB0aGUgR3N0QnVmZmVyCgkgIGFzIGV4dHJhIGRhdGEgaW4gdGhlIGRlY29kZSBmdW5jdGlvbgoKMjAxMy0wNC0yNiAxMzoyNjowMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBNUEVHLTEgdG9vCgoyMDEzLTA0LTI1IDExOjMwOjA3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYWRkIHN1cHBvcnQgZm9yIE1QRUctMiBkZWNvZGluZwoKMjAxMy0wNC0yNSAxMToyNzoxMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHVzZSB0aGUgYmVzdCBjb2xvcmZvcm1hdCBvbiBlYWNoIHBsYXRmb3JtCgkgIFRoaXMgc2F2ZXMgYSBjb2xvcnNwYWNlIGNvbnZlcnNpb24gYmVmb3JlIHRoZSBzaW5rIGluIE9TIFgKCjIwMTMtMDQtMjUgMTE6MTc6MTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IHJlcGxhY2UgcHJpdmF0ZSBmdW5jdGlvbiB3aXRoIGl0cyBwdWJsaWMgdmFyaWFudAoJICBGaWdWaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlV2l0aFNhbXBsZURlc2NyaXB0aW9uRXh0ZW5zaW9uQXRvbQoJICBpcyBhbiB1bi1kb2N1bWVudGVkIHByaXZhdGUgZnVuY3Rpb24gd2hpY2ggbWlnaHQgY2hhbmdlIGl0cyBzaWduYXR1cmUKCSAgYXMgaXQgYWxyZWFkeSBkaWQgaW4gdGhlIHBhc3QuIFJlcGxhY2UgaXQgd2l0aAoJICBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGUgYW5kIHRoZSBhbHNvIHVuLWRvY3VtZW50ZWQgRXh0ZW5zaW9ucwoJICBkaWN0aW9uYXJ5LgoKMjAxMy0wNC0yNCAyMjoyMjoyOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiByZW1vdmUgdGhlIHVubmVlZGVkIGJ1ZmZlciBmYWN0b3J5CgoyMDEzLTA0LTI0IDIyOjE1OjAxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHVzZSB0aGUgZHluYW1pYyBBUEkgZm9yIHB1YmxpYyBmcmFtZXdvcmtzCgkgIFB1YmxpYyBmcmFtZXdvcmtzIGRvbid0IG5lZWQgdG8gYnVpbGQgdGhlIEFQSSBkeW5hbWljYWxseSwgd2UgaW5zdGVhZAoJICB1c2UgdGhlIGZyYW1ld29yayBkaXJlY3RseS4KCSAgVGhlIGV4Y2VwdGlvbiBpcyBmb3IgVmlkZW9Ub29sYm94IHdoaWNoIHdlbnQgcHVibGljIGluIHRoZSAxMC44IFNESywKCSAgYnV0IGl0J3Mgc3RpbGwgcHJpdmF0ZSBpbiBvbGRlciB2ZXJzaW9uIG9mIHRoZSBTREsgYW5kIGlPUy4gVGhpcyBhbGxvdwoJICBidWlsZGluZyB0aGUgcGx1Z2luIGFnYWluc3QgU0RLJ3Mgd2hlcmUgaXQncyBub3QgYSBwdWJsaWMgZnJhbWV3b3JrLgoKMjAxMy0wNC0yNCAxODo1MzoxMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogbW92ZSBwbHVnaW5zIHVzaW5nIHByaXZhdGUgZnJhbWV3b3JrcyB0byBhcHBsZW1lZGlhLW5vbnB1YmxpYwoKMjAxMy0wNS0yMCAxMzoyNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggaW5kZW50aW9uCgoyMDEzLTA1LTE3IDIwOjE3OjMxICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYSBtaW5vciBlcnJvciBpbiBDT0xPUl9Gb3JtYXRZVVY0MjBQbGFuYXIgY29udmVydGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTIxCgoyMDEzLTA1LTE4IDE0OjAxOjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0byBhdWRpb2ZpbHRlcgoKMjAxMy0wNS0xOCAxMzo1NzoxMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb2Z4YmFkL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4Lmg6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvZnhiYWQuYzoKCSAgYXVkaW9meDogQWRkIHBsdWdpbiwgYWRkIGF1ZGlvY2hhbm5lbG1peAoKMjAxMy0wNS0xOCAxMzo1NjoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogYXVkaW8gZm9ybWF0IGlzICJTMTYiIG5vdCAiczE2IgoKMjAxMy0wNS0xOCAxMTo1ODoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgdmlkZW9zaWduYWw6IGZpeCBDRkxBR1Mgb3JkZXIKCjIwMTMtMDUtMTcgMjE6MjM6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgc3RyZWFtIHN0YXJ0IGV2ZW50CgkgIFJlbW92ZXMgd2FybmluZ3MgYWJvdXQgc3RyaWN0IHN0aWNreSBldmVudHMgb3JkZXJpbmcKCjIwMTMtMDUtMTcgMTI6MDg6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCB3bWEgcHJvIGNhcHMgY3JlYXRpb24KCSAgV21hUHJvIGlzIGFjdHVhbGx5IHdtYXZlcnNpb24gMywgYW5kIGNhbiBhbHNvIGJlIGZvdW5kIGJ5IHRoZQoJICBXTUFQIGZvdXJjYy4KCSAgU29tZSBtYW5pZmVzdHMgYWxzbyBjb250YWluIHRoZSBibG9ja19hbGlnbiBmaWVsZCBhcyAiUGFja2V0U2l6ZSIKCSAgaW4gdGhlIGF1ZGlvIHRyYWNrIGRlc2NyaXB0aW9uLCB0aGUgbGliYXYgZGVjb2RlcnMgcmVxdWlyZSBpdAoJICB0byBiZSBwcmVzZW50IGluIGNhcHMuCgkgIEZpeGVzICM2OTk5MjEKCjIwMTMtMDUtMTcgMTE6Mzc6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBhc3NlcnRpb25zIHdoZW4gYSBzdHJlYW0gY2FwcyBjYW4ndCBiZSBjcmVhdGVkCgkgIEZpeGVzIHR3byBhc3NlcnRpb25zIHJlbGF0ZWQgdG8gY2xlYW51cCBmb3IgYSBwYWQgdGhhdCBjb3VsZG4ndAoJICBiZSBleHBvc2VkIGJlY2F1c2UgdGhlIGNhcHMgY291bGRuJ3QgYmUgaWRlbnRpZmllZCBmcm9tIHRoZQoJICBNYW5pZmVzdAoJICBGaXhlcyAjNjk5OTIxCgoyMDEzLTA1LTE1IDExOjQ5OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWFnbDogZml4IGhhbmRsaW5nIG9mIHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgRGV0ZWN0IHdoZW4gdGhlIGVhZ2wgc3VyZmFjZSBjaGFuZ2VkIGl0cyBkaW1lbnNpb24gKHdoZW4gdGhlIHVzZXIgcm90YXRlcwoJICB0aGUgZGV2aWNlIGZvciBleGFtcGxlKSBhbmQgYWRhcHQgdGhlIGVnbCBpbnRlcm5hbHMgdG8gZHJhdyB0byB0aGF0LAoJICBwcmV2ZW50aW5nIHRoYXQgaW9zIHJlc2l6ZXMgdGhlIGltYWdlIGFnYWluIHdoZW4gZHJhd2luZy4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaGFybWZ1bCB3aGVuIGVhZ2wgd291bGQgc2NhbGUgZG93biBhIGltYWdlCgkgIHRvIGRyYXcgYW5kIHRoZSBpb3Mgc2NyZWVuIHdvdWxkIHNjYWxlIGl0IGJhY2sgdXAgYmVjYXVzZSB0aGUKCSAgc3VyZmFjZSBpcyBub3cgYmlnZ2VyIHRoYW4gd2hlbiB0aGUgZWxlbWVudCB3YXMgY29uZmlndXJlZC4KCjIwMTMtMDUtMTUgMDA6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHBhcnNlIGJsb2NrX2FsaWduLCBjaGFubmVscyBhbmQgcmF0ZSBmcm9tIHdhdmVmb3JtYXRleCBpZiBwb3NzaWJsZQoJICB3bWEgdjIgZXhwZWN0cyBibG9ja19hbGlnbiwgY2hhbm5lbHMgYW5kIHJhdGUgZmllbGRzIHNldCB0byBpdHMgY2Fwcy4KCSAgVGhpcyBpc24ndCBwcmVzZW50IGRpcmVjbHR5IG9uIHRoZSBtYW5pZmVzdHMsIHNvIG1zc2RlbXV4IHNob3VsZCBwYXJzZQoJICBpdCBmcm9tIHRoZSB3YXZlZm9ybWF0ZXggc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTQgMjI6MDQ6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBiaXRyYXRlIGluZm8gdG8gYXVkaW8gc3RyZWFtcwoJICBiaXRyYXRlIGluZm8gaXMgYWx3YXlzIHByZXNlbnQgb24gdGhlIFF1YWxpdHlMZXZlbCB4bWwgbm9kZSBhcyBwYXJ0CgkgIG9mIHRoZSBhZGFwdGl2ZSBzZWxlY3Rpb24gcHJvY2Vzc2luZywgcHV0IGl0IGludG8gY2FwcyBhcyBzb21lCgkgIGRlY29kZXJzIHJlcXVpcmUgaXQgKGF2ZGVjX3dtYXYyIGZvciBleGFtcGxlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE0IDE2OjM3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzZW5kIHN0cmVhbSBpZCBhbmQgbmV3c2VnbWVudCBiZWZvcmUgcHVzaGluZyBkYXRhCgkgIEZpeGVzIHN0aWNreSBldmVudHMgb3JkZXJpbmcgd2FybmluZ3Mgd2hlbiBkYXRhIGlzIHB1c2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE1IDIyOjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEFubm91bmNlIGNvcnJlY3QgbXBlZ3RzIGNhcHMKCjIwMTMtMDUtMTUgMjA6MDM6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFubm90YXRlIGNhbGxiYWNrIHNjb3BlcwoKMjAxMy0wNS0xNSAxOToyMzowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogRW5zdXJlIHNlZ21lbnQgaXMgc2VudCBiZWZvcmUgY2FwcyBhbmQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0MjAKCjIwMTMtMDUtMTUgMTE6NTc6MDcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5hbDogcmVxdWlyZSBPcGVuQUwgPj0gMS4xNCB0byBidWlsZCB0aGUgT3BlbkFMIHBsdWdpbgoJICBGb3IgQUxfRk9STUFUX01PTk9fQUxBV19FWFQgYW5kIEFMX0ZPUk1BVF9TVEVSRU9fQUxBV19FWFQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0MDIKCjIwMTMtMDUtMTUgMTE6Mzg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0xNSAxMTozNzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjMxOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToxNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgcGFyc2VyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0cwoKMjAxMy0wNS0xNSAxMTowOTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgkgIGdkcCBlbGVtZW50cyBzdGlsbCBuZWVkcyB0byBiZSBmaXhlZCBmb3IgYWxsIHRoZSBldmVudCByZWxhdGVkCgkgIGNoYW5nZXMgYW5kIGdlbmVyYWxseSBwcm9wZXJseSBwb3J0ZWQgdG8gMS4wLgoKMjAxMy0wNS0xNSAxMTowNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogRW5hYmxlIEdMaWIgZGVwcmVjYXRpb24gd2FybmluZ3MgYWdhaW4KCjIwMTMtMDUtMTUgMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogTmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUgd2hlbiBnZXR0aW5nIHRoZSBzaW5rcGFkIGNhcHMKCjIwMTMtMDUtMTUgMTA6NTQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDo1NDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA1LTE1IDEwOjUxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWVkY2Q4NSB0byAwOThjMGQ3CgoyMDEzLTA1LTE1IDEwOjIzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjIyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICBzaG06IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmxmaWxlc2luazogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjEyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJICBrYXRlZW5jOiBEZWxheSBzZWdtZW50IGV2ZW50IHVudGlsIHdlIGhhdmUgY2FwcwoKMjAxMy0wNS0xNSAxMDowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlZGVjL3RpZ2VyOiBEb24ndCBxdWV1ZSBzdGlja3kgZXZlbnRzIHRoYXQgd291bGQgY29tZSBiZWZvcmUgQ0FQUwoKMjAxMy0wNS0xNSAwOTo0NzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZXBhcnNlOiBGaXggZXZlbnQgaGFuZGxpbmcKCSAgSW50ZXJuYWwgc3RhdGUgc2hvdWxkIG9ubHkgYmUgcmVzZXQgb24gRkxVU0hfU1RPUCwgbm90IEZMVVNIX1NUQVJULgoJICBBbHNvIGZvcndhcmQgcHJlLWNhcHMgZXZlbnRzIGltbWVkaWF0ZWx5IGFuZCBkb24ndCBxdWV1ZSB0aGVtLgoKMjAxMy0wNS0xNSAwOTo0Mjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHZve2FtcixhYWN9ZW5jOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDA5OjQxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICBmYWFkL2ZhYWM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMDk6MjA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGhsczogVXNlIEdzdFVSSURvd25sb2FkZXIgZnJvbSB0aGUgbGlicmFyeSBmb3Igbm93IHRvIGtlZXAgZXZlcnl0aGluZyBpbiBhIHVzYWJsZSBzdGF0ZQoKMjAxMy0wNS0xNCAxNDozMjoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJICBsYWRzcGE6IEZpeCBjb21waWxhdGlvbiBpc3N1ZSB3aGVuIGxyZGYgaXMgZW5hYmxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzI4CgoyMDEzLTA1LTE0IDAwOjE0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL2RpczY1MDIuaDoKCSogZ3N0L25zZi9mZHNfc25kLmM6CgkqIGdzdC9uc2YvZmRzX3NuZC5oOgoJKiBnc3QvbnNmL2Ztb3BsLmM6CgkqIGdzdC9uc2YvZm1vcGwuaDoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9nc3Ruc2YuaDoKCSogZ3N0L25zZi9sb2cuYzoKCSogZ3N0L25zZi9sb2cuaDoKCSogZ3N0L25zZi9tbWM1X3NuZC5jOgoJKiBnc3QvbnNmL21tYzVfc25kLmg6CgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJKiBnc3QvbnNmL25lczY1MDIuaDoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5oOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvbnNmL25zZi5oOgoJKiBnc3QvbnNmL29zZC5oOgoJKiBnc3QvbnNmL3R5cGVzLmg6CgkqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSogZ3N0L25zZi92cmM3X3NuZC5oOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgbnNmOiByZW1vdmUgbnNmIHBsdWdpbiwgcmVwbGFjZWQgYnkgZ21lIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDIxCgoyMDEzLTA0LTE3IDAyOjE4OjU4ICswMjAwICBKdWFuIE1hbnVlbCBCb3JnZXMgQ2HDsW8gPGp1YW5tYWJjbWFpbEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSAgb3BlbmFsOiBpbXByb3ZlZCBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MDEzCgoyMDEzLTA1LTEzIDAwOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3Qgc29tZSBtb3JlIHRlc3RzIGZyb20gdGhlIGdlbmVyaWMgc3RhdGUgY2hhbmdlIHRlc3QKCjIwMTMtMDUtMTMgMDA6MDY6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IGFkZCBkZWJ1ZyBjYXRlZ29yeSBmb3IgYXZkdHAgdXRpbHMKCjIwMTMtMDUtMTIgMjM6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZGlyYWM6IHJlbW92ZSBvbGQgZGlyYWMtcmVzZWFyY2ggbGlicmFyeSBiYXNlZCBjb2RlYwoJICBJdCdzIG5vdCBkZXZlbG9wZWQgYW55IG1vcmUgYW5kIHJlcGxhY2VkIGJ5IHRoZQoJICBsaWJzY2hyb2VkaW5nZXItYmFzZWQgZWxlbWVudHMgaW4gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgKFRoZSBsaWJzY2hyb2VkaW5nZXIgMS4wLjkgcmVsZWFzZSBub3RlcyBzdGF0ZSAiVGhpcwoJICBpcyBhbiBleGNpdGluZyByZWxlYXNlOiBtb3N0IG9mIHRoZSBlbmNvZGluZyB0b29scyBpbgoJICBkaXJhYy1yZXNlYXJjaCBoYXZlIGJlZW4gcG9ydGVkIG92ZXIgdG8gU2NocsO2ZGluZ2VyLCBzbwoJICBub3cgc2Nocm8gaGFzIHRoZSBzYW1lIG9yIGJldHRlciBjb21wcmVzc2lvbiBlZmZpY2llbmN5CgkgIGFzIGRpcmFjLXJlc2VhcmNoLiIpCgoyMDEzLTA1LTEyIDIyOjQxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb2ZhL2dzdG9mYS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMiAyMDozMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBtdXNpY2JyYWluejogcmVtb3ZlIHRybSBlbGVtZW50IHdoaWNoIGlzIG5vdCB1c2VmdWwgYW55IG1vcmUKCSAgVFJNIElEcyBhcmUgTXVzaWNCcmFpbnonIG9sZCBhdWRpbyBmaW5nZXJwcmludGluZyBzeXN0ZW0gZnJvbQoJICBSZWxhdGFibGUsIHRoZXkgd2VyZSBwaGFzZWQgb3V0IGluIGZhdm91ciBvZiBNdXNpY0lQcyBQVUlEcy4KCSAgaHR0cHM6Ly93aWtpLm11c2ljYnJhaW56Lm9yZy9IaXN0b3J5OlRSTQoKMjAxMy0wNS0xMiAxODo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBhZGQgc3VwcG9ydCBmb3IgU0NIRURVTElORyBxdWVyeQoKMjAxMy0wNS0xMiAxODo0NzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBhZGQgaXJhZGlvLW1vZGUgcHJvcGVydHkgYW5kIHBvc3QgaWN5IG1ldGFkYXRhIGFzIHRhZ3MKCjIwMTMtMDUtMTIgMTg6Mjg6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMSAxMjowNzowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggdGltZXN0YW1wIGdlbmVyYXRpb24KCjIwMTMtMDUtMTEgMTk6NDE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogcG9zdCBlcnJvciBtZXNzYWdlcyBvbiBlcnJvcnMKCjIwMTMtMDUtMTAgMTc6MzA6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSAgdmlkZW9maWx0ZXJzOiBBZGQgdmlkZW9kaWZmIGVsZW1lbnQKCjIwMTMtMDQtMjcgMTE6NTY6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBzZXQgdGltZXN0YW1wcyB3aGVuIHJlc3RyaWRpbmcgYnVmZmVyCgoyMDEzLTA0LTE1IDAwOjI0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9tYXJrL2RldGVjdDogcmVuYW1lIHRvIHNpbXBsZXZpZGVvbWFya1tkZXRlY3RdCgoyMDEzLTA0LTEzIDE1OjE2OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvbWFyay9kZXRlY3Q6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTExIDAwOjM2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogZml4IHJmYmRlY29kZXIgbmV3L2ZyZWUgYXN5bWV0cnkgYW5kIHdyb25nIGZyZWUgaW4gZXJyb3IgY2FzZQoJICBJZiByZmJfZGVjb2Rlcl9uZXcoKSBhbGxvY2F0ZXMgdGhlIGRlY29kZXIgc3J1Y3R1cmUsIHJmYl9kZWNvZGVyX2ZyZWUoKQoJICBzaG91bGQgZnJlZSB0aGUgc3RydWN0dXJlLiBXZSBzaG91bGQgbm90IGZyZWUgdGhlIGRlY29kZXIgd2hlbiBhbgoJICBlcnJvciBvY2N1cnMgZHVyaW5nIGNvbm5lY3Rpb24gLSBpdCBob2xkcyBsb3RzIG9mIGNvbmZpZ3VyYXRpb24vc3RhdGUKCSAgYW5kIHdpbGwgYmUgZnJlZWQgbGF0ZXIgaW4gZmluYWxpemUuCgoyMDEzLTA1LTExIDAwOjI5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IG1ha2UgYXV0aGVudGljYXRpb24gaGFuZHNoYWtlIHNhZmUgZm9yIG11bHRpcGxlIGluc3RhbmNlcwoJICBNb3ZlIERFUyBrZXkgaW50byBjb250ZXh0IHN0cnVjdC4KCjIwMTMtMDUtMTAgMjM6MDk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICByZmJzcmM6IHJlbW92ZSBHUEwtbGljZW5zZWQgc291cmNlIGZpbGUKCSAgYW5kIHJlcGxhY2UgdGhlIDElIG9mIGl0IHRoYXQgd2UgbmVlZCB3aXRoIG5ldyBjb2RlLCBzbyB3ZQoJICBkb24ndCBoYXZlIHRvIGNoYW5nZSB0aGUgcnVudGltZSBsaWNlbnNlIG9mIHJmYnNyYyB0byBHUEwuCgoyMDEzLTA1LTEwIDA5OjQ5OjQ2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IHVzZSBnbGliIGdpbyBzb2NrZXRzIGZvciBuZXR3b3JrIGFjY2VzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDM4CgoyMDEzLTA1LTA5IDE2OjQxOjMyIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICByZmJzcmM6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzgKCjIwMTMtMDUtMTAgMTI6NDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgZGVzdHJveSBub3RpZnkgaW5zdGVhZCBvZiBhbHdheXMgY2FsbGluZyBlZ2xUZXJtaW5hdGUoKSBvbiB0aGUgZGlzcGxheQoJICBJbiBzb21lIHNjZW5hcmlvcywgZm9yIGV4YW1wbGUgaW4gUXRXZWJLaXQsIG1pZ2h0IGJlIGRpZmZpY3VsdCB0byBvYnRhaW4gZnVsbAoJICBjb250cm9sIG9uIHRoZSBlZ2wgZGlzcGxheSBhbmQgaXQgbWlnaHQgYmUgb25seSBhY2Nlc3NpYmxlIGluZGlyZWN0bHkgdmlhCgkgIGVnbEdldEN1cnJlbnREaXNwbGF5KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNTgKCjIwMTMtMDUtMTAgMTE6NDg6NDYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWxsb3cgYmVpbmcgdXNlZCBpbiBDKysgY29kZQoKMjAxMy0wNS0wOCAyMzoxNzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbmFtZSBzcmMgdGVtcGxhdGUgZnJvbSBzcmMlZCB0byBzcmNfJXUKCjIwMTMtMDUtMDggMTg6MjI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkqIGV4dC9kYXNoL0NPUFlJTkc6CgkgIGRhc2g6IHJlbW92ZSBzdXBlcmZsdW91cyBmaWxlcwoJICBBdXRob3JzIGFuZCBsaWNlbnNlIGFyZSBhdCB0aGUgdG9wIG9mIHRoZSBzb3VyY2UgZmlsZXMKCjIwMTMtMDUtMDIgMTQ6MTE6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2g6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBnbGliIG11dGV4IEFQSQoKMjAxMy0wNC0yMyAxMjowODowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGluZyBjb21waWxlciB3YXJuaW5ncyBhYm91dCBwcmludCBmb3JtYXRzCgoyMDEzLTA1LTA4IDExOjE0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGFzaDogZW5hYmxlIGluIGNvbmZpZ3VyZS9tYWtlZmlsZXMKCSAgSXQgd2FzIGludGVudGlvbmFsbHkgZGlzYWJsZWQgdXAgdG8gdGhpcyBwb2ludCB0byBwcmV2ZW50CgkgIGNvbXBpbGUgZmFpbHVyZXMgYXMgZGFzaGRlbXV4IGRldmVsb3BtZW50IGNvbW1pdHMgd2VyZSBhbGwgZm9yCgkgIDAuMTAgdXAgdG8gaGVyZQoKMjAxMy0wNC0xOCAwNzo0MTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMSAwOToxMjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGFub3RoZXIgd3JvbmcgYXNzZXJ0aW9uCgkgIEFsc28gYWRkcyBhIGNvdXBsZSBsb2cgbWVzc2FnZXMgZm9yIGVhc2llciBkZWJ1Z2dpbmcKCjIwMTMtMDQtMTAgMTg6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB3cm9uZyBhc3NlcnRzCgkgIFRob3NlIGFzc2VydHMgc2hvdWxkIGJlIHRoZSBjb250cmFyeSB0aGF0IHRoZXkgYXJlLiBBbmQgYWxzbwoJICB0aGUgc3Vycm91bmQgZnVuY3Rpb25zIHNob3VsZCBhbHJlYWR5IGNoZWNrIHRoYXQuIFJlbW92aW5nIHRoZW0uCgoyMDEzLTAzLTEzIDE1OjU1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogb25seSBzdGFydCB0aW1lc3RhbXAgZnJvbSAwIGZvciBsaXZlIHN0cmVhbQoJICBXZSBvbmx5IHdhbnQgdG8gYWRqdXN0IHRoZSB0aW1lc3RhbXBzIHNvIHRoYXQgdGhleSBzdGFydCBmcm9tIDAgZm9yIGxpdmUKCSAgc3RyZWFtcy4gTm9uLWxpdmUgc3RyZWFtcyBhbHJlYWR5IHN0YXJ0IGZyb20gMCBhbmQgYWZ0ZXIgYSBzZWVrIHdlIGFjdHVhbGx5IHdhbnQKCSAgdG8gdGltZXN0YW1wIHRvIGJlIHRoZSBwb3NpdGlvbiB3ZSBzZWVrIHRvLgoKMjAxMy0wMy0wOCAxNTowNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtYWtlIHRpbWVzdGFtcHMgc3RhcnQgZnJvbSAwCgkgIE5vbi1saXZlIHN0cmVhbXMgc2hvdWxkIHRpbWVzdGFtcCBidWZmZXJzIHdpdGggYSBydW5uaW5nLXRpbWUgc3RhcnRpbmcgZnJvbQoJICAwLiBTaW5jZSB3ZSBhbHJlYWR5IHB1c2ggYSAwIC0+IC0xIHNlZ21lbnQsIGJyaW5nIHRoZSB0aW1lc3RhbXBzIHRvIDAKCSAgYnkgc3VidHJhY3RpbmcgdGhlIGluaXRpYWwgdGltZXN0YW1wLgoKMjAxMy0wMy0wOCAxNDo1OTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFsc28gc2VuZCBuZXdzZWdtZW50IG9uIHN0YXJ0dXAKCjIwMTMtMDMtMDggMTQ6NTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzbWFsbCBjbGVhbnVwCgoyMDEzLTAyLTIyIDE3OjAwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBsaXZlIHN0cmVhbSBwbGF5YmFjayBjcmFzaGZpeAoKMjAxMy0wMi0yMiAxNjo0NjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogZG8gbm90IGNsZWFudXAgeG1sIGxpYiB0b28gZWFybHkKCSAgVGhlIHhtbENsZWFudXBQYXJzZXIgZnVuY3Rpb24gc2VlbXMgdG8gY2xlYW51cCBhbGwgc3RhdGljYWxseQoJICBhbGxvY2F0ZWQgbGlieG1sIHZhcmlhYmxlcywgbWFraW5nIGl0IHVudXNhYmxlLiBXZSBjYW4ndCBndWFyYW50ZWUKCSAgdGhhdCBkYXNoZGVtdXggd29uJ3QgbmVlZCBpdCBhbnltb3JlLCBzbyBiZXR0ZXIgbm90IGNhbGwgaXQuCgoyMDEzLTAyLTIyIDE2OjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlaW1wbGVtZW50aW5nIGxpdmUgc3RyZWFtcyBtYW5pZmVzdCB1cGRhdGVzCgkgIE1hbmlmZXN0IHVwZGF0ZXMgc2hvdWxkIGJlIGRvbmUgcGVyaW9kaWNhbGx5IGZvciBsaXZlIHN0cmVhbXMsCgkgIHRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRlbXV4ZXIgY3JlYXRlIGEgbmV3IG1hbmlmZXN0IGNsaWVudCBmb3IKCSAgdGhlIG5ldyB2ZXJzaW9uIGFuZCB0cmFuc2ZlcnMgdGhlIHN0cmVhbSBwb3NpdGlvbiB0byB0aGUgbmV3CgkgIG9uZSwgZGlzY2FyZGluZyB0aGUgb2xkIG9uZSBhZnRlcndhcmRzLgoKMjAxMy0wMi0yMCAxMjo0OToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogYWxsb3cgcGVyaW9kcyB3aXRob3V0IHN0YXJ0IHRpbWUgZm9yIGxpdmUgc3RyZWFtcwoJICBMaXZlIHN0cmVhbXMgY2FuIGhhdmUgdW5kZWZpbmVkIHN0YXJ0IHRpbWVzIGZvciB0aGUgcGVyaW9kcyBhbmQKCSAgbXBkcGFyc2VyIGNhbiBsZXQgdGhhdCBwYXNzIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0CgoyMDEzLTAyLTE5IDE5OjM1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2g6IG1wZHBhcnNlcjogdXNlIGd1aW50NjQgZm9yIHRpbWVzdGFtcHMKCSAgVGhlIHRpbWVzdGFtcHMgY2FuIGJlIHByZXR0eSBiaWcsIHNvIHVzZSBndWludDY0IGZvciB0aGVtCgoyMDEzLTAyLTE5IDAxOjI2OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGQgcGFyc2luZzogZml4IHF1ZXJ5IHBhcmFtZXRlciBwYXJzaW5nCgkgIFRyeSBoYXJkZXIgdG8gZGV0ZWN0IFVSTCBwYXJhbWV0ZXJzIGFuZCBzcGxpdCB0aGVtIHRvIGFjY29tb2RhdGUKCSAgdGhlIGZyYWdtZW50IHVybCBpbiB0aGUgY29uY2F0OgoJICBiYXNlLXVybCArIGZyYWdtZW50LXVybCArIHVybC1wYXJhbWV0ZXJzCgoyMDEzLTAyLTE4IDE0OjAyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHBsdWcgc29tZSBsZWFrcwoJICBBZGQgc29tZSBtaXNzaW5nIGZyZWUvdW5yZWZzIHNwb3R0ZWQgYnkgdmFsZ3JpbmQKCjIwMTMtMDItMTggMTQ6MDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIG11dGV4ZXMKCjIwMTMtMDItMTQgMTc6Mzk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3Blcmx5IHJlc2V0IHN0cmVhbSBzdGF0dXMgYWZ0ZXIgYSBmbHVzaAoJICBUaGUgc3RyZWFtIGVvcy9lbmQgb2YgcGVyaW9kIHN0YXR1cyBtdXN0IGFsc28gYmUgcmVzZXQgYWZ0ZXIgYSBmbHVzaGluZwoJICBzZWVrLiBUaGlzIG1ha2VzIHNlZWtpbmcgYWZ0ZXIgRU9TIHdvcmsuCgoyMDEzLTAyLTEzIDAyOjEzOjIzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGtlZXAgYSBsaXN0IG9mIHN0cmVhbXMgcGVyaW9kcwoJICBLZWVwIGEgbGlzdCBvZiBzdHJlYW1zIHBlciBwZXJpb2Qgc28gdGhhdCB0aGUgZG93bmxvYWQgbG9vcCBjYW4ga2VlcAoJICBkb3dubG9hZGluZyB3aGlsZSB0aGUgc3RyZWFtIGxvb3AgaXMgc3RpbGwgcHVzaGluZyBvbGQgcGVyaW9kJ3MgZGF0YS4KCjIwMTMtMDItMTIgMjI6NTQ6MzIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgcGFyc2UgYmFzZSB1cmkgZnJvbSBtcGQuCgoyMDEzLTAyLTEyIDIyOjUzOjE2IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB1bnVzZWQgbWVtYmVycy4KCjIwMTMtMDItMTIgMTg6NTA6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogT25seSBzZW5kIG5ld3NlZ21lbnQgb24gc2Vlay4KCjIwMTMtMDItMDggMDI6NTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgc2VnbWVudHMgdGhhdCBvdmVyd3JpdGUgcHJldmlvdXMgb25lcwoJICBUaGlzIGlzIG9ubHkgZG9uZSBmb3Igc2Vla3MsIHNvIGl0IGlzIGZpbmUKCjIwMTMtMDItMDcgMjE6NTg6MzcgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzd2l0Y2ggYml0cmF0ZXMgd2l0aG91dCBzd2l0Y2hpbmcgcGFkcwoKMjAxMy0wMi0wNyAxNjoyMjoxMyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB1bnVzdWVkIG1ldGhvZC4KCjIwMTMtMDItMDcgMTQ6MDk6NDQgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBTZXQgc3RyZWFtIG5lZWRfaGVhZGVyIGFmdGVyIHNlZWsgYW5kIGhhc19kYXRhX3F1ZXVlZCB0byBGQUxTRSB3aGVuIGZsdXNoaW5nIHN0cmVhbS4KCjIwMTMtMDItMDcgMDM6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBwYXVzZS9zdGFydCB0aGUgc3RyZWFtIGxvb3Agb24gcGxheWluZy9wYXVzZWQgY2hhbmdlcwoJICBUaGUgZGVtdXhlciBzaG91bGRuJ3QgY2FyZSBhYm91dCBwYXVzZWQvcGxheWluZywgaXQgc2hvdWxkIGFjdCB0aGUKCSAgc2FtZSBpbiBib3RoIHN0YXRlcwoKMjAxMy0wMi0wNiAxMzozMToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHByb3BlcnR5IHRoYXQgaXNuJ3QgdXNlZCBhbnltb3JlCgkgIFJlbW92ZSBzb21lIHBpZWNlcyBvZiBjb2RlIHRoYXQgYXJlIGZyb20gYW4gb2xkIHByb3BlcnR5CgkgIHRoYXQgaXNuJ3QgdXNlZCBhbnltb3JlCgoyMDEzLTAyLTA1IDE3OjM4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkgIGRhc2hkZW11eDogYWRkIGEgZG93bmxvYWRyYXRlIHV0aWxpdHkKCSAgQSBzbWFsbCBzdHJ1Y3QgdGhhdCBrZWVwcyBhIHNob3J0IGhpc3Rvcnkgb2YgZnJhZ21lbnQgZG93bmxvYWQgYml0cmF0ZXMKCSAgdG8gaGF2ZSBhbiBhdmVyYWdlIG1lYXN1cmUgb2YgTiBsYXN0IGZyYWdtZW50cyBpbnN0ZWFkIG9mIHVzaW5nIG9ubHkKCSAgdGhlIGxhc3QgZG93bmxvYWRlZCBiaXRyYXRlCgoyMDEzLTAyLTA1IDE0OjI0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzcHJpbmtsaW5nIHNvbWUgbW9yZSBsb2cKCjIwMTMtMDItMDUgMTQ6MjI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBjaGFuZ2UgYml0cmF0ZXMgYmFzZWQgb24gdGhlIHN0cmVhbSBiaXRyYXRlCgkgIERvIG5vdCB1c2UgYSBnbG9iYWwgYml0cmF0ZSBhcyB0aGUgc2l6ZXMgb2YgdGhlIGZyYWdtZW50cyBtYXR0ZXIKCSAgd2hlbiBjYWxjdWxhdGluZyB0aGUgZG93bmxvYWQgcmF0ZSBhcyB0aGUgY29ubmVjdGlvbiBzZXR1cCB0aW1lIGlzCgkgIGFsc28gYmVpbmcgdGFrZW4gaW50byB0aGUgZG93bmxvYWQgZHVyYXRpb24sIGEgc21hbGxlciBmcmFnbWVudAoJICB3aWxsIGhhdmUgYSBsb3dlciBiaXRyYXRlIHRoYW4gYSBsYXJnZXIgb25lLgoJICBUaGlzIGF2b2lkcyBzd2l0Y2hpbmcgdGhlIGJpdHJhdGVzIGZvciBzdHJlYW1zIGZyZXF1ZW50bHkgYmVjYXVzZQoJICBvZiBiaXRyYXRlIG1pc21hdGNoZXMKCjIwMTMtMDItMDUgMDA6NDU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHRvIHVzZSB0aGUgdXJpZG93bmxvYWRlciBsaWIgaW5zdGVhZCBvZiBpbnRlcm5hbCBjb3B5CgoyMDEzLTAyLTA1IDAxOjI5OjI4IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBzdXJlIHN3aXRjaF9wYWRzIHdvbid0IGxlYWsgYW55IHBhZC4KCjIwMTMtMDItMDQgMjI6NTg6MzIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgc3RvcCBkb3dubG9hZCBhbmQgc3RyZWFtIHRhc2tzIHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAxMy0wMi0wMSAwMjoxMjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYXZvaWQgYW4gYXNzZXJ0aW9uIHdoZW4gc3RvcHBpbmcgdGhlIHBpcGVsaW5lCgkgIEF2b2lkcyBhc3NlcnRpbmcgd2hlbiBkYXRhcXVldWVzIGFyZSBzZXR0aW5nIHRvIGZsdXNoaW5nIGR1ZQoJICB0byBhIHBpcGVsaW5lIHN0b3AgZHVyaW5nIGEgcGFkIHN3aXRjaC4KCjIwMTMtMDItMDEgMDI6MTA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGRvd25sb2FkIHRoZSBuZXh0IGZyYWdtZW50IHdpdGggc21hbGxlciB0aW1lc3RhbXAKCSAgSW5zdGVhZCBvZiBkb3dubG9hZGluZyAxIGZyYWdtZW50IHBlciBzdHJlYW0gcGVyIGRvd25sb2FkIGxvb3AsCgkgIHNlbGVjdCB0aGUgc3RyZWFtIHdpdGggdGhlIGVhcmxpZXIgdGltZXN0YW1wIGFuZCBnZXQgYSBmcmFnbWVudAoJICBvbmx5IGZvciB0aGF0IG9uZS4KCSAgVGhlIG9sZCBhbGdvcml0aG0gd291bGQgbGVhZCB0byBwcm9ibGVtcyB3aGVuIHRoZSBmcmFnbWVudCBkdXJhdGlvbnMKCSAgd2VyZSB0b28gZGlmZmVyZW50IGZvciBzdHJlYW1zLgoKMjAxMy0wMi0wMSAwMDozNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHRyYWNrIHNlZ21lbnRzIGluIHRoZSBkZW11eGVyCgkgIFVzZSBhIEdzdFNlZ21lbnQgdG8gdHJhY2sgdGhlIGN1cnJlbnQgc2VnbWVudCBpbmZvcm1hdGlvbiBpbiB0aGUKCSAgZGVtdXhlci4KCjIwMTMtMDItMDEgMDA6MzM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgYnVmZmVyaW5nIG1lc3NhZ2UgZW1pc3Npb24gZnJvbSBkYXNoZGVtdXgKCSAgZGFzaGRlbXV4IHNob3VsZG4ndCBlbWl0IHRoZSBidWZmZXJpbmcgbWVzc2FnZSBhcyB0aGF0IGNhbiBwYXVzZQoJICB0aGUgcGlwZWxpbmUuIEl0IGhhcyBubyBwcm9wZXIga25vd2xlZGdlIG9mIHRoZSBkb3duc3RyZWFtIGJ1ZmZlcmluZwoJICBzdGF0dXMgc28gaXQgY2FuIHBhdXNlIHRoZSBwaXBlbGluZSB3aGVuIGl0IGlzbid0IG5lY2Vzc2FyeS4gSXQgc2hvdWxkCgkgIGhhdmUgYW4gaW50ZXJuYWwgYnVmZmVyIGZvciBkb3dubG9hZGluZyB0aGUgc3RyZWFtcyBhaGVhZCBvZiBwbGF5YmFjaywKCSAgYnV0IHRoYXQgc2hvdWxkbid0IG1ha2UgaXQgYWJsZSB0byBzdG9wIHRoZSBwaXBlbGluZSBmb3IgYnVmZmVyaW5nLgoJICBBIHBhcnRpY3VsYXIgY2FzZSBpbiB3aGljaCB0aGlzIGlzIGJhZCBpcyB3aGVuIGEgcGFkIHN3aXRjaCBoYXBwZW5zCgkgIChjaGFuZ2luZyBiaXRyYXRlcyBmb3IgZXhhbXBsZSksIHRoZSBuZXcgcGFkcyBkYXNoZGVtdXggY3JlYXRlcwoJICB3aWxsIGdldCBsaW5rZWQgdG8gZGVtdXhlcnMgYW5kIG5ldyBxdWV1ZXMgd2lsbCBiZSBjcmVhdGVkLAoJICB0aGVzZSBxdWV1ZXMgYXJlIGluaXRpYWxseSBlbXB0eSBhbmQgZGFzaGRlbXV4IHdpbGwgcXVpY2tseQoJICBkcmFpbiBpdHMgYnVmZmVycyBieSBwdXNoaW5nIHRoZW0gdG8gdGhvc2UgcXVldWVzLiBTbyBpdAoJICB3b3VsZCBoYXZlIG5vIG1vcmUgYnVmZmVycyBpbnRlcm5hbGx5IGFuZCB3b3VsZCBlbWl0IGEKCSAgYnVmZmVyaW5nIG1lc3NhZ2Ugd2l0aCBhIGxvdyByYXRpbywgY2F1c2luZyB0aGUgcGlwZWxpbmUKCSAgdG8gcGF1c2Ugd2hlbiBpdCB3b3VsZG4ndCBiZSBuZWNlc3NhcnkuCgoyMDEzLTAxLTMwIDE3OjMxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZpbmcgdW51c2VkIGNvZGUKCSAgQ2xlYW5pbmcgdXAgYnkgcmVtb3ZpbmcgdW51c2VkIGNvZGUgYW5kIHZhcmlhYmxlcwoKMjAxMy0wMS0zMCAxNzoyNzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlLWVuYWJsZSBhbmQgZml4IGFkYXB0aXZlIHN3aXRjaGluZwoJICBJdCBpcyBzdGlsbCB1bnN0YWJsZSwgYnV0IGF0IGxlYXN0IGl0IHdvcmtzIHdoZW4gdGhlIHN3aXRjaGVzIGFyZW4ndAoJICBoYXBwZW5pbmcgYWZ0ZXIgZXZlcnkgZnJhZ21lbnQKCjIwMTMtMDEtMjkgMTU6NTg6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RseSBzaWduYWwgRU9TIG9uIG1hbmlmZXN0IGVuZAoJICBQdXQgRU9TIG9uIHRoZSBzdHJlYW1zIHF1ZXVlcyBhZnRlciB0aGUgbGFzdCBmcmFnbWVudCBmcm9tIHRoZQoJICBsYXN0IHBlcmlvZCBmb3IgZWFjaCBzdHJlYW0uIFRoaXMgd2F5IHdlIGtlZXAgaXQgc2VyaWFsaXplZAoJICB3aXRoIHRoZSBidWZmZXJzIGFuZCBpdCB3aWxsIHdvcmsgd2hlbiBzdHJlYW1zIGhhdmUgZGlmZmVyZW50CgkgIGVuZGluZyB0aW1lcwoKMjAxMy0wMS0yOSAxMzowODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZGV0ZWN0IGVuZC1vZi1wZXJpb2QgY29ycmVjdGx5CgkgIERldGVjdCBlbmQgb2YgcGVyaW9kIHdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgYnVmZmVycyBvbiBhbnkgb2YgdGhlCgkgIHN0cmVhbXMKCjIwMTMtMDEtMjkgMTM6MDQ6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVzZSB0aGUgc21hbGxlc3QgcXVldWUgdmFsdWUgdG8gZGVmaW5lIGJ1ZmZlcmluZyBzdGF0ZQoJICBUaGUgc21hbGxlc3QgcXVldWUgc2hvdWxkIGJlIHVzZWQgdG8gcHJldmVudCBibG9ja2luZyB0aGUgZG93bmxvYWQKCSAgdGhyZWFkIHdoZW4gYSBzdHJlYW0gaGFzIHRvbyBtdWNoIGRhdGEgYnVmZmVyZWQsIGxlYXZpbmcgdGhlIG90aGVyCgkgIHN0cmVhbXMgc3RhcnZpbmcgZnJvbSBmcmFnbWVudHMKCjIwMTMtMDEtMjkgMTE6MjI6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBmaXggcGFyc2luZyBvZiBzdHJlYW1zIHRvIGdldCBjb3JyZWN0IGZyYWdtZW50IGR1cmF0aW9ucwoJICBVc2UgdGhlIGN1cnJlbnQgc3RyZWFtIGJhc2UgdGltZSBpbnN0ZWFkIG9mIHRoZSAwdGggc3RyZWFtIGJhc2UgdGltZQoJICB0byBnZXQgZGVmYXVsdCBkdXJhdGlvbiBmb3IgZnJhZ21lbnRzLgoKMjAxMy0wMS0yOSAwMTowNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyBpbnN0ZWFkIG9mIGJ1c3kgd2FpdAoJICBNYWtlIHRoZSBzdHJlYW1pbmcgbG9vcCBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIG9uIHRoZSBxdWV1ZXMgaW5zdGVhZAoJICBvZiBidXN5IHdhaXRpbmcgZWF0aW5nIGNwdSBjb250aW51b3VzbHkgb24gYSBxdWV1ZSBsZW5ndGggY2hlY2sKCjIwMTMtMDEtMjggMTk6NDM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IHNlZWtpbmcgb24gbXVsdGlwbGUgc3RyZWFtcwoJICBFYWNoIHN0cmVhbSBoYXMgaXRzIG93biBkdXJhdGlvbnMgYW5kIHRpbWVzdGFtcHMsIHRoZSBmcmFnbWVudCBudW1iZXIKCSAgaXMgZGlmZmVyZW50IGZvciBlYWNoIHN0cmVhbSB3aGVuIHNlZWtpbmcsIHNvIHRoZSBzZWVrIGhhcyB0byBiZSBkb25lCgkgIGZvciBhbGwgc3RyZWFtcywgcmF0aGVyIHRoYW4gb24gYSBzaW5nbGUgc3RyZWFtIGFuZCBwcm9wYWdhdGVkIHRvCgkgIG90aGVycwoKMjAxMy0wMS0yOCAxODo1MjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBSZXBsYWNlIEdRdWV1ZSBieSBHc3REYXRhUXVldWUKCSAgR3N0RGF0YVF1ZXVlIGhhcyBwcm9wZXIgbG9ja2luZyBhbmQgcHJvdmlkZXMgZnVuY3Rpb25zIHRvIGxpbWl0IHRoZQoJICBzaXplIG9mIHRoZSBxdWV1ZS4gQWxzbyBoYXMgYmxvY2tpbmcgY2FsbHMgdGhhdCBhcmUgdXNlZnVsIHRvCgkgIG91ciBtdWx0aXRocmVhZCBzY2VuYXJpbyBpbiBEYXNoLgoKMjAxMy0wMS0yOCAxMjoyODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1vdmUgdGhlIGJ1ZmZlcnMgcXVldWVzIHRvIHRoZSBzdHJlYW1zCgkgIFN0b3JlIHRoZSBidWZmZXJzIHNlcGFyYXRlbHkgZm9yIGVhY2ggc3RyZWFtLCB0aGlzIGlzIGNsZWFyZXIgdGhhbgoJICBoYXZpbmcgYSBxdWV1ZSB3aXRoIGEgbGlzdCBvZiBidWZmZXJzLiBJdCBhbHNvIGFsbG93cyBlYXNpZXIgc2VsZWN0aW9uCgkgIG9mIGJ1ZmZlcnMgdG8gcHVzaCBpbiBsYXRlciByZWZhY3RvcnMKCjIwMTMtMDEtMjggMTA6NDY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBzdHJlYW1zIGRhdGEgdG8gaXRzIG93biBzdHJ1Y3QKCSAgS2VlcHMgY29kZSBtb3JlIG9yZ2FuaXplZCBhbmQgc2ltaWxhciB0byB3aGF0IG90aGVyIGRlbXV4ZXJzCgkgIHVzdWFsbHkgZG8KCjIwMTMtMDEtMjUgMTM6MDQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBkbyBub3QgdHJ5IHRvIHByaW50IGEgcG9pbnRlciBhcyBhIHN0cmluZwoKMjAxMy0wMS0yNSAxMjo0NToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB0aW1pbmcgY29kZSB0aGF0IGRlbGF5cyBwdXNoaW5nIG9mIGZyYWdtZW50cwoJICBGcmFnbWVudHMgc2hvdWxkIGJlIHB1c2hlZCBBU0FQIGFzIGRvd25zdHJlYW0gc2hvdWxkIGJlIHJlc3BvbnNpYmxlIGZvcgoJICBkb2luZyB0aGUgc3luY3Job25pemF0aW9uIGFuZCBwcm9wZXIgYnVmZmVyaW5nLgoJICBUaGlzIGhhcyB0aGUgZ3JlYXQgc2lkZSBlZmZlY3Qgb2YgZml4aW5nIG1vc3Qgb2YgdGhlIHNlZWtpbmcgQS9WIHN5bmMgaXNzdWVzLgoKMjAxMy0wMS0yNSAwOTozNjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBkYXNoOiBmaXhpbmcgYnVpbGQgd2FybmluZ3MKCSAgQWxzbyBydW5uaW5nIHRocm91Z2ggZ3N0LWluZGVudAoKMjAxMy0wMS0yMyAxNjo0MzoxMiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGdzdGRhc2hkZW11eDogYWRkIG5lZWRfaGVhZGVyIG1lbWJlciB0byBrbm93IHdoZXRoZXIgdGhlIGluaXRpYWxpemF0aW9uIGZyYWdtZW50IHNob3VsZCBiZSBwdXNoZWQKCjIwMTMtMDEtMjMgMTM6MjA6MjUgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGRvbid0IHdhaXQgZm9yIHRoZSB3aG9sZSBkdXJhdGlvbiBvZiBhIGZyYWdtZW50IHdoZW4gc2Vla2luZwoKMjAxMy0wMS0yMyAxMzoxOToyMSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzd2l0Y2ggcGFkcyBhbmQgc2VuZCBoZWFkZXIgZmlsZSB3aGVuIGEgbmV3c2VnbWVudCBldmVudCBpcyBzZW50CgoyMDEzLTAxLTE2IDEzOjU4OjUyIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdmFyaW91cyBmaXhlcwoKMjAxMi0xMi0yMCAwOTowNDoyOCArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTItMTggMTE6MjE6MjIgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgUmVwbGFjZWQgVVJMIHBvaW50aW5nIHRvIG9ic29sZXRlIEtsYWdlbmZ1cnQgTVBEIGJ5IGEgbmV3IG9uZQoKMjAxMi0xMi0xNyAxNTo0NjozMiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeCBlc2NhcGUgc2VxdWVuY2UgaW4gVVJMIHRlbXBsYXRlIHJlc29sdmluZwoKMjAxMi0xMi0xNyAxNTozOToxMCArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZG8gbm90IHN3aXRjaCBwYWRzIHdoZW4gYml0c3RyZWFtU3dpdGNoaW5nID0gdHJ1ZQoKMjAxMi0xMi0xNyAxNToxOTozMyArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29tcGxldGUgc3VwcG9ydCBmb3IgbWFuaWZlc3QgZmlsZSB1cGRhdGVzCgoyMDEyLTEyLTE3IDE1OjEyOjU4ICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgbWFuaWZlc3QgZmlsZSB1cGRhdGVzCgkgIC0gdGhlIE1QRCBmaWxlIGlzIHVwZGF0ZWQgaW4gdGhlIGRvd25sb2FkIGxvb3AgKG9ubHkgaWYgd2UgaGF2ZSBhICJkeW5hbWljIiBNUEQgYW5kIG1pbmltdW1VcGRhdGVQZXJpb2QgaXMgdmFsaWQpOwoJICAtIHByb3Blcmx5IExPQ0svVU5MT0NLIHRoZSBHc3RNcGRDbGllbnQ7CgoyMDEyLTEyLTE3IDE1OjA0OjQ1ICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBuZXcgQVBJIHRvIHNldC9nZXQgc2VnbWVudCBpbmRleCBhbmQgcGVyaW9kIGluZGV4CgkgIFRPRE86IHJld29yayBzZWdtZW50IHNlbGVjdGlvbiB0byBzdXBwb3J0IFJlcHJlc2VudGF0aW9ucyBvciBBZGFwdGF0aW9uIFNldHMgd2l0aCBzZWdtZW50cyBub3QgYWxpZ25lZAoKMjAxMi0xMi0xNyAxNTowMDo1MiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbmV3IEFQSSB0byBsb2FkIHRoZSBzdHJlYW0gUGVyaW9kIHdpdGggYSBnaXZlbiBpbmRleAoJICB0aGlzIGF2b2lkcyB0byBmaWRkbGUgd2l0aCBzdHJlYW0gaW50ZXJuYWxzIGluIHRoZSBjb2RlCgoyMDEyLTEyLTE3IDE0OjU0OjQyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgYWNyb3NzIFBlcmlvZHMKCjIwMTItMTEtMjEgMTQ6MTQ6MzQgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTEtMjEgMTQ6MTQ6MjEgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBCeSBkZWZhdWx0LCBkbyBub3QgZm9yd2FyZCBwYWQgcXVlcmllcyB1cHN0cmVhbSwgYmVjYXVzZSBpdCBtYXkgaGF2ZSB1bmZvcmVzc2VuIHNpZGUtZWZmZWN0cyAoZm9yd2FyZGluZyB0aGUgbmV3IDEuMCBHU1RfQ0FQUyBxdWVyeSB3b3VsZCBwcmV2ZW50IHBhZCBsaW5raW5nIGZvciBpbnN0YW5jZSkKCjIwMTItMTEtMTIgMTA6NTQ6MzUgKzAxMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIHBsdWdpbjogcmVnaXN0ZXIgYXMgZGFzaGRlbXV4IGluc3RlYWQgb2YgZnJhZ21lbnRlZAoJICBUaGlzIGZpeGVzIGNvbmZsaWN0cyB3aXRoIHRoZSBITFMgcGx1Z2luLCB3aGljaCBpcyBhbHNvIG5hbWVkCgkgIGZyYWdtZW50ZWQuCgkgIFdoZW4gYnVpbGRpbmcgaXRzIHJlZ2lzdHJ5LCBnc3RyZWFtZXIgd2FzIHBpY2tpbmcgb25lIG9yIHRoZSBvdGhlcgoJICBiZXR3ZWVuIGhscyBhbmQgZGFzaGRlbXV4LgoKMjAxMi0xMC0yNSAxNzo1NTowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNoZWNrIGlmIHdlIGhhdmUgcmVjZWl2ZWQgdGhlIE1QRCBmaWxlIGluIHRoZSBwcm9wZXIgd2F5CgoyMDEyLTEwLTI1IDE3OjUzOjUzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc2lsZW5jZSB3YXJuaW5nCgoyMDEyLTEwLTI1IDE3OjE1OjA5ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBwcmludGluZyBidWZmZXJpbmcgdGltZSBhbmQgZG93bmxvYWQgcmF0ZS9zaXplCgkgIFRoaXMgd2FzIGJyb2tlbiBvbiBhcm12Ny4KCjIwMTItMTAtMjUgMTc6MTc6MzUgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHVudXNlZC1idXQtc2V0IHZhcmlhYmxlCgoyMDEyLTEwLTI1IDE2OjQ5OjIxICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBuZXcgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gQVBJCgkgIFRoaXMgZml4ZXMgYnVpbGQgdGhhdCBoYXMgYmVlbiBicm9rZW4gYnkgY29tbWl0CgkgIGZiOWFlYWM2NTUyMDIxYjE3NmE0YzRiZDA3MjY1ZTAyYTBiNzBlMGYuCgkgIGdzdF9tcGRfY2xpZW50X2dldF90YXJnZXRfZHVyYXRpb24gaGFzIGJlZW4gcmVtb3ZlZCwgYW5kCgkgIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCgoyMDEyLTEwLTI0IDE3OjI4OjQwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIEZJWE1FIGNvbW1lbnQKCSAgcGFkIHN3aXRjaGluZyBhY3Jvc3MgbXVsdGlwbGUgcGVyaW9kcyB3b3JrcyBwZXJmZWN0bHkgZmluZSBub3cKCSAgYW5kIGl0IGlzIGRvbmUgb25seSB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBDQVBTCgoyMDEyLTEwLTI0IDE2OjU1OjIwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBuZXctc2VnbWVudCBldmVudHMgdG8gYWxsIHBhZHMKCjIwMTItMTAtMjQgMTY6MzA6MDEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIHRoZSBBUEkgdG8gcmV0cmlldmUgZnJhZ21lbnQgdGltZXN0YW1wLCBmcmFnbWVudCBkdXJhdGlvbiBhbmQgbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uCgkgIFRoaXMgd2FzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHZhcmlhYmxlLWR1cmF0aW9uIEZyYWdtZW50cy4KCSAgaW4gdGhlIG5ldyBBUEk6CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X2N1cnJlbnRfcG9zaXRpb24gcmV0dXJucyB0aGUgdGltZXN0YW1wIG9mIHRoZSBORVhUIGZyYWdtZW50IHRvIGRvd25sb2FkOwoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIHJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBuZXh0IGZyYWdtZW50IHRvIGRvd25sb2FkOwoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb24gcmV0dXJucyB0aGUgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBmcm9tIHRoZSBNUEQgZmlsZTsKCSAgYWxzbyB0aGVyZSBpcyBhIG5ldyBpbnRlcm5hbCBwYXJzZXIgZnVuY3Rpb246CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X3NlZ21lbnRfZHVyYXRpb24gZXh0cmFjdHMgdGhlIGNvbnN0YW50IHNlZ21lbnQgZHVyYXRpb24gZnJvbSB0aGUgTVBEIGZpbGUKCSAgKG9ubHkgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFNlZ21lbnRUaW1lbGluZSBzeW50YXggZWxlbWVudCBpbiB0aGUgY3VycmVudCByZXByZXNlbnRhdGlvbikKCSAgSW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnQsIHdlIHNldCB0aGUgdGltZXN0YW1wL2R1cmF0aW9uIG9mIHRoZSBmcmFnbWVudCBqdXN0IGRvd25sb2FkZWQKCSAgY29weWluZyB0aGUgdmFsdWVzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgR3N0TWVkaWFTZWdtZW50LgoJICBUT0RPOiByZXdvcmsgU0VFS0lORyB0byBzdXBwb3J0IHNlZWtpbmcgYWNyb3NzIGRpZmZlcmVudCBQZXJpb2RzLgoKMjAxMi0xMC0yNCAxNDo1MDo1NCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBlZmZlY3RpdmUgc2VnbWVudCBkdXJhdGlvbiB0byByZXNjaGVkdWxlIHRoZSBzdHJlYW1pbmcgdGFzawoJICBkbyBub3QgYXNzdW1lIHNlZ21lbnQgZHVyYXRpb24gaXMgY29uc3RhbnQKCSAgQ29uZmxpY3RzOgoJICBleHQvZGFzaC9nc3RkYXNoZGVtdXguYwoKMjAxMi0xMC0yNCAxNDoyNDowNSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIGdzdF9kYXNoX2RlbXV4X2dldF9idWZmZXJpbmdfdGltZSgpIHRvIHJldHVybiB0aGUgZWZmZWN0aXZlIGJ1ZmZlcmluZyB0aW1lCgkgIGRvIG5vdCBhc3N1bWUgdGhlIEZyYWdtZW50IGR1cmF0aW9uIGlzIGNvbnN0YW50CgoyMDEyLTEwLTI0IDExOjQ5OjUxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29tcGxldGUgc3VwcG9ydCBmb3IgTWVkaWEgUHJlc2VudGF0aW9ucyB3aXRoIHNldmVyYWwgUGVyaW9kcwoJICAtIFBlcmlvZHMgYXJlIHBsYXllZCBpbiBzZXF1ZW5jZSwgZnJvbSBQZXJpb2RTdGFydCB0byBQZXJpb2RFbmQKCSAgLSBzZWFtbGVzcyBzd2l0Y2hpbmcgZnJvbSBvbmUgUGVyaW9kIHRvIHRoZSBuZXh0IG9uZSB3b3JrcyBmaW5lOwoJICAtIHRoZSAnbmV3LXNlZ21lbnQnIGdlbmVyYXRpb24gaXMgYnJva2VuLCBzbyBpZiB3ZSBuZWVkIHRvIHN3aXRjaCBwYWRzIGZvciBhIG5ldyBQZXJpb2QgdGhlcmUgaXMgYSBjcmFzaDsKCjIwMTItMTAtMjIgMTg6MTI6MzAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGluaXRpYWwgc3VwcG9ydCBmb3IgTWVkaWEgUHJlc2VudGF0aW9ucyBtYWRlIG9mIHNldmVyYWwgUGVyaW9kcwoJICAtIGJ1aWxkIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIFBlcmlvZHMgd2l0aCB0aGVpciBzdGFydCBhbmQgZHVyYXRpb24gdGltZQoJICAtIGFkZCB0aGUgbGlzdCBvZiBHc3RTdHJlYW1QZXJpb2QgaW4gdGhlIEdzdE1wZENsaWVudCBkYXRhIHN0cnVjdAoJICAtIHJlbW92ZSBjdXJfcGVyaW9kIGZyb20gR3N0TXBkQ2xpZW50IGFuZCBpbnRyb2R1Y2UgYW4gQVBJIHRvIGdldCB0aGUgY3VycmVudCBHc3RTdHJlYW1QZXJpb2QKCSAgLSBzZXZlcmFsIEFQSSBjbGVhbi11cHMKCjIwMTItMTAtMjQgMTg6MTA6NDcgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBCYXNlVVJMIGZvciBTZWdtZW50VVJMIHVzaW5nIG1lZGlhUmFuZ2UKCSAgVGhpcyBpcyB1c2VkIGluIGJpZ19idWNrX2J1bm55X0NhcHBlZFZCUl9NdWx0aXJhdGVfNHNfMF9BdWRpb1ZpZGVvX01haW5Qcm9maWxlLm1wZAoKMjAxMi0xMC0yNCAxODowNDowNyArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmYWN0b3JpemUgYWRkaW5nIHJhbmdlIHBhcmFtZXRlciB0byBVUkwKCjIwMTItMTAtMTkgMjA6MTI6MDkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIGNhcHMgZGV0ZWN0aW9uCgkgIGFsc28gcmV3b3JrZWQgdGhlIEFQSSB0byBleHRyYWN0IGF1ZGlvL3ZpZGVvIHBhcmFtZXRlcnMgZnJvbSB0aGUgbWFuaWZlc3QgZmlsZQoJICAobWltZVR5cGUsIHdpZHRoLCBoZWlnaHQsIHJhdGUsIG51bSBjaGFubmVscykKCjIwMTItMTAtMTkgMTk6MDM6NDEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHNlbmQgYm9ndXMgZHVyYXRpb24gbWVzc2FnZXMgd2hlbiBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGlzIHVua25vd24KCjIwMTItMTAtMTkgMTg6NDU6MzAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IFNlZ21lbnRUaW1lbGluZSBzeW50YXggYWxzbyBmb3IgbGlzdC1iYXNlZCBtZWRpYSBzZWdtZW50IGdlbmVyYXRpb24KCjIwMTItMTAtMTkgMTc6NDc6NTEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkIHN1cHBvcnQgZm9yIFNlZ21lbnRUaW1lbGluZSBzeW50YXggZWxlbWVudHMKCSAgYnVpbGQgdGhlIGxpc3Qgb2Ygc2VnbWVudHMgdG8gYmUgcGxheWVkIHVzaW5nIHRoZSBTZWdtZW50VGltZWxpbmUgc3ludGF4LCBpZiBwcmVzZW50CgkgIGJ1Z2ZpeGVzOgoJICAtIGZvciBkeW5hbWljIE1QRCBmaWxlcywgd2hlbiBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGlzIG5vdCBwcmVzZW50IHVzZSBtaW5pbXVtVXBkYXRlUGVyaW9kIGluc3RlYWQKCSAgLSBkbyBub3QgYWRkIGEgc3B1cmlvdXMgJyQnIHdoZW4gYnVpbGRpbmcgYW4gVVJMIGZyb20gYSB0ZW1wbGF0ZSBsaWtlICIkQmFuZHdpZHRoJC9pbml0Lm1wNHYiCgkgIC0gaW50cm9kdWNlIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50KCkgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbgoKMjAxMi0xMC0xOSAxNTo0Mjo1MSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHdyb25nIGluZGV4IGluIGZyYWdtZW50cwoKMjAxMi0xMC0xOSAxMjowMTowMyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X3NldCgpCgkgIHdlIGhhdmUgdG8gZnJlZSBuZXh0X2ZyYWdtZW50X3VyaQoKMjAxMi0xMC0xOSAxMDo1MDoxNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDEwOjQzOjQ5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgU2VlayBldmVudCBoYW5kbGluZyBjbGVhbnVwCgoyMDEyLTEwLTE4IDE4OjQ5OjUzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBwbGF5aW5nIG9mIHNpbmdsZS1zZWdtZW50IG1lZGlhIHN0cmVhbXMKCSAgb3RoZXIgZml4ZXM6CgkgIC0gZml4ZWQgYSBidWZmZXJpbmcgYnVnOiBub3cgd2Ugc3RvcCBidWZmZXJpbmcgd2hlbiB3ZSByZWFjaCB0aGUgZW5kIG9mIG1hbmlmZXN0CgkgIC0gbm93IGdzdF9tcGRfY2xpZW50X2dldF90YXJnZXRfZHVyYXRpb24oKSBhbHdheXMgcmV0dXJucyBhIHZhbGlkIGR1cmF0aW9uCgkgIChpbiBjYXNlIG9mIHNpbmdsZS1zZWdtZW50IHN0cmVhbXMsIHdlIHJldHVybiBlaXRoZXIgUGVyaW9kIGR1cmF0aW9uIG9yIG1lZGlhUHJlc2VudGF0aW9uIGR1cmF0aW9uKQoJICBUT0RPOiBzdXBwb3J0IFNlZ21lbnRUaW1lbGluZQoKMjAxMi0xMC0xNyAxODo0NjoyMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogZGVsZXRlZCB1c2VsZXNzIGRlY2xhcmF0aW9uIG9mIGdzdF91cmlfZG93bmxvYWRlcl9mcmVlKCkKCjIwMTItMTAtMTcgMTg6NDU6MjUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHdoZW4gcG9zc2libGUsIHJldXNlIGV4aXN0aW5nIGVsZW1lbnQgdG8gZG93bmxvYWQgYSBuZXcgVVJJCgkgIHByZXZpb3VzbHkgYSBuZXcgZWxlbWVudCB3YXMgYWxsb2NhdGVkIGZvciBlYWNoIG1lZGlhIHNlZ21lbnQsIGFuZCBpdCB3YXMgbmV2ZXIgZnJlZWQKCjIwMTItMTAtMTcgMTg6NDM6MjYgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1bnJlZiBjYXBzIGluIGZ1bmN0aW9uIG5lZWRfYWRkX2hlYWRlcigpCgoyMDEyLTEwLTE3IDE4OjQyOjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IGV4dHJhY3Rpb24gb2YgU2VnbWVudFRlbXBsYXRlLT5pbml0aWFsaXphdGlvbiBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9oZWFkZXIoKQoJICBub3cgdGhlIGZvbGxvd2luZyBNUEQgZmlsZXMgYXJlIHByb3Blcmx5IHN1cHBvcnRlZDoKCSAgaHR0cDovL2Rhc2guZWRnZXN1aXRlLm5ldC9hZG9iZS9oZHdvcmxkX2Rhc2gvSERXb3JsZC0xNjAwLm1wZAoJICBodHRwOi8vZGFzaC5lZGdlc3VpdGUubmV0L2Fkb2JlL2hkd29ybGRfZGFzaC9IRFdvcmxkLm1wZAoKMjAxMi0xMC0xNyAxODo0MDowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfZGFzaF9kZW11eF9nZXRfbmV4dF9oZWFkZXIoKQoKMjAxMi0xMC0xNyAxNTo1MjoxOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFdlIG5vdyBvbmx5IGFjY2VwdCBhY3R1YWwgbWFuaWZlc3QgZmlsZXMsIGFuZCBub3QgYW55IFhNTCBmaWxlCgoyMDEyLTEwLTE3IDE1OjUwOjMzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIEFkZGVkIGEgdHlwZWZpbmQgaGVscGVyIGZvciBEQVNIOiB0aGlzIGNvbW1pdCBzaG91bGQgYmUgcmV2ZXJ0ZWQgYXMgc29vbiBhcyBhIHByb3BlciBwYXRjaCBoYXMgYmVlbiBzdWJtaXR0ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZQoKMjAxMi0xMC0xNyAxMDowMjozOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHN0YXRlIG1hY2hpbmUgKGFnYWluKQoKMjAxMi0xMC0xNiAxNjo0NjoxNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvZGUgcmVmYWN0b3JpbmcKCjIwMTItMTAtMTYgMTY6MzQ6MTAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCBzdGF0ZSBtYWNoaW5lCgoyMDEyLTEwLTE2IDEzOjQzOjM5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgdGhlIHRhc2tzIHNodXRkb3duIGNvZGUKCjIwMTItMTAtMTYgMTI6NTE6NDQgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGRlZCBtaXNzaW5nIGdfbGlzdF9mcmVlCgoyMDEyLTEwLTE2IDExOjQ0OjI2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG8gbm90IGFuc3dlciB0byBVUkkgcXVlcmllcwoKMjAxMi0xMC0xNiAxMTozOToxOCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFRyeSBxdWVyaWVzIHVwc3RyZWFtIGlmIHdlIGNhbm5vdCBwcm9jZXNzIHRoZW0KCjIwMTItMTAtMTYgMTE6MjY6MDMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVuYW1lZCBkZW11eC0+bmV4dF9zdHJlYW0gaW4gZGVtdXgtPm5leHRfcHVzaAoKMjAxMi0xMC0xNiAxMToyMzoyNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIElubGluZWQgb25lLWxpbmUgdXRpbGl0eSBmdW5jaXRvbiB0aGF0IHdhcyBjYWxsZWQgb25seSBvbmNlCgoyMDEyLTEwLTE2IDA5OjEwOjAwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgcmVncmVzc2lvbiBhZnRlciB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZSBtdWx0aS1zY3JlZW4gc3VwcG9ydCwgcHJldmVudGluZyB0aGUgcGlwZWxpbmUgZnJvbSBzdG9wcGluZyBwcm9wZXJseQoKMjAxMi0xMC0xNSAxNjo0MToyOCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIE1vZGlmaWVkIGxvZyBsZXZlbCBvZiBzaHV0ZG93biBtZXNzYWdlCgoyMDEyLTEwLTE1IDE1OjA4OjUzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudHM6IFdlIGRvbid0IHNlbGVjdCBhIHNpbmdsZSByZXByZXNlbnRhdGlvbiwgYnV0IGEgcmVwcmVzZW50YXRpb24gZm9yIGVhY2ggc3RyZWFtIENvZGU6IGNsZWFudXAgb2YgZ3N0X2dldF9uZXh0X2ZyYWdtZW50IChhbHNvIHJlbmFtZWQgaW4gZ3N0X2dldF9uZXh0X2ZyYWdtZW50X3NldCkKCjIwMTItMTAtMTUgMTQ6MjU6MjcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIGRlYnVnIHRyYWNlCgoyMDEyLTEwLTE1IDE0OjE0OjUzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkZWQgaW50cm9kdWN0aW9uIGFuZCBnZW5lcmFsIGRlc2lnbiBub3RlcwoKMjAxMi0xMC0xNSAxMzo1NDoxNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHdyb25nIGNvbW1lbnQKCjIwMTItMTAtMTUgMTM6NTI6MzEgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEb2N1bWVudGVkIGdzdF9kYXNoX2RlbXV4X2Rvd25sb2FkX2xvb3AKCjIwMTItMTAtMTUgMTM6MzU6MTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50ZWQgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX2xvb3AKCjIwMTItMTAtMTUgMTM6MTc6MTIgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50ZWQgbmVlZHNfcGFkX3N3aXRjaAoKMjAxMi0xMC0xNSAxMzowOTo0OSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvY3VtZW50ZWQgdGhlIHJlcHJlc2VudGF0aW9uIHN3aXRjaCBtZWNoYW5pc20KCjIwMTItMTAtMTUgMTE6NDA6NTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVwbGFjZWQgcmVmZXJlbmNlcyB0byBwbGF5bGlzdCAoSExTKSBieSByZWZlcmVuY2VzIHRvIG1hbmlmZXN0IChEQVNIKQoKMjAxMi0xMC0xNSAxMTozMzo1OCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbmFtZWQgZ3N0X2Rhc2hfZGVtdXhfc3dpdGNoX3BsYXlsaXN0IHRvIGdzdF9kYXNoX2RlbXV4X3NlbGVjdF9yZXByZXNlbnRhdGlvbiBhbmQgYWRkZWQgY29tbWVudHMKCjIwMTItMTAtMTUgMTE6MTk6MjkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIG9ic29sZXRlIGNvbW1lbnQKCjIwMTItMTAtMTUgMTE6MTg6MjUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTAtMTEgMTI6NTQ6NTAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgVXBkYXRlZCBSRUFETUUKCjIwMTItMTAtMDkgMTM6MjQ6MjMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IE1QRCBmaWxlcyB3aXRoIFNlZ21lbnRCYXNlIGVsZW1lbnRzIGVuY29kZWQgaW5zaWRlIGEgU2VnbWVudExpc3QgZWxlbWVudAoJICBhbHNvIHByb3Blcmx5IHN1cHBvcnQgTVBEIGZpbGVzIHdpdGhvdXQgYW55IEluaXRpYWxpemF0aW9uIHNlZ21lbnQKCjIwMTItMTAtMDggMTc6NDM6MTQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXIvZGFzaGRlbXV4OiBmaXhlZCBnZXRfd2lkdGgsIGdldF9oZWlnaHQsIGdldF9hdWRpb19yYXRlLCBnZXRfbnVtX2F1ZGlvX2NoYW5uZWxzIEFQSSBmdW5jdGlvbnMKCSAgdGhlIGFjdHVhbCB2YWx1ZXMgbm93IGNhbiBiZSBleHRyYWN0ZWQgYWxzbyBmcm9tIHRoZSBBZGFwdGF0aW9uU2V0IGVsZW1lbnQ7CgkgIGNoZWNraW5nIE5VTEwgc3RydWN0cyBmb3IgYmV0dGVyIHJvYnVzdG5lc3M7CgoyMDEyLTEwLTA4IDE2OjU5OjIxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGFkZGVkIHN1cHBvcnQgZm9yIHNpbmdsZS1zZWdtZW50IHN0cmVhbXMgd2l0aCB0aGUgVVJMIGVuY29kZWQgaW4gdGhlIGJhc2VVUkwgc3ludGF4IGVsZW1lbnQKCjIwMTItMTAtMDggMTU6MjY6NDggKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkZWQgbGFuZyBhdHRyaWJ1dGUgdG8gUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGUKCjIwMTItMTAtMDggMTE6NDc6NDUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3IgQWNjZXNzaWJpbGl0eSwgUm9sZSwgUmF0aW5nLCBWaWV3cG9pbnQgZWxlbWVudHMgdG8gQWRhcHRhdGlvblNldCBub2RlCgkgIHRob3NlIGFyZSBEZXNjcmlwdG9yVHlwZSBlbGVtZW50cywgc28gdGhleSBhcmUganVzdCBwYXJzZWQgYW5kIGR1bXBlZCBmb3Igbm93OwoKMjAxMi0xMC0wOCAxMTozMDo0MCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IG11bHRpcGxlIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlcwoJICBub3cgd2Uga2VlcCBhIGxpc3Qgb2YgUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGVzIGZvciBlYWNoIFBlcmlvZCBub2RlCgoyMDEyLTEwLTA4IDExOjE2OjA5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBmaXhlZCBwYXJzaW5nIG9mIFNlZ21lbnRMaXN0IHN5bnRheCBlbGVtZW50LCBhbmQgZWxpbWluYXRlZCBSZXByZXNlbnRpb24gbm9kZSBsaXN0IGZyb20gUGVyaW9kIG5vZGUKCSAgU2VnbWVudExpc3Qgbm9kZXMgYXJlIGFsbG93ZWQgaW50byBQZXJpb2QsIEFkYXB0YXRpb25TZXQgb3IgUmVwcmVzZW50YXRpb24gbm9kZXMKCSAgYW5kIHRoZXJlIGlzIGF0IG1vc3QgMSBlbGVtZW50LCBzbyBubyBuZWVkIHRvIGtlZXAgYSBsaXN0OwoJICBQZXJpb2Qgbm9kZXMgY2Fubm90IGhhdmUgYW55IFJlcHJlc2VudGlvbiBlbGVtZW50cywgYXMgQWRhcHRhdGlvblNldCBub2RlcyBhcmUgbWFuZGF0b3J5OwoJICB0aGlzIGJyZWFrcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBsZWdhY3kgREFTSCB0ZXN0IHNlcXVlbmNlcy4KCjIwMTItMTAtMDggMTA6Mjk6MDQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXhlZCByZXR1cm4gd2l0aCBubyB2YWx1ZQoJICBnc3RtcGRwYXJzZXIuYzogSW4gZnVuY3Rpb24g4oCYZ3N0X21wZHBhcnNlcl9nZXRfbGlzdF9hbmRfbmJfb2ZfYXVkaW9fbGFuZ3VhZ2XigJk6CgkgIGdzdG1wZHBhcnNlci5jOjI4OTE6IHdhcm5pbmc6IOKAmHJldHVybuKAmSB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQKCjIwMTItMTAtMDggMTA6MjQ6MjkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlci5jLy5oOiBjaGFuZ2VkIGxpY2Vuc2UgZnJvbSBkdWFsIE1JVC9MR1BMIDIuMCB0byBMR1BMIDIuMQoJICB1bmlmb3JtZWQgbGljZW5jaW5zaW5nIHRvIHRoZSBvdGhlciBsaWJyYXJpZXMgaW4gdGhlIGRhc2hkZW11eCBwcm9qZWN0CgoyMDEyLTEwLTAyIDAyOjI4OjU4ICswMjAwICBoemFrYXJpIDxoYW1pZC56YWthcmlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgT3B0aW1pemUgdGhlIHR3byBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdGhlIG51bWJlciBhbmQgdGhlIGxpc3Qgb2YgbGFuZ3VhZ2VzIGluIGEgc2luZ2xlIGZ1bmN0aW9uCgoyMDEyLTA5LTI5IDA1OjI3OjUxICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZCB0aGUgaGVhZGVycyB0byB0aGUgYWRhcHRhdGlvbnNldHMgc2VnbWVudHMgaWYgYW55IG9uZSBvZiB0aGVzZSBjaGFuZ2VkIHJlcHJlc2VudGF0aW9uCgoyMDEyLTA5LTI5IDAzOjEzOjI5ICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIFN1cHBvcnQgTXVsdGkgbGFuZ3VhZ2VzIChuZWVkIGEgZGVjb2RlYmluMiBwYXRjaCkKCjIwMTItMDktMjkgMDI6NDE6MTMgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlIHRoZSAiVE9ETyIgY29tbWVudAoKMjAxMi0wOS0yOCAxMjo1NToyNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQ09QWUlORzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZW5hbWVkIExJQ0VOU0UgaW50byBDT1BZSU5HCgoyMDEyLTA5LTI4IDExOjQ2OjAwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJICBVcGRhdGVkIGF1dGhvcnMKCjIwMTMtMDUtMDggMTE6MTM6MzIgLTAzMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkqIGV4dC9kYXNoL0xJQ0VOU0U6CgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9SRUFETUU6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZ3N0ZGFzaGRlbXV4IHNvdXJjZXMKCjIwMTItMTAtMjYgMTg6MDA6MDIgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlIERWQiBBUEkgdjUgYWthIFMyQVBJIGluc3RlYWQgb2Ygb2Jzb2xldGUgdjMgQVBJCgkgIFBhdGNoIGlzIGJhc2VkIG9uIHdvcmsgb2YgVG9ueSBIb3VnaHRvbiA8aEByZWFsaC5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDQ3OQoKMjAxMy0wNS0wOCAxNTo0MjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBwYXNzIHdpZHRoLCBoZWlnaHQsIGNoYW5uZWxzIGFuZCByYXRlIGFzIGludGVnZXIKCSAgZ19hc2NpaV9zdHJ0b3VsbCgpIHJldHVybnMgYSBsb25nIGxvbmcgaW50ZWdlciwgYnV0IHdlIG5lZWQgdG8KCSAgcGFzcyBhIG5vcm1hbCBpbnQgdG8gZ3N0X3N0cnVjdHVyZV9zZXQoKSBmb3IgZmllbGRzIG9mIEdfVFlQRV9JTlQsCgkgIHNvIGNhc3QgYXBwcm9wcmlhdGVseS4KCjIwMTMtMDUtMDggMTI6NDU6MjAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5oOgoJICB2ZHBhdTogQWRkIFZkcFZpZGVvU3VyZmFjZSBjYXBzIGZlYXR1cmUKCjIwMTMtMDUtMDggMTA6NTU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogZml4IFdNViBjYXBzCgkgIE1ha2VzIHRoaXMgc2hvdyBhdCBsZWFzdCBhIHBpY3R1cmU6CgkgIGh0dHA6Ly9wbGF5cmVhZHkuZGlyZWN0dGFwcy5uZXQvc21vb3Roc3RyZWFtaW5nL1RUTFNTNzIwVkMxL1RvX1RoZV9MaW1pdF83MjAuaXNtL01hbmlmZXN0CgoyMDEzLTA0LTIzIDEyOjA4OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgcHJpbnQgZm9ybWF0cwoKMjAxMy0wNC0xNiAxOTozNTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMiAxNTo1OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVtb3ZlIGFscmVhZHkgZml4ZWQgVE9ETyBjb21tZW50CgoyMDEzLTA0LTEyIDE1OjU4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZXBsYWNlIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSB3aXRoIHNpbXBsZXIgZnVuY3Rpb24KCSAgVGhlIGRlc2VyaWFsaXphdGlvbiB3YXMgb25seSB1c2VkIHRvIGNvbnZlcnQgaGV4IHN0cmluZ3MgaW50bwoJICBHc3RCdWZmZXJzLiBSZXBsYWNlIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSB3aXRoIGEgc2ltcGxlciwgZGlyZWN0CgkgIGZ1bmN0aW9uLgoKMjAxMy0wNC0xMiAxNTo1NjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IG5ld3NlZ21lbnQgZXZlbnQgbGVhawoKMjAxMy0wNC0xMiAxNTo1NToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVwbGFjZSB1bnVzZWQgcGFyYW1ldGVyCgkgIFRoZSBidWZmZXIgcGFyYW1ldGVyIHdhc24ndCBiZWluZyB1c2VkLCBpdCB3YXMgb25seSB0byBzaWduYWwgaWYKCSAgYSBidWZmZXIgd2FzIGRvd25sb2FkZWQgYW5kIGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQgaW4gdGhlCgkgIG1hbmlmZXN0LgoJICBSZXBsYWNlIHRoZSBidWZmZXIgd2l0aCBhIGJvb2xlYW4gdGhhdCBoYXMgdGhlIHNhbWUgZWZmZWN0IGFuZCBpcwoJICBzYWZlcgoKMjAxMy0wMy0xMSAxMDowOTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzOiBhdm9pZCBHVmFsdWUgbGVhawoKMjAxMy0wMi0yMiAxNzowMDozMCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJICBtc3NkZW11eDogZml4IGEgc21hbGwgbWVtb3J5IGxlYWsKCjIwMTMtMDItMTkgMTM6MTc6NTMgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhdm9pZCBzdHJlYW1pbmcgdG8gZmFpbCB3aGVuIGRvd25sb2FkIGlzIGNhbmNlbGxlZAoJICBXaGVuIGRvd25sb2FkIHdhcyBmYWlsaW5nIHJlcGVhdGVkbHksIGl0IHdhcyBjYXVzaW5nIHN0cmVhbWluZyB0byBmYWlsIGV2ZW4gdGhvdWdoIGl0IHdhcyBjYW5jZWxsZWQgb24gcHVycG9zZSAoc3RvcHBpbmcgdGFza3MpLgoKMjAxMy0wMi0wOCAwMjowMTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVtb3ZpbmcgdW51c2VkIGZ1bmN0aW9ucwoKMjAxMy0wMi0wOCAwMTo1MTozMCAtMDIwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBzd2l0Y2ggYml0cmF0ZXMgd2l0aG91dCBzd2l0Y2hpbmcgcGFkcwoKMjAxMy0wMi0wNyAxNjoyNjo0NiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IENoZWNrIGlmIHBhZHMgYXJlIHZhbGlkIGJlZm9yZSByZW1vdmluZy4KCjIwMTMtMDItMDcgMDM6MTA6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYWRkIGEgbWF4aW11bSBlcnJvciBjb3VudCBmb3IgZG93bmxvYWRzCgkgIG1zc2RlbXV4IHdpbGwgdG9sZXJhdGUgYSBmZXcgZG93bmxvYWQgZXJyb3JzIGJlZm9yZSBlbWl0dGluZyBhbgoJICBlcnJvciBtZXNzYWdlIHRvIHRoZSBidXMKCjIwMTMtMDItMDYgMDg6NDg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiB1c2Ugc3RyZWFtcyBiaXRyYXRlIGluZGl2aWR1YWxseQoJICBjb25uZWN0aW9uIHNldHVwIHRpbWVzIHNlZW0gdG8gbWF0dGVyIHdoZW4gbWVhc3VyaW5nIHRoZSBkb3dubG9hZAoJICByYXRlIG9mIGRpZmZlcmVudCBzdHJlYW1zLiBTdHJlYW1zIHdpdGggbG9uZ2VyIGZyYWdtZW50cyBoYXZlIGEKCSAgKnJlbGF0aXZlbHkqIGxvd2VyIGNvbm5lY3Rpb24gc2V0dXAgdGltZSBhbmQgYWNoaWV2ZSBoaWdoZXIgYml0cmF0ZXMuCgkgIFVzaW5nIHRoZSBhdmVyYWdlIHNlZW1zIHVuZmFpciBoZXJlLCBzbyB1c2UgZWFjaCBzdHJlYW0ncyBtZWFzdXJlZCBiaXRyYXRlCgkgIHRvIHNlbGVjdCBpdHMgYmVzdCBxdWFsaXR5IG9wdGlvbi4KCjIwMTMtMDItMDUgMTc6NDg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdXNlIGRvd25sb2FkYml0cmF0ZSB1dGlsaXR5IGZvciBtZWFzdXJpbmcgYml0cmF0ZQoJICBkb3dubG9hZGJpdHJhdGUga2VlcHMgYSBzaG9ydCBoaXN0b3J5IG9mIGJpdHJhdGVzIGFuZCBoZWxwcwoJICB0cmFja2luZyB0aGUgY3VycmVudCBhdmVyYWdlIGRvd25sb2FkIGJpdHJhdGUgZm9yIG1zc2RlbXV4CgoyMDEzLTAyLTA1IDA0OjAxOjA0IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogUHJvcGVybHkgY29tcHV0ZSBuZXcgYml0cmF0ZSBhbmQgdXNlIGJpdHJhdGVfbGltaXQuCgoyMDEzLTAyLTA1IDAzOjI3OjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQXZvaWQgYSBwb3NzaWJsZSBkaXZpc2lvbiBieSB6ZXJvCgoyMDEzLTAyLTA1IDAzOjI3OjIyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWRkIG1pc3Npbmcgb2JqZWN0IHBhcmFtIHRvIEdTVF9ERUJVR3xJTkZPX09CSkVDVCBjYWxscwoKMjAxMy0wMi0wNSAwMDoyODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYml0cmF0ZS1saW1pdCBwcm9wZXJ0eQoJICBJdCBhbGxvd3MgdGhlIHBsdWdpbiB0byB1c2UgaXRzIG93biBkb3dubG9hZGluZyBiaXRyYXRlIG1lYXN1cmVzCgkgIGFzIGEgZmVlZGJhY2sgdG8gc2VsZWN0IHRoZSBiZXN0IHN0cmVhbXMgYml0cmF0ZSBmb3IgdGhlIGN1cnJlbnQKCSAgbmV0d29yayBzY2VuYXJpbwoKMjAxMy0wMi0wNCAyMTo1ODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdXNlIHRoZSBzaGFyZWQgdXJpZG93bmxvYWRlciBsaWIgaW5zdGVhZCBvZiBhbiBpbnRlcm5hbCBjb3B5CgoyMDEzLTAyLTA0IDAyOjIwOjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG8gbm90IGJsb2NrIG9uIHJlc2V0LgoJICBXZSBuZWVkIHRvIGNhbmNlbCB0aGUgZG93bmxvYWRlciBmb3IgZWFjaCBzdHJlYW0gYmVmb3JlIGpvaW5pbmcgdGhlIG1haW4gZG93bmxvYWQgdGFzaywgb3RoZXJ3aXNlCgkgIHRoZSBkb3dubG9hZCB0YXNrIHdpbGwgYmxvY2sgdW50aWwgYWxsIHRoZSBzdHJlYW0gdGFza3MgZmluaXNoLgoKMjAxMy0wMi0wMSAxNzo0NDowNCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBoYW5kbGUgRkxVU0ggZXZlbnRzIGJ5IHJlc2V0dGluZyB0aGUgZGVtdXhlciBzdGF0ZQoKMjAxMy0wMi0wMSAxNzo0Mzo0NiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgY29uZGl0aW9ucyB0byBwcmV2ZW50IHNvbWUgY3Jhc2hlcwoKMjAxMy0wMi0wMSAxNzoyOTo1OCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiB1c2Ugc3RhbmRhcmQgZ2xpYiBtZXRob2RzCgoyMDEzLTAyLTAxIDE3OjI3OjE5IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNvbWUgbWVtb3J5IGxlYWtzIGFuZCB1c2UgcmlnaHQgZnJlZSBmdW5jdGlvbgoKMjAxMy0wMi0wMSAxNzoxMjo0MSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkb24ndCBzdG9wIGEgdGFzayBmcm9tIGluc2lkZSB0aGUgbG9vcAoJICBPbmx5IHBhdXNlIHRoZSB0YXNrCgoyMDEzLTAxLTMxIDE2OjE0OjM3IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGxvZyBtYW5pZmVzdCBjb250ZW50IGZvciBkZWJ1Z2dpbmcKCjIwMTMtMDEtMzAgMDA6MjI6NTAgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogbWFrZSBjb2RlYyBwcml2YXRlIGRhdGEgZnJvbSBtYW5pZmVzdCBhdHRyaWJ1dGVzIHdpdGggQUFDLUxDCgkgIFdoZW4gdGhlIGNvZGVjIGlzIEFBQy1MQywgc29tZSBzZXJ2ZXIgaW1wbGVtZW50YXRpb24gKGUuZy4gTWljcm9zb2Z0IElJUykgZG9lc24ndCBhZGQgdGhlIENvZGVjUHJpdmF0ZURhdGEgYXR0cmlidXRlLiBUaGUgZWxlbWVudCBuZWVkcyB0byByZS1jcmVhdGUgdGhlIGNvZGVjIGRhdGEgZnJvbSB0aGUgUXVhbGl0eSBMZXZlbCBhdHRyaWJ1dGVzIChjaGFubmVscyBhbmQgc2FtcGxpbmcgcmF0ZSkuCgoyMDEzLTAxLTI5IDIyOjU3OjM2IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG9ubHkgdHJ5IHRvIHJlbG9hZCB0aGUgbWFuaWZlc3QgZm9yIGxpdmUgc3RyZWFtcwoJICBUaGVyZSBpcyBubyB3YXkgdG8ga25vdyBpZiBhIGxpdmUgc3RyZWFtIGlzIHJlYWxseSBmaW5pc2hlZCwgc28gdHJ5IHRvIHJlbG9hZCB0aGUgbWFuaWZlc3QgYW5kIGNoZWNrIGlmIHRoZXJlIGFyZSBtb3JlIGZyYWdtZW50cyB0byBkb3dubG9hZC4gRWxzZSBqdXN0IGxldCBrbm93IGl0J3MgdGhlIEVPUy4KCjIwMTMtMDEtMjUgMjE6MjQ6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCSAgQWRkcyBhIGxpdHRsZSBiaXQgb2YgZG9jcyBleHBsYW5pbmcgdGhlIGludGVybmFscyBvZiBtc3NkZW11eAoKMjAxMy0wMS0yMiAxNzozMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIG1heC1xdWV1ZS1zaXplLWJ1ZmZlcnMgcHJvcGVydHkKCSAgSW5kaWNhdGVzIGhvdyBtdWNoIGJ1ZmZlcmluZyBzaG91bGQgYmUgZG9uZSBpbnRlcm5hbGx5IGluCgkgIG1zc2RlbXV4CgoyMDEzLTAxLTIxIDE4OjA1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzdG9wIHRhc2tzIGZhc3RlcgoJICBJc3N1ZSBhIGNhbmNlbCB0byB0aGUgZG93bmxvYWRlcnMgc28gdGhleSBzdG9wIGVhcmxpZXIKCjIwMTMtMDEtMTcgMTY6MjA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBsaXZlIHN0cmVhbXMgaGFuZGxpbmcKCSAgTGl2ZSBzdHJlYW1zIGZvcmNlIHRoZSBkZW11eGVyIHRvIGtlZXAgcmVsb2FkaW5nIHRoZSBNYW5pZmVzdCBmcm9tCgkgIHRpbWUgdG8gdGltZSwgYXMgdGhlIG5ldyBmcmFnbWVudHMgYXJlIGJlaW5nIGFkZGVkIGFzIHRoZXkgYXJlIHJlY29yZGVkLgoJICBUaGUgZGVtdXhlciBzaG91bGQgYWxzbyB0cnkgdG8ga2VlcCB1cCBhbmQgZGV0ZWN0IHdoZW4gaXQgaGFkIHRvIHNraXAKCSAgZnJhZ21lbnRzLCBtYXJraW5nIHRoZSBkaXNjb250IGZsYWcgd2hlbiB0aGF0IGhhcHBlbnMuCgkgIEN1cmlvdXNseSwgdGhlIHNwZWMgZG9lc24ndCBzZWVtIHRvIG1lbnRpb24gd2hlbi9ob3cgYSBsaXZlIHN0cmVhbSBpcyBzdXBwb3NlZAoJICB0byBlbmQsIHNvIGtlZXAgdHJ5aW5nIGRvd25sb2FkcyB1bnRpbCB0aGUgZGVtdXhlciBlcnJvcnMgb3V0LgoKMjAxMy0wMS0xNyAxNjoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IGxlYWsgZnJhZ21lbnRzCgoyMDEzLTAxLTE3IDEzOjQ4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggaXNzdWUgb24gZnJhZ21lbnQgdGltZXN0YW1waW5nIHBhcnNpbmcKCSAgVXNlIGd1aW50NjQgYXMgdGhlIGZyYWdtZW50cyBjYW4gc3RhcnQgYXQgdmVyeSBoaWdoIG51bWJlcnMsCgkgIHNwZWNpYWxseSBvbiBsaXZlIHN0cmVhbXMKCjIwMTMtMDEtMTYgMTU6Mjg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGVycm9yIG91dCB3aGVuIHVwc3RyZWFtIGRvZXNuJ3QgaW1wbGVtZW50IFVSSSBxdWVyeQoJICBFcnJvciBvdXQgd2hlbiB1cHN0cmVhbSBkb2Vzbid0IGFuc3dlciB0byBVUkkgcXVlcnkgYW5kIG1zc2RlbXV4CgkgIGRvZXNuJ3Qga25vdyB0aGUgVVJJIHRvIGZldGNoIHRoZSBmcmFnbWVudHMgZnJvbQoKMjAxMy0wMS0xNSAxNzozMToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcHVzaCBuZXdzZWdtZW50cyB3aXRoIHNhbWUgc3RhcnQgdGltZSBvbiBiaXRyYXRlIHN3aXRjaGVzCgkgIFRoaXMga2VlcHMgc2lua3Mgd29ya2luZyBpbiBzeW5jIGFmdGVyIGEgYml0cmF0ZSBzd2l0Y2gKCjIwMTMtMDEtMTQgMTM6MjE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmV3cml0aW5nIHBhZCB0YXNrcyBzbyB0aGF0IGJ1ZmZlcnMgYXJlIHB1c2hlZCBieSB0cyBvcmRlcgoJICBVc2UgcGFkIHRhc2tzIHRvIGRvd25sb2FkIGRhdGEgYW5kIGFuIGV4dHJhIHRhc2sgdGhhdCBnZXRzIHRoZSBlYXJsaWVyCgkgIGJ1ZmZlciAod2l0aCB0aGUgc21hbGxlc3QgdGltZXN0YW1wKSBhbmQgcHVzaGVzIG9uIHRoZSBjb3JyZXNwb25kaW5nCgkgIHBhZC4KCSAgVGhpcyBwcmV2ZW50cyB0aGF0IHRoZSBhdWRpbyBzdHJlYW0gcnVzaGVzIGFoZWFkIG9uIGJ1ZmZlcnMgYXMgaXRzCgkgIGZyYWdtZW50cyBzaG91bGQgYmUgc21hbGxlcgoKMjAxMy0wMS0xMSAxNTowMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc29tZSBmaXhlcyB0byBiaXRyYXRlIHN3aXRjaGluZwoJICBSZW1vdmVzIGEgcG9zc2libGUgZGVhZGxvY2sgZnJvbSBiaXRyYXRlIHN3aXRjaGluZyB3aGVuIHRoZSBwYWQKCSAgdGhhdCByZXF1ZXN0ZWQgdGhlIHN3aXRjaCBibG9ja3Mgb24gaXRzIHBhZC1wdXNoCgoyMDEzLTAxLTEwIDE2OjI2OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZWZhY3RvcmluZyBmcmFnbWVudCBkb3dubG9hZCB0byBpdHMgb3duIGZ1bmN0aW9uCgkgIE1ha2VzIGNvZGUgY2xlYXJlciBhbmQgaGVscHMgY2hhbmdpbmcgdGhlIGRvd25sb2FkIHBhcnQgb2YgdGhlCgkgIGNvZGUgdG8gaXRzIG93biB0aHJlYWQKCjIwMTMtMDEtMTAgMTU6MTY6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IGJpdHJhdGUgc3dpdGNoaW5nCgkgIFdoZW4gY29ubmVjdGlvbi1zcGVlZCBjaGFuZ2VzLCBzaWduYWwgdGhhdCB3ZSBtaWdodCBuZWVkIGEgYml0cmF0ZQoJICBzd2l0Y2guIER1cmluZyB0aGUgc3dpdGNoLCBhIG5ldyBwYWQgZ3JvdXAgaXMgYWRkZWQgYW5kIHRoZSBvbGQgb25lCgkgIGlzIGRyYWluZWQgYW5kIHJlbW92ZWQuCgkgIE5ldyBwYWRzIGFsc28gbmVlZCB0byBwdXNoIG5ld3NlZ21lbnRzIGJlZm9yZSBzdGFydGluZyB0byBzdHJlYW0KCjIwMTMtMDEtMDggMTg6MDE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIFRoaXMgc3BlZWQgbGltaXRzIHRoZSBtYXhpbXVtIGJpdHJhdGUgb2Ygc3RyZWFtcy4gQ3VycmVudGx5IGl0CgkgIGlzIG9ubHkgcmVhZCB3aGVuIHN0YXJ0aW5nIHRoZSBwaXBlbGluZSwgYnV0IGl0IHNob3VsZCBiZSB1c2VkCgkgIGZvciBzd2l0Y2hpbmcgYml0cmF0ZXMgZHVyaW5nIHBsYXliYWNrIHRvIGFkYXB0IHRvIG5ldHdvcmsKCSAgY2hhbmdlcy4KCjIwMTMtMDEtMDggMTc6NTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYW4gJ2FjdGl2ZScgZmxhZyB0byBtYW5pZmVzdCBzdHJlYW0KCSAgbXNzZGVtdXggc2hvdWxkIHNldCB0aGUgc3RyZWFtcyBpdCBoYXMgZXhwb3NlZCBhcyBhY3RpdmUgc28gdGhhdAoJICB0aGUgbWFuaWZlc3Qgd29uJ3QgdXNlIHRoZSBub24tYWN0aXZlIHN0cmVhbXMgdG8gY29tcHV0ZSB0b3RhbCBiaXRyYXRlcwoJICBvciBwcm92aWRpbmcgZnJhZ21lbnRzCgoyMDEzLTAxLTA4IDE3OjU0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzaWduYWwgbm8tbW9yZS1wYWRzIHdoZW4gZmluaXNoZWQgZXhwb3NpbmcgcGFkcwoJICBUaGlzIG1ha2VzIGRlY29kZWJpbi9wbGF5YmluIG1lY2hhbmlzbSBrbm93IGl0IGNhbiBzdGFydCBwbGF5aW5nCgkgIHdoZW4gYnVmZmVyaW5nIGlzIGZpbmlzaGVkCgoyMDEzLTAxLTA4IDExOjA4OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBLZWVwIHRoZSBzdHJlYW0gcXVhbGl0aWVzIGxpc3Qgc29ydGVkIGJ5IGJpdHJhdGUKCSAgVGhpcyB3aWxsIGhlbHAgbWFraW5nIGFkYXB0aXZlIHN0cmVhbWluZyBjaG9zZSB0aGUgYmVzdCByYXRlCgkgIGZvciBhIHBhcnRpY3VsYXIgY29ubmVjdGlvbiBzcGVlZAoKMjAxMy0wMS0wOCAxMDoxNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWxzbyBjb25zaWRlciBmb3VyY2MgQVZDMSBhcyBIMjY0CgkgIEgyNjQgY2FuIGJlIHJlcHJlc2VudGVkIGJ5IGJvdGggZm91cmNjcyBIMjY0IGFuZCBBVkMxLCB1c2UgYm90aC4KCjIwMTMtMDEtMDQgMTc6MDE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGFkZCBzdXBwb3J0IGZvciBWQy0xIGFuZCBXbWFQcm8gZm9ybWF0cyBwYXJzaW5nCgkgIFZDLTEgc2hvdWxkIG1hcCB0byBXTVYzIGFuZCBXbWFQcm8gdG8gV01BMgoKMjAxMy0wMS0wNCAxNzowMDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHRyeSB0byBleHBvc2UgdW5rbm93biBzdHJlYW1zCgkgIFdoZW4gdGhlIHN0cmVhbSBjYW4ndCBoYXZlIGl0cyBjYXBzIGRldGVjdGVkLCBiZXR0ZXIgbm90IHRvIGV4cG9zZSBpdC4KCSAgSWYgbm8gc3RyZWFtcyBhcmUga25vd24sIHNpZ25hbCBhbiBlcnJvciBhYm91dCBubyBwbGF5YWJsZSBzdHJlYW1zIHRvCgkgIHRoZSBhcHBsaWNhdGlvbgoKMjAxMy0wMS0wNCAxNTo0OTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogZG8gbm90IHNldCBjb2RlY19kYXRhIHdoZW4gaXQgaXMgZW1wdHkKCSAgU29tZSBtYW5pZmVzdHMgY29udGFpbiBlbXB0eSBjb2RlYyBkYXRhcywgYmV0dGVyIG5vdCBzZXQgdGhlbQoKMjAxMy0wMS0wNCAxNTo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHNldCB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIHRvIGZyYWdtZW50IGJ1ZmZlcnMKCSAgV2UgY2FuIGdldCB0aG9zZSBmcm9tIHRoZSBtYW5pZmVzdCBhbmQgaGVscHMgZG93bnN0cmVhbSB0byBrbm93CgkgIHRoZSBmcmFnbWVudCBzdGFydCB0aW1lIGFmdGVyIGEgc2Vla2luZyBvcGVyYXRpb24KCjIwMTItMTItMjggMDA6NDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGZpeCB0eXBvCgkgIEZpeCB0eXBvIHRoYXQgd2FzIG1ha2luZyB0aGUgYWR2YW5jZSBmcmFnbWVudCBmdW5jdGlvbiByZXR1cm4gYSB3cm9uZwoJICBmbG93IHJldHVybiBpbiBjYXNlIGl0IHdhcyBhbHJlYWR5IEVPUwoKMjAxMi0xMi0yOCAwMDo0ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBzZWVrIGV2ZW50IGhhbmRsaW5nCgkgIEFkZHMgYmFzaWMgaGFuZGxpbmcgZm9yIHNlZWsgaW4gdGltZSBldmVudHMuIE5lZWRzIHRvIGNvb3BlcmF0ZQoJICB3aXRoIHRoZSBkb3duc3RyZWFtIHF0ZGVtdXggc28gdGhhdCBpdCBmb3J3YXJkcyB0aGUgc2Vla3MgYW5kCgkgIHRoZSBjb3JyZXNwb25kaW5nIG5ld3NlZ21lbnRzCgoyMDEyLTEyLTI2IDE2OjE5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaGFuZGxlIHNyYyBwYWQgcXVlcmllcyBmaXIgZHVyYXRpb24gYW5kIGxhdGVuY3kKCSAgQWRkIGEgc3JjIHBhZCBxdWVyeSBoYW5kbGVyIHRvIGdldCB0aGUgZHVyYXRpb24gZnJvbSB0aGUgbWFuaWZlc3QKCSAgYW5kIHJlcG9ydCBpdCB1cHN0cmVhbS4KCSAgQWxzbyBhZGRzIGEgc2ltcGxlIGhhbmRsZXIgZm9yIGxhdGVuY3kgcXVlcmllcwoKMjAxMi0xMi0yMSAxNjo0MjoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHNvbWUgbW9yZSBlcnJvciBoYW5kbGluZwoJICBQb3N0IGVycm9yIGluIHNvbWUgbW9yZSBzY2VuYXJpb3M6CgkgICogd2hlbiB0aGUgbWFuaWZlc3QgaGFzIG5vIHN0cmVhbXMKCSAgKiB3aGVuIGdldHRpbmcgdGhlIGZyYWdtZW50IHVybCBmYWlscwoKMjAxMi0xMi0yMSAxNTozNzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZW5zdXJlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBpcyBwcm9wZXJseSBpbml0aWFsaXplZAoJICBUaGUgdXNlciBvZiB0aGUgbGlicmFyeSBtaWdodCBub3QgbmVlZCB0byBjcmVhdGUgYSBOYWxQYXJzZXIsIHNvCgkgIHRoZSBkZWJ1ZyBjYXRlZ29yeSBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBmcm9tIG90aGVyIGZ1bmN0aW9ucwoJICBhcyB3ZWxsIGlmIHJlcXVpcmVkLgoKMjAxMi0xMi0yMCAxNTozMDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCB0aW1lc2NhbGUgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGRvd25zdHJlYW0gdG8gcHJvcGVybHkgdGltZXN0YW1wIHRoZSBzYW1wbGVzCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEwMDAwMDAwLCBidXQgdGhpcyBjYW4gYmUgc2V0IGluIHRoZSBzdHJlYW0KCSAgb3IgYXQgdGhlIHRvcC1sZXZlbCBtYW5pZmVzdCBlbnRyeQoKMjAxMi0xMi0yMCAxNDoyNzo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcGFyc2UgdGhlIGZwcyBmcm9tIGgyNjQgY29kZWMgZGF0YSBpZiBwb3NzaWJsZQoJICBVc2UgaDI2NCBjb2RlYyBwYXJzaW5nIGxpYiB0byBleHRyYWN0IHRoZSBmcHMgZnJvbSB0aGUgbWFuaWZlc3QncwoJICBjb2RlYyBkYXRhIGFzIGl0IGRvZXNuJ3Qgc2VlbSB0byBwcm92aWRlIGl0IGFueXdoZXJlIGVsc2UKCjIwMTItMTItMjAgMDE6MDk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGNvcnJlY3RseSBhZGQgaDI2NCBjb2RlYyBkYXRhIHRvIGNhcHMKCSAgTmVlZCB0byBjb25zdHJ1Y3QgYW4gYXZjYyBhdG9tIGZyb20gdGhlIGNvZGVjZGF0YSByZWFkIGZyb20gTVNTCgkgIG1hbmlmZXN0cyB0byBtYWtlIGgyNjQgZGVjb2RlcnMvcGFyc2VycyBhY2NlcHQgaXQKCjIwMTItMTItMjAgMDE6MDc6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCB0aGUgY29ycmVjdCBjYXBzIHRvIHRoZSBvdXRnb2luZyBzdHJlYW0KCSAgbXNzZGVtdXggb3V0cHV0cyBhIHF1aWNrdGltZSB2YXJpYW50LCBuYW1lZCBtc3MtZnJhZ21lbnQKCjIwMTItMTEtMjUgMDE6NTc6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNldCBjYXBzIHRvIGJ1ZmZlcnMgYmVmb3JlIHB1c2hpbmcKCSAgQWxzbyB1cGRhdGUgdG8gdGhlIGxhdGVzdCBnc3RmcmFnbWVudCBBUEkgdGhhdCBwcm92aWRlcwoJICB0aGUgZnJhZ21lbnQgYXMgYSB3aG9sZSBidWZmZXIuCgoyMDEyLTExLTIyIDEzOjAxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIHN0YXRlIGNoYW5naW5nCgkgIEtlZXAgYSByZWYgb24gcGFkIHRvIHByZXZlbnQgaXQgYmVpbmcgdW5yZWZmZWQgd2hpbGUgdGhlIG1zc2RlbXV4CgkgIHN0cmVhbXMgYXJlIHN0aWxsIHVzaW5nIGl0LiBBbHNvIHJlc2V0IHRoZSBlbGVtZW50IHdoZW4gZ29pbmcgdG8KCSAgcmVhZHkgaW5zdGVhZCBvZiB3aGVuIGdvaW5nIHRvIG51bGwuCgoyMDEyLTExLTIyIDEyOjI4OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGRzIG1pbmludW0gZXJyb3IgaGFuZGxpbmcKCSAgVGhpcyBzaG91bGQgY2FyZSBmb3IgYmFzaWMgc2NlbmFyaW9zIG9mIGVycm9ycyBhbmQgRU9TIHRvIGFsbG93CgkgIHRoZSBwaXBlbGluZSB0byBzdG9wIGNvcnJlY3RseQoKMjAxMi0xMS0yMiAxMjoyODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogbXNzbWFuaWZlc3Q6IHByZXZlbnQgYWNjZXNzaW5nIG51bGwgc3RyZWFtIGZyYWdtZW50CgkgIE1vdmUgdGhlIGFjY2VzcyB0byB0aGUgc3RyZWFtIGZyYWdtZW50IGRhdGEgYWZ0ZXIgdGhlIGNoZWNrCgkgIGlmIHRoZSBmcmFnbWVudCBleGlzdHMgdG8gcHJldmVudCBhIHNlZ2ZhdWx0CgoyMDEyLTExLTE5IDE3OjUzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIHNtb290aHN0cmVhbWluZzogcmVmYWN0b3Igc3RydWN0dXJlIG5hbWVzIGFuZCBpbXBsZW1lbnQgdXJsIGZldGNoaW5nCgkgIFVzZSBzaG9ydGVyIG5hbWVzIGZvciB0aGUgTVNTIG1hbmlmZXN0IGhlbHBlciBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9ucy4KCSAgQWxzbyBjb250aW51ZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdHJlYW0gZmV0Y2hpbmcgYW5kIHB1c2hpbmcgbG9vcC4KCSAgTm93IGl0IHVzZXMgdGhlIGJhc2UgdXJsIGNvcnJlY3RseSBhbmQgYWxyZWFkeSBmZXRjaGVzIGFuZCBwdXNoZXMgdGhlIGZyYWdtZW50cwoJICBkb3duc3RyZWFtCgoyMDEyLTExLTE2IDE3OjMwOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIHBhZCBsb29wCgkgIFRoZSBsb29wIHdpbGwgZmV0Y2ggYSBuZXcgZnJhZ21lbnQgYW5kIHB1c2ggb24gaXRzIHNyY3BhZC4gRWFjaAoJICBzdHJlYW0gaGFzIGl0cyBvd24gbG9vcAoKMjAxMi0xMS0xNiAxNzoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBtb3JlIG1hbmlmZXN0IHBhcnNpbmcgYW5kIGhlbHBlciBmdW5jdGlvbnMKCSAgTm93IHRoZSBtc3MgbWFuaWZlc3QgaXMgYWJsZSB0byBnZW5lcmF0ZSB0aGUgZmlsZXMgdXJscwoKMjAxMi0xMS0xNCAxNzoxOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogcGFkIGV4cG9zaW5nIGluaXRpYWwgaW1wbGVtZW50YXRpb24KCSAgRG9lcyBzb21lIGJhc2ljIHBhcnNpbmcgb2YgdGhlIHN0cmVhbSBjYXBzIGFuZCBhZGRzIGEgcGFkIGZvcgoJICBlYWNoIHN0cmVhbSBkZXRlY3RlZCBpbiB0aGUgbWFuaWZlc3QKCjIwMTItMTEtMDkgMTY6NDc6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgbWFuaWZlc3QgcGFyc2luZwoJICBDb250aW51ZWQgaW1wbGVtZW50aW5nOgoJICAxKSBwYXJzZSB0aGUgbWFuaWZlc3Qgd2l0aCBsaWJ4bWwyCgkgIDIpIGRldGVjdCBzdHJlYW0gdHlwZXMKCjIwMTItMTEtMDggMTY6MDY6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogc3R1YnMgZm9yIG1zc2RlbXV4CgkgIEp1c3QgdGhlIHN0dWJzIGZvciBtc3NkZW11eCBlbGVtZW50LgoJICBBbHNvIGFkZCBzb21lIHVzZWZ1bCBjb2RlIGZyb20gaGxzZGVtdXggdGhhdCB3ZSBpbnRlbmQgdG8gcmV1c2UKCjIwMTItMTEtMDggMTU6NDI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBidWlsZCBkaXJlY3Rvcnkgc3R1YnMgZm9yIG5ldyBwbHVnaW4KCSAgSW5pdGlhbCBidWlsZCBzdHJ1Y3R1cmUgZm9yIE1TJyBTbW9vdGggU3RyZWFtaW5nIHBsdWdpbgoJICBDb25mbGljdHM6CgkgIGV4dC9NYWtlZmlsZS5hbQoKMjAxMy0wMi0xOSAxMzowMTozNyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHVubG9jayBtdXRleCB3aGVuIHN3aXRjaGluZyB1cmlzcmMgc3RhdGUgdG8gTlVMTCB0byBhdm9pZCBkZWFkbG9jawoJICBXaGVuIGNoYWluIG1ldGhvZCB3YXMgY2FsbGVkIGFmdGVyIGdzdF91cmlfZG93bmxvYWRlcl9zdG9wIGFuZCBiZWZvcmUgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZCB0byBOVUxMLCBleGVjdXRpb24gd2FzIGJsb2NraW5nIG9uIGdfbXV0ZXhfbG9jay4KCSAgQ29uZmxpY3RzOgoJICBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmMKCjIwMTMtMDItMDcgMDA6Mjg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogcHJvcGVybHkgdW5yZWYgdGhlIHVyaXNyYyBiZXR3ZWVuIGRvd25sb2FkcwoJICBUaGlzIHByZXZlbnRzIGxlYWtpbmcgdGhlIGVsZW1lbnQuIEFsc28gc2V0cyB0aGUgYnVzIHRvIGZsdXNoaW5nCgkgIHRvIGNvbXBsZXRlbHkgcmVzZXQgdGhlIGRvd25sb2FkZXIgc3RhdGUKCjIwMTMtMDQtMTYgMTc6MjM6MDIgLTAzMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogbWFrZSBjYW5jZWxsZWQgc3RhdGUgJ3Blcm1hbmVudCcgdW50aWwgYSByZXNldAoJICBXaGVuIGRvd25sb2FkaW5nIGFuZCBjYW5jZWxsaW5nIHF1aWNrbHkgdGhlIHVyaWRvd25sb2FkZXIgb2JqZWN0IGFuZCB0aGUKCSAgZWxlbWVudCB1c2luZyBpdCBjb3VsZCBtaXNzIHRoZSBjYW5jZWxsZWQgd2luZG93IGFuZCB0aGUgdXJpZG93bmxvYWRlcgoJICB3b3VsZCBmZXRjaCB0aGUgd3JvbmcgVVJJIGFuZCBibG9jayBvbiBzdWJzZXF1ZW50IGZldGNoZXMuCgkgIFRoaXMgd2FzIGFsc28gcHJvYmxlbWF0aWMgd2hlbiBzdG9wcGluZyBlbGVtZW50cywgd2hpbGUgb25lIHRhc2sgd291bGQKCSAgY2FsbCB0aGUgY2FuY2VsLCBhbm90aGVyIGVsZW1lbnQgdGhyZWFkIGNvdWxkIGlzc3VlIGEgbmV3IGZldGNoX3VyaS4gQXMKCSAgdGhlIGNhbmNlbCBzdGF0ZSBpc24ndCAncGVybWFuZW50JyB0aGlzIGZldGNoX3VyaSB3b3VsZCBibG9jayBhbmQKCSAgcHJldmVudCB0aGUgd2hvbGUgZWxlbWVudCBmcm9tIHN0b3BwaW5nIGFuZCBnb2luZyB0byBOVUxMLgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSAnY2FuY2VsbGVkJyBzdGF0ZSBwZXJtYW5lbnQgdW50aWwgYQoJICBnc3RfdXJpX2Rvd25sb2FkZXJfcmVzZXQgaXMgY2FsbGVkLiBUaGlzIHdheSB0aGUgZWxlbWVudCBrbm93cyB0aGUKCSAgd2luZG93IHdoZXJlIHRoZSB1cmlkb3dubG9hZGVyIGlzbid0IGFjdGl2ZSBhbmQgb25seSByZWFjdGl2YXRlIGl0IHdoZW4KCSAgcmVhZHkuCgoyMDEzLTA0LTE2IDE5OjQ3OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyX2RlYnVnLmg6CgkgIHVyaWRvd25sb2FkZXI6IHJlZmFjdG9yIGdzdHVyaWRvd25sb2FkZXIgdG8gaXRzIG93biBsaWIKCSAgZ3N0dXJpZG93bmxvYWRlciBjYW4gYmUgcmV1c2VkIGJ5IG90aGVyIHBsdWdpbnMsIGJldHRlciBoYXZlIGl0CgkgIGludG8gaXRzIG93biBsaWIKCjIwMTMtMDUtMDcgMDg6MjY6MDMgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IG1lbW9yeSBsZWFrIHdoZW4gdXNpbmcgcHJlcGFyZV9mdW5jCgkgIHByZXBhcmVfZnVuYyB3aWxsIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciB0byByZXBsYWNlIHRoZSBvcmlnaW5hbAoJICBvbmUuIEluc3RlYWQgb2YgdXNpbmcgZ3N0X2J1ZmZlcl9yZXBsYWNlICh3aGljaCBjYXVzZXMgYW4gZXh0cmEKCSAgcmVmY291bnQgaW5jcmVtZW50IG9uIHRoZSBuZXcgYnVmZmVyKSwgd2UganVzdCB1bnJlZiB0aGUgb3JpZ2luYWwKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Nzg2CgoyMDEzLTA1LTA3IDE0OjIyOjEwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgbXBlZ3ZpZGVvbWV0YTogRml4IHR5cG8gaW4gY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODI3CgoyMDEzLTA1LTAzIDIxOjQ2OjA4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkgIGxhZHNwYTogc3luYyBjb250cm9sbGVkIHBhcmFtZXMgaW4gZmlsdGVycyBhbmQgc2lua3MKCjIwMTMtMDUtMDMgMTY6NTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiBBZGQgJChHTU9EVUxFX05PX0VYUE9SVF9MSUJTKSBmb3IgZ21vZHVsZQoKMjAxMy0wNS0wMSAxNzoxOTowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvbid0IGNvbXBhcmUgYnVmZmVyIHNpemUgd2hlbiBjaGVja2luZyB3aGV0aGVyIHRvIHVwZGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzOTgKCjIwMTMtMDUtMDMgMTE6MzQ6MzQgKzAyMDAgIEp1YW4gTWFudWVsIEJvcmdlcyBDYcOxbyA8anVhbm1hYmNtYWlsQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuaDoKCSAgbGFkc3BhOiBpbXByb3ZlZCBwb3J0IHRvIGdzdHJlYW1lciAxLjAKCSAgRml4ZXM6ICM2OTg5MjcKCjIwMTMtMDUtMDEgMTc6MzY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG9uJ3QgYW5ub3VuY2UgaW5jb21wbGV0ZSBzb3VyY2UgY2FwcwoJICBEb24ndCBzZW5kIGFueSBzb3VyY2UgY2FwcyB5ZXQgaWYgd2UncmUgc3RpbGwgaW4KCSAgZHJvcC1idWZmZXJzLXVudGlsLXdlLWdldC1hLXNlcXVlbmNlLWhlYWRlciBtb2RlLgoJICBGaXhlcyB0cmFuc211eGluZyBvZiBtYW55IE1QRUctVFMvUFMgc3RyZWFtcyBpbnRvCgkgIGZvcm1hdHMgd2hpY2ggcmVxdWlyZSB0aGluZ3MgbGlrZSB3aWR0aCwgaGVpZ2h0IG9yCgkgIGNvZGVjX2RhdGEgb24gdGhlIGlucHV0IGNhcHMuCgkgIEFsc28gZml4ZXMgaXNzdWVzIHdoZW4gdXNpbmcgcGxheWJpbiB3aXRoIGRlY29kZXIKCSAgc2lua3MgdGhhdCB3YW50IHdpZHRoL2hlaWdodCBldGMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NzkKCjIwMTMtMDQtMjcgMTI6Mjg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkgIGthdGU6IGZpeCBidWZmZXIgbGVhayBpbiBrYXRldGFnCgkgIE1ha2VzIHVuaXQgdGVzdCB2YWxncmluZCBjbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0yNyAxMjowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGluIGthdGUgdW5pdCB0ZXN0CgoyMDEzLTA0LTI3IDEyOjA2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZTogbWlub3IgY2xlYW51cAoKMjAxMy0wNC0yNiAxNTozMzoxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRG9jdW1lbnQgdGhhdCB0aGUgbGF0ZW5jeSBpcyBpbiBtaWxsaXNlY29uZHMKCSAgQnVnICM2OTg4OTYKCjIwMTMtMDQtMjYgMTU6Mzk6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29udmVydCBwYWNrZXQgUFRTL0RUUyBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFdlIGxldCB0aGUgbXBlZ3RzcGFja2V0aXplciBkZWFsIHdpdGggcGNyIHdyYXBhcm91bmQvcmVzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDEzLTA0LTI2IDEyOjE4OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVndHNkZW11eDogaGVhZGVyIGNsZWFudXBzL3VwZGF0ZXMKCjIwMTMtMDQtMjYgMTQ6MzI6MTQgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IERyb3Agb2Jzb2xldGUgcmVmZXJlbmNlcyB0byB2aWRlb3NpZ25hbCBoZWFkZXJzCgkgIEluIGFkZGl0aW9uIHRvIDg1NTIzOTZjMzYyYzIwYWRiNmFhOTEyOWE0NTNmZjgxZWNkY2Y2NTYKCjIwMTMtMDQtMjYgMTA6Mzg6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXBkYXRlIHNyYyBwYWQgY2FwcyB3aGVuIGl0IHdhcyBleHBsaWNpdGx5IHNpZ25hbGVkCgkgIEZpeGVzIHNyYyBwYWQgY2FwcyBhcmVuJ3QgdXBkYXRlZCB3aGVuIGNvbnZlcnRpbmcgZnJvbSBBVkMgdG8gYnl0ZXN0cmVhbQoJICBhbmQgbmV3IGNhcHMgaGFkIGJlZW4gcmVjZWl2ZWQgaW4gdGhlIHNpbmsgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4Njc5CgoyMDEzLTA0LTIzIDE1OjE5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggY2FwcyBzdHJpbmcgbGVhawoKMjAxMy0wNC0yNCAwOTo0MDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogVXNlIGdzdF9lZ2xfZGlzcGxheV9nZXQoKSBpbnN0ZWFkIG9mIHBhc3NpbmcgYSBHc3RFR0xEaXNwbGF5IHRvIEVHTCBmdW5jdGlvbnMKCjIwMTMtMDMtMjggMTY6NTI6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpc3JjOiBQb3J0IHRvIEdzdEF1ZGlvU3JjCgoyMDEzLTAzLTI3IDEwOjEwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IFBvcnQgd2FzYXBpc2luayB0byBHc3RBdWRpb1NpbmsKCjIwMTMtMDQtMjMgMDE6MTc6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBmaXggcmVtYWluaW5nIGthdGUgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNSAxNzowNjo1NyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IHBvcnQgS2F0ZSB0ZXN0cyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0yMiAyMzo1MjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1BSU5UQUlORVJTOgoJKiBSRUFETUU6CgkqIFJFQURNRS5zdGF0aWMtbGlua2luZzoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzY2IzZDNjIHRvIDVlZGNkODUKCjIwMTMtMDQtMjEgMTg6Mjg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmJiYXNlYmluOiBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg4OTIKCjIwMTMtMDQtMjEgMTQ6MTM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGxvZyBjaGFubmVsIHBhcnNpbmcgaW50byBkdmJiYXNlYmluIGRlYnVnIGNhdGVnb3J5IGFzIHdlbGwKCjIwMTMtMDQtMjEgMTQ6MDQ6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogZml4IHBhdGggd2hlcmUgdG8gbG9vayBmb3IgdGhlIGR2Yi1jaGFubmVscy5jb25mCgkgIENvbnN0cnVjdCBwYXRoIGJhc2VkIG9uIHRoZSBBUEkgdmVyc2lvbiwgbm90ICRtYWpvci4kbWlub3IgdmVyc2lvbi4KCjIwMTMtMDQtMTggMjA6MjY6MTUgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogZWFnbDogZml4IGVhZ2wgcmV1c2UgYnkgbm90IHJlbGVhc2luZyB0aGUgY29udGV4dAoJICBJdCBzZWVtcyBFQUdMIGV4cGVjdHMgdGhlIGFwcGxpY2F0aW9uIHRvIHNpbXBseSBpZ25vcmUgdW51c2VkCgkgIEVBR0wgY29udGV4dHMgYXMgdGhlIHJlc291cmNlcyBmb3IgaXQgd291bGQgYmUgcmVsZWFzZWQgd2hlbiBhIG5ldwoJICBjb250ZXh0IGlzIHNldCBhcyB0aGUgY3VycmVudCBvbmUuIEFsc28gbW92ZSB0aGUgZWdsIGV4dGVuc2lvbnMKCSAgcXVlcnlpbmcgdG8gYWZ0ZXIgYSBjb250ZXh0IGlzIHNldCB0byBwcmV2ZW50IGNyYXNoZXMuCgkgIFRoaXMgbWFrZXMgdGhlIEVBR0wgdmVyc2lvbiBvZiBlZ2xnbGVzc2luayByZXVzYWJsZS4KCjIwMTMtMDQtMTggMTc6MTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xOCAxNjoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IFVzZSBnc3RfY29udGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUoKQoKMjAxMy0wNC0xOCAxNToyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR2l2ZSBvbmx5IFNFQ09OREFSWSByYW5rCgkgIElmIGF2YWlsYWJsZSB3ZSBzdGlsbCBwcmVmZXIgeHZpbWFnZXNpbmsuCgoyMDEzLTA0LTE4IDEyOjU0OjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogZml4ZXMgJ21ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0JyB3YXJuaW5nCgoyMDEzLTA0LTE4IDEyOjI0OjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgoyMDEzLTA0LTE4IDEyOjI3OjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IHdhcm5pbmdzIGJ1aWxkaW5nIG9uIHRoZSBSUEkKCjIwMTMtMDQtMTggMTI6MTY6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCjIwMTMtMDQtMTcgMTQ6NDU6MTkgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgTW90b3JvbGEgRGlnaUNpcGhlciBJSSBNUEVHMiB2aWRlbwoJICBTaW5jZSB0aGVyZSBpcyBhIGNvbmZsaWN0IGJldHdlZW4gdGhlIERDSUkgc3RyZWFtIHR5cGUgYW5kIEJsdVJheQoJICBzdHJlYW0gdHlwZXMsIG1vdmVkIHRoZSBwcm9jZXNzaW5nIG9mIEJsdVJheS1zcGVjaWZpYyBzdHJlYW0gdHlwZXMKCSAgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24uICBPbmx5IGlmIGEgQmx1UmF5IHN0cmVhbSB0eXBlCgkgIElTIE5PVCBmb3VuZCBkbyB3ZSBwcm9jZWVkIHRvIGNoZWNrIHRoZSByZXN0IG9mIHRoZSBzdHJlYW0gdHlwZQoJICBpZGVudGlmaWVycwoJICBQcmV2aW91cyBjb2RlIHdhcyBhbHNvICJzb3J0LW9mIiBoYW5kbGluZyBhIHNpbWlsYXIgY29uZmxpY3QgYmV0d2VlbgoJICBCbHVSYXkgQUMzIGF1ZGlvIGFuZCBzdGFuZGFyZCBBQzMgYXVkaW8uICBNb3ZlZCB0aGUgc3BlY2lhbCBjYXNlIEJsdVJheQoJICBBQzMgaGFuZGxpbmcgaW4gdGhlIG1haW4gc3dpdGNoIHN0YXRlbWVudCB0byB0aGUgbmV3IEJsdVJheS1zcGVjaWZpYwoJICBzd2l0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4OTIKCjIwMTMtMDQtMTggMDk6MDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSBxdWlja3RpbWUgd3JhcHBlciBwbHVnaW4gaXMgbm90IHBvcnRlZCB5ZXQgZWl0aGVyCgoyMDEzLTA0LTE4IDA4OjU2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgb3N4dmlkZW9zcmMgcGx1Z2luIGlzIGNhbGxlZCBvc3hfdmlkZW8KCjIwMTMtMDQtMTggMDc6NTQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3h2aWRlb3NyYzogSXQncyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCjIwMTMtMDQtMTcgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHc3RDb250ZXh0IHJlZmNvdW50aW5nIHNvbWUgbW9yZQoKMjAxMy0wNC0xNyAxMzoxNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogRml4IEdzdENvbnRleHQgcmVmY291bnRpbmcKCjIwMTMtMDQtMTcgMTA6NDg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgZm9yIEdMVGV4dHVyZVVwbG9hZE1ldGEgYW5kIEVHTCBBUEkgY2hhbmdlcwoKMjAxMy0wNC0xNyAxMDo0MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFVzZSBuZXcgdHlwZXMgZnJvbSBsaWJnc3R2aWRlbyBpbnN0ZWFkIG9mIGRlZmluaW5nIG91ciBvd24KCjIwMTMtMDMtMjUgMTg6MzA6MTggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvIG5vdCBjaGVjayBmb3IgVlVJIHBhcmFtZXRlcnMgaWYgdGhleSB3ZXJlIG5vdCBwcmVzZW50IGluIHRoZSBTUFMKCjIwMTMtMDQtMTYgMjI6NTE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciBzdXJmYWNlIHF1ZXJpZXMKCSAgT3RoZXJ3aXNlIHdyb25nIHZhbHVlcyBjYW4gYmUgcmV0dXJuZWQuCgoyMDEzLTA0LTE2IDIyOjI1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IHNldCBhIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYWRhcHRpb24gbGF5ZXJzCgoyMDEzLTA0LTE2IDIyOjI1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHZXQgdGhlIEVHTC9HTEVTIGV4dGVuc2lvbnMgYXQgdGhlIHJpZ2h0IHBvc2l0aW9uCgoyMDEzLTA0LTE2IDIyOjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbF9hZGFwdGF0aW9uX2NyZWF0ZV9uYXRpdmVfd2luZG93JzoKCSAgZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzo4Njg6MzogZXJyb3I6IGZvcm1hdCAnJXAnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndm9pZCAqJywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0VHTE5hdGl2ZVdpbmRvd1R5cGUnIFstV2Vycm9yPWZvcm1hdD1dCgkgIEdTVF9ERUJVR19PQkpFQ1QgKGN0eC0+ZWxlbWVudCwgIlVzaW5nIHdpbmRvdyBoYW5kbGUgJXAiLCB3aW5kb3cpOwoJICBeCgoyMDEzLTA0LTEwIDE3OjI3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogcmVmYWN0b3IgdG8gYWxsb3cgZWFnbCBzdXBwb3J0CgkgIFB1dCBFR0wgc3BlY2lmaWMgY29kZSB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGNyZWF0ZSB0aGUgc2FtZSBmdW5jdGlvbnMKCSAgZm9yIEVBR0wsIHRoZSBBcHBsZSdzIHNwZWNpZmljIEVHTCBpbXBsZW1lbnRhdG9uLgoJICBBdCB0aGlzIHBvaW50LCB0aGUgRUFHTCB2ZXJzaW9uIHdhc24ndCBjb21waWxlZCBvciB0ZXN0ZWQgYXMgdGhlcmUgaXNuJ3QKCSAgYW55IHNpbXBsZSBkb2N1bWVudGVkIHdheSB0byBidWlsZCAxLjAgZm9yIGlPUy4gVGhpcyBjb2RlIGZvciB0aGUgRUFHTAoJICB2ZXJzaW9uIGlzIHN0aWxsIHRoZSAwLjEwIHZlcnNpb24sIHNvbWUgdXBkYXRlcyBzaG91bGQgYmUgbWFkZSB3aGVuIDEuMAoJICBpcyBidWlsZGFibGUgZm9yIGlPUy4KCjIwMTMtMDQtMTUgMTc6NDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWFnbDogYWRkIGlvcyB3aW5kb3cgc3lzdGVtIG9wdGlvbiBmb3IgZWdsZ2xlcyBjb25maWd1cmUKCjIwMTMtMDQtMTUgMTg6NDA6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaW9zOiB1bmNvbmRpdGlvbmFsbHkgY2hlY2sgaWYgd2UgYXJlIGJ1aWxkaW5nIGZvciBpT1MKCSAgSW5zdGVhZCBvZiBvbmx5IGNoZWNraW5nIGlmIGFwcGxlbWVkaWEgaXMgZ29pbmcgdG8gYmUgYnVpbHQKCjIwMTMtMDQtMTAgMTQ6NTM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IHJlZmFjdG9yIGVnbCBmdW5jdGlvbnMvZGF0YSB0byBhIHNlcGFyYXRlIGZpbGUKCSAgVGhpcyBpcyBwYXJ0IG9mIHRoZSBjaGFuZ2VzIHJlcXVpcmVkIHRvIG1ha2UKCSAgZWdsZ2xlc3Npbmsgd29yayB3aXRoIGJvdGggRUdMIGFuZCBBcHBsZSdzIEVBR0wKCjIwMTMtMDQtMTYgMTY6MzA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByaW50IEVHTC9HTEVTIGV4dGVuc2lvbnMgYWZ0ZXIgd2UgYXJlIGFjdHVhbGx5IGluaXRpYWxpemVkIGVub3VnaAoKMjAxMy0wNC0xNiAxNjoyMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBQcm9wZXJseSBzZXQgb3V0cHV0IGZvcm1hdCBpbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBjYXBzCgoyMDEzLTA0LTE2IDE2OjE3OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFNldCBwYXJlbnQgY2xhc3MgaW4gY2xhc3NfaW5pdAoKMjAxMy0wNC0xNiAxNjowMDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYW5kbGUgcmVmY291bnRzIG9mIHBhZCB0ZW1wbGF0ZXMgY29ycmVjdGx5CgkgIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgY2FwcyBhbnltb3JlIGFuZAoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKCkgZG9lcyB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgcGFkIHRlbXBsYXRlIG5vdy4KCjIwMTMtMDQtMTYgMTU6MzI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogVXNlIDEuMC1zdHlsZSByYXcgYXVkaW8gY2FwcwoKMjAxMy0wNC0xNiAxNTozMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBQcm9wZXJseSBzZXQgc3ViY2xhc3NlcyBtZXRhZGF0YS9wYWQgdGVtcGxhdGVzIGluIGJhc2VfaW5pdAoKMjAxMy0wNC0xNSAxNjowMToyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogY2hlY2sgdmFsdWUgYmVmb3JlIHVzaW5nIGFzIGRlbm9taW5hdG9yCgoyMDEzLTA0LTE1IDE4OjE5OjM4ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0OiBwcmludGYgZm9ybWF0IGZpeAoJICBnc3R1dmNoMjY0X21qcGdkZW11eC5jOjQzNzo1OiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnR3N0Q2xvY2tUaW1lJwoKMjAxMi0xMC0yNCAxMjoxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3Q6IEFkZCBiZXR0ZXIgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDQtMTUgMTU6MTM6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgY2FtZXJhYmluIGRpcmVjdG9yeSB0byB0aGUgY3J1ZnQgZGlyZWN0b3JpZXMKCjIwMTMtMDQtMTUgMDk6MDE6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBmaXggdGltZW91dCB2YWx1ZQoJICBUaW1lb3V0IG9uIHVkcHNyYyBpcyBpbiBuYW5vc2Vjb25kcyBpbiAxLjAKCjIwMTMtMDQtMTUgMDA6MjI6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEFkZCBjb25kaXRpb25hbCBvbiBBUEkgdmVyc2lvbiBmb3IgbmV3IGVudW0KCjIwMTMtMDQtMDQgMTU6NTk6MDkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGRlYWRsb2NrIGRyYWluaW5nIHF1ZXVlIGZyb20gdGhlIHNhbWUgdGhyZWFkCgoyMDExLTA4LTEwIDEyOjEzOjM0ICswMDAwICBGYWJyaWNpbyBDb3N0YSBBbGlzZWRvIDxmYWJyaWNpby5jb3N0YUBtb2xkZW9pbnRlcmFjdGl2ZS5jb20uYXI+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGRlZCBHcmFwaCBCdWlsZGVyIGFuZCBDYXB0dXJlIEJ1aWxkZXIgdG8gY29ycmVjdGx5IGNyZWF0ZSB1cHN0cmVhbSBuZWVkZWQgZmlsdGVycyBieSBBbmFsb2cgVFYgQ2FwdHVyZSBEZXZpY2VzLgoKMjAxMi0xMi0wMSAxNjoyNDoyMiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAxMy0wNC0xNSAwODo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGVnbGdsZXNzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsZ2xlc3NpbmtfZmlsbF90ZXh0dXJlJzoKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzoxODE1OjM6IGVycm9yOiBmb3JtYXQgJyVkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2ludCcsIGJ1dCBhcmd1bWVudCAxMSBoYXMgdHlwZSAnZ3NpemUnIFstV2Vycm9yPWZvcm1hdF0KCSAgZ3N0ZWdsZ2xlc3NpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xnbGVzc2lua19jb25maWd1cmVfY2Fwcyc6CgkgIGdzdGVnbGdsZXNzaW5rLmM6Mjg1MDozOiBlcnJvcjogZm9ybWF0ICclcCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd2b2lkIConLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnRUdMTmF0aXZlV2luZG93VHlwZScgWy1XZXJyb3I9Zm9ybWF0XQoKMjAxMy0wNC0xNSAwMDo0ODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJICBrYXRlOiBvbmx5IHNlbmQgZGVjb2RlciBvdXRwdXQgY2FwcyBvbmNlIG9yIHdoZW4gdGhlIGZvcm1hdCBjaGFuZ2VzCgkgIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIuIEFuZCAgYWxzbyBzZW5kIGEgY2FwcwoJICBldmVudCBmb3Igc3B1IG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAyMzoyMjo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IGRlY29kZXIgb3V0cHV0IGNhcHMKCSAgSXQncyBlaXRoZXIgcGFuZ28tbWFya3VwIG9yIHV0ZjgsIG5ldmVyIGJvdGggYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAyMzoxOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1hcmsgaGVhZGVyIGJ1ZmZlcnMgYXMgc3VjaAoKMjAxMy0wNC0xNCAyMzowODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlZW5jOiBzYXZlIGN1cnJlbnQgaW5wdXQgZm9ybWF0IGluIHNldGNhcHMKCjIwMTMtMDQtMTQgMjE6Mjg6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyBhbmQgZGlzYWJsZSB0aWdlciBlbGVtZW50CgoyMDEzLTA0LTAxIDEyOjQ3OjEzIC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBwb3J0IEthdGUgc3VidGl0bGVzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDE3OjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZWQ4N2FlIHRvIDNjYjNkM2MKCjIwMTMtMDQtMTIgMTc6MDE6MzggKzAyMDAgIEFsZXhhbmRlciBPbHNzb24gPGFsZXhvQGF4aXMuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWNjZXB0IGFueSBqcGVnIGlucHV0IC0gcGFyc2VkLCB1bnBhcnNlZCBvciB1bm1hcmtlZAoJICBUaGUgc3JjIGVsZW1lbnQgbWF5IG5vdCBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IHdoZXRoZXIKCSAgdGhlIGRhdGEgaXMgcGFyc2VkIG9yIG5vdC4gSGVuY2UgZG8gbm90IHJlcXVpcmUgcGFyc2VkPWZhbHNlLgoJICBGaXhlcyBtdWx0aXBhcnRkZW11eCAhIGpwZWdwYXJzZSAhIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODg0CgoyMDEzLTA0LTEyIDE0OjA5OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBlbGVtZW50LXRlbXBsYXRlOiBhZGQgc3RhcnQvc3RvcCB0byB2aWRlb2ZpbHRlcgoKMjAxMy0wNC0xMiAxNDowODoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBhdm9pZCB1c2luZyBQYWRUZW1wbGF0ZXMKCjIwMTMtMDQtMTIgMTQ6MDc6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IEFkZCBoZWxwZXIgY29kZSB0byB0cmFuc2Zvcm1fY2FwcwoKMjAxMy0wNC0xMiAxMzo1NjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9hbmFseXNlOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0wNSAyMTozMToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgdmlkZW9maWx0ZXJzYmFkOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMSAyMjoxNTowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZGVjcmVhc2UgbG9nIHByaW9yaXR5IGZvciByZXBlYXRpbmcgbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzgzNAoKMjAxMy0wNC0xMSAxMzozNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSAgdmlkZW86IFJlbW92ZSB2aWRlbyBsaWJyYXJ5IGZyb20gLWJhZAoJICBUaGlzIG9ubHkgY29udGFpbmVkIEFQSSB0aGF0IG5vdyBoYXMgcmVwbGFjZW1lbnRzIGluIGNvcmUgYW5kIGJhc2UuCgoyMDEzLTA0LTExIDEzOjA4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENoZWNrIHRoZSBjb250aW51aXR5IGNvdW50ZXIgZm9yIG5vbi1zZWN0aW9uIHBhY2tldHMgdG9vCgkgIEFuZCBpZiB3ZSBkZXRlY3QgYSBkaXNjb250aW51aXR5IHRoZXJlIChsaWtlLi4uIHdoZW4gbG9zaW5nIHBhY2tldHMKCSAgb3IgaGF2aW5nIE1QRUdUUyBvdmVyIHJhdyBVRFAgd2l0aCBvdXQtb2Ytb3JkZXIgcGFja2V0cykgd2UganVzdAoJICBkcm9wIHRoZSBjb3JyZXNwb25kaW5nIHBhY2tldC4KCSAgQSBmdXR1cmUgdmVyc2lvbiBjb3VsZCB0cnkgdG8gaW1wbGVtZW50IGEgcmUtb3JkZXJpbmcgYWxnb3JpdGhtIGJhc2VkCgkgIG9uIHRoYXQsIHNpbWlsYXIgdG8gd2hhdCBydHBqaXR0ZXJidWZmZXIgZG9lcy4KCjIwMTMtMDQtMTEgMTA6MDY6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG1meGRlbXVzOiB1cGRhdGUgdG9kbyAodGhlciBlaXMgYSBtdXhlcikKCjIwMTMtMDQtMTAgMTY6MTk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2FsbCA6OnByb2dyYW1fc3RvcHBlZCBhZnRlciByZW1vdmluZyBhbGwgc3RyZWFtcwoJICBTdWJjbGFzc2VzIHdhbnQgdG8gYWNjZXNzIHRoZSBwcm9ncmFtIHdoaWxlIHJlbW92aW5nIHRoZSBzdHJlYW1zCgkgIGFuZCB3aWxsIGN1cnJlbnRseSBjcmFzaCBiZWNhdXNlIG9mIGRlcmVmZXJlbmNpbmcgTlVMTCBpbiBzb21lIGNhc2VzLgoKMjAxMy0wNC0xMCAxMTowNjo1MiArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IHJhY2UgYmV0d2VlbiBnX21haW5fbG9vcF9ydW4vX3F1aXQgZml4ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzY5NAoKMjAxMy0wNC0wOSAyMTozMjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3Qgc3RvcCBvbiBpbnZhbGlkIGJ1ZmZlcgoKMjAxMy0wNC0wOSAyMTozMTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQ2xlYW5lciBzdHJlYW0gY2xlYW51cAoKMjAxMy0wNC0wOSAyMTozMToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBjcmFzaCBvbiBpbnZhbGlkIGNpcGhlcgoKMjAxMy0wMy0yNyAxNjo0OTowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogZml4IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA0LTAxIDE1OjUyOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJICB5YWRpZjogcmVtb3ZlIGV4dHJhIHRlbXBsYXRlIGNvZGUKCjIwMTMtMDQtMDEgMTU6NDc6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiByZW1vdmUgdHJhbnNmb3JtX3NpemUsIGl0J3Mgbm90IG5lZWRlZAoKMjAxMy0wNC0wMSAyMDoxMzo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGZpeCByZXR1cm4gdmFsdWUgaW4gdmlkZW9lbmNvZGVyCgoyMDEzLTA0LTAxIDIwOjEyOjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogY3JlYXRlIGJldHRlciBlbGVtZW50IG5hbWUgd2hlbiB1c2luZyAtLXByZWZpeAoKMjAxMy0wNC0wMSAyMDowMzo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IGZpeCBsZWFrIHdoZW4gbm90IGNvbm5lY3RlZAoKMjAxMy0wNC0wOSAyMTowMDoyOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDRjN2ExZSB0byBhZWQ4N2FlCgoyMDEzLTA0LTA4IDE3OjQwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIGV4dDogcHJpbnRmIGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMKCjIwMTMtMDQtMDggMTc6MzQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkgIHN5czogcHJpbnQgZm9ybWF0IGZpeGVzIGluIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTA3IDE4OjQxOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBUcnVlSEQgYXVkaW8KCjIwMTMtMDQtMDUgMDk6NDE6MjYgKzAxMDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBmaXggYnVpbGQgb24gT1MvWAoJICBnc3RoYW5kZGV0ZWN0Lmg6ODQ6IGVycm9yOiBleHBlY3RlZCBzcGVjaWZpZXItcXVhbGlmaWVyLWxpc3QgYmVmb3JlICd1aW50JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzA1CgoyMDEzLTA0LTA1IDAwOjQ5OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc2hhZGVycyBhc3N1bWUgMzJicHAKCSAgQmFja3BvcnQgZml4IGZvciBjcmFzaGVzIGFuZCBpbnZhbGlkIHdyaXRlcyBpbiB0b3RlbSBmcm9tIGxpYnZpc3VhbAoJICBpbiAtYmFzZSwgdG8gbWluaW1pc2UgZGlmZmVyZW5jZXMgdG8gdmVyc2lvbiBpbiAtYmFzZSBhbmQgdG8gbWFrZQoJICBzdXJlIHRoZSBidWcgZG9lc24ndCBzbmVhayBiYWNrIGluIGxhdGVyIHdoZW4gdGhlIGJhc2UgY2xhc3MgaXMKCSAgbWFkZSBwdWJsaWMuCgkgIFRoZSBzaGFkZXIgY29kZSBsb29rcyBsaWtlIGl0IG1ha2VzIGFzc3VtcHRpb25zIHRoYXQgYXJlIG5vdAoJICBuZWNlc3NhcmlseSBhbHdheXMgdHJ1ZSwgZXZlbiBpZiB0aGV5J3JlIHRydWUgZm9yIG5vdyBmb3IgdGhlCgkgIGV4aXN0aW5nIGVsZW1lbnRzLCBuYW1seSB0aGF0IHBpeGVsIHN0cmlkZSBpcyA0LCBmb3IgZXhhbXBsZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM1MjcKCjIwMTMtMDMtMTQgMTE6MTU6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogaGFuZGxlIG5vbi1leGlzdGFudCBwb29sIGluIHRoZSBkZWZhdWx0IGFsbG9jYXRpb24gcXVlcnkKCSAgZ3N0X3F1ZXJ5X3NldF9udGhfYWxsb2NhdGlvbl9wb29sKCkgcmVxdWlyZXMgdGhlcmUgdG8gYmUgYSBwb29sIGluIHRoZQoJICBxdWVyeSBhbHJlYWR5LiBUaGlzIGlzIG5vdCBhbHdheXMgdGhlIGNhc2Ugd2hlbiB3ZSBnZXQgdGhlIHF1ZXJ5IGZyb20KCSAgdXBzdHJlYW0uICBVc2UgZ3N0X3F1ZXJ5X2FkZF9hbGxvY2F0aW9uX3Bvb2woKSBpbnN0ZWFkIGluIHN1Y2ggY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTcxOQoKMjAxMy0wMS0yOSAxMDoxODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBpbXByb3ZlIGFsbG9jYXRpb24KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0dGhldyBXYXRlcnMKCSAgQWRkIHByaXZhdGUgZGF0YQoJICBBZGQgZGVjaWRlX2FsbG9jYXRpb24gdm1ldGhvZAoJICBSZWZhY3RvciBidWZmZXJwb29sIG5lZ290aWF0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE3MTkKCjIwMTMtMDQtMDMgMTY6MTI6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiB1c2UgYmlsaW5lYXIgZmlsdGVyIGFzIG11Y2ggYXMgcG9zc2libGUKCSAgVXNlIHRoZSBiaWxpbmVhciBzY2FsbGluZyBmaWx0ZXIgd2hlbiB0aGUgbWFnbmlmaWVyIG9yIHRoZSBtaW5pZmllcgoJICBmaWx0ZXJzIGFyZSBhdmFpYmxlLiBTb21lIGdyYXBoaWNzIGNhcmRzIGRvIG5vdCBwcm92aWRlIG1pbmlmaWVyIGZpbHRlcnMKCSAgYnV0IHdlIHdhbnQgdG8gdXNlIGl0IGZvciB1cHNjYWxsaW5nIGlmIGl0J3MgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcxNzYKCjIwMTMtMDQtMDMgMTQ6NTU6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogQnVtcCBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuMzYuMAoJICBBbmQgaGFuZGxlIGhlYWRlciBjaGFuZ2VzIGluIDIuMzYuMgoKMjAxMy0wNC0wMiAyMzozMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgZG9jczogYWRkIHNpbmNlIG1hcmtlcnMgdG8gbmV3IGNvZGVjcGFyc2VycyB2aWRlbyBtZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNzEyCgoyMDEzLTA0LTAxIDE5OjQ5OjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogSW1wbGVtZW50IGJhc2VzcmMtPnVubG9jaygpCgkgIFRoaXMgZml4ZXMgLT5OVUxMIHRyYW5zaXRpb24gcHJvYmxlbXMgaWYgbGlicnRtcCBpcyBzdHVjayBpbiBhCgkgIHJlY3Ygb3Igc2VuZCBjYWxsIHRoYXQgbmV2ZXIgcmV0dXJucy4KCjIwMTMtMDMtMzAgMTU6MDc6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSAgZWxlbWVudC1tYWtlcjogY2FsbCB1cCBpbiBiYXNldHJhbnNmb3JtIHRlbXBsYXRlCgkgIE1vcmUgdGVtcGxhdGVzIHNob3VsZCBiZSBkb2luZyB0aGlzOiBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMKCSAgc2hvdWxkIGNhbGwgdXAgdG8gdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gaW4gdGhlIGJhc2UgY2xhc3MuCgoyMDEzLTA0LTAxIDIyOjM4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gY2hlY2sgZm9yIGJsdWV6IGZvciBibHVldG9vdGgvYmx1ZXRvb3RoLmgKCSAgRml4ZXMgYnVpbGQgb24gbWFjaGluZXMgd2hlcmUgYmx1ZXogaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZS4KCjIwMTMtMDQtMDEgMjE6NDk6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJsdWV6OiBlbmFibGUgYmx1ZXogcGx1Z2luCgkgIFNlZW1zIHRvIG1vc3RseSB3b3JrIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wNC0wMSAyMTo0ODowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBzb2Z0IGxpYm9yYyByZXF1aXJlbWVudCB0byAwLjQuMTcKCSAgVG8gbWF0Y2ggLWJhc2UgYW5kIC1nb29kLiBBbHNvIGZpeGVzIHBvdGVudGlhbAoJICBjcmFzaCB3aGVuIGEgZmFsbGJhY2sgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQuCgoyMDEzLTA0LTAxIDEwOjIwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgdGhlIEVHTEltYWdlIGFuZCBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgY2FwcyBmZWF0dXJlcwoKMjAxMy0wNC0wMSAxMDoyMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBhICNkZWZpbmUgZm9yIHRoZSBFR0xJbWFnZSBtZW1vcnkgY2FwcyBmZWF0dXJlCgoyMDEzLTA0LTAxIDA5OjEzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBEb24ndCBpbmNsdWRlIHJzdmctY2Fpcm8uaCBkaXJlY3RseQoJICBJbmNsdWRpbmcgaXQgZGlyZWN0bHkgaXMgbm93IGRlcHJlY2F0ZWQKCjIwMTMtMDQtMDEgMDk6MTA6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHTXV0ZXggbWV0aG9kcwoKMjAxMy0wMy0yOSAxNzo1NzoxMiArMDEwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBQb3J0IHRvIDEuMAoJICBBbHNvIHBvcnQgdGhlIGRlY29kZXIgdG8gdGhlIEdzdFZpZGVvRGVjb2RlcgoKMjAxMi0wOS0yMCAxOTowMzoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSAgdmRwYXU6IFBvcnQgdG8gMS4wCgkgIE5ldyBiYXNlIGNsYXNzIGZvciB2ZHBhdSBkZWNvZGVycwoJICAqIG1wZWcyIHBvcnRlZCBhbmQgYWN0aXZhdGVkCgkgICogaDI2NCBwb3J0ZWQgYnV0IGRlYWN0aXZhdGVkCgkgICogVXNlcyBHc3RNcGVnVmlkZW8gbWV0YQoKMjAxMi0xMi0yMyAwMTo1NDo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE9ubHkgYWRkIG1ldGEgaWYgZG93bnN0cmVhbSBuZWVkcyBpdAoJICBJdCdzIG5vdCBwZXJmZWN0LCBiZWNhdXNlIGluIHRoZSBjYXNlcyB3aGVyZSB1cHN0cmVhbSBkb2Vzbid0CgkgIGluaXRpYXRlIGFuIGFsbG9jYXRpb24gcXVlcnksIHdlIHdvbid0IGtub3cuCgoyMDEyLTA5LTIwIDE4OjI3OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogU3RvcmUgaW5mb3JtYXRpb24gaW4gR3N0TXBlZ1ZpZGVvMTJNZXRhCgkgIEZJWE1FIDogT25seSBkbyBzbyBpZiB3ZSBrbm93IGRvd25zdHJlYW0gd2lsbCBuZWVkIGl0CgoyMDEyLTA5LTIwIDE4OjAzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgTXBlZyBWaWRlbyBHc3RNZXRhCgkgIFRoaXMgY2FuIGJlIHVzZWQgYnkgcGFyc2VycyB0byBwcm92aWRlIHByZS1wYXJzZWQgaW5mb3JtYXRpb24gdG8KCSAgZG93bnN0cmVhbSBlbGVtZW50cyB0aGF0IHdvdWxkIHJlcXVpcmUgaXQgKHNvIHRoZXkgY2FuIGF2b2lkIGhhdmluZwoJICB0byBwYXJzZSB0aGUgYml0c3RyZWFtIGFnYWluKS4KCjIwMTItMTItMjYgMTM6MTY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IEZpeCBwaWN0dXJlIHBhY2tldCBleHRlbnNpb24gc2l6ZSBjaGVjawoJICBJdCBpcyBhdCBsZWFzdCAzNCBiaXQgYmlnICg1IGJ5dGVzIHdpdGggYnl0ZSBwYWRkaW5nKQoKMjAxMy0wMy0zMSAxMjoxMTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgIGR2YjogTW92ZSBDQU0gaGFuZGxpbmcgdG8gYSBzZXBhcmF0ZSBHc3RUYXNrCgkgICogTm8gbG9uZ2VyIGJsb2NrcyBpbiBSRUFEWT0+UEFVU0VEIChmYXN0ZXIgc3RhcnR1cCkKCSAgKiBObyBsb25nZXIgcmVxdWlyZXMgYSBwYWQgcHJvYmUKCjIwMTMtMDMtMzEgMTE6NDY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBnc3RfZWxlbWVudF9nZXRfY29udGV4dCgpIHdoZXJldmVyIHBvc3NpYmxlCgoyMDEzLTAzLTMwIDEzOjQwOjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogV2Ugb3V0cHV0IHRpbWUgc2VnbWVudHMKCSAgRml4ZXMgIzY5MDk0OQoKMjAxMy0wMy0zMCAxMzozOTo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c3BhcnNlOiBFbnN1cmUgc2VnbWVudCBldmVudHMgYXJlIGZvcndhcmRlZAoJICBXZSBza2lwIHRoZW0gZm9yIHRzZGVtdXggdGhvdWdoIChyZWNyZWF0ZWQgbGF0ZXIpCgkgIEZpeGVzICM2OTA5NDkKCjIwMTMtMDMtMzAgMTA6MjU6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogcHVzaCBzdHJlYW0gc3RhcnQgZXZlbnQKCjIwMTMtMDMtMzAgMTA6NTc6MDggKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2VyOiBlbnN1cmUgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgYW5kIGZpeCBkZWJ1ZyBtZXNzYWdlIGFjY2VzcwoKMjAxMy0wMy0zMCAwOTo1Mjo0NSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlcjogRml4IGEgY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIHVzZQoKMjAxMy0wMy0yOCAxNzo0ODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2xnbGVzc2luazogSW1wbGVtZW50IEdzdENvbnRleHQgaGFuZGxpbmcKCjIwMTMtMDMtMjkgMTY6MTE6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBhIHNlcGFyYXRlIHRleHR1cmUgZm9yIHRoZSBjdXN0b20gdGV4dHVyZXMKCjIwMTMtMDMtMjkgMTY6MDU6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxMy0wMy0yOSAxMDozMzoxMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBjaGVjayBvbiB0aGUgcHJvcGVyIGRpc3BsYXkgYW5kIGluZGVudCBzb21lIGxpbmVzCgoyMDEzLTAzLTI4IDE0OjM2OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSBzdXJlIHRoZSB6ZXJvLXNpemVkIGFycmF5IGlzIGFsd2F5cyBsYXN0IGluIHRoZSBzdHJ1Y3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4MQoKMjAxMy0wMy0yNSAxNDoxODoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBVcGRhdGUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjggMTc6MzY6MDcgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkgIGJsdWV6OiBSZW1vdmUgYTJkcHNyYyBiaW4KCSAgVGhpcyBlbGVtZW50IGlzbid0IHJlYWxseSB1c2VmdWwuIFRoZSBvcmlnaW5hbCBwbGFuIHdhcyB0byB1c2UgdGhpcyB0bwoJICBldmVudHVhbGx5IGFsbG93IGR5bmFtaWNhbGx5IHBpY2tpbmcgYSBmb3JtYXQgYmFzZWQgb24gd2hhdCB3ZSBjYW4KCSAgc3VwcG9ydCB3aGlsZSBuZWdvdGlhdGluZyB3aXRoIHRoZSBzb3VyY2UgZGV2aWNlLiBXZSBjYW4ganVzdCBwbHVnIGluIGEKCSAgZGVjb2RlYmluIGRvd25zdHJlYW0gYW5kIGl0J2xsIGhhbmRsZSBSVFAgZGVwYXlsb2FkaW5nIGFuZCBkZWNvZGluZyBvZgoJICB3aGF0ZXZlciBmb3JtYXQgd2UgbmVnb3RpYXRlZCB3aXRoIHRoZSBzb3VyY2UgZGV2aWNlLgoKMjAxMy0wMy0xNCAxODowNDo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogQ29tcGlsZSBmaXhlcyBmb3IgYXZkdHBzcmMvYTJkcHNyYyBjb2RlIGFnYWluc3QgMS54CgoyMDEzLTAzLTE0IDEzOjA5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJICBibHVlejogQWRkIGF2ZHRwc3JjL2EyZHBzcmMgdG8gYnVpbGQKCjIwMTMtMDMtMTQgMTI6NTg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHVwIHNvbWUgcHJvYmxlbXMgdGhhdCBjYW1lIGluIHdpdGggY2hlcnJ5LXBpY2sKCjIwMTMtMDEtMDggMTA6MTk6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IFdlIHdvcmsgaW4gVElNRSBmb3JtYXQgd2l0aCBhdmR0cHNyYwoKMjAxMi0xMC0yOSAxNjo0NTo0NCArMDUzMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZGVwcmVhY2F0aW9uIHdhcm5pbmdzIG9uIGdfbXV0ZXhfKgoKMjAxMi0xMC0yOSAxNjo0NToyNSArMDUzMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSAgYmx1ZXo6IEZpeCBhIG51bWJlciBvZiBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMC0yOSAxNTo0OTowMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEZpeCBzb21lIHdhcm5pbmdzIGluIGdzdGF2ZHRwdXRpbC5jCgoyMDEyLTEwLTEyIDE4OjUyOjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEZpeCB0eXBvIGluIHJlc2V0dGluZyB0aGUgRC1CdXMgY29ubmVjdGlvbgoJICBObyByZWFsIGVmZmVjdCBzaW5jZSBGQUxTRSBhbmQgTlVMTCBhcmUgYm90aCAwCgoyMDEyLTEwLTExIDE1OjQ4OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogSGFuZGxlIEVPRiBpbiBhdmR0cHNyYyBjb3JyZWN0bHkKCjIwMTItMTAtMTEgMDg6NTc6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBGaXggYXZkdHBzcmMgZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbm93IGEgcHJvcGVyIHN1YnNldCBvZiB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTItMTAtMTEgMDg6Mzg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEFkZCBhbiBhMmRwc3JjIGJpbiBlbGVtZW50CgkgIFRoaXMgd3JhcHMgYXZkdHBzcmMgKyBydHBzYmNkZXBheSBpbnRvIGEgc2luZ2xlIGVsZW1lbnQuIHdoZW4gbW9yZQoJICBmb3JtYXRzIGFyZSBzdXBwb3J0ZWQgaW4gYXZkdHBzcmMsIHBheWxvYWRlciBzZWxlY3Rpb24gd2lsbCBuZWVkIHRvIGJlCgkgIGRvbmUgZHluYW1pY2FsbHkuCgkgIFRoaXMgY291bGQgYWxzbyBiZSBleHRlbmRlZCB0byBhY2NlcHQgYSBkZXZpY2UsIGNvbm5lY3QgdG8gaXQsIGFuZAoJICBwcm92aWRlIGF2ZHRwc3JjIGEgdHJhbnNwb3J0IChpbnN0ZWFkIG9mIHBhc3NpbmcgdGhyb3VnaCBhIHRyYW5zcG9ydCBhcwoJICBpdCBkb2VzIG5vdykuCgoyMDEyLTEwLTExIDA4OjI0OjA2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogRml4IGF2ZHRwc3JjIGNsYXNzaWZpY2F0aW9uCgoyMDEyLTEwLTEwIDIxOjM4OjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEJ1bXAgdXAgcHJpb3JpdHkgZm9yIHNvY2tldHMgaW4gQVZEVFAgZWxlbWVudHMKCSAgVGhpcyBpcyBiYXNlZCBvbiB0aGUgY29kZSBpbiBQdWxzZUF1ZGlvLgoKMjAxMi0xMC0xMCAxOTo0OTozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBBZGQgYW4gYXZkdHBzcmMgZWxlbWVudAoJICBTb3VyY2UgZWxlbWVudCB0aGF0IGNvbm5lY3RzIHRvIGEgZ2l2ZW4gdHJhbnNwb3J0IGFuZCByZWFkcyBhdWRpbyBvdmVyCgkgIEFWRFRQLiBEb2VzIG5vdCBwcm92aWRlIGEgY2xvY2sgYnV0IHVzZXMgdGhlIHN5c3RlbSBjbG9jayB0byB0aW1lc3RhbXAKCSAgaW5jb21pbmcgcGFja2V0cy4gT25seSBTQkMgaXMgY3VycmVudGx5IHN1cHBvcnRlZC4KCjIwMTMtMDMtMjggMTY6NTE6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgYSBib3hlZCB0eXBlIGZvciBHc3RFR0xEaXNwbGF5CgoyMDEzLTAzLTI4IDEzOjE4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzYmM6IGFjdHVhbGx5IGVuYWJsZSBwbHVnaW4gaWYgbGlic2JjIGlzIGF2YWlsYWJsZQoKMjAxMy0wMy0yNyAxMzoxMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBwb3J0IGVuY29kZXIgdG8gR3N0QXVkaW9FbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjYgMTM6NTU6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL3NiYy1wbHVnaW4uYzoKCSAgc2JjOiBwb3J0IGRlY29kZXIgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMTYgMTE6MzY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSogZXh0L3NiYy9zYmMtcGx1Z2luLmM6CgkgIHNiYzogaW1wb3J0IHNiYyBkZWNvZGVyL2VuY29kZXIgZnJvbSBibHVleiBhbmQgcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNyAyMjoyNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1lcmdlIFNCQyBkZWNvZGVyIGFuZCBlbmNvZGVyIGZyb20gYmx1ZXoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNiAxNjo1MDo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogbmV3IGVsZW1lbnQKCjIwMTMtMDMtMjcgMDA6NTY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiByZW1vdmUgcGFyc2VyIGluIGZhdm91ciBvZiBuZXcgR3N0QmFzZVBhcnNlLWJhc2VkIHNiY3BhcnNlIGluIC1nb29kCgoyMDEzLTAxLTA4IDEwOjE5OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBzYmNkZWM6IG1ha2UgZGVjb2RlciBtb3JlIHBlcmZvcm1hbnQKCSAgVXNlIGFuIGFkYXB0ZXIgdG8gYWNjdW11bGF0ZSBpbnB1dCBidWZmZXJzLgoJICBEZWNvZGUgYWxsIGlucHV0IGluIG9uZSBvdXRwdXQgYnVmZmVyIHdoZW4gcG9zc2libGUgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgcHVzaAoJICBvcGVyYXRpb25zLgoKMjAxMi0xMC0zMCAxODo0MTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBza2lwIHRoZSBmcmFtZSBvbiBkZWNvZGluZyBlcnJvcgoKMjAxMi0xMC0yOSAxNzoyMjoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBzZXQgRElTQ09OVCBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAxMi0xMC0yOSAxNzoxOTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogc2JjZGVjOiBoYW5kbGUgRElTQ09OVCBhbmQgdGltZXN0YW1wcwoJICBSZXNldCBzdGF0ZSBvbiBkaXNjb250LgoJICBJbnRlcnBvbGxhdGUgdGltZXN0YW1wcy4KCjIwMTItMTAtMDMgMTI6NDc6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBhdWRpbzogTWFrZSB0aGUgc2JjZGVjIGVsZW1lbnQgY29weSBidWZmZXIgbWV0YWRhdGEKCSAgTWFrZXMgc3VyZSB3ZSBkb24ndCBsb3NlIHRpbWVzdGFtcHMsIGV0Yy4KCjIwMTItMTAtMjkgMTI6NDk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IGVuYzogc2JjX2dldF9mcmFtZV9kdXJhdGlvbiBpcyBpbiBtaWxsaXNlY29uZHMKCjIwMTItMTAtMjkgMTI6Mzc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGRlYzogY2hhaW4gdXAgdG8gcGFyZW50IGJlZm9yZSBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UKCjIwMTItMTAtMTIgMTg6NTM6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBhdWRpbzogRml4IGEgbGVhayBpbiBzYmNkZWMKCjIwMTItMDktMjYgMDk6NTQ6MDEgKzA4MDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IGF1ZGlvOiBJbml0aWFsaXNlIFNCQyBkYXRhIGJlZm9yZSB1c2UgaW4gc2JjcGFyc2UgZWxlbWVudAoKMjAxMi0wOC0yMSAxMTo0OToyNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlcyBvbiBwb2ludGVyIGRlY2xhcmF0aW9ucyBhbmQgY2FzdGluZwoJICBBdm9pZCB1c2luZyBDKysgc3R5bGUgcG9pbnRlciBkZWNsYXJhdGlvbnMgbGlrZSAiY2hhciogcHRyIiwgYXMgbW9zdAoJICBCbHVlWiBjb2RlIHVzZXMgImNoYXIgKnB0ciIuCgoyMDEyLTA0LTEyIDIwOjMzOjA2ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IGF1ZGlvOiBGaXggbmV3bGluZSBiZWZvcmUgRU9GCgoyMDExLTA3LTAyIDEyOjMyOjQwIC0wMzAwICBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IGNvbW1vbiBtaXNzcGVsbGVkIHdvcmRzCgkgIEFjY291bnRpbmcgb2YgbWlzc3BlbGxlZCB3b3JkcywgYXMgZGV0ZWN0ZWQgYnkgY29kZXNwZWxsOgoJICBhY29yZGluZyAgICAgIDIKCSAgYW5jaWxsaWFyeSAgICAxCgkgIGFwcHJvcGlhdGUgICAgMQoJICBhdHJpYnV0ZSAgICAgIDEKCSAgY2FudCAgICAgICAgICAxCgkgIGNvbW1pbmcgICAgICAgMgoJICBncmFjZWZ1bGwgICAgIDEKCSAgbGVuZ2h0ICAgICAgICAxCgkgIG1pc3BlbGxlZCAgICAgMQoJICBvY2N1cmVkICAgICAgIDEKCSAgb2NjdXJlbmNlcyAgICAxCgkgIG9jdXJyZWQgICAgICAgMwoJICBwcmVmZXJlZCAgICAgIDEKCSAgcHJlc2Vuc2UgICAgICAxCgkgIHJlcG9uc2UgICAgICAgMQoJICBzZXBlcmF0ZSAgICAgIDEKCSAgc3VjY2VzZnVsICAgICAxCgkgIHN1Y2Nlc3N1bGx5ICAgMQoJICBzdWNlc3NmdWxsICAgIDEKCSAgc3VjZXNzZnVsbHkgICAxCgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogYXVkaW86IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDQtMDEgMTA6NDU6MzAgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNC0wMSAxMDoyOTozMSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wMS0zMCAwMDozMToxNSArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIGlzc3VlIHdpdGhpbiBHU3RyZWFtZXIgcGx1Z2luCgoyMDA5LTAxLTE5IDEwOjI2OjI4ICswMjAwICBTaWFyaGVpIFNpYW1hc2hrYSA8c2lhcmhlaS5zaWFtYXNoa2FAZ21haWwuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBVc2UgbmF0aXZlIGJ5dGUgb3JkZXIgZm9yIGF1ZGlvIGluIEdTdHJlYW1lciBhbmQgQUxTQSBwbHVnaW5zCgkgIFRoaXMgZml4ZXMgZW5kaWFubmVzcyBpbmNvbnNpc3RlbmN5IGJldHdlZW4gZGVmYXVsdCBTQkMKCSAgY29uZmlndXJhdGlvbiBhbmQgR1N0cmVhbWVyL0FMU0EuCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjMgMDQ6MjE6NTcgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEFzc2lnbiB2YXJpYWJsZXMgYWZ0ZXIgZGVjbGFyYXRpb25zCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0xNCAyMToyMjozOCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogTWFrZSB1c2Ugb2YgcGFyYW1ldGVycyBzZWxlY3RlZCBpbiBhbHNhIHBsdWdpbiBhbmQgZml4IGF1dG8gc2VsZWN0aW9uLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAyLTAxIDE5OjI4OjM3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGJpdHBvb2wgcHJvcGVydHkgYW5kIG90aGVycyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMzAgMTc6MzA6MjcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IEVuYWJsZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBhdXRvY29ubmVjdCBmbGFnLgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yNCAxNDoyNToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IGd0cmVhbWVyIHBheWxvYWRlciBzZW5kaW5nIGZyYWdtZW50ZWQgZnJhbWVzLgoKMjAwOC0wMS0yMyAxMzoxOTozMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBtcDMgc3VwcG9ydCBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMDctMTEtMjMgMTc6MDA6MTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQ29kZSBjbGVhbnVwLgoKMjAwNy0xMS0yMSAyMDoyNDoxMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogSW50ZWdyYXRlIG5ldyBpcGMgQVBJIGltcGxlbWVudGF0aW9uLgoKMjAwNy0xMS0xMyAyMDowNDoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBBZGQgc2JjX3JlaW5pdC4KCjIwMDctMTEtMTIgMjI6MjE6NDUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogRml4IGJ1ZyBpbiBzYmNlbmMgd2hlbiBjaGFuZ2luZyBlbmNvZGVyIHBhcmFtZXRlcnMuCgoyMDA3LTExLTEyIDE4OjE1OjU5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IE1ha2Ugc2JjIGNvZGVjIHRvIHdyaXRlIGRpcmVjdGx5IGluIGFwcGxpY2F0aW9uIGJ1ZmZlcnMgYW5kIHNvIGF2b2lkaW5nIG1lbWNweXMuCgoyMDA3LTExLTAxIDE5OjQ1OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggc2JjIG5lZ290aWF0aW9uIGFuZCBpbXByb3ZlcyBidWZmZXIgaGFuZGxpbmcgYnkgdXNpbmcgR3N0QWRhcHRlci4KCjIwMDctMTEtMDEgMTM6NTY6NTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogRml4IGJ1ZmZlcnMgdGltZXN0YW1wcyBpbiBzYmNlbmMuCgoyMDA3LTEwLTI5IDE1OjAyOjI2ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgYml0cG9vbCBjYXBhYmlsaXR5LgoKMjAwNy0xMC0yNCAyMTo1MTozNyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IFNvbWUgbW9yZSBjb2Rpbmcgc3R5bGUgY2hhbmdlcwoKMjAwNy0xMC0yNCAyMTozNjoyOSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRG9uJ3QgZm9yZ2V0IHRvIGluY2x1ZGUgdGhlIGNvbmZpZyBvcHRpb25zCgoyMDA3LTEwLTI0IDIxOjMzOjE4ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMKCjIwMDctMTAtMTggMjI6NDY6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4KCjIwMDctMTAtMTggMjE6NDc6NTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXhlcyBzYmNwYXJzZXIgZWxlbWVudC4KCjIwMDctMTAtMTggMjE6NDY6NDkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeGVzIGZvciBnc3RzYmNlbmMuCgoyMDA3LTEwLTE4IDIxOjQ1OjE0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGdzdHNiY3V0aWwuYyBhbmQgZ3N0c2JjdXRpbC5oLgoKMjAwNy0wOC0yNyAxNDoxMDowMCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZvcmNlIExJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBCWVRFX09SREVSIGZvciBub3cKCjIwMDctMDgtMjYgMTM6NTk6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIHBhcnNpbmcgc3VwcG9ydAoKMjAwNy0wOC0yNiAxMzoxMjo0NyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBBZGQgbW9kZSBwcm9wZXJ0eSB0byB0aGUgZW5jb2RlcgoKMjAwNy0wOC0yNSAxOTozMjowMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBlbmNvZGluZyBzdXBwb3J0CgoyMDA3LTA4LTI1IDE4OjUwOjI4ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IEZpeCBjbGFzcyB2YXJpYWJsZSBuYW1pbmcKCjIwMDctMDgtMjUgMTc6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogTGltaXQgdGhlIHN1cHBvcnRlZCBvdXRwdXQgcmF0ZXMKCjIwMDctMDgtMjUgMTc6MDM6MDMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgZGVjb2Rpbmcgc3VwcG9ydAoKMjAwNy0wOC0yMyAxOToxMjoyMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBBZGQgU0JDIGVuY29kZXIgYW5kIGRlY29kZXIgc2tlbGV0b25zIGZvciBHU3RyZWFtZXIKCjIwMTMtMDMtMjcgMDk6MDg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogTWFrZSBzdXJlIHRoYXQgYWxsIGJ1ZmZlcnMgaW4gb3VyIHBvb2wgY29udGFpbiBvdXIgb3duIG1lbW9yeQoKMjAxMy0wMy0yNiAxNToyMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IEluaXRpYWwgcG9ydCB0byAxLjAKCSAgVGhpcyBzaG91bGQgcmVhbGx5IHVzZSBHc3RBdWRpb1NpbmsgYW5kIEdzdEF1ZGlvU3JjLgoKMjAxMy0wMy0yNiAxNTowMTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgIHdhc2FwaTogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wMy0yNiAxNDoxNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhCgoyMDEzLTAzLTI2IDEzOjIyOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogd2UgbmVlZCBhIHJlY2VudC1lbm91Z2ggZ251dGxzIGZvciBobHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjU5NwoKMjAxMi0xMi0yMiAyMTo1OTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogSW1wbGVtZW50IGEgYnVmZmVyIHBvb2wgdGhhdCBzaGFyZXMgRDNEIHN1cmZhY2VzIHdpdGggdXBzdHJlYW0KCjIwMTItMTItMjIgMTk6MTI6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQWxsb2NhdGUgYSBuZXcgb2Zmc2NyZWVuIHN1cmZhY2UgZm9yIGV2ZXJ5IGJ1ZmZlcgoJICBUaGlzIGlzIGEgcHJlcGFyYXRpb24gZm9yIGltcGxlbWVudGluZyBhIGJ1ZmZlciBwb29sLgoKMjAxMy0wMy0yNSAxODowNDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVc2UgJTAzdSBmb3IgZm9ybWF0IGluIGdzdF9wYWRfY3JlYXRlX3N0cmVhbV9pZF9wcmludGYoKQoKMjAxMy0wMy0yNSAxMzo0ODoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBGaXggZmlsdGVyIGhhbmRsaW5nIGluIGNhcHMgbmVnb3RpYXRpb24gdG8ga2VlcCBmaWx0ZXIgY29udGVudAoKMjAxMy0wMy0yNSAwOTo0NTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGZpeCBidWlsZCBmb3Igb2JqYwoJICBUaGUgb2JqLWMgYXBpIHZlcnNpb24gb3B0aW9uIGlzIHJlcXVpcmVkIHRvIGdldCBhcHBsZW1lZGlhIHRvCgkgIGJ1aWxkIGZvciBpb3MsIG90aGVyd2lzZSBpdCB3b24ndCBmaW5kIHNvbWUgc3ltYm9scyBkdXJpbmcgbGlua2luZwoKMjAxMy0wMy0yNSAxMDoxMDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZWQ6IHNldCBib3RoIERUUyBhbmQgUFRTCgkgIEhhbmRsZSBib3RoIGR0cyBhbmQgcHRzIG9uIG91dHB1dCBidWZmZXJzLgoKMjAxMy0wMy0xMCAxMjoxNzowNSArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHJlbW92ZSB1bnVzZWQgY3VycmVudF9wcm9ncmFtX251bWJlciBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwOTM0CgoyMDEzLTAzLTIyIDE5OjQwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogc2VuZCBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGFsc28gaW4gcHVzaCBtb2RlCgkgIFdoZW4gY29udmVydGluZyB0aGUgaW5jb21pbmcgc2VnbWVudCBmcm9tIGJ5dGUgdG8gdGltZSBmb3JtYXQsCgkgIGRvbid0IGp1c3QgY29udmVydCB0aGUgc3RhcnQvc3RvcC90aW1lIHZhbHVlcywgYnV0IGFsc28gY2hhbmdlCgkgIHRoZSBzZWdtZW50IGZvcm1hdCB0byBUSU1FLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzYxCgoyMDEzLTAzLTIyIDE1OjMwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZCBpZiBnbnV0bHMgaXMgbm90IHByZXNlbnQKCSAgU2tpcCBidWlsZCBvZiBobHMgcGx1Z2luIGlmIGdudXRscyBoZWFkZXJzIGNhbid0IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzkyCgoyMDEzLTAzLTIyIDE1OjQ5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogVXNlIHRoZSBjb3JyZWN0IHN0cmlkZXMgYXMgdXNlZCBieSB5NG0gYW5kIGNvbnZlcnQgdG8gR1N0cmVhbWVyIHN0cmlkZXMgaWYgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNjEKCjIwMTMtMDMtMjIgMTU6MTk6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuaDoKCSAgZmx1aWRzeW50aDogcmVuYW1lIHRvIGZsdWlkZGVjCgkgIFJlbmFtZSB0aGUgZmx1aWRzeW50aCBwbHVnaW4gdG8gZmx1aWRzeW50aG1pZGkgYW5kIHRoZSBkZWNvZGVyCgkgIHRvIGZsdWlkZGVjIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGJ1enp0YXJkLgoKMjAxMy0wMy0yMiAxNDo1Mjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IFVzZSB0aGUgZGVmYXVsdCBldmVudC9xdWVyeSBoYW5kbGVycyBmb3IgdGhlIGRlZmF1bHQgaGFuZGxpbmcKCSAgRXNwZWNpYWxseSBkb24ndCBmb3J3YXJkIGNhcHMgZXZlbnRzIGZyb20gdGhlIHNpbmtwYWQgdG8gdGhlIHNyY3BhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI4MgoKMjAxMy0wMy0yMiAxNDozNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IFByb3Blcmx5IGhhbmRsZSBzZWdtZW50IGFuZCB0aW1lIHZhbHVlcyBvZiAtMQoKMjAxMy0wMy0yMiAxNDo0ODo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogc2V0IG1pZGkgcGFyc2VyIHJhbmsgcHJpbWFyeQoJICBOb3cgdGhhdCBpdCBzdXBwb3J0cyBzZWVraW5nIGFuZCBhbGwsIG1hcmsgaXQgcHJpbWFyeQoKMjAxMy0wMy0yMiAxMzo0OTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGFsd2F5cyBzZWVrIGJhY2sgdG8gYmVnaW5uaW5nCgkgIFdlIGFsd2F5cyBuZWVkIHRvIHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIGJlY2F1c2Ugd2hlbiB3ZSBkbyBhIGZsdXNoaW5nIHNlZWssCgkgIHdlIG1pZ2h0IGhhdmUgbG9zdCBldmVudHMgZG93bnN0cmVhbS4KCjIwMTMtMDMtMjIgMTM6NDg6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGZpeCBkZWJ1ZyBvZiBzZWdtZW50IHN0cnVjdHVyZQoKMjAxMy0wMy0yMiAxMzo0ODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBoYW5kbGUgZGlzY29udAoKMjAxMy0wMy0yMiAxMjoyNToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBpbXBsZW1lbnQgc2Vla2luZwoJICBTZWVrIGJhY2sgdG8gMCBmb3IgYmFja3dhcmQgc2Vla2luZyBhbmQgbGV0IHRoaW5ncyBydW4gYW5kIGNsaXAgZm9yIGZvcndhcmRzCgkgIHNlZWtpbmcuCgoyMDEzLTAzLTIyIDEyOjE2OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiByZXNldCBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlCgoyMDEzLTAzLTIyIDExOjA0OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGFkZCBwcm9wZXJ0aWVzCgkgIEFkZCBwcm9wZXJ0aWVzLgoJICBUcnkgdG8gZmluZCBhIGdvb2QgZGVmYXVsdCBzb3VuZGZvbnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoKMjAxMy0wMy0yMiAwODo1NDo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogbG9nIG1pZGkgdGljayBldmVudAoKMjAxMy0wMy0yMiAwODo1NDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogcmVkaXJlY3QgbG9nZ2luZyB0byBnc3QgbG9nZ2luZyBmdW5jdGlvbnMKCjIwMTMtMDMtMjEgMTg6MTg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzaW1wbGlmeSB0aGUgY2FsbGJhY2tzCgkgIFdlIG9ubHkgbmVlZCBvbmUgY2FsbGJhY2sgdG8gc2VuZCBieXRlcyBvdXQuCgoyMDEzLTAzLTIxIDE4OjE3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTAzLTIxIDE3OjI1OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogY2xlYW4gdXAgdHJhY2tzCgoyMDEzLTAzLTIxIDE3OjE2OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGRvbid0IGxlYWsgbWlkaSBkYXRhCgoyMDEzLTAzLTIxIDE3OjA1OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IHByb2R1Y2UgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzCgoyMDEzLTAzLTIxIDE2OjA1OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc21hbGwgY2xlYW51cHMgaW4gZXJyb3IgcGF0aHMKCjIwMTMtMDMtMjEgMTY6MDU6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBkdXJhdGlvbiBpcyBtYXggb2YgYWxsIHRyYWNrIGR1cmF0aW9ucwoKMjAxMy0wMy0yMSAxNjowNDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGZpeCBrbGFzcwoKMjAxMy0wMy0yMSAxNTo0MzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBJbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jcHkoKQoKMjAxMy0wMy0yMSAxNTowMDoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBVcGRhdGUgZHVyYXRpb24KCSAgUmV3b3JrIHRoaW5ncyBhIGJpdCBzbyB0aGF0IHdlIGNhbiBydW4gb3ZlciB0aGUgbWlkaSBldmVudHMgYW5kIGZpcmUgY2FsbGJhY2tzCgkgIGZvciBlYWNoIG9mIHRoZW0uIFdlIGNhbiB0aGVuIHVzZSB0aGF0IGZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24gYW5kIGFsc28gZm9yCgkgIGRvaW5nIHBsYXliYWNrLgoJICBPbmx5IHBhcnNlIGFzIG1hbnkgdHJhY2tzIGFzIHNwZWNpZmllZCBpbiB0aGUgaGVhZGVyLgoJICBGaXggZGVmYXVsdCB0ZW1wbzsKCSAgU2VuZCBNSURJIHRpY2sgZXZlbnRzIGV2ZXJ5IDEwbXMKCjIwMTMtMDMtMjEgMTQ6NTc6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTAzLTIxIDA5OjMwOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogaGFuZGxlIG1pZGkgaW4gUklGRgoKMjAxMy0wMy0yMSAwNzoyMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNtYWxsIGZpeGVzCgoyMDEzLTAzLTIxIDA3OjA3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBzZXQgcmFuayBhcyBtYXJnaW5hbAoJICBTZXQgdGhlIG1hcmsgdG8gbWFyZ2luYWwgdW50aWwgd2UgaW1wbGVtZW50IG1vcmUgZmVhdHVyZXMuCgoyMDEzLTAzLTIxIDA3OjA1OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogYWRkIGZsdWlkc3ludGggbWlkaSByZW5kZXJlcgoJICBBZGQgYSBmbHVpZHN5bnRoIGVsZW1lbnQgdGhhdCBjb252ZXJ0cyBtaWRpIGV2ZW50cyBpbnRvIHJhdwoJICBmbG9hdCBzYW1wbGVzLgoKMjAxMy0wMy0yMSAwNjo1MDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL21pZGkuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGFkZCBiYXNpYyBtaWRpIHBhcnNlcgoJICBQYXJzZXMgbWlkaSBmaWxlcyBhbmQgb3V0cHV0cyBidWZmZXJzIHdpdGggbWlkaSBldmVudHMuCgoyMDEzLTAzLTIwIDE1OjI5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJICBpdnRjOiBmaXggbWFrZSBkaXN0CgoyMDEzLTAzLTIwIDE1OjI1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBobHMgYXMgd2VsbAoKMjAxMy0wMy0yMCAxNToxOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWN0dWFsbHkgYnVpbGQgaGxzIHBsdWdpbgoKMjAxMy0wMy0yMCAxMDo0OTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTE5IDE2OjM5OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5oOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuaDoKCSAgY29tYmRldGVjdCxpdnRjOiBjb2RlIGNsZWFudXAKCjIwMTMtMDMtMTkgMTc6Mjg6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogcmVtb3ZlIHNpbmtwYWQvc3JjcGFkIGZpZWxkcwoJICBJbmZvcm1hdGlvbiBpcyBpbiB0aGUgYmFzZSBjbGFzcyBhbnl3YXksIHBsdXMgcGFkIGNyZWF0aW9uIHdhcwoJICBkb25lIGluY29ycmVjdGx5LgoKMjAxMy0wMy0xOSAxMjoxOToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IG91dHB1dCBwcm9ncmVzc2l2ZSB2aWRlbwoKMjAxMy0wMy0xOCAxNjoyMjo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IGNvZGUgY2xlYW51cAoKMjAxMy0wMy0xMiAxNzo0Nzo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IHN3aXRjaCB0byB6ZWJyYSBzdHJpcGluZwoKMjAxMy0wMy0wOCAxNzowMjoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IGRyb3AgZWFybHkgZmllbGRzCgoyMDEzLTAyLTIwIDE1OjMyOjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5oOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuaDoKCSAgaXZ0YzogbmV3IGludmVyc2UgdGVsZWNpbmUgZmlsdGVyCgkgIFRoaXMgZmlsdGVyIGNvbnZlcnRzIGludGVybGFjZWQgY29udGVudCB0aGF0IHdhcyBvcmlnaW5hbGx5CgkgIHRlbGVjaW5lJ2QgZnJvbSAyNCBmcHMgKG9yIHNpbWlsYXIpIHByb2dyZXNzaXZlIGNvbnRlbnQuICBJdCB3b3JrcwoJICBhcHByb3hpbWF0ZWx5IGxpa2UgdmlkZW9yYXRlLCBidXQgd2l0aCBhd2FyZW5lc3Mgb2YgaW50ZXJsYWNpbmcuCgkgIEl0IG1lcmdlcyBuZWlnaGJvcmluZyBmaWVsZHMgaW4gdGhlIGlucHV0IGludGVybGFjZWQgc3RyZWFtIHdpdGgKCSAgdGhlIGdvYWwgb2YgbWluaW1pemluZyBjb21iaW5nIGFydGlmYWN0cywgd2hpbGUga2VlcGluZyB0aGUgb3V0cHV0CgkgIGZyYW1lcmF0ZSBjb25zdGFudC4gIElmIGl0IGNhbm5vdCBhdm9pZCBjb21iaW5nIGFydGlmYWN0cywgaXQgd2lsbAoJICByZWNvbnN0cnVjdCB0aGUgaW1hZ2UgZnJvbSBhIHNpbmdsZSBmaWVsZC4gIE5vdGUgdGhhdCB0aGlzIGZpbHRlcgoJICBkb2VzIG5vdCBhdXRvZGV0ZWN0IHRoZSBmcmFtZXJhdGUsIGJ1dCB3aWxsIGF1dG9tYXRpY2FsbHkgZml4YXRlCgkgIGF0IDI0IGZwcy4KCjIwMTMtMDMtMTkgMTQ6MzE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBGaXggc29tZSByZXR1cm4gdmFsdWVzIGluIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCjIwMTMtMDMtMTkgMTM6NTQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBldmVudCBhbmQgcXVlcnkgaGFuZGxlcgoJICBDYWxsIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciB1bmtub3duIGV2ZW50cyBhbmQgcXVlcmllcy4KCSAgRml4IGV2ZW50IGxlYWsuCgoyMDEzLTAzLTE5IDEwOjQ3OjI1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuaDoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIE1ha2UgdGhlIGhscyBwbHVnaW4gZGVwZW5kIG9uIGdudXRscyBhbmQgbW92ZSB0byBleHQvaGxzLwoJICBnbnV0bHMgaXMgdXNlZCB0byBpbXBsZW1lbnQgQUVTIGRlY3J5cHRpb24KCjIwMTMtMDMtMTkgMTA6MjY6MTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXNlIGdudXRscyBpbnN0ZWFkIG9mIG9wZW5zc2wKCjIwMTMtMDMtMTkgMDg6NDk6MjEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzdXBwb3J0IGVuY3J5cHRlZCBzdHJlYW1zCgoyMDEzLTAzLTE5IDEwOjE0OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgcG9ydCB3aWxkbWlkaQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDQxCgoyMDEzLTAzLTE4IDIxOjEyOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBvYnRhaW4gY2xhc3MgZnJvbSBvYmplY3QKCjIwMTMtMDMtMTggMjE6MDE6NTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmaXggaW52YWxpZCBmcmVlKCkgaW50cm9kdWNlZCBieSBsYXN0IGNvbW1pdAoKMjAxMy0wMy0wNyAyMjoxOToxNSArMDAwMCAgS2V2aW4gVGhvcm5iZXJyeSA8Z2ltbWVhbWlsa2J0dGZAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkgIG1wZWd0c211eDogZml4IGNyZWF0aW9uIG9mIEFEVFMgaGVhZGVyIGZvciBBQUMgYXVkaW8gaW4gTVBFRy1UUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDEyCgoyMDEzLTAzLTE4IDA3OjM0OjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHBhcnNlICNFWFQtWC1LRVkgdGFncwoKMjAxMy0wMy0xOCAwNzoyMjozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZhY3RvciBvdXQgVVJJIGpvaW5pbmcgdXRpbGl0eQoKMjAxMy0wMy0xOCAwNzowMjo1NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZpeCBVUkkgcGFyc2luZyBmb3IgYWJzb2x1dGUgZnJhZ21lbnQgcGF0aHMKCjIwMTMtMDMtMTYgMjM6MzI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogc2V0IGRpc2NvbnQgZmxhZyBvbiBmaXJzdCBhdWRpbyBidWZmZXIgdG9vCgoyMDEzLTAzLTE2IDIzOjI5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGFnZ3JlZ2F0ZSBhdWRpbyBhbmQgdmlkZW8gZmxvdyByZXR1cm5zCgkgIEFuZCBwYXVzZSB0YXNrIGluIHNvbWUgbW9yZSBjYXNlcyB3aGVyZSB3ZSBzaG91bGQKCSAgcGF1c2UgdGhlIHRhc2suCgoyMDEzLTAzLTE2IDIxOjM5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBhZGQgc2VuZF9ldmVudCBoYW5kbGVyIHNvIGFwcGxpY2F0aW9uIGNhbiBpbmplY3QgRU9TIGV2ZW50CgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNodXQgZG93biBhIHJlY29yZGluZyBwaXBlbGluZSBjbGVhbmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzAwCgoyMDEzLTAzLTE2IDIxOjM0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHBhdXNlIHN0cmVhbWluZyB0aHJlYWQgYW5kIHNlbmQgRU9TIGV2ZW50IG9uIGVycm9yCgkgIEluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIEVPUyBtZXNzYWdlIGFuZCBjb250aW51aW5nLAoJICBhY3R1YWxseSBwYXVzZSB0aGUgdGhyZWFkLgoKMjAxMy0wMy0xNiAxMzoxMzoxNCAtMDQwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIFJHQiBhbmQgWFkgcHJvcGVydHkgbmlja25hbWUgc3RyaW5ncwoJICBBbHNvIGZpeCB0aGUgWSBwcm9wIG5pY2tuYW1lIHN0cmluZyBiZWluZyBpbmNvcnJlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4ODQKCjIwMTMtMDMtMTYgMTM6MDc6MjUgLTA0MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogZml4IG5pY2tuYW1lcyBmb3IgY29sb3IgYW5kIHBvc2l0aW9uIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg4NAoKMjAxMy0wMy0xNSAyMDoyMTo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTWFyayBkZWNrbGluayBhcyBwb3J0ZWQKCjIwMTMtMDMtMTUgMDA6MjU6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGVsZW1lbnQtbWFrZXI6IGNsZWFuIHVwIGJpdHMgZnJvbSBwcmV2aW91cyBjb21taXQKCSAgRmlsZXMgdGhhdCB3ZXJlIHN1cHBvc2VkIHRvIGJlIGluIHRoZSBwcmV2aW91cyBlbGVtZW50LW1ha2VyCgkgIGNvbW1pdC4gIFRoaXMgaXMgd2hhdCBoYXBwZW5zIHdoZW4gY2hlcnJ5LXBpY2sgZG9lc24ndCB3b3JrLgoKMjAxMy0wMy0xNSAxNzo0NzoyMyArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICB0b29sczogRml4IG1ha2UgZGlzdAoJICBNaXNzaW5nIGJpdHMgb2YgYjQ1YTFkZjVkZWFkYjAyOWRjYmU0NTIyZjAxMTZkMzRmMWNkMmYxZQoKMjAxMy0wMy0xNSAwOToyOTo0MiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogZml4IGNvbXBpbGF0aW9uIHdhcm5pbmcgcmV0dXJuaW5nIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODk3CgoyMDEzLTAzLTE1IDA5OjI3OjM2ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwOiB1c2UgY29uc3RhbnQgQUVTXzEyOF9JQ00gaW5zdGVhZCBvZiBBRVNfSUNNIHRoYXQgaXMgbm90IGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4OTcKCjIwMTMtMDMtMDEgMTY6NTI6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgdmlkZW9zZWdtZW50Y2xpcDogRG9uJ3QgbGVhayBidWZmZXJzIGFmdGVyIHNlZ21lbnQKCjIwMTMtMDMtMTIgMTc6MzI6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgRklYTUUgZm9yIGZ1dHVyZSByZXZpdmFsCgoyMDEzLTAzLTE0IDIzOjU3OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZGVjb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9lbmNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdGFnZGVtdXg6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZGVjb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9lbmNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXIyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb3Npbms6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBVcGRhdGUgdGVtcGxhdGVzIGZvciAxLjAKCSAgVGhpcyBhcmUgKGFsbW9zdCkgY29tcGxldGVseSBhdXRvZ2VuZXJhdGVkIGZyb20gdGhlIGRvY3VtZW50YXRpb24uCgoyMDEzLTAyLTA1IDE2OjM0OjIwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZkZW11eDogQWRkIGEgc2Vjb25kIE1YRiBVTCBmb3IgdW5jb21wcmVzc2VkIGF1ZGlvCgoyMDEzLTAyLTA1IDE1OjU4OjUzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IElnbm9yZSBtaXNzaW5nIG1ldGFkYXRhIGRlc2NyaXB0b3JzCgoyMDEzLTAzLTE0IDEyOjA5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3Qgc3RvcCB0YXNrcyBpbiBwYXVzZWQKCSAgQSBub24tbGl2ZSBlbGVtZW50IGlzIHN1cHBvc2VkIHRvIGNvbnRpbnVlIHN0cmVhbWluZyBpbiB0aGUgcGF1c2VkIHN0YXRlIHNvCgkgIGRvbid0IHN0b3AgdGhlIHRhc2tzIHdoZW4gZ29pbmcgdG8gcGF1c2VkLgoJICBXZSBhbHNvIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHRoZSB1cGRhdGUgdGFzayBhZnRlciB3ZSBwcmVyb2xsZWQgZW5vdWdoIGRhdGEsCgkgIG5vdCBvbmx5IGluIHRoZSBwbGF5aW5nIHN0YXRlLgoKMjAxMy0wMy0xNCAxMjowODozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTAzLTEzIDEyOjUwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IEVHTEltYWdlIG9yaWVudGF0aW9ucwoKMjAxMy0wMy0xMyAxMToyOTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgb3JpZW50YXRpb25zIG9mIHRoZSBFR0xJbWFnZQoJICBUaGUgY29udGVudCBvZiB0aGUgRUdMSW1hZ2VzIGNhbiBiZSBhdCBsZWFzdCBpbiBHU3RyZWFtZXIgb3JpZW50YXRpb24sCgkgIG1lYW5pbmcgdG9wIGxpbmUgZmlyc3QgaW4gbWVtb3J5LCBvciBPcGVuR0wgb3JpZW50YXRpb24sIG1lYW5pbmcKCSAgYm90dG9tIGxpbmUgZmlyc3QgaW4gbWVtb3J5LgoKMjAxMy0wMy0xMyAxMTowOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIFJHQkEgdG8gdGhlIGNhcHMgYWdhaW4KCjIwMTMtMDMtMTMgMDA6MjU6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IGZpeCB1cCBtcGVndHNtdXggdW5pdCB0ZXN0IGFmdGVyIGNvbGxlY3RwYWRzIGNoYW5nZQoJICBJdCB3YXMgcGFzc2luZyBleHBlY3RlZCBmbG93IHJldHVybnMgKHdoaWNoIG1pZ2h0IGJlIG5lZ2F0aXZlKQoJICBpbiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBmaWVsZCwgd2hpY2ggd2FzIG1heWJlIG5vdCB0aGUgYmVzdAoJICBpZGVhLgoKMjAxMy0wMy0xMSAyMTo1NToyOCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IGltcHJvcGVyIHZpZGVvIGZyYW1lIGNsZWFyIG9wZXJhdGlvbgoJICBUaGUgY3VycmVudCBjb2RlIGlzIG1lbXNldHRpbmcgdGhlIEdzdFZpZGVvRnJhbWUuZGF0YSBhZGRyZXNzIHRvIDBzICh3aGljaAoJICBjYXVzZXMgYSBzZWdmYXVsdCkuIFRoaXMgbWVtYmVyIGlzIGFjdHVhbGx5IGFuIGFycmF5IG9mIGRhdGEgYnVmZmVycyAob25lIGZvcgoJICBlYWNoIHBsYW5lKS4gIFRoaXMgZml4IGl0ZXJhdGVzIG92ZXIgZWFjaCBkYXRhIHBsYW5lIHRvIGNsZWFyIHRoZW0gYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjU1CgoyMDEzLTAzLTEyIDE5OjQ3OjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwLy5naXRpZ25vcmU6CgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHAuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwOiBBZGQgU1JUUCBwbHVnaW4gYmFzZWQgb24gbGlic3J0cAoJICBJbiBsYXJnZSBwYXJ0IHRoZSB3b3JrIG9mIEdhYnJpZWwgTWlsbGFpcmUKCjIwMTMtMDMtMTIgMTk6MzY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0aGUgYnVmZmVyIGlzIHJlbGVhc2VkIHRvIHRoZSBwb29sIGlmIGl0J3MgdGhlIGxhc3QgdXNlZCBvbmUKCjIwMTMtMDMtMTAgMjI6MDY6MzEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkgIGFwcGxlbWVkaWE6IHN1cHByZXNzIHdhcm5pbmdzIGZvciBkZXByZWNhdGVkIGdsaWIgQVBJCgoyMDEzLTAzLTEwIDIxOjIxOjE3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogVXNlIGNvcnJlY3QgcHJpbnQgZm9ybWF0IHNwZWNpZmllcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTA5IDAxOjA2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIFJlbW92ZSBEVE1GIHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wOSAwMDoxNzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSAgZmJkZXY6IHBvcnQgZmJkZXZzaW5rIHRvIDEuMAoKMjAxMy0wMy0wNyAxMTo1ODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVGhlcmUgYXJlIG9ubHkgdHdvIEdMU0wgcHJvZ3JhbXMsIG5vdCB0aHJlZQoKMjAxMy0wMy0wNyAxMTo1MDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZ3N0X2J1ZmZlcl9wb29sX2NvbmZpZ19nZXRfYWxsb2NhdG9yKCkgZG9lcyAqbm90KiByZXR1cm4gYSBuZXcgcmVmZXJlbmNlIHRvIHRoZSBhbGxvY2F0b3IKCSAgRGlmZmVyZW50IHRvIGdzdF9xdWVyeV9nZXRfbl9hbGxvY2F0aW9uX3BhcmFtcygpIHdoaWNoIGRvZXMKCjIwMTMtMDMtMDcgMDA6MDE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlMDU1NTggdG8gMDRjN2ExZQoKMjAxMy0wMy0wNiAxNzo1MzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGFsbG9jYXRpb24gb2YgUkdCQSB0ZXh0dXJlcwoKMjAxMy0wMy0wNiAxMDo1Mzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIHNldCB0aGUgTk9fU0hBUkUgZmxhZyBvbiB0aGUgRUdMSW1hZ2UgbWVtb3JpZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTUyMDMKCjIwMTMtMDMtMDUgMTI6NDc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsd2F5cyB1c2UgYW4gUkdCQSBjb25maWd1cmF0aW9uCgoyMDEzLTAyLTI3IDEzOjE1OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZy1jb25maWc6IEFkZCBlZ2wgbGlicmFyeSB0byB0aGUgZ2VuZXJpYyBwa2ctY29uZmlnIGZpbGUKCjIwMTMtMDItMjUgMTM6NDM6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IG5lZ290aWF0ZSBhbiBhbGxvY2F0b3IKCjIwMTMtMDItMjUgMTM6MzE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBSZW5hbWUgZ3N0X2VnbF9pbWFnZV9tZW1vcnlfY2FuX21hcCgpIHRvIGlzX21hcHBhYmxlKCkKCjIwMTMtMDItMjUgMTM6MjU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBSZW1vdmUgYnVmZmVyIHBvb2wgb3B0aW9uCgkgIFRoaXMgc2hvdWxkIGJlIGRvbmUgZGlmZmVyZW50bHkgdmlhIHRoZSBhbGxvY2F0b3JzIGluIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxMy0wMi0yMiAxMzowNzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IE1hcmsgbWVtb3J5IGFzIG5vdCBtYXBwYWJsZSBpZiBpdCBpc24ndAoKMjAxMy0wMi0yMiAxMjo0ODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IEltcGxlbWVudCBzaGFyaW5nIG9mIG1lbW9yeQoKMjAxMy0wMi0yMiAxMToyMzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU3RvcmUgYSByZWZlcmVuY2UgdG8gdGhlIGxhc3RfYnVmZmVyIGlmIHVzaW5nIEVHTEltYWdlcwoKMjAxMy0wMi0yMiAxMDo1ODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gUlBpCgoyMDEzLTAyLTIxIDE3OjQzOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogUG9ydCB0byBuZXcgRUdMIGxpYnJhcnkKCjIwMTMtMDItMjEgMTQ6NDA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsOiBNb3ZlIGNvbmZpZ3VyZSBjaGVja3MgYXJvdW5kIGFuZCByZS11c2UgZm9yIGVnbGdsZXNzaW5rIHBsdWdpbgoKMjAxMy0wMi0yMSAxMzozOToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wucGMuaW46CgkgIGVnbDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBFR0xJbWFnZSBoYW5kbGluZwoKMjAxMy0wMy0wMyAxMjozMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBPbmx5IGluY2x1ZGUgPGdzdC9hdWRpby9hdWRpby5oPgoKMjAxMy0wMy0wMyAxMjozMDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjMwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGNvcnJlY3QgdHlwZSBzcGVjaWZpZXJzIGZvciBmb3JtYXQgc3RyaW5ncyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6Mjk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFVzZSBjb3JyZWN0IHR5cGUgc3BlY2lmaWVycyBmb3IgZm9ybWF0IHN0cmluZ3MgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjI5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR1NUX0VSUk9SX09CSkVDVCgpIHBhcmFtZXRlcnMKCjIwMTMtMDMtMDMgMTA6NTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiBGaXggY29tcGlsZXIgd2FybmluZyBjYXVzZWQgYnkgd3JvbmcgZm9ybWF0IHNwZWNpZmllcgoKMjAxMy0wMy0wMSAxNTo1ODo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3RzIGZvciBzaG1zaW5rL3NobXNyYwoKMjAxMy0wMy0wMSAwMDoxMDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIHBrZ2RhdGFkaXIgbG9jYWxseSB0byBjb25zdHJ1Y3QgcGF0aCBmb3IgY3VzdG9tIGhhYXIgY2FzY2FkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMy0wMS0zMCAxNDozNzoxOCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBvcGVuY3Y6IHBvcnQgaGFuZGRldGVjdCBlbGVtZW50IHRvIDEuMCBhbmQgYWRkIHRvIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTMtMDEtMjcgMTk6MDU6MjcgKzAyMDAgIEFuZG9sIExpIDxhbmRvbEBhbmRvbC5pbmZvPgoKCSogZXh0L29wZW5jdi9maXN0LnhtbDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3BhbG0ueG1sOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIG9wZW5jdjogYWRkIGhhbmRkZXRlY3QgcGx1Z2luLCBpbml0aWFsIGltcGxlbWVudGF0aW9uCgkgIFRoZSBoYW5kZGV0ZWN0IHBsdWdpbiBpcyBmb3IgZGV0ZWN0aW5nIGhhbmQgZ2VzdHVyZXMgdXNpbmcKCSAgb3BlbmN2LgoJICBJdCB3YXMgY3JlYXRlZCBpbiB0aGUgY291cnNlIG9mIHRoZSBHb29nbGUgU3VtbWVyIG9mIENvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTItMDktMjYgMTY6MDA6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogQWRkIGN1c3RvbSBhbGxvY2F0b3IgdG8gYWxsb3cgZm9yIHplcm8tY29weSBzaGFyZWQgbWVtb3J5IHVzZQoKMjAxMy0wMi0yOCAxODoxMzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IERvbid0IGxlYWsgc29ja2V0IHBhdGgKCjIwMTMtMDItMjggMjA6MjI6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJICBleGFtcGxlczogaWdub3JlIG5ldyB0ZXN0LXV2Y2gyNjQgYmluYXJ5CgoyMDEzLTAyLTI4IDIwOjExOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZXBvcnQgZWxlbWVudCBjcmVhdGlvbiBmYWlsdXJlcyBiZXR0ZXIgYW5kIGZpeCB1cCBMSUJTCgoyMDEzLTAyLTI4IDIwOjA5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb21lIGVsZW1lbnQgbmFtZXMgZm9yIDEuMAoKMjAxMy0wMi0yOCAyMDowMjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpbmQgdW5pbnN0YWxsZWQgZ3N0LWxpYmF2IHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMKCjIwMTMtMDItMjggMTg6NTQ6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogcG9ydCB0byAxLjAKCSAgQ29tcGlsZXMsIG5vdCB0ZXN0ZWQgeWV0LgoKMjAxMy0wMi0yOCAxODo1Mzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBhZGQgbGF5b3V0PWludGVybGVhdmVkIHRvIGF1ZGlvIGNhcHMKCjIwMTItMTEtMDggMTM6MjI6NDEgLTA4MDAgIEJsYWtlIFRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHVzZSBPX0NMT0VYRUMgd2hlcmUgYXBwcm9wcmlhdGUgaW4gc2htcGlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MzM5CgoyMDEzLTAyLTI4IDE2OjU1OjA1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGNhcHMgbGVhawoKMjAxMy0wMi0yOCAxMzoyNTowNiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiB1c2UgcmVsYXRpdmUgaW5jbHVkZSBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yOCAxMjowNDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBnc3RfdmlkZW9fc2lua19jZW50ZXJfcmVjdCgpIHRha2VzIHRoZSBzdHJ1Y3RzIGl0c2VsZiBpbnN0ZWFkIG9mIHBvaW50ZXJzIGFzIGZpcnN0IHBhcmFtZXRlcnMKCjIwMTMtMDItMjggMTE6Mjc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGFzcGVjdC1yYXRpbyBpc3N1ZXMgY2F1c2VkIGJ5IHNjYWxpbmcgb24gUlBpCgoyMDEzLTAyLTI3IDIxOjA1OjM4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogRXJyb3Igb3V0IGlmIG1lbW9yeSBhcmVhIGlzIHNtYWxsZXIgdGhhbiBidWZmZXIKCjIwMTMtMDItMjcgMjA6NTc6NTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkgIHNobTogTWFrZSBzdXJlIHRvIG5vdCBhbGxvY2F0ZSBibG9ja3MgbGFyZ2VyIHRoYW4gdGhlIHNoYXJlZCBtZW0gYXJlYQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzU5CgoyMDEzLTAyLTI3IDE4OjU2OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3RzIGZvciBkdG1mc3JjCgoyMDEzLTAyLTI3IDIzOjI3OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogcG9ydCB0byAxLjAKCSAgQ29tcGlsZXMsIG5vdCB0ZXN0ZWQgeWV0LiBBIGdyZWF0IG51bWJlciBvZiBzdXBlcmZsdW91cyBjdXN0b20KCSAgcGFkIGZ1bmN0aW9ucyBtYXkgaGF2ZSBiZWVuIGhhcm1lZCBpbiB0aGUgbWFraW5nIG9mIHRoaXMgcG9ydC4KCjIwMTMtMDItMjcgMTY6MTU6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBGaXggcmVmIGxlYWsgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI3IDEzOjE0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZy1jb25maWc6IE1ha2UgdGhlIGdlbmVyaWMgcGtnLWNvbmZpZyBmaWxlIG1vcmUgdXNlZnVsCgoyMDEzLTAyLTIzIDA5OjExOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mY2RlYzogVXNlIG5ldyBHU1RfTUVNT1JZX0ZMQUdfQ09OVElHVU9VUyBpbnN0ZWFkIG9mIHJlcXVpcmluZyBhIHNwZWNpZmljIG1lbW9yeSB0eXBlCgoyMDEzLTAyLTE5IDEzOjAwOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRkIGFsbCBzdXBwb3J0ZWQgdmlkZW8gZm9ybWF0cyB0byB0ZW1wbGF0ZSBjYXBzCgkgIFdlIG5vdyB1c2UgZ3N0X3ZpZGVvX292ZXJsYXlfY29tcG9zaXRpb25fYmxlbmQoKSwgc28gY2FuIHN1cHBvcnQKCSAgYWxsIHZpZGVvIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoYXQsIG5vdCBqdXN0IEk0MjAuCgoyMDEzLTAyLTE5IDExOjI0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcHJveHkgdGhlIGFsbG9jYXRpb24gcXVlcnkKCSAgUGFzcyBhbGxvY2F0aW9uIHF1ZXJ5IGRvd25zdHJlYW0uCgoyMDEzLTAyLTE5IDExOjE0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZG9uJ3QgZm9yd2FyZCBDQVBTIGV2ZW50IGZyb20gc3VidGl0bGUgcGFkCgkgIE1heSByZXN1bHRzIGluIG5vdC1uZWdvdGlhdGVkIGZsb3cgZXJyb3JzIG90aGVyd2lzZS4KCjIwMTMtMDItMTYgMDI6NDQ6MTkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgY29udGFjdCBpbmZvcm1hdGlvbgoKMjAxMy0wMi0xNiAwMjozODozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IGZpeCBnc3RfYnVmZmVyX2dldF9jb3JlX21lZGlhX21ldGEgbWFjcm8KCjIwMTMtMDItMTYgMDI6Mzc6MTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGVuYyB0byAxLjAKCjIwMTMtMDItMTYgMDI6MzE6MjggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHJlcGxhY2UgdXNhZ2Ugb2YgZGVwcmVjYXRlZCBnc3RfcGFkX3NldF9jYXBzKCkgaW4gdnRkZWMKCjIwMTMtMDItMTYgMDI6MjY6NTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRhcGkgdG8gcnVuIG9uIE9TIFggMTAuOAoKMjAxMy0wMi0xNSAwODoyMDo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogcmVtb3ZlIGNoYW5uZWwtbWFzayBmcm9tIGNhcHMKCSAgVGhlIGNoYW5uZWwtbWFzayBpcyBvbmx5IG5lZWRlZCBmb3IgY2hhbm5lbHM+MiB3aGljaCB3ZSBkb24ndCBkby4KCjIwMTMtMDItMTQgMTA6NDM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBmaXggaDI2NCBjYXBzIGluIG1wZWd0c211eCB0ZXN0CgkgIE5lZWRzIHRvIGJlIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0sIG5vdCBmb3JtYXQ9Ynl0ZS1zdHJlYW0uCgoyMDEzLTAyLTE0IDEwOjQwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgdGVzdHM6IGZpeCBmYWFkIHVuaXQgdGVzdCBmb3IgZ3N0X2NhcHNfaXNfc3Vic2V0KCkgZml4IGluIGNvcmUKCSAgTmVlZCB0byBzcGVjaWZ5IHRoZSBzdHJlYW0tZm9ybWF0LgoKMjAxMy0wMi0xNCAwOTo0MDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBSZXZlcnQgIm1wZWc0dmlkZW9wYXJzZTogc2V0IDAgZHVyYXRpb24gd2hlbiB2b3BfY29kZWQgaXMgMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMzIxOWEyNjFhNWE3YjczNDBiNjNjODAwMTAwMDlhNzNiMDMyNzU5LgoJICB2b3BfY29kZWQgMCBtZWFucyB0aGF0IHRoZSBwcmV2aW91cyBmcmFtZSBzaG91bGQgYmUgcmVwZWF0ZWQsCgkgIHNvIGl0IHNob3VsZCBoYXZlIHZhbGlkIGR1cmF0aW9uIGFmdGVyIGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE2OQoKMjAxMy0wMi0xNCAwOTowMzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5oOgoJICBpbnNlcnRiaW46IG1hcmsgYXMgdW5zdGFibGUgQVBJCgoyMDEzLTAyLTE0IDA5OjAyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogZml4IHVwIGd0ay1kb2MgY2h1bmsgYW5kIGFkZCBzaW5jZSBtYXJrZXJzCgoyMDEzLTAyLTEzIDE1OjAwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICB0ZXN0czogcG9ydCB1dmNoMjY0IHRlc3QgdG8gMS4wCgkgIEZpeGVzICdtYWtlIGNoZWNrJyBidWlsZC4KCjIwMTMtMDItMTMgMTU6MjA6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQ2xvc2UgdGhlIGRpc3BtYW4gZGlzcGxheSBvbiBSUGkgYWZ0ZXIgdXNhZ2UKCjIwMTMtMDItMTMgMTU6MDk6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZvciBSUGksIGluaXRpYWxpemUgYmNtX2hvc3QgaW4gcGx1Z2luX2luaXQoKQoKMjAxMy0wMi0xMyAxNTowNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGNoZWNrIGZvciBhbGwgdGhlIHJlcXVpcmVkIGxpYnJhcmllcyBhbmQgaGVhZGVycyBmb3IgUlBpCgoyMDEzLTAyLTEzIDEyOjUxOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgY29tcGxldGUgYW5kIHZhbGlkIGNhcHMgaW4gdGhlIHRlc3RzCgoyMDEzLTAyLTEyIDE4OjM2OjEwICswMTAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBiY20vUmFzcGJlcnJ5IFBpIHN1cHBvcnQuCgkgIFRoaXMgYWRkcyBhIHZpZGVvIHBsYXRmb3JtIGJhY2tlbmQgZm9yIHRoZSBkaXNwbWFueCBkaXNwbGF5IG1hbmFnZXIgdXNlZCBieQoJICBicm9hZGNvbSBhbmQgdGhlIFJhc3BiZXJyeSBQaS4KCSAgU2lnbmVkLW9mZi1ieTogSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKMjAxMy0wMi0xMiAxODoxMTozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IERlY2xhcmUgdGhlIHdpZHRoL2hlaWdodCBvdXRzaWRlIHRoZSBsb29wCgkgIEFsc28gaW5pdGlhbGl6ZSB0aGVtIHRvIG1ha2UgZ2NjIGhhcHB5CgoyMDEzLTAxLTI4IDIyOjQyOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogQWRkIHBuZyBmaWxlIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjM5CgoyMDEzLTAyLTExIDE2OjM1OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBVbnJldmVydDogbXBlZ3ZpZGVvcGFyc2U6IHNldCB0aW1lc3RhbXAgYmFzZWQgb24gcGljIG9mZnNldAoJICBBUEkgaXMgbm93IGluIGJhc2VwYXJzZSBpbiBnc3RyZWFtZXIuCgkgIFRpbWVzdGFtcHMgaW4gTVBFRy1UUyBzdHJlYW1zIGFyZSBiYXNlZCBvbiB0aGUgbGFzdCB0aW1lc3RhbXAKCSAgYmVmb3JlIHRoZSBzdGFydCBjb2RlIG9mIHRoZSBwaWN0dXJlLiAgR3N0QmFzZVBhcnNlIHNldHMgdGhlCgkgIHRpbWVzdGFtcCBiYXNlZCBvbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZXF1ZW5jZSBoZWFkZXIsIGlmCgkgIG9uZSBleGlzdHMgYmVmb3JlIHRoZSBwaWN0dXJlLiAgVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB0aGUKCSAgdGltZXN0YW1wIG9jY3VycyBpbiB0aGUgTVBFRy1UUyBzdHJlYW0gYmV0d2VlbiB0aGUgc2VxIGhlYWRlcgoJICBhbmQgcGljdHVyZSBzdGFydCBjb2RlLgoKMjAxMy0wMi0wNyAxNTo0Mjo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkgIHlhZGlmOiBBZGQgbW9kZSBwcm9wZXJ0eQoJICBDb3B5IG1vZGUgZnJvbSBkZWludGVybGFjZSBlbGVtZW50LiAgSXNuJ3QgYWN0dWFsbHkgaW1wbGVtZW50ZWQKCSAgaW4geWFkaWYsIGV2ZXJ5IGZyYW1lIGlzIGRlaW50ZXJsYWNlZCwgc28gZWZmZWN0aXZlbHkgbW9kZT0xLgoKMjAxMy0wMi0xMiAxMTo0Nzo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveWFkaWYvdmZfeWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggbm9uLXg4Nl82NCBidWlsZHMKCjIwMTMtMDItMTIgMTE6MjQ6NDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhZGQgcGFyc2VkPWZhbHNlIHRvIG1wZWcyIGNhcHMKCjIwMTMtMDItMTIgMTA6Mzk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSAgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOiByZW1vdmUgb2xkIEdTdGF0aWNSZWNNdXRleCBzdHVmZgoJICBCcmVha3MgdGhlIGJ1aWxkIHdpdGggbmV3ZXIgR0xpYnMgKCJ1bmtub3duIHR5cGUgR1N0YXRpY1JlY011dGV4IikKCSAgYW5kIGlzIG5vdCBuZWVkZWQgYW55IG1vcmUuCgoyMDEzLTAyLTEyIDA5OjM4OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFJldmVydCAibXBlZ3ZpZGVvcGFyc2U6IHNldCB0aW1lc3RhbXAgYmFzZWQgb24gcGljIG9mZnNldCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MzcxOGRhOTE5YjZhM2RhYTA0YTY2ZGExYmU0ZGI1NGUwNzc4ODk4LgoJICBUaGUgcmVxdWlyZWQgYmFzZXBhcnNlIEFQSSBhZGRpdGlvbiBoYXMgbm90IGJlZW4gcHVzaGVkIHlldCwKCSAgd2hpY2ggYnJlYWtzIHRoZSBidWlsZC4KCjIwMTMtMDItMTEgMTc6NTg6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBpbmNyZWFzZSBtaW4gc2l6ZSBmb3IgcGljdHVyZSBjb2RpbmcgZXh0CgkgIFRoaXMgY291bGQgdXNlIGFkZGl0aW9uYWwgd29yay4gIFRoZSBwYXJzaW5nIGNvZGUgb3ZlcnJ1bnMgdGhlCgkgIGVuZCBvZiBidWZmZXJzIGR1cmluZyBub3JtYWwgb3BlcmF0aW9uLCB0cmlnZ2VyaW5nIEdTVF9XQVJOSU5Hcy4KCjIwMTMtMDItMTEgMTc6Mzk6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IHF1aWV0IGRlYnVnZ2luZyB3aGVuIG1mYyBkZXZpY2UgZG9lc24ndCBleGlzdAoJICBBdm9pZCByZWdpc3RlcmluZyB0aGUgZWxlbWVudCBpZiB0aGUgbWZjIGRldmljZSBkb2Vzbid0IHdvcmssCgkgIGJ1dCBhbGxvdyBwbHVnaW4gbG9hZGluZyB0byBzdWNjZWVkLgoKMjAxMy0wMi0xMSAxNjozNTo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNldCB0aW1lc3RhbXAgYmFzZWQgb24gcGljIG9mZnNldAoJICBUaW1lc3RhbXBzIGluIE1QRUctVFMgc3RyZWFtcyBhcmUgYmFzZWQgb24gdGhlIGxhc3QgdGltZXN0YW1wCgkgIGJlZm9yZSB0aGUgc3RhcnQgY29kZSBvZiB0aGUgcGljdHVyZS4gIEdzdEJhc2VQYXJzZSBzZXRzIHRoZQoJICB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VxdWVuY2UgaGVhZGVyLCBpZgoJICBvbmUgZXhpc3RzIGJlZm9yZSB0aGUgcGljdHVyZS4gIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUgdGhlCgkgIHRpbWVzdGFtcCBvY2N1cnMgaW4gdGhlIE1QRUctVFMgc3RyZWFtIGJldHdlZW4gdGhlIHNlcSBoZWFkZXIKCSAgYW5kIHBpY3R1cmUgc3RhcnQgY29kZS4KCjIwMTMtMDItMTEgMjM6NDY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkgIHlhZGlmOiBmaXggZGlzdGNoZWNrCgoyMDEzLTAyLTExIDIzOjI5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIE1ha2VmaWxlLmFtOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICBzd2ZkZWM6IHJlbW92ZQoJICBUaGUgc3dmZGVjIHByb2plY3QgaXMgZGVhZCwgYW5kIHRoaXMgcGx1Z2luIHdhcwoJICBuZXZlciByZWFsbHkgdXNlZnVsIGJlY2F1c2Ugb2YgdGhlIHdheSBzd2Ygd29ya3MuCgkgIFJlbW92ZSBpdCBiZWZvcmUgc29tZW9uZSBhY2NpZGVudGFsbHkgcG9ydHMgaXQuCgoyMDEzLTAyLTExIDIyOjUwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy8uZ2l0aWdub3JlOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgQWRkIGNvZyB0byBjcnVmdCBsaXN0IGFuZCByZW1vdmUgc29tZSBtb3JlIGxlZnRvdmVyIGZpbGVzCgoyMDEzLTAyLTExIDIyOjQwOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJICB5YWRpZjogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDEzLTAyLTAzIDE0OjMyOjI3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQgdGVzdDogVXNlIHN0cmluZyBpbnN0ZWFkIG9mIGZvdXJjYyBpbiBnbGFkZSBjYXBzCgoyMDEzLTAyLTAzIDE0OjMxOjUwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUmVtb3ZlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoKMjAxMy0wMi0wMyAxNDozMToxMyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IEFkZCBpbWFnZS9qcGcgdG8gdmZzcmMgYW5kIHZpZHNyYyBjYXBzCgoyMDEzLTAyLTAzIDE0OjMwOjM2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NDogRml4IE5WMjEgdnMgTlYxMiB0eXBvCgoyMDEzLTAyLTAyIDE0OjE2OjQwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUGFzcyB0aHJvdWdoIHRoZSBmaWx0ZXIgb24gdGhlIGNhcHMgcXVlcnkKCjIwMTMtMDEtMTggMjM6MjM6NTYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NDogUmVtb3ZlIHRoZSBfIGZyb20gdGhlIGVsZW1lbnQgbmFtZXMKCSAgUmVuYW1lIHV2Y2gyNjRfc3JjIHRvIHV2Y2gyNjRzcmMgYW5kIHV2Y2gyNjRfbWpwZ2RlbXV4IHRvCgkgIHV2Y2gyNjRtanBnZGVtdXgKCjIwMTMtMDEtMTggMjM6MTY6MzEgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTWFyayB1dmNoMjY0IGFzIHBvcnRlZAoKMjAxMy0wMS0xOCAyMzoxNDoyNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0OiBQb3J0IHRlc3QgdG8gZ3N0cmVhbWVyIDEuMAoKMjAxMy0wMS0xOCAyMjo0OToxOSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IFBvcnQgdG8gZ3N0cmVhbWVyIDEuMAoKMjAxMi0wNS0wMyAyMDozNjoyNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhYmluc3JjOiBBZGQgYXV0by1zdGFydCBwcm9wZXJ0eSB0byBiYXNlY2FtZXJhYmluCgoyMDEzLTAyLTExIDEyOjUxOjA0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgbGFzdCByZW1uYW50cwoKMjAxMy0wMi0wNyAxNTowOTo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJKiBnc3QveWFkaWYvdmZfeWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZl90ZW1wbGF0ZS5jOgoJICB5YWRpZjogQWRkIFlBRElGIGRlaW50ZXJsYWNpbmcgZmlsdGVyCgkgIENvZGUgY29waWVkIGZyb20gTGliYXYsIGNvbW1pdCAyNmU0ZjBjNzAuICBXaWxsIGV2ZW50dWFsbHkgYmUKCSAgbW92ZWQgdG8gLXVnbHkgYmVjYXVzZSB1bmRlcmx5aW5nIGNvZGUgaXMgR1BMLgoKMjAxMy0wMi0wNyAxNDozMzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IEFkZCBZNDJCIGFuZCBZNDQ0IGZvcm1hdHMKCjIwMTMtMDItMDcgMTE6MTU6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1hcHAtbWFrZXIvZ3N0LWVsZW1lbnQtbWFrZXI6IDEuMCB1cGRhdGVzCgoyMDEzLTAyLTExIDEyOjI1OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5oOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d0YWJsZXMuYzoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkgIGNvZzogcmVtb3ZlIGNvZyBwbHVnaW4KCSAgRXZlcnl0aGluZyBoYXMgYmVlbiBtZXJnZWQgaW50byBvdGhlciBlbGVtZW50cy4KCjIwMTMtMDItMTEgMjA6MjQ6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggdGFnbGlzdCBsZWFrCgkgIERvbid0IGxlYWsgZGVtdXhlciB0YWcgbGlzdC4KCjIwMTMtMDItMTEgMjA6MTc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICB0ZXN0czogZml4IG14ZmRlbXV4IHB1bGwgdW5pdCB0ZXN0IGhhbmdpbmcgZm9yZXZlcgoJICBPdXIgdGVzdCBzb3VyY2UgcGFkIG5lZWRzIHRvIGFuc3dlciBTQ0hFRFVMSU5HIHF1ZXJpZXMKCSAgcHJvcGVybHkgZm9yIG14ZmRlbXV4IHRvIGFjdGl2YXRlIGluIHB1bGwgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTg0MwoKMjAxMy0wMi0xMSAxOTo1MzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBwdXNoIG1vZGUgdW5pdCB0ZXN0IGZhaWx1cmUKCSAgSW4gdGhlIHNpbmsgZXZlbnQgaGFuZGxlciB3ZSBlbmQgdXAgc2VuZGluZyBtdWx0aXBsZSBFT1MKCSAgZXZlbnRzIHBlciBwYWQuIERvbid0IHJldHVybiBGQUxTRSB3aGVuIHNlbmRpbmcgdGhlCgkgIHNlY29uZCBFT1Mgb24gYW4gYWxyZWFkeS1FT1MgcGFkIGZhaWxzLiBOb3Qgc3VyZSBpZiB0aGVyZQoJICB3YXMgYSByZWFzb24gZm9yIHNlbmRpbmcgYSBzZWNvbmQgRU9TLCBzbyBsZWF2aW5nIHRoZQoJICBjb2RlIGluIHRoZXJlIGZvciBub3csIGJ1dCBhc3N1bWUgYWxsIHdlbnQgZmluZSBpZiB0aGVyZQoJICBhcmUgc291cmNlIHBhZHMsIHdoaWNoIGlzIHNsaWdodGx5IGxlc3Mgd3JvbmcgdGhhbiBiZWZvcmUuCgkgIFRoaXMgZnVuY3Rpb24gbmVlZHMgd29yay4KCjIwMTMtMDItMTEgMTI6MzQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2YgZHRtZiB0ZXN0IGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDEzLTAyLTExIDEyOjM0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogYWN0dWFsbHkgbG9nIGdlbmVyaWMgZGF0YXByb3RvY29sIHN0dWZmIHRvIGdkcCBjYXRlZ29yeQoKMjAxMy0wMi0wOSAyMDoyMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0wOSAxOTo1Mzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTA5IDE5OjQ5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG06IGRvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMTEgMTE6MDY6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGNsZWFyIHRoZSBzdGF0ZSBvZiB0aGUgZGVjb2RlcgoJICBTZXQgdGhlIGNoYW5uZWxzIGFuZCByYXRlIGJhY2sgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgaW4gX3N0b3AgYmVjYXVzZSB0aGV5CgkgIGFyZSB1c2VkIHRvIHJlbmVnb3RpYXRlIHdoZW4gbmVlZGVkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjk1MAoKMjAxMy0wMi0wNyAxMTo1MjoyMyArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmdvdmVybGF5OiBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCAtPiBHTXV0ZXgKCSAgRWxlbWVudCBuZWVkcyBwb3J0aW5nIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wOSAxODo0Njo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogZml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0xpYiB2ZXJzaW9ucwoJICB0aGF0IGRvbid0IGluY2x1ZGUgcHRocmVhZC5oIGFueSBtb3JlIGZyb20gcHVibGljIGhlYWRlcnMuCgkgIFdlIGNvdWxkIGp1c3QgZml4IHRoaXMgYnkgaW5jbHVkaW5nIHB0aHJlYWQuaCBvdXJzZWx2ZXMsCgkgIGJ1dCB3ZSBtYXkganVzdCBhcyB3ZWxsIHVzZSBhdG9taWMgb3BzIGZvciB0aGlzIGFuZAoJICBzaW1wbGlmeSB0aGUgY29kZSBhIGxpdHRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMTo1NDozOCArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogZGVwcmVjYXRlZCBHU3RhdGljUldMb2NrIC0+IEdSV0xvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMTo1NDowNiArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSAgY2hyb21haG9sZDogZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggLT4gR011dGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTA6NTI6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgZ3N0LWFwcC1tYWtlcjogY29udmVydCB0byAxLjAKCjIwMTMtMDItMDggMDA6MDY6MTYgKzExMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiBuZXcgY2FwcyBhcmUgc2FtZSBhcyBvbGQgY2FwcwoJICBUaGUgbGVhayBvY2N1cnMgd2hlbiB5b3UgZ290IGEgbWVzc2FnZSB3aXRoIGlkZW50aWNhbCBjYXBzIHRvIHRoZSBvbmVzIHlvdQoJICBhbHJlYWR5IGhhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyNAoKMjAxMi0xMC0wMiAxMTowMjozMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHByb2ZpbGUgZW51bXMuCgkgIEFkZCBhbGwgdXNlZnVsIHByb2ZpbGVzIGZyb20gQVZDLCBNVkMgYW5kIFNWQyBzcGVjaWZpY2F0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzE0MAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTA3IDIyOjI2OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSAgZHZkc3B1OiBGaXggdGhlIHJlbmRlcmluZyBvZiBQR1Mgd2luZG93cyB3aXRoIGxlZnQgIT0gMAoJICBXaGVuIHJlbmRlcmluZyBhIFBHUyB3aW5kb3cgYXJlYSB3aGVyZSB0aGUgbGVmdCBlZGdlIGlzIG5vdCBhdAoJICBwaXhlbCAwLCB0aGUgY2hyb21hIHdhcyBiZWluZyByZW5kZXJlZCBpbiB0aGUgd3JvbmcgcGxhY2Ugc2luY2UKCSAgY29tbWl0IDRkYzY0OGQzNDMwYjY3NTkyY2YxNDEzY2NlZjQxNWY3MDg4OWQ3MWUKCjIwMTMtMDItMDcgMTE6MzE6MTIgKzAwMDAgIFRpbSBBbnNlbGwgPGdub21lIGF0IG1pdGhpcy5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiBmaXggbGVha3MgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzAwCgoyMDEzLTAyLTA3IDA4OjQxOjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSAgZnJlZXZlcmI6IHBvcnQgdG8gMS4wCgoyMDEzLTAxLTA5IDEzOjMxOjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgY29tbWVudHMgZm9yIG1vbm9zY29wZSBwb3J0aW5nCgoyMDEzLTAyLTA2IDE1OjQ4OjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IG5lZ290aWF0aW9uIGZvciB0cnVlIGludGVybGFjZWQgbW9kZXMKCjIwMTMtMDItMDYgMTI6MzU6MzYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBVcGRhdGUgc29tZXdoYXQgZm9yIDEuMAoJICBPbmx5IGNvbnZlcnRlZCBiYXNldHJhbnNmb3JtIGZvciB0aGUgbW9tZW50LiAgSXQncyBwcm9iYWJseSBlYXNpZXIKCSAgdG8gd3JpdGUgdGVtcGxhdGVzIGZyb20gc2NyYXRjaCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAxMy0wMi0wNSAxMTo1Njo0NiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMuCgkgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBmcm9tIHppZ3phZyBzY2FuCgkgIG9yZGVyIChhcyBlbmNvZGVkIGluIHRoZSBiaXRzdHJlYW0pIGludG8gcmFzdGVyIHNjYW4gb3JkZXIuIEFsc28gcHJvdmlkZQoJICBhbm90aGVyIGZ1bmN0aW9uIHRvIHJldmVyc2UgdGhlIG9wZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwMAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDE2OjEzOjIyICswODAwICBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBzdG9yZSBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4gemlnemFnIHNjYW4gb3JkZXIuCgkgIFF1YW50aXplciBtYXRyaWNlcyBhcmUgZW5jb2RlZCBpbiB6aWd6YWcgc2NhbiBvcmRlciBpbiB0aGUgYml0c3RyZWFtLAoJICBidXQgdGhleSBhcmUgc3RvcmVkIGluIHJhc3RlciBzY2FuIG9yZGVyIHdoZW4gdGhleSBhcmUgcGFyc2VkLiBIb3dldmVyLAoJICBkZWZhdWx0IG1hdHJpY2VzIHdlcmUgYWxzbyBwcmVwYXJlZCBpbiB6aWd6YWcgc2NhbiBvcmRlciwgaGVuY2UgdGhlCgkgIG1pc21hdGNoLiBpLmUuIHRoZSBtYXRyaWNlcyB3ZXJlIHByZXNlbnRlZCBlaXRoZXIgaW4gcmFzdGVyIHNjYW4gb3JkZXIKCSAgaWYgdGhleSBhcmUgZXhwbGljaXRseSBwcmVzZW50IGluIHRoZSBiaXRzdHJlYW0sIG9yIHRoZXkgd2VyZSBwcmVzZW50ZWQKCSAgaW4gemlnemFnIHNjYW4gb3JkZXIgaWYgdGhlIGRlZmF1bHQgZGVmaW5pdGlvbnMgd2VyZSB0byBiZSB1c2VkIGluc3RlYWQuCgkgIE9uZSB3YXkgdG8gc29sdmUgdGhpcyBwcm9ibGVtIGlzIHRvIGFsd2F5cyBleHBvc2UgdGhlIHF1YW50aXphdGlvbgoJICBtYXRyaWNlcyBpbiB6aWd6YWcgc2NhbiBvcmRlciwgc2luY2UgdGhpcyBpcyB0aGUgcm9sZSBvZiB0aGUgcGFyc2VyIHRvCgkgIG5vdCBidWlsZCB1cCBzdG9yaWVzIGZyb20gdGhlIHNvdXJjZSBiaXRzdHJlYW0gYW5kIGp1c3QgcHJlc2VudCB3aGF0CgkgIGlzIGluIHRoZXJlLgoJICBVdGlsaXR5IGZ1bmN0aW9ucyB3aWxsIGJlIHByb3ZpZGVkIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluCgkgIGVpdGhlciBzY2FuIG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDAwCgkgIFNpZ25lZC1vZmYtYnk6IENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0wNSAyMzowNzoxMiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZXhwb3NlIFZDMSBzdHJlYW1zIHdpdGggbWlzc2luZyBkZXNjcmlwdG9yLgoJICBGaXhlcyBwbGF5YmFjayBvZiBWQzEgc3RyZWFtcyB3aGVuIHRoZSBkZXNjcmlwdG9yIGlzIG1pc3NpbmcuCgoyMDEzLTAyLTA1IDE3OjM0OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBoYW5kbGUgRUlOVFIgZnJvbSBwb2xsCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMyMTIKCjIwMTAtMTItMjcgMjM6MjE6MTAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGVsZWNpbmUgcGF0dGVybnMKCjIwMTEtMDEtMTAgMTA6MzY6NDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIG1vcmUgdmVyYm9zZSBoaW50cyBhYm91dCBmaWVsZCBwYXR0ZXJucwoKMjAxMy0wMi0wNCAxODowNzoxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIGRlc2NyaXB0b3JzIGZvciBTTVBURSAzMDJtIGF1ZGlvCgoyMDEzLTAyLTAyIDE4OjQ0OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHNlcGFyYXRlIGZpZWxkcyBmb3IgZGlzdGluY3QgZnVuY3Rpb25hbCB1c2VzIG9mIGNvZGVjX2RhdGEgZmllbGQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4OQoKMjAxMy0wMS0zMSAxMjozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogZml4IHRpbWVzdGFtcHMKCSAgQ29weSB0aW1lc3RhbXBzIHRvIHBheWxvYWRlZCBidWZmZXIuCgkgIEF2b2lkIGlucHV0IGJ1ZmZlciBtZW1vcnkgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkyOQoKMjAxMy0wMS0zMCAwOTozMzo0OSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFsbG93IGNhbGxpbmcgZnJvbSBvdXQtb2YtdHJlZQoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjg1OQoKMjAxMy0wMS0yOCAyMDo0Mjo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTk0MjI5MyB0byAyZGUyMjFjCgoyMDEzLTAxLTI4IDE0OjEyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNyYXNoIHdoZW4gc2V0dGluZyAiY2JyIiBwcm9wZXJ0eSB3aGVuIGVuY29kZXIgaXMgbm90IHJ1bm5pbmcgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI2OTgKCjIwMTMtMDEtMjYgMjI6NTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGR0bWZzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9kdG1mX3NyY19wcmVwYXJlX21lc3NhZ2UuaXNyYS4xJzoKCSAgZ3N0cnRwZHRtZnNyYy5jOjY2OTozOiBlcnJvcjogJ3MnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMy0wMS0yNSAyMTowNjowNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IEZpeCBtaXNzaW5nIHdvcmsgaW4gZG9jCgoyMDEzLTAxLTI0IDIxOjAwOjA4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mZGVwYXkgYW5kIHJ0cGR0bWZzcmMKCjIwMTMtMDEtMjUgMjA6Mzk6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFBvc3QgdGhlIG1lc3NhZ2VzIGFmdGVyIHRoZSBjbG9jayB3YWl0CgkgIFRoaXMgd2F5LCB0aGUgbWVzc2FnZXMgd2lsbCBiZSBjbG9zZXIgaW4gdGltZSB0byB3aGVuIHRoZSBwYWNrZXRzIGFyZSBzZW50IG91dAoKMjAxMy0wMS0yNSAyMDozNzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogT25seSBzZXQgdGhlIGR1cmF0aW9uIHdoZW4gc3RhcnRpbmcgdG8gc2VuZAoJICBUaGUgZHVyYXRpb24gZGVwZW5kcyBvbiB0aGUgY2xvY2sgcmF0ZSwgd2hpY2ggY291bGQgY2hhbmdlIGR1ZSB0byByZW5lZ290aWF0aW9uCgoyMDEzLTAxLTI1IDIwOjM3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiByZW1vdmUgInNzcmMiIGZyb20gY2FwcwoJICBzc3JjIGlzIHVpbnQgYW5kIHdlIGRvbid0IGhhdmUgYSB1aW50IHJhbmdlIHR5cGUKCjIwMTMtMDEtMjUgMTU6NDQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogZml4IGluc2VydGJpbiBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBNYWtlIHN1cmUgcGtnLWNvbmZpZyBpbiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluLyBjYW4gZmluZAoJICB0aGUgdW5pbnN0YWxsZWQgY29yZS9iYXNlIHByb3Blcmx5LiBGaXhlcyBidWlsZCBvZgoJICBpbnNlcnRiaW4gaW4gdW5pbnN0YWxsZWQgc2V0dXAgaWYgdGhlcmUgYXJuJ3QgYW55CgkgIGluc3RhbGxlZCBnaXIgZmlsZXMgdG8gZmFsbCBiYWNrIHRvLgoKMjAxMy0wMS0yNSAxMjoyNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBpbnNlcnRiaW4sIHRlc3RzOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMS0yNCAxODoxNDoyOCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKERJRkY2IG9yIE5PUk02IHJlc2lkdWFsIGJ5dGVzKS4KCSAgRml4IHBhcnNpbmcgb2YgcmVzaWR1YWwgYnl0ZXMuIFRoaXMgaXMgYSB0d28tc3RlcCBwcm9jZXNzLiBGaXJzdCwKCSAgcmVtYWluaW5nIGNvbHVtcyBvZiBmdWxsIHZlcnRpY2FsIHJlc29sdXRpb24gKDxoZWlnaHQ+KSBuZWVkIHRvIGJlCgkgIHByb2Nlc3NlZC4gTmV4dCwgcmVtYWluaW5nIGJ5dGVzIGluIHRoZSBmaXJzdCByb3cgY2FuIGJlIHByb2Nlc3NlZCwKCSAgd2hpbGUgdGFraW5nIGludG8gYWNjb3VudCB0aGUgZmFjdCB0aGF0IHdlIG1heSBoYXZlIGZpbGxlZCBpbiB0aGUKCSAgZmlyc3QgY29sdW1ucyBhbHJlYWR5LiBTbywgdGhpcyBpcyBub3QgZnVsbCBob3Jpem9udGFsIHJlc29sdXRpb24uCgkgIFRoZSBmb2xsb3dpbmcgZmlndXJlIGhlbHBzIGluIHVuZGVyc3RhbmRpbmcgdGhlIGV4cGVjdGVkIG9yZGVyIG9mCgkgIG9wZXJhdGlvbnMsIGZvciBhIDh4NSBNQnMgYml0cGxhbmUuCgkgIDUgNSA2IDYgNiA2IDYgNgoJICA1IDUgMSAxIDEgMiAyIDIKCSAgNSA1IDEgMSAxIDIgMiAyCgkgIDUgNSAzIDMgMyA0IDQgNAoJICA1IDUgMyAzIDMgNCA0IDQKCSAgU28sIGFmdGVyIHRpbGVzIDEgdG8gNCBhcmUgZGVjb2RlZCwgdmVydGljYWwgdGlsZSA1IG5lZWRzIHRvIGJlCgkgIHByb2Nlc3NlZCAoMng1IE1CcykgYW5kIHRoZW4gdGhlIGhvcml6b250YWwgdGlsZSA2ICg2eDEgTUJzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ2MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTI0IDE3OjI4OjIyICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoRElGRjYgb3IgTk9STTYpLgoJICBGaXggZGVjb2Rpbmcgb2YgRElGRjYgb3IgTk9STTYgYml0cGxhbmVzIHdpdGggYW4gb2RkIG51bWJlciBvZiBsaW5lcwoJICAoM3gyICJob3Jpem9udGFsIiB0aWxlcykuIEluIHRoaXMgY2FzZSwgd2UgaGF2ZSB0byBza2lwIHRoZSBmaXJzdCBsaW5lCgkgIG9mIG1hY3JvYmxvY2tzIGJ1dCA8d2lkdGg+IG51bWJlciBvZiBieXRlcyB3YXMgdXNlZCB0byBkbyBzbywgaW5zdGVhZAoJICBvZiB0aGUgYWN0dWFsIDxzdHJpZGU+IHNpemUuCgkgIFRoaXMgZml4ZXMgZGVjb2RpbmcgZm9yIHRoZSB2aWRlbyBzYW1wbGUgYXR0YWNoZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg1NjUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ2MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTAzLTE1IDE0OjEyOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4ucGMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQWRkIGJpbiB0byBkeW5hbWljYWxseSBpbnNlcnQgZWxlbWVudHMgaW4gYSBydW5uaW5nIHBpcGVsaW5lCgkgIFRoaXMgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGxpbmtzIGluIGFueSBlbGVtZW50IGFkZGVkIHVzaW5nIGl0J3MKCSAgYWN0aW9uIHNpZ25hbHMuIFRoZXNlIGVsZW1lbnRzIG11c3QgaGF2ZSBhIHNpbmdsZSBzb3VyY2UgcGFkIGFuZCBhIHNpbmdsZQoJICBzaW5rIHBhZC4KCjIwMTMtMDEtMjMgMTQ6NDc6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBhZGQgQVBJIHRvIHBhcnNlIHNsaWNlIGhlYWRlcnMuCgkgIEFkZCBnc3RfdmMxX3BhcnNlX3NsaWNlX2hlYWRlcigpIGZ1bmN0aW9uIHRvIHBhcnNlIHNsaWNlIGhlYWRlcnMgYXMKCSAgZGVzY3JpYmVkIGluIDcuMS4yLiBTbGljZSBsYXllcnMgYXJlIG9wdGlvbmFsIGFuZCBhbGxvd2VkIGluIGFkdmFuY2VkCgkgIHByb2ZpbGUgbW9kZSBvbmx5LiBQaWN0dXJlIGhlYWRlciwgaWYgYXZhaWxhYmxlIChQSUNfSEVBREVSX0ZMQUcpLAoJICBpcyBwYXJzZWQgYnV0IG5vdCByZWNvcmRlZCBiZWNhdXNlIGl0IHNoYWxsIGJlIHRoZSBzYW1lIGFzIHRoYXQgd2FzCgkgIHByZXZpb3VzbHkgcGFyc2VkIHdpdGggZ3N0X3ZjMV9wYXJzZV9mcmFtZV9oZWFkZXIoKS4KCSAgVGhpcyBmaXhlcyBTQTAwMDQ5LnZjMSBjb25mb3JtYW5jZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzg4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTg6MDE6MjQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nLgoJICBGaXggZGVjb2Rpbmcgb2YgRElGRjIgb3IgTk9STTIgYml0cGxhbmVzIHdpdGggYW4gb2RkIG51bWJlciBvZiBtYWNyb2Jsb2Nrcy4KCSAgSW4gcGFydGljdWxhciwgYWNjb3VudCBmb3IgdGhlIGZpcnN0IGJpdCB0aGF0IHdhcyBhbHJlYWR5IHBhcnNlZCBzbyB0aGF0IHRvCgkgIGF2b2lkIGEgYnVmZmVyIG92ZXJmbG93IGFmdGVyIGFsbCBwYWlycyBhcmUgcGFyc2VkLgoJICBUaGlzIGZpeGVzIFNBMDAwNDAudmMxIGNvbmZvcm1hbmNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzMTIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxOTozMTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGRpc2FibGUgTUZDIGlmIHNvbWUgdjRsMiBQSVhfRk1UIG1pc3NpbmcKCjIwMTMtMDEtMjIgMTE6NDI6NDkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBzaW1wbGlmeSBHc3RWQzFWb3BEcXVhbnQgc3RydWN0dXJlLgoJICBSZW5hbWUgZHFzYmVkZ2UgdG8gZHFiZWRnZS4gVGhlIGludGVudCBpcyB0aGF0IHdlIGNhbiBvbmx5IGhhdmUgYSBzaW5nbGUKCSAgYm91bmRhcnkgZWRnZSBzZWxlY3RvciwgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBkcXByb2ZpbGUuIFNvLCBkcWJlZGdlCgkgIHJlcHJlc2VudHMgRFFTQkVER0UgaWYgZHFwcm9maWxlID09IEdTVF9WQzFfRFFQUk9GSUxFX1NJTkdMRV9FREdFLCBvcgoJICBEUURCRURHRSBpZiBkcXByb2ZpbGUgPT0gR1NUX1ZDMV9EUVBST0ZJTEVfRE9VQkxFX0VER0UuCgkgIFRoZSBmb3JtZXIgZHFiZWRnZSBmaWVsZCBpcyBtYXJrZWQgYXMgdW51c2VkIGFuZCBjYW4gYmUgcmVtb3ZlZCBvbiB0aGUKCSAgbmV4dCBnc3QtcGx1Z2lucy1iYWQgdmVyc2lvbiB0aGF0IGFsbG93cyBBQkkgY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTE4IDE0OjU1OjQwICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmx0bHNzaW5rOiBzZXQgY29ycmVjdCBsZXZlbCBvZiBTU0wgZm9yIHRoZSB0cmFuc2ZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEwCgoyMDEzLTAxLTIyIDEwOjQ4OjM5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFZPUERRVUFOVCBwYXJzZXIgZm9yIERRVUFOVCA9PSAyLgoJICBGaXggcGFyc2luZyBvZiBWT1BEUVVBTlQgd2hlbiBEUVVBTlQgPT0gMi4gSW4gcGFydGljdWxhciwgRFFVQU5URlJNIGlzCgkgIG5vdCBwcmVzZW50IGluIHRoZSBiaXRzdHJlYW0gaW4gdGhpcyBjYXNlIGFuZCBpdCBzaGFsbCBiZSBkZXJpdmVkIHRvCgkgIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHplcm8gKDcuMS4xLjMxLjEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTA6Mzg6MjAgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggY2FsY3VsYXRpb24gb2YgQUxUUFFVQU5ULgoJICBGaXggY2FsY3VsYXRpb24gb2YgQUxUUFFVQU5UIHdoZW4gRFFVQU5UID09IDEuIFBRRElGRiBhbHRlcnMgQUxUUFFVQU5UCgkgIGluIGFueSBjYXNlLiBTZWUgNy4xLjEuMzEuNi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDEwOjExOjM0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IHBhcnNlciBmb3IgRFFQUk9GSUxFIGluIFZPUERRVUFOVC4KCSAgRml4IHBhcnNlX3ZvcGRxdWFudCgpIHRvIGNvcnJlY3RseSBwYXJzZSBEUVBST0ZJTEUsIHdoaWNoIGlzIDIgYml0cwoJICBpbnN0ZWFkIG9mIGEgc2luZ2xlIGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI2NwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTA2IDE4OjU0OjUyICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgaW5mZXJyZWQgdmFsdWUgZm9yIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIuCgkgIFRoZSBzdGFuZGFyZCBzcGVjaWZpZXMgdGhhdCB3aGVuIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIgaXMgbm90IHByZXNlbnQKCSAgaW4gdGhlIHNsaWNlIGhlYWRlciwgdGhlbiB0aGUgdmFsdWUgb2Ygc2xpY2VfYmV0YV9vZmZzZXRfZGl2MiBzaGFsbCBiZQoJICBpbmZlcnJlZCB0byBiZSBlcXVhbCB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjY1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMTcgMTk6MDI6NDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVlbmFibGUgdW5pdCB0ZXN0cyBhbmQgdXAgcmFuayB0byBwcmltYXJ5IGFnYWluCgoyMDEzLTAxLTE4IDE2OjE0OjAzICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogdXNlIG92ZXJsYXkgY29tcG9zaXRpb24gdG8gYmxpdCBzdWJ0aXRsZXMgb24gdmlkZW8gZnJhbWVzCgkgIFJlLXVzZXMgZXhpc3RpbmcgYmxpdHRpbmcgY29kZSBhbmQgYWxzbyBtZWFucyB3ZSBjYW4gc3VwcG9ydAoJICBhIGxvdCBtb3JlIHZpZGVvIGZvcm1hdHMgb3V0IG9mIHRoZSBib3gsIGhlbmNlIGF2b2lkIHVubmVjZXNzYXJ5CgkgIHBpeGVsIGZvcm1hdCBvciBjb2xvdXIgc3BhY2UgY29udmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTcgMTg6NDg6MTIgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiByZW5kZXIgb3ZlcmxheSBjb21wb3NpdGlvbiBpZiBzdXBwb3J0ZWQgZG93bnN0cmVhbQoJICBUaGlzIGFsbG93cyByZW5kZXJpbmcgQVNTIHN1YnRpdGxlcyBvbiB0b3Agb2YgdmlkZW8gd2hlbgoJICB1c2luZyBoYXJkd2FyZS1hY2NlbGVyYXRlZCB2aWRlbyBkZWNvZGVycyBiYXNlZCBvbiBlLmcuCgkgIFZBLUFQSSBvciBWRFBBVS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODM4OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTIxIDEwOjM1OjQ5ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogYWRkIHdhaXQtdGV4dCBwcm9wZXJ0eQoJICBUaGlzIGlzIHRoZSBzYW1lIHByb3BlcnR5IGFzIGluIHRoZSBwYW5nbyBlbGVtZW50LCB0byBhbGxvdyB3YWl0aW5nIGZvcgoJICB0ZXh0IG9uIHRoZSB0ZXh0IHBhZCBiZWZvcmUgcmVuZGVyaW5nIHRoZSB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xOCAxNToyNTo0OCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGZpeCBzb21lIHN1YnRpdGxlcyBiZWluZyBpZ25vcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTcgMTg6MzM6MTEgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWZhY3RvciBjb2RlIHRvIGF2b2lkIGR1cGxpY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTcgMTg6MjY6MDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwcm94eSBhbGxvY2F0aW9ucyBvbiB2aWRlbyBwYWQKCSAgRm9yd2FyZCBhbGxvY2F0aW9uIHF1ZXJpZXMgb24gdmlkZW8gc2luayBwYWQgaW5zdGVhZAoJICBvZiBkaXNjYXJkaW5nIHRoZW0uCgkgIFRoaXMgYWxsb3dzIHRoZSB1cHN0cmVhbSBlbGVtZW50cyB0byB1c2UgdGhlIGFsbG9jYXRpb24KCSAgcGFyYW1ldGVycyBvciBwb29scyBmcm9tIHRoZSBkb3duc3RyZWFtIGVsZW1lbnRzIGxpa2UKCSAgdmlkZW9zaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTIwIDE3OjQzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogY2xlYW4gdXAgR1ZhbHVlIGhhbmRsaW5nIGEgbGl0dGxlCgkgIEFsbG9jYXRlIEdWYWx1ZXMgb24gdGhlIHN0YWNrLCBhbmQgdW5zZXQvZnJlZSB0aGVtIHByb3Blcmx5LCBmaXhpbmcKCSAgYSBmZXcgbGVha3MgaW4gdGhlIHByb2Nlc3MuIEFsc28gdXNlIGdzdF9zdHJ1Y3R1cmVfdGFrZV92YWx1ZSgpCgkgIHdoZXJlIGFwcHJvcHJpYXRlIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGxpc3QgY29waWVzLgoKMjAxMy0wMS0yMCAxNzoxNzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiB1cGRhdGUgU0JDIGNhcHMgZm9yIHJlbmFtZWQgZmllbGRzCgkgIG1vZGUgLT4gY2hhbm5lbC1tb2RlCgkgIGFsbG9jYXRpb24gLT4gYWxsb2NhdGlvbi1tZXRob2QKCjIwMTMtMDEtMTcgMTk6Mjk6MzEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBJbml0aWFsaXplIHNobV9hcmVhX2J1ZiB0byBpbnZhbGlkIHZhbHVlCgoyMDEzLTAxLTA3IDEzOjMyOjA2ICswMTAwICBSb2xhbmQgRWxlayA8cmVsZWsuZjJAZ21haWwuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogYXBwbHkgc2htIGFyZWEgcGVybWlzc2lvbnMgdG8gc2htcGlwZSBjb250cm9sIHNvY2tldAoJICBBcHBseSBzaGFyZWQgbWVtb3J5IGFyZWEgcGVybWlzc2lvbnMgdG8gdGhlIGNvbnRyb2wgc29ja2V0IChtb3JlCgkgIHByZWNpc2VseSwgdGhlIHBhdGggaXQgaXMgYm91bmQgdG8pIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzUKCjIwMTMtMDEtMTYgMTQ6NDA6MTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBEZWZpbmUgTElCVVNCX0NMQVNTX1ZJREVPIGlmIHVzaW5nIGFuIG9sZCB2ZXJzaW9uIG9mIGxpYnVzYgoKMjAxMy0wMS0xNiAxNDo0ODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFByZXZlbnQgdGVtcG9yYXJ5IGVsZW1lbnRzIGZyb20gZ29pbmcgdG8gcGxheWluZwoKMjAxMy0wMS0xNiAxNDo0MjozOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IGRvIG5vdCBkb3VibGUtdW5yZWYgaWYgdHJhbnNmb3JtX2NhcHMgZmFpbHMKCjIwMTMtMDEtMTYgMTQ6NDE6MDggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBBZGQgYSBmYWtlc2luayB0byB0aGUgdHJhbnNmb3JtX2NhcHMgU29tZSB2ZXJzaW9uIG9mIGJhc2V0cmFuc2Zvcm0gd2lsbCByZXR1cm4gdGhlIHRlbXBsYXRlIGNhcHMgaWYgdGhlIHNyYyBwYWQgaXMgbm90IGxpbmtlZCwgc28gdGhlIGNhcHNmaWx0ZXIgd2lsbCByZXR1cm4gQU5ZLiBMaW5raW5nIGl0IHRvIGZha2VzaW5rIGFsbG93cyB1cyB0byByZXR1cm4gdGhlIHJpZ2h0IGNhcHMgaW4gdGhlIGNhcHNmaWx0ZXIgYW5kIGhhdmUgdGhlbSB0cmFuc2Zvcm1lZCBieSB0aGUgY29sb3JzcGFjZSBjb252ZXJ0ZXIuCgoyMDEzLTAxLTE1IDE1OjAyOjM3ICswMTAwICBNYXJ0aW4gUGl0dCA8bWFydGlucGl0dEBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBfMV8wIHZhcmlhbnRzIGZvciB0aGUgdmFyaW91cyByZWdpc3RyeSB2YXJpYWJsZXMKCSAgVGhlc2Ugb3ZlcnJpZGUgdGhlIHZhcmlhbnRzIHdpdGhvdXQgdmVyc2lvbiBzdWZmaXguIE1ha2VzICdtYWtlIGNoZWNrJyB3b3JrCgkgIHByb3Blcmx5IGluIGVudmlyb25tZW50cyB0aGF0IHNldCB0aGUgc3VmZml4ZWQgdmFyaWFudCBmb3IgMS4wLCBzdWNoIGFzCgkgIGpoYnVpbGQuCgoyMDEzLTAxLTEyIDEzOjE1OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiB6ZXJvLWluaXRpYWxpemUgU1BTIFZVSSBwYXJhbWV0ZXJzCgkgIC4uLiBzbyBhbGwgJ3ByZXNlbnQnIGZsYWdzIGluZGljYXRlIG5vIHByZXNlbmNlIG9mIG9wdGlvbmFsIHBhcnRzCgkgIGluIGNhc2UgVlVJIHBhcmFtZXRlcnMgZW5kIHVwIG5vdCBiZWluZyBwYXJzZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE4MTgKCjIwMTMtMDEtMTUgMTU6MDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNzJmYWVhIHRvIGE5NDIyOTMKCjIwMTMtMDEtMTIgMTg6MTA6MzUgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgdHdvIGxhdGVzdCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMy0wMS0wOSAxOTo1OToxNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL2dzdGR0bWZkZXRlY3QuYzoKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5oOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWYvc3BhbmRzcDogTW92ZSBkdG1mZGV0ZWN0IHRvIHVzZSBsaWJzcGFuZHNwCgkgIFJlbW92ZSBvdXIgY29weSBvZiB0aGUgdG9uZV9kZXRlY3QuYyBmaWxlIGFuZCB1c2UgdGhlIG9yaWdpbmFsCgkgIGZyb20gbGlic3BhbmRzcC4gQWxzbyBtb3ZlIHRoZSBlbGVtZW50IHRvIHRoZSBzcGFuZHNwIHBsdWdpbi4KCjIwMTMtMDEtMTAgMDA6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IHVzZSBHTGliIGRlZmluZXMgdG8gY2hlY2sgZm9yIGJ5dGUgb3JkZXIKCjIwMTMtMDEtMDkgMTg6MTA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJICBibHVlejogYWRkIG5ldyBwbHVnaW4gdG8gYnVpbGQgc3lzdGVtLCBidXQgZGlzYWJsZSBmb3Igbm93CgkgIERpc2FibGUgdW50aWwgaXQgaGFzIGJlZW4gdGVzdGVkIGFuZCB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0wOSAxODowMjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogbWFrZSBibHVleiBlbGVtZW50cyBjb21waWxlIHdpdGggMS4wCgkgIEJ1aWxkcywgYnV0IHZlcnkgbGlrZWx5IGRvZXNuJ3Qgd29yayB5ZXQgYXQgYWxsLiBTb21lCgkgIHRoaW5ncyBhcmUgc3RpbGwgY29tbWVudGVkIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMi0xMC0wOSAyMDozNTo0NSArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF2aW5mbzogUmVwbGFjZSBkZWZpbml0aW9ucyB3aXRoIGEyZHAtY29kZWNzLmgncwoKMjAxMi0xMC0wOSAyMDozNTo0NCArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBBZGQgY2hlY2sgZm9yIHZlbmRvciBzcGVjaWZpYyBBMkRQIGNvZGVjCgkgIFRoaXMgcGF0Y2ggYWRkcyBjaGVja3ModmVuZG9yIElELCB2ZW5kb3Igc3BlY2lmaWMgY29kZWMgSUQpIHRvIG1ha2Ugc3VyZSBvZgoJICB2ZW5kb3Igc3BlY2lmaWMgQTJEUCBjb2RlYyBzZWxlY3Rpb24uCgoyMDEyLTA5LTE0IDIxOjQwOjEwICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGdzdGF2ZHRwc2luazogRnJlZSB0aGUgRC1CdXMgZXJyb3Igb24gcmVwbHkgZmFpbHVyZQoJICBJZiBELUJ1cyBlcnJvciBpcyBzZXQgd2Ugc2hvdWxkIGZyZWUgaXQuCgoyMDEyLTA4LTIxIDExOjQ5OjI0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWVzIG9uIHBvaW50ZXIgZGVjbGFyYXRpb25zIGFuZCBjYXN0aW5nCgkgIEF2b2lkIHVzaW5nIEMrKyBzdHlsZSBwb2ludGVyIGRlY2xhcmF0aW9ucyBsaWtlICJjaGFyKiBwdHIiLCBhcyBtb3N0CgkgIEJsdWVaIGNvZGUgdXNlcyAiY2hhciAqcHRyIi4KCjIwMTItMDYtMjUgMTI6MDY6MTcgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogYXVkaW86IFJlbW92ZSBpbnRlcm5hbCBhdWRpbyBJUEMKCSAgV2l0aCB1bml4IHNvY2tldCBhbmQgQUxTQSByZW1vdmVkIHRoZXJlIGlzIG5vIGxvbmdlciBhbnkgdXNlIGZvciB0aGUKCSAgaW50ZXJuYWwgSVBDLgoKMjAxMi0wNS0zMCAxNzoxNjoxOSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIGNvbXBhdGliaWxpdHkgY2hlY2sgZm9yIERCVVNfVFlQRV9VTklYX0ZECgkgIFNpbmNlIGNvbW1pdCBjODliNTg5YTU4NmU5N2FkODc1ZmJkZDFkNDFmMDM5NzkxNTdlYmIwLCBELUJ1cyA+PSAxLjQuMCBpcwoJICByZXF1aXJlZC4gVGhpcyB2ZXJzaW9uIGFscmVhZHkgY29udGFpbnMgVW5peCBGRCBwYXNzaW5nIHN1cHBvcnQsCgkgIHRoZXJlZm9yZSBjb2RlIHRoYXQgY2hlY2tzIGZvciBEQlVTX1RZUEVfVU5JWF9GRCBkZWZpbml0aW9uIGlzCgkgIHVubmVjZXNzYXJ5LgoKMjAxMi0wNS0xOCAwOTo0NjoyOSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogYXZkdHA6IEZpeCBpbmNvcnJlY3QgZ2NoYXIgYnVmZmVyIGFsbG9jYXRpb24KCSAgVGhlIGNvZGUgd2FzIGFsbG9jYXRpbmcgYW4gYXJyYXkgb2YgZ2NoYXIgcG9pbnRlcnMsIHdoZXJlIGFuIGFycmF5IG9mCgkgIGdjaGFyIGlzIGV4cGVjdGVkLgoKMjAxMi0wNC0xNiAxMTo1OTo1OSArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBhdWRpbzogQWRkIFNCQyBOVUxMIGNoZWNrIGZvciBHU1QgQVZEVFAgc2lnbmFsaW5nCgkgIER1ZSB0byBSRiBjb25kaXRpb24gb3IgaGVhZHNldCBtYWxmdW5jdGlvbmluZywgZ3N0IGF1ZGlvIHBsdWctaW4gY291bGQKCSAgbm90IGdldCBTQkMgKG1hbmRhdG9yeSBjb2RlYykgaW5mb3JtYXRpb24uCgoyMDEyLTA0LTEyIDIwOjMzOjA2ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkgIGJsdWV6OiBhdWRpbzogRml4IG5ld2xpbmUgYmVmb3JlIEVPRgoKMjAxMi0wNC0xMiAyMDozMjo1NSArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBnc3RhdmR0cHNpbms6IEZpeCBELUJ1cyBtZW1vcnkgbGVhayBpbiBhdWRpbwoKMjAxMS0xMS0xNyAxMzoyOTowNiAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQVZEVFA6IEZpeCBjbG9zaW5nIGludmFsaWQgRkQgb24gZXJyb3IKCSAgSW4gZ3N0X2F2ZHRwX3Npbmtfc3RhcnQoKSwgaWYgYnRfYXVkaW9fc2VydmljZV9vcGVuKCkgZmFpbGVkLCB0aGVyZSB3YXMKCSAgYW4gYXR0ZW1wdCB0byBjbG9zZSBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciAodGhyb3VnaAoJICBidF9hdWRpb19zZXJ2aWNlX2Nsb3NlKCkpLgoKMjAxMS0xMS0xNiAwOToyMDowNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHJldHVybiB2YWx1ZSBjaGVjayBmb3IgYnRfYXVkaW9fc2VydmljZV9vcGVuKCkKCSAgT25seSBuZWdhdGl2ZSB2YWx1ZXMgKG5hbWVseSAtMSkgYXJlIGVycm9ycyBmb3IgdGhpcyBmdW5jdGlvbi4KCjIwMTEtMTEtMTYgMDk6MTk6NDkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFWRFRQOiBGaXggZXJybm8gaGFuZGxpbmcgY29udmVudGlvbgoJICBWYXJpYWJsZXMgd2hpY2ggYXJlIGFzc2lnbmVkIHRvIHRoZSBlcnJubyB2YXJpYWJsZSAodXN1YWxseSBjYWxsZWQKCSAgImVyciIpIHNob3VsZCBiZSBuZWdhdGl2ZSwgYW5kICItZXJyIiBzaG91bGQgYmUgdXNlZCB3aGVyZSBhIHBvc2l0aXZlCgkgIHZhbHVlIGlzIG5lZWRlZC4KCjIwMTEtMDgtMjYgMTE6MTg6NTQgLTA3MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXVkaW86IFVwZGF0ZSBsaWNlbnNlIGZvciBzaGFyZWQgaGVhZGVyIGZpbGVzCgkgIFRoZSBoZWFkZXIgZmlsZXMgd2l0aCBjb25zdGFudHMgYW5kIHN0cnVjdHVyZXMgZm9yIGF1ZGlvIHNwZWNpZmljCgkgIGludGVyYWN0aW9uIHdpdGggUHVsc2VhdWRpbyBhcmUgc3VwcG9zZSB0byBiZSB1bmRlciBMR1BMIGxpY2Vuc2UuCgkgIEZvciBzb21lIG9kZCByZWFzb24gYTJkcC1jb2RlY3MuaCBlbmRlZCB1cCBiZWluZyB1bmRlciBHUEwgbGljZW5zZQoJICB3aGljaCBpcyBhZ2FpbnN0IHRoZSBpbnRlbnRpb24gb2YgdGhpcyBiZWluZyBzaGFyZWQgYW5kIHJlLXVzZWQgYnkKCSAgbm9uLUdQTCBwcm9ncmFtcy4gRml4IHRoaXMgbm93IHRvIGF2b2lkIGFueSBmdXR1cmUgY29uZnVzaW9uLgoKMjAxMS0wNy0wMiAxMjozMjo0MCAtMDMwMCAgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb21tb24gbWlzc3BlbGxlZCB3b3JkcwoJICBBY2NvdW50aW5nIG9mIG1pc3NwZWxsZWQgd29yZHMsIGFzIGRldGVjdGVkIGJ5IGNvZGVzcGVsbDoKCSAgYWNvcmRpbmcgICAgICAyCgkgIGFuY2lsbGlhcnkgICAgMQoJICBhcHByb3BpYXRlICAgIDEKCSAgYXRyaWJ1dGUgICAgICAxCgkgIGNhbnQgICAgICAgICAgMQoJICBjb21taW5nICAgICAgIDIKCSAgZ3JhY2VmdWxsICAgICAxCgkgIGxlbmdodCAgICAgICAgMQoJICBtaXNwZWxsZWQgICAgIDEKCSAgb2NjdXJlZCAgICAgICAxCgkgIG9jY3VyZW5jZXMgICAgMQoJICBvY3VycmVkICAgICAgIDMKCSAgcHJlZmVyZWQgICAgICAxCgkgIHByZXNlbnNlICAgICAgMQoJICByZXBvbnNlICAgICAgIDEKCSAgc2VwZXJhdGUgICAgICAxCgkgIHN1Y2Nlc2Z1bCAgICAgMQoJICBzdWNjZXNzdWxseSAgIDEKCSAgc3VjZXNzZnVsbCAgICAxCgkgIHN1Y2Vzc2Z1bGx5ICAgMQoKMjAxMS0wNS0wOSAxNToyNjowNyArMDIwMCAgU3p5bW9uIEphbmMgPHN6eW1vbi5qYW5jQHRpZXRvLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBnYXJiYWdlIHJldHVybiB2YWx1ZSBpbiBnc3RfYXZkdHBfc2lua19hdWRpb3NlcnZpY2VfcmVjdgoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBhdWRpbzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTAxLTIwIDExOjI5OjQxICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBVcGRhdGUgYTJkcHNpbmsgdG8gdXNlIG5ldyBBY3F1aXJlIEFQSQoKMjAxMS0wMS0xOSAxMDowNDo0OSArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHVzZSBvZiBkZXByZWNhdGVkIGdsaWIgb24gYXVkaW8gcGx1Z2luCgoyMDEwLTA1LTA2IDE3OjE0OjE0ICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBzdXBwb3J0IGZvciBtZWRpYSB0cmFuc3BvcnQgaW4gZ3N0cmVhbWVyIHBsdWdpbgoKMjAxMC0wOS0xMyAxNTo0MDoxMSArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNyYXNoIG9uIGdzdHJlYW1lciBwbHVnaW4gaWYgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCBzYmMKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjoxMDoyNiArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBSZXZlcnQgIkZpeCBidWlsZCBpc3N1ZXMgd2l0aCBsYXRlc3QgR1N0cmVhbWVyIHVwZGF0ZXMiCgoyMDEwLTA1LTE3IDIyOjMxOjI4ICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBidWlsZCBpc3N1ZXMgd2l0aCBsYXRlc3QgR1N0cmVhbWVyIHVwZGF0ZXMKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTEwLTA1IDIyOjUxOjE0ICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QGdtYWlsLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2RlYyBzZWxlY3Rpb24gb24gZ3N0cmVhbSBwbHVnaW4uCgoyMDA5LTEwLTAyIDEwOjU4OjU0ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzCgoyMDA5LTA3LTE1IDE2OjUxOjA4IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgdXNlbGVzcyBpbnN0cnVjdGlvbi4KCjIwMDktMDctMDEgMTM6MTU6NTcgKzAyMDAgIEZpbGlwcG8gR2l1bmNoZWRpIDxmaWxpcHBvQGVzYXVyaXRvLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogUmVnaXN0ZXIgdGhlIGEyZHAgZ3N0IHNpbmsgYXMgbWFyZ2luYWwKCSAgQXZvaWQgdGFraW5nIG92ZXIgYXMgZGVmYXVsdCBnc3Qgc2luayBieSByZWdpc3RlcmluZyBhcyBHU1RfUkFOS19NQVJHSU5BTAoKMjAwOS0wMy0yNSAxODowNTo0MyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHNwZWNpZmljIGNvZGVjIHR5cGVzLgoJICBBZGQgc3BlY2lmaWMgY29kZWMgdHlwZXMgZm9yIGEyZHAgc291cmNlcyBhbmQgc2lua3Mgc28gY2xpZW50cyBhcmUgYWJsZQoJICB0byBkaWZmZXIgYmV0d2VlbiB0aGVtLgoKMjAwOS0wMy0xOCAxNTo1ODo1MyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIHVubmVjZXNzYXJ5IG1lbXNldC4KCjIwMDktMDMtMTkgMTY6MTY6MTkgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBsb2NrIGZsYWcgZm9yIGNhcGFiaWxpdGllcy4KCSAgbG9jayBmbGFnIHBlcm1pdHMgdGhlIHVuaXggY2xpZW50IHRvIGRldGVjdCBpZiB0aGVyZSBpcyBzb21lb25lIGhvbGRpbmcKCSAgdGhlIGxvY2sgc28gaXQgY2FuIHByZXZlbnQgdXNlbGVzcyBhdHRlbXB0IG9mIHNldHRpbmcgYSBuZXcgY29uZmlndXJhdGlvbi4KCjIwMDktMDMtMTggMTE6MjA6MzEgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEludHJvZHVjZSBCVF9PUEVOIGNvbW1hbmQgdG8gYXVkaW8gaXBjLgoJICBCVF9PUEVOIG1ha2UgaXQgcG9zc2libGUgdG8gbG9jayBhIGdpdmVuIHNlaWQgd2hpY2ggaXMgYXV0b21hY2FsbHkKCSAgcmVsZWFzZSBpZiB0aGUgY2xpZW50IGRpc2Nvbm5lY3RzIGZyb20gdGhlIHVuaXggc29ja2V0LgoKMjAwOS0wMy0xOSAxMTo1MDoyNiAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gZmllbGRzIHRvIGF1ZGlvIGlwYyBtZXNzYWdlcy4KCjIwMDktMDItMTkgMTU6NTg6MTUgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1ha2UgdXNlIG9mIGdfaW9fY2hhbm5lbF9zaHV0ZG93biBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ19pb19jaGFubmVsX2Nsb3NlLgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTEyLTIwIDIxOjA0OjQ0ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0xMi0yMCAxODoyNzozMCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggbGVuZ3RoIGhlYWRlciB2YWx1ZXMgaW4gbWVzc2FnZXMKCjIwMDgtMTItMTYgMTc6MDk6NTcgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBnc3RyZWFtZXIgcGx1Z2luIHRvIHJlZmxlY3QgdGhlIGlwYyBjaGFuZ2VzLgoKMjAwOC0xMC0wNyAxMjowNzoxNCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNoYW5uZWwgbW9kZSBzdHJpbmcgZnJvbSBkdWFsIHRvIGR1YWwtY2hhbm5lbC4KCjIwMDgtMTAtMDcgMTE6NTU6NTggLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjaGFubmVsIG1vZGUgc3RyaW5nIHRvIGpvaW50LXN0ZXJlby4KCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTE0IDIxOjIyOjM4ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNYWtlIHVzZSBvZiBwYXJhbWV0ZXJzIHNlbGVjdGVkIGluIGFsc2EgcGx1Z2luIGFuZCBmaXggYXV0byBzZWxlY3Rpb24uCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMi0wMSAxOToyODozNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgYml0cG9vbCBwcm9wZXJ0eSBhbmQgb3RoZXJzIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0zMCAxNzozMDoyNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEVuYWJsZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBhdXRvY29ubmVjdCBmbGFnLgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjMgMTk6MTc6MzMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCB1c2Ugb2YgZ3N0cmVhbWVyIHBsdWdpbiB3aXRoIHJoeXRobWJveCBhbmQgYmFuc2hlZSBhbmQgcnRwIHRpbWVzdGFtcHMuCgoyMDA4LTAxLTIzIDE1OjE4OjE1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogUmVuYW1lIGEyZHBzZW5kZXJzaW5rIHRvIGF2ZHRwc2luay4KCjIwMDgtMDEtMjMgMTM6MjM6MDEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEJ1ZyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTk6MzIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBtcDMgc3VwcG9ydCBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDA3LTEyLTA0IDE5OjQyOjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBlcnJvciBtZXNzYWdlcy4gKHRoYW5rcyB0byBmY2hldmFsaWVyIGZvciB0aGUgcGF0Y2gpCgoyMDA3LTEyLTAzIDIyOjQxOjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEhhbmRsZSBuZXcgaXBjIG1lc3NhZ2VzIHByb3Blcmx5IGFuZCBhZGFwdCB0aGUgcGx1Z2lucy4KCjIwMDctMTEtMjMgMTc6MDA6MTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQ29kZSBjbGVhbnVwLgoKMjAwNy0xMS0yMSAyMDoyNDoxMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogSW50ZWdyYXRlIG5ldyBpcGMgQVBJIGltcGxlbWVudGF0aW9uLgoKMjAwNy0xMS0wMSAxOTo0NTowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IHNiYyBuZWdvdGlhdGlvbiBhbmQgaW1wcm92ZXMgYnVmZmVyIGhhbmRsaW5nIGJ5IHVzaW5nIEdzdEFkYXB0ZXIuCgoyMDA3LTEwLTI5IDE1OjAyOjI2ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBiaXRwb29sIGNhcGFiaWxpdHkuCgoyMDA3LTEwLTI2IDE4OjQ4OjQyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSBkZXBlbmRlbmN5IG9mIHNiYyBsaWJyYXJ5IGZyb20gYTJkcHNpbmsgZWxlbWVudC4KCjIwMDctMTAtMjUgMjE6MDc6NTAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBidWZmZXIgdXNhZ2UuCgoyMDA3LTEwLTI0IDIxOjQwOjM1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFNvbWUgbW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDctMTAtMjQgMjE6MzM6MjIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGNvZGluZyBzdHlsZS4KCjIwMDctMTAtMjQgMjE6MTM6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBhMmRwc2luayBjb2Rpbmcgc3R5bGUgcHJvYmxlbXMgYW5kIGltcHJvdmUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgcGxheWVycy4KCjIwMDctMTAtMTggMjM6MDI6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIHJ0cCBoZWFkZXIuCgoyMDA3LTEwLTE4IDIyOjQ2OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgoKMjAwNy0xMC0xOCAyMTo1MDowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4ZXMgYTJkcHNpbmsgZWxlbWVudC4KCjIwMDctMDgtMjYgMTQ6MTQ6MzQgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBwb3NzaWJsZSBjYXBhYmlsaXRpZXMgYW5kIGNvbm5lY3QgdG8gYXVkaW8gc2VydmVyCgoyMDA3LTA4LTIzIDE5OjEyOjIzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgU0JDIGVuY29kZXIgYW5kIGRlY29kZXIgc2tlbGV0b25zIGZvciBHU3RyZWFtZXIKCjIwMDctMDgtMjIgMjE6NTA6NTkgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBza2VsZXRvbiBmb3IgYW4gQTJEUCBzaW5rIGVsZW1lbnQKCjIwMTMtMDEtMDcgMTA6Mzc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IGhhbmRsZSBub24tdXRmOCBkdmQgZGlzYyB0aXRsZXMgYmV0dGVyCgkgIE1heWJlIHNvbWV0aGluZyBiYXNlZCBvbiB0aGUgY29kZSBpbiBidWcgIzY4ODM2NwoJICBhbmQgdGhlIGxhbmd1YWdlIGVuY29kaW5ncyB3b3VsZCB3b3JrIGV2ZW4gYmV0dGVyCgkgIHRob3VnaCAobm93IGl0IHdpbGwgdHJ5IHRoaW5ncyBiYXNlZCBvbiB0aGUgbG9jYWxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDA5NwoKMjAxMy0wMS0wNyAxMDozNjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgamFzcGVyOiByZW1vdmUgamFzcGVyIGpwZWcyMDAwIHBsdWdpbiwgcmVwbGFjZWQgYnkgb3BlbmpwZWcgcGx1Z2luCgkgIGxpYmphc3BlciBpc24ndCByZWFsbHkgbWFpbnRhaW5lZCBhbnkgbG9uZ2VyLCB3ZSBwcm9iYWJseQoJICBkb24ndCB3YW50IHRvIHBvcnQgdGhpcy4KCjIwMTMtMDEtMDcgMDA6NDk6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxsb3cgY29tcGlsYXRpb24gYWdhaW5zdCBvcGVuY3YgMi40LjMgYXMgd2VsbAoKMjAxMi0xMi0wNiAxMTo1NTo0NSAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG9uJ3QgZm9yd2FyZCBtdWx0aWZpbGVzaW5rIG1lc3NhZ2VzIHRvIGFwcGxpY2F0aW9uCgkgIFRoZXNlIG1lc3NhZ2VzIGFyZSB1c3VhbGx5IG9ubHkgbmVlZGVkIGludGVybmFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTItMTEtMDYgMTA6MTc6MTkgLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogbTN1OCBhZGQgRVhULVgtQUxMT1ctQ0FDSEUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMi0xMi0wNSAxMDowNjozOCAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiByb3VuZCBzZWdtZW50IGR1cmF0aW9uIHRvIG5lYXJlc3QgbnVtYmVyIG9mIHNlY29uZHMKCSAgRS5nLiBmb3IgMXMgcGVyaW9kLCBkdXJhdGlvbiBjYW4gYmUgMC45OXMsIHJvdW5kcyBkb3duIHRvIDAsIHJlc3VsdHMgaW4gaW52YWxpZAoJICBwbGF5bGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEzLTAxLTA2IDIyOjE5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzc2luazogZG9uJ3QgbGVhayBvbGQgcGxheWxpc3QgZW50cmllcyB3aGVuIHVzaW5nIG1heC1maWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieTogVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTMtMDEtMDUgMTg6NTY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgUkdCCgoyMDEzLTAxLTA0IDE1OjM4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobTogQWN0dWFsbHkgZ2V0IHRoZSBwZXJtaXNzaW9ucyBvbiBnZXRfcHJvcGVydHkKCjIwMTMtMDEtMDQgMTc6MTk6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IEFQSQoKMjAxMy0wMS0wMyAxNzoyODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgcmV0dXJuIEVHTEltYWdlcyB0aGF0IHdlIGp1c3QgcmVuZGVyZWQgZnJvbSB0aGUgYnVmZmVyIHBvb2wKCSAgTWFwcGluZyB0aGVtIHdpbGwgZmFpbCBiZWNhdXNlIHRoZXkncmUgc3RpbGwgaW50ZXJuYWxseSB1c2VkLgoKMjAxMy0wMS0wMyAxNToyMjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEhhbmRsZSBjb3B5aW5nIG9mIEdzdE1lbW9yeSBwcm9wZXJseQoJICBXZSBoYXZlIHRvIHVzZSB0aGUgZGVmYXVsdCB2aWRlbyBtZXRhIG1hcHBpbmcgZnVuY3Rpb25zLgoKMjAxMy0wMS0wMyAxMjowOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNldCB2YXJpYWJsZXMgdG8gTlVMTCB0byBwcmV2ZW50IHVzYWdlIGFmdGVyIGZyZWUvdW5yZWYKCjIwMTMtMDEtMDMgMTI6MDg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyB1c2UgdGhlIGNvcnJlY3QgR3N0TWVtb3J5IGZvciBidWZmZXJzIGZyb20gb3VyIHBvb2wKCjIwMTMtMDEtMDMgMTE6MDM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGZvcmdldCB0byBjYWxsIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBFR0xJbWFnZSBmcmVlIGZ1bmN0aW9uCgoyMDEzLTAxLTAzIDEwOjUzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBGaXggbGVhayBvZiBpbnB1dC9vdXRwdXQgYnVmZmVyIHN0b3JhZ2UgaW4gdGhlIE1GQyBkZWNvZGVyIGxpYnJhcnkKCjIwMTMtMDEtMDMgMTA6NDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byB3YWl0IGZvciB0aGUgcmlnaHQgb2JqZWN0IHRvIGJlIGRlcXVldWVkCgoyMDEzLTAxLTAzIDEwOjEwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRml4IHR5cG8KCjIwMTMtMDEtMDIgMTc6MjM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IGFkZCBjcm9wIG1ldGFkYXRhIGlmIHJlcXVpcmVkCgoyMDEzLTAxLTAyIDE2OjUzOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIGZpbWM6IERvIFNUUkVBTU9OL1NUUkVBTU9GRiBvbmx5IG9uY2UgYW5kIG5vdCBvbmNlIHBlciBidWZmZXIKCjIwMTMtMDEtMDIgMTY6Mzg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IFJlcXVpcmUgb25lIG1vcmUgb3V0cHV0IGJ1ZmZlciB0aGFuIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIKCjIwMTMtMDEtMDIgMTY6MTA6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBwYWNrZWQgWVVWIHN1cHBvcnQKCSAgVGhpcyB3aWxsIG5vdCBhbGxvdyB6ZXJvLWNvcHkgYmVjYXVzZSB0aGUgc2FtZQoJICBFR0xJbWFnZSB3b3VsZCBuZWVkIHRvIGJlIHVzZWQgZm9yIHR3byBkaWZmZXJlbnQKCSAgdGV4dHVyZXMgd2l0aCBhIGRpZmZlcmVudCBmb3JtYXQuCgoyMDEzLTAxLTAyIDE2OjA5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUHJlZmVyIE5WMTIgb3ZlciBJNDIwL1lWMTIKCjIwMTMtMDEtMDIgMTU6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IFRoZSBmaXJzdCBmcmFtZSBwcm9kdWNlcyBvdXRwdXQgaW4gb3VyIGNhc2UKCjIwMTMtMDEtMDIgMTQ6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogUmVxdWVzdCBpbnB1dCBidWZmZXJzIGV4cGxpY2l0ZWx5CgoyMDEzLTAxLTAyIDE0OjI3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBEb24ndCBTVFJFQU1PRkYgaWYgbm8gU1RSRUFNT04gaGFwcGVuZWQgeWV0CgoyMDEzLTAxLTAyIDE0OjIzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkgIG1mYzogQ2hlY2sgaWYgdGhlIE1GQyBoYXJkd2FyZSBleGlzdHMgYmVmb3JlIHJlZ2lzdGVyaW5nIHRoZSBlbGVtZW50CgoyMDEzLTAxLTAyIDE0OjE2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBDaGVjayBkZXZpY2UgY2FwYWJpbGl0aWVzIGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgoyMDEzLTAxLTAyIDEyOjMzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogSW5jbHVkZSBjb2RlY19kYXRhIGluIHRoZSBidWZmZXIgd2l0aCB0aGUgbmV4dCBmcmFtZQoKMjAxMy0wMS0wMiAxMTo0NDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNldCBmb3JtYXQgZmllbGQgb2YgdGhlIGluc3RhbmNlIHN0cnVjdAoKMjAxMy0wMS0wMiAxMTowMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEltcGxlbWVudCBzdXBwb3J0IGZvciBjcm9wIG1ldGFkYXRhCgoyMDEzLTAxLTAyIDEwOjI2OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQ2hlY2sgaWYgdGhlIGhhcmR3YXJlIGlzIGF2YWlsYWJsZSBpbiBHc3RWaWRlb0RlY29kZXI6Om9wZW4oKQoKMjAxMy0wMS0wMSAxMTo1NjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogdXNlIERUUyBpbiBhZGRpdGlvbiB0byBQVFMKCSAgQW5kIHJlZmFjdG9yIGNob29zZV9iZXN0X3N0cmVhbSgpIGEgbGl0dGxlLgoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj1iYWxsICEgeDI2NGVuYyAhIG1wZWdwc211eCAhIC4uLgoJICBwbGF5cyBtdWNoIG5pY2VyIG5vdy4KCjIwMTMtMDEtMDEgMTI6MDU6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IExvZyBpbiB0aGUgcGVyZm9ybWFuY2UgY2F0ZWdvcnkgaWYgd2UgbWFwL2NvcHkgRUdMSW1hZ2VzIHRvIG5vcm1hbCBtZW1vcnkKCjIwMTMtMDEtMDEgMTE6MDU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgaDI2MyBhbmQgTVBFRzEvMgoKMjAxMy0wMS0wMSAxMDo0ODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2F0Y2ggZXJyb3JzIGZyb20gZ2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRE9FUygpCgoyMDEzLTAxLTAxIDEwOjQ0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVcGxvYWQgdGV4dHVyZXMgaW4gR3N0QmFzZVNpbms6OnByZXBhcmUoKSBhbHJlYWR5CgkgIFRoaXMgZ2l2ZXMgbW9yZSB0aW1lIGZvciB0aGUgdGV4dHVyZSB0byBiZSB1cGxvYWRlZCBhcyBpdCBoYXBwZW5zCgkgIGJlZm9yZSBzeW5jaW5nIHRvIHRoZSBydW5uaW5nIHRpbWUuIFdoZW4gdGhlIHJ1bm5pbmcgdGltZSBpcyByZWFjaGVkCgkgIG9ubHkgZWdsU3dhcEJ1ZmZlcnMoKSBpcyBuZWNlc3NhcnkuCgoyMDEyLTEyLTMxIDE5OjQ1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OiB1c2UgZ3N0cmVhbWVyIGRlYnVnIGxvZ2dpbmcgc3lzdGVtIGV2ZXJ5d2hlcmUKCjIwMTItMTItMzEgMTk6NDI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogcG9ydCB0byAwLjExCgkgIE5haXZlIHBvcnQuIEJhcmVseSB0ZXN0ZWQuCgoyMDEyLTEyLTMxIDEyOjQyOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRG9uJ3QgcmVjb25maWd1cmUgaWYgd2UgZ2V0IGNvbXBhdGlibGUgY2FwcwoKMjAxMi0xMi0zMSAxMjozMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgY3JlYXRlIHRoZSBNRkMgY29udGV4dCBpbiA6OnNldF9mb3JtYXQoKQoKMjAxMi0xMi0zMSAxMTo1Njo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlY3JlYXRlIGZpbWMgY29udGV4dCBpZiBzZXR0aW5ncyBjaGFuZ2UKCjIwMTItMTItMzEgMTE6MDI6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTb21lIHJlZmFjdG9yaW5nCgoyMDEyLTEyLTMxIDA5OjQ3OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogRG8gemVyb2NvcHkgaWYgd2UgZ2V0IEVHTEltYWdlIGJ1ZmZlcnMKCjIwMTItMTItMzAgMTY6NDU6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTb21lIG1pbm9yIGZpeGVzCgoyMDEyLTEyLTI2IDEzOjMwOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRml4IGRvdWJsZS11bm1hcCBvZiB0aGUgY29kZWMgZGF0YQoKMjAxMi0xMi0yNiAxMzoyNzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IFBhc3MgY29kZWNfZGF0YSB0byB0aGUgY29kZWMgaWYgdGhlcmUncyBzb21lCgoyMDEyLTEyLTI2IDEzOjE4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVmYWN0b3IgZmltYyBjb2RlIGEgYml0CgoyMDEyLTEyLTI2IDEyOjM4OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBEb3duZ3JhZGUgYW4gZXJyb3IgdG8gZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI2IDExOjUxOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogU29tZSBmaW1jIGNsZWFudXAKCjIwMTItMTItMjYgMDk6NTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgcHJvZmlsZS9sZXZlbCBhbmQgd2lkdGgvaGVpZ2h0IGNvbnN0cmFpbnRzCgoyMDEyLTEyLTI0IDE2OjIzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gc2V0dGluZyBuZXcgZGVzdCBzZXR0aW5ncyBmb3IgYSBkaXJlY3QgYnVmZmVyCgoyMDEyLTEyLTI0IDE2OjAyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIGluaXRpYWwgTVBFRzQgc3VwcG9ydAoKMjAxMi0xMi0yNCAxNTo0NDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI0IDE1OjM0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEltcGxlbWVudCB0cmFja2luZyBvZiBmcmFtZXMgdXNpbmcgdGhlIHY0bDJfYnVmZmVyIHRpbWVzdGFtcAoKMjAxMi0xMi0yNCAxNDo0ODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlc2V0IHNvbWUgbW9yZSB2YXJpYWJsZXMgb24gOjpyZXNldCgpCgoyMDEyLTEyLTI0IDE0OjM2OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWxzbyBhZGQgc3VwcG9ydCBmb3IgWVYxMgoKMjAxMi0xMi0yNCAxMzo0MTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhCgoyMDEyLTEyLTI0IDEzOjM5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogSW1wbGVtZW50IG5lZ290aWF0aW9uIHRvIE5WMTIgb3IgSTQyMCBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMKCjIwMTItMTItMjQgMTI6MzE6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBXb3JrYXJvdW5kIGZvciB3cm9uZ2x5IHJlcG9ydGVkIHN0cmlkZXMgYnkgRklNQwoKMjAxMi0xMi0yNCAxMjoxODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIE1GQyBkZWNvZGVyIHN0cmlkZXMKCjIwMTItMTItMjQgMTI6MTA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBUcnkgd2l0aCBJNDIwIGZvciBub3csIGl0J3MgZWFzaWVyIHRvIGRlYnVnCgoyMDEyLTEyLTI0IDExOjU3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjQgMTE6NTQ6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBEb24ndCByZXF1aXJlIHN0cmlkZSB0byBiZSBzZXQgb24gc3JjIHBhcmFtZXRlcnMKCjIwMTItMTItMjQgMTE6NDk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogVGhlIG1mYyBkZWNvZGVyIGxpYnJhcnkgaXMgZHVhbCBsaWNlbnNlZCB0b28KCSAgQXBhY2hlIExpY2Vuc2UgMi4wIGFuZCBMR1BMMisKCjIwMTItMTItMjMgMTI6MjU6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBVc2UgQ0FNSUYvRklNQyBmb3IgaGFyZHdhcmUgY29sb3IgZm9ybWF0IGNvbnZlcnNpb24gYW5kIGRlLXRpbGluZwoKMjAxMi0xMi0yMyAxMzo0NjowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgdW5yZWYgdGhlIG91dGJ1ZiBpZiBpdCBkb2Vzbid0IGJlbG9uZyB0byB0aGUgZnJhbWUKCjIwMTItMTItMjMgMTI6MDQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAKCjIwMTItMTItMjMgMTE6NDc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgaW5pdGlhbCBkZWNvZGVyIGVsZW1lbnQgaW1wbGVtZW50YXRpb24KCSAgVGhpcyBkb2VzIG5vdCBjb3B5IHRoZSBvdXRwdXQgdG8gYW55IG91dHB1dCBidWZmZXJzIHlldC4KCSAgT3RoZXIgdGhhbiB0aGF0IHNob3VsZCBiZSBiYXNpY2FsbHkgZnVuY3Rpb25hbCBhbHJlYWR5LgoKMjAxMi0xMi0yMyAxMDoyMzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgcGx1Z2luIGFuZCBkZWNvZGVyIHNrZWxldG9uCgoyMDEyLTEyLTIzIDEwOjA1OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IE1ha2UgbWZjX2RlY29kZXIgbGlicmFyeSBjb21waWxlIGFuZCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0yMyAwOTo1NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBBZGQgbWZjX2RlY29kZXIgbGlicmFyeSBmcm9tIEZYSQoKMjAxMi0xMi0zMSAxMTozODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG93bmdyYWRlIGEgR1NUX0VSUk9SIHRvIGEgR1NUX0RFQlVHCgoyMDEyLTEyLTMwIDE0OjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIGxhc3RfZmxvdyBoYW5kbGluZyBtb3JlIHRocmVhZHNhZmUKCjIwMTItMTItMjggMTI6Mjc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgYWxsb2NhdGluZyBFR0xJbWFnZXMgb24gTWFsaQoJICBUaGlzIGFsbG93cyB0byBkZWNvZGVycyBhbmQgb3RoZXIgdXBzdHJlYW0gZWxlbWVudHMgdG8gZG8KCSAgemVyby1jb3B5IHRvIHRoZSBzaW5rLgoKMjAxMi0xMi0zMSAwMDoxNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXBsYWNlIGRlcHJlY2F0ZWQgQU1fQ09ORklHX0hFQURFUiB3aXRoIEFDX0NPTkZJR19IRUFERVJTCgkgIEFNX0NPTkZJR19IRUFERVIgaGFzIGJlZW4gcmVtb3ZlZCBpbiB0aGUganVzdC1yZWxlYXNlZCBhdXRvbWFrZSAxLjEzOgoJICBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMTIvbXNnMDAwMzguaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwODgxCgoyMDEyLTEyLTMwIDExOjMyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBpbmRlbnRpb24KCjIwMTItMTItMzAgMTE6MzI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJldHVybiB0aGUgbGFzdF9mbG93IGltbWVkaWF0ZWx5IGlmIGl0IHdhc24ndCBHU1RfRkxPV19PSwoKMjAxMi0xMi0zMCAxMToyOTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvcHkmcGFzdGUgbWlzdGFrZQoKMjAxMi0xMi0zMCAxMDo0NTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wcm92ZSBFR0wvR0wgZXJyb3IgaGFuZGxpbmcgYSBiaXQKCjIwMTItMTItMzAgMTA6NDM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFjY2VzcyB0aGUgdmlkZW8gZnJhbWUgZGF0YSBpZiBub3QgbmVjZXNzYXJ5CgoyMDEyLTEyLTMwIDEwOjE4OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb25maWd1cmUgY2FwcyBmcm9tIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGFscmVhZHkKCjIwMTItMDctMjYgMjA6Mzg6MjggKzAyMDAgIE1hdHRoaWFzIEhhcmR0IDxtaGFyZHRAYmVybGludXgtc29sdXRpb25zLmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZXh0cmFjdCBJU08gNjM5IGxhbmd1YWdlIGNvZGVzIGZvciBzdWJ0aXRsZXMgaW50byB0YWdsaXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjAwCgoyMDEyLTEyLTI4IDE5OjM2OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBCaW5kIHRoZSBPcGVuR0wgRVMgQVBJIGluIHRoZSByZW5kZXIgdGhyZWFkIHRvbwoKMjAxMi0xMi0yOCAxNDowNTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU29tZSByZWZhY3RvcmluZyBhcyBwcmVwYXJhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcmVuZGVyaW5nCgoyMDEyLTEyLTI4IDEzOjA4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBtb3JlIGNvbW1lbnRzCgoyMDEyLTEyLTI4IDEyOjQwOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IHVzZSB0aGUgR3N0VmlkZW9GcmFtZSBpZiB3ZSBoYXZlIGEgYnVmZmVyCgoyMDEyLTEyLTI3IDEwOjUxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBjb25maWd1cmUgcGFyYW1ldGVyIHRvIGNob3NlIHRoZSBFR0wgd2luZG93IHN5c3RlbQoJICBPbmx5IG5lZWRlZCBmb3IgY3JlYXRpbmcgbmF0aXZlIHdpbmRvd3MuCgoyMDEyLTEyLTI2IDE3OjM1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIE1hbGkgZmJkZXYgRUdMIGRyaXZlcgoKMjAxMi0xMi0yNyAxNDowOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgY29tcGF0aWJpbGl0eSAjZGVmaW5lcyBmb3Igb2xkZXIgbWluZ3cgaGVhZGVycwoJICBUaGVzZSB3ZXJlIHJlbW92ZWQgcmVjZW50bHkgYnV0IHRoZXNlIG1pbmd3IGhlYWRlcnMgYXJlIHN0aWxsCgkgIG91dCB0aGVyZS4KCjIwMTItMTItMjEgMDc6MzU6MTMgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlbW92ZSB1c2VsZXNzIGFuZCB1bmluaXRpYWxpemVkIGxpc3QgY2F1c2luZyBhIGNyYXNoIGluIHRoZSBkZXZpY2UgcHJvYmUKCjIwMTItMTItMjYgMTc6MjU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhIGFuZCBhcmJpdHJhcnkgc3RyaWRlcwoKMjAxMi0xMi0yNiAxNTo1ODo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHdpZHRoL2hlaWdodCBzd2FwIGluIGxhc3QgY29tbWl0CgoyMDEyLTEyLTI2IDE1OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgZGVidWcgZnVuY3Rpb24gY2FsbCBmcm9tIHByZXZpb3VzIGNvbW1pdAoKMjAxMi0xMi0yNiAxNDozOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaGFuZGxpbmcgb2YgR3N0VmlkZW9PdmVybGF5OjpzZXRfcmVuZGVyX3JlY3QoKSBhbmQgY3JvcCBtZXRhZGF0YQoKMjAxMi0xMi0yNiAxMDo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgYSBjYXN0IGZyb20gRUdMTmF0aXZlV2luZG93VHlwZSB0byBXaW5kb3cgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMi0yNiAxMDozOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGEgY3Jhc2ggb24gR3N0VmlkZW9PdmVybGF5OjpleHBvc2UoKQoKMjAxMi0xMi0yNiAxMDozNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaCB3aGVuIGNsb3NpbmcgaW50ZXJuYWwgWDExIHdpbmRvdwoKMjAxMi0xMi0yNiAxMDoyMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBwcm9wZXIgY2hlY2sgZm9yIFgxMQoKMjAxMi0xMi0xOCAwOTo1MzoxNiAtMDgwMCAgSm9lIEtvbm5vIDxqb2Uua29ubm9AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCBkZWZhdWx0IHRvIGEgZnVsbHNjcmVlbiBjYW52YXMKCSAgRGVmZXIgY2VydGFpbiBjYW52YXMgcGFydGljdWxhcnMgdG8gdGhlIHBsYXllciAob3IgdGhlIFdheWxhbmQKCSAgY29tcG9zaXRvcikuIEJlZm9yZSB0aGlzIGNoYW5nZSwgYSBmdWxsc2NyZWVuIGNhbnZhcyB3YXMgYWx3YXlzCgkgIHJlcXVlc3RlZC4gVGhpcyBtYXkgbm90IGJlIGRlc2lyYWJsZSBpbiBhbGwgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA0NDIKCjIwMTItMTItMjMgMDk6NTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBPbmx5IHVzZSAxMCBiaXQgWVVWIGZvcm1hdHMgZm9yIGV4YWN0bHkgMTAgYml0IGltYWdlcywgbm90IDw9IDE2IGJpdAoJICBBbmQgdXNlIHRoZSBnZW5lcmljIGNvbnZlcnRlciB0byBBWVVWNjQgZm9yIGV2ZXJ5dGhpbmcgZWxzZS4KCjIwMTItMTItMjIgMTg6NDM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHNjYXJ5ICJ3aGlsZSAob2JqZWN0LnJlZmNvdW50ID4gMCkgcmVsZWFzZSAob2JqZWN0KTsiIGNvZGUKCSAgSWYgdGhlcmUgaXMgYSBtZW1vcnkgbGVhaywgdGhpcyBpc24ndCB0aGUgd2F5IGhvdyBpdCBzaG91bGQgYmUgZml4ZWQuCgoyMDEyLTEyLTIyIDE4OjE3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgZm9yZ2V0IHRvIHJldHVybiBhIHZhbHVlIGZyb20gOjpwcm9wb3NlX2FsbG9jYXRpb24oKQoKMjAxMi0xMi0yMiAxODoxNzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciB0aGUgdmlkZW8gbWV0YQoKMjAxMi0xMi0yMiAxODoxMjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgdXNlICJjbGFzcyIgYXMgdmFyaWFibGUgbmFtZSBhbmQgZG9uJ3QgdXNlIEM5OSBjb21tZW50cwoKMjAxMi0xMi0yMiAxODowNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IG9wZW4gc3lzdGVtIHJlc291cmNlcyBpbiBpbiBOVUxMLT5SRUFEWSwgbm90IG9uIG9iamVjdCBpbnN0YW50aWF0aW9uCgoyMDEyLTEyLTIyIDE3OjU1OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBQcm9wZXJseSBjb3B5IGZyYW1lcyB0byBEM0Qgd2l0aCB0aGUgcmlnaHQgc3RyaWRlcyBhbmQgZXZlcnl0aGluZwoJICBBbmQgb25seSBzdXBwb3J0IGNvbG9yIGZvcm1hdHMgdGhhdCBhcmUgYWN0dWFsbHkgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIsCgkgIHRoaXMgYWxsb3dzIHByb3BlciB6ZXJvLWNvcHkgaGFuZGxpbmcgbGF0ZXIgYW5kIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3QuCgkgIEFsc28gc2ltcGxpZnkgc29tZSBvdGhlciBwbGFjZXMsIGxpa2UgdGhlIGZvcm1hdCBtYXBwaW5nIGNvZGUuCgoyMDEyLTEyLTIyIDE2OjI2OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIG5vbi1zZW5zZSBkaXNwbGF5IFBBUiBoYW5kbGluZwoJICBUaGlzIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBwcm9wZXJseSBhdCBzb21lIHBvaW50CgoyMDEyLTEyLTIyIDE2OjE4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGNhcHMgbGVhawoKMjAxMi0xMi0yMiAxMjowOTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBkdXBsaWNhdGVkIGZvcm1hdCBlbnRyeSBpbiB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMi0xMi0yMiAxMjowNToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogRml4IGxpbmtpbmcKCjIwMTItMTItMjIgMTE6NTg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRml4IHNvbWUgbW9yZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0yMiAxMTo1MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFBvcnQgcmVtYWluaW5nIGJpdHMgdG8gbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0yMiAxMTo0NToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFuZCByZW1vdmUgdGhlIHJpZ2h0IGRlY2xhcmF0aW9uCgoyMDEyLTEyLTIyIDExOjQ0OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCBzdGF0aWMgZGVjbGFyYXRpb24KCjIwMTItMTItMjIgMTE6NDM6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxMi0xMi0yMiAxMTo0Mjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFVwZGF0ZSB0byBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTIyIDExOjM4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUmVuYW1lIGtlZXBfYXNwZWN0X3JhdGlvIHRvIGZvcmNlX2FzcGVjdF9yYXRpbyBpbiB0aGUgaGVhZGVyIHRvbwoKMjAxMi0xMi0yMiAxMTozNTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDEyLTEyLTIyIDExOjM0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbmFtZSBrZWVwLWFzcGVjdC1yYXRpbyB0byBmb3JjZS1hc3BlY3QtcmF0aW8gYW5kIGRlZmF1bHQgdG8gVFJVRQoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciB2aWRlbyBzaW5rcy4KCjIwMTItMTItMjIgMTE6MzA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBmaWxlcyB0aGF0IGhhZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgbGFzdCBjb21taXQKCjIwMTItMTItMjIgMTE6Mjg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTCgoyMDEyLTEyLTIyIDExOjI0OjI4ICswMTAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IFZhcmlvdXMgaW1wcm92ZW1lbnRzCgkgICogWE92ZXJsYXkgc2V0X3JlbmRlcl9yZWN0YW5nbGUgc3VwcG9ydCAoVXNlZnVsIGZvciByZW5kZXJpbmcgaW4gUVQgUU1MKQoJICAqIFZpZGVvIGZvcm1hdCBuZWdvdGlhdGlvbiAod2l0aCBwcmVmZXJlbmNlIG9yZGVyaW5nKQoJICAqIFVzaW5nIERpcmVjdDNEOSAoTm8gYmVuZWZpdCB0byB1c2luZyBuZXdlciBEM0QgdmVyc2lvbnMpCgoyMDEyLTEyLTIxIDE2OjExOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBpbmNsdWRlIGZvcm1hdHMgdGhhdCBhcmUgYWN0dWFsbHkgd29ya2luZwoKMjAxMi0xMi0yMSAxNToyMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFkZCB0aGUgYWN0dWFsbHkgc3VwcG9ydGVkIGNvbG9yIGZvcm1hdHMgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTItMTItMTggMjI6MjM6NDIgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jLy1kZWM6IHByaW50IG9wZW5qcGVnIGxvZ3MgZm9yIGRlYnVnIHRyYWNpbmcKCjIwMTItMTItMTggMTY6NTY6MjggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo1MjoyNiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NTA6MzcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14ZjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjQwOjU5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGpwZWc6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjoyMDowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogQWRkIHNvbWUgcHJvcGVydGllcwoKMjAxMi0xMi0xOCAxNTo0MzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IERvbid0IGNyYXNoIGlmIGNvbG9yc3BhY2UgaXMgbm90IHByb3ZpZGVkIG9uIHRoZSBjYXBzCgkgIGdfc3RyX2VxdWFsKCkgaXMgKm5vdCogTlVMTC1zYWZlCgoyMDEyLTEyLTE3IDE3OjE5OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogSW1wcm92ZSByb2J1c3RuZXNzIGFnYWluc3QgZm9ybWF0cyB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncyBwZXIgY29tcG9uZW50CgoyMDEyLTEyLTE3IDE3OjEzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogUHJvcGVydGllcyB3b24ndCBiZSBuZWVkZWQgaW4gdGhlIGRlY29kZXIKCjIwMTItMTItMTcgMTc6MTE6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBGaXggZGF0YSBwb2ludGVyIGluY3JlbWVudGluZwoKMjAxMi0xMi0xNyAxNzowNjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IE9wdGltaXplIGltYWdlIGZpbGxpbmcgZnVuY3Rpb25zIGEgYml0CgoyMDEyLTEyLTE3IDE3OjAyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogQWRkIG1pc3Npbmcgc2hpZnRzCgoyMDEyLTEyLTE3IDE2OjU3OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogT3B0aW1pemUgZnJhbWUgZmlsbGluZyBmdW5jdGlvbnMgYSBiaXQKCjIwMTItMTItMTcgMTU6MTY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBNYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtCgoyMDEyLTEyLTE3IDE1OjA0OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIHRoZSBwZWVyIGNhcHMgZm9yIHJlc3RyaWN0aW9ucyBpbnN0ZWFkIG9mIHRoZSBzcmNwYWQgYWxsb3dlZCBjYXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGludGVyc2VjdCB3aXRoIHRoZSBzcmNwYWQgdGVtcGxhdGUgY2FwcyBhbmQgYWRkIGFsbCB0aGUgY2FwcyBmaWVsZHMKCSAgdGhhdCB0aGUgcGFyc2VyIHdpbGwgZXZlciBzZXQsIG5vIG1hdHRlciBpZiBkb3duc3RyZWFtIHJlc3RyaWN0cyB0aGlzIGZpZWxkIG9yIG5vdC4KCSAgVGhpcyByZXF1aXJlcyB1cHN0cmVhbSB0byBzZXQgdGhpcyBmaWVsZCBvbiB0aGUgY2FwcyB0byBzdWNjZXNzZnVsbHkgbmVnb3RpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTg0CgoyMDEyLTEyLTE2IDIwOjA1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IENvcnJlY3QgdGVtcGxhdGUgY2FwcyBhIGJpdAoKMjAxMi0xMi0xNiAyMDowMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogSGFuZGxlIHRoZSBudW0tY29tcG9uZW50cyBmaWVsZCBpbiB0aGUgY2FwcwoKMjAxMi0xMi0xNSAxMToyNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogQWRkIHN1cHBvcnQgZm9yIHRoZSBjb2xvcnNwYWNlIGZpZWxkIGluIHRoZSBjYXBzCgoyMDEyLTEyLTE0IDIwOjA4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBBZGQgSlBFRzIwMDAgZW5jb2RlciBlbGVtZW50CgoyMDEyLTEyLTE0IDE0OjM4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IEFkZCBPcGVuSlBFRyBiYXNlZCBKUEVHMjAwMCBkZWNvZGVyCgoyMDEyLTEyLTE2IDE3OjQ0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgcmVtb3ZlZCBydHBtdXggYml0cyB0byBjcnVmdCBjaGVjawoKMjAxMi0xMi0xNiAxNzozNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiByZW1vdmUgcnRwbXV4IHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgTW92ZSBydHBtdXggYW5kIHJ0cGR0bWZtdXggaW50byBydHBtYW5hZ2VyIHBsdWdpbiBpbiAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMi0xNCAxNDo1MToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgIHNjYWxldGVtcG86IHJlbW92ZSBzY2FsZXRlbXBvIHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MgoKMjAxMi0xMi0xNCAxODowOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBkb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTEzIDE0OjEyOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgdXBzdHJlYW0gd2lkdGgvaGVpZ2h0IHdoZW4gZ2l2ZW4KCSAgVGhlIHVwc3RyZWFtIHdpZHRoIGFuZCBoZWlnaHQgc2hvdWxkIG92ZXJyaWRlIHRoZSBkaW1lbnNpb24gZGV0ZWN0ZWQgaW4gdGhlCgkgIGZpbGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNDIKCjIwMTItMTItMTMgMTE6NDc6NTcgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBleHBvcnQgbnVtYmVyIG9mIHNwcml0ZSB3YXJwaW5nIHBvaW50cyBpbiBjYXBzCgkgIFRoaXMgYWxsb3dzIGZpbHRlcmluZyBvdXQgdmlkZW9zIGZvciBoYXJkd2FyZSBkZWNvZGVycyB0aGF0IGRvIG5vdAoJICBzdXBwb3J0IEdNQyBhdCBhbGwgb3Igb25seSBzdXBwb3J0IGEgbGltaXRlZCBudW1iZXIgb2Ygc3ByaXRlIHdhcnBpbmcKCSAgcG9pbnRzICh1c3VhbGx5IDEpLgoKMjAxMi0xMi0xMyAxMTo0MzowOSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBkaXZ4IGNhcHMKCSAgRGl2WCA0LzUgYXJlIE1QRUc0IHBhcnQgMiB2aWRlb3MsIHNvIHRoZXkgY2FuIGJlIHBhcnNlZCBieSB0aGlzIHBsdWdpbi4KCjIwMTItMTItMTMgMDE6NTc6MjEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZDogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDEyOAoKMjAxMi0xMi0xMiAxODo1MDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHByaW50ZiBmb3JtYXQgZml4ZXMgZm9yIGRlYnVnIG1lc3NhZ2VzCgoyMDEyLTEyLTEyIDAwOjQwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBtaW5vciBNYWtlZmlsZSBjbGVhbi11cAoJICBSZW1vdmUgc3VwZXJmbHVvdXMgU09VUF9DRkxBR1MgYW5kIFNPVVBfTElCUy4KCjIwMTItMTItMTEgMjE6MDk6MDIgKzAwMDAgIE1pY2hhZWwgRXNlbXBsYXJlIDxtaWNoYWVsLmVzZW1wbGFyZUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IGxpbmsgdG8gdGhlIHJpZ2h0IGdzdC1wbHVnaW5zLWJhc2UgbGlicyBhbmQgZml4IGxpYnMgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDAzMAoKMjAxMi0xMi0xMSAyMDo1ODo0MiArMDAwMCAgTWljaGFlbCBFc2VtcGxhcmUgPG1pY2hhZWwuZXNlbXBsYXJlQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogZml4IGNvbXBpbGVyIGFuZCBsaW5rZXIgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDAzMQoKMjAxMi0xMi0xMSAxNTowMDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEFDX0xBTkdfUFJPR1JBTSB0byBtYWtlIGF1dG9jb25mIGhhcHB5CgoyMDEyLTEyLTExIDE0OjE5OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBjb21waWxhdGlvbgoKMjAxMi0xMi0xMSAxMDo1ODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBvZmZfdC9nb2Zmc2V0CgkgIEZpeGVzIGJ1ZyAjNjkwMDMzLgoKMjAxMi0xMi0wNiAxMDowNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCBhbGxvdyBhbnkgd3JhcHBpbmcgb3RoZXIgdGhhbiBmcmFtZSB3cmFwcGluZwoJICBCYWQgdGhpbmdzIHdpbGwgaGFwcGVuIG90aGVyd2lzZSwgbGlrZSByZWFkaW5nIGEgY29tcGxldGUsCgkgIG11bHRpcGxlIEdCIGxhcmdlIHZpZGVvIHRyYWNrIGludG8gYSBzaW5nbGUgYnVmZmVyLgoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmZGVtdXguYwoKMjAxMi0xMi0wNSAxNToyNzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBBZGQgZnVuY3Rpb24gdG8gZ2V0IHRoZSBlc3NlbmNlIHRyYWNrIHdyYXBwaW5nCgoyMDEyLTEyLTA1IDEyOjIzOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSAgbXhmOiBBZGQgc3VwcG9ydCBmb3IgcGFyc2luZyBmaWxsZXIgc3RydWN0dXJhbCBjb21wb25lbnRzCgkgIFRoaXMgZG9lcyBub3QgYWRkIHN1cHBvcnQgZm9yIGFjdHVhbGx5IHByb2R1Y2luZyBmaWxsZXIgZGF0YQoJICBpZiB0aGVyZSdzIGEgZmlsbGVyIGNvbXBvbmVudCBpbiBhIHRpbWVsaW5lLgoKMjAxMi0xMi0wNSAxMjowODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZHVyaW5nIG1ldGFkYXRhIHJlc29sdmFsCgoyMDEyLTEyLTAxIDE3OjA1OjM4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZGlzYWJsZSBzZWVraW5nIGlmIHRoZSBjb25maWd1cmVkIHVybCBzcGVjaWZpZXMgbGl2ZT10cnVlCgkgIERpc2FibGUgc2Vla2luZyB3aGVuIGxpdmU9dHJ1ZSBpcyBzZXQgaW4gdGhlIGxvY2F0aW9uIFVSTCAoZWc6CgkgICJydG1wOi8vZXhhbXBsZS5uZXQvc3RyZWFtIGxpdmU9dHJ1ZSIpCgoyMDEyLTExLTMwIDIwOjAxOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZCwgZnJlaTByOiBsaW5rIHRvIGxpYmdtb2R1bGUtMi4wIGluIHBsdWdpbnMgdGhhdCB1c2UgZ19tb2R1bGVfKiBBUEkKCSAgUHJvYmFibHkgbmVlZGVkIGZvciBvdGhlciBwbHVnaW5zIGFzIHdlbGwuCgoyMDEyLTExLTMwIDE5OjU0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzcHJpbmtsZSBzb21lIEFDX0xBTkdfUFJPR1JBTSBpbiB3YXNhcGkgY2hlY2sKCSAgU28gYXV0b2dlbi5zaCBzdG9wcyBtb2FuaW5nLgoKMjAxMi0xMS0zMCAxNToxMDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBBZGQgbW9yZSBzdXBwb3J0IGZvciBSUDIwMDggKEFWQyBpbiB0aGUgTVBFRyBtYXBwaW5nKQoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmbXBlZy5jCgoyMDEyLTExLTMwIDExOjQ0OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogbWFrZSB0aGUgYnVpbGQgaGFwcHkgd2l0aG91dCB0aGUgc3RhdGljIHBsdWdpbnMgcGF0Y2gKCjIwMTItMTEtMzAgMTE6NDA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCB3YXNhcGkgdG8gdGhlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTItMTEtMzAgMTE6Mzc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogSW50ZWdyYXRlIGludG8gdGhlIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgUGF0Y2ggYmFzZWQgb24gYSBwYXRjaCBieSBGYWJyaXppbyBDaWF2YXR0YSA8ZmFicml6aW8uY2lhdmF0dGFAZ21haWwuY29tPgoKMjAxMi0xMS0yOCAxMzoxMDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkgIHNobTogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgY2xlYW4gdXAgTWFrZWZpbGUKCjIwMTItMTEtMjcgMTU6MzQ6MTkgLTA1MDAgIEVtbWFudWVsIER1cmFuZCA8ZW1tYW51ZWxkdXJhbmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBGaXggY29tcGlsYXRpb24gb2Ygc2htIG9uIE9TWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MTgzCgoyMDEyLTExLTI2IDE5OjIxOjAzICswMDAwICBLcnp5c3p0b2YgS29ub3BrbyA8a3J6eXN6dG9mLmtvbm9wa29AeW91dmlldy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBjcmFzaGVzIHdoZW4gdHJ5aW5nIHRvIHJlLXVzZSB0aGUgZWxlbWVudAoJICBBIGNyYXNoIG9jY3VyZWQgYWZ0ZXIgcHVzaGluZyBidWZmZXJzIGFuZCBjaGFuZ2luZyBtcGVndHNtdXggc3RhdGUgdG8KCSAgTlVMTC9SRUFEIGFuZCB0aGVuIGJhY2sgdG8gUExBWUlORy9QQVVTRUQuCgkgIFRoZSBjcmFzaCB3YXMgY2F1c2VkIGJ5IGhvbGRpbmcgYSBkYW5nbGluZyBwb2ludGVyIGluIHRoZSBNcGVnVHNNdXgKCSAgcHJvZ3JhbSB0YWJsZS4KCSAgQWRkaXRpb25hbGx5IHN0cmVhbSBoZWFkZXJzIHdlcmUgbGVha2VkIHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50OgoJICBtdXgtPnN0cmVhbWhlYWRlciBzZXQgdG8gTlVMTCBpbiBtcGVndHNtdXhfcmVzZXQoKSBiZWZvcmUgaXQncyByZWxlYXNlZAoJICBsYXRlciBpbiB0aGUgc2FtZSBmdW5jdGlvbi4KCSAgQWRkZWQgYSB1bml0IHRlc3Q6IHRlc3RfbXVsdGlwbGVfc3RhdGVfY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxMDcKCjIwMTItMTEtMjMgMTI6MjY6NDMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBvcnRlZCBwbHVnaW5zIGV0Yy4KCjIwMTItMTEtMjIgMTA6NTc6MjUgKzAwMDAgIEtyenlzenRvZiBLb25vcGtvIDxrcnp5c3p0b2Yua29ub3Brb0B5b3V2aWV3LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHByb3BhZ2F0ZSBmbG93IHJldHVybnMKCSAgQW5kIGFkZCBhIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODg3MAoKMjAxMi0xMS0yMSAxMDoyMTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmRvd3M6IFB1dCB0aGUgRGlyZWN0WCBMREZMQUdTIGluIHRoZSBjb3JyZWN0IHBsYWNlIGFuZCByZW9yZGVyIGxpYnJhcmllcwoKMjAxMi0xMS0yMCAyMzoyMDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBhZGQgZG9jIGNodW5rIHdpdGggZXhhbXBsZSBjb21tYW5kIGxpbmUKCjIwMTItMTEtMjAgMTI6MDU6MTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IGZpeCByZWRlZmluaXRpb24gb2YgREVDTEFSRV9JTlRFUkZBQ0VfSUlECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg1MTAKCjIwMTItMTEtMTkgMTk6Mjk6NDggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBHc3RQaG90b2dyYXBoeTogQWRkIG5ldyBlbnVtIHZhbHVlcyB0byBtYXRjaCBhbmRyb2lkJ3MgcGFyYW1ldGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NDg2CgoyMDEyLTExLTE5IDEwOjMyOjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFBUWVBFIGZvciBpbnRlcmxhY2VkIGZyYW1lcy4KCSAgQ292ZXJpdHkgZm91bmQgbWlzc2luZyBicmVhayBpbiBwYXJzZV9mcmFtZV9oZWFkZXJfYWR2YW5jZWQoKSB3aGVuCgkgIGRldGVybWluaW5nIFBUWVBFIGZyb20gRlBUWVBFIGZvciBpbnRlcmxhY2VkIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg2MjYKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yMSAxODoyMzoyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGVycm9yIGNvZGUgZm9yIGludmFsaWQgc2l6ZSBwYXJzZWQgaW4gU1BTLgoJICBnc3RfaDI2NF9wYXJzZV9zcHMoKSByZXR1cm5lZCBGQUxTRSBpZiBpdCBwYXJzZWQgaW52YWxpZCAobmVnYXRpdmUpCgkgIHNpemUgY29tcG9uZW50cy4gTm93IG1ha2UgaXQgZ3JhY2VmdWxseSByZXR1cm4gR1NUX0gyNjRfUEFSU0VSX0VSUk9SCgkgIGluc3RlYWQgb2YgR1NUX0gyNjRfUEFSU0VSX09LIChGQUxTRSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ1NjgKCjIwMTItMTEtMTkgMTE6MjY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI0OTdjNGYgdG8gYTcyZmFlYQoKMjAxMi0xMS0xNSAxMTozNzoxMiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBGaXggbml0cGljawoKMjAxMi0xMS0xNSAxMDoxNDozNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBNYWtlIHN1cmUgcGFkIHRlbXBsYXRlIGNhcHMgYXJlIG5vdCBmaXhlZCBmcm9tIHRoZSBiZWdnaW5nCgkgIFJpZ2h0IG5vdyBkZWNvZGViaW4gd2lsbCBjb25jaWRlciB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgZml4ZWQgYW5kIGlmIGEgZGVjb2RlcgoJICBoYXMgcmVzdHJpY3Rpb24gb24gZm9yIGV4YW1wbGUgaGVpZ2h0L3dpZHRoIGl0IHdvbid0IGJlIGF1dG9wbHVnZ2VkIGJlY2F1c2UKCSAgZ3N0X2NhcHNfaXNfc3Vic2V0IGZhaWxzIGFzIHRob3NlIGZpZWxkcyBhcmUgbWlzc2luZyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUgY2Fwcy4KCSAgV2UgZml4IHRoZSBpc3N1ZSBoZXJlIG1ha2luZyBzdXJlIHRoYXQgdGhlIHBhZCBjYXBzIGFyZSBmaXhlZCB1c2luZyBkYXRhIGZyb20KCSAgdGhlIHN0cmVhbS4KCjIwMTItMTEtMTMgMjI6NDA6MjUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZvcndhcmQgdXBzdHJlYW0gdGltZSBzZWdtZW50cyBhZnRlciBmbHVzaGVzCgkgIEFsc28gcmVzZXQgc2VnbWVudCBpbmZvIGFuZCBkcm9wIHRoZSBzZWdtZW50IGV2ZW50IHdoZW4gZGVtdXhlciBpcwoJICBmbHVzaGVkLgoJICBSZXN0b3JlIGRlbXV4ZXIgc2VnbWVudCB3aXRoIHRoZSBpbmZvIHN0b3JlZCBpbiBiYXNlIHdoZW4gZGVtdXhlciBpcwoJICBnb2luZyB0byBwdXNoIGRhdGEgYWdhaW4gaWYgbmVlZGVkLgoJICBEcm9wIGNvZGUgdG8gcmVjb3ZlciB0aGUgc2VnbWVudCBpbmZvIGZyb20gYmFzZSBpbiB0aGUgaW5pdGlhbCBwcm9ncmFtCgkgIGJlY2F1c2VzIGl0J3Mgc3VwZXJzZWRlZCBieSB0aGUgbmV3IGNvZGUuCgoyMDEyLTExLTE0IDEyOjQxOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIC0+IGdzdF9hZGFwdGVyX3ByZXZfcHRzCgoyMDEyLTExLTE0IDExOjM1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBkaXN0IGFsbCBoZWFkZXIgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkCgoyMDEyLTExLTE0IDEwOjQ2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkgIGFjY3VyaXA6IGZpeCBsaW5rZXIgZmxhZ3MKCSAgU3BvdHRlZCBieSBSaWNvIFR6c2NoaWNoaG9sei4KCjIwMTItMTEtMTEgMTI6NDY6NDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IHRoZSBzdHJlYW0gc29tZSBtb3JlIGluIHRoZSBmbHVzaGVzCgkgIE5vdyB0aGF0IHdlIGhhbmRsZSBmbHVzaGluZyBpbiB0aGUgRkxVU0hfU1RPUCBldmVudCB3ZSBuZWVkIHRvIG1ha2UKCSAgdGhlIHN0cmVhbXMgcmVhZHkgaWYgdGhleSB3ZXJlIGZsdXNoaW5nLgoKMjAxMi0xMS0xMSAxMjo0NTowMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZmx1c2ggb2JzZXJ2YXRpb25zIHRvbwoJICBGbHVzaCB0aGUgcHJldmlvdXMgb2JzZXJ2YXRpb25zIHdoZW4gdGhlIHBhY2tldGl6ZXIgaXMgZmx1c2hlZC4KCSAgQWxzbyBkb24ndCBsZWFrIHRoZW0gaW4gdGhlIGRpc3Bvc2UuCgoyMDEyLTExLTEwIDIwOjQ0OjQ0ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBmaXggZG91YmxlIHVucmVmIG9mIHNlZWsgZXZlbnQKCjIwMTItMTEtMTAgMjA6MzA6MTMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGZsdXNoIGluIEZMVVNIX1NUT1AgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCgkgIEVuc3VyZSB0aGUgY2hhaW4gaXMgbm90IHJ1bm5pbmcgYmVmb3JlIHJlc2V0IHRoZSBzdGF0ZSB0byBhdm9pZCByYWNlCgkgIGNvbmRpdGlvbnMgYW5kIHJhbmRvbSBjb3JydXB0aW9ucyBkb3duc3RyZWFtLgoJICBBbHNvIGZpeGVzIHNlZ2ZhdWx0cyBpbiB0aGUgcGFja2V0aXplciBkdWUgd3JvbmcgYXZhaWxhYmxlIHZhbHVlcyB0aGF0CgkgIGNhdXNlcyBnc3RfYWRhcHRlcl9tYXAgdG8gcmV0dXJuIGEgTlVMTCBwb2ludGVyLgoKMjAxMi0xMS0xMiAxNDo1NjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBGaXggcmVmY291bnQgcHJvYmxlbSB3aXRoIGZyYW1lcyBiZWluZyBkcm9wcGVkIGJlY2F1c2Ugb2YgZGVjb2RlciBidWdzCgoyMDEyLTExLTEyIDExOjQ4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgbmV3IEdUeXBlIGZvciBHVGhyZWFkIGluc3RlYWQgb2YganVzdCBHX1RZUEVfUE9JTlRFUgoKMjAxMi0xMS0xMiAxMTozMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogVXBkYXRlIHRvIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMTEtMTAgMTk6NTI6NDYgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJldmVydCAidHNwYWNrZXRpemVyOiBlbnN1cmUgdGhhdCBhIG51bGwgcG9pbnRlciBpc24ndCBhY2Nlc3NlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZWZkNjExYjhjNmY0M2Y2N2EyZjkzZjg0NDVjMTg5ZTI0OTYxYWJkLgoJICBBbHNvIHRoaXMgZXh0cmEgY2hlY2sgd29uJ3QgYmUgbmVlZGVkIGlmIGl0J3MgZml4ZWQgdGhlIHJhY2UgYnkgbW92aW5nCgkgIGZsdXNoIGFjdGlvbnMgdG8gRkxVU0hfU1RPUC4KCjIwMTItMTEtMTAgMTk6NDY6NDAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIFJldmVydCAidHNiYXNlOiBhZGQgYSBndWFyZCB3aXRoIGFuIGF0b21pYyBib29sZWFuIHdoZW4gZmx1c2hpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTE0ZTMxMGY3MTc4YWE4YzAyMGY1OTNlM2Y3MWVjOTJjYTI1MzFmNy4KCSAgV291bGQgYmUgYmV0dGVyIG1vdmUgdGhlIHBhY2tldGl6ZXIgZmx1c2hpbmcgdG8gRkxVU0hfU1RPUCBhbmQgYXZvaWQKCSAgdGhlIHJhY2UgdGhhdCB3YXkuIFdpdGhvdXQgaW50cm9kdWNpbmcgYSBtZW1vcnkgYmFycmllciB0aGF0IGNvdWxkCgkgIGhhdmUgaW1wYWN0IGluIHRoZSBwZXJmb3JtYW5jZS4KCjIwMTItMTEtMTAgMTQ6NDM6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy8uZ3N0aGxzZGVtdXguYy5zd3A6CgkqIGdzdC9obHMvLmdzdGhsc3NpbmsuYy5zd3A6CgkgIGhsc3Npbms6IHJlbW92ZSB2aW0gLnN3cCBmaWxlcyB0aGF0IEkganVzdCBjb21taXR0ZWQgYWNjaWRlbnRhbGx5Li4uCgoyMDEyLTExLTEwIDE0OjI2OjQ2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvLmdzdGhsc2RlbXV4LmMuc3dwOgoJKiBnc3QvaGxzLy5nc3RobHNzaW5rLmMuc3dwOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSAgaGxzc2luazogcG9ydCB0byAxLjAKCjIwMTItMTAtMjggMjE6Mjk6MzEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBjdXQgc2VnbWVudHMgdXNpbmcgdGhlIHJ1bm5pbmctdGltZQoKMjAxMi0wOS0wOSAyMTo1Njo0MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG9uJ3QgdW5yZWYgLT5tdWx0aWZpbGVzaW5rLgoJICBXZSBnc3RfYmluX2FkZCBpdCB0byBvdXJzZWxmIHNvIG5vIG5lZWQgdG8gdW5yZWYgaW4gX2Rpc3Bvc2UuCgoyMDEyLTA5LTA5IDIxOjU2OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZXdvcmsgX3Jlc2V0IGEgYml0CgoyMDEyLTExLTEwIDAwOjA4OjM1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICB0c2Jhc2U6IGFkZCBhIGd1YXJkIHdpdGggYW4gYXRvbWljIGJvb2xlYW4gd2hlbiBmbHVzaGluZwoKMjAxMi0xMS0wOSAyMjoxNzoxMSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNwYWNrZXRpemVyOiBlbnN1cmUgdGhhdCBhIG51bGwgcG9pbnRlciBpc24ndCBhY2Nlc3NlZAoJICBNaXRpZ2F0ZXMgc2VnZmF1bHQgZHVlIHJhY2UgY29uZGl0aW9uIGluIEZMVVNIX1NUQVJUIGhhbmRsaW5nIGFuZAoJICBtcGVndHNfYmFzZV9jaGFpbi4KCjIwMTItMTEtMDggMTc6MTU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBPbmx5IHVzZSB0aW1lc3RhbXAtYmFzZWQgUENSL1BUUyBlc3RpbWF0aW9uIHdoZW4gbmVlZGVkCgkgIFdoZW4gZGVhbGluZyB3aXRoIG5vbi10aW1lIGJhc2VkIHB1c2gtbW9kZSBzdHJlYW1zLCB3ZSBuZWVkIHRvIHJldmVydAoJICB0byB1c2luZyB0aGUgb2Zmc2V0LWJhc2VkIFBDUi9QVFMgZXN0aW1hdGlvbiBsb2dpYyBvZiBwYWNrZXRpemVyLgoJICBUaGlzIHNvbHZlcyB1c2VzIGNhc2VzIHN1Y2ggYXM6CgkgIHB1c2hmaWxlOi8vICEgdHNkZW11eAoJICBzcmMgISBxdWV1ZSAhIHRzZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3OAoKMjAxMi0xMS0wOCAxMjoxMjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgIGRvY3M6IEFkZCBtaXNzaW5nIHBsdWdpbiBpbnNwZWN0aW9uIGZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjg3ODQwLgoKMjAxMi0xMS0wNyAyMDo1MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgY291cnRlc3kgb2YgYXV0b3VwZGF0ZQoKMjAxMi0xMS0wNyAyMDo0ODozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxldCBBR19HU1RfUExVR0lOX0RPQ1MgY2hlY2sgZm9yIHB5dGhvbgoJICBBbmQgdXBkYXRlIGNvbW1vbiBmb3IgbW92ZSBmcm9tIEFTX1BBVEhfUFlUSE9OIHRvIEFNX1BBVEhfUFlUSE9OLAoJICB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IHNob3VsZCBwaWNrIHVwIG5ld2VyIHB5dGhvbiB2ZXJzaW9ucyBhcwoJICB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzOTAzCgoyMDEyLTExLTA2IDIwOjUxOjEwICswMDAwICBLZXZpbiBUaG9ybmJlcnJ5IDxnaW1tZWFtaWxrYnR0ZkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBEVFMgdmFsdWUgYmVpbmcgdXNlZCBmb3IgUFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc4MDYKCjIwMTItMTEtMDYgMTI6NDA6MDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgcmV3aW5kIHRvIHRoZSBOQUwgbGVuZ3RoIHNpemUgaW4gYnl0ZXdyaXRlciBpZiB0aGUgZm9ybWF0IGlzIGJ5dGVzdHJlYW0KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzU0OAoJICBTaWduZWQtb2ZmLWJ5OiAgS2V2aW4gVGhvcm5iZXJyeQoKMjAxMi0xMS0wNiAxMTo1NDozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBY3R1YWxseSBhZGQgUFBTIGRhdGEgdG8gdGhlIG91dHB1dCBidWZmZXIKCjIwMTItMDktMjggMTI6MzY6NTUgLTA0MDAgIFdpbGwgVGhvbXBzb24gPHdpbGwudGhvbXBzb25AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBhZGQgYSBwbGF5bGlzdC1sZW5ndGggcHJvcGVydHkKCSAgUHJvYmFibHkgbm90IHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gZ2VuZXJhbCwgYnV0IGhhbmR5CgkgIHRvIGN1dCBkb3duIHRoZSBsYXRlbmN5IG9uIGEgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTEwLTI5IDEzOjI0OjI1ICswMDAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZXNldCB3aGVuIGdvaW5nIHRvIE5VTEwgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0wOC0yMSAyMzoyMjoxOSAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogRml4IHNlZ21lbnQgbmFtZXMgb24gcGxheWxpc3QKCSAgV2hlbiB0aGUgcGxheWxpc3Qtcm9vdCBpcyBub3Qgc2V0LCB0aGUgc2VnbWVudCBuYW1lIG11c3Qgbm90IGJlCgkgIGFwcGVuZGVkIGJ5IHRoZSBwYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9yYW5kb20vTElDRU5TRToKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmg6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3MuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5oaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmg6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmhoOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmg6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmg6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSogZ3N0L212ZS9tdmUuaDoKCSogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJKiBnc3QvbnNmL2RpczY1MDIuaDoKCSogZ3N0L25zZi9mZHNfc25kLmM6CgkqIGdzdC9uc2YvZmRzX3NuZC5oOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5oOgoJKiBnc3QvbnNmL2xvZy5jOgoJKiBnc3QvbnNmL2xvZy5oOgoJKiBnc3QvbnNmL21tYzVfc25kLmM6CgkqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkqIGdzdC9uc2YvbmVzNjUwMi5oOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uZXNfYXB1Lmg6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9uc2YvbnNmLmg6CgkqIGdzdC9uc2Yvb3NkLmg6CgkqIGdzdC9uc2YvdHlwZXMuaDoKCSogZ3N0L25zZi92cmM3X3NuZC5jOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSogZ3N0L25zZi92cmN2aXNuZC5oOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5oOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4Lmg6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4Lmg6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbl9jb25zdHMuaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3NpcmVuL3NpcmVuNy5oOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJKiBnc3Qvc3BlZWQvZGVtby1tcDMuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5oOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5oOgoJKiBnc3QvdHRhL2NyYzMyLmg6CgkqIGdzdC90dGEvZ3N0dHRhLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuaDoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJKiBzeXMvZHZiL2NhbS5jOgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuaDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkqIHN5cy9keHIzL2R4cjNjb21tb24uaDoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4Lmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0LmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuaDoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlld2ZpbmRlcmJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQQ2xpZW50UGxheU1pYy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BTZXJ2ZXJTZW5kTVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUENsaWVudFBsYXlNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDMgMTM6NTE6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogZml4IHdhcm5pbmdzIGFuZCBidWlsZCBhZ2FpbnN0IG9wZW5jdiAyLjQueAoJICBnc3RweXJhbWlkc2VnbWVudC5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B5cmFtaWRfc2VnbWVudF9jaGFpbic6CgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6MzA3OjM6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbgoJICAnY3ZQeXJTZWdtZW50YXRpb24nIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQoJICBnc3RweXJhbWlkc2VnbWVudC5jOjMwNzozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZgoJICAnY3ZQeXJTZWdtZW50YXRpb24nIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjM3CgoyMDEyLTExLTAyIDEzOjQ0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBzY2FsZXRlbXBvOiBVc2UgYSBiZXR0ZXIgcGx1Z2luIGZpbGVuYW1lCgoyMDEyLTExLTAyIDExOjI5OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgbW9yZSBjb25zdGFudHMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcwoKMjAxMi0xMS0wMiAxMToyNDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZW5hYmxlZAoKMjAxMi0xMS0wMSAyMDo1MDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcmVtb3ZlIGFuZCBtb3ZlIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjMKCjIwMTItMTEtMDEgMTU6MzY6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMi0xMS0wMSAxNTozNToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogTWFrZSBzdXJlIHRvIG9ubHkgZXZlciBjcmVhdGUgYSBzaW5nbGUgZW5naW5lIG9iamVjdAoJICBUaGUgT3BlblNMIEVTIHNwZWMgZGVmaW5lczoKCSAgQW4gaW1wbGVtZW50YXRpb24gc2hhbGwgZW5hYmxlIGNyZWF0aW9uIG9mIGF0IGxlYXN0IG9uZSBzdWNoIG9iamVjdCwgYnV0CgkgIGF0dGVtcHRpbmcgdG8gY3JlYXRlIG1vcmUgaW5zdGFuY2VzIChlaXRoZXIgYnkgYSBzaW5nbGUgYXBwbGljYXRpb24gb3IgYnkKCSAgc2V2ZXJhbCBkaWZmZXJlbnQgYXBwbGljYXRpb25zKSBtYXkgZmFpbC4KCjIwMTItMTAtMzEgMjA6MDA6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTa2lwIEFyaWNlbnQgY29kZWNzIGZvciBub3cKCSAgVGhlIEhUQyBPbmUgWCBjbGFpbXMgdG8gaGF2ZSBvbmUgKGJ1dCBkb2Vzbid0KSBhbmQgbG9hZGluZwoJICB0aGUgbGlicmFyeSBmb3IgaXQgaGFuZ3MgZm9yZXZlci4KCjIwMTItMTEtMDEgMTM6NTE6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFBvc3Qgc3RyZWFtLXN0YXR1cyBtZXNzYWdlcyBmb3Igb3VyIHJlbmRlciB0aHJlYWQKCjIwMTItMTAtMzEgMTM6NTQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IElmIHB1c2hpbmcgYW4gaXRlbSBvbiB0aGUgcXVldWUgZmFpbHMsIGZyZWUgaXQKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIGxlYWsgdGhlIGl0ZW0uCgoyMDEyLTEwLTMxIDExOjM4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvcGVuY3YgcGx1Z2luIGJ1aWxkcyB3aXRoIG5ld2VyIHZlcnNpb25zIHVwIHRvIDIuNC4yIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzIzNwoKMjAxMi0xMC0zMCAxOTozMDozOCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBOZWdvdGlhdGUgZm9ybWF0LCBhbHNvIHN1cHBvcnQgbW9yZSByZXNvbHV0aW9ucwoJICBUaGlzIHNob3VsZCBlbmFibGUgc3VwcHJ0IGZvciBvbGQgYW5kIG5ldyBpUGhvbmVzIHdpdGggdGhlIHNhbWUgY29kZS4KCjIwMTItMTAtMzAgMDk6Mjc6MjQgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiByZW1vdmVkIHVubmVjZXNzYXJ5IGZpbmFsaXplIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNzYKCjIwMTItMTAtMzAgMTA6MjA6MDkgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBGaXggbGVha3MgZnJvbSBub3QgY2hhaW5pbmcgdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uCgoyMDEyLTEwLTIyIDEyOjM2OjI4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogU2xpZ2h0bHkgcmVmbG93IGNvbGxlY3RlZCBidWZmZXIgaGFuZGxlciBmb3IgY2xhcml0eS4KCjIwMTItMTAtMjYgMTg6Mjk6MzIgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IG5hbWUgb2YgQ0FUIEdzdFN0cnVjdHVyZQoJICBUaGUgc3RydWN0dXJlIHByZXZpb3VzbHkgd2FzIGFzc2lnbmVkIHRoZSBuYW1lICJwYXQiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTQ4CgoyMDEyLTEwLTI4IDE2OjQxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkgIGRvY3M6IGFkZCBuZXcgYWNjdXJpcCBlbGVtZW50IHRvIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE2MwoKMjAxMi0xMC0yOCAxNjozNjowMSArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5oOgoJICBhY2N1cmF0ZXJpcDogbmV3IGVsZW1lbnQgZm9yIEFjY3VyYXRlUmlwIGNhbGN1bGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNjMKCjIwMTItMTAtMjYgMTM6NDg6MDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmOiBQb3J0IG14ZmRlbXV4IHRvIDEuMCBBbHNvIHBvcnRzIG14Zm11eCB0byAxLjAgdG8gdGhlIGV4dGVudCB0aGF0IGl0IGNvbXBpbGVzLCBidXQgaXMgMTAwJSB1bnRlc3RlZCwgc28gcmVtYWlucyBkaXNhYmxlZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214ZmRlbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoKMjAxMi0xMC0yNSAxOToxMDo0MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBhIG51bWJlciBvZiB3YXJuaW5ncy9lcnJvcnMgaW4gZGlyZWN0c291bmRzcmMKCSAgKiBEb24ndCB1c2UgZGVwcmVjYXRlZCBnbGliIG11dGV4IGZ1bmN0aW9ucwoJICAqIERvbid0IGRlY2xhcmUgdXNlbGVzcyB2YXJpYWJsZXMKCSAgKiBEb24ndCBsaW5rIHRvIG5vbi1leGlzdGluZyBsaWJnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2ODY4NzEKCjIwMTItMTAtMjUgMTc6NTA6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBwYXJzZWQgb3IgdXBzdHJlYW0gZnBzIHRvIHNldCBzb21lIGJhc2VwYXJzZSBwYXJhbWV0ZXJzCgoyMDEyLTEwLTI1IDE4OjAyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXh0cmFjdCBzdHJ1Y3R1cmUgZnJvbSBjb3JyZWN0IGNhcHMKCSAgLi4uIHdoaWNoIGFyZSBrbm93biAhPSBOVUxMLgoKMjAxMi0xMC0yNSAxMTozMTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcHJlc2VydmUgdXBzdHJlYW0gZnBzIGFuZCBwYXIKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDg2NgoKMjAxMi0xMC0yNSAxNDoyODo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0xMC0yNSAxMjowNjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEhhbmRsZSBHQVAgZXZlbnRzCgoyMDEyLTEwLTE4IDE2OjIzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAxMTo0MTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGNyb3AgbWV0YWRhdGEKCjIwMTItMTAtMjIgMTE6MTg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDEzOjIxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1lbWJlciBhbmQgdXNlIGlucHV0IHN0YXRlCgoyMDEyLTEwLTE4IDE2OjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIzIDEyOjEwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZjMXBhcnNlOiBHaXZlIHZjMXBhcnNlIGEgcmFuayBvZiBOT05FIGZvciBub3cKCjIwMTItMTAtMTUgMDk6MTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBQb3J0IHRvIDEuMAoKMjAxMi0wMi0yMyAxMzo0ODo1NyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGRpc2FibGUgQkRVIHBhcnNpbmcgdW50aWwgaXQncyBtb3JlIG1hdHVyZQoJICBQYXJzaW5nIGFuZCBzcGxpdHRpbmcgQkRVcyBzZWVtcyB0byB0cmlnZ2VyIGEgZmV3IGJ1Z3MgaW4KCSAgZG93bnN0cmVhbSBkZWNvZGVycyBzbyBkaXNhYmxlIGl0IGZvciBub3cuCgoyMDEyLTEwLTE0IDExOjM5OjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBzZXQgZHVyYXRpb24gb24gb3V0cHV0IGJ1ZmZlcnMKCSAgVGhpcyBoYXMgdGhlIG5pY2Ugc2lkZSBlZmZlY3Qgb2YgYXZvaWRpbmcgaGFuZ2luZyBhdCBFT1Mgd2l0aCB0cnVuY2F0ZWQgYXNmCgkgIGNsaXBzLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYwoKMjAxMi0wMS0zMSAxMTowMzo0NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHdvcmthcm91bmQgZm9yIHNpbXBsZS9tYWluIGNvZGVjX2RhdGEgYmVpbmcgNSBieXRlcyBsb25nCgkgIFNvbWV0aW1lcyB0aGUgY29kZWNfZGF0YSBidWZmZXIgZm9yIHNpbXBsZS9tYWluIHB1c2hlZCBieSBhc2ZkZW11eCBpcyA1IGJ5dGVzCgkgIGluc3RlYWQgb2YgNC4gV2hlbiB0aGF0IGhhcHBlbnMsIGNvZGVjX2RhdGEgaXMgc3RpbGwgdmFsaWQgYnV0IGl0IHNlZW1zIHRvIGhhdmUKCSAgb25lIDB4MDAgdHJhaWxpbmcgYnl0ZS4gTWlnaHQgYmUgYSBidWcgaW4gdGhlIGRlbXV4ZXIsIG5lZWRzIG1vcmUgaW52ZXN0aWdhdGlvbi4KCjIwMTItMDEtMzEgMTE6MDI6MTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiByZW1vdmUgc3R1YiBzdHJlYW0gY29udmVyc2lvbiBjb2RlCgoyMDEyLTAxLTMxIDExOjAwOjU1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgdG8gX3JlbmVnb3RpYXRlCgoyMDEyLTAxLTMxIDEwOjU4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2YzFwYXJzZTogQWRkIFZDMSBwYXJzZXIgcGx1Z2luCgoyMDEyLTEwLTI1IDEyOjQ2OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMC4yID09PQoKMjAxMi0xMC0yNSAwMTo0NDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4yCgoyMDEyLTEwLTI0IDIzOjQwOjIwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeGVkIGJ1ZmZlciB1bm1hcHBpbmcgYnVnCgkgIFdoZW4gdGhlIGRlY29kZXIgcmVjZWl2ZWQgYSBOVUxMIGJ1ZmZlciwgaXQgdHJpZWQgdG8KCSAgdW5tYXAgYSBub3QgbWFwcGVkIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgyOQoKMjAxMi0xMC0yNCAxNDoyMzoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSB3YXlsYW5kID49IDEuMC4wCgkgIFdlIGhhdmUgYW4gQVBJIHN0YWJsZSByZWxlYXNlIG5vdywgcmVxdWlyZSB0aGF0LgoKMjAxMi0xMC0yNCAxMzo0MTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggdXAgbXBnMTIzIHRlc3QgYSBsaXR0bGUKCSAgLSBkaXN0IGlucHV0IGZpbGVzCgkgIC0gZml4IHNhbXBsZSBsZWFrCgkgIC0gc2ltcGxpZnkgY2hlY2sgZm9yIGVsZW1lbnRzCgkgIC0gb25seSBydW4gbXBnMTIzIHRlc3QgaWYgbXBnMTIzIGlzIGF2YWlsYWJsZSBhbmQgc2VsZWN0ZWQKCSAgLSBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMjozMDoxMCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2Nicl9zdHJlYW0ubXAzOgoJKiB0ZXN0cy9maWxlcy9zdHJlYW0ubXAyOgoJKiB0ZXN0cy9maWxlcy92YnJfc3RyZWFtLm1wMzoKCSAgdGV0czogYWRkIHVuaXQgdGVzdCBmb3IgbXBnMTIzYXVkaW9kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDozNjo0MiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGFkZGVkIGd0a2RvYyBzZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjI6MDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXhlZCBidWcgd2l0aCBsYXN0IGZyYW1lLCBkaXNhYmxlZCBpbnRlcm5hbCByZXNhbXBsZXIgJiBjaGF0dGVyCgkgICogVGhlIGxhc3QgTVAzIGZyYW1lIHdhc24ndCBiZWluZyBwdXNoZWQgd2hlbiBiYXNlIGNsYXNzIHdhcyBkcmFpbmluZwoJICAqIE1hZGUgc3VyZSBtcGcxMjMgY2Fubm90IGV2ZXIgdXNlIGl0cyAoY3J1ZGUpIGludGVybmFsIHJlc2FtcGxlcgoJICAqIERpc2FibGVkIG1wZzEyMyBzdGRlcnIgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjE6NDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBjbGVhbmVkIHVwIGNvbW1lbnRzLCBmb3JtYXR0aW5nLCBhbmQgbG9nZ2luZyBsaW5lcwoJICBhbHNvIHJlcGxhY2VkIG1wZzEyM2RlY29kZXItPmhhbmRsZSAhPSBOVUxMIGNoZWNrcyB3aXRoIGFzc2VydHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMTozNDozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBhZGQgY29tbWVudCBkZXNjcmliaW5nIGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY3NzQKCjIwMTAtMDctMDIgMTU6Mjg6NDEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNoZWNrIGJhc2VfdGltZSBiZWZvcmUgY2FsY3VsYXRpbmcgbmV3X3N0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzODcKCjIwMTItMTAtMjMgMTQ6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggZXZlbnQgbGVhawoKMjAxMi0xMC0yMyAxNDozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCB0aW1lc3RhbXAgdHJhY2tpbmcKCjIwMTItMTAtMjMgMTQ6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yMyAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogU3RvcmUgaW5zdGFuY2UgcHJpdmF0ZSBkYXRhIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgR2V0dGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHZpYSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKQoJICBpcyByZWFsbHkgc2xvdy4KCjIwMTItMTAtMjMgMTA6MDc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBMaW5rIHRvICQoTElCTSkgZm9yIGlzZmluaXRlKCkKCjIwMTItMTAtMjIgMjE6NDE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IGZpeCBmb3Igc3RhcnQgdGltZXMgPiAwCgkgIEZpeGVzIGJ1ZmZlcmluZyBhbmQgcGxheWJhY2sgb2Ygc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGgKCSAgYSBub24tMCB0aW1lc3RhbXAgaW4gdG90ZW0gKHdoaWNoIGhhcyBhICdwaXRjaCcgZWxlbWVudAoJICBiZWZvcmUgcHVsc2VzaW5rKS4KCSAgRXhhbXBsZSBVUkk6IGh0dHA6Ly9sb2Jvc3R2LmxvYm9jYXN0Lm9yZy5lczo4MDA0L2xvYm9zdHYub2dnCgkgIFN0aWxsIGJyZWFrcyB3aXRoIGNoYWluZWQgb2dncywgb24gc2Vjb25kIGNoYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzkxCgoyMDEyLTEwLTIyIDEyOjA4OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNhcHMgc2VyaWFsaXphdGlvbgoJICBSZW1vdmUgdGhlIGNhcHMgc2VyaWFsaXphdGlvbiBpbiB0aGUgcnRwIGNhcHMuIHRoZSBzcGVjIG5vciB0aGUgcmVjZWl2ZXIKCSAgZG9lcyBhbnl0aGluZyB3aXRoIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTQ3CgoyMDEyLTEwLTIyIDEwOjQ1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJICBzdWJlbmM6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDAxOjM5OjEzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IERvbid0IG1ha2UgdGhlIHNhbWUgYnVmZmVyIHdyaXRhYmxlIHR3aWNlLgoJICBGaXhlcyBCdWcgNjg2MzI3IC0gbXBlZ3RzbXV4OiBmaXggcmVmY291bnQgaXNzdWUgd2l0aCBpbnB1dCBidWZmZXJzCgoyMDEyLTEwLTIwIDE0OjU1OjQxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmQ6IHVwZGF0ZSB0byB3YXlsYW5kLXByb3RvY29sIDAuOTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjUyMAoKMjAxMi0xMC0xOCAyMjoyMzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZvcndhcmQgbm9uLXByb2Nlc3NlZCBkdmQgZXZlbnRzCgkgIC4uLiBzdWNoIGFzIG5vdGFibHkgZHZkLXNwdS1jbHV0LWNoYW5nZS4KCjIwMTItMTAtMTggMjI6MjI6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZWdtZW50IGV2ZW50IHNob3VsZCBiZSBzZW50IGJlZm9yZSBnYXAgZXZlbnQKCjIwMTItMTAtMTkgMDk6NTk6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHRyeSB0byByZW5kZXIgZXhwb3NlKCkgaWYgbm8gY2FwcyBhcmUga25vd24geWV0CgoyMDEyLTEwLTE4IDE1OjEyOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZXhwb3NlCgoyMDEyLTEwLTE5IDAxOjAzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IGZpeCBwcm9ncmFtIHBhY2tldCBzZXF1ZW5jZSBjb3VudGVyIHBhcnNpbmcgaW4gUEVTIGhlYWRlcgoKMjAxMi0xMC0xOSAwMDo0Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBmaXggc29tZSBpbmNvbnNlcXVlbnRpYWwgUEVTIGhlYWRlciBwYXJzaW5nIGlzc3VlcwoJICBhZGRpdGlvbmFsX2NvcHlfaW5mbzogbmVlZCB0byBnZXQgcmlkIG9mIHRoZSBoaWdoZXN0CgkgIGJpdCwgbm90IHRoZSBsb3dlc3Qgb25lCgkgIHByb2dyYW1fcGFja2V0X3NlcXVlbmNlX2NvdW50ZXI6IGFsc28gbmVlZCB0byBnZXQgcmlkCgkgIG9mIHRoZSBoaWdoZXN0IGJpdCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5nIHdpdGggYSByYW5kb20KCSAgdmFsdWUKCSAgb3JpZ2luYWxfc3R1ZmZfbGVuZ3RoOiB3YW50IHRvIEFORCAweDNmIHRvIGV4dHJhY3QgdGhlCgkgIGxvd2VzdCA2IGJpdHMsIG5vdCBtdWx0aXBseSBieSBpdC4KCSAgTm9uZSBvZiB0aGVzZSBmaWVsZHMgYXJlIGFjdHVhbGx5IHVzZWQgdGhvdWdoLCBzbyB0aGVzZQoJICBzaG91bGQgbm90IGhhdmUgY2F1c2VkIGFueSBpc3N1ZXMuCgoyMDEyLTEwLTE3IDE1OjU0OjMyICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBGaXggcGFyc2luZyBQLVNURF9idWZmZXIgaW4gUEVTIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2Mjk0CgoyMDEyLTEwLTE4IDE4OjU2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICB3YXlsYW5kOiBkb24ndCB0cnkgdG8gYnVpbGQgYWdhaW5zdCAwLjk5IG9yIGxhdGVyCgkgIFRoZSBwbHVnaW4gbmVlZHMgdXBkYXRpbmcgZm9yIHNvbWUgQVBJIGNoYW5nZXMgc2luY2UgMC45NS4KCjIwMTItMTAtMTggMDE6NDc6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwcm9ncmFtIHBvaW50ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjM1OAoKMjAxMi0xMC0xOCAxNTowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5zbGVzOiBPbmx5IGNoZWNrIGZvciB0aGUgbWFpbiBvcGVuc2xlcyBoZWFkZXIKCjIwMTItMTAtMTggMTQ6Mzg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2xnbGVzc2luazogUHV0IGludG8gdGhlIG5vdC1wb3J0ZWQgcGx1Z2lucyBsaXN0CgoyMDEyLTEwLTE4IDE0OjI1OjA1ICswMjAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogSG9vayBlZ2xnbGVzc2luayBkb2N1bWVudGF0aW9uIGluCgoyMDEyLTEwLTE4IDE0OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIGNvbXBpbGFibGUgb24gZGVza3RvcCBMaW51eCB3aXRoIE1FU0EgdG9vCgoyMDEyLTEwLTE4IDE0OjA3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCSAgQ29uZmxpY3RzOgoJICBleHQvTWFrZWZpbGUuYW0KCjIwMTItMTAtMTggMTA6NDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTItMTAtMTggMTA6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY2xlYXIgdGhlIHN1cmZhY2Ugb25jZSB3aGVuIHRoZSBidWZmZXIgY29udGVudCBpcyBwcmVzZXJ2ZWQKCjIwMTItMTAtMTggMTA6MjA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgZHJhdyBibGFjayBib3JkZXJzIGlmIHRoZSBkZWZhdWx0IHN3YXAgYmVoYXZpb3VyIG9mIHRoZSBzdXJmYWNlIGlzIHRvIGRlc3Ryb3kgdGhlIGJ1ZmZlcgoKMjAxMi0xMC0xOCAwOTozNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVudXNlZCBsYWJlbAoKMjAxMi0xMC0xOCAwMjoyNjoxNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGYWN0b3IgZGlzcGxheSByZWdpb24gcmVzZXQgdG8gaXRzIG93biBmdW5jCgoyMDEyLTEwLTE4IDAxOjQ1OjUxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsd2F5cyBSZXNldCBkaXNwbGF5X3JlZ2lvbi4qIGF0IEVHTC9HTEVTIGN0eCB3aXBlCgoyMDEyLTEwLTE4IDAxOjM2OjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZhY3RvciBFTEcvR0xFUyBjb250ZXh0IGNsZWFudXAgaW50byBpdHMgb3duIGZ1bmMKCjIwMTItMTAtMTggMDA6MzM6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRHJvcCBkcmFmdGVkIGZhc3QgcmVuZGVyaW5nIHBhdGggbG9naWMKCjIwMTItMTAtMTcgMTU6NTA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gdXBkYXRlIGhlYWRlciBmaWxlCgoyMDEyLTEwLTE3IDE1OjM3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm92aWRlIHRoZSB0ZXh0dXJlIHBvc2l0aW9ucyB0byB0aGUgc2hhZGVyIG9uIGV2ZXJ5IGZyYW1lIHRvbwoKMjAxMi0xMC0xNyAxNTowNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJhdyBibGFjayBib3JkZXJzIGFuZCBhbHNvIHVzZSBhIHNpbmdsZSBHTCBidWZmZXIgZm9yIGFsbCB2ZXJ0aWNlcwoJICBGaXhlcyB3ZWlyZCBhcnRpZmFjdHMgb3V0c2lkZSB0aGUgdmlkZW8gZnJhbWUgb24KCSAgUXVhbGNvbW0gU25hcGRyYWdvbiBjaGlwc2V0cyBhbmQgc2hvdWxkIGJlIGZhc3RlcgoJICB0aGFuIGdsQ2xlYXIoKSBvbiB0aGUgY29tcGxldGUgYXJlYSBhbGwgdGhlIHRpbWUuCgoyMDEyLTEwLTE3IDEyOjQ5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWVtb3J5IGxlYWsKCjIwMTItMTAtMTcgMTA6NDc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1c2VsZXNzIGRlYnVnIG91dHB1dCBhZGRlZCBmb3IgZGVidWdnaW5nIGVhcmxpZXIKCjIwMTItMTAtMTcgMTA6MDg6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugd2luZG93IHNldHRpbmcvaGFuZGxpbmcgYSBiaXQgbW9yZSB0aHJlYWRzYWZlCgoyMDEyLTEwLTE3IDA5OjU5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmludCB3aW5kb3cgaGFuZGxlIGFmdGVyIHNldHRpbmcgaXQKCjIwMTItMTAtMTYgMTc6NTA6MDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBEQVIgcXVlcnkgJiBzdG9yZSB0byBzdXJmYWNlIGluaXQKCSAgVGhlIERBUiAoZGlzcGxheSdzIHBpeGVsIGFzcGVjdCByYXRpbykgc2hvdWxkIHJlbWFpbiBhCgkgIGNvbnN0YW50IGF0IHJ1bnRpbWUgc28gdGhlcmUncyBubyBwb2ludCBvbiByZXBlYXRlZGx5CgkgIHF1ZXJ5IGFuZCBzdG9yZSB0aGlzIHZhbHVlLiBEb2luZyBpdCBhdCBzdXJmYWNlIHNldHVwCgkgIHNob3VsZCBiZSBlbm91Z2guIEFzIGFuIGFkZGVkIGJvbnVzIHRoaXMgY2hhbmdlIHNob3VsZAoJICBtYWtlIHJlbmRlcmluZyBhIGJpdCBmYXN0ZXIuCgoyMDEyLTEwLTE2IDE3OjM1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBzaWduYWwgdGhlIEdDb25kIHRvbyBvZnRlbgoKMjAxMi0xMC0xNiAxNzowNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIG15c2VsZiBhcyBhdXRob3IKCjIwMTItMTAtMTYgMTY6MjU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgcmVzZXQgdGhlIGRpc3BsYXkgcmVnaW9uIGluIHN0YXJ0KCkKCjIwMTItMTAtMTYgMTY6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY29tbWl0IG1pc3NpbmcgY2hhbmdlcyB0byB0aGUgaGVhZGVyIGZpbGUKCjIwMTItMTAtMTYgMTY6MTg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGluY2x1ZGUgJChHU1RfQkFTRV9DRkxBR1MpCgoyMDEyLTEwLTE2IDE2OjEyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggcmFjZSBjb25kaXRpb24KCjIwMTItMTAtMTYgMTU6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlZmFjdG9yIHJlbmRlcmluZyBhbmQgYWxsIGNvbnRleHQgc3BlY2lmaWMgR0wgdGhpbmdzIGludG8gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgQWxzbyBmaXhlcyBzb21lIHRocmVhZGluZyByZWxhdGVkIHByb2JsZW1zLgoKMjAxMi0xMC0xNiAxNDozOTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmUtYWRkIGFjY2lkZW50aWFsbHkgcmV2ZXJ0ZWQgY29tbWl0CgoyMDEyLTEwLTE2IDE0OjE1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW5uZWVkZWQgZmxvd19sb2NrCgkgIFVzZSB0aGUgb2JqZWN0IGxvY2sgaW4gdGhlIGZldyBwbGFjZXMgbmVjZXNzYXJ5LCBldmVyeXRoaW5nCgkgIGVsc2UgaXMgcHJvdGVjdGVkIGJ5IG90aGVyIHRoaW5ncyBhbHJlYWR5LgoJICBBbHNvIHN0b3JlIHRoZSBjb250ZXh0IGRpcmVjdGx5IGluc2lkZSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIGluc3RlYWQgb2YgYWxsb2NhdGluZyBzb21lIG1lbW9yeSBmb3IgaXQuCgoyMDEyLTEwLTE2IDExOjUzOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZGVidWcgb3V0cHV0IGFuZCBjb25zdGFudCBuYW1lcwoKMjAxMi0xMC0xNiAxMTo1MToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogc3RhcnQoKS9zdG9wKCkgaXMgY2FsbGVkIGluIFJFQURZPC0+TlVMTCBpbiBiYXNlc2luawoJICBCdXQgdGhpcyBzaG91bGQgYmUgY2FsbGVkIGluIFBBVVNFRDwtPlJFQURZLgoKMjAxMi0xMC0xNSAxMzo0NDoyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZm9yIG91dGJvdW5kIERBUiByZXBvcnRlZCBieSBFR0wKCSAgU29tZSBFR0wgaW1wbGVtZW50YXRpb25zIGRvbid0IGhvbm9yIHRoZSBzcGVjCgkgIHJlcXVpcmVtZW50IG9mIHJldHVybmluZyBEQVIgdmFsdWVzIGFzIHcvaCAqCgkgIEVHTF9ESVNQTEFZX1NDQUxJTkcuCgkgIFRoaXMgY2hhbmdlc2V0OgoJICAtIEZpeGVzIHJlbmRlcmluZyBvbiB0aGUgU2Ftc3VuZyBHYWxheHkgSUlJCgkgIC0gRml4ZXMgd3JvbmcgY2hlY2sgb24gcmVxdWlyZWQgMS4yIEVHTCB2ZXJzaW9uCgkgIC0gUmVvcmRlcnMgdGhlIGNvZGUgYSBiaXQuCgoyMDEyLTEwLTE1IDEzOjM4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2hlcyBpZiB0aGVyZSBhcmUgbm8gRUdMIG9yIEdMRVMgZXh0ZW5zaW9ucwoKMjAxMi0xMC0xMCAxMjo0Mjo0NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2ggYXQgZWxlbWVudCBpbnN0YW50aWF0aW9uCgoyMDEyLTEwLTEwIDEyOjI2OjA0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IFNhdmUgb25lIGV4dHJhIHRleHR1cmUgbG9va3VwCgoyMDEyLTEwLTEwIDEyOjIyOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IE1pbm9yIG5hbWVkIGluZGV4IGFjY2VzcyB0d2VhayB4eXogLT4gcmdiCgoyMDEyLTEwLTEwIDEyOjE4OjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IEFzc29ydGVkIGZpeGVzIHRvIG9wdGltaXplZCBjb2RlCgkgIC0gRG9uJ3QgY29weSBvdmVyIG9wb3MgYXMgaXQncyBhbHJlYWR5IGEgdmVjMgoJICAtIEZpeCBpbmRleCBvcmRlciBhY2Nlc3MgYXQgZnJhZ19ZVVkyX1lWWVVfVVlWWV9wcm9nCgoyMDEyLTEwLTEwIDExOjUwOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IFBsYW5hciBZVVYgY29udmVydGVycyBvcHRpbWl6YXRpb24KCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiBtdWx0IGFuZCBhZGQKCSAgLSBBdm9pZCB1bm5lZWRlZCB0ZXh0dXJlIGxvb2t1cHMKCjIwMTItMTAtMTAgMTE6MDU6MDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBHZWdsZ2xlc3Npbms6IExTTDogT3B0aW1pemUgZnJhZ19ZVVkyX1lWWVVfVVlWWV9wcm9nCgkgIC0gQXZvaWQgcmVwZWF0ZWRseSBwZXJmb3JtaW5nIHRoZSB0ZXh0dXJlIGxvb2t1cAoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSB0aGUgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiB0aGUgZXhwbGljaXQgbXVsdCBhbmQgYWRkCgoyMDEyLTEwLTEwIDAzOjAyOjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IERyb3AgdW5uZWRlZCBueHkgdmVjMgoKMjAxMi0xMC0xMCAwMjoxNjozNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWlzc2luZyBkb3VibGUgcXVvdGF0aW9uIG1hcmsgaW4gR0xTTCBjb2RlCgoyMDEyLTEwLTEwIDAyOjA0OjE4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IE9wdGltaXplIGZyYWdfQVlVVl9wcm9nCgkgIC0gQXZvaWQgcmVwZWF0ZWRseSBwZXJmb3JtaW5nIHRoZSB0ZXh0dXJlIGxvb2t1cAoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSB0aGUgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiB0aGUgZXhwbGljaXQgbXVsdCBhbmQgYWRkCgoyMDEyLTEwLTA5IDIzOjM1OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNTaW5rIHN0cnVjdAoKMjAxMi0xMC0wOSAyMzowNDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzQnVmZmVyIHN0cnVjdCAoRFJBRlQpCgoyMDEyLTEwLTA5IDIyOjU0OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNJbWFnZUZtdCBzdHJ1Y3QKCjIwMTItMTAtMDkgMjI6NDA6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc1JlbmRlckNvbnRleHQgc3RydWN0CgoyMDEyLTEwLTA5IDE3OjAwOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFzc29ydGVkIGRvYyBhbmQgcmVvcmRlcmluZyBmaXhlcwoKMjAxMi0xMC0wOSAxNjoyNTo0NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBFbGVtZW50IHByb3BlcnRpZXMKCSAgQnJpZWYgZXhwbGFuYXRvcnkgY29tbWVudHMgcGx1cyBzb21lIHJlb3JkZXJpbmcKCSAgdG8gZ3JvdXAgZGVmYXVsdCBzZXR0aW5nIG9mIHByb3BlcnRpZXMgYW5kIHJ1bnRpbWUKCSAgZmxhZ3MgdmFsdWVzLgoKMjAxMi0xMC0wOSAxNzoyMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFlWWVUKCjIwMTItMTAtMDkgMTE6NDg6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR0xTTCBTaGFkZXJzCgkgIEJyaWVmIGV4cGxhbmF0b3J5IGNvbW1lbnRzIHBsdXMgc29tZSByZXJkZXJpbmcKCSAgdG8gZ3JvdXAgcGFja2VkL3BsYW5hciBjb252ZXJ0ZXJzLgoKMjAxMi0xMC0wOSAxMTowMDoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBFbGVtZW50IG92ZXJ2aWV3CgoyMDEyLTEwLTA4IDEyOjEwOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlZmFjdG9yIFJFT1JERVIgc2hhZGVyLgoJICBBdm9pZCB1bm5lZWRlZGx5IGNhbGxpbmcgdGV4dHVyZTJEKCkgMyBjb25zZWN1dGl2ZSB0aW1lcy4KCjIwMTItMTAtMDQgMTU6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBoYW5kbGluZyBvZiBjYXBzIGNoYW5nZXMgYnkgb25seSByZWxlYXNpbmcgd2hhdCBuZWVkcyB0byBiZSByZWxlYXNlZAoJICBBbmQgbm90IHRlcm1pbmF0aW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24KCjIwMTItMTAtMDQgMDI6MTU6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBkaXNwbGF5X3JlZ2lvbiByZXNldCB0byBsb2NrZWQgc2VjdGlvbgoKMjAxMi0xMC0wNCAwMTo1NjoxMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXNldCBkaXNwbGF5X3JlZ2lvbiBkaW1zIGF0IGNhcHMgcmVuZWdvCgoyMDEyLTEwLTA0IDAxOjMzOjMxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvc21ldGljcwoKMjAxMi0xMC0wNCAwMToyOTo0MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhY2Nlc3MgbG9jYWwgdmFsdWUgZnJvbSBzdHJ1Y3QKCjIwMTItMTAtMDMgMjM6NDE6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVGVybWluYXRlIGRpc3BsYXkgY29ubmVjdGlvbiBhdCBjYXBzIHJlbmVnbwoKMjAxMi0xMC0wMiAxNzo1NjoxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3NtZXRpY3MKCjIwMTItMTAtMDMgMTI6MzI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgYXR0YWNoIHRoZSBjb250ZXh0IG9uY2UgdG8gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTItMTAtMDMgMTA6NTM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgdGhlIGNvbnRleHQgY3VycmVudCBmb3IgdGhlIHRocmVhZCBhbmQgdW5iaW5kIGl0IGFnYWluIGFyb3VuZCBldmVyeSB1c2UKCSAgVGhpcyBmaXhlcyBzb21lIGNyYXNoZXMgYW5kIGxlYWtpbmcgb2Ygb3VyIGNvbnRleHQgaW50byBvdGhlcgoJICBPcGVuR0wgY29kZSBvbiB0aGUgc2FtZSB0aHJlYWQuCgoyMDEyLTEwLTAyIDE3OjI5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXByb3ZlIGNsZWFudXAKCjIwMTItMTAtMDIgMTU6NDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bnVzZWQgbGFiZWwKCjIwMTItMTAtMDIgMTU6NDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsbG93IHNldHRpbmcgYSBOVUxMIGhhbmRsZQoKMjAxMi0xMC0wMiAwOTo0ODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmV2ZXJ0ICJEbyBub3QgdXBkYXRlX3N1cmZhY2VfZGltcygpIG9uY2UgcGVyIGZyYW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDgyMTAzMzc2ZWRlMmJjN2M2M2RkNjk5ZjU5ODIxNjg2NjBmNjc4NTIuCgkgIFdlIGhhdmUgdG8gdXBkYXRlIHRoZSBzdXJmYWNlIGRpbWVuc2lvbnMgb24gZXZlcnkgZnJhbWUgdG8KCSAgbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IG5vdGlmaWVkIGFib3V0IHVwZGF0ZXMuIFRoaXMgaGFwcGVucwoJICBmb3IgZXhhbXBsZSBpZiB0aGUgQW5kcm9pZCB3aW5kb3cgZ2V0cyByZS1sYXlvdXRlZCBiZWNhdXNlCgkgIGEgd2lkZ2V0IHRha2VzIG1vcmUgc3BhY2UgdGhhbiBiZWZvcmUuCgoyMDEyLTEwLTAyIDAxOjQzOjM1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvIG5vdCB1cGRhdGVfc3VyZmFjZV9kaW1zKCkgb25jZSBwZXIgZnJhbWUKCSAgQW5kLi4gVXBncmFkZSBkZWJ1ZyBtZXNzYWdlIHRvIHdhcmdpbmcgb24gd2VpcmQgREFSLgoJICBDb3JyZWN0IGZpeCB0byBhdm9pZCBzcGFtaW5nIHdpdGggdGhpcyBtZXNzYWdlCgkgIG9uY2UgcGVyIGVhY2ggZnJhbWUgaXMgYXZvaWQgY2FsbGluZyB1cGRhdGVfc3VyZmFjZV9kaW1zKCkKCSAgYXQgcmVuZGVyX2FuZF9kaXNwbGF5KCkuIFRoaXMgaXMgaGFuZGxlZCBhdCBlZ2wgc3VyZmFjZQoJICBpbml0LgoKMjAxMi0xMC0wMSAxNjozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQW5kIGRvd25ncmFkZSBhbm90aGVyIHdhcm5pbmcgdG9vCgoyMDEyLTEwLTAxIDE2OjE0OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb3duZ3JhZGUgR1NUX1dBUk5JTkcgdG8gR1NUX0RFQlVHCgoyMDEyLTEwLTAxIDA5OjQ0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSB7fSB0byBpZiBzdGF0ZW1lbnRzIG1ha2UgdGhlbSB3b3JrIGFzIGV4cGVjdGVkCgoyMDEyLTA5LTMwIDIzOjA3OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agc3RhbGUgZGVmaW5lcyBmb3IgbWF4IGZyYW1lIHNpemUKCjIwMTItMDktMzAgMjM6MDY6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU21hbGwgY29tbWVudGFyeSBmaXhlcyBoZXJlIGFuIHRoZXJlCgoyMDEyLTA5LTI4IDExOjQ4OjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHNldHRpbmcgaGVpZ2h0IG9yIHdpZHRoIHR3aWNlCgoyMDEyLTA5LTI3IDAxOjE4OjM3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVzZSBQQVIvREFSIHRvIHNldCB2aWV3cG9ydAoKMjAxMi0wOS0yNyAxNDoyODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IHJlc2l6ZSBpZiB0aGUgc3VyZmFjZSBkaW1lbnNpb25zIGNoYW5nZQoKMjAxMi0wOS0yNyAxNDowODoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIHN1cmZhY2UgZGltZW5zaW9ucyBvbiBldmVyeSBidWZmZXIKCjIwMTItMDktMjcgMTQ6MDI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vcmUgY29uc2lzdGVudCBuYW1pbmcgb2Ygc2hhZGVyIHJlbGF0ZWQgdmFyaWFibGVzCgoyMDEyLTA5LTI3IDEzOjU3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHZhcmlhYmxlIG5hbWUgY2xlYW51cAoKMjAxMi0wOS0yNyAxMzo1Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIGRlZmF1bHQtd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMKCSAgVGhlc2UgYXJlIGNvbXBsZXRlbHkgdW5uZWVkZWQKCjIwMTItMDktMjUgMTM6MzI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkb3VibGUgZnJlZSgpCgoyMDEyLTA5LTI1IDA5OjA2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBsZWFrIEVHTC9FUyByZW5kZXIgY29udGV4dAoKMjAxMi0wOS0yNSAwMTozOToyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQdXQgRUdML0dMRVMgY29udGV4dCB2YXJzIG9uIHRoZWlyIG93biBzdHJ1Y3QKCjIwMTItMDktMjQgMTE6MTk6MzIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJICBlZ2xnbGVzc2luazogU21hbGwgVE9ETyByZWZvcm1hdHRpbmcKCjIwMTItMDktMjQgMTA6MjM6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJICBlZ2xnbGVzc2luazogQWRkIFRPRE8gZmlsZQoKMjAxMi0wOS0yNCAxNDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IGltcGxlbWVudCA6OmV4cG9zZSgpCgkgIFdlIGRvbid0IG5lZWQgdGhlIHBhc3QgYnVmZmVyIGZvciB0aGlzLCB0aGUgb2xkIG9uZSBpcyBzdGlsbCBhdmFpbGFibGUKCSAgYXMgdGV4dHVyZSBhbmQgd2UganVzdCBuZWVkIHRvIGRyYXcgb3VyIHJlY3RhbmdsZSBhZ2Fpbi4KCjIwMTItMDktMjQgMTM6NDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsbG93IHNldHRpbmcgYW5vdGhlciB3aW5kb3cgZm9yIHRoZSBuZXh0IHRpbWUgd2UgcmVjb25maWd1cmUgZXZlcnl0aGluZwoKMjAxMi0wOS0yNCAxMjozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyB1bnJlZiBjdXJyZW50IGNhcHMgYWZ0ZXIgdXNhZ2UKCjIwMTItMDktMjQgMTI6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcGxlbWVudCBzdXBwb3J0IGZvciBjYXBzIGNoYW5nZXMKCjIwMTItMDktMjQgMTI6Mjc6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vcmUgY2xlYW51cCBhbmQgbWFraW5nIHRoZSBlbGVtZW50IHJldXNhYmxlCgoyMDEyLTA5LTI0IDEyOjA1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBpbml0L3JlbGVhc2UgcmVzb3VyY2VzIHdoZW4gZ29pbmcgZnJvbSBOVUxMLT5SRUFEWSBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMTItMDktMjQgMTE6NDg6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEdlbmVyYXRlIHRoZSBzaW5rIGNhcHMgZXhhY3RseSBvbmNlCgoyMDEyLTA5LTI0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29kZSBzdHlsZSBhIGJpdCB0byBzdG9wIGNvbmZ1c2luZyBpbmRlbnQKCjIwMTItMDktMjQgMTE6MTU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdXBwb3J0IGZvciBZVVkyIGFuZCBVWVZZCgoyMDEyLTA5LTI0IDExOjAxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHByb3BlcnR5IGNsZWFudXAKCjIwMTItMDktMjQgMTA6NDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIFJHQiBmb3JtYXRzCgoyMDEyLTA5LTI0IDEwOjIzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiBhbmQgWTQxQiwganVzdCBiZWNhdXNlIGl0J3Mgc28gZWFzeQoKMjAxMi0wOS0yNCAxMDowMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgc2ltcGxlIFRPRE9zCgoyMDEyLTA5LTI0IDAxOjA4OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IExvY2sgd2hpbGUgYWx0ZXJpbmcgZGlzcGxheSByZWdpb24gY29vcmRzCgoyMDEyLTA5LTI0IDAwOjI3OjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBfZ2V0X2NvbXBhdF9mb3JtYXRfZnJvbV9jYXBzKCkgbG9naWMKCSAgSXQncyBhIGdldHRlciBzbyBpdCBzaG91bGRuJ3QgbWVzc2luZyB3aXRoIHRoZSBzaW5rIGNvbnRleHQuCgkgIEFkZGluZyBpbnN1bHQgdG8gaW5qdXJ5IGl0IHdhcyBzZXR0aW5nIHNlbGVjdGVkX2ZtdCB3aXRob3V0CgkgIGxvY2tpbmcuCgkgIFRoZSBhc3NvY2lhdGVkIGNoYW5nZXMgdG8gdGhlIGJ1ZmZlciBmdW5jdGlvbnMgYXJlIG1lcmVseQoJICBtYWtlLWl0IGJ1aWxkIGZpeGVzLiBUaG9zZSBmdW5jdGlvbnMgYXJlIGJhcmVseSBkcmFmdGVkCgkgIGFuZCBpbiBXSVAgc3RhdGUuCgoyMDEyLTA5LTIzIDIzOjA3OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3AgdW5uZWRlZCBpbml0aWFsIHNldCB0byBOVUxMCgoyMDEyLTA5LTIzIDIyOjMzOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1pbm9yIGZvcm1hdHRpbmcgYW5kIGNvbW1lbnQgZml4ZXMKCjIwMTItMDktMjEgMTI6MTI6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQ2xlYW4tdXAgZ2wvZWdsIGFsbG9jYXRpb25zIGF0IF9zdG9wKCkKCSAgQWxzbywgY29uZGl0aW9uYWx5IGRlc3Ryb3kgd2luZG93IGlmIHRoZSBzaW5rIGNyZWF0ZWQgaXRzIG93bi4KCjIwMTItMDktMjEgMTc6MDg6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGFuZCBOVjIxCgkgIEFsc28gWVVZMiBhbmQgVVlWWSBidXQgdGhpcyBpcyBkaXNhYmxlZCBmb3Igbm93IGFzIGl0CgkgIGRvZXNuJ3Qgd29yayBjb21wbGV0ZWx5IHlldC4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGgKCSAgdGhlIGNocm9tYS4KCjIwMTItMDktMjEgMTU6NDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBJNDIwIGFuZCBZVjEyIGNvbG9yIGZvcm1hdHMKCjIwMTItMDktMjEgMTQ6MDU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByZXBhcmF0aW9ucyBmb3Igc3VwcG9ydGluZyBtdWx0aXBsZSB0ZXh0dXJlcyBmb3IgbW9yZSBZVVYgZm9ybWF0cwoKMjAxMi0wOS0yMSAxMzo0Mjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXNlIHRoZSBhdHRyaWIgbG9jYXRpb25zIGFzIHJlYWxseSB1c2VkIGluc2lkZSB0aGUgc2hhZGVyCgoyMDEyLTA5LTIxIDEyOjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWFsbHkgZGVjb3VwbGUgdmVydGV4IGFuZCB0ZXh0dXJlIHBvc2l0aW9ucyBpbiB0aGUgc2hhZGVyCgoyMDEyLTA5LTIxIDEyOjQ1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEZWNvdXBsZSB0ZXh0dXJlIGFuZCB2ZXJ0ZXggcG9zaXRpb25zCgoyMDEyLTA5LTIxIDEyOjE0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIHZlcnRleCB2YWx1ZSBvcmRlciB0byBtYWtlIGEgYml0IG1vcmUgc2Vuc2UKCjIwMTItMDktMjEgMDE6MDk6MTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogSGFuZGxlIGZyYW1lIHNjYWxpbmcgdG8gZmlsbCBzdXJmYWNlCgoyMDEyLTA5LTIxIDAwOjA5OjA2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERyYWZ0IHNldF9yZW5kZXJfcmVjdGFuZ2xlKCkgZnJvbSB0aGUgeE92ZXJsYXkgaW50ZXJmYWNlCgoyMDEyLTA5LTIwIDIyOjUwOjMxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBzdGFsZSBjb21tZW50CgoyMDEyLTA5LTIwIDIyOjQxOjEwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgVkJPIHNldHVwIHRvIHNldGNhcHMKCjIwMTItMDktMjAgMjI6MTE6MDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgZG8gY29udGV4dCBvcHMgYXQgcmVuZGVyCgkgIFdlIGRvbid0IG5lZWQgdG8gcmVwZWF0ZWRseSBjYWxsCgkgIGVnbE1ha2VDdXJyZW50KCkgd2hpbGUgdXNpbmcgdGhlCgkgIHNhbWUgY29udGV4dCBhbnl3YXkuCgoyMDEyLTA5LTIwIDIyOjAxOjIwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGNsZWFyIHN1cmZhY2UgY29sb3IgYXQgcmVuZGVyCgoyMDEyLTA5LTIwIDE3OjIyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW5hbWUgc2hhZGVyIHZhcmlhYmxlcyB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTItMDktMjAgMTc6MTQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBBWVVWCgoyMDEyLTA5LTIwIDE3OjAyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIGNhcHMgYSBiaXQgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDEyLTA5LTIwIDE2OjUwOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTZXQgcmFuayB0byBQUklNQVJZCgoyMDEyLTA5LTIwIDE2OjI1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgUkdCQQoKMjAxMi0wOS0yMCAxNjoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IGdlbmVyYXRlZCBjYXBzIGZvciB0aGUgc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTItMDktMjAgMTY6MDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCA6OmdldF9jYXBzKCkgdmZ1bmMgdGhhdCByZXR1cm5zIHRoZSBhY3R1YWxseSBzdXBwb3J0ZWQgY2FwcwoKMjAxMi0wOS0yMCAxNTo1Njo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxzbyByZXF1aXJlIGEgY29uZmlndXJhdGlvbiB3aXRoIEVHTF9TVVJGQUNFX1RZUEUgY29udGFpbmluZyBFR0xfV0lORE9XX0JJVAoKMjAxMi0wOS0yMCAxNDo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTA5LTE5IDE5OjI2OjU0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENsZWFyIHN1cmZhY2UgdG8gYmxhY2sgYnkgZGVmYXVsdAoKMjAxMi0wOS0xOSAxOToyMzo1MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgd2UgZ2V0IGEgY29uZmlnIHdlIGNhbiB1c2Ugd2l0aCBHTEVTMgoKMjAxMi0wOS0xOSAxOToxMjozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBzZXRfd2luZG93X2hhbmRsZSgpIGhhcyBiZWVuIHRlc3RlZCB0byB3b3JrIG5vdwoKMjAxMi0wOS0xOSAxMjoyOToxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBhdXRvc2NhbGluZyBieSBkZWZhdWx0CgoyMDEyLTA5LTE4IDE0OjU4OjQzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHJlcGVhdGVkbHkgc2V0dGluZyAyRCByZXNpemluZyBwYXJhbXMKCSAgTW92ZWQgdG8gaW5pdGlhbCB0ZXh0dXJlIHNldHVwIHNvIGl0IGhhcGVucwoJICBqdXN0IG9uY2Ugd2hpbGUgb24gdGhlIHNhbWUgY29udGV4dC4KCjIwMTItMDktMTggMTI6MDQ6MjAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgaW5pdGlhbGl6aW5nIEVHTCBhdCBfc2V0X3dpbmRvd19oYW5kbGUoKQoJICBfc3RhcnQoKSBzaG91bGQgdGFrZSBjYXJlIG9mIHRoYXQuCgkgIFRoaXMgY2hhbmdlIGFzdW1lcyBfc2V0Y2FwcygpIHdpbGwKCSAgaGFwcGVuIGFsd2F5cyBhZnRlciBfc3RhcnQoKSBpcwoJICBkb25lLgoKMjAxMi0wOS0xOCAxMDo0MzozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhc2sgZm9yIGEgd2luZG93IGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUKCjIwMTItMDktMTggMTA6MzE6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IEVHTCBhdHRyaWJzIHZhciBuYW1pbmcKCjIwMTItMDktMTggMDI6MzI6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHNsb3cgcGF0aCByZW5kZXJpbmcgb24gQW5kcm9pZAoJICBTcGVjaWZ5IG1pc3NpbmcgYW5kIG1hbmRhdG9yeSBwYXJhbXMgZm9yIG5wb3QKCSAgQmVmb3JlIGNhbGxpbmcgZ2xUZXhJbWFnZTJELgoJICBJbiBwYXJ0aWN1bGFyLCBfV1JBUF9UIGFuZCBfV1JBUF9TIG5lZWQgdG8gYmUKCSAgc2V0IHRvIEdMX0NMQU1QX1RPX0VER0UgdG8gYXZvaWQgYWxsLWJsYWNrCgkgIHJlbmRlcmluZyB3aXRoIG5wb3Qgc2l6ZWQgZnJhbWVzLgoKMjAxMi0wOS0xOCAwMDo1MTozNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgdGVzdCBvbiB1c2FibGUgZWdsY29uZmlncyByZXR1cm5lZAoKMjAxMi0wOS0xNyAyMzowNToyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHN0YWxlIGVycm9yX2xvY2tlZCBsYWJlbAoKMjAxMi0wOS0xNyAyMzowNDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDbGVhbnVwIHN0YWxlIGNvZGUgY29tbWVudHMKCjIwMTItMDktMTcgMTg6MDA6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogR2xWaWV3UG9ydCgpIHNob3VsZCB1c2UgYWN0dWFsIHN1cmZhY2Ugc2l6ZQoKMjAxMi0wOS0xNyAxNzoyMToyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCByZWluaXRpbmcgRUdMIGFmdGVyIHRoZSBmaXJzdCB0aW1lCgoyMDEyLTA5LTE3IDEzOjQ0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBjb3JyZWN0IHRlbXBsYXRlIGNhcHMKCjIwMTItMDktMTcgMTI6NTQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1pc3NpbmcgdGV4dHVyZSBzZXR1cCBiaXRzCgoyMDEyLTA5LTE3IDExOjU3OjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBlcnJvciBjaGVja2luZyBvbiBlZ2xTd2FwQnVmZmVycwoKMjAxMi0wOS0xNyAxMTo0MDo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc3RhbGUmd3JvbmcgMC41IGFscGhhIGJsZW5kCgoyMDEyLTA5LTE3IDEwOjU2OjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBmbG9hdCBwcmVjaXNpb24gc3BlY2lmaWVyIHRvIGZyYWdtZW50IHNoYWRlcgoJICBUaGlzIGlzIHJlcXVpcmVkIGJ5IEdMRVMgYW5kIGZpeGVzIGNvbXBpbGF0aW9uIG9mIGZyYWdtZW50CgkgIHNoYWRlciBwcm9nLgoKMjAxMi0wOS0xNyAxMDo0NzozOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgbG9nIHJlcG9ydGluZyBhdCBzaGFkZXIgY29tcGlsYXRpb24gZmFpbHVyZQoKMjAxMi0wOS0xNiAyMjo0MzozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBtaXNzaW5nIGNoZWNrcyBvbiBzaGFkZXIgb3BzCgkgIC0gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBzaGFkZXIgY29tcGlsZXIgc3VwcG9ydAoJICBhbmQgYmFpbCBvdXQgb3RoZXJ3aXNlLgoJICAtIEFkZCBjaGVja3Mgb24gY29tcGlsZSBhbmQgbGlua2luZyBvcHMKCjIwMTItMDktMTQgMjA6NDk6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IHNldHVwIGNoYWluIGxvZ2ljCgkgIE1vc3RseSBhIHByb2NlZHVyYWwgcmVvcmRlcmluZy4gSWRlYSBpcyB0byBhdm9pZAoJICB0cnlpbmcgdG8gc2V0dXAgYSBzdXJmYWNlIHdpdGhvdXQgYSBkaXNwbGF5LlRoaXMKCSAgY2hhbmdlIHJlbGllcyBvbiB0aGUgYXN1bXB0aW9uIHRoYXQ6CgkgIDEuLSBzZXRfd2luZG93X2hhbmRsZSgpIGNhbiBoYXBwZW4gYXQgYW55IHRpbWUKCSAgMi4tIHNldGNhcHMgd2lsbCBuZXZlciBnZXQgY2FsbGVkIGJlZm9yZSBfc3RhcnQoKQoJICBpcyBkb25lLgoJICBJZiBib3RoIGNvbmRpdGlvbnMgYXJlIG1lZXQgdGhlIG5ldyBwcm9jZWR1cmUKCSAgc2hvdWxkIHdvcmsgYXMgZXhwZWN0ZWQuCgoyMDEyLTA5LTE0IDE1OjU5OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFdJUDogUmVvcmRlciBsb2NraW5nCgoyMDEyLTA5LTEzIDIzOjIzOjA4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCB4T3ZlcmxheSBsb2dpYwoJICBTZXZlcmFsIGZpeGVzIGRlYWxpbmcgd2l0aCBjb3JyZWN0IHdpbmRvdwoJICBjcmVhdGlvbiBhbmQgc2V0X2hhbmRsZSgpIG9wcy4gVGVzdGVkIG9uCgkgIFgxMS9tZXNhIHdpdGggaW50ZXJuYWwgd2luZG93IGNyZWF0aW9uLgoKMjAxMi0wOS0xMyAwMDo1NTozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBY3R1YWxseSB0ZXN0IEVHTCBjb25maWdzIGJlZm9yZSBjbGFpbWluZyBzdXBwb3J0CgoyMDEyLTA5LTEzIDAwOjExOjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENhcHMgbmVnbyBFR0wgZml4ZXMKCSAgLSBGaXggYWxsb2MgbG9sIG9uIGZvcm1hdCBsaXN0OiBBc2tlZCBmb3IgMiBzbGljZXMgYW5kIHVzZWQgMy4KCSAgLSBSZW9yZGVyZWQgZGlzcGxheSAmIGNvbnRleHQgaW5pdCBsb2dpYyB0byBwcmVwYXJlIGZvciBhY3R1YWwKCSAgY29uZmlnIGNoZWNraW5nIGJlZm9yZSBjbGFpbWluZyBzdXBwb3J0IGZvciBhIGdpdmVuIGZvcm1hdC4KCSAgQ2hhbmdlIGRlYWxzIGJhc2ljYWxseSB3aXRoIHNldHRpbmcgdXAgRUdMIGRpc3BsYXkgYXQgc3RhcnQoKQoJICBhbmQgY2hvb3NlIGFuIEVHTCBjb25maWcgb25seSBhdCBzZXRjYXBzIHRpbWUuCgoyMDEyLTA5LTEyIDIyOjExOjM5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IENhcHMgbmVnby4gU3RhcnQgZXh0ZW5kaW5nIFJHQiBzdXBwb3J0IHRvIGEgc2V0LgoKMjAxMi0wOS0xMiAxNjoxOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBidWlsZCBvZiBzdGF0aWMgcGx1Z2luCgoyMDEyLTA5LTEyIDA5OjI4OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agd3JvbmcgZm9ybWF0IHRlc3Qgb24gX3NldGNhcHMgKGRyYWZ0IGxlZnRvdmVyKQoKMjAxMi0wOS0xMSAxMzo1NDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTdXBwb3J0IFJHQjI0IGJ5IGRlZmF1bHQKCjIwMTItMDktMTEgMTM6NTE6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW5zdHJ1bWVudCBFR0wgZXJyb3IgcmVwb3J0aW5nCgoyMDEyLTA5LTExIDEyOjA0OjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSByZXR1cm4gR3N0Rmxvd1JldHVybiBmcm9tIHJlbmRlcl9hbmRfZGlzcGxheSgpCgoyMDEyLTA5LTExIDExOjUxOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgVkJPIHNldHVwIHRvIGl0J3Mgb3duIGZ1bmN0aW9uCgoyMDEyLTA5LTExIDEwOjIwOjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCByZW5kZXJfYW5kX2Rpc3BsYXkgbG9naWMKCSAgU3dpdGNoIHByb2NlZHVyZSBhY2NvcmRpbmcgdG8gZW5hYmxlZCByZW5kZXJpbmcgcGF0aAoKMjAxMi0wOS0xMCAyMjo1OTo1NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2FtcGxlIGxhdW5jaCBsaW5lIHdpdGggZGlzYWJsZWQgd2luZG93IGNyZWF0aW9uCgoyMDEyLTA5LTEwIDIyOjQxOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFJlbmFtZSBzdGFsZSBhbmRyb2lkIGxlZnRvdmVyCgoyMDEyLTA5LTEwIDIwOjIyOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGVnbGdsZXMgU2luayB0byBleHQvICMyCgoyMDEyLTA5LTEwIDIwOjAwOjU3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvQW5kcm9pZC5tazoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogTW92ZSBlZ2xnbGVzIFNpbmsgdG8gZXh0LwoKMjAxMi0xMC0xOCAxNDowMzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5zbGVzOiBBZGQgdGhlIG9wZW5zbGVzIHBsdWdpbiB0byB0aGUgbGlzdCBvZiBub3QgcG9ydGVkIHBsdWdpbnMKCjIwMTItMTAtMTggMTM6NTY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSAgb3BlbnNsZXM6IEludGVncmF0ZSBpbnRvIGJ1aWxkIHN5c3RlbQoKMjAxMi0xMC0xMiAxMDowODo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3Npbms6IFJldHVybiAwIGRlbGF5IGlmIHRoZSBwbGF5ZXIgb2JqZWN0IGlzIGluIFBBVVNFRCBzdGF0ZQoKMjAxMi0xMC0wMSAxMjo1NDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBmaXhlcyBub2lzZSBvbiBzZWVrZWluZwoKMjAxMi0xMC0wMSAxMTo0Njo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2hhaW4gdXAgb24gX2NsZWFyX2FsbAoKMjAxMi0xMC0wMSAxMToxNDoyNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBpbXBsZW1lbnQgdGhlIHJpbmdidWZmZXIgY2xlYXJfYWxsIHZtZXRob2QgdG9vCgoyMDEyLTEwLTAxIDEwOjU5OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogaW5pdGlhbCBhdHRlbXB0IHRvIHJlZHVjZSB0aGUgc3JjIGxhdGVuY3kKCjIwMTItMDktMjkgMTk6MDA6MTMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogc3ByaW5rbGUgY29tbWVudHMgYW5kIGNvc21ldGljIGZpeGVzCgoyMDEyLTA5LTI4IDE1OjEwOjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjaGVjayBmb3IgZGV2aWNlIG91dHB1dHMgaW4gdGhlIG1peGVyCgoyMDEyLTA5LTI4IDE0OjM5OjAxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBkcm9wIDQ4a0h6IHNhbXBsZSByYXRlCgkgIE9wZW5TTCBFUyBpbXBsZW1lbnRhdGlvbiBpbiBBbmRyb2lkIGlzIGp1c3QgYSAnZmFjYWRlJyBBUEkgb24gdG9wIG9mCgkgIEF1ZGlvRmxpbmdlciB3aGljaCB3aWxsIGRvd25zYW1wbGUgNDhrSHogaW50byA0NC4xa0h6IGJlZm9yZQoJICBkZWxpdmVyaW5nIHRoZSBhdWRpbyB0byB0aGUgdW5kZXJsYXlpbmcgaGFyZHdhcmUuCgkgIFdlIGZvdW5kIHRoYXQgaXQgc3VmZmVyIHNvbWUgc29ydCBvZiB1bmRlcnJ1biB3aGVuIHRoZSBkb3duc2FtcGxlCgkgIGVudGVycyBpbiBhY3Rpb24gc28gcmVsYXkgb24gb3VyIGdvb2QgcmVzYW1wbGVyIHRvIHRha2UgY2FyZSBvZiB0aGF0CgkgIGFuZCBmaXggdGhlIGNsaWNrcyBpc3N1ZS4gQW5kIGdldCBhbiBleHRyYSBib251cyBvZiBhIGxvd2VyIGxhdGVuY3kuCgoyMDEyLTA5LTI3IDE5OjI0OjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBjaGFuZ2UgdGhlIGRlZmF1bHRzIHRvIHVzZSAyMCBtcyByaW5nYnVmZmVyIHNlZ21lbnRzCgkgIEluIG15IG5leHVzNyBzZWVtcyB0aGF0IHRoZSBpbnRlcm5hbCBtaW4gYnVmZmVyIHNpemUgaXMgMjAgbXMgc28gbWFrZQoJICBvdXIgc2VnbWVudHMgbWF0Y2guCgoyMDEyLTA5LTI3IDE4OjMzOjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGVuc3VyZSB0aGF0IHdlIHJlZ2lzdGVyIHRoZSBjYWxsYmFjayBvbmx5IGluIFNUT1BQRUQKCSAgRml4ZXMgdGhlIGVycm9yIHJlZ2lzdGVyaW5nIHRoZSBjYWxsYmFjayBvbiB0aGUgUExBWUlORyAtPiBQQVVTRSAtPgoJICBQTEFZSU5HIHN0YXRlIGNoYW5nZSBzZXF1ZW5jZS4KCjIwMTItMDktMjcgMTc6NDY6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNhcCBxdWV1ZSBzaXplCgkgIEp1c3QgaW4gY2FzZSB3ZSB3YW50IHRvIHR3ZWFrIHRoZSBzaW5rIGJlaGF2aW91ciB3aXRoIGJ1ZmZlci10aW1lIGFuZAoJICBsYXRlbmN5LXRpbWUgcHJvcGVydGllcyBjYXAgdGhlIHF1ZXVlIHNpemUgdG8gc29tZXRoaW5nIHJlYXNvbmFibGUuCgoyMDEyLTA5LTI3IDE3OjMyOjE0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBzaW5rIHRvIHByb3ZpZGUgdGhlIGF1ZGlvY2xvY2sgYnkgZGVmYXVsdAoKMjAxMi0wOS0yNyAxNzoyNzoyNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogb25seSBkcmFpbiBoYWxmIHJpbmdidWZmZXIgb24gc3RhcnQKCSAgQXQgc3RhcnQgZHJhaW4gaGFsZiByaW5nYnVmZmVyIGludG8gdGhlIE9wZW5TTCBzbyB0aGUgd3JpdHRpbmcvcmVhZGluZwoJICBwb2ludGVycyB3aWxsIHN0YXJ0IGF0IGhhbGYgcmluZ2J1ZmZlciBkaXN0YW5jZS4KCjIwMTItMDktMjcgMTQ6NTI6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IG1vbml0b3Igc29tZSBwbGF5ZXIgZXZlbnRzCgoyMDEyLTA5LTI3IDA3OjIyOjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJld29yayBhcm91bmQgdGhlIF9kZWxheSBmdW5jdGlvbgoKMjAxMi0wOS0yNyAwNTo0MDo0NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBpbXBsZW1lbnQgX2RlbGF5IGZ1bmN0aW9uCgoyMDEyLTA5LTI3IDA0OjAwOjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJlZmFjdG9yIHRvIGJlaGF2ZSBtb3JlIGxpa2Ugb3RoZXIgc2lua3MKCSAgUmVmbGVjdCB0aGUgcXVldWUgaW4gb3VyIG93biBkYXRhIGJ1ZmZlci4KCSAgRHJvcCB0aGUgX2NvbW1pdCBob29rIHRoYXQgd2Fzbid0IHVzZWZ1bGwuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vnc2l6ZS9zZWd0b3RhbC4KCjIwMTItMDktMjYgMTQ6MDE6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHJlYWQgcGxheWVyIHBvc2l0aW9uIGFuZCBzaG93IGl0IGluIHRoZSBsb2cKCjIwMTItMDktMjYgMTI6NTA6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGRvIG5vdCBwcm92aWRlIGEgY2xvY2sgaW4gdGhlIHNpbmsgZWxlbWVudC4KCjIwMTItMDktMjYgMTI6MzI6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHJld29yayBvbiBzdGFydC9zdG9wIG9wZXJhdGlvbnMgYW5kIGNhbGxiYWNrIGZ1bmN0aW9uIGhhbmRsaW5nCgoyMDEyLTA5LTI2IDEyOjA5OjA0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBmaXhlcyA4IGJpdCBmb3JtYXQgd2hpY2ggaXMgdW5zaWduZWQgb24gYW5kcm9pZC4KCjIwMTItMDktMjUgMTk6MjU6MDEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGF0dGVtcHQgdG8gcmVkdWNlIHBsYXliYWNrIGxhdGVuY3kKCjIwMTItMDktMjUgMTg6MDQ6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZHJvcCBfYnVmZmVyX2NsZWFyIGNhbGxzIGFuZCByZWZhY3RvciB0byBhIHNoYXJlZCBfZW5xdWV1ZV9jYgoKMjAxMi0wOS0yMSAxNzowNDoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogdXNlIDAuMjVzIHNlZ21lbnRzIGluIHRoZSBzaW5rIHRvIGxvd2VyIGxhdGVuY3kKCjIwMTItMDktMjEgMTY6MTE6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBmaW5pc2ggcmVtYWluaW5nIGJpdHMgZm9yIHNvdXJjZSBlbGVtZW50LgoKMjAxMi0wOS0yMSAxNDoxNToxMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogYXR0ZW1wdCB0byBxdWVyeSBkZXZpY2UgZm9yIGNhcGFiaWxpdGllcwoKMjAxMi0wOS0yMCAxODo0MTo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGFkZCB0aGUgbXV0ZSBwcm9wZXJ0eSBhbmQgaGFuZGxlIHZvbHVtZS9tdXRlIGNoYW5nZXMgb24gdGhlIGZseQoKMjAxMi0wOS0yMCAxODowNDoyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJICBvcGVuc2xlczogbWFrZSB0aGUgdm9sdW1lIHByb3BlcnR5IGFjdHVhbGx5IHdvcmsKCjIwMTItMDktMjAgMTQ6MTY6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmV3b3JrIG9uIHRoZSByaW5nYnVmZmZlciB0byBwcm9wZXJseSBjbGVhciBzZWdtZW50cwoJICBNYWtlIHRoZSBzZWdtZW50cyBiaWdnZXIgKDEgc2Vjb25kKSBhcyBpdCBzZWVtcyB0byBiZSB0aGUgbWluaW11bSBzaXplCgkgIHdlIG5lZWQgdG8gbm90IGludHJvZHVjZSBub2lzZS4KCSAgU2luayB3b3JrcyBpbiBteSBuZXh1cyA3IHdpdGggcmF0ZXMgZnJvbSA4MDAwIHRvIDQ0MTAwIGFuZCBzb21lIG5vaXNlCgkgIGNhbiBiZSBub3RpY2VkIG9uIGhpZ2dlciBzYW1wbGUgcmF0ZXMuCgoyMDEyLTA5LTIwIDExOjUwOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBmaXhlcyB0aGUgbGljZW5zZSBoZWFkZXJzCgoyMDEyLTA5LTIwIDEwOjQxOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBwcm9kdWNlcyBleHBlY3RlZCBvdXRwdXQgdW50aWwgcmluZ2J1ZmZlciB3cmFwcwoJICBBZGQgc29tZSBsb2cgbWVzc2FnZXMuCgkgIEZpeGVkIGEgYml0IHRoZSBfcGxheWVyX2NiIGZ1bmN0aW9uIGFuZCBwcm9wZXJseSBhZHZhbmNlIHJlZGluZyBpbiB0aGUKCSAgcmluZ2J1ZmZlci4KCSAgU3RpbGwgcHJvZHVjZXMgbm9pc2Ugd2hlbiB0aGUgcmluZ2J1ZmZlciB3cmFwcy4KCjIwMTItMDktMTkgMTg6MTE6NTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogQWRkIGluaXRpYWwgZHJhZnQgaW1wbGVtZW50YXRpb24gb2YgT3BlblNMIEVTIHBsdWdpbi4KCSAgSW5pdGlhbCBkcmFmdCBpbXBsZW1lbnRhdGlvbiBmb3IgYSBPcGVuU0wgRVMgYmFzZWQgcGx1Z2luIGZvciBBbmRyb2lkCgkgIHRoYXQgcHJvdmlkZXMgYXVkaW8gc3JjIGFuZCBzaW5rLgoKMjAxMi0xMC0xOCAwOToyNDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogVXNlIGNvcnJlY3QgdmFyaWFibGUgbmFtZSBpbiBNYWtlZmlsZS5hbQoKMjAxMi0xMC0xNyAyMjo1NDoyOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MTQKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wNC0wMyAxMjowOToxOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQxNAoKMjAxMi0xMC0xNiAxMTozODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE2IDExOjM0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmU6IGZpeCBidWlsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1YzFjMzUyOTBkN2Y3MmE0YmMwMTZlOGFlZjI3NmQ4YzFiZGNmMzdiLgoKMjAxMi0xMC0xNiAxMTozMTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBtaXNzaW5nIGZpbGUKCjIwMTItMTAtMTYgMTE6MzI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkCgoyMDEyLTEwLTE1IDE2OjM1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVuYW1lIHBsdWdpbgoKMjAxMi0xMC0xNSAxNjoyOTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHRvIHRoZSBub3QgeWV0IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTEwLTE1IDE2OjA1OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IE1ha2UgZXZlcnl0aGluZyBidWlsZGFibGUKCjIwMTItMTAtMTUgMTQ6MzY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRG9uJ3QgdHJ5IHRvIHVzZSB0aGUgTlZpZGlhIERSTSBjb2RlY3MKCjIwMTItMTAtMDkgMTA6NTY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFRyeSB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMgbW9yZSBncmFjZWZ1bGx5CgkgIEFuZCBtYWtlIHN0b3AoKSBmYXN0ZXIgYW5kIG1vcmUgcm9idXN0CgoyMDEyLTEwLTA5IDEwOjI3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBBZGQgd29ya2Fyb3VuZCBmb3IgR29vZ2xlIE1QMyBkZWNvZGVyIG91dHB1dHRpbmcgZ2FyYmFnZSBpbiBmaXJzdCBvdXRwdXQgYnVmZmVyCgkgIEFuZCBhc3N1bWUgb25lIGRlY29kZWQgaW5wdXQgZnJhbWUgcGVyIG91dHB1dCBidWZmZXIgdG8gZml4IHRpbWVzdGFtcAoJICBoYW5kbGluZyBieSB0aGUgYmFzZSBjbGFzcy4KCjIwMTItMTAtMDkgMTA6MTQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBbHNvIGFkZCBzb21lIG1vcmUgb3V0cHV0IGZvcm1hdCBjaGVja3MgdG8gdGhlIGF1ZGlvIGRlY29kZXIKCjIwMTItMTAtMDkgMTA6MTM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDaGVjayBvdXRwdXQgZm9ybWF0IG1ldGFkYXRhIHNvbWUgbW9yZQoJICBBbmQgaW1wbGVtZW50IHdvcmthcm91bmQgZm9yIE5WaWRpYSBUZWdyYSAzIG5vdCBzZXR0aW5nIHRoZSBzbGljZV9oZWlnaHQuCgkgIFRoYW5rcyB0byBKb3NlcCBUb3JyYSBmb3IgZGVidWdnaW5nIHRoaXMgaXNzdWUuCgoyMDEyLTEwLTA1IDE1OjA5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCBzb21lIG1vcmUgZGVmYXVsdCBjaGFubmVsIGxheW91dHMsIHRoZXNlIHNob3VsZCBiZSBnb29kIGZvciBBQUMgYXQgbGVhc3QKCjIwMTItMTAtMDUgMTQ6NTY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBEb24ndCBzZXQgdGltZXN0YW1wcywgdGhlIGJhc2VjbGFzcyBoYW5kbGVzIHRoaXMgZm9yIHVzIGFueXdheQoKMjAxMi0xMC0wMyAxMDowNjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIExpc3QgcHJvZmlsZXMgaW4gcmV2ZXJzZSB0byBtaW5pbWl6ZSBjYXBzCgoyMDEyLTEwLTAzIDA5OjU2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSXRlcmF0ZSBsZXZlbHMgaW4gcmV2ZXJzZSBvcmRlciB0byBtaW5pbWl6ZSBjYXBzCgoyMDEyLTEwLTAzIDA5OjUxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBNZXJnZSBzdHJ1Y3R1cmVzIGludG8gY2FwcyBpbnN0ZWFkIG9mIGFwcGVuZGluZyB0aGVtCgoyMDEyLTA5LTI1IDEwOjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBVc2Ugb3JjX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQgc2hvdWxkIGJlIGZhc3RlciBmb3IgbGFyZ2VyIG1lbW9yeSBhcmVhcwoKMjAxMi0wOS0yNCAxNTozMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpby9tcGVnLUwyIGZvciB0aGUgTmV4dXMgNwoKMjAxMi0wOS0yNCAxNToxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBNUEVHMS8yIHZpZGVvCgoyMDEyLTA5LTE5IDE0OjUyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIElnbm9yZSB0aGUgKmxhdyBhbmQgVm9yYmlzIGRlY29kZXJzCgkgIFRoZXkgYXJlIGJyb2tlbiB1bmZvcnR1bmF0ZWx5LgoKMjAxMi0wOS0xOSAxMToyMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBGSVhNRSBjb21tZW50IGZvciBub3QgaGFuZGxpbmcgb2RkIHdpZHRocy9oZWlnaHQgd2l0aCB0aGUgVEkgaGFyZHdhcmUgZGVjb2RlcnMKCSAgTXVzdCBsaWtlbHkgYW4gaXNzdWUgd2l0aCB0aGUgY29kZWMgaXRzZWxmIHRob3VnaC4KCjIwMTItMDktMTkgMDk6NDc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggaGFuZGxpbmcgb2YgSTQyMCBidWZmZXJzIHdpdGggb2RkIHdpZHRoCgoyMDEyLTA5LTE4IDE1OjM4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgT25seSBtcGVndmVyc2lvbj00IGlzIHN1cHBvcnRlZCBmb3IgQUFDCgoyMDEyLTA5LTE4IDE1OjI4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBGSVhNRXMKCjIwMTItMDktMTcgMTM6NDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBmbHVzaGluZyBsb2dpYyB0byB1bmJyZWFrIGhhbmRsaW5nIG9mIGZsdXNoaW5nIHNlZWtzCgoyMDEyLTA5LTE3IDEyOjI0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGNocm9tYSBzdHJpZGUgZm9yIEk0MjAgc3RyaWRlL2Nyb3AgY29udmVyc2lvbgoKMjAxMi0wOS0xNyAxMToyODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBWb3JiaXMgZGVjb2RpbmcKCjIwMTItMDktMTQgMTY6MTc6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFdhaXQgYXQgbW9zdCAxMDBtcyBmb3IgZGVxdWV1ZWluZyBhIGJ1ZmZlciwgYW5kIHJldHJ5IGFmdGVyIHRoYXQKCSAgU29tZSBjb2RlY3MgZG9uJ3QgZmFpbCB0aGUgZGVxdWV1ZWluZyBpZiB0aGUgY29kZWMgaXMgZmx1c2hlZCwKCSAgY2F1c2luZyBkZWFkbG9ja3Mgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBlbGVtZW50LgoKMjAxMi0wOS0xNCAxNjoxMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVsZWFzZSBvdXRwdXQgYnVmZmVycyBhIGJpdCBlYXJsaWVyCgoyMDEyLTA5LTE0IDE2OjExOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgS2VlcCBhbm90aGVyIHJlZmVyZW5jZSBvZiB0aGUgaW5wdXQgYnVmZmVyIGluIGhhbmRsZV9mcmFtZSgpCgkgIEl0IG1pZ2h0IGJlIHVucmVmZmVkIGluIHRoZSBtZWFudGltZSBieSB0aGUgb3RoZXIgdGhyZWFkIGR1ZQoJICB0byBmaW5pc2hfZnJhbWUoKS4KCjIwMTItMDktMTQgMTY6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBQYXNzIC0xIGFzIG51bWJlciBvZiBmcmFtZXMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgZG8gdGhlIHJpZ2h0IHRoaW5nIGlmIHRpbWVzdGFtcHMgYXJlIGdvb2QgZW5vdWdoCgoyMDEyLTA5LTE0IDE2OjA5OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgVXNlIGNvcnJlY3QgYnVmZmVyIHZhcmlhYmxlCgoyMDEyLTA5LTE0IDE0OjQzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBbHdheXMgcGFzcyAxIGFzIG51bWJlciBvZiBmcmFtZXMgdG8gZmluaXNoX2ZyYW1lKCkKCjIwMTItMDktMTQgMTQ6NDI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBDb3JyZWN0bHkgcmVtZW1iZXIgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGVyYXRlCgoyMDEyLTA5LTE0IDE0OjQyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRG9uJ3QgdW5yZWYgaW5wdXQgYnVmZmVyIGZyb20gaGFuZGxlX2ZyYW1lKCksIGl0J3Mgb3duZWQgYnkgdGhlIGJhc2VjbGFzcwoKMjAxMi0wOS0xNCAxMzozMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFJlbW92ZSBpbnZhbGlkIEdTVF9FUlJPUigpIGNhbGwKCjIwMTItMDktMTQgMTM6Mjc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBPbmx5IHRyeSB0byBnZXQgdGhlIGNoYW5uZWwtbWFzayBpZiBpdCBpcyBzZXQKCjIwMTItMDktMTQgMTM6MjU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgRkxBQwoKMjAxMi0wOS0xNCAxMzoyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMi0wOS0xNCAxMzoxNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCjIwMTItMDktMTQgMTM6MDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gZGVjb2RlcnMsIGNvbXBsZXRlbHkgdW50ZXN0ZWQgc28gZmFyCgoyMDEyLTA5LTE0IDEyOjA3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgT25seSBzZXQgdGhlIFNZTkNfRlJBTUUgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIGlmIHdlIG5lZWQgdG8gc3BsaXQgdGhlIGlucHV0CgoyMDEyLTA5LTEyIDE0OjMwOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJZ25vcmUgY29kZWNzIHdpdGggdW5rbm93biBjb2xvciBmb3JtYXRzIGZvciBzdGFiaWxpdHkgcHVycG9zZXMKCSAgVGhleSBjYW4gYmUgcmVnaXN0ZXJlZCBub25ldGhlbGVzcyBpZiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBvciBjb21waWxlLXRpbWUgI2RlZmluZSBpcyBzZXQuCgoyMDEyLTA5LTEyIDEzOjQ4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wbGVtZW50IGNyb3BwaW5nIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBkaWZmZXJlbnQgY29sb3IgZm9ybWF0cwoKMjAxMi0wOS0xMSAxNjozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlYWxseSBpbXBsZW1lbnQgc3RyaWRlIGNvbnZlcnNpb24gZm9yIE5WMTIgdG9vCgoyMDEyLTA5LTExIDE2OjI0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wbGVtZW50IHN0cmlkZS1jb252ZXJzaW9uIGZvciBJNDIwIGFuZCBOVjEyCgoyMDEyLTA5LTExIDE1OjU2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCB0eXBvIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMi0wOS0xMSAxNTo0OToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBEb24ndCBhbGxvdyB1c2luZyBub24tR29vZ2xlIGNvZGVjcyBpZiB3ZSBzdGFydGVkIHRoZSBKYXZhIFZNIG91cnNlbHZlcwoJICBIYXJkd2FyZSBjb2RlY3MsIGUuZy4gdGhlIFRJIG9uZXMsIG9ubHkgd29yayBpbiBwcm9jZXNzZXMgdGhhdCBoYWQgdGhlaXIKCSAgSmF2YSBWTSBzdGFydGVkIHZpYSB0aGUgbm9uLXB1YmxpYyBBbmRyb2lkUnVudGltZSBjbGFzcy4KCjIwMTItMDktMTEgMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgUmVuYW1lIHRvIGFtYyBmcm9tIGFuZHJvaWRtZWRpYWNvZGVjIGV2ZXJ5d2hlcmUKCjIwMTItMDktMTEgMTM6MDg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wOS0xMSAxMjozOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFByaW50IHRoZSBNZWRpYUZvcm1hdHMgd2UgZ2V0IGluIHRoZSBkZWJ1ZyBsb2dzCgoyMDEyLTA5LTEwIDE1OjMxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDktMTAgMTU6MzA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGxldmVsL3Byb2ZpbGUgaGFuZGxpbmcKCjIwMTItMDktMTAgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWxsb3cgcmVnaXN0ZXJpbmcgYXMgc3RhdGljIHBsdWdpbiB3aXRoIHRoZSBHU3RyZWFtZXIgU0RLIEFQSQoKMjAxMi0wOS0xMCAxMzozMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIElmIHRoZSBidWZmZXIgc2l6ZXMgYXJlIHRoZSBzYW1lLCBqdXN0IG1lbWNweSgpIHRvIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAxMi0wOS0xMCAxMjo1NjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENvcnJlY3RseSBjb252ZXJ0IHRpbWVzdGFtcHMgYmV0d2VlbiB1cyBhbmQgbnMKCjIwMTItMDktMDcgMTY6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBTZXQgU1lOQ19GUkFNRSBmbGFnIG9uIGJ1ZmZlcnMgaWYgcmVxdWlyZWQKCjIwMTItMDktMDcgMTQ6MjI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGZsdXNoaW5nCgoyMDEyLTA5LTA3IDEzOjQ0OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgV2FpdCBhdCBtb3N0IDAuNSBzZWNvbmRzIGZvciBnZXR0aW5nIGFuIGlucHV0IGJ1ZmZlciBmb3IgRU9TCgoyMDEyLTA5LTA3IDEzOjQyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ29ycmVjdGx5IGNoZWNrIGZvciBmbHVzaGluZwoKMjAxMi0wOS0wNiAxNzoyNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJldHJ5IGZvciBuZWdhdGl2ZSByZXR1cm4gdmFsdWVzIHdoZW4gZGVxdWV1ZWluZyBidWZmZXJzCgoyMDEyLTA5LTA2IDE3OjA3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IHJlZmNvdW50IGJ1ZwoKMjAxMi0wOS0wNiAxNzowNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFRoZSBNZWRpYUNvZGVjIEFQSSBpcyBhcHBhcmVudGx5IG5vdCB0aHJlYWRzYWZlIGJldHdlZW4gc3RvcCgpIGFuZCByZWxlYXNlKCkKCSAgU28gd2UgZG9uJ3QgY2FsbCByZWxlYXNlKCkgYW5kIGp1c3QgaG9wZSBmb3IgdGhlIEdDIHRvIHJlbGVhc2UgdGhlCgkgIGNvZGVjIGluIHRpbWUuCgoyMDEyLTA5LTA2IDE1OjQ0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBwbHVnaW4gY2FjaGUgY3JlYXRpb24KCjIwMTItMDgtMjQgMDQ6MzU6NDQgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQ2FjaGUgdGhlIGNvZGVjIGluZm9ybWF0aW9ucyBpbnNpZGUgdGhlIHJlZ2lzdHJ5CgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgbG9hZCBhbGwgY29kZWNzIGR1cmluZyBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCSAgd2hpY2ggY2FuIHRha2UgcXVpdGUgc29tZSB0aW1lIChiZWNhdXNlIG9mIGhhcmR3YXJlKSBhbmQgYWxzbyBsb2FkcwoJICBsb3RzIG9mIHNoYXJlZCBsaWJyYXJpZXMgKHdoaWNoIG51bWJlciBpcyBsaW1pdGVkIGJ5IDY0IGluIEFuZHJvaWQpLgoKMjAxMi0wOC0yNCAwOToyMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBQcm9wZXJseSBhdHRhY2ggYW5kIGRldGFjaCB0aGUgY3VycmVudCB0aHJlYWRzIHRvIHRoZSBKYXZhIFZNCgkgIEF0dGFjaGluZyBhIHRocmVhZCBhZnRlciBpdCB3YXMgZGV0YWNoZWQgd2lsbCBjYXVzZSBzZWdmYXVsdHMsCgkgIGFzIHN1Y2ggd2UgdXNlIGEgcHRocmVhZF9rZXlfdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBKTklFbnYqIG9mCgkgIHRoZSBhdHRhY2hlZCB0aHJlYWRzIGFuZCBpbiB0aGUgZGVzdHJ1Y3RvciAoaS5lLiB3aGVuIHRoZQoJICB0aHJlYWQgZXhpdHMpIHdlIGRldGFjaCB0aGUgdGhyZWFkLgoKMjAxMi0wOC0yMyAxNzozMTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIERvbid0IGdldCB0aGUgb3V0cHV0IGZvcm1hdCBmcm9tIHRoZSBjb2RlYyBiZWZvcmUgaXQgaXMgcmVhZHkKCSAgQXBwYXJlbnRseSB0aGluZ3MgYXJlIGNyYXNoaW5nIG90aGVyd2lzZS4KCjIwMTItMDgtMjMgMTc6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBHZXQgdGhlIGlucHV0IGJ1ZmZlcnMgZnJvbSB0aGUgY29kZWMKCjIwMTItMDgtMjMgMTc6MzA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IEpOSSBtZXRob2QgY2FsbCBzaWduYXR1cmVzCgoyMDEyLTA4LTIzIDE3OjMwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEluaXRpYWxpemUgdGhlIFZNIHdpbGwgZnVsbCBkZWJ1Z2dpbmcgZm9yIG5vdwoKMjAxMi0wOC0yMyAxMzo1MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBVc2UgTmV3U3RyaW5nVVRGKCkgaW5zdGVhZCBvZiBvdXIgb3duIG1ldGhvZCBmb3IgdGhhdAoKMjAxMi0wOC0yMyAxMjozMDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgdGhlIFRJIGZvcm1hdCB0byB0aGUgbWFwcGluZyB0YWJsZSB0b28KCjIwMTItMDgtMjMgMTI6Mjk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCBhbm90aGVyIFRJIHNwZWNpZmljIE9wZW5NQVggY29sb3IgZm9ybWF0CgoyMDEyLTA4LTIyIDE5OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4ZXMgdG8gZWxlbWVudC9lbGVtZW50ZmFjdG9yeSBjcmVhdGlvbgoKMjAxMi0wOC0yMiAxOToxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBTb21lIGJ1Z2ZpeGVzIHRvIHRoZSBjb2RlYyBzY2FubmluZyBjb2RlCgkgIEFsc28gaXQncyBub3QgcG9zc2libGUgdG8gYXR0YWNoIGEgdGhyZWFkIGFmdGVyIGl0IHdhcwoJICBkZXRhY2hlZCBvbmNlLiBBcyBzdWNoIHdlIHNpbXBseSBuZXZlciBkZXRhY2ggYW55IHRocmVhZAoJICBhdCBhbGwgbm93LgoKMjAxMi0wOC0yMiAxODozNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggc29tZSBjb21waWxhdGlvbiBlcnJvcnMKCjIwMTItMDgtMjAgMTQ6MTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgaW1wb3J0YW50IEZJWE1FCgoyMDEyLTA4LTIwIDEzOjQ1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBBZGQgdmlkZW8gZGVjb2RlciBlbGVtZW50CgoyMDEyLTA4LTIwIDEzOjQ1OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEFkZCBzb21lIG1vcmUgSk5JIHdyYXBwaW5nCgoyMDEyLTA4LTIwIDEzOjQyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJICBBZGQgc29tZSBtaXNzaW5nIGNvbG9yIGZvcm1hdCBjb25zdGFudHMKCjIwMTItMDgtMTYgMTU6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEltcGxlbWVudCBiYXNpYyB3cmFwcGVyIGFyb3VuZCBNZWRpYUNvZGVjIEFQSQoJICBJZGVhbGx5IG5vdGhpbmcgZWxzZSB3aWxsIGJlIG5lZWRlZCBmcm9tIHRoZSBlbGVtZW50cyBsYXRlci4KCjIwMTItMDgtMTUgMTg6MjM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgU29tZSBtb3JlIFdJUAoJICBTY2FubmluZyBhbGwgY29kZWNzIG5vdyBhbmQgaGF2ZSBkYXRhIHN0cnVjdHVyZXMgZm9yIGhvbGRpbmcgY29kZWMKCSAgaW5mb3JtYXRpb24gYW5kIGNvZGVjIGNvbnRleHRzLiBBbHNvIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBmb3IKCSAgd29ya2luZyB3aXRoIHRoZW0uCgoyMDEyLTA4LTE0IDEzOjIwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEluaXRpYWwgY29tbWl0CgoyMDEyLTEwLTE1IDE1OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhbmRyb2lkbWVkaWEgcGx1Z2luCgoyMDEyLTEwLTE1IDExOjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFuZCBmaXggYW5vdGhlciBkZWFkbG9jayBjYXVzZWQgYnkgdGhlIHVwZGF0ZSB0aHJlYWQgbm90IGNvcnJlY3RseSBzaHV0dGluZyBkb3duCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDExOjAyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHNkZW11eDogQWxzbyBob2xkIHRoZSBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgY29uZGl0aW9uIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmMKCjIwMTItMTAtMTUgMTA6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyBjYW5jZWwgdGhlIGRvd25sb2FkZXIgYmVmb3JlIHN0b3BwaW5nIHRoZSBwbGF5bGlzdCB1cGRhdGUgdGFzawoKMjAxMi0xMC0xNSAxMDozODoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IGxvY2sgdGhlIG11dGV4IHdoZW4gaXQncyBub3QgbG9ja2VkIGFscmVhZHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMTA6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGFub3RoZXIgcmFjZSBjb25kaXRpb24gYnkgaG9sZGluZyB0aGUgbXV0ZXggdGhhdCB0aGUgY29uZGl0aW9uIHZhcmlhYmxlIHVzZXMKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMDk6NDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUG9ydCBzb21lIHRoaW5ncyBmcm9tIHRoZSBsYXN0IGNvbW1pdHMKCjIwMTItMTAtMTUgMDk6MzU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTmV2ZXIgZXZlciBzdG9wIGEgdGFzayBmcm9tIHRoZSB0YXNrIGZ1bmN0aW9uCgkgIFRoaXMgd2lsbCBkZWFkbG9jay4gQWxzbyBtYWtlIHN1cmUgdG8gYWx3YXlzIHBvc3QgYW4gZXJyb3IgbWVzc2FnZQoJICBpZiByZXF1aXJlZCBiZWZvcmUgcGF1c2luZyB0YXNrcyBmcm9tIHRoZSB0YXNrIGZ1bmN0aW9uLgoJICBTaG91bGQgZml4IGFub3RoZXIgYnVuY2ggb2YgZGVhZGxvY2tzLgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAwOToyNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggbG90cyBvZiBkZWFkbG9ja3MgY2F1c2VkIGJ5IHJhY2UgY29uZGl0aW9ucyBpbiB0aGUgdGFzayBzdGF0ZSBoYW5kbGluZwoKMjAxMi0xMC0xMiAxMDo1Nzo0NCArMDQwMCAgU2VyZ2V5IE4uIEdvcnNoa292IDxzbmdAc2V0ZXZpc29yLnR2PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGhhbmRsZSBSVE1QX1dyaXRlKCkgcmV0dXJuIHZhbHVlIGNvcnJlY3RseQoJICBFcnJvciBtaWdodCBhbHNvIGJlIG5lZ2F0aXZlICgtMSkuIFVuY2xlYXIgaWYgMCBzaG91bGQKCSAgYmUgZmF0YWwgYXMgd2VsbCB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOQoKMjAxMi0xMC0xMiAyMzowOTowNiArMDEwMCAgRGF2aWQgUsOpZ2FkZSA8ZHJlZ2FkZUB2aWV3c3VyZi5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZml4IG1lbW9yeSBsZWFrIGZyb20gVVJJIHZlcmlmaWNhdGlvbiB2aWEgUlRNUF9QYXJzZVVSTCgpCgkgIEluIGdzdF9ydG1wX3NpbmtfdXJpX3NldF91cmkoKSwgYSB0ZXN0IGlzIHBlcmZvcm1lZCBpbiBvcmRlcgoJICB0byBiZSBzdXJlIHVyaSBpcyBjb3JyZWN0IGZvciBsaWJydG1wLiBUaGlzIHRlc3QgY2FsbHMKCSAgUlRNUF9QYXJzZVVSTCB3aXRoIDMgQVZhbCBwb2ludGVycyBhcyBwYXJhbWV0ZXJzOiBob3N0LAoJICBwbGF5cGF0aCBhbmQgYXBwLgoJICBBVmFsIGlzIGEgc3RydWN0IHdpdGggYSBjaGFyKiArIGludC4gQWZ0ZXIgUlRNUF9QYXJzZVVSTCBjYWxsLAoJICBob3N0LmF2X3ZhbCBhbmQgYXBwLmF2X3ZhbCBib3RoIHJlZmVyIGEgc3Vic3RyaW5nIG9mICJ1cmkiLiBCdXQKCSAgcGxheXBhdGguYXZfdmFsIG1heSBiZSB0aGUgcmVzdWx0IG9mIGEgbWFsbG9jIHNvIGl0IG5lZWRzIHRvCgkgIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDU5CgoyMDEyLTEwLTEyIDIyOjMzOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYWR2YW5jZSBzdHJlYW0gdGltZSB3aGVuIHNlbmRpbmcgR0FQIGV2ZW50CgoyMDEyLTEwLTEyIDIyOjMzOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogc2VuZCBsYW5ndWFnZSBpbmZvIGRvd25zdHJlYW0gaWYgYXZhaWxhYmxlCgkgIC4uLiBhcyBleHRyYWN0ZWQgZnJvbSBkdmQgZXZlbnQuCgoyMDEyLTEwLTEyIDIyOjMxOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogcmVtb3ZlIG9ic29sZXRlIHN0cnVjdCBmaWVsZAoKMjAxMi0xMC0xMiAxMjoyODo0NCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogU2V0IGZyYW1lc2l6ZSBhbmQgcHJvcGVydGllcyBjb3JyZWN0bHkgd2hlbiB0YWtpbmcgZm9ybWF0IGZyb20gY2Fwcy4KCjIwMTItMTAtMTIgMTc6NTE6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiB0d2VhayBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoKMjAxMi0xMC0xMiAxNTo0NDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGhhbmRsZSB1cHN0cmVhbSBUSU1FIHNlZ21lbnRzCgoyMDEyLTEwLTEyIDE1OjA3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogaGFuZGxlIGFuZCBjb21iaW5lIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCjIwMTItMTAtMTIgMTQ6NTA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgbmV3IHN0eWxlIGR2ZCBldmVudAoKMjAxMi0xMC0xMSAxNToyOTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBhZGQgcGFkIGFmdGVyIG5vLW1vcmUtcGFkcwoKMjAxMi0xMC0xMSAxNToyNzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IGNsZWFuIHVwIHNlZ21lbnQgc2VuZGluZwoJICAuLi4gdG8gdXNlIHRoZSBzcmNfc2VnbWVudCBhcyBhIGJhc2lzIGZvciB0aGUgc2VudCBzZWdtZW50LAoJICB0aGVyZWJ5IHByb3Blcmx5IGNvbnZleWluZyBhY2N1bXVsYXRlZCBiYXNlX3RpbWUgZXRjLgoJICBBbHNvIGVuc3VyZSBzcmNfc2VnbWVudCBpcyBvbmx5IGFkanVzdGVkIG9uY2UsIHNvIHRoYXQKCSAgYWxsIGRvd25zdHJlYW0gc2VnbWVudHMgYXJlIGlkZW50aWNhbCB0byBhdm9pZCBzdHJlYW0KCSAgbWlzYWxpZ25tZW50LgoKMjAxMi0xMC0xMSAxMjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHNlbmQgR0FQIGV2ZW50IHJhdGhlciB0aGFuIHNlZ21lbnQgdXBkYXRlcwoKMjAxMi0xMC0xMSAxMTo1MTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlZmFjdG9yIHNlZ21lbnQgc2VuZGluZwoKMjAxMi0xMC0xMSAxMTozMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlZmFjdG9yIGluaXQgYW5kIHJlc2V0CgoyMDEyLTEwLTExIDExOjA0OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbm8gbW9yZSBzZWdtZW50IGNsb3NpbmcgaW4gMS4wCgoyMDEyLTEwLTExIDExOjAzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2xlYW4gdXAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEyLTEwLTExIDE1OjMxOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IGJ1ZmZlciBwYXJzaW5nCgkgIC4uLiB0byBhdm9pZCBmZWVkaW5nIGVtcHR5IGJ1ZmZlcnMgdG8gZGVjb2Rlci4KCjIwMTItMTAtMTIgMTU6MjY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpcnN0IHB1c2ggRU9TLCB0aGVuIGRlc3Ryb3kgYWxsIHByb2dyYW1zCgkgIEFuZCBhbHNvIHByb3Blcmx5IHJlbW92ZSB0aGUgcHJvZ3JhbSBmcm9tIHRoZSBzdWJjbGFzcwoKMjAxMi0xMC0xMiAxNTowOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggaW52YWxpZCByZWFkCgoyMDEyLTEwLTEwIDE4OjE4OjAzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzaWduYWwgaW50ZXJsYWNpbmcgcHJvcGVybHkgaW4gdmlkZW8gY2FwcwoJICBUaGUgZmllbGQgaXMgY2FsbGVkICJpbnRlcmxhY2UtbW9kZSIgbW9kZSBub3cgYW5kIGlzIGEgc3RyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODk1CgoyMDEyLTEwLTEwIDE0OjExOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICByZXBsYWNlIHNvbWUgcGxheWJpbjIgLT4gcGxheWJpbgoKMjAxMi0xMC0xMCAwOTo1ODozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHJlc2V0IGZyYW1lIHBhcnNlciBhZnRlciBwYXJzaW5nIGNhcHMgY29kZWMgZGF0YQoJICAuLi4gc28gYXMgdG8gYXJyYW5nZSBmb3IgYSBwcm9wZXIgZnJlc2ggc3RhdGUgdXBvbiBmaXJzdCBmcmFtZS4KCjIwMTItMTAtMTAgMDk6NDg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSB0byB0aGUgcmlnaHQgY29tbWl0IGFnYWluCgkgIFdhcyBhY2NpZGVudGlhbGx5IHJldmVydGVkIHRvIGFuIG9sZGVyIHZlcnNpb24gaW4gdGhlIGxhc3QgY29tbWl0LgoKMjAxMi0xMC0wOSAyMzowMDoxNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZTogYWRkIGEgbW9kZSB3aGVyZSB0aGUgY2FwcyBhcmUgdGFrZW4gZnJvbSB0aGUgc2luayBwYWQsIGFuZCB0aHVzIGF1ZGlvcGFyc2UgaXMgb25seSBwZXJmb3JtaW5nIHRpbWVzdGFtcGluZy4KCjIwMTItMTAtMDkgMjE6MTk6MTUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcmVzZXQgZnJhbWUgcGFyc2VyIGFmdGVyIHBhcnNpbmcgY29kZWNfZGF0YSBidWZmZXIgaW4gY2FwcywgdG8gYXZvaWQgbm90IGNvcnJlY3RseSBwYXJzaW5nIHRoZSBmdWxsIGZpcnN0IGZyYW1lLgoKMjAxMi0xMC0wOSAxMzo1MzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHByb3Blcmx5IG1hcmsgY29uZmlnIGRhdGEgcHJlc2VuY2UKCSAgLi4uIHdoaWNoIHdlIGFsbG93IHRvIHN0YXJ0IGF0IFZpc3VhbE9iamVjdFNlcXVlbmNlIG9yCgkgIGF0IFZpZGVvT2JqZWN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NzA5CgoyMDEyLTEwLTA4IDEyOjM4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogRml4IHVuaXRpYWlsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIEFuZCBhbHNvIHVzZSB0aGUgcGFkJ3MgZGVmYXVsdCBldmVudCBmdW5jdGlvbiBpbnN0ZWFkCgkgIG9mIGp1c3QgcHVzaGluZyB0byB0aGUgcGVlcnBhZC4gVGhpcyBtYWtlcyBzdXJlIGFueQoJICBkZWZhdWx0IGhhbmRsaW5nIG9mIGV2ZW50cyBpcyBjYWxsZWQuCgoyMDEyLTEwLTA4IDEyOjIzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmllbGRhbmFseXNpczogUmVtb3ZlIGZyb20gdGhlIE5PTlBPUlRFRCBwbHVnaW5zIGxpc3QKCSAgSXQncyBzdXBwb3NlZCB0byBiZSBwb3J0ZWQgaW4gMS4wLjEgYWxyZWFkeS4KCjIwMTItMTAtMDcgMTc6MDY6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgJ21ha2UgdXBsb2FkJyB0YXJnZXQgZm9yIGRvY3MvIGZvciBuZXctcmVsZWFzZSBzY3JpcHQKCjIwMTItMTAtMDcgMTc6MDM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjEgPT09CgoyMDEyLTEwLTA3IDE1OjU3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMQoKMjAxMi0xMC0wNiAxNDo1Nzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmMwYjUyYyB0byA2YmI2OTUxCgoyMDEyLTEwLTAzIDExOjA1OjA2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIG1ldGEgaW5mbzogcmVnaXN0ZXIgdGhyZWFkLXNhZmVseS4KCjIwMTItMTAtMDMgMTc6MjM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBBbHNvIGNvbW1pdCByZW1haW5pbmcgdW5jb21taXR0ZWQgY2hhbmdlcy4uLgoKMjAxMi0xMC0wMyAwOTozOToyOCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogcmVkaWZpbmUgdnA4X25vcm0gdG8gYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcyB3aXRoIGxpYnZweAoKMjAxMi0xMC0wMyAwOTo0OTozOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyBmb3Igc3RhdGljIGxpbmtzIHdpdGggbGlic2Nocm9lZGluZ2VyCgoyMDExLTEyLTI2IDIyOjA0OjA0IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBhZGQgWVYxMiBhbmQgTlYxMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjAKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmgKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmMKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDEyLTEwLTAyIDIyOjIwOjIwICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBjYXBzIGxvY2sgZnJvbSBwYXJzZXR0ZXIgZWxlbWVudC4KCSAgQWxsIHRoZSBtZW1iZXJzIGl0IHVzZWQgdG8gcHJvdGVjdCBpbiAwLjEwIGFyZSBwcm90ZWN0ZWQgYnkKCSAgdGhlIHN0cmVhbSBsb2NrIG5vdy4KCjIwMTItMTAtMDEgMjM6NDM6NDcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSAgcmVzaW5kdmQ6IFVwZGF0ZSBvdmVycmlkZGVuIGNhcHMgd2hlbiB0aGUgREFSIGNoYW5nZXMKCSAgU2VuZCBhIG5ldyBjYXBzIGV2ZW50IGRvd25zdHJlYW0gd2hlbiB3ZSByZWNlaXZlIG5ldyBvcmRlcnMKCSAgZnJvbSB0aGUgVk0sIGlmIHRoZXJlIGFyZSBleGlzdGluZyBjYXBzLgoKMjAxMi0xMC0wMSAyMzoyMToxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIHJlc2luZHZkOiBQb3J0IHBhcnNldHRlciBlbGVtZW50CgkgIFBvcnQgdGhlIERWRCBlbGVtZW50IHdoaWNoIG92ZXJyaWRlcyB0aGUgTVBFRyBlbmNvZGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICB0byBtYXRjaCB0aGF0IHJlcXVlc3RlZCBieSB0aGUgRFZEIFZNLgoKMjAxMi0xMC0wMSAxMzo1MjozNSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCjIwMTItMDktMzAgMjA6NTI6MzAgKzAyMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8Y2ZlcmdlYXVAcmVkaGF0LmNvbT4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogTWlzc2luZyB1bm1hcCBidWZmZXIgaW4gdHJhbnNmb3JtX2lwCgkgIFdoZW4gbm8gc2FtcGxlcyBoYXZlIHRvIGJlIHByb2Nlc3NlZCwgdHJhbnNmb3JtX2lwIGV4aXRzIGVhcmx5LCBidXQKCSAgdGhlIGJ1ZmZlciBpdCB1c2VzIHdhcyBub3QgcHJvcGVybHkgdW5tYXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNTkKCjIwMTItMDktMzAgMDM6NDk6MTcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaWRkbGUgd2l0aCBzZWdtZW50IGhhbmRsaW5nIGZvciBEVkQuCgkgIENsYXJpZnkgc29tZSBvZiB0aGUgdGVybXMgdXNlZCwgYW5kIG1ha2Ugc3VyZSB0byBleHRlbmQgdGhlCgkgIHN0b3AgdGltZSB3aGVuIHRoZSBwb3NpdGlvbiBtb3ZlcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQKCSAgc2VnbWVudCAoYXMgZm9yIHN0aWxsIGZyYW1lcywgZm9yIGV4YW1wbGUpLgoJICBBbHNvLCBtYWtlIHN1cmUgdG8gcmVzZXQgdGhlIHBvc2l0aW9uIHZhbHVlIG9mIHRoZSBzZWdtZW50IHRoZQoJICBkZW11eGVyIG91dHB1dHMgd2hlbiBjb2xsZWN0aW5nIGEgc2VhbWxlc3Mgc2VnbWVudC4KCjIwMTItMDktMjkgMTM6MjE6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IGZpeCBwbHVnaW4gbG9hZGluZyBmb3IgZnJlaTByIGVsZW1lbnRzIHRoYXQgaGF2ZSBubyBpbmZvLmV4cGxhbmF0aW9uCgkgIFdlIGRvbid0IGFsbG93IGVtcHR5IGRlc2NyaXB0aW9ucyBmb3IgZWxlbWVudHMgYW55IG1vcmUuCgoyMDEyLTA5LTI5IDEyOjM2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNvbWUgbGlib2lsIHJlZmVyZW5jZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzI4NQoKMjAxMi0wOS0yOSAxMjozMDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgc29tZSBvbGQgZWxlbWVudHMgc28gdGhleSBkb24ndCBnZXQgcG9ydGVkIGFjY2lkZW50YWxseQoJICBUaGV5IGFyZSByZXBsYWNlZCBieSB2aWRlb2NvbnZlcnQgYW5kIGdka3BpeGJ1Zm92ZXJsYXkKCjIwMTItMDktMjggMjI6MzA6MzkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmw6IGZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggc2V0c29ja29wdCgpIG9uIHdpbmRvd3MKCSAgVGhlIG9wdHZhbCBhcmd1bWVudCBpcyBvZiB0eXBlIGNvbnN0IGNoYXIgKiBvbiB3aW5kb3dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDY1CgoyMDEyLTA5LTI4IDExOjU5OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IFBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE2NzgKCjIwMTItMDktMjYgMDg6MjA6NDkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmw6IGZpeCBidWlsZCBvbiB3aW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0ODQ3CgoyMDEyLTA5LTI4IDAwOjA2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogY2hhbmdlIHZpZGVvLXNvdXJjZSBpZiB0aGUgdXNlciByZXF1ZXN0ZWQKCSAgV2hlbiBnb2luZyBmcm9tIG51bGwgdG8gcmVhZHksIGNoZWNrIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCB0bwoJICB1c2UgYSBuZXcgc291cmNlIGFuZCByZXBsYWNlIHRoZSBjdXJyZW50IG9uZS4KCSAgRml4ZXMgIzY4MTU2MgoKMjAxMi0wOS0yNyAyMzoyMjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBwYWQgcHJvYmUgaWRzIGFyZSBndWxvbmcKCSAgQ2hhbmdlIHZhcmlhYmxlIHRvIHRoZSBjb3JyZWN0IHR5cGUKCjIwMTItMDktMjcgMTk6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiB1c2UgY29ycmVjdCBlbGVtZW50IG5hbWUgd2hlbiByZXBsYWNpbmcgdGhlIHZpZGVvIGZpbHRlcgoJICBUaGUgbmFtZSB3YXMgdXBkYXRlZCBvbiB0aGUgMC4xMCAtPiAxLjAgdHJhbnNpdGlvbiwgYnV0IHRoZQoJICBnc3RfYmluX3JlbW92ZSB3YXMgc3RpbGwgdXNpbmcgdGhlIG9sZCBuYW1lLCBjYXVzaW5nIGFuIGFzc2VydGlvbgoJICB3aGVuIHJlcGxhY2luZyB2aWRlby1zb3VyY2UtZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE1NjQKCjIwMTItMDktMjYgMTQ6NTA6MDQgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBUcmFuc2Zvcm0gdGltZXN0YW1wcyBwcm9wZXJseSBhZnRlciBhIHNlZWsuCgkgIFRoZSBzZWdtZW50IGlzIHRyYW5zZm9ybWVkIHRvIG1hdGNoIHRoZSBwaXRjaCBjb252ZXJzaW9uCgkgIGJlaW5nIGFwcGxpZWQsIHNvIG1ha2Ugc3VyZSB0aGUgdGltZXN0YW1wcyBiZWluZyBvdXRwdXQKCSAgbWF0Y2ggdGhlIGNvbmZpZ3VyZWQgZG93bnN0cmVhbSBzZWdtZW50IGFjY29yZGluZ2x5LCBhbmQKCSAgYWRqdXN0IHRoZSBkb3duc3RyZWFtIHNlZ21lbnQgcG9zaXRpb24gdG8gbWF0Y2ggdGhlIHN0cmVhbSB0aW1lCgkgIHJhdGlvIGFsc28uCgoyMDEyLTA5LTE4IDAxOjEzOjM2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIHNwdXJpb3VzICdjbG9zZSBzZWdtZW50JyBldmVudHMuIE1ha2UgYSBzaW5nbGUgc2VnbWVudAoJICBXaXRoIHRoZSBuZXcgMS4wIHNlZ21lbnQgc2VtYW50aWNzLCB0aGVyZSdzIG5vIG5lZWQgdG8gY2xvc2UgdGhlCgkgIHByZXZpb3VzIHNlZ21lbnQgYmVmb3JlIHNlbmRpbmcgb3V0IGEgbmV3IG9uZSwgc28gZG9uJ3QgZG8gaXQuCgkgIEFsc28sIGFkanVzdCB0aGUgb3V0Z29pbmcgc2VnbWVudCB0byBqdXN0IGJlIG9uZSBjb250aWd1b3VzCgkgIHRpbWVsaW5lLCB3aXRoIGEgYmFzZSBvZiAwLiBGaXhlcyBzb21lIHJlcGVhdGluZyB0aW1lc3RhbXBzIHdoZW4KCSAgc2VnbWVudHMgY2hhbmdlLgoKMjAxMi0wOS0yNCAxNzoyNToyNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkgIGZpZWxkYW5hbHlzaXM6IFBvcnQgdG8gMS4wCgkgIEkgd2FzIGFsc28gdmFndWVseSBmb3JjZWQgdG8gb3ZlcmhhdWwgc29tZSBiaXRzIGFuZCBwaWVjZXMgYW5kIG1lc3Mgd2l0aAoJICB0aGUgZGF0YSBzdHJ1Y3R1cmVzLiBUaGlzIHdhcyBtb3N0bHkgZHVlIHRvIGNhcHMgbm90IGJlaW5nIHBhcnQgb2YKCSAgYnVmZmVycyBhbmQgc28gSSBoYWQgdG8gc3dpdGNoIHRvIHVzaW5nIEdzdFZpZGVvRnJhbWUgYW5kIEdzdFZpZGVvSW5mby4KCjIwMTItMDktMjQgMTY6MTE6MzIgLTA1MDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJICBjaHJvbWFwcmludDogbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UKCSAgQ2FsbHMgdG8gZ3N0X2Jhc2VfdHJhbnNmb3JtX2dldF90eXBlIGFuZCBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X3Bhc3N0aHJvdWdoCgkgIHJlcXVpcmUgbGlua2luZyB3aXRoIGxpYmdzdGJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3NDAKCjIwMTItMDktMjQgMTY6NTk6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjQyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMAoKMjAxMi0wOS0yNCAxNDo0MjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTIzIDEzOjE1OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGNoYW5nZSBkZXZpY2UgaW5zdGFuY2UgbGlmZWN5Y2xlCgkgIFRoZSBkZWNrbGluayBkcml2ZXIgZXZlbnR1YWxseSBjcmFzaGVzIGFmdGVyIHJlcGVhdGVkIGNyZWF0aW9uL2RlbGV0aW9uCgkgIG9mIGRldmljZSwgaW5wdXQsIG91dHB1dCwgYW5kIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy4gIENoYW5nZSB0byBjcmVhdGUKCSAgdGhlc2UgYXQgdGhlIG91dHNldCBhbmQga2VlcCB0aGVtIGFyb3VuZCBmb3JldmVyLgoKMjAxMi0wOS0yMiAxMzo1Njo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogRml4IG1lbW9yeSBsZWFrcwoJICBCdWZmZXJzIG5vdyBob2xkIG9uIHRvIGEgcmVmZXJlbmNlIGZvciB0aGUgaW5wdXQsIHNvIHRoZSBpbnB1dAoJICBvYmplY3QgZG9lc24ndCBnZXQgZnJlZWQgKGFuZCBjYXJyeSB0aGUgYnVmZmVycyB3aXRoIGl0KSBiZWZvcmUKCSAgYWxsIHRoZSBidWZmZXJzIGFyZSBmcmVlZC4KCjIwMTItMDktMjMgMjE6MDg6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgdGVzdHM6IGRpc2FibGUgYXNzcmVuZGVyIHVuaXQgdGVzdAoJICBEb2Vzbid0IHdvcmssIG5lZWRzIGZpeGluZy4KCjIwMTItMDktMjMgMjE6MDc6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGRpc2FibGUgZm9yIGF1dG9wbHVnZ2luZyB1bnRpbCBpdCB3b3JrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTkyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ2ODMKCjIwMTItMDktMjIgMTU6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBVc2UgMS4wLXN0eWxlIGNhcHMgbmVnb3RpYXRpb24gYW5kIGF1ZGlvL3gtcmF3CgoyMDEyLTA5LTIwIDE4OjQyOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzZW5jOiBSYW5rIGFzIFByaW1hcnkKCjIwMTItMDktMjAgMTg6NDE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEFsbG9jYXRlIHRoZSBydHAgYnVmZmVyIGNvcnJlY3RseQoJICBVc2UgdGhlIHJpZ2h0IGZ1bmN0aW9ucyB0byBhbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlcgoKMjAxMi0wOS0yMiAxNjowODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGY5NjJmNyB0byA2YzBiNTJjCgoyMDEyLTA5LTIwIDAwOjA4OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkgIGludGVyc3Vic3JjOiBkaXNhYmxlIHRpbWVzdGFtcGluZyBjb2RlIHRoYXQgZG9lc24ndCBtYWtlIHNlbnNlCgkgIGFuZCB3aGljaCBicmVha3MgdGhlIHN0YXRlcyBjaGVjayBiZWNhdXNlIHdlIGVuZCB1cCB0cnlpbmcgdG8KCSAgZGl2aWRlIGJ5IDAuCgoyMDEyLTA5LTE4IDEzOjE3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBpbml0IHZpZGVvaW5mbwoKMjAxMi0wOS0xOCAxMzoxNzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGluaXQgdmlkZW9pbmZvCgoyMDEyLTA5LTE4IDAwOjEyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogcmVtb3ZlIG9uZSBtb3JlIG9sZCBpbmNsdWRlCgo9PT0gcmVsZWFzZSAwLjExLjk5ID09PQoKMjAxMi0wOS0xNyAxODowNDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45OQoKMjAxMi0wOS0xNyAxNzo1MjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzNkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDE3OjEzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiByZW1vdmUgZnJlZXplIGVsZW1lbnQsIHdhcyByZXBsYWNlZCBieSBpbWFnZWZyZWV6ZSBpbiAtZ29vZCB5ZWFycyBhZ28KCjIwMTItMDktMTcgMjM6NTk6MzQgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBGaXggc2VnbWVudCBoYW5kbGluZyBpbiB0aGUgZGVtdXhlci4KCSAgVHJhbnNmZXIgdGhlIGluY29taW5nIHNlZ21lbnQgYmFzZSB0aW1lIHRvIHRoZSBzcmMKCSAgc2VnbWVudCB0aGUgZGVtdXhlciBzZW5kcyBkb3duc3RyZWFtLiBBZGQgc29tZQoJICAoZGlzYWJsZWQpIGRlYnVnIHRvIHRoZSBiaW4gZm9yIHRyYWNraW5nIG91dGdvaW5nCgkgIHRpbWVzdGFtcHMuCgoyMDEyLTA5LTE3IDAwOjA1OjE5ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIHZwOCBwbHVnaW4gZnJvbSBzcGVjIGFmdGVyIG1vdmUgdG8gZ29vZAoKMjAxMi0wOS0xNiAxNTo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwODogUmVtb3ZlIHBsdWdpbiwgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoKMjAxMi0wOS0xNiAxNToyNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFVucmVmIGlucHV0L291dHB1dCBzdGF0ZXMgd2hlbiBzdG9wcGluZyB0aGUgZGVjb2RlcgoKMjAxMi0wOS0xNiAxNToxODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkgIHZwOGVuYzogVXBkYXRlIHJlYWx0aW1lIHByb2ZpbGUgdG8gdGhlIG5ldyBwcm9wZXJ0aWVzCgoyMDEyLTA5LTE2IDExOjAwOjUzICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGFuZCBmaXggc3BlYyB3aXRoIGxhdGVzdCBjaGFuZ2VzIGFuZCBGMTggbmFtZSBzY2hlZW1lCgoyMDEyLTA5LTE2IDEwOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4OiBSZXF1aXJlIGxhdGVzdCBsaWJ2cHggcmVsZWFzZSAoMS4xLjAgZnJvbSBNYXkgMjAxMikKCSAgRml4ZXMgYnVnICM2ODQxMTYgYW5kIHNpbXBsaWZpZXMgY29uZmlndXJlIGNoZWNrcy4KCjIwMTItMDktMTUgMjA6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgYSBzdHJpbmcgZmllbGQgZm9yIHRoZSBwcm9maWxlIGluIHRoZSBjYXBzCgkgIEp1c3QgZm9yIGNvbnNpc3RlbmN5IHdpdGggYWxsIHRoZSBvdGhlciBjb2RlY3MuCgoyMDEyLTA5LTE1IDE5OjA4OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgdXNlIGdzdF9lbGVtZW50X2ZhY3RvcnlfZ2V0X21ldGFkYXRhIHRvIHJlcGxhY2Ugb2Jzb2xldGUgQVBJCgoyMDEyLTA5LTE1IDAwOjA0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IHNldCBwcm9maWxlIGluIGNhcHMKCjIwMTItMDktMTQgMjM6NDE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBVcGRhdGUgY29weXJpZ2h0IGFuZCBhdXRob3JzCgoyMDEyLTA5LTE0IDIzOjQwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogVXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEyLTA5LTA4IDE1OjM4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogUmV3b3JrIGVuY29kZXIgcHJvcGVydGllcyB0byBiZSBtb3JlIGluIGxpbmUgd2l0aCB0aGUgbGlidnB4IHRvb2xzIGFuZCBBUEkKCSAgQWxzbyBhZGQgYWxsIGF2YWlsYWJsZSBwcm9wZXJ0aWVzLgoKMjAxMi0wOS0xNCAxNzo1NTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIHJlcGxhY2UgX2dldF9jYXBzX3JlZmZlZCB3aXRoIF9nZXRfY2FwcwoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDEyOjA2OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaW5pdCBwcHMgYW5kIHNwcyBzdHJ1Y3R1cmVzIGJlZm9yZSBwYXJzaW5nCgkgIC4uLiB3aGljaCBhcnJhbmdlcyBmb3IgYSB2YWxpZCBmYWxsYmFjayBpZCwgYW5kIGFsbG93cyB0byBjb250aW51ZSBiZXN0IGVmZm9ydAoJICBwcm9jZXNzaW5nIGV2ZW4gd2hlbiBzcHMvcHBzIHBhcnNpbmcgZmFpbHMuCgoyMDEyLTA5LTAzIDEzOjU4OjIyICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBnc3RoMjY0cGFyc2U6IGFkZCBjb21tZW50IHdoZXJlIHJldHVybiBzaG91bGQgYmUgY2hlY2tlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2NAoKMjAxMi0wOS0wMyAxMzo0MzowMyArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGdzdGgyNjRwYXJzZXI6IGZpeCBDb3Zlcml0eSBmb3VuZCBub3QgaW5pdGlhbGl6ZWQgc3BzL3BwcyB2YWxpZCBtZW1iZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjQKCjIwMTItMDktMDMgMTM6MDk6MjkgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBnc3RoMjY0cGFyc2VyOiBmaXggQ292ZXJpdHkgZGV0ZWN0ZWQgb2ZmIGJ5IG9uZSBhdCBjYWxsIHRvIFJFQURfVUVfQUxMT1dFRC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2MwoKMjAxMi0wOS0xNCAxNjo0OToyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSAgcmVuYW1lIHNvbWUgY2FwcwoKMjAxMi0wOS0xNCAxNjo0NTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGZmbXBlZ2NvbG9yc3BhY2UgaXMgbm8gbW9yZQoKMjAxMi0wOS0xNCAxNjoyOToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcmVuYW1lIHNvbWUgY2FwcyBhbmQgZWxlbWVudHMgaW4gZXhhbXBsZXMKCjIwMTItMDktMDIgMjA6MTc6MTQgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiB1c2UgcHJldmlvdXNseSBwYXJzZWQgdmlzdWFsIG9iamVjdCB3aGVuIHBhcnNpbmcgVk9MCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMjA6MTk6MTcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogcGFyc2UgY29tcGxleGl0eSBlc3RpbWF0aW9uIGhlYWRlciBpbiB2aWRlbyBvYmplY3QgbGF5ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAyMDoxODozMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBmaXggc29tZSBpc3N1ZXMgcmVsYXRlZCB0byB2aWRlbyBvYmplY3QgbGF5ZXIgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDE4OjIxOjE2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG8gbm90IHNraXAgdXNlciBkYXRhCgkgIFVzZXIgZGF0YSB3YXMgc2tpcHBlZCB1bnRpbCBub3csIHNvIHRoZSB1c2VyIGRhdGEgd2FzIGluY2x1ZGVkIHdoZW4KCSAgcGFyc2luZyB0aGUgcHJldmlvdXMgcGFja2V0IGFuZCBpbiB0aGUgY29uZmlnIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0xNCAwMjo1OTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45NCA9PT0KCjIwMTItMDktMTQgMDI6NTA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk0CgoyMDEyLTA5LTE0IDAyOjA2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDEyLTA5LTEzIDEzOjQ0OjA1IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgY2hlY2s6IFZlcmlmeSB0aGUgRFRTIGVtZXJnaW5nIGZyb20gdGhlIHBhcnNlciwgbm90IFBUUwoJICBQVFMgZG9lc24ndCBpbmNyZW1lbnQgbGluZWFybHkgaW4gcGFyc2VycyB3aXRoIGZyYW1lIHJlLW9yZGVyaW5nLCBidXQKCSAgRFRTIGRvZXMuIFZlcmlmeSB0aGF0IGluc3RlYWQuCgoyMDEyLTA5LTEzIDEzOjM0OjE2IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjaGVjazogRml4IG1wZWd2aWRlb3BhcnNlciBQQVIgZXhwZWN0YXRpb24KCSAgVGhlIHBhcnNlciAoY29ycmVjdGx5KSBub3cgaW50ZXJwcmV0cyB0aGUgdGVzdCBoZWFkZXIgdXNpbmcKCSAgTVBFRy0xIHNlbWFudGljcywgc28gZml4IHRoZSB0ZXN0IGV4cGVjdGF0aW9uLgoKMjAxMi0wOS0xMyAxNTo1MTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IE1ha2UgY2FwcyB3cml0YWJsZSBpbiBmaXhhdGUKCjIwMTItMDktMTMgMTU6MDY6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogUG9ydCB0byAxLjAgQVBJCgkgIEFsc28gcmVtb3ZlIGEgbG90IG9mIGVtcHR5LCBub24taW1wbGVtZW50ZWQgbWV0aG9kcwoKMjAxMi0wOS0xMiAyMjo1ODowNCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBEaXNhYmxlIFBUUyBpbnRlcnBvbGF0aW9uIGluIHRoZSBiYXNlIHBhcnNlIGNsYXNzCgkgIEFsbCB0aGVzZSBmb3JtYXRzIGhhdmUgcmUtb3JkZXJlZCBQVFMgd2hpY2ggdGhlIGJhc2UgY2xhc3MgZ2V0cwoJICB3cm9uZy4gSXQncyBiZXR0ZXIgdG8gbGVhdmUgdGhlbSBibGFuayBhbmQgbGV0IHRoZSBkZWNvZGVyIHNvcnQgaXQKCSAgb3V0LiBCZXR0ZXIgeWV0IHdvdWxkIGJlIHRvIHRyYWNrIGFuZCBpbnRlcnBvbGF0ZSB0aGUgdGltZXN0YW1wcwoJICBpbiB0aGUgc3ViY2xhc3NlcyAoRklYTUUpCgoyMDEyLTA5LTA5IDE2OjQwOjAwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkdmFuY2UgdmlkZW8gc3RyZWFtIHdpdGggZ2FwIGV2ZW50cy4KCSAgSGFuZGxlIEdhcCBldmVudHMgdGhlIHdheSB3ZSB1c2VkIHRvIGhhbmRsZSBzZWdtZW50IHVwZGF0ZXMKCSAgYW5kIGFkdmFuY2UvZmlsbCBpbiB0aGUgdmlkZW8gc3RyZWFtIGFjY29yZGluZ2x5LiBGaXhlcwoJICAnc3RpbGwnIG1lbnVzIHdoaWNoIGFyZW4ndCBEVkQgc3RpbGwgZnJhbWVzLCBidXQgYXJlIGp1c3QgYQoJICBzaW5nbGUgZnJhbWUgd2l0aCBhY2NvbXBhbnlpbmcgYXVkaW8uCgoyMDEyLTA5LTA5IDE2OjI5OjUyIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBTdGFydCB3aXRoIGEgbGFyZ2VyIHN1YnBpY3R1cmUgcXVldWUgZm9yIHByZXJvbGwuCgkgIFNocmluayB0aGUgcXVldWUgb25jZSB3ZSdyZSBwcmVyb2xsZWQuIEZpeGVzIHRoZSBGcmluZ2UgUzEKCSAgRFZELiBBbHNvLCBlbnN1cmUgd2Ugb25seSBmaXJlIG5vX21vcmVfcGFkcyBvbmNlLgoKMjAxMi0wOS0wOCAxOToyMTo0NyAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBEaXNhYmxlIGlucHV0LXNlbGVjdG9yIHN5bmNpbmcKCSAgVW50aWwgc2VnbWVudHMgYXJlIGJldHRlciB3b3JrZWQgb3V0LiBBbHNvLCB1c2UKCSAgaW50ZXJuYWwgaW5wdXQtc2VsZWN0b3IgZm9yIGF1ZGlvIGFzIHdlbGwKCjIwMTItMDktMDMgMDk6NDc6MzAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogSGFuZGxlIFNlcXVlbmNlIERpc3BsYXkgRXh0ZW5zaW9uCgkgIENoYW5nZSB0aGUgd2F5IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gaXMgY29tcHV0ZWQgYnkKCSAgaW50ZXJwcmV0aW5nIHRoZSBzZXF1ZW5jZSBoZWFkZXIgYXNwZWN0IHJhdGlvIGluZm8KCSAgYXMgTVBFRy0xIHZhbHVlcyB1bnRpbCBhIHNlcXVlbmNlIGV4dGVuc2lvbiBvcgoJICBzZXF1ZW5jZSBkaXNwbGF5IGV4dGVuc2lvbiBpcyBzZWVuLCBhbmQgdGhlbiB1cGRhdGluZwoJICB0aGUgc2VxdWVuY2UgaGVhZGVyIHN0cnVjdCBhY2NvcmRpbmdseS4KCSAgRml4ZXMgaW5jb3JyZWN0IGFuYW1vcnBoaWMgZGlzcGxheSBvbiBzb21lIE1QRUctMiAoRFZEKQoJICBzZXF1ZW5jZXMuCgoyMDEyLTA5LTEzIDAxOjQwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogZGlzYWJsZSB5ZXQgYW5vdGhlciBteGYgdGVzdHMgdW50aWwgdGhlIGVsZW1lbnRzIGFyZSBwb3J0ZWQKCjIwMTItMDktMTMgMDE6MzQ6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogZml4IGNhcHMgZml4YXRpb24KCSAgTWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtLgoKMjAxMi0wOS0xMyAwMToyNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJICBzZWdtZW50Y2xpcDogZml4IHdyb25nIHBhZCB0ZW1wbGF0ZSB1bnJlZgoJICBCbG93cyB1cCB3aGVuIHRyeWluZyB0byBpbnN0YW50aWF0ZSBhIHNlY29uZCBjbGlwIGVsZW1lbnQKCSAgb2YgdGhlIHNhbWUgdHlwZSwgbGlrZSBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMi0wOS0xMyAwMTowNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmYWlsIGdyYWNlZnVsbHkgd2l0aCBhbiBlcnJvciBtZXNzYWdlIGlmIHdlIGNhbid0IGNvbm5lY3QgdG8gd2F5bGFuZAoJICBnX3JldHVybl92YWxfaWZfZmFpbCgpIGlzIG5vdCBmb3IgZXJyb3IgaGFuZGxpbmcsIGl0J3MgZm9yCgkgIGNhdGNoaW5nIHByb2dyYW1taW5nIGVycm9ycyBpbiBwdWJsaWMgQVBJLgoJICBGaXhlcyBwcm9ibGVtIHdpdGggZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMi0wOS0xMyAwMDo1OTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIGxvZ2dpbmcgYW55dGhpbmcKCjIwMTItMDktMTMgMDA6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSAgdGVzdHM6IHNraXAgbXhmIHRlc3RzIHdoaWxlIGVsZW1lbnRzIGhhdmVuJ3QgYmVlbiBwb3J0ZWQgeWV0CgoyMDEyLTA5LTEzIDAwOjUwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIEdTVF9FUlJPUiBzdGF0ZW1lbnQgdGhhdCB3YXMgY29tbWl0dGVkIGJ5IGFjY2lkZW50CgoyMDEyLTA5LTEzIDAwOjQwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBmaXggamlmbXV4IHRlc3QKCSAgTmVlZCB0byBwYXNzIGEgR3N0U2FtcGxlIG5vdyBmb3IgR1NUX1RBR19BUFBMSUNBVElPTl9EQVRBCgkgIGluc3RlYWQgb2YgYSBHc3RCdWZmZXIuCgoyMDEyLTA5LTEyIDE4OjM0OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm06IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNzozNDowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogVXNlIGEgR1B0ckFycmF5IGluc3RlYWQgb2YgYSBHUXVldWUKCSAgVGhpcyB3YXksIHRoZSBtb3N0IGNvbW1vbiBmdW5jdGlvbiAoY2hhbmdpbmcgYnVmZmVycykgYmVjb21lcyBPKDEpIGluc3RlYWQKCSAgb2YgTyhuKQoKMjAxMi0wOS0xMiAxNzoyNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTY6MjM6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIHNwZWVkOiBWYXJpb3VzIDEuMCBzdHlsZSBhZGRpdGlvbnMKCSAgVXNlIEdzdEF1ZGlvSW5mbyBldmVyeXdoZXJlLCBldGMKCjIwMTItMDktMTAgMTc6MTY6MDcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNzI3CgoyMDEyLTA5LTEyIDE2OjAzOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IHBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAyMToxMzozNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIGNvbGxlY3RwYWRzOiByZW1vdmUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwKCSAgUmVuYW1lIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsKCkgdG8gZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkKCkgYW5kIGZpeCBhbGwKCSAgaW52b2NhdGlvbnMuCgoyMDEyLTA5LTEyIDEyOjE0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTU6MDg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBVc2UgZGVmYXVsdCBxdWVyeSBoYW5kbGVycyB3aGVyZSBuZWVkZWQKCSAgQW5kIGZpeHVwIGdldGNhcHMgaGFuZGxlciB3aGlsZSBJJ20gYXQgaXQKCjIwMTItMDktMTIgMDk6NDI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBwb3J0IHRhZ3NldHRlciBtb2RlIHNldHRpbmcgY29kZQoJICBDaGVjayBkaXJlY3RseSB3aXRoIEdTVF9JU19UQUdfU0VUVEVSIGluc3RlYWQgb2YgdXNpbmcgdGhlCgkgIGRlcHJlY2F0ZWQgR3N0SW1wbGVtZW50c0ludGVyZmFjZQoJICBGaXhlcyB0aGUgaW1hZ2UgdGFnIHNldHRpbmcgdW5pdCB0ZXN0CgoyMDEyLTA5LTEyIDEzOjAzOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCB3aW4zMiBidWlsZCBldmVuIG1vcmUKCjIwMTItMDktMTIgMTM6MTc6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTIgMTE6MDg6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYXNwZWN0IHJhdGlvIGNhbGN1bGF0aW9uLgoJICBBU1BFQ1RfSE9SSVpfU0laRSBhbmQgQVNQRUNUX1ZFUlRfU0laRSBhcmUgc3ludGF4IGVsZW1lbnRzIHRoYXQgaG9sZAoJICBiaW5hcnkgZW5jb2RpbmdzIG9mIHNpemVzIHJhbmdpbmcgZnJvbSAxIHRvIDI1Ni4gVGh1cywgdGhlIGNhbGN1bGF0ZWQKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvIHdhcyBvZmYgYnkgb25lLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NTgKCjIwMTItMDktMTIgMTE6MDE6MzQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0cGFyc2U6IGRvbid0IHVzZSBhbm9ueW1vdXMgdW5pb25zLgoJICBBbm9ueW1vdXMgdW5pb24gaXMgYW4gSVNPIEMgKDIwMTEpIGZlYXR1cmUgdGhhdCBpcyBub3QgZXhwb3NlZCBpbgoJICBjb21waWxlcnMgc3RyaWN0bHkgY29uZm9ybWluZyB0byB0aGUgcHJldmlvdXMgc3RhbmRhcmQuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMTIgMTE6MjE6NDEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjb21wdXRlIHBpeGVsIGFzcGVjdCByYXRpby4KCSAgU2lnbmVkLW9mZi1ieTogU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMTIgMDk6NDg6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBhdHRlbXB0IHRvIGdldCBkaXNhYmxlZCBzdHJlYW1oZWFkZXIgdGVzdCB0byBjb21waWxlIG9uIHdpbjMyCgkgIFRob3VnaCBpdCBwcm9iYWJseSB3b24ndCB3b3JrLCBidXQgdGhlbiBpdCdzIGRpc2FibGVkLgoKMjAxMi0wOS0xMiAwOToxMDozNSArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAgb3B1cyArIGpwZWdmb3JtYXQ6IHVuYnJlYWsgbm9uLWRlYnVnIGJ1aWxkCgkgIG9wdXMgKyBqcGVnZm9ybWF0IHBsdWdpbiBidWlsZHMgZmFpbCB3aGVuIGdzdHJlYW1lciBpcyBjb25maWd1cmVkIHdpdGgKCSAgLS1kaXNhYmxlLWdzdC1kZWJ1ZyBhcyB0aGV5IGFyZSBjaGVja2luZyB0aGUgR1NUX0RJU0FCTEVfREVCVUcgc3ltYm9sCgkgIGluc3RlYWQgb2YgR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoJICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODUwCgoyMDEyLTA5LTEyIDAxOjM1OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkgIGpwZWdmb3JtYXQ6IGRvbid0IGxpbmsgdG8gbGliZ3N0aW50ZXJmYWNlcyB3aGljaCBkb2Vzbid0IGV4aXN0IGFueSBsb25nZXIKCjIwMTItMDktMTEgMjA6MzA6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5wbGM6IERvbid0IHVucmVmIHRvbyBtdWNoLCBkb24ndCBmb3J3YXJkIGdhcCBldmVudAoKMjAxMi0wOS0xMSAyMDoxOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkgIHNwYW5wbGM6IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMSAxOTo0MTozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IERvbid0IHRyeSB0byBzeW5jIGNvbnRyb2xsZXIgdmFsdWVzIHRvIGludmFsaWQgdGltZXN0YW1wCgoyMDEyLTA5LTExIDE5OjM2OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpbmlzaCBwb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTEgMTg6NTU6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICB0ZXN0OiBTaW1wbGlmeSBhdXRvY29udmVydCB0ZXN0CgoyMDEyLTA5LTExIDE4OjUzOjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBMb29rIGF0IGFsbCBwb3NzaWJpbGl0aWVzIGZvciBhY2NlcHQtY2FwcyBldmVuIGlmIHRoZXJlIGlzIGEgc2VsZWN0ZWQgc3ViZWxlbWVudAoJICBJZiB0aGUgYWNjZXB0LWNhcHMgc3VjY2VlZHMgd2l0aCBhIGRpZmZlcmVudCBzdWJlbGVtZW50LCB0aGVuIHRoZSBzdWJzZXF1ZW50CgkgIGNhcHMgZXZlbnQgd2lsbCBjaGFuZ2UgdGhlIGN1cnJlbnQgc3ViZWxlbWVudC4KCjIwMTItMDktMTEgMTg6MDI6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3Q6IEZsdXNoIG9wdXMgZW5jb2RlciBiZXR3ZWVuIHRlc3RzCgoyMDEyLTA5LTExIDE4OjAxOjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0OiBGbHVzaCBvcHVzIGVuY29kZXIgYmV0d2VlbiB0ZXN0cwoKMjAxMi0wOS0xMCAxODoyMDo0OCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSAgdXZjaDI2NDogTWFrZSBndWRldi9saWJ1c2IgYSBoYXJkIGRlcGVuZGVuY3kgYW5kIHJlbW92ZSBYVV9GSU5EX1VOSVQgaW9jdGwgc3VwcG9ydAoJICBDb25mbGljdHM6CgkgIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmMKCjIwMTItMDktMTEgMTc6NDc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBleHQsIGdzdDogb25seSBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUgaWYgdXBzdHJlYW0gaXMgc2Vla2FibGUKCjIwMTItMDktMTEgMTU6MDc6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiB0aW1lZCB0ZXh0IGlzIHRleHQveC1yYXcgbm93CgoyMDEyLTA5LTExIDE1OjAyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJICBkM2R2aWRlb3Npbms6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTQ6MzI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IG1wZWcyZW5jLCBtcGxleDogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxNDozMTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAwMTo1Mjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBnZHA6IG1vdmUgZ2RwIHBsdWdpbiBoZXJlIGZyb20gLWJhc2UKCSAgTmVlZHMgc29tZSByZXdvcmtpbmcuCgoyMDEyLTA5LTA5IDE4OjA1OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkdW1wIGJ5dGVzIGludG8gZGVidWcgbG9nIHVzaW5nIEdTVF9NRU1EVU1QCgkgIEluc3RlYWQgb2YgaG9tZS1ncm93biBzb2x1dGlvbi4KCjIwMTItMDctMjcgMTU6MjE6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICB1cGRhdGUgZm9yIG5ldyB2YXJpYWJsZSBuYW1lcwoKMjAxMi0wNy0wMiAxMjo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IHVzZSBtdWx0aWZkc2luayBmb3Igc3RyZWFtaGVhZGVyIHRlc3QKCSAgVXNlIG11bHRpZmRzaW5rIGZvciBwaXBlcyBpbnN0ZWFkIG9mIG11bHRpc29ja2V0c2luaywKCSAgdG8gYXZvaWQgImNyZWF0aW5nIEdTb2NrZXQgZnJvbSBmZCA5OiBTb2NrZXQgb3BlcmF0aW9uCgkgIG9uIG5vbi1zb2NrZXQgImNyaXRpY2FscyBmcm9tIEdpby4gVGVzdCBzdGlsbCBmYWlscywKCSAgYnV0IGl0IGZhaWxzIGluIGEgZGlmZmVyZW50IHdheSBub3cuCgoyMDEyLTA0LTI1IDE4OjA3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcGx1ZyBidWZmZXIgbGVhawoKMjAxMi0wNC0xOSAxNDo0MTo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGluaXRpYWxpemUgdmFyaWFibGVzCgoyMDEyLTA0LTEwIDAwOjQ1OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgVXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCjIwMTItMDQtMDUgMTU6MTE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZQoKMjAxMi0wNC0wMSAxODoxMToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIEltcHJvdmUgYnVmZmVyIGFsbG9jYXRpb24gb2Ygd3JhcHBlZCBtZW1vcnkKCjIwMTItMDMtMzAgMTg6MTI6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTI4IDEyOjQ4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0xNSAxMzozMjowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAyLTIyIDAyOjA1OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0wMyAxMTozODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IGZpeHVwIHVuaXQgdGVzdHMKCjIwMTItMDItMDMgMTE6Mzg6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeHVwIGZvciBjaGFuZ2VkIGNhcHMKCSAgVHJ5IHRvIHNlbmQgdGhlIHN0cmVhbWhlYWRlciBhZnRlciB0aGUgZmlyc3QgYnVmZmVyLgoKMjAxMi0wMi0wMyAxMTozNzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGRhdGFwcm90b2NvbDogZG9uJ3QgZGVmaW5lIGRlZmF1bHQgQ2F0ZWdvcnkKCSAgU2luY2Ugd2Ugbm93IGluY2x1ZGUgdGhpcyBpbnRvIHRoZSB1bml0IHRlc3RzIGRpcmVjdGx5LCBkb24ndCBkZWZpbmUgdGhlIGRlZmF1bHQKCSAgY2F0ZWdvcnkgbWFjcm8gYmVjYXVzZSBpdCBjb25mbGljdHMgd2l0aCBjaGVjay4KCjIwMTItMDEtMzAgMTc6MTY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnIGNoYW5nZXMKCjIwMTItMDEtMjAgMTY6MTE6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHBvcnQgdG8gbmV3IG1hcCBBUEkKCjIwMTItMDEtMTkgMTU6MzI6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMi0wMS0wNCAxNjo0MTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBwb3J0IGFuZCBlbmFibGUgbW9yZSB1bml0IHRlc3RzCgoyMDExLTEyLTI1IDIzOjE5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IG1vdmUgZGF0YXByb3RvY29sIGxpYnJhcnkgaW50byBnZHAgcGx1Z2luIGFuZCBtYWtlIHByaXZhdGUKCSAgV2UgaGF2ZSByZW1vdmVkIHRoaW5ncyBsaWtlIHByb3RvY29sPWdkcCBpbiB0aGUgdGNwIGVsZW1lbnRzCgkgIGluIGZhdm91ciBvZiBleHBsaWNpdCBnZHBwYXkvZGVwYXkgZWxlbWVudHMsIHNvIHRoZXJlJ3Mgbm8gbmVlZAoJICB0byBrZWVwIGEgcHVibGljIEFQSSBhbmQgbGlicmFyeSBmb3Igbm93LiBXZSBjYW4gc3RpbGwgYWRkIGl0CgkgIGJhY2sgbGF0ZXIuIFNvbWVvbmUgbmVlZHMgdG8gdGhpbmsgaGFyZCBhYm91dCAwLjExIGFuZCBnZHAKCSAgYW55d2F5IG9uZSBvZiB0aGVzZSBkYXlzLgoKMjAxMS0xMS0xMSAxNzoxNzo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogZml4IGhlYWRlciBmaWxlcwoJICBFbnN1cmUgY29ycmVjdCBpbmRlbnRhdGlvbiBhbmQgcmV0YWIKCSAgTWFrZSBzdXJlIGFsbCBzdHJ1Y3R1cmUgaGF2ZSBwYWRkaW5nCgoyMDExLTA4LTE2IDE3OjMyOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiByZW5hbWUgYnVmZmVyIFBSRVJPTEwgLT4gTElWRSBmbGFnCgkgIFJlbmFtZSB0aGUgR1NUX0JVRkZFUl9GTEFHX1BSRVJPTEwgdG8gR1NUX0JVRkZFUl9GTEFHX0xJVkUgYW5kIGdpdmUgdGhlIG5ldyBmbGFnCgkgIGEgbWVhbmluZy4gVGhlIG9sZCBQUkVST0xMIGZsYWcgbmV2ZXIgaGFkIGEgY2xlYXIgbWVhbmluZy4KCjIwMTEtMDYtMTAgMTM6NDA6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IG1ha2UgbmV3IF9idWZmZXJfYWxsb2NhdGUgbWV0aG9kCgkgIE1ha2UgYSBuZXcgbWV0aG9kIHRvIGFsbG9jYXRlIGEgYnVmZmVyICsgbWVtb3J5IHRoYXQgdGFrZXMgdGhlIGFsbG9jYXRvciBhbmQgdGhlCgkgIGFsaWdubWVudCBhcyBwYXJhbWV0ZXJzLiBQcm92aWRlIGEgbWFjcm8gZm9yIHRoZSBvbGQgbWV0aG9kIGJ1dCBwcmVmZXIgdG8gdXNlCgkgIHRoZSBuZXcgbWV0aG9kIHRvIGVuY291cmFnZSBwbHVnaW5zIHRvIG5lZ290aWF0ZSB0aGUgYWxsb2NhdG9yIHByb3Blcmx5LgoKMjAxMS0wNS0xMyAxODowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogUmV3b3JrIEdzdFNlZ21lbnQgaGFuZGxpbmcKCSAgSW1wcm92ZSBHc3RTZWdtZW50LCByZW5hbWUgc29tZSBmaWVsZHMuIFRoZSBpZGVhIGlzIHRvIGhhdmUgdGhlIEdzdFNlZ21lbnQKCSAgc3RydWN0dXJlIHJlcHJlc2VudCB0aGUgdGltaW5nIHN0cnVjdHVyZSBvZiB0aGUgYnVmZmVycyBhcyB0aGV5IGFyZSBnZW5lcmF0ZWQgYnkKCSAgdGhlIHNvdXJjZSBvciBkZW11eGVyIGVsZW1lbnQuCgkgIGdzdF9zZWdtZW50X3NldF9zZWVrKCkgLT4gZ3N0X3NlZ21lbnRfZG9fc2VlaygpCgkgIFJlbmFtZSB0aGUgTkVXU0VHTUVOVCBldmVudCB0byBTRUdNRU5ULgoJICBNYWtlIHBhcnNpbmcgb2YgdGhlIFNFR01FTlQgZXZlbnQgaW50byBhIEdzdFNlZ21lbnQgc3RydWN0dXJlLgoJICBQYXNzIGEgR3N0U2VnbWVudCBzdHJ1Y3R1cmUgd2hlbiBtYWtpbmcgYSBuZXcgU0VHTUVOVCBldmVudC4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgcGFzcyB0aGUgdGltaW5nIGluZm8gZGlyZWN0bHkgdG8gdGhlIG5leHQgZWxlbWVudC4gTm8gYWNjdW11bGF0aW9uIGlzIG5lZWRlZCBpbgoJICB0aGUgcmVjZWl2aW5nIGVsZW1lbnQsIGFsbCB0aGUgaW5mbyBpcyBpbnNpZGUgdGhlIGVsZW1lbnQuCgkgIFJlbW92ZSBnc3Rfc2VnbWVudF9zZXRfbmV3c2VnbWVudCgpOiBUaGlzIGZ1bmN0aW9uIGFzIHVzZWQgdG8gYWNjdW11bGF0ZQoJICBzZWdtZW50cyByZWNlaXZlZCBmcm9tIHVwc3RyZWFtLCB3aGljaCBpcyBub3cgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2UgdGhlCgkgIHNlZ21lbnQgZXZlbnQgY29udGFpbnMgdGhlIGNvbXBsZXRlIHRpbWluZyBpbmZvcm1hdGlvbi4KCjIwMTEtMDUtMTAgMTE6NTA6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEhpZGUgdGhlIEdzdFN0cnVjdHVyZSBpbiBHc3RFdmVudAoJICBIaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgb2YgdGhlIGV2ZW50IGluIHRoZSBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyBwYXJ0IHNvIHRoYXQKCSAgd2UgY2FuIGNoYW5nZSBpdC4KCSAgQWRkIG1ldGhvZHMgdG8gY2hlY2sgYW5kIG1ha2UgdGhlIGV2ZW50IHdyaXRhYmxlLgoJICBBZGQgYSBuZXcgbWV0aG9kIHRvIGdldCBhIHdyaXRhYmxlIEdzdFN0cnVjdHVyZSBvZiB0aGUgZWxlbWVudC4KCSAgQXZvaWQgZGlyZWN0bHkgYWNjaXNpbmcgdGhlIGV2ZW50IHN0cnVjdHVyZS4KCjIwMTEtMDUtMDIgMTY6MDA6NTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogYWRkIGRvY3MgZm9yIEdzdERQUGFja2V0aXplcgoKMjAxMS0wMy0yMSAxODoxMzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogcG9ydCBjb2RlIHRvIG5ldyBidWZmZXIgZGF0YSBBUEkKCjIwMTAtMTItMDYgMTk6NDA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IHJlbW92ZSBkZXByZWNhdGVkIGNvZGUKCjIwMTAtMTAtMDggMDk6MzQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBtYWtlIHB1YmxpYyBlbnVtIF9nZXRfdHlwZSgpIGZ1bmN0aW9ucyB0aHJlYWQtc2FmZQoJICBOb3QgdGhhdCBpdCBpcyBsaWtlbHkgdG8gbWF0dGVyIGluIHByYWN0aWNlLCBidXQgc2luY2UgdGhlc2UgYXJlIHB1YmxpYwoJICBBUEkgdGhleSBzaG91bGQgcHJvYmFibHkgYmUgdGhyZWFkLXNhZmUuCgoyMDEwLTEwLTA4IDAwOjM4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZGF0YXByb3RvY29sLCBsZm9jb250cm9sc291cmNlOiBmaXggZW51bSB2YWx1ZSBuYW1lIGluIGVudW1zIHRoYXQgYXJlIHB1YmxpYyBBUEkKCSAgU28gcnVuLXRpbWUgYmluZGluZ3MgY2FuIGludHJvc3BlY3QgdGhlIG5hbWVzIGNvcnJlY3RseSAod2UgYWJ1c2UgdGhpcwoJICBmaWVsZCBhcyBkZXNjcmlwdGlvbiBmaWVsZCBvbmx5IGluIGVsZW1lbnRzLCBub3QgZm9yIHB1YmxpYyBBUEkKCSAgKHdoZXJlIHRoZSBkZXNjcmlwdGlvbiBiZWxvbmdzIGludG8gdGhlIGd0ay1kb2MgY2h1bmspLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTQ2CgoyMDEwLTAzLTAyIDIyOjU4OjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZpeGVzIGZvciAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzCgkgIEFsc28gYWRkcyB0aG9zZSBmbGFncyB0byB0aGUgY29uZmlndXJlIHdhcm5pbmcgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY5MgoKMjAxMC0wMy0wMiAyMzo1MToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogTWFrZSBjb2RlIHNhZmUgZm9yIC1XcmVkdW5kYW50LWRlY2xzCgkgIEFkZHMgdGhhdCB3YXJuaW5nIHRvIGNvbmZpZ3VyZS5hYwoJICBJbmNsdWRlcyBhIHRpbnkgY2hhbmdlIG9mIHRoZSBHU1RfQk9JTEVSUExBVEVfRlVMTCgpIG1hY3JvOgoJICBUaGUgZ2V0X3R5cGUoKSBmdW5jdGlvbiBpcyBubyBsb25nZXIgZGVjbGFyZWQgYmVmb3JlIGJlaW5nIGRlZmluZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2OTIKCjIwMDktMTEtMjcgMTY6Mzk6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IGJyb2tlbiB4cmVmcyBpbiBkb2NzCgoyMDA4LTA2LTMwIDA5OjM4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnZHA6IERvbid0IHdyaXRlIHRvIHRoZSBzYW1lIHJlZ2lvbiBvZiBtZW1vcnkgYXMgYSB1aW50NjQgYW5kIHVpbnQxNiBhcyB0aGlzIGJyZWFrcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBEb24ndCB3cml0ZSB0byB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IGFzIGEgdWludDY0IGFuZCB1aW50MTYKCSAgYXMgdGhpcyBicmVha3Mgc3RyaWN0IGFsaWFzaW5nIHJ1bGVzIGFuZCBhcHBhcmFudGx5IGJyZWFrcyBvbiBQUEMKCSAgYW5kIHMzOTAuIFRoYW5rcyB0byBTam9lcmQgU2ltb25zIGZvciBhbmFseXNpbmcuIEZpeGVzIGJ1ZyAjMzQ4MTE0LgoKMjAwOC0wMy0yNyAxNToyMzo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBXaGVuIGNhbGN1bGF0aW5nIEdEUCBib2R5IENSQywgdXNlIHRoZSBjb3JyZWN0IHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApOgoJICBXaGVuIGNhbGN1bGF0aW5nIEdEUCBib2R5IENSQywgdXNlIHRoZSBjb3JyZWN0IHBvaW50ZXIuCgkgIEZpeGVzIHBhcnQgb2YgIzUyMjQwMS4KCjIwMDgtMDItMjkgMTI6NDE6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdkcDogQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3Rjb25maWcuaC5pbjoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGNvbGxlY3RwYWRzLmM6IChnc3RfY29sbGVjdF9wYWRzX3JlYWRfYnVmZmVyKToKCSAgKiBsaWJzL2dzdC9jaGVjay9nc3RjaGVjay5jOiAoZ3N0X2NoZWNrX2xvZ19tZXNzYWdlX2Z1bmMpLAoJICAoZ3N0X2NoZWNrX2xvZ19jcml0aWNhbF9mdW5jKSwgKGdzdF9jaGVja19kcm9wX2J1ZmZlcnMpLAoJICAoZ3N0X2NoZWNrX2VsZW1lbnRfcHVzaF9idWZmZXJfbGlzdCk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6IChnc3RfY29udHJvbGxlcl9nZXQpLAoJICAoZ3N0X2NvbnRyb2xsZXJfZ2V0X3R5cGUpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aGVscGVyLmM6IChnc3Rfb2JqZWN0X2NvbnRyb2xfcHJvcGVydGllcyksCgkgIChnc3Rfb2JqZWN0X2dldF9jb250cm9sbGVyKSwgKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xfc291cmNlKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGludGVycG9sYXRpb25jb250cm9sc291cmNlLmM6CgkgIChnc3RfaW50ZXJwb2xhdGlvbl9jb250cm9sX3NvdXJjZV9uZXcpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0bGZvY29udHJvbHNvdXJjZS5jOgoJICAoZ3N0X2xmb19jb250cm9sX3NvdXJjZV9uZXcpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0ZmRzcmMuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdG11bHRpcXVldWUuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdHRlZS5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6CgkgICogcGx1Z2lucy9pbmRleGVycy9nc3RmaWxlaW5kZXguYzogKF9maWxlX2luZGV4X2lkX3NhdmVfeG1sKSwKCSAgKGdzdF9maWxlX2luZGV4X2FkZF9hc3NvY2lhdGlvbik6CgkgICogcGx1Z2lucy9pbmRleGVycy9nc3RtZW1pbmRleC5jOgoJICAqIHRlc3RzL2JlbmNobWFya3MvZ3N0cG9sbHN0cmVzcy5jOiAobWVzc19zb21lX21vcmUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F1ZXVlLmM6IChzZXR1cF9xdWV1ZSk6CgkgICogdGVzdHMvY2hlY2svZ3N0L2dzdHBpcGVsaW5lLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy9jb2xsZWN0cGFkcy5jOiAoc2V0dXApLCAodGVhcmRvd24pLAoJICAoZ3N0X2NvbGxlY3RfcGFkc19zdWl0ZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvYWRhcHRlci9hZGFwdGVyX3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9tZXRhZGF0YS9yZWFkLW1ldGFkYXRhLmM6IChtYWtlX3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9leGFtcGxlcy94bWwvY3JlYXRleG1sLmM6CgkgICogdGVzdHMvZXhhbXBsZXMveG1sL3J1bnhtbC5jOgoJICAqIHRvb2xzL2dzdC1pbnNwZWN0LmM6CgkgICogdG9vbHMvZ3N0LXJ1bi5jOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycywgbm90IHVzaW5nIHZhcmlhYmxlIHNpemVkIGFycmF5cwoJICBvbiB0aGUgc3RhY2ssIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZgoJICBhIGJsb2NrIGFuZCB1c2luZyAiZm9vICh2b2lkKSIgaW5zdGVhZCBvZiAiZm9vICgpIiBmb3IgZGVjbGFyYXRpb25zLgoKMjAwOC0wMS0wOCAwMjowNzozOCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IGVtcHR5IHByb3RvdHlwZXMuIEZpeGVzIGJ1ZyAjNTA3OTU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RpbnRlcnBvbGF0aW9uY29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0bGZvY29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgRml4IGVtcHR5IHByb3RvdHlwZXMuICBGaXhlcyBidWcgIzUwNzk1Ny4KCjIwMDctMTEtMDEgMjE6NTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnZHA6IGdfdHlwZV9jbGFzc19yZWYoKSBvdGhlciB0eXBlcyBhcyB3ZWxsLCBzZWUgIzM0OTQxMCBhbmQgIzY0NzY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0LmM6IChpbml0X3Bvc3QpOgoJICAqIGdzdC9nc3RldmVudC5jOiAoX2dzdF9ldmVudF9pbml0aWFsaXplKToKCSAgKiBnc3QvZ3N0cXVlcnkuYzogKF9nc3RfcXVlcnlfaW5pdGlhbGl6ZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jIChnc3RfZHBfaW5pdCk6CgkgIGdfdHlwZV9jbGFzc19yZWYoKSBvdGhlciB0eXBlcyBhcyB3ZWxsLCBzZWUgIzM0OTQxMCBhbmQgIzY0NzY0LgoJICAqIGdzdC9nc3RidWZmZXIuYzogKF9nc3RfYnVmZmVyX2luaXRpYWxpemUpOgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChfZ3N0X21lc3NhZ2VfaW5pdGlhbGl6ZSk6CgkgIFNpbXBsaWZ5IGV4aXN0aW5nIGdfdHlwZV9jbGFzc19yZWYoKS4KCjIwMDYtMTAtMDUgMTQ6MjY6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnZHA6IFByaW50ZiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdHBhZC5jOiAocHJlX2FjdGl2YXRlKToKCSAgKiBnc3QvZ3N0cmVnaXN0cnkuYzogKGdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfbGV2ZWwpOgoJICAqIGdzdC9nc3RyZWdpc3RyeXhtbC5jOiAobG9hZF9wbHVnaW4pOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOgoJICAoZ3N0X2NvbnRyb2xsZWRfcHJvcGVydHlfc2V0X2ludGVycG9sYXRpb25fbW9kZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCk6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldGNsaWVudGNsb2NrLmM6CgkgIChnc3RfbmV0X2NsaWVudF9jbG9ja19vYnNlcnZlX3RpbWVzKToKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdGZkc3JjLmM6IChnc3RfZmRfc3JjX2NyZWF0ZSk6CgkgIFByaW50ZiBmaXhlcy4KCjIwMDYtMDgtMTEgMTU6MjY6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBpcyBvbmx5IGZvciB1c2VycyBvZiBBUEkgdGhhdCBkb24ndCB3YW50IHRvIHNlZSBkZXByZWNhdGVkIGZ1bmN0aW9ucyBpbiB0aGUgaGVhZGVyczsgcGVvcGxlIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTExICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0aXplcl9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvZ2RwLmM6IChnc3RfZHBfc3VpdGUpOiBHU1RfRElTQUJMRV9ERVBSRUNBVEVECgkgIGlzIG9ubHkgZm9yIHVzZXJzIG9mIEFQSSB0aGF0IGRvbid0IHdhbnQgdG8gc2VlIGRlcHJlY2F0ZWQKCSAgZnVuY3Rpb25zIGluIHRoZSBoZWFkZXJzOyBwZW9wbGUgdGhhdCB3YW50IHRvIGNvbXBpbGUgb3V0CgkgIGRlcHJlY2F0ZWQgY29kZSBzaG91bGQgcGFzcyAtREdTVF9SRU1PVkVfREVQUkVDQVRFRCBpbnRvIHRoZQoJICBDRkxBR1MuIEZpeGVzIHRoZSBidWlsZCBvZiBtdWx0aWZkc2luaywgb3Igd2lsbCBzb29uLi4KCjIwMDYtMDgtMTAgMTk6NDY6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdkcDogYWRkIGdzdF9vYmplY3Rfe3MsZ31ldF9jb250cm9sX3JhdGUoKSwgYWRkIHByaXZhdGUgZGF0YSBzZWN0aW9uLCBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL2xpYnMvZ3N0cmVhbWVyLWxpYnMtc2VjdGlvbnMudHh0OgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOgoJICAoX2dzdF9jb250cm9sbGVyX2dldF9wcm9wZXJ0eSksIChfZ3N0X2NvbnRyb2xsZXJfc2V0X3Byb3BlcnR5KSwKCSAgKF9nc3RfY29udHJvbGxlcl9pbml0KSwgKF9nc3RfY29udHJvbGxlcl9jbGFzc19pbml0KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGhlbHBlci5jOiAoZ3N0X29iamVjdF9nZXRfY29udHJvbF9yYXRlKSwKCSAgKGdzdF9vYmplY3Rfc2V0X2NvbnRyb2xfcmF0ZSk6CgkgIEFQSTogYWRkIGdzdF9vYmplY3Rfe3MsZ31ldF9jb250cm9sX3JhdGUoKSwgYWRkIHByaXZhdGUgZGF0YSBzZWN0aW9uLAoJICBmaXggZG9jcwoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRpemVyX25ldyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBhZGQgZGVwcmVjYXRpb24gZ3VhcmRzIHRvIG1ha2UgZ3RrLWRvYyBoYXBweSBhbmQgYWxsb3cgZGlzYWJsaW5nIGNydWZ0CgoyMDA2LTA4LTAyIDE1OjE5OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBNYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyX2FueSksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc19hbnkpLAoJICAoZ3N0X2RwX2NyYyksIChnc3RfZHBfaGVhZGVyX3BheWxvYWRfbGVuZ3RoKSwKCSAgKGdzdF9kcF9oZWFkZXJfcGF5bG9hZF90eXBlKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKSwgKGdzdF9kcF9idWZmZXJfZnJvbV9oZWFkZXIpLAoJICAoZ3N0X2RwX2NhcHNfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMiksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX3ZhbGlkYXRlX2hlYWRlciksCgkgIChnc3RfZHBfdmFsaWRhdGVfcGF5bG9hZCk6CgkgIE1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgkgIENvbnN0aWZ5IHRoZSBjcmMgdGFibGUuCgkgIERvIHNvbWUgbW9yZSBhcmcgY2hlY2tpbmcgaW4gcHVibGljIGZ1bmN0aW9ucy4KCSAgRml4IHNvbWUgZG9jcyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgKiB0ZXN0cy9jaGVjay9saWJzL2dkcC5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ3N0X2RwX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBjaGVja3MgdG8gc2VlIGlmIEdEUCBkZWFscyB3aXRoIGJvZ3VzIGlucHV0LgoKMjAwNi0wNy0xMyAxNDowMjoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZpeCBmYWlsdXJlIHRvIGRlc2VyaWFsaXplIGV2ZW50IHBhY2tldHMgd2l0aCBlbXB0eSBwYXlsb2FkIChvbmx5IGV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8xXzApOgoJICBGaXhlcyAjMzQ3MzM3OiBmYWlsdXJlIHRvIGRlc2VyaWFsaXplIGV2ZW50IHBhY2tldHMgd2l0aAoJICBlbXB0eSBwYXlsb2FkIChvbmx5IGV2ZW50IHR5cGUpCgoyMDA2LTA2LTEzIDE5OjI0OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogYWRkIGEgZ2RwIGltYWdlIHRvIHRoZSBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvUkVBRE1FOgoJICAqIGRvY3MvaW1hZ2VzL2dkcC1oZWFkZXIuc3ZnOgoJICBhZGQgYSBnZHAgaW1hZ2UKCSAgKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9saWJzL2dkcC1oZWFkZXIucG5nOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgYWRkIGl0IHRvIHRoZSBBUEkgZG9jcwoJICAqIGRvY3MvbWFudWFsL2ludHJvLW1vdGl2YXRpb24ueG1sOgoJICBmaXggdHlwbwoKMjAwNi0wNi0wNiAxNDoyOTo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGFkZCBub3RlIHRvIGRvY3MgYWJvdXQgR0RQIHZlcnNpb25pbmc7IHJlbW92ZSB0bXBsIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBub3RlIHRvIGRvY3MgYWJvdXQgR0RQIHZlcnNpb25pbmc7IHJlbW92ZSB0bXBsIGZpbGUKCjIwMDYtMDYtMDYgMTQ6MjQ6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBhZGQgYSBHc3REUFBhY2tldGl6ZXIgb2JqZWN0LCBhbmQgY3JlYXRlL2ZyZWUgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfYW55KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzX2FueSksCgkgIChnc3RfZHBfdmVyc2lvbl9nZXRfdHlwZSksIChnc3RfZHBfaW5pdCksCgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfMV8wKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzXzFfMCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKSwgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8xXzApLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KSwgKGdzdF9kcF9wYWNrZXRpemVyX25ldyksCgkgIChnc3RfZHBfcGFja2V0aXplcl9mcmVlKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEFQSTogYWRkIGEgR3N0RFBQYWNrZXRpemVyIG9iamVjdCwgYW5kIGNyZWF0ZS9mcmVlIGZ1bmN0aW9ucwoJICBBUEk6IGFkZCBHc3REUFZlcnNpb24gZW51bQoJICBBZGQgMS4wIGV2ZW50IGZ1bmN0aW9uIHRoYXQgdXNlcyB0aGUgc3RyaW5nIHNlcmlhbGl6YXRpb24KCSAgU2VyaWFsaXplIG1vcmUgdXNlZnVsIGJ1ZmZlciBmbGFncwoJICBGaXhlcyAjMzQzOTg4CgoyMDA2LTA2LTAyIDE2OjQ2OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZmFjdG9yIG91dCBDUkMgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgIGZhY3RvciBvdXQgQ1JDIGNvZGUKCjIwMDYtMDYtMDIgMTA6NTg6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmYWN0b3Igb3V0IHNvbWUgY29tbW9uIGhlYWRlciBpbml0IGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICBmYWN0b3Igb3V0IHNvbWUgY29tbW9uIGhlYWRlciBpbml0IGNvZGUKCjIwMDYtMDYtMDIgMTA6MDg6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBtYWtlIGdzdF9kcF9jcmMoKSBwdWJsaWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9saWJzL2dzdHJlYW1lci1saWJzLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL2xpYnMvdG1wbC9nc3RkYXRhcHJvdG9jb2wuc2dtbDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfY3JjKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEFQSTogbWFrZSBnc3RfZHBfY3JjKCkgcHVibGljCgoyMDA2LTA2LTAxIDExOjEzOjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogbWFrZSBzdXJlIHdlIHplcm8gdGhlIHdob2xlIEFCSS1jb21wYXRpYmxlIGFyZWEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcik6CgkgIG1ha2Ugc3VyZSB3ZSB6ZXJvIHRoZSB3aG9sZSBBQkktY29tcGF0aWJsZSBhcmVhCgoyMDA2LTA1LTA4IDE1OjUzOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogd2hpdGVzcGFjZSwgY29tbWVudCwgZG9jIGZpeHVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3aGl0ZXNwYWNlLCBjb21tZW50LCBkb2MgZml4dXAKCjIwMDYtMDQtMjggMTM6NDA6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogRml4ZXMgaW4gcmVhZGluZy93cml0aW5nIGV2ZW50cyBvdmVyIEdEUCAobm90IGN1cnJlbnRseSB1c2VkPykgLSBkZXJlZmVyZW5jaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRml4ZXMgaW4gcmVhZGluZy93cml0aW5nIGV2ZW50cyBvdmVyIEdEUCAobm90IGN1cnJlbnRseSB1c2VkPykgLQoJICBkZXJlZmVyZW5jaW5nIE5VTEwgZXZlbnRzIGZvciB1bmtub3duL2ludmFsaWQgZXZlbnQgdHlwZXMsIG1lbW9yeQoJICBsZWFrLCBhbmQgY2hhbmdlIGdfd2FybmluZyB0byBHU1RfV0FSTklORy4KCjIwMDYtMDMtMTAgMTU6MzA6MjcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogRml4IGRvY3MgZm9yIGRhdGFwcm9jb3RvbCB0byBub3QgZ2V0IHRoZSByZXR1cm4gdHlwZXMgY29tcGxldGVseSB3cm9uZyBmb3IgYSBmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIEZpeCBkb2NzIGZvciBkYXRhcHJvY290b2wgdG8gbm90IGdldCB0aGUgcmV0dXJuIHR5cGVzIGNvbXBsZXRlbHkKCSAgd3JvbmcgZm9yIGEgZmV3IGZ1bmN0aW9ucy4KCjIwMDUtMTItMTggMTY6MDQ6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IERvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RhZGFwdGVyLmM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RhZGFwdGVyLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2Vfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3NpbmtfZ2V0X3Bvc2l0aW9uKToKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzaW5rLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZV9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9zcmNfZGVmYXVsdF9xdWVyeSksIChnc3RfYmFzZV9zcmNfZGVmYXVsdF9kb19zZWVrKSwKCSAgKGdzdF9iYXNlX3NyY19kb19zZWVrKSwgKGdzdF9iYXNlX3NyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X2Jhc2Vfc3JjX3NlbmRfZXZlbnQpLCAoZ3N0X2Jhc2Vfc3JjX3VwZGF0ZV9sZW5ndGgpLAoJICAoZ3N0X2Jhc2Vfc3JjX2dldF9yYW5nZSksIChnc3RfYmFzZV9zcmNfbG9vcCksCgkgIChnc3RfYmFzZV9zcmNfc3RhcnQpOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdHB1c2hzcmMuYzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdHB1c2hzcmMuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXRjbGllbnRjbG9jay5oOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXR0aW1lcHJvdmlkZXIuaDoKCSAgRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoKMjAwNS0xMC0xMyAxNjoyNjoxMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBGaXggVGltbWVrZSBXYXltYW5zIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwcyk6CgkgIEZpeCBUaW1tZWtlIFdheW1hbnMgYnVnLgoJICAoZ3N0X2RwX2NhcHNfZnJvbV9wYWNrZXQpOiBNYWtlIHN1cmUgd2UgcGFzcyBhIE5VTC10ZXJtaW5hdGVkCgkgIHN0cmluZyBvZiB0aGUgcHJvcGVyIGxlbmd0aCB0byBnc3RfY2Fwc19mcm9tX3N0cmluZy4gVGhlcmUncyBhCgkgIHBvdGVudGlhbCBmb3IsIGJlZm9yZSB0aGlzIGZpeCwgdGhhdCB0aGlzIGNvdWxkIGNhdXNlIHNvbWVvbmUKCSAgY29ubmVjdGluZyBvdmVyIHRoZSBuZXR3b3JrIHRvIGNhdXNlIGEgc2VnZmF1bHQgaWYgdGhlIHBheWxvYWQgaXMKCSAgbm90IE5VTC10ZXJtaW5hdGVkLgoKMjAwNS0xMC0xMCAyMzo1NTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBtb3JlIHZhbGdyaW5kIHdhcm5pbmdzIGJlZm9yZSB0dXJuaW5nIHVwIHRoZSBoZWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbW9yZSB2YWxncmluZCB3YXJuaW5ncyBiZWZvcmUgdHVybmluZyB1cCB0aGUgaGVhdAoKMjAwNS0xMC0wOCAxNzoxNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogSXQncyBhYm91dCB0aW1lIHdlIGJ1bXAgdGhlIHZlcnNpb24gbnVtYmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kcC1wcml2YXRlLmg6CgkgIEl0J3MgYWJvdXQgdGltZSB3ZSBidW1wIHRoZSB2ZXJzaW9uIG51bWJlci4KCSAgU2luY2UgZXZlbnQgdHlwZXMgZG9uJ3QgZml0IGluIHRoZSBndWludDggYW55bW9yZSBkZXNjcmliaW5nCgkgIHRoZSBwYXlsb2FkIHR5cGUsIG1ha2UgcGF5bG9hZCB0eXBlIDE2IGJpdHMgd2lkZS4KCjIwMDUtMDktMjcgMTY6MzA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogRml4IGVycm9yLWNoZWNraW5nIHJldHVybiB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTI3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogRml4IGVycm9yLWNoZWNraW5nIHJldHVybgoJICB2YWx1ZXMuCgoyMDA1LTA3LTI3IDE5OjAwOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggc2VyaWFsaXphdGlvbiBvZiBzZWVrIGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEZpeCBzZXJpYWxpemF0aW9uIG9mIHNlZWsgZXZlbnRzLgoKMjAwNS0wNy0yNyAxODozMzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogU29tZSBkb2NzIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ0hBTkdFUy0wLjk6CgkgICogZG9jcy9kZXNpZ24vcGFydC1UT0RPLnR4dDoKCSAgKiBkb2NzL2Rlc2lnbi9wYXJ0LWV2ZW50cy50eHQ6CgkgIFNvbWUgZG9jcyB1cGRhdGVzCgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlX3NpbmtfaGFuZGxlX29iamVjdCksCgkgIChnc3RfYmFzZV9zaW5rX2V2ZW50KSwgKGdzdF9iYXNlX3NpbmtfZG9fc3luYyksCgkgIChnc3RfYmFzZV9zaW5rX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X2Jhc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZV9zcmNfc2VuZF9kaXNjb250KSwKCSAgKGdzdF9iYXNlX3NyY19kb19zZWVrKSwgKGdzdF9iYXNlX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9iYXNlX3NyY19sb29wKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmM6IChnc3RfYmFzZV90cmFuc2Zvcm1fdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2NvbmZpZ3VyZV9jYXBzKSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRjYXBzKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9nZXRfc2l6ZSksIChnc3RfYmFzZV90cmFuc2Zvcm1fYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9ldmVudCksIChnc3RfYmFzZV90cmFuc2Zvcm1faGFuZGxlX2J1ZmZlciksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X3Bhc3N0aHJvdWdoKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9pc19wYXNzdGhyb3VnaCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzaW5rLmM6IChnc3RfZmFrZV9zaW5rX2V2ZW50KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmlsZXNpbmsuYzogKGdzdF9maWxlX3NpbmtfZXZlbnQpOgoJICBFdmVudCB1cGRhdGVzLgoJICAqIGdzdC9nc3RidWZmZXIuaDoKCSAgVXNlIGZhc3RlciBjYXN0cy4KCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfc2Vlayk6CgkgICogZ3N0L2dzdGVsZW1lbnQuaDoKCSAgVXBkYXRlIGdzdF9lbGVtZW50X3NlZWsuCgkgICogZ3N0L2dzdGV2ZW50LmM6IChnc3RfZXZlbnRfZmluYWxpemUpLCAoX2dzdF9ldmVudF9jb3B5KSwKCSAgKGdzdF9ldmVudF9uZXcpLCAoZ3N0X2V2ZW50X25ld19jdXN0b20pLCAoZ3N0X2V2ZW50X2dldF9zdHJ1Y3R1cmUpLAoJICAoZ3N0X2V2ZW50X25ld19mbHVzaF9zdGFydCksIChnc3RfZXZlbnRfbmV3X2ZsdXNoX3N0b3ApLAoJICAoZ3N0X2V2ZW50X25ld19lb3MpLCAoZ3N0X2V2ZW50X25ld19uZXdzZWdtZW50KSwKCSAgKGdzdF9ldmVudF9wYXJzZV9uZXdzZWdtZW50KSwgKGdzdF9ldmVudF9uZXdfdGFnKSwKCSAgKGdzdF9ldmVudF9wYXJzZV90YWcpLCAoZ3N0X2V2ZW50X25ld19maWxsZXIpLCAoZ3N0X2V2ZW50X25ld19xb3MpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3FvcyksIChnc3RfZXZlbnRfbmV3X3NlZWspLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3NlZWspLCAoZ3N0X2V2ZW50X25ld19uYXZpZ2F0aW9uKToKCSAgKiBnc3QvZ3N0ZXZlbnQuaDoKCSAgTWFrZSBHc3RFdmVudCB1c2UgR3N0U3RydWN0dXJlLiBBZGQgcGFyc2luZyBjb2RlLCBtYWtlIHN1cmUgdGhlCgkgIEFQSSBpcyBzdWZmaWNpZW50bHkgZ2VuZXJpYy4KCSAgTWFyayBwb3NzaWJsZSBkaXJlY3Rpb25zIG9mIGV2ZW50cyBhbmQgc2VyaWFsaXphdGlvbi4KCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoZ3N0X21lc3NhZ2VfaW5pdCksIChnc3RfbWVzc2FnZV9maW5hbGl6ZSksCgkgIChfZ3N0X21lc3NhZ2VfY29weSksIChnc3RfbWVzc2FnZV9uZXdfc2VnbWVudF9zdGFydCksCgkgIChnc3RfbWVzc2FnZV9uZXdfc2VnbWVudF9kb25lKSwgKGdzdF9tZXNzYWdlX25ld19jdXN0b20pLAoJICAoZ3N0X21lc3NhZ2VfcGFyc2Vfc2VnbWVudF9zdGFydCksCgkgIChnc3RfbWVzc2FnZV9wYXJzZV9zZWdtZW50X2RvbmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvZ3N0cGFkLmM6IChnc3RfcGFkX2dldF9jYXBzX3VubG9ja2VkKSwgKGdzdF9wYWRfYWNjZXB0X2NhcHMpLAoJICAoZ3N0X3BhZF9zZXRfY2FwcyksIChnc3RfcGFkX3NlbmRfZXZlbnQpOgoJICBVcGRhdGUgZm9yIG5ldyBldmVudHMuCgkgIENhdGNoIGV2ZW50cyBzZW50IGluIHdyb25nIGRpcmVjdGlvbnMuCgkgICogZ3N0L2dzdHF1ZXVlLmM6IChnc3RfcXVldWVfbGlua19zcmMpLAoJICAoZ3N0X3F1ZXVlX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdWV1ZV9jaGFpbiksIChnc3RfcXVldWVfbG9vcCksCgkgIChnc3RfcXVldWVfaGFuZGxlX3NyY19xdWVyeSk6CgkgIEV2ZW50IHVwZGF0ZXMuCgkgICogZ3N0L2dzdHRhZy5jOgoJICAqIGdzdC9nc3R0YWcuaDoKCSAgUmVtb3ZlIGV2ZW50IGNvZGUgZnJvbSB0aGlzIGZpbGUuCgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEV2ZW50IHVwZGF0ZXMuCgoyMDA1LTA3LTA1IDEwOjIwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBQb3J0ZWQgZGF0YXByb3RvbCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvTWFrZWZpbGUuYW06CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3ZhbGlkYXRlX3BhY2tldCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLWRhdGFwcm90b2NvbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLWRhdGFwcm90b2NvbC5wYy5pbjoKCSAgUG9ydGVkIGRhdGFwcm90b2wgdG8gMC45LgoJICBBZGRlZCBwa2djb25maWcgZmlsZXMuCgoyMDA1LTA1LTE2IDIwOjIxOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdkcDogcmVtb3ZlIEdzdERhdGEgY2hlY2tzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOiByZW1vdmUgR3N0RGF0YSBjaGVja3MKCSAgKiBjaGVjay9nc3QtbGlicy9nZHAuYzogKFNUQVJUX1RFU1QpOiBmaXggZm9yIEFQSSBjaGFuZ2VzCgkgICogZ3N0L01ha2VmaWxlLmFtOiBhZGQgbWluaW9iamVjdCwgcmVtb3ZlIGRhdGEKCSAgKiBnc3QvZ3N0Lmg6IGFkZCBtaW5pb2JqZWN0LCByZW1vdmUgZGF0YQoJICAqIGdzdC9nc3RkYXRhLmM6IHJlbW92ZQoJICAqIGdzdC9nc3RkYXRhLmg6IHJlbW92ZQoJICAqIGdzdC9nc3RkYXRhX3ByaXZhdGUuaDogcmVtb3ZlCgkgICogZ3N0L2dzdHR5cGVzLmg6IHJlbW92ZSBHc3RFdmVudCBhbmQgR3N0TWVzc2FnZQoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UpOiBmaXggZm9yIEFQSSBjaGFuZ2VzCgkgICogZ3N0L2dzdG1hcnNoYWwubGlzdDogY2hhbmdlIEJPWEVEIC0+IE9CSkVDVAoJICBJbXBsZW1lbnQgR3N0TWluaU9iamVjdC4KCSAgKiBnc3QvZ3N0bWluaW9iamVjdC5jOgoJICAqIGdzdC9nc3RtaW5pb2JqZWN0Lmg6CgkgIE1vZGlmeSB0byBiZSBzdWJjbGFzc2VzIG9mIEdzdE1pbmlPYmplY3QuCgkgICogZ3N0L2dzdGJ1ZmZlci5jOiAoX2dzdF9idWZmZXJfaW5pdGlhbGl6ZSksIChnc3RfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfYnVmZmVyX2ZpbmFsaXplKSwgKF9nc3RfYnVmZmVyX2NvcHkpLAoJICAoZ3N0X2J1ZmZlcl9pbml0KSwgKGdzdF9idWZmZXJfbmV3KSwgKGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYyksCgkgIChnc3Rfc3ViYnVmZmVyX2dldF90eXBlKSwgKGdzdF9zdWJidWZmZXJfaW5pdCksCgkgIChnc3RfYnVmZmVyX2NyZWF0ZV9zdWIpLCAoZ3N0X2J1ZmZlcl9pc19zcGFuX2Zhc3QpLAoJICAoZ3N0X2J1ZmZlcl9zcGFuKToKCSAgKiBnc3QvZ3N0YnVmZmVyLmg6CgkgICogZ3N0L2dzdGV2ZW50LmM6IChfZ3N0X2V2ZW50X2luaXRpYWxpemUpLCAoZ3N0X2V2ZW50X2dldF90eXBlKSwKCSAgKGdzdF9ldmVudF9jbGFzc19pbml0KSwgKGdzdF9ldmVudF9pbml0KSwgKGdzdF9ldmVudF9maW5hbGl6ZSksCgkgIChfZ3N0X2V2ZW50X2NvcHkpLCAoZ3N0X2V2ZW50X25ldyk6CgkgICogZ3N0L2dzdGV2ZW50Lmg6CgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKF9nc3RfbWVzc2FnZV9pbml0aWFsaXplKSwKCSAgKGdzdF9tZXNzYWdlX2dldF90eXBlKSwgKGdzdF9tZXNzYWdlX2NsYXNzX2luaXQpLAoJICAoZ3N0X21lc3NhZ2VfaW5pdCksIChnc3RfbWVzc2FnZV9maW5hbGl6ZSksIChfZ3N0X21lc3NhZ2VfY29weSksCgkgIChnc3RfbWVzc2FnZV9uZXcpLCAoZ3N0X21lc3NhZ2VfbmV3X2Vycm9yKSwKCSAgKGdzdF9tZXNzYWdlX25ld193YXJuaW5nKSwgKGdzdF9tZXNzYWdlX25ld190YWcpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3N0YXRlX2NoYW5nZWQpLCAoZ3N0X21lc3NhZ2VfbmV3X2FwcGxpY2F0aW9uKToKCSAgKiBnc3QvZ3N0bWVzc2FnZS5oOgoJICAqIGdzdC9nc3Rwcm9iZS5jOiAoZ3N0X3Byb2JlX3BlcmZvcm0pLAoJICAoZ3N0X3Byb2JlX2Rpc3BhdGNoZXJfZGlzcGF0Y2gpOgoJICAqIGdzdC9nc3Rwcm9iZS5oOgoJICAqIGdzdC9nc3RxdWVyeS5jOiAoX2dzdF9xdWVyeV9pbml0aWFsaXplKSwgKGdzdF9xdWVyeV9nZXRfdHlwZSksCgkgIChnc3RfcXVlcnlfY2xhc3NfaW5pdCksIChnc3RfcXVlcnlfZmluYWxpemUpLCAoZ3N0X3F1ZXJ5X2luaXQpLAoJICAoX2dzdF9xdWVyeV9jb3B5KSwgKGdzdF9xdWVyeV9uZXcpOgoJICBVcGRhdGUgZWxlbWVudHMgZm9yIEdzdERhdGEgLT4gR3N0TWluaU9iamVjdCBjaGFuZ2VzCgkgICogZ3N0L2dzdHF1ZXJ5Lmg6CgkgICogZ3N0L2dzdHF1ZXVlLmM6IChnc3RfcXVldWVfZmluYWxpemUpLCAoZ3N0X3F1ZXVlX2xvY2tlZF9mbHVzaCksCgkgIChnc3RfcXVldWVfY2hhaW4pLCAoZ3N0X3F1ZXVlX2xvb3ApOgoJICAqIGdzdC9lbGVtZW50cy9nc3RidWZmZXJzdG9yZS5jOgoJICAoZ3N0X2J1ZmZlcl9zdG9yZV9hZGRfYnVmZmVyX2Z1bmMpLAoJICAoZ3N0X2J1ZmZlcl9zdG9yZV9jbGVhcmVkX2Z1bmMpLCAoZ3N0X2J1ZmZlcl9zdG9yZV9nZXRfYnVmZmVyKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNpbmsuYzogKGdzdF9mYWtlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9mYWtlc2lua19yZW5kZXIpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc3JjLmM6IChnc3RfZmFrZXNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmlsZXNyYy5jOiAoZ3N0X21tYXBfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9tbWFwX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9tbWFwX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9tbWFwX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfZmlsZXNyY19tYXBfcmVnaW9uKSwKCSAgKGdzdF9maWxlc3JjX2NyZWF0ZV9yZWFkKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0aWRlbnRpdHkuYzogKGdzdF9pZGVudGl0eV9jbGFzc19pbml0KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6CgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfc3JjX2V2ZW50KSwgKGZyZWVfZW50cnlfYnVmZmVycyksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfaGFuZGxlX2V2ZW50KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RwLXByaXZhdGUuaDoKCjIwMDUtMDUtMDQgMjE6Mjk6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogR0NDIDQgZml4ZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA1LTA0ICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogZG9jcy9nc3QvdG1wbC9nc3RhdG9taWMuc2dtbDoKCSAgKiBkb2NzL2dzdC90bXBsL2dzdHBsdWdpbi5zZ21sOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZXNpbmtfYWN0aXZhdGUpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VzcmNfaW5pdCksIChnc3RfYmFzZXNyY19zZXRfZGF0YWZsb3dfZnVuY3MpLAoJICAoZ3N0X2Jhc2VzcmNfcXVlcnkpLCAoZ3N0X2Jhc2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9iYXNlc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYmFzZXNyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2Jhc2VzcmNfYWN0aXZhdGUpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuaDoKCSAgKiBnc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmM6IChnc3RfYmFzZV90cmFuc2Zvcm1fc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fc3JjX2FjdGl2YXRlKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZWxlbWVudHMuYzoKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNyYy5jOiAoZ3N0X2Zha2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFrZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2Zha2VzcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dGVlLmM6IChnc3RfdGVlX3NpbmtfYWN0aXZhdGUpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzogKGZpbmRfZWxlbWVudF9nZXRfbGVuZ3RoKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9jaGVja2dldHJhbmdlKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9hY3RpdmF0ZSk6CgkgICogZ3N0L2dzdGJpbi5jOiAoZ3N0X2Jpbl9zYXZlX3RoeXNlbGYpLCAoZ3N0X2Jpbl9yZXN0b3JlX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RjYXBzLmM6IChnc3RfY2Fwc19kb19zaW1wbGlmeSksIChnc3RfY2Fwc19zYXZlX3RoeXNlbGYpLAoJICAoZ3N0X2NhcHNfbG9hZF90aHlzZWxmKToKCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfcGFkc19hY3RpdmF0ZSksCgkgIChnc3RfZWxlbWVudF9zYXZlX3RoeXNlbGYpLCAoZ3N0X2VsZW1lbnRfcmVzdG9yZV90aHlzZWxmKToKCSAgKiBnc3QvZ3N0cGFkLmM6IChnc3RfcGFkX2xvYWRfYW5kX2xpbmspLCAoZ3N0X3BhZF9zYXZlX3RoeXNlbGYpLAoJICAoZ3N0X2dob3N0X3BhZF9zYXZlX3RoeXNlbGYpLCAoZ3N0X3BhZF9jaGVja19wdWxsX3JhbmdlKToKCSAgKiBnc3QvZ3N0cGFkLmg6CgkgICogZ3N0L2dzdHhtbC5jOiAoZ3N0X3htbF93cml0ZSksIChnc3RfeG1sX3BhcnNlX2RvYyksCgkgIChnc3RfeG1sX3BhcnNlX2ZpbGUpLCAoZ3N0X3htbF9wYXJzZV9tZW1vcnkpLAoJICAoZ3N0X3htbF9nZXRfZWxlbWVudCksIChnc3RfeG1sX21ha2VfZWxlbWVudCk6CgkgICogZ3N0L2luZGV4ZXJzL2dzdGZpbGVpbmRleC5jOiAoZ3N0X2ZpbGVfaW5kZXhfbG9hZCksCgkgIChfZmlsZV9pbmRleF9pZF9zYXZlX3htbCksIChnc3RfZmlsZV9pbmRleF9jb21taXQpOgoJICAqIGdzdC9yZWdpc3RyaWVzL2dzdGxpYnhtbHJlZ2lzdHJ5LmM6IChyZWFkX3N0cmluZyksIChyZWFkX3VpbnQpLAoJICAocmVhZF9lbnVtKSwgKGxvYWRfcGFkX3RlbXBsYXRlKSwgKGxvYWRfZmVhdHVyZSksIChsb2FkX3BsdWdpbiksCgkgIChsb2FkX3BhdGhzKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLCAoZ3N0X2RwX2NhcHNfZnJvbV9wYWNrZXQpOgoJICAqIHRvb2xzL2dzdC1jb21wbGV0ZS5jOiAobWFpbik6CgkgICogdG9vbHMvZ3N0LWNvbXBwcmVwLmM6IChtYWluKToKCSAgKiB0b29scy9nc3QtaW5zcGVjdC5jOiAocHJpbnRfZWxlbWVudF9wcm9wZXJ0aWVzX2luZm8pOgoJICAqIHRvb2xzL2dzdC1sYXVuY2guYzogKHhtbGxhdW5jaF9wYXJzZV9jbWRsaW5lKToKCSAgKiB0b29scy9nc3QteG1saW5zcGVjdC5jOiAocHJpbnRfZWxlbWVudF9wcm9wZXJ0aWVzKToKCSAgR0NDIDQgZml4ZW4uCgoyMDA1LTAzLTIxIDE3OjM0OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBOZXh0IGJpZyBtZXJnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5leHQgYmlnIG1lcmdlLgoJICBBZGRlZCBHc3RCdXMgZm9yIG1haW5sb29wIGludGVncmF0aW9uLgoJICBBZGRlZCBHc3RNZXNzYWdlIGZvciBzZW5kaW5nIG5vdGlmaWNhdGlvbnMgb24gdGhlIGJ1cy4KCSAgQWRkZWQgR3N0VGFzayBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgcGlwZWxpbmUgZW50cnkgcG9pbnRzLgoJICBSZW1vdmVkIEdzdFRocmVhZC4KCSAgUmVtb3ZlZCBTY2hlZHVsZXJzLgoJICBTaW1wbGlmaWVkIEdzdFF1ZXVlIGZvciBtdWx0aXRocmVhZGVkIGNvcmUuCgkgIE1hZGUgX2xpbmsgdGhyZWFkc2FmZSwgcmVtb3ZlZCBvbGQgY2Fwc25lZ28uCgkgIEFkZGVkIFNUUkVBTV9MT0NLIGFuZCBQUkVST0xMX0xPQ0sgaW4gR3N0UGFkLgoJICBBZGRlZCBwYWQgYmxvY2tpbmcgZnVuY3Rpb25zLgoJICBSZXdvcmtlZCBzY2hlZHVsaW5nIGZ1bmN0aW9ucyBpbiBHc3RQYWQgdG8gcHJlcGFyZSBmb3IKCSAgc2NoZWR1bGluZyB1cGRhdGVzIHNvb24uCgkgIE1vdmVkIGV2ZW50cyBvdXQgb2YgZGF0YSBzdHJlYW0uCgkgIFNpbXBsaWZpZWQgR3N0RXZlbnQgdHlwZXMuCgkgIEFkZGVkIHJldHVybiB2YWx1ZXMgdG8gcHVzaC9wdWxsLgoJICBSZW1vdmVkIGNsb2NraW5nIGZyb20gR3N0RWxlbWVudC4KCSAgQWRkZWQgcHJvdG90eXBlcyBmb3Igc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZvciBuZXh0IG1lcmdlLgoJICBSZW1vdmVkIGl0ZXJhdGUgZnJvbSBiaW5zIGFuZCBzdGF0ZSBjaGFuZ2UgbWFuYWdlbWVudC4KCSAgRml4ZWQgc29tZSBlbGVtZW50cywgZGlzYWJsZWQgb3RoZXJzIGZvciBub3cuCgkgIEZpeGVkIC1pbnNwZWN0IGFuZCAtbGF1bmNoLgoJICBBZGRlZCBjaGVjayBmb3IgR3N0QnVzLgoKMjAwNS0wMy0wNyAxODoyNzo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRmlyc3QgVEhSRUFERUQgYmFja3BvcnQgYXR0ZW1wdCwgZm9jdXNpbmcgb24gYWRkaW5nIGxvY2tzIGFuZCBtYWtpbmcgc3VyZSB0aGUgQVBJIGlzIHRocmVhZHNhZmUuIE5lZWRzIG1vcmUgd29yay4gTW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXJzdCBUSFJFQURFRCBiYWNrcG9ydCBhdHRlbXB0LCBmb2N1c2luZyBvbiBhZGRpbmcgbG9ja3MgYW5kCgkgIG1ha2luZyBzdXJlIHRoZSBBUEkgaXMgdGhyZWFkc2FmZS4gTmVlZHMgbW9yZSB3b3JrLiBNb3JlIGRvY3MKCSAgZm9sbG93IHRoaXMgd2Vlay4KCjIwMDUtMDItMTggMTM6NTg6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnZHA6IEFsbG9jYXRlIHRoZSAxIGJ5dGUgbW9yZSBtZW1vcnkgdGhhdCB3YXMgZm9yZ290dGVuISEhISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDItMTggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfZHVtcF9ieXRlX2FycmF5KToKCSAgQWxsb2NhdGUgdGhlIDEgYnl0ZSBtb3JlIG1lbW9yeSB0aGF0IHdhcyBmb3Jnb3R0ZW4hISEhIQoKMjAwNC0xMC0wMSAxNjo0OTowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IHRocmVhZHNhZmV0eSBvZiB0aGUgY3JjIGNoZWNraW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfY3JjKToKCSAgRml4IHRocmVhZHNhZmV0eSBvZiB0aGUgY3JjIGNoZWNraW5nIGZ1bmN0aW9uLgoKMjAwNC0wOC0xNiAxMDozNTozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBmb3IgIzE1MDI0MgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGZvciAjMTUwMjQyCgoyMDA0LTA3LTI4IDEwOjIyOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZG9jIHN0eWxlIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2Mgc3R5bGUgZml4ZXMKCjIwMDQtMDYtMDkgMTY6MjQ6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYnVtcCBHRFAgdG8gMC4xLCBhZGQgYnVmZmVyIGZsYWdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidW1wIEdEUCB0byAwLjEsIGFkZCBidWZmZXIgZmxhZ3MKCjIwMDQtMDUtMjQgMTY6Mzg6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiB3cmFwIGhlYWRlciBpbiBfTkVXCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3cmFwIGhlYWRlciBpbiBfTkVXCgoyMDA0LTA1LTE5IDE3OjIyOjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzogdXNlIEdTVCBtYWNyb3M7IGFkZCBhc3NlcnRzCgoyMDA0LTA1LTE5IDE2OjU5OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IHByaXZhdGUgcHJvdG90eXBlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwcml2YXRlIHByb3RvdHlwZQoKMjAwNC0wNS0xOSAxNjozNzo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBhZGQgZGF0YXByb3RvY29sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBsaWJzIGRvY3M7IGFkZCBkYXRhcHJvdG9jb2wKCjIwMTEtMTEtMTcgMTI6NDg6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xMCAxODozMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2VzCgoyMDExLTA5LTI5IDEzOjQ2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG5ldyBhdWRpbyBjYXBzCgoyMDExLTA3LTA4IDIwOjAyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcGFyc2UgY2FwcyBldmVudCBhbmQgcGF5bG9hZCBjYXBzCgkgIFdoaWNoIG1ha2VzIGl0IGFjdHVhbGx5IG91dHB1dCBzdHVmZi4KCjIwMTEtMDYtMTMgMTY6MzI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogdXBkYXRlIGZvciBidWZmZXIgQVBJIGNoYW5nZQoKMjAxMS0wNS0xNiAxMzo0ODoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IHBvcnQgdG8gbmV3IFNFR01FTlQgQVBJCgoyMDExLTA1LTA5IDE4OjE2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgc2VnbWVudDogZml4IGZvciBuZXcgY29yZSBBUEkKCSAgRml4IGZvciBnc3RfKl9zZWdtZW50X2Z1bGwgcmVuYW1lLgoKMjAxMS0wNS0wOSAxMzowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IGRvbid0IHVzZSBidWZmZXIgY2FwcwoJICBQb3J0IHRvIG5ld2VzdCAwLjExIGNvcmUgQVBJLCByZW1vdmUgR1NUX1BBRF9DQVBTIGFuZCBHU1RfQlVGRkVSX0NBUFMuCgoyMDExLTA0LTE5IDExOjM1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0OiBVc2UgR19ERUZJTkVfVFlQRSBpbnN0ZWFkIG9mIEdTVF9CT0lMRVJQTEFURQoKMjAxMS0wMS0yNyAxNzoyODo1MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZQoJICBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOgoJICBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDMtMzEgMTc6NDc6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBidWZmZXJsaXN0OiBmaXhlcyBmb3IgbmV3IEFQSQoKMjAxMS0wMy0yOCAxNzo0Njo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yOCAxNTo1MTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCByZW1haW5pbmcgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yOCAxNDoxMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogd29yayBvbiBwb3J0aW5nIHRoZSB1bml0IHRlc3RzCgoyMDExLTAzLTI3IDE2OjM1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBwbHVnaW5zOiBwb3J0IHNvbWUgcGx1Z2lucyB0byB0aGUgbmV3IG1lbW9yeSBBUEkKCjIwMTEtMDItMDkgMTI6NDU6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZW5zdXJlIGJ1ZmZlcidzIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMTEtMDEtMTYgMTQ6NTU6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBtYWtlIG5ld3NlZ21lbnQgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlCgoyMDEwLTA2LTE4IDE2OjM3OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHVzZSBvdXIgb3duIG1hY3JvcyBmb3IgdGhlIHRlc3RzIG1haW4gZnVuY3Rpb24KCjIwMTAtMDMtMTUgMjI6NDk6NTMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MgdG8gY29uZmlndXJlCgkgIEZpeGVzIGZvciB0aGUgY29kZSBpbmNsdWRlZAoKMjAxMC0wMy0xNiAxNTo0NToyMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCSAgQWxzbyBjaGFuZ2UgbXkgZW1haWwgZnJvbSB0aGUgb2xkIHVuaXZlcnNpdHkgb25lIHRvIHRoZSBjdXJyZW50IG9uZS4KCjIwMTAtMDMtMTEgMTM6MzI6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gd2FybmluZyBmbGFncwoJICBJbmNsdWRlcyBhbGwgdGhlIGZpeGVzIG5lY2Vzc2FyeSB0byBtYWtlIHN0dWZmIGNvbXBpbGUgYWdhaW4uCgoyMDA5LTExLTA1IDE1OjQyOjA5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGdkcGRlcGF5OiBDbGVhciBhZGFwdGVyIG9uIGZsdXNoIGFuZCBzdGF0ZSBjaGFuZ2UKCSAgRml4ZXMgIzYwMDQ2OQoKMjAwOS0xMC0yOCAwMDo1OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIFJlbW92ZSBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSB0aGV5J3JlIHBvaW50bGVzcwoJICBUaGVyZSdzIG5vdCBtdWNoIHBvaW50IGluIHVzaW5nIEdTVF9ERUJVR19GVU5DUFRSIHdpdGggR09iamVjdAoJICB2aXJ0dWFsIGZ1bmN0aW9ucyBzdWNoIGFzIGdldF9wcm9wZXJ0eSwgc2V0X3Byb3BlcnksIGZpbmFsaXplIGFuZAoJICBkaXNwb3NlLCBzaW5jZSB0aGV5J2xsIG5ldmVyIGJlIHVzZWQgYnkgYW55b25lIGFueXdheS4gU2F2ZXMgYQoJICBmZXcgYnl0ZXMgYW5kIHBvc3NpYmx5IGEgc2l4dGVlbnRoIG9mIGEgcG9sYXIgYmVhci4KCjIwMDktMDktMjIgMTE6NTg6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogRG9uJ3QgcmVwZWF0IHRhZ3MgYnVmZmVycyBmb3IgZXZlcnkgbmV3IHNlZ21lbnQKCSAgT25seSBzZW5kIGEgdGFnIGJ1ZmZlciB3aGVuIG9uZSBpcyByZWNlaXZlZCwgbm90IGFmdGVyIGV2ZXJ5IG5ldyBzZWdtZW50CgkgIGV2ZW50L3VwZGF0ZS4KCjIwMDktMDgtMjcgMTg6NTk6NDkgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgQnVnIDU5MzAzNSAtIHNldCBJTl9DQVBTIGZvciBzdHJlYW1oZWFkZXIgYnVmZmVyCgoyMDA5LTA4LTEwIDE1OjQwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgc3RyZWFtaGVhZGVyOiBGaXggY2FwcyBsZWFrIGluIHRoZSB2b3JiaXNlbmMgdW5pdCB0ZXN0CgoyMDA5LTA4LTEwIDE0OjE0OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgY2hlY2tzOiBmaXggc3RyZWFtIGhlYWRlciB1bml0IHRlc3QgaGFuZ2luZyBpbiBnc3RfdGFza19jbGVhbnVwX2FsbCgpCgkgIFNldCBwaXBlbGluZXMgdG8gTlVMTCBzdGF0ZSBhbmQgdW5yZWYgd2hlbiBkb25lLgoKMjAwOS0wNS0yNyAxMjoxMDowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycwoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzIGJlY2F1c2UgTlVMTCBjYXBzIGNvbmZ1c2UgYmFzZXRyYW5zZm9ybS4KCSAgRml4ZXMgIzU4Mzg2NwoKMjAwOC0xMC0xNiAxNTowNzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkcGFyYW5vaWEvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC92b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdGNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC90eXBlZmluZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NjYWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgoyMDA4LTA3LTEwIDIxOjA2OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbiB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXN0YWcuYzoKCSAgKiBnc3QvYWRkZXIvZ3N0YWRkZXIuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uCgkgIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZWxpbmVzIGFyZSAic2ltcGxlIgoJICBwaXBlbGluZXMuCgoyMDA4LTA2LTMwIDA5OjQ2OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEVuYWJsZSB1bml0IHRlc3RzIG9uIFBQQyBhZ2FpbiBhcyB0aGUgYnVncyBhcmUgbm93IGZpeGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIEVuYWJsZSB1bml0IHRlc3RzIG9uIFBQQyBhZ2FpbiBhcyB0aGUgYnVncyBhcmUgbm93IGZpeGVkLgoKMjAwOC0wNi0yMCAwODo0NToxMyArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IEZpeCBhIGJ1ZmZlciBtZW1sZWFrIGFuZCByZW1vdmUgYSBjb25mdXNpbmcgYW5kIHdyb25nIGRlYnVnIG91dHB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXQpOgoJICBGaXggYSBidWZmZXIgbWVtbGVhayBhbmQgcmVtb3ZlIGEgY29uZnVzaW5nIGFuZCB3cm9uZyBkZWJ1ZyBvdXRwdXQuCgkgIEZpeGVzIGJ1ZyAjNTM4NjYzLgoKMjAwOC0wNi0wNCAxNjowMDoyNiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IERvIG5vdCB0cnkgdG8gcnVuIGEgdGVzdCB3aGljaCByZXF1aXJlcyB2b3JiaXNlbmMgdW5sZXNzIHdlIGhhdmUgYWN0dWFsbHkgYnVpbHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoYnVmZmVyX3Byb2JlX2NiKSwKCSAgKHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYyksIChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBEbyBub3QgdHJ5IHRvIHJ1biBhIHRlc3Qgd2hpY2ggcmVxdWlyZXMgdm9yYmlzZW5jIHVubGVzcyB3ZSBoYXZlCgkgIGFjdHVhbGx5IGJ1aWx0IGl0LgoKMjAwOC0wNi0wNCAwNTo1ODozOCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IERvbid0IHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHRoYXQgY29udGFpbiBhIGNvcHkgb2YgdGhlIGJ1ZmZlciBpbmNsdWRpbmcgdGhlIGNhcHMgb2YgdGhlbSByZXN1bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBEb24ndCBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB0aGF0IGNvbnRhaW4gYSBjb3B5IG9mIHRoZSBidWZmZXIKCSAgaW5jbHVkaW5nIHRoZSBjYXBzIG9mIHRoZW0gcmVzdWx0aW5nIGluIGFuIGFsd2F5cyBpbmNyZWFzaW5nIHJlZmNvdW50CgkgIG9mIHRoZSBjYXBzIGFuZCBpbnNhbmVseSBsYXJnZSBjYXBzLiBJbnN0ZWFkIGluY2x1ZGUgYSBidWZmZXIgd2l0aG91dAoJICBjYXBzIGluIHRoZSBuZXcgY2Fwcy4gRml4ZXMgYnVnICM1MzY0NzUuCgoyMDA4LTA1LTIyIDIyOjA5OjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gY29tbWVudHMsIGFuZCBzb21lIG5ldyBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5oOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwLmg6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gY29tbWVudHMsIGFuZCBzb21lIG5ldyBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuCgkgIFJlbmFtZSBzb21lIGludGVybmFsIGVudW0gZGVjbGFyYXRpb25zIChhdWRpb2NvbnZlcnQncyBEaXRoZXJUeXBlIGFuZAoJICBOb2lzZVNoYXBpbmdUeXBlLCBHc3RVbml0VHlwZSBmcm9tIHRoZSBUQ1AgZWxlbWVudHMpIHRvIG1hdGNoIHRoZQoJICBkb2N1bWVudGVkIEdPYmplY3QgdHlwZSBuYW1lcyBzbyB0aGF0IHRoZSBkb2NzIHBpY2sgdGhlbSB1cC4KCSAgTmFtZSB0aGUgcGxheWJpbjIgZG9jcyBtYXJrdXBzIHByb3Blcmx5IHNvIHRoZXkgZ2V0IHBpY2tlZCB1cC4gVGhleSdsbAoJICBuZWVkIHJlbmFtaW5nIGJhY2sgd2hlbi9pZiBwbGF5YmluMiBiZWNvbWVzIHBsYXliaW4uCgkgIDEwMCUgc3ltYm9sIGNvdmVyYWdlIGZvciB0aGUgcGx1Z2luIGRvY3MsIGJvb3lhLgoKMjAwOC0wNS0yMSAxNjozNjo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBiYWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6IChnc3Rfb2dnX3BhZF90eXBlZmluZCk6CgkgICogZ3N0L3BsYXliYWNrL2RlY29kZXRlc3QuYzogKG5ld19kZWNvZGVkX3BhZF9jYik6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOiAoZ3N0X2RlY29kZV9iaW5faW5pdCksCgkgICh0cnlfdG9fbGlua18xKSwgKGVsZW1faXNfZHluYW1pYyksIChjbG9zZV9saW5rKSwgKHR5cGVfZm91bmQpLAoJICAoY2xlYW51cF9kZWNvZGViaW4pOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9pbml0KSwKCSAgKGNvbm5lY3RfZWxlbWVudCksIChnc3RfZGVjb2RlX2dyb3VwX2NvbnRyb2xfZGVtdXhlcl9wYWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfcmVtb3ZlX3Byb2JlKSwKCSAgKHF1ZXVlX291dF9vZl9kYXRhKSwgKGdlbl9wcmVyb2xsX2VsZW1lbnQpLCAocHJlcm9sbF91bmxpbmtlZCksCgkgIChtdXRlX2dyb3VwX3R5cGUpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fdmlzX2Jsb2NrZWQpLAoJICAoZ3N0X3BsYXlfYmluX3NldF9wcm9wZXJ0eSksIChoYW5kb2ZmKSwgKGdlbl92aWRlb19lbGVtZW50KSwKCSAgKGdlbl90ZXh0X2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpLCAoZ2VuX3Zpc19lbGVtZW50KSwKCSAgKHJlbW92ZV9zaW5rcyksIChhZGRfc2luayksIChzZXR1cF9zaW5rcyk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChwYWRfYWRkZWRfY2IpLCAobm9fbW9yZV9wYWRzX2NiKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfZ2V0X3ZpZGVvX3NpbmspLAoJICAoZ3N0X3BsYXlfc2lua19nZXRfYXVkaW9fc2luayksIChnc3RfcGxheV9zaW5rX3Zpc191bmJsb2NrZWQpLAoJICAoZ3N0X3BsYXlfc2lua192aXNfYmxvY2tlZCksIChnc3RfcGxheV9zaW5rX3NldF92aXNfcGx1Z2luKSwKCSAgKGdzdF9wbGF5X3NpbmtfZ2V0X3Zpc19wbHVnaW4pLCAoZ3N0X3BsYXlfc2lua19zZXRfbXV0ZSksCgkgIChnZW5fdmlkZW9fY2hhaW4pLCAoZ2VuX3RleHRfY2hhaW4pLCAoZ2VuX2F1ZGlvX2NoYWluKSwKCSAgKGdlbl92aXNfY2hhaW4pLCAoZ3N0X3BsYXlfc2lua19yZWNvbmZpZ3VyZSksCgkgIChnc3RfcGxheV9zaW5rX3NldF9mb250X2Rlc2MpLCAoZ3N0X3BsYXlfc2lua19nZXRfZm9udF9kZXNjKSwKCSAgKGdzdF9wbGF5X3NpbmtfcmVxdWVzdF9wYWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKHR5cGVfZm91bmQpLCAoc2V0dXBfc291cmNlKToKCSAgKiBnc3QvcGxheWJhY2svdGVzdC5jOiAoZ2VuX3ZpZGVvX2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpLAoJICAoY2JfbmV3cGFkKToKCSAgKiBnc3QvcGxheWJhY2svdGVzdDYuYzogKG5ld19kZWNvZGVkX3BhZF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yYXRlLmM6ICh0ZXN0X2luamVjdG9yX2NoYWluKSwKCSAgKGRvX3BlcmZlY3Rfc3RyZWFtX3Rlc3QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZmbXBlZ2NvbG9yc3BhY2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgIChub3Rnc3RfY2hlY2tfc2V0dXBfc3JjX3BhZDIpLCAobm90Z3N0X2NoZWNrX3RlYXJkb3duX3NyY19wYWQyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAodGVzdF9waXBlbGluZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6IChtYWtlX3dhdl9waXBlbGluZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zZWVrLmM6IChtYWtlX21vZF9waXBlbGluZSksCgkgIChtYWtlX2R2X3BpcGVsaW5lKSwgKG1ha2Vfd2F2X3BpcGVsaW5lKSwgKG1ha2VfZmxhY19waXBlbGluZSksCgkgIChtYWtlX3NpZF9waXBlbGluZSksIChtYWtlX3BhcnNlX3BpcGVsaW5lKSwgKG1ha2Vfdm9yYmlzX3BpcGVsaW5lKSwKCSAgKG1ha2VfdGhlb3JhX3BpcGVsaW5lKSwgKG1ha2Vfdm9yYmlzX3RoZW9yYV9waXBlbGluZSksCgkgIChtYWtlX2F2aV9tc21wZWc0djNfbXAzX3BpcGVsaW5lKSwgKG1ha2VfbXAzX3BpcGVsaW5lKSwKCSAgKG1ha2VfYXZpX3BpcGVsaW5lKSwgKG1ha2VfbXBlZ19waXBlbGluZSksIChtYWtlX21wZWdudF9waXBlbGluZSksCgkgICh1cGRhdGVfZmlsbCksIChtc2dfYnVmZmVyaW5nKToKCSAgRG9uJ3QgdXNlIGJhZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTIxIDA2OjQ1OjIyICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogQ2xvc2UgYSBidWZmZXIgbWVtb3J5IGxlYWsuIEZpeGVzIGJ1ZyAjNTM0MDcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jaGFpbik6CgkgIENsb3NlIGEgYnVmZmVyIG1lbW9yeSBsZWFrLiBGaXhlcyBidWcgIzUzNDA3MS4KCjIwMDgtMDQtMTggMTQ6NTQ6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERvbid0IHZhbGlkYXRlIHRoZSBwYXlsb2FkIGlmIHRoZXJlIGlzbid0IGFueS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIERvbid0IHZhbGlkYXRlIHRoZSBwYXlsb2FkIGlmIHRoZXJlIGlzbid0IGFueS4KCSAgRml4ZXMgIzUyNTkxNQoKMjAwOC0wMy0yNyAxNToyNjozOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDaGVjayB0aGUgYm9keSBDUkMgKGlmIHNldCkgd2hlbiBkZXBheWxvYWRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDaGVjayB0aGUgYm9keSBDUkMgKGlmIHNldCkgd2hlbiBkZXBheWxvYWRpbmcuCgkgIEZpeGVzICM1MjI0MDEuCgoyMDA4LTAzLTIzIDEzOjEyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogTWFrZSB0ZXN0IGNvbXBpbGUgd2l0aG91dCB1bnVzZWQgZnVuY3Rpb24vdmFyaWFibGUgd2FybmluZ3Mgb24gUFBDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBNYWtlIHRlc3QgY29tcGlsZSB3aXRob3V0IHVudXNlZCBmdW5jdGlvbi92YXJpYWJsZSB3YXJuaW5ncyBvbiBQUEMuCgoyMDA4LTAzLTIyIDE1OjAwOjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZSBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKGdzdF9hbHNhX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKGdzdF9hbHNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChnc3RfYWxzYXNyY19jbGFzc19pbml0KToKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgIChnc3RfY2RfcGFyYW5vaWFfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWVfdmZzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWVfdmZzX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6IChnc3RfdGhlb3JhX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6IChnc3RfdGhlb3JhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc3JjLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21peGVydHJhY2suYzoKCSAgKGdzdF9taXhlcl90cmFja19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VydHBwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOiAoZ3N0X2F1ZGlvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKGdzdF9hdWRpb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAoZ3N0X3BsYXlfYmFzZV9iaW5fY2xhc3NfaW5pdCksCgkgIChwcmVyb2xsX3VubGlua2VkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6IChnc3RfcXVldWVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKGdzdF91cmlfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzogKGdzdF92aWRlb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzogKGdzdF92NGxtanBlZ3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOiAoZ3N0X3Y0bG1qcGVnc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jbGFzc19pbml0KToKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2UKCSAgc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1c2FnZSwKCSAgZmV3ZXIgYWxsb2NhdGlvbnMgYW5kIHRodXMgbGVzcyBtZW1vcnkgZGVmcmFnbWVudGF0aW9uLiBEZXBlbmQKCSAgb24gY29yZSBDVlMgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTIzODA2LgoKMjAwOC0wMy0wMyAwNjowNDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcnRyYWNrLmM6IChnc3RfYWxzYV9taXhlcl90cmFja19nZXRfdHlwZSk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vYXVkaW8uYzoKCSAgKiBnc3QtbGlicy9nc3QvZmZ0L2tpc3NfZmZ0X2Y2NC5jOiAoa2lzc19mZnRfZjY0X2FsbG9jKToKCSAgKiBnc3QtbGlicy9nc3QvcGJ1dGlscy9taXNzaW5nLXBsdWdpbnMuYzoKCSAgKGdzdF9taXNzaW5nX3VyaV9zaW5rX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VsZW1lbnRfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZGVjb2Rlcl9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbmNvZGVyX21lc3NhZ2VfbmV3KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RydGNwYnVmZmVyLmM6CgkgIChnc3RfcnRjcF9wYWNrZXRfYnllX2dldF9yZWFzb24pOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnQuYzoKCSAgKiBnc3QvcGxheWJhY2svdGVzdC5jOiAoZ2VuX3ZpZGVvX2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfZ2V0X2FueV9jYXBzKToKCSAgKiBzeXMvdjRsL3Y0bF9jYWxscy5jOgoJICAqIHN5cy92NGwvdjRsc3JjX2NhbGxzLmM6IChnc3RfdjRsc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsc3JjX3RyeV9jYXB0dXJlKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3hpbWFnZXNpbmtfeGltYWdlX25ldyk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoc2V0dXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWNvZGViaW4uYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzogKHNldHVwX2dub21ldmZzc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKHNldHVwX211bHRpZmRzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoc2V0dXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKHNldHVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChzZXR1cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL2Nsb2NrLXNlbGVjdGlvbi5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChzZXR1cCksICh0ZWFyZG93bik6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvdmlkZW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zZWVrLmM6IChxdWVyeV9wb3NpdGlvbnNfZWxlbXMpLAoJICAocXVlcnlfcG9zaXRpb25zX3BhZHMpOgoJICAqIHRlc3RzL2ljbGVzL3N0cmVzcy14b3ZlcmxheS5jOiAobXljbG9jayk6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzIGFuZCB1c2luZyAiZm9vICh2b2lkKSIgaW5zdGVhZAoJICBvZiAiZm9vICgpIiBmb3IgZGVjbGFyYXRpb25zLgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RydHAuZGVmOgoJICBBZGQgZ3N0X3J0cF9idWZmZXJfc2V0X2V4dGVuc2lvbl9kYXRhIHRvIHRoZSBzeW1ib2wgZGVmaW5pdGlvbiBmaWxlLgoKMjAwNy0wNi0xNCAxOTo1MzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogRGlzYWJsZSB0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMoKSBvbiBwcGM2NCBzaW5jZSBpdCBmYWlscyBvbiB0aGUgcDUtcHBjNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBEaXNhYmxlIHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYygpIG9uIHBwYzY0IHNpbmNlIGl0CgkgIGZhaWxzIG9uIHRoZSBwNS1wcGM2NCBidWlsZCBib3QgYW5kIHRoZSBmYWlsdXJlIGxvb2tzIGxpa2UgaXQgaXMgZHVlCgkgIHRvIHRoZSBzYW1lIGlzc3VlIGFzICMzNDgxMTQsIGllLiBhIGNvbXBpbGVyIGJ1Zy4KCjIwMDctMDQtMTQgMTI6MzQ6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfY2hhaW4pOiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgYnVmZmVyX3Byb2JlX2NiLCBHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBhIGJ1ZyB3aGVyZSBzZXJpYWxpemVkIElOX0NBUFMgYnVmZmVycyBuZWVkZWQgdG8gYmUgc2V0IElOX0NBUFMuCgoyMDA3LTA0LTEzIDIxOjU1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgbl9pbl9jYXBzLCBidWZmZXJfcHJvYmVfY2IsIEdTVF9TVEFSVF9URVNULAoJICBzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBBZGQgYW5vdGhlciB0ZXN0IHNldCB1cCBmb3IgZmFpbHVyZQoKMjAwNy0wNC0xMyAyMTowOTowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGRlYnVnIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRlYnVnIGNoYW5nZXMKCjIwMDctMDQtMTMgMjE6MDg6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAobl90YWdzLCB0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAobl90YWdzLCB0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBzdHJlYW1oZWFkZXJfc3VpdGUsIG1haW4pOgoJICBBZGQgYSB0ZXN0IGZvciB0aGUgc3RyZWFtaGVhZGVyIGJ1ZyBXaW0gZml4ZWQuCgoyMDA3LTA0LTEyIDEwOjAzOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogTWFrZSBzdXJlIHdlIHNldCB0aGUgSU5fQ0FQUyBmbGFnIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBNYWtlIHN1cmUgd2Ugc2V0IHRoZSBJTl9DQVBTIGZsYWcgY29ycmVjdGx5LgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX3JlbmRlcik6CgkgIEdldCB0aGUgSU5fQ0FQUyBmbGFnIGJlZm9yZSB3ZSBjYWxsIGZ1bmN0aW9ucyB0aGF0IG1lc3Mgd2l0aCB0aGUgZmxhZ3MuCgoyMDA3LTA0LTEwIDIwOjM3OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciwgZ3N0X2dkcF9wYXlfY2hhaW4sIGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIsCgkgIGdzdF9nZHBfcGF5X2NoYWluLCBnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgT25seSBzdGFtcCBidWZmZXJzIHdpdGggb2Zmc2V0L29mZnNldF9lbmQgcmlnaHQgYmVmb3JlIHRoZXkgZ2V0CgkgIHB1c2hlZC4gIFRoaXMgZW5zdXJlcyBvZmZzZXQgY29udGludWl0eSwgd2hpY2ggd2FzIG5vdCB0aGUgY2FzZQoJICBiZWZvcmUgYXMgc2hvd24gYnkKCSAgZ3N0LWxhdW5jaCAtdiAtbSBhdWRpb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MTAgISBhdWRpb2NvbnZlcnQgISB2b3JiaXNlbmMgISBnZHBwYXkgISBpZGVudGl0eSBjaGVjay1pbXBlcmZlY3Qtb2Zmc2V0PVRSVUUgISBmYWtlc2luayBzaWxlbnQ9VFJVRQoKMjAwNy0wNC0xMCAyMDoyNTowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZGluZyBkZWJ1Z2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBkZWJ1Z2dpbmcKCjIwMDctMDMtMTQgMTU6MDU6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBhZGQgYnVmZmVyIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBidWZmZXIgbG9nZ2luZwoKMjAwNi0xMi0yMiAxMjoxMDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBGaXggdGhlIGRwIHRlc3RzLCBidXQgYWN0aXZhdGluZyB0aGUgcGFkcyBmb3IgdGhlIHN0cmVhbWhlYWRlciB0ZXN0cyB0b28gYW5kIGNsZWFuaW5nIHVwIGNvbmRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChjbGVhbnVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChjbGVhbnVwX2dkcHBheSksCgkgIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKToKCSAgRml4IHRoZSBkcCB0ZXN0cywgYnV0IGFjdGl2YXRpbmcgdGhlIHBhZHMgZm9yIHRoZSBzdHJlYW1oZWFkZXIgdGVzdHMKCSAgdG9vIGFuZCBjbGVhbmluZyB1cCBjb25kaXRpb25hbHkKCjIwMDYtMTItMjEgMDg6MTI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKGNsZWFudXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1YnBhcnNlLmM6ICh0ZWFyZG93bl9zdWJwYXJzZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzogKGNsZWFudXBfdGV4dG92ZXJsYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoY2xlYW51cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2xlYW51cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoY2xlYW51cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKSwKCSAgKGNsZWFudXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzogKHNldHVwX3ZvcmJpc3RhZyksCgkgIChjbGVhbnVwX3ZvcmJpc3RhZyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTA5LTIxIDA1OjMxOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBTb21lIG1vcmUgY29tcGlsYXRpb24gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9hdWRpby5jOgoJICBTb21lIG1vcmUgY29tcGlsYXRpb24gZml4ZXMuCgoyMDA2LTA5LTIwIDE3OjA0OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBGaXggc29tZSB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6IChlb3NfYnVmZmVyX3Byb2JlKToKCSAgRml4IHNvbWUgd2FybmluZ3MuCgoyMDA2LTA4LTI1IDE2OjE5OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBGaXggbWVtb3J5IGxlYWtzIGFuZCBtaXNsZWFkaW5nIGRlYnVnIG1lc3NhZ2VzLCBhZGQgYSBjb3VwbGUgb2YgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICBGaXggbWVtb3J5IGxlYWtzIGFuZCBtaXNsZWFkaW5nIGRlYnVnIG1lc3NhZ2VzLCBhZGQgYSBjb3VwbGUgb2YKCSAgY29tbWVudHMuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfZ2V0X3N0YXRzKSwKCSAgKGdzdF9tdWx0aV9mZF9zaW5rX3JlbmRlcik6CgkgIERvIG5vdCB1c2UgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlKCkgaW4gYSBiYXNlc2luayByZW5kZXIgbWV0aG9kLAoJICBhcyBpdCBtYXkgaW5jb3JyZWN0bHkgdW5yZWYgdGhlIGJ1ZmZlci4gSW5zdGVhZCwgdXNlIGNvbnZvbHV0ZWQKCSAgZGFuY2UgdG8gYXZvaWQgY29weWluZyB0aGUgYnVmZmVyIGV4Y2VwdCB3aGVuIHdlIG5lZWQgdG8uCgoyMDA2LTA4LTIxIDE5OjA0OjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvUkVBRE1FOgoJICBhZGRpbmcgYSBSRUFETUUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBhIFJFQURNRQoKMjAwNi0wOC0yMSAxOTowMTo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIEdEUCBwbHVnaW4gdG8gLWJhc2UgZnJvbSAtYmFkLiBDbG9zZXMgIzM0Nzc4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBNb3ZlIEdEUCBwbHVnaW4gdG8gLWJhc2UgZnJvbSAtYmFkLiAgQ2xvc2VzICMzNDc3ODMuCgoyMDA2LTA4LTA4IDEzOjU3OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBOb3cgaW5jbHVkZXMgImNvbmZpZy5oIgoKMjAwNi0wOC0wOCAxMzo0NTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCjIwMDYtMDgtMDQgMTM6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiBGaXhlcyAjMzQ5OTE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgoyMDA2LTA4LTAyIDE2OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEaXNhYmxlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX2RlcGF5X3NyY19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgRGlzYWJsZSBzZWVraW5nLgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250cy4KCSAgQ2xlYXIgY2FwcyB3aGVuIGdvaW5nIHRvIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9wYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NyY19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIFJlc2V0IHBheWxvYWRlciB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBGaXggbGVha2VkIGJ1ZmZlcnMgaW4gLT5xdWV1ZSBvbiBwdXNoIGVycm9ycy4KCSAgRGlzYWJsZSBzZWVraW5nLgoJICBDb2RlIGNsZWFudXBzLgoJICBDcmVhdGUgcGFja2V0aXplciBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgoyMDA2LTA3LTMxIDA4OjQ4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20KCSAgdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMzNDkyMDQKCjIwMDYtMDctMjYgMTA6NTI6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCk6CgkgIHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseQoJICBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnRhbGx5CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgcmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGJ1ZmZlcnMsIGl0J3MgYWxyZWFkeSBkb25lIGluIGdzdGNoZWNrLmgKCjIwMDYtMDctMTcgMTQ6MTc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzIGZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTcgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBmaXggdHlwbyBpbiBjb21tZW50CgoyMDA2LTA3LTE0IDEwOjM0OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCjIwMDYtMDctMTMgMTU6MjU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIGZpeCBzZWdmYXVsdHMgZHVlIHRvIHdyb25nIGdfZnJlZQoJICBhZGQgZXhhbXBsZQoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBleGFtcGxlCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNi0wNiAxNjoyNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGFwdCB0byBuZXcgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGFwdCB0byBuZXcgYXBpCgoyMDA2LTA2LTA2IDE0OjM5OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgYWRkIHZlcnNpb24gMS4wCgoyMDA2LTA2LTAyIDE2OjQ1OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgc21hbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGZpeGVzCgoyMDA2LTA2LTAyIDEwOjI4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMKCSAgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCksIChnZHBwYXlfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3IgY3JjCgoyMDA2LTA2LTAxIDIyOjAwOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMjIgMTU6NTM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcGF5X2NoYWluKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucwoJICBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGNsZWFuIHVwIG1vcmUKCjIwMDYtMDUtMjIgMTM6MjU6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2dkcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX3BheV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2Rpc3Bvc2UpLCAoZ3N0X2dkcF9zdGFtcF9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZ2RwX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSksIChnZHBkZXBheV9wdXNoX3Blcl9ieXRlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlciksIChnZHBkZXBheV9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcHBheV9zdWl0ZSksCgkgIChtYWluKToKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbAoJICBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCjIwMTItMDktMTAgMjA6Mzg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNjIGZpeCBmb3IgMC4xMQoJICBDb252ZXJ0IHRoZSBpbmNvbWluZyBjYXBzIGJlZm9yZSBwcm94eWluZyB0aGVtCgkgIENsZWFyIHRoZSBsYXN0X3BhZCB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIHRlc3RzOiBJbXBsZW1lbnQgYWNjZXB0X2NhcHMsIGRvbid0IGxlYWsgZXZlbnQKCjIwMTItMDktMTAgMTY6MTI6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC1tYXJzaGFsLmxpc3Q6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IFVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTItMDktMTAgMTY6MDk6MjYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQtbWFyc2hhbC5saXN0OgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4Lmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0LmM6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcuaDI2NDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcuanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5tanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIuaDI2NDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLm1qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi55dXkyOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9ib29sZWFuX3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2VudW1fcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvZW51bV9wcm9wZXJ0eV9ndGsyLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2ludF9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIFVWQyBIMjY0IHBsdWdpbgoKMjAxMi0wOS0wOSAyMzo1Mjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgb3BlbmN2OiBkaXNhYmxlIG1vdGlvbmNlbGxzICJkYXRlIiBwcm9wZXJ0eSBmb3Igbm93CgkgIFNob3VsZG4ndCBiZSBvZiB0eXBlIGxvbmcuIE5vdCBzdXJlIGl0J3MgdXNlZnVsIGF0IGFsbCwgc28KCSAganVzdCBkaXNhYmxlIGl0IGZvciBub3cgdG8gc2VlIGlmIHNvbWVvbmUgbWlzc2VzIGl0LgoKMjAxMi0wOS0wOSAxNDozNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbm9uLWV4aXN0YW50IGhsc3NpbmsgcGx1Z2luIGZyb20gTk9OUE9SVEVEIGxpc3QKCjIwMTItMDktMDggMTY6MDg6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogRml4IG1lbW9yeSBsZWFrCgoyMDEyLTA5LTA4IDE1OjU3OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogZml4IGxlYWtzIGluIGF1ZGlvc3JjL3NpbmsKCjIwMTItMDktMDggMTc6MDM6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCBvdmVycmlkZSB1cHN0cmVhbSBmcmFtZXJhdGUgYW5kIFBBUgoJICBJZiB1cHN0cmVhbSBwcm92aWRlZCBzb21lLCB0aGVyZSdzIGEgZ29vZCBjaGFuY2UgdGhleSBhcmUgdGhlIG9uZXMgdG8gdXNlCgoyMDEyLTA5LTA4IDE0OjQzOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkgIGhsczogZGlzYWJsZSBobHNzaW5rIGJ1dCBkbyBidWlsZCBobHNkZW11eAoKMjAxMi0wOS0wOCAxNDozMTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiY29uZmlndXJlLmFjOiBQcm9wZXJseSBkaXNhYmxlIEhMUyBwbHVnaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2FkMzQ0NWEyNWYzMWJjMGQwMTY3YTRmNDEzNzkxYmVhODAwNjc4My4KCSAgVGhpcyBkaXNhYmxlZCBobHNkZW11eCBhcyB3ZWxsCgoyMDEyLTA5LTA4IDE0OjA1OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBQcm9wZXJseSBkaXNhYmxlIEhMUyBwbHVnaW4KCjIwMTItMDktMDcgMTY6MDg6NTcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogQWRkIG1pc3NpbmcgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MKCjIwMTItMDktMDcgMTY6MDc6NDAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogQWRkIHNlZ21lbnQgdGFyZ2V0LWR1cmF0aW9uIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgY2F1c2VzIGhsc3NpbmsgdG8gcHVzaCBhIGZvcmNlIGtleSB1bml0IGV2ZW50IHVwc3RyZWFtCgkgIGV2ZXJ5IHRhcmdldC1kdXJhdGlvbiBzZWNvbmRzLiBUaGlzIGlzIGZvciBzaW1wbGUgYXV0b21hdGljIHNlZ21lbnRpbmcuCgkgIFRvIGRpc2FibGUgaXQsIHNldCB0aGUgcHJvcGVydHkgdG8gMCBhbmQgcHVzaCB0aGUgZm9yY2Uga2V5IHVuaXQgZXZlbnQKCSAgbWFudWFsbHkuCgoyMDExLTA4LTIxIDExOjAwOjUxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzOiBhZGQgaGxzc2luayBlbGVtZW50CgoyMDEyLTA5LTA2IDAxOjUzOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBjb3JyZWN0IHZhcmlhYmxlIHdoZW4gaGFuZGxpbmcgcGFkIHByb2JlIGJ1ZmZlcnMKCSAgUGFkIHByb2JlIGRhdGEgaXMgaW4gdGhlIEdzdFBhZFByb2JlSW5mbywgbm90IGluIHRoZSB1c2VyIGRhdGEKCSAgcGFyYW1ldGVyLgoKMjAxMi0wOS0wMyAxOToyNTo1MiArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIG15dGh0djogdXBkYXRlIGZvciBkdXJhdGlvbiBtZXNzYWdlIEFQSSBjaGFuZ2UKCjIwMTItMDktMDMgMTQ6MjE6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgaW50ZXJsYWNlX2NvZGluZyBiYXNlZCBvbiBpbnB1dCBjYXBzCgkgIGFuZCByZW1vdmUgcHJvcGVydHkuCgoyMDEyLTA5LTAzIDE0OjA0OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogY29uZmlndXJlIHByb2ZpbGUvbGV2ZWwgZnJvbSBhbGxvd2VkIGRvd25zdHJlYW0gY2FwcyBpbnN0ZWFkIG9mIHByb3BlcnRpZXMKCSAgVGhpcyBpcyBob3cgaXQncyBkb25lIGVsc2V3aGVyZSBhbmQgd29ya3MgYmV0dGVyIHdpdGggZW5jb2RlYmluLgoJICBSZW1vdmVzICJmb3JjZS1wcm9maWxlIiBwcm9wZXJ0eSwgcmVhZC1vbmx5ICJwcm9maWxlIiBwcm9wZXJ0eSBhbmQKCSAgImxldmVsIiBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDYwOAoKMjAxMi0wOS0wMyAxMzo1ODoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBmaXggbWFpbiBwcm9maWxlIG1hcHBpbmcKCjIwMTItMDktMDMgMTM6MDQ6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBwcmV0dGlmeSBlbnVtIHByb3BlcnR5IG5pY2tzCgkgIFVzZSAnLScgaW5zdGVhZCBvZiAnXycgYXMgd29yZCBzZXBhcmF0b3IuCgoyMDEyLTA5LTAzIDEyOjQxOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IGNoYW5nZSAiaW50ZXJsYWNlZCIgYm9vbGVhbiBpbiBjYXBzIHRvICJpbnRlcmxhY2UtbW9kZSIKCSAgTm90IHN0cmljdGx5IG5lZWRlZCwgYnV0IGxldCdzIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHRoZSByYXcKCSAgdmlkZW8gd2F5IG9mIGRvaW5nIHRoaW5ncy4KCjIwMTItMDktMDMgMTI6MzM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogdXNlIHN0cmluZ3MgZm9yIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggbW9zdCBvdGhlciBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDM2CgoyMDEyLTA5LTAyIDEyOjM2OjM3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IE5vIG5lZWQgdG8gZGVmaW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTc1CgoyMDEyLTA5LTAyIDAzOjU1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBleHRyYWN0IHllYXIgdG8gd3JpdGUgaW50byBJRDN2MSB0YWcgZnJvbSBHU1RfVEFHX0RBVEVfVElNRSBub3QgR1NUX1RBR19EQVRFCgoyMDEyLTA5LTAxIDIxOjQ2OjE5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzZXQgMCBkdXJhdGlvbiB3aGVuIHZvcF9jb2RlZCBpcyAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNjkKCjIwMTItMDktMDIgMDE6NDI6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uIC0+IGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbl9jaGFuZ2VkCgoyMDEyLTA5LTAxIDA5OjEyOjUxIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEhhbmRsZSBjYXBzIHF1ZXJ5IG9uIGludGVybmFsIHNyY3BhZAoJICBSZXBseSB3aXRoIEFOWSBjYXBzIHRvIGVuc3VyZSBsaW5raW5nIHRoZSBpbnRlcm5hbCBzcmMgcGFkLiBUaGlzCgkgIG1pZ2h0IG5lZWQgbW9yZSBhdHRlbnRpb24gbGF0ZXIsIHRvIHJlcGx5IHdpdGggdGhlIHJlYWwgdXBzdHJlYW0gY2FwcwoJICBmb3IgdGhlIGN1cnJlbnRseSBhY3RpdmUgZWxlbWVudC4KCjIwMTItMDgtMzEgMTU6Mjg6MjkgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQvbXBlZ2RlbXV4OiBTZW5kIGJvdGggUFRTIGFuZCBEVFMgZG93bnN0cmVhbQoJICBOb3cgdGhhdCB3ZSBjYW4uCgoyMDEyLTA5LTAyIDAwOjA0OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBkb24ndCBsZWFrIGJ1ZmZlciBpbiBjYXNlIG9mIGFuIGluaXQgZXJyb3IKCjIwMTItMDktMDIgMDA6MzQ6MzggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE3NQoKMjAxMi0wOC0zMSAxNDoxMzo1OCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogUGx1ZyBhIHZpZGVvIHBhcnNlciBpbiBmcm9udCBvZiBkZWNvZGVyCgkgIFNlZW1zIHRvIG1ha2UgcGxheWJhY2sgYm90aCBiZXR0ZXIgYW5kIHdvcnNlLiBUaGUgcGFyc2VyIG5lZWRzIHNvbWUKCSAgZml4aW5nLCBpdCBzZWVtcyA6LS8KCjIwMTItMDgtMzEgMTI6MzE6NDggLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogTWFrZSBHQVAgZXZlbnQgYXdhcmUKCjIwMTItMDgtMzEgMDg6NDY6NDUgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmg6CgkgIHJlc2luZHZkOiBBZGQgc29tZSBHQVAgZXZlbnQgc3R1ZmYgdG8gbWFrZSBzdGlsbC1mcmFtZXMgc3RhcnQgdG8gd29yawoJICBBbmQgcmVtb3ZlIHRoZSBkZWFkIGF1ZGlvbXVuZ2UgZWxlbWVudC4gSXQgaXNuJ3QgbmVlZGVkIG5vdywgd2UganVzdAoJICBzZW5kIEdBUCBldmVudHMKCjIwMTItMDYtMDkgMjI6MzY6MDYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5oOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmg6CgkgIHJlc2luZHZkOiBJbml0aWFsIHBhcnRpYWwgcG9ydCB0byAwLjExCgoyMDEyLTA4LTMwIDE4OjM5OjUwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGRyb3AgdXBzdHJlYW0gZXZlbnRzIGR1ZSB0byBzaWxseSB0eXBvCgoyMDEyLTA4LTMwIDE3OjUxOjUwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IE1lcmdlIHNvbWUgRFZEIHBpZWNlcyBhbmQgZml4ZXMKCSAgQnJpbmcgdGhlIHJlc2luZHZkIGNvcHkgb2YgbXBlZ3BzZGVtdXggYW5kIHRoZSBub3JtYWwgdmVyc2lvbgoJICBzbGlnaHRseSBjbG9zZXIgdG9nZXRoZXIuCgkgIERvbid0IGZvcndhcmQgaW5jb21pbmcgc2luayBjYXBzIGV2ZW50IHRvIGRvd25zdHJlYW0gZWxlbWVudHMuCgoyMDEyLTA2LTExIDA4OjMzOjM2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIGV4dHJhIHJlZnMvdW5yZWZzIG9mIHRoZSBkZW11eGVyCgkgIENoYW5nZSBhbGwgdGhlIGdzdF9wYWRfZ2V0X3BhcmVudCgpIGNhbGxzIHRvIGEgY2FzdCB0byB0aGUKCSAgcGFzc2VkIHBhcmVudCB2YXJpYWJsZSB3aGVyZSBhcHByb3ByaWF0ZSwgYW5kIGRvbid0IHVucmVmLAoJICBpbmNsdWRpbmcgdGhlIGV4dHJhIHVucmVmIGluIHRoZQoJICBnc3RfZmx1cHNfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKCkgZnVuY3Rpb24uCgoyMDEyLTA4LTMwIDEyOjExOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgkgIC4uLiBhbmQgc3VwcGx5IG92ZXJsYXkgcmVjdGFuZ2xlIGRhdGEgaW4gQVlVViBhcyBwcm92aWRlZCBieSBpbnB1dAoJICBkYXRhIHJhdGhlciB0aGFuIGNvbnZlcnRpbmcgdG8gUkdCLgoKMjAxMi0wOC0yOSAyMjowNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gc2V0IGNsb2NrL2Jhc2V0aW1lIGFnYWluCgkgIFRoZSBiYXNlIGFuZCBjbG9jayBhcmVuJ3QgbG9zdCBhbnltb3JlIG9uIHN0YXRlIGNoYW5nZXMKCSAgaW4gMS4wCgoyMDEyLTA4LTI5IDIyOjA1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byBzZW5kIGV4dHJhIHJlY29uZmlndXJlCgkgIFNldHRpbmcgY2Fwc2ZpbHRlcnMgYWxyZWFkeSBzZW5kcyByZWNvbmZpZ3VyZSBldmVudHMgd2hlbiBhIG5ldwoJICBjYXBzIGlzIHNldCwgbm8gbmVlZCB0byByZXNlbmQgdGhlbS4KCjIwMTItMDgtMjggMjE6MDE6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZXF1ZXN0IF8ldSB0ZW1wbGF0ZXMgaW5zdGVhZCBvZiBfJWQKCSAgSW4gMS4wLCB0ZW1wbGF0ZXMgaGF2ZSBiZWVuIHJlbmFtZWQgdG8gXyV1IGFzIGRlZmF1bHQKCjIwMTItMDgtMjYgMTY6NDM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggaW1hZ2UgbG9jYXRpb24gc3dpdGNoaW5nIHRlc3QKCSAgVGhlIHRlc3Qgc2hvdWxkIHdhaXQgdW50aWwgdGhlIGxhc3QgaW1hZ2UtZG9uZSBpcyBwb3N0ZWQgc28gaXQKCSAgY2FuIGNvcnJlY3RseSBjaGVjayB0aGF0IGFsbCBpbWFnZXMgaGF2ZSBiZWVuIHNhdmVkLgoKMjAxMi0wOC0yNiAxNjo0MjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZXdvcmsgdmlkZW8gcmVjb3JkaW5nIGVvcyBwdXNoCgkgIFB1c2ggRU9TIG91dHNpZGUgb2Ygd3JhcHBlcmNhbWVyYWJpbnNyYyBzbyB0aGF0IG5vbmUgb2YgdGhlCgkgIGludGVybmFsIGVsZW1lbnRzIGdldHMgaXRzIHBhZHMgaW50byBlb3Mgc3RhdGUsIHByZXZlbnRpbmcgYW55CgkgIGZ1cnRoZXIgZGF0YSBmcm9tIHBhc3NpbmcKCjIwMTItMDgtMjggMTE6MDc6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBlbnN1cmUgc3VmZmljaWVudGx5IHNpemVkIGJ1ZmZlciB3aGVuIHdyYXBwaW5nIE5BTAoJICBOb3RlZCBieSA8emhhbmd5YW5waW5nMjEwQHlhaG9vLmNvbS5jbj4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjU4OQoKMjAxMi0wOC0yNCAwOTowMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJICBzaG06IHJlbW92ZSB1bm5lZWRlZCBnbGliLWdlbi1tYWsgaW5jbHVkZSBpbiBNYWtlZmlsZQoJICBObyBlbnVtcyBvciBtYXJzaGFsbGVycyB0byBiZSBnZW5lcmF0ZWQgaGVyZS4gU2hvdWxkIGFsc28KCSAgYmUgZ3N0LWdsaWItZ2VuLm1hayB0aGVuLgoKMjAxMi0wOC0yMiAxNTowODo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJldmVydCByZW5hbWluZyBvZiB0aGUgdHlwZQoJICBUaGUgc3BlY2lhbCB0eXBlIG5hbWUgd2FzIGxvc3Qgd2hlbiBtZXJnaW5nIGZyb20gYmFzZS4KCjIwMTItMDgtMjIgMTM6MzA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY2OGFjZWUgdG8gNGY5NjJmNwoKMjAxMi0wOC0yMiAxMzoxOTo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGd0ay1kb2MgcmVxIHRvIDEuMTIgKG1hci0yMDA5KQoJICBUaGlzIGFsbG93cyB1cyB0byBlLmcuIHVuY29uZGl0aW9uYWxseSB1c2UgZ3RrZG9jLXJlYmFzZS4KCjIwMTItMDgtMjEgMTM6Mjk6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogYXZvaWQgcmVnaXN0ZXJpbmcgZW51bSB0eXBlIG9mIHNhbWUgbmFtZSBhcyBsaWJ2aXN1YWwgcGx1Z2luIGluIC1iYXNlCgoyMDEyLTA4LTE3IDExOjEyOjIyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kOiB1c2Ugc2NhbGUgZnVsbHNjcmVlbiBtZXRob2QuCgkgIFRoaXMgbWFrZXMgdGhlIGNvbXBvc2l0b3Igc2NhbGUgdGhlIHN1cmZhY2UgdG8gZml0IGFuZCBwcmVzZXJ2ZXMKCSAgYXNwZWN0IHJhdGlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTE3IDExOjEwOjM5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kOiByZXNwb25kIHRvIHBpbmcvcG9uZyBwcm90b2NvbCBzbyB3ZSdyZSBub3QgZGVlbWVkIHVucmVzcG9uc2l2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0yMSAxMDozNzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggY2hlY2sgZm9yIHdheWxhbmQKCSAgV2Ugb25seSBzZWVtIHRvIG5lZWQgd2F5bGFuZC1jbGllbnQuIEFsc28gbWFrZSB3b3JrIHdpdGgKCSAgd2F5bGFuZCBiZWluZyBpbnN0YWxsZWQgaW4gYSBub24tZGVmYXVsdCBwcmVmaXggYnkgbm90CgkgIG92ZXJ3cml0aW5nL2NsZWFyaW5nIFdBWUxBTkRfe0NGTEFHUyxMSUJTfSBmb3Igbm8gcmVhc29uCgkgIGF0IGFsbC4KCjIwMTItMDgtMjEgMTA6Mjk6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGZpeCBidWlsZAoJICBTb21lIGNvZGUgc2xpcHBlZCBpbnRvIHRoZSBsYXN0IGNvbW1pdCB0aGF0IHdhcyBtZWFudCB0byBiZQoJICBwdXNoZWQgc2VwYXJhdGVseS4gVXNlIGdzdF9kYXRlX3RpbWVfdW5yZWYoKSBpbnN0ZWFkIG9mIF9mcmVlKCkuCgoyMDEyLTA4LTA4IDE3OjEwOjI4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kOiBNb3JlIGZpeGVzIGJhc2VkIG9uIHdheWxhbmQtMC45NS4wIGFuZCBnc3RyZWFtZXItMS4wIGFwaXMKCSAgLSBidW1wIHdheWxhbmQgdmVyc2lvbiB0byAwLjk1LjAgd2hpY2ggd2lsbCBsZWFkIHRvIHN0YWJsZSAxLjAgcmVsZWFzZQoJICAtIGF2b2lkIG1lbWNvcHkgYW5kIHVzZSBwcm9wb3NlX2FsbG9jYXRpb24gZm9yIEdzdEJ1ZmZlclBvb2wgYWxsb2NhdGlvbgoJICAtIHVzaW5nIFdheWxhbmRCdWZmZXJQb29sCgkgIC0gc2htOiBBbGxvY2F0ZSBzaG0gYnVmZmVycyB0aHJvdWdoIG5ldyB3bF9zaG1fcG9vbCBpbnRlcmZhY2UKCSAgKHRoZSBzaG0gYnVmZmVyIGFsbG9jYXRpb24gaXMgYSB0d28gc3RlcCBwcm9jZXNzIG5vdzogZmlyc3QKCSAgYWxsb2NhdGUgYSB3bF9zaG1fcG9vbCwgdGhlbiBhbGxvY2F0ZSBhIGJ1ZmZlciBmcm9tIHRoZSBwb29sKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTIxIDEwOjIyOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IHBvcnQgdG8gMC4xMQoKMjAxMi0wOC0yMSAwMDoxMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogR1NUX1RBR19EQVRFIC0+IEdTVF9UQUdfREFURV9USU1FCgkgIEluIGNhbWVyYWJpbjIgZXhhbXBsZS4KCjIwMTItMDgtMjAgMjM6Mzc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUgLT4gc3VicGljdHVyZS94LWR2ZAoKMjAxMi0wOC0xOCAyMDozMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmg6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmg6CgkqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmM6CgkqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmg6CgkgIEZpeCB1cCBGU0YgYWRkcmVzcyBpbiBzb21lIHNvdXJjZSBmaWxlcyBhcyB3ZWxsCgoyMDEyLTA4LTE4IDExOjA5OjM5IC0wNDAwICBCcmlhbiBQZXBwbGUgPGJwZXBwbGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBDT1BZSU5HOgoJKiBDT1BZSU5HLkxJQjoKCSAgQ29ycmVjdCBpbmNvcnJlY3QgRlNGIGFkZHJlc3MgaW4gbGljZW5zZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTU4CgoyMDEyLTA4LTE3IDIyOjU3OjEwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN5bmMgdG8gY2hhbmdlIGluIGJhc2UgYW5kIHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvTWV0YSBhbmQgR3N0VmlkZW9GcmFtZS4gUmVtb3ZlIHNvbWUgcmVkdW5kYW50IGZpZWxkcwoJICB0aGF0IGFyZSBhbHNvIGluIEdzdFZpZGVvSW5mby4gRG9uJ3QgZGlzYWJsZSB0aGUgc2hhZGVyIGNvZGUsIGl0IGRvZXMgbm90CgkgIGxvb2sgYnJva2VuLgoKMjAxMi0wOC0xNyAxNToxNTozNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyOiBzdGF0dXMgdXBkYXRlCgoyMDEyLTA4LTE1IDE4OjI4OjA5IC0wNDAwICBCcmlhbiBQZXBwbGUgPGJwZXBwbGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1pc3NpbmcgQUNfTEFOR19QUk9HUkFNIGNhbGwgdG8gRGlyZWN0U2hvdyB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTUyCgoyMDEyLTA4LTE1IDExOjI2OjU5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIHZpc3VhbGl6ZXI6IHNtYWxsIGNsZWFudXAKCSAgQXBwbHkgY2xlYW51cCBmcm9tIGNvcHkgaW4gYmFzZS4KCjIwMTItMDctMjQgMjA6Mzk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGZsdXNoaW5nL3N5bmMgaGFuZGxpbmcKCSAgVGhlcmUgd2FzIGEgc3RyYXkgYWRhcHRlcl9mbHVzaCgpIG5vdyB0aGF0IHdlIHVzZWQgYSB0ZW1wb3JhcnkgYnVmZmVyCgoyMDEyLTA3LTE5IDEzOjM1OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEJldHRlciBkZXRlY3QgUENSIHJlc2V0cwoJICBBc3N1bWUgdGhhdCBhbnkgZGlmZmVyZW5jZXMgaW4gUENSIGdyZWF0ZXIgdGhhbiAxNXMgbWVhbnMgdGhlcmUgaXMKCSAgYSByZXNldCBpbiB0aGUgc3RyZWFtLgoKMjAxMi0wNy0xOSAwOTowNToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTkgMDk6MDU6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xNCAxMzo1OTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUvZGVtb3RlIHNvbWUgZGVidWdnaW5nCgoyMDEyLTA3LTEzIDE2OjU2OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFsd2F5cyB1c2UgY3VycmVudCBQVFMvRFRTCgkgIFRoaXMgYXZvaWRzIHNldHRpbmcgb2xkIFBUUyBhbmQvb3IgRFRTCgoyMDEyLTA3LTEzIDE2OjIyOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSB1bm5lZWRlZCBtZW1zZXQoMCkKCjIwMTItMDctMTMgMTY6MjI6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzOiBVc2UgR19HTlVDX0lOVEVSTkFMCgoyMDEyLTA3LTExIDA4OjEwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkdmIgcGx1Z2luIGlzIHBvcnRlZAoKMjAxMi0wNy0xMSAwODoxMDoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBNb3JlIGZpeHVwcyB0byAxLjAKCSAgTm90IHRlc3RlZCB5ZXQgIQoJICBDb25mbGljdHM6CgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMKCjIwMTItMDYtMjkgMTg6MDQ6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgY2FtOiBBbGxvdyB0aW1lIGZvciBDQSB0byBpbml0aWFsaXplCgkgIFNvbWUgZGV2aWNlcyB0YWtlIHNvbWUgdGltZSB0byBpbml0aWFsaXplLCBhbmQgdW50aWwgdGhleSBhcmUgdGhleQoJICB3aWxsIGVycm9yIG91dCB3aGVuIHRyeWluZyB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENBIGRldmljZS4KCjIwMTItMDYtMjkgMTg6MDE6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICBjYW06IFBNVF9SRVBMWSBwYXJzaW5nCgkgIE5vdCB1c2VkIHlldAoKMjAxMi0wNi0yOSAxODowMDo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgIGR2YmJhc2ViaW46IFN3aXRjaCB0byB1c2UgdHNwYXJzZQoKMjAxMi0wNi0yOSAxNzo1MzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZ3N0X3N0cnVjdHVyZV8qX3Rha2VfdmFsdWUgd2hlcmUgYXBwbGljYWJsZQoJICBTYXZlcyBjb3B5aW5nL2ZyZWVpbmcgZGF0YQoKMjAxMi0wNi0yOSAxNjoxNDowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDYWNoZSB0aGUgR0lDb252CgkgIEF2b2lkcyBoYXZpbmcgdG8gY29uc3RhbnRseSBvcGVuL2ZyZWUgdGhlbSAod2hpY2ggd2lsbCBlbmQgdXAgYmVpbmcKCSAgdmVyeSBvZnRlbiB3aXRoIEVJVC9OSVQpLgoKMjAxMi0wNi0yOSAxNjowOTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IHJlc2V0IGVsZW1lbnQgaW4gUkVBRFk9PlBBVVNFRAoJICBFbnN1cmVzIGFsbCBzdWJjbGFzcyByZXNldCB2bWV0aG9kcyBhcmUgY2FsbGVkCgoyMDEyLTA2LTI4IDEyOjE4OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBtb3JlIFF1YXJrcwoKMjAxMi0wNi0yNiAxOTowMTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdXNlbGVzcyBjb2RlCgkgIFBDUi9PUENSIGlzIG1lYW50IHRvIGJlIGhhbmRsZWQgYnkgdGhlIHBhY2tldGl6ZXIKCjIwMTItMDYtMjYgMTg6NTk6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2FsY3VsYXRlIHBjci90aW1lL29mZnNldCBzZXBhcmF0ZWx5IHBlciBwcm9ncmFtCgkgIEF2b2lkcyBxdWl0ZSBhIGZldyBpc3N1ZXMgd2l0aCBtdWx0aS1wcm9ncmFtIHN0cmVhbXMKCjIwMTItMDYtMjYgMTg6NTQ6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IFB1c2ggb3V0IGJ1ZmZlciBvbiBtYWluIHNvdXJjZSBwYWQKCjIwMTItMDYtMjYgMTg6NTE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RiYXNlOiB2bWV0aG9kIHRvIG5vdGlmeSB3aGVuIHdlJ3JlIGRvbmUgcHJvY2Vzc2luZyBpbnB1dAoJICBUaGlzIGNhbiBiZSB1c2VkIHRvIG5vdGlmeSBzdWJjbGFzc2VzIG5vIG1vcmUgZGF0YSBpcyBleHBlY3RlZCB0aGlzCgkgIHJvdW5kLgoJICB0c3BhcnNlIHdpbGwgdXNlIGl0IHRvIHB1c2ggd2hvbGUgYnVmZmVycyAod2l0aG91dCBjb3B5KSBvbiB0aGUgbWFpbgoJICBzb3VyY2UgcGFkLgoJICBJdCBjb3VsZCBhbHNvIGJlIHVzZWQgbGF0ZXIgdG8gZGVjaWRlIHdoZXRoZXIgdG8gcHVzaCBwZW5kaW5nIGRhdGEKCSAgaW4gb3JkZXIgdG8gcmVkdWNlIGxhdGVuY3kuCgoyMDExLTAyLTAxIDExOjM5OjE2IC0wODAwICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmMgKyBkdmIgYXBpIGJ1ZmZlciBwcm9wZXJ0eSB0byBvdmVyY29tZSBidWZmZXIgdW5kZXIgcmVhZHMKCjIwMTItMDgtMDggMTU6MDY6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IERvbid0IGFzc3VtZSBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcHMKCSAgVGhlcmUncyBubyBndWFyYW50ZWUgd2hhdHNvZXZlciB0aGF0IHRoZSBmaXJzdCBidWZmZXIgdG8gb3V0cHV0IHdpbGwKCSAgc3RhcnQgYXQgdGhlIHNlZ21lbnQuc3RhcnQuCgkgIEluc3RlYWQsIHdhaXQgZm9yIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBzZWdtZW50LCBhbmQgdXNlIHRoYXQgdGltZXN0YW1wCgoyMDEyLTA4LTE0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRlY29kaW5nIHRocmVhZHMKCjIwMTItMDgtMTQgMTE6MDk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciB0aGUgTUZRRSBwb3N0cHJvY2Vzc2luZyBmbGFnCgkgIFdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBpZiBwb3N0cHJvY2Vzc2luZyBpcyBlbmFibGVkLgoKMjAxMi0wOC0xMyAxMDo1Nzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IG9ubHkgYXBwbHkgcmVwZWF0IGNvdW50IHdoZW4gc2V0CgkgIFdoZW4gdGhlcmUgaXMgbm8gZXh0ZW5zaW9uIGhlYWRlciwgdGhlIHJlcGVhdF9jb3VudCB2YXJpYWJsZSBpcyBsZWZ0IHRvIDAgYW5kCgkgIHRoZW4gdGhlIGR1cmF0aW9uIG9uIHRoZSBvdXRwdXQgYnVmZmVycyBpcyBjYWxjdWxhdGVkIHdyb25nbHkuIEJlY2F1c2UgdGhlCgkgIGR1cmF0aW9uIGlzIHVzZWQgdG8gaW50ZXJwb2xhdGUgb3V0cHV0IHRpbWVzdGFtcHMsIHRoZSBvdXRwdXQgdGltZXN0YW1wcyBhcmUKCSAgYWxzbyB3cm9uZywgY2F1c2luZyBiYWQgZnJhbWVyYXRlcy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE1MzUKCjIwMTItMDgtMDkgMTM6Mzc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICB2cDg6IFVzZSBwa2ctY29uZmlnIGZpbGUgZm9yIGdldHRpbmcgdGhlIExJQlMgYW5kIENGTEFHUwoKMjAxMi0wOC0wOSAxMTo0ODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogR2l2ZSBNQVJHSU5BTCByYW5rIHRvIHRoZSBtcGcxMjMgZGVjb2RlciBlbGVtZW50CgoyMDEyLTA4LTA4IDE3OjQwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGdzdDogU2V0IGFsaWdubWVudCBhdCB0aGUgY29ycmVjdCBwbGFjZSBvZiBHc3RBbGxvY2F0aW9uUGFyYW1zCgoyMDEyLTA4LTA4IDE3OjA2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHRoZSBwZXItY29tcG9uZW50IHN0cmlkZXMgZm9yIGV2ZXJ5IGZyYW1lIHRvbwoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIEdzdFZpZGVvQWxpZ25tZW50CgoyMDEyLTA4LTA4IDE2OjM1OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkzID09PQoKMjAxMi0wOC0wOCAxNTozMjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBSZWxlYXNlIDAuMTEuOTMKCjIwMTItMDgtMDggMTI6NTg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBtcGcxMjM6IGRpc3QgaGVhZGVyIGZpbGUKCjIwMTItMDgtMDggMTI6MTM6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwaG90b2dyYXBoeS5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZm9yIHBob3RvZ3JhcGh5IEFQSSBjaGFuZ2VzCgoyMDEyLTA4LTA4IDExOjUzOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IC5naXRpZ25vcmUgbmV3IGN1cmxzbXRwc2luayB0ZXN0IGJpbmFyeQoKMjAxMi0wOC0wMyAxNjoyMTowOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogUG9ydCB0byAwLjExCgoyMDEyLTA4LTA3IDE4OjIzOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGFkZCBtaXNzaW5nIGRlZmF1bHQgc3dpdGNoIGNhc2UKCjIwMTItMDgtMDcgMTg6MjM6MDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogZml4IHR5cGVzCgoyMDEyLTA4LTA3IDE4OjIyOjM2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IGZpeCBmb3JtYXQgd2FybmluZ3MKCjIwMTItMDgtMDcgMTg6MjE6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogZml4IHVudXNlZCB2YXJpYWJsZXMgd2FybmluZ3MKCjIwMTItMDgtMDcgMTg6MjA6NTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGRvbid0IHJlaW5pdGlhbGl6ZSBNRURJQVNVQlRZUEVfSTQyMAoKMjAxMi0wOC0wNyAxODoxOToyOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgIHdpbmtzOiBkZWZpbmUgU1RBVElDX0tTUFJPUFNFVElEX1dhdmVfUXVldWVkIGlmIG5vdCBkZWZpbmVkCgoyMDEyLTA4LTA3IDE2OjUzOjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2lua3M6IGludGVncmF0ZSBidWlsZCB3aXRoIGF1dG90b29scwoKMjAxMi0wOC0wMiAxNDoyNjozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcwoJICBSZW5hbWUgdGhlIERMTCBlbnRyeSBwb2ludCB0aGUgYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYwoJICBsaW5rcy4KCjIwMTItMDgtMDIgMTQ6MjY6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3MKCSAgUmVuYW1lIHRoZSBETEwgZW50cnkgcG9pbnQgdGhlIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMKCSAgbGlua3MuCgoyMDEyLTA4LTA2IDEzOjU5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIGdzdDogQWRkIHN0cmVhbS1pZCB0byBzdHJlYW0tc3RhcnQgZXZlbnRzCgoyMDEyLTA3LTI2IDE5OjMxOjE0ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBpbml0aWF0ZSBlbmNvZGVyIHRvIGZpeCBhIGNyYXNoLgoJICBXaXRob3V0IHRoaXMgcGF0Y2ggdnA4ZW5jIHNlbmQgaGVhZGVyIGJlZm9yZSBhbmQgYWZ0ZXIgZmlyc3QKCSAga2V5IGZyYW1lLiBPbiBzZWNvbmQga2V5ZnJhbWUgdnA4ZGVjIHdpbGwgY3Jhc2ggd2l0aG91dCBnZXR0aW5nCgkgIGRlY29kZWQgZnJhbWUuIFdpdGggdGhpcyBwaXBlIGl0IGlzIGVhc3kgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWU6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIHZwOGVuYyAhIHZwOGRlYyAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA2NjcKCjIwMTItMDgtMDUgMTY6NDA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk0Y2NmNGMgdG8gNjY4YWNlZQoKMjAxMi0wOC0wNCAxNjozMTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGdzdF90YWdfbGlzdF9mcmVlIC0+IGdzdF90YWdfbGlzdF91bnJlZgoKMjAxMi0wOC0wMyAxMTozMTowMCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsOiBmaXhlZCBzb21lIG1lbW9yeSBsZWFrcyBpbiB0aGUgcGx1Z2luIGFuZCB0aGUgdW5pdCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTE3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTUKCjIwMTItMDgtMDMgMTQ6MTI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlibXBnMTIzID49IDEuMTMgZm9yIDI0LWJpdCBmb3JtYXRzCgoyMDEyLTA4LTAzIDEzOjQzOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBtYXAgaW5wdXQgYnVmZmVyIGluIFJFQUQgbW9kZSwgbm90IFdSSVRFIG1vZGUKCSAgTWFrZXMgdGhpbmdzIGFjdHVhbGx5IHdvcmsuCgoyMDEyLTA4LTAzIDExOjUwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBxdWVyeSBzdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdHMgYXQgcnVuLXRpbWUKCSAgRml4ZXMgc3R1ZmYuIFdlIHVzZSBhIHN0cmluZyBoZXJlIHNpbmNlIHdlIGNhbid0IGJlIGJvdGhlcmVkCgkgIHdpdGggR1ZhbHVlLgoKMjAxMi0wOC0wMyAxMTo0ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgbXBnMTIzOiBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOC0wMyAxMToxMzo0OCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkgIG1wZzEyMzogYWRkIG5ldyBsaWJtcGcxMjMtYmFzZWQgbXAzIGRlY29kZXIgcGx1Z2luCgkgIE5lZWRzIGEgYml0IG9mIGNsZWFuaW5nIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMDAzCgoyMDEyLTA4LTAzIDAwOjEwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBzY2hyb2VkaW5nZXIsIG1wZWd0c211eDogZml4IHBsdWdpbiBuYW1lcwoKMjAxMi0wNy0zMSAwOTozNjozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFNhdmUgaW1hZ2UvdmlkZW8gcmVjb25maWd1cmF0aW9uIHVudGlsIGNhcHR1cmluZwoJICBBZGQgYSBzcmMgcGFkIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBmaWx0ZXJzIHJlY29uZmlndXJlIGV2ZW50cyB0bwoJICB0cmlnZ2VyIHRoZSByZW5lZ290aWF0aW9uIGNvZGUgcGF0aHMgaW4gdGhlIG1vZGUtc3BlY2lmaWMgc3RhcnQtY2FwdHVyZQoJICBwaGFzZS4KCSAgVGhpcyBpcyB0byB3b3JrIHRvd2FyZHMgZml4aW5nIHVuaXQgdGVzdHMgYnV0IG1vcmUgd29yayBpcyBuZWVkZWQuCgoyMDEyLTA4LTAyIDE0OjQwOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZG8gbm90IGFjY2VzcyBmcmFtZSBidWZmZXIgZm9sbG93aW5nIF9maW5pc2hfZnJhbWUgY2FsbAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNDk0CgoyMDEyLTA4LTAxIDExOjM0OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICBtcGxleDogZGVmYXVsdCB0byBEVkQgTVBFRy0yIGZvcm1hdCBpbnN0ZWFkIG9mIEdlbmVyaWMgTVBFRy0xCgoyMDEyLTA4LTAxIDExOjMxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICBtcGxleGpvYjogYWRkIG5pY2tzIGZvciBmb3JtYXQgZW51bXMsIGFkZCBzb21lIG1vcmUgZm9ybWF0cwoKMjAxMi0wNy0zMCAxNzoyMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZml4IGppZm11eCB0ZXN0IGZvciBmaXhlZCBmYWlsKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDc1NQoKMjAxMi0wNy0yOSAwMToxMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBwcmV2aWV3IG1lc3NhZ2UgaGFuZGxpbmcKCSAgUHJldmlldyBtZXNzYWdlcyBub3cgY29udGFpbiBHc3RTYW1wbGVzIGluc3RlYWQgb2YgR3N0QnVmZmVycwoKMjAxMi0wNy0yOSAwMDo1MzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHByZXZpZXcgYnVmZmVyIHB1c2hpbmcKCSAgbmVlZCB0byBwYXNzIGEgR3N0U2FtcGxlIHRvIHRoZSB1dGlsaXRhcnkgcHJldmlldyBidWZmZXIgcG9zdCBmdW5jdGlvbnMKCSAgYXMgYSBHc3RCdWZmZXIgZG9lc24ndCBoYXZlIGNhcHMgYW55bW9yZS4gVGhlIEdzdFNhbXBsZSBoYXMgdGhlIEdzdENhcHMKCSAgYW5kIGl0IGlzIHVzZWQgdG8gaW5mb3JtIHRoZSBwcmV2aWV3J3MgcGlwZWxpbmUgYWJvdXQgdGhlIGZvcm1hdCBvZiB0aGUKCSAgaW5wdXQsIGJlZm9yZSBpdCBnZXRzIGNvbnZlcnRlZCB0byB0aGUgdXNlcidzIHJlcXVlc3RlZCBvdXRwdXQgZm9ybWF0LgoKMjAxMi0wNy0yOSAwMDowNDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgUmV2ZXJ0ICJjYW1lcmFiaW46IHVwZGF0ZSB0byBuZXcgdGFnIGV2ZW50IGNyZWF0aW9uIEFQSSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1ZDg5MGIzYzkyNzE0ZTFmMzcxNjMyOTBjMzI5MTFiY2Q3ODE4YTU3LgoJICBUaGUgbmV3IEFQSSBpcyB0aGUgb2xkIEFQSS4KCjIwMTItMDctMjggMTg6MDQ6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBGaXggcmVmZXJlbmNlcyB0byBhdm9pZCBlbGVtZW50IGxlYWtpbmcKCSAgU29tZSBwYWQgcHJvYmVzIGFyZSBuZXZlciBnb2luZyB0byBiZSByZW1vdmVkIGZyb20gdGhlIHBhZHMsIHNvCgkgIHdlIHNob3VsZG4ndCBrZWVwIGEgY2FtZXJhYmluIHJlZmVyZW5jZSB3aXRoIHRoZW0gb3IgY2FtZXJhYmluIHdpbGwKCSAgbmV2ZXIgZ2V0IHJlbGVhc2VkCgoyMDEyLTA3LTI4IDE1OjE3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHRvIG5ldyB0YWcgZXZlbnQgY3JlYXRpb24gQVBJCgoyMDEyLTA3LTI4IDEyOjA5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogcmVtb3ZlIGFzc2VydGlvbiBvbiBudWxsIHByb3BlcnR5CgkgIENoZWNrIGlmIHRoZSBmbGFncyBhcmUgbm90IG51bGwgYmVmb3JlIHRyeWluZyB0byBzZXQgdGhlbSB0bwoJICBjYW1lcmFiaW4gdG8gYXZvaWQgYW4gYXNzZXJ0aW9uCgoyMDEyLTA3LTI4IDAwOjMyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHRhZzogVXBkYXRlIGZvciB0YWdsaXN0L3RhZyBldmVudCBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yNyAxMzoyMjo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHByb2Nlc3MgQVRUQUNITUVOVCB0YWcgYXMgc2FtcGxlCgoyMDEyLTA3LTI1IDE2OjA1OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIGZhYWMsIHZvYWFjZW5jOiBhZGp1c3QgdG8gbW9kaWZpZWQgYXVkaW9lbmNvZGVyIGdldGNhcHMgaGVscGVyIEFQSQoKMjAxMi0wNy0yNCAxMjoyODoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeGF0ZSBjYXBzCgoyMDEyLTA3LTI0IDEwOjQ2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy5vcmM6CgkgIGd1YWRpOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIGdhdWRpX29yY18KCjIwMTItMDctMjQgMTA6NDQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy5vcmM6CgkgIGZpZWxkYW5hbHlzaXM6IHByZWZpeCBvcmMgZnVuY3Rpb25zCgoyMDEyLTA3LTI0IDEwOjMyOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMub3JjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYmF5ZXI6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggYmF5ZXJfb3JjCgkgIEFkZCBiYXllciBvcmMgdG8gdGhlIHVuaXQgdGVzdAoKMjAxMi0wNy0yNCAxMDozMjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBmaXggdmlzdWFsaXplciBjb21waWxhdGlvbgoKMjAxMi0wNy0yMyAxMTozNjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGFkYXRhIGFuZCBhcmJpdHJhcnkgc3RyaWRlcwoKMjAxMi0wNy0yMyAxMDo1NDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogTWFwIHJhdyB2aWRlbyBidWZmZXJzIHdpdGggdGhlIGNvcnJlY3QgcmVhZC93cml0ZSBmbGFncwoKMjAxMi0wNy0yMyAxMDozNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMDg6NDU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5OGUzODZmIHRvIDk0Y2NmNGMKCjIwMTItMDctMjEgMTk6NTk6MjEgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBtZW1vcnkgbGVhawoJICB1bnJlZiBmcmFtZS4gaSBob3BlIGl0IGlzIGNvcnJlY3QgcGxhY2UgdG8gZG8gaXQuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTA3LTIwIDIzOjI4OjQ5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IFVzZSBidWZmZXIgZmxhZ3MgYW5kIGNhcHMgY29ycmVjdGx5CgkgIFRoaXMgcmVxdWlyZXMgYSByZWNlbnQgY29tbWl0IHRvIC1iYXNlIHRoYXQgYWRkcyBhbiBJTlRFUkxBQ0VEIGJ1ZmZlcgoJICBmbGFnLgoKMjAxMi0wNy0yMCAxNjo0MzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IG9ubHkgZGlzY2FyZCBmcmFtZSBvbmNlIHVwb24gZGVjb2RpbmcgZXJyb3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTg4NgoKMjAxMi0wNy0xOSAxNjoxMDo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IGZhYnMtPnNxcnQgdG8gY2FsY3VsYXRlIHRoZSBtYWduaXR1ZGUKCjIwMTItMDctMTggMDk6MTk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogYWxzbyBhY3RpdmF0ZSBpbiBwdXNoIG1vZGUgaWYgdGhlIHNjaGVkdWxpbmcgcXVlcnkgZmFpbGVkCgkgIEluIGNhc2UgcGFkcyBhcmUgdW5saW5rZWQgc29tZXdoZXJlLgoKMjAxMi0wNy0xOCAwODo0MTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHB1c2ggbW9kZSBhY3RpdmF0aW9uCgkgIEV4dHJhIHVucmVmIG9uIHB1c2ggbW9kZSBhY3RpdmF0aW9uIGNhdXNlZCBoYXZvYy4KCjIwMTItMDctMTYgMDA6MDU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGV4dHJhY3QgeWVhciBhcyBHc3REYXRlVGltZSBpbnN0ZWFkIG9mIEdEYXRlCgoyMDEyLTA3LTE3IDE4OjA1OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogbm8gbmVlZCB0byBtYWtlIGJ1ZmZlciB3cml0YWJsZSB0d2ljZQoKMjAxMi0wNy0xNyAxODowNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHBsdWcgc29tZSByZWYgbGVha3MKCjIwMTItMDctMTcgMTQ6MDI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCjIwMTItMDctMTcgMTY6Mzk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgdXBkYXRlIGZvciBSVFAgYnVmZmVyIGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTE2IDIyOjAyOjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogc2hvcnRlbiBiYXNlIGNsYXNzIG5hbWUKCSAgQXMgc3VnZ2VzdGVkIG9uIElSQyByZW5hbWUgdG8gQXVkaW9WaXN1YWxpemVyLiBXZSB1c2UgY3VzdG9tIHN1ZmZpeCBvbiB0aGUgdHlwZQoJICB0byBhdm9pZCBjbGFzaGluZyB3aXRoIG90aGVyIGNvcGllcyBmb3IgdGhlIHRpbWUgYmVpbmcuCgoyMDEyLTA3LTE1IDEyOjI3OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBjZWx0LCBvcGVuY3YsIHdheWxhbmQsIGR2YnN1YiwgZmVzdGl2YWwsIGhsczogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMi0wNy0xNCAxNTo1MTowOCArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZDogZG9uJ3QgbGluayB0byBnc3RpbnRlcmZhY2VzLCB3aGljaCBkb2Vzbid0IGV4aXN0IGFueSBtb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk5MjkKCjIwMTItMDYtMzAgMDA6MjI6NDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IHBvcnQgdG8gMC4xMQoJICBCYXNpYyBwb3J0IHRvIDAuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MTY0CgoyMDEyLTA3LTEzIDEyOjMyOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBhZGFwdGl2ZWx5IGJsZW5kIG9yIGF0dGFjaCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTEzIDEyOjI3OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBoZWxwZXIKCSAgLi4uIHJhdGhlciB0aGFuIGN1c3RvbSBob21lLW1hZGUgYmxlbmRpbmcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTEyIDEwOjEzOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG1vcmUgY29ycmVjdGx5IGRldGVybWluZSBleHBlY3RlZCBQRVMgcGFja2V0IHBheWxvYWQgc2l6ZQoJICAuLi4gcGFydGljdWxhcmx5IGNvbnNpZGVyaW5nIHRoYXQgcGFja2V0X2xlbmd0aCA9PSAwIGlzIHBvc3NpYmxlLgoKMjAxMi0wNy0xMSAyMzoxNzoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogcmVnaXN0ZXIgYXMgZWZmZWN0CgoyMDEyLTA3LTExIDIwOjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvcnJlY3RseSBkZXRlcm1pbmUgZXhwZWN0ZWQgUEVTIHBhY2tldCBwYXlsb2FkIHNpemUKCSAgQXZvaWRzIGNvbnNpc3RlbnRseSBmYWlsaW5nIHRvIGRldGVjdCB0aGF0IGEgcGFja2V0IGlzIGNvbXBsZXRlLCB3aGljaAoJICB3b3VsZCB0aGVuIG9ubHkgYmUgcHVzaGVkIHVwb24gdGhlIHN0YXJ0IG9mIGEgbmV4dCBwYWNrZXQsIHdoaWNoIGxlYWRzCgkgIHRvIHF1aXRlIGEgZGVsYXkgaW4gY2FzZSBvZiBhIHNwYXJzZSAoc3VidGl0bGUpIHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY3NAoKMjAxMi0wNy0xMCAxNzo1ODoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGVuc3VyZSBtaW5pbXVtIHBhZ2UgdGltZSBvdXQgb2YgMSBzZWNvbmQKCSAgLi4uIHRvIGNvbXBlbnNhdGUgZm9yIHNvbWUgYm9ndXMgc3VidGl0bGUgd2l0aCBhIDAgdGltZW91dCwgd2hpY2ggd291bGQKCSAgcmVzdWx0IGluIG9ubHkgYmVpbmcgc2hvd24gZm9yIGEgdmVyeSB1bnJlYWRhYmxlIGFtb3VudCBvZiB0aW1lLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY3NAoKMjAxMi0wNy0xMSAxNDoyNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgcGl0Y2gtdGVzdAoJICBEb2VzIG5vdCBzb3VuZCBsaWtlIHRoZSBzYW1lIHRlc3QgaW4gMC4xMCB0aG91Z2guLgoKMjAxMi0wNy0xMSAxMzo1OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RkdmJzdWJvdmVybGF5LmM6NzcyOjE1OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgNSBvZiAnZ3N0X3NlZ21lbnRfY2xpcCcgZGlmZmVyIGluIHNpZ25lZG5lc3MKCSAgL2hvbWUvdHBtL2dzdC8wLjExL2dzdHJlYW1lci9nc3QvZ3N0c2VnbWVudC5oOjE5MjoxNDogbm90ZTogZXhwZWN0ZWQgJ2d1aW50NjQgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2dpbnQ2NCAqJwoJICBnc3RkdmJzdWJvdmVybGF5LmM6NzcyOjE1OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgNiBvZiAnZ3N0X3NlZ21lbnRfY2xpcCcgZGlmZmVyIGluIHNpZ25lZG5lc3MKCjIwMTItMDctMTEgMTM6NDk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXh1cCBlbmQtb2YtZGlzcGxheS1zZXQgZm9yY2luZwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMSAxMzo0ODozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGVuc3VyZSB2YWxpZCBzdWJ0aXRsZSBydW5uaW5nIHRpbWUgYnkgcHJvcGVyIGNsaXBwaW5nCgkgIEluIHBhcnRpY3VsYXIsIHBhc3MgYnVmZmVyIHRpbWVzdGFtcCAocHRzKSB0byBkdmJfc3ViLCBhbmQgdGhlbiBjbGlwCgkgIGFuZCBjb252ZXJ0IHRvIHJ1bm5pbmcgdGltZSB3aGVuIHRoZSBkdXJhdGlvbiAodGltZW91dCkgaXMga25vd24gYWZ0ZXIKCSAgZGVjb2RpbmcgaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAyMzMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTEgMTM6NDU6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogcHJvcGVybHkgZm9yY2UgZW5kLW9mLWRpc3BsYXktc2V0CgkgIC4uLiB3aGljaCBpcyB1cG9uIHJlY2VpdmluZyBuZXcgZGF0YSB3aXRoIGRpZmZlcmVudCBQVFMgc3BlYy13aXNlLAoJICBvciBvcHRpb25hbGx5IHVwb24gZWFjaCBwYWNrZXQgb2Ygc3VidGl0bGUgZGF0YSBpZiBkZXNpcmVkIGJ5IHByb3BlcnR5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzEwCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDExLTEyLTIxIDEzOjAwOjI3ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEhhbmRsZSBub25fbW9kaWZ5aW5nX2NvbG91cl9mbGFnIGNvcnJlY3RseSBpbiB0aGUgUkxFIGhhbmRsZXJzCgkgIFRoZSBjaGVjayBmb3Igd2hlbiB0byBub3QgbWVtc2V0IHdhcyBjaGVja2luZyBvbiBhbiB1bmRldGVybWluaXN0aWMgJ2JpdHMnIHZhcmlhYmxlIHZhbHVlLAoJICB3aGljaCBpcyBvbmx5IG1lYW50IHRvIGJlIHVzZWQgaW5zaWRlIHRoZSBsb29wIGVhcmxpZXIgd2hlbiBpdCBpcyBzdXBwb3NlZCB0byBjaGVjayBpZgoJICBjbHV0X2luZGV4IGlzIDEgdG9nZXRoZXIgd2l0aCBub25fbW9kIHNldCwgYXMgcGVyIHNwZWM6CgkgICJub25fbW9kaWZ5aW5nX2NvbG91cl9mbGFnOiAgSWYgc2V0IHRvICcxJyB0aGlzIGluZGljYXRlcyB0aGF0IHRoZSBDTFVUIGVudHJ5IHZhbHVlICcxJwoJICBpcyBhIG5vbiBtb2RpZnlpbmcgY29sb3VyLiBXaGVuIHRoZSBub24gbW9kaWZ5aW5nIGNvbG91ciBpcyBhc3NpZ25lZCB0byBhbiBvYmplY3QgcGl4ZWwsCgkgIHRoZW4gdGhlIHBpeGVsIG9mIHRoZSB1bmRlcmx5aW5nIHJlZ2lvbiBiYWNrZ3JvdW5kIG9yIG9iamVjdCBzaGFsbCBub3QgYmUgbW9kaWZpZWQuIFRoaXMKCSAgY2FuIGJlIHVzZWQgdG8gY3JlYXRlICJ0cmFuc3BhcmVudCBob2xlcyIgaW4gb2JqZWN0cy4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjYzNTIKCjIwMTAtMTAtMTMgMTA6NTU6MTcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEwLTEwLTE0IDEwOjQ5OjU1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIG1hbnVhbCBjb250cm9sIG9mIGV4cG9zdXJlLCBmb2N1cyBhbmQgd2hpdGUgYmFsYW5jZQoJICBBZGQgbmV3IGludGVyZmFjZSBwcm9wZXJ0aWVzIGFuZCBtb2RlIGZvciBiZXR0ZXIgbWFudWFsIGNvbnRyb2wgb2YKCSAgZXhwb3N1cmUsIGZvY3VzIGFuZCB3aGl0ZSBiYWxhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEwLTEwLTA4IDExOjMzOjMxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHBob3RvZ3JhcGh5OiBBZGQgR3N0UGhvdG9ncmFwaHkgcHJlZml4IGFuZCBmaXggc3BlbGxpbmcgY29sb3VyLT5jb2xvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEyLTA3LTEwIDIzOjI3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtaW5vciBoZWFkZXIgaW5kZW50YXRpb24gY2xlYW4tdXAgZm9yIG1wZWd2aWRlb3BhcnNlcgoKMjAxMi0wNy0xMCAxNzo0NzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogcG9ydCB0byAwLjExCgoyMDEyLTA3LTEwIDEyOjEwOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiB1bm1hcCBpbnB1dCBidWZmZXIKCjIwMTItMDctMDQgMTA6MTQ6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgcG9ydCBmZXN0aXZhbCB0byAwLjExCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzNzMKCjIwMTItMDctMTAgMTE6MTQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBmaXggc29tZSBwYWQgdGVtcGxhdGUtcmVsYXRlZCBjcml0aWNhbHMgaW4gY2FtZXJhYmluIHRlc3QKCjIwMTItMDctMTAgMDA6NTk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGNvcHkgaW50byBwcm92aWRlZCBidWZmZXIgaWYgYSBidWZmZXIgaXMgcHJvdmlkZWQKCjIwMTItMDctMDkgMjI6MDg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiBmaXggemJhciB0ZXN0CgoyMDEyLTA3LTA5IDEyOjIyOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXBkYXRlIGZvciByaWZmIGZpZWxkIHJlbmFtZQoKMjAxMi0wNy0wOCAxOToyMzozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiB1cGRhdGUgYmFzZWNsYXNzIGZyb20gbGlidmlzdWFsIHBvcnRpbmcKCjIwMTItMDctMDggMDA6MDg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHBhc3MgdW5oYW5kbGVkIG5vbi1jdXN0b20gZXZlbnRzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2MjYKCjIwMTItMDctMDYgMTQ6NTM6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgZGVwcmVjYXRlZCAiaXMtbGl2ZSIgcHJvcGVydHkKCSAgVXNlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgaW5zdGVhZC4KCjIwMTItMDctMDYgMTE6NTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjAzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDQgMTE6Mzg6NTEgKzAyMDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htc3JjOiBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIChmaXhlcyAjNjc5Mzg1KQoKMjAxMi0wNy0wNSAxMzoxODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGdzdDogSW1wbGVtZW50IHNlZ21lbnQtZG9uZSBldmVudAoKMjAxMi0wNy0wMyAxMjo1Nzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGZpbmFsaXplIGltcGxlbWVudGF0aW9uCgoyMDEyLTA3LTAyIDE3OjU1OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogQmV0dGVyIGhhbmRsaW5nIG9mIGF1ZGlvIG91dHB1dAoJICBDb25mbGljdHM6CgkgIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwCgoyMDEyLTA3LTAyIDE3OjUyOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogU2VuZCBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMi0wNy0wMiAxNzo1MToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBNYXJrIGVsZW1lbnQgYXMgc2luayBlbGVtZW50CgoyMDEyLTA3LTAyIDE3OjQ5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiB1c2UgR09uY2UgaW4gdHlwZSByZWdpc3RyYXRpb24KCjIwMTItMDctMDIgMTc6MzI6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBJbmNyZWFzZSB0aGUgaW50ZXIgYXVkaW8gc3VyZmFjZSBidWZmZXJpbmcKCjIwMTItMDctMDIgMTI6MDQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiByZWVuYWJsZSBjaGFubmVsIHByb3BlcnR5CgoyMDEyLTA3LTAyIDEyOjAzOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IFNldCBmb3JtYXQgdG8gdGltZQoKMjAxMi0wNi0yOSAxMjowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHN5czogbWFrZSB2aWRlbyBzaW5rcyBkZWZhdWx0IHRvIGZvcmNlLWFzcGVjdC1yYXRpbz10cnVlCgoyMDEyLTA2LTI4IDE4OjA0OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNiYXNlOiBNb3ZlIGtub3duIFBTSSBQSURzIHRvIHdoZXJlIHRoZXkgYmVsb25nCgkgIFRoaXMgYXZvaWRzIHRzZGVtdXggcGFyc2luZyBkYXRhIGlzIGRvZXNuJ3QgcmVhbGx5IGNhcmUgYWJvdXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoKMjAxMi0wNi0wMiAwODowNTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGtub3duIGRlZmF1bHQgU0kgUElEcwoKMjAxMi0wNi0yOCAxNzo0MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggQUFDIExBVE0gY2FwcwoKMjAxMi0wNi0yMiAxNjo0Nzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIGJhc2ljIG91dHB1dCB1bml0IHRlc3QgdmVyaWZpY2F0aW9uCgoyMDEyLTA2LTIyIDE3OjUxOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhcHBseSBzb21lIG1vcmUgQ0xPQ0tfQkFTRSB0byBlbnN1cmUgc2xhY2sgZm9yIFBDUiBvZmZzZXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmMKCjIwMTItMDYtMjcgMTE6MjM6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBmaXggeC13bXYgZm9ybWF0IHN0cmluZwoKMjAxMi0wNi0yNiAxNjozMzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDYtMjUgMTY6MTg6NDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGJlZm9yZSB0aGUgZDNkIGRldmljZQoJICBUaGUgb2Zmc2NyZWVuIHN1cmZhY2Uga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlIGQzZCBkZXZpY2UsIHNvIGlmIHRoZQoJICBkZXZpY2UgaXMgcmVsZWFzZWQgZmlyc3Qgd2UgZG9uJ3Qgc2VlIHRoZSByZWZlcmVuY2UgY291bnQgZGVidWcgbWVzc2FnZQoJICBnb2luZyB0byAwIGFzIGl0IHNob3VsZCBiZS4KCjIwMTItMDYtMTkgMjA6MTY6NDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGNsZWFuIHVwIGVsZW1lbnQKCSAgUmVtb3ZlIG9sZCBjb21tZW50ZWQgY29kZSBhbmQgdW5lZWRlZCBleHRyYSBpbmRlbnRhdGlvbgoKMjAxMi0wNi0xOSAyMDowMzowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogcmV3b3JrIGxvY2tpbmcgZm9yIGRldmljZXMgbG9zdAoKMjAxMi0wNi0xOSAyMDoxOToyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSBhbmQgcmVjcmVhdGUgdGhlIGRldmljZSBpbiBwcmVwYXJlX3dpbmRvdwoKMjAxMi0wNi0yNCAyMToxMTozOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IGF2b2lkIGRhcmsgcGl4ZWxzIGluIGZhZGUtYW5kLW1vdmUtdXAgbW9kZQoKMjAxMi0wNi0yNCAyMDo1NDoyNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBmaXggaW5wdXQgYnVmZmVyIGhhbmRsaW5nCgkgIFVzZSBfcmVwbGFjZSBpbnN0ZWFkIG9mIF9hcHBlbmQgdG8gZml4IGdyb3dpbmcgYnVmZmVycy4KCjIwMTItMDYtMjMgMTU6MDI6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBobHMsIHNkcDogdXBkYXRlIGZvciBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpKCkgY2hhbmdlcwoKMjAxMi0wNi0yMSAxMjoxNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9SRUFETUU6CgkgIHN5czogcmVtb3ZlIGxlZnQtb3ZlciB2NGwyIGRpciB3aGljaCBoYXMgbW92ZWQgdG8gZ29vZAoJICBsZXQncyBub3Qga2VlcCBhIFJFQURNRSBhcm91bmQgdG8gYW5ub3VuY2UgaXQncyBtb3ZlZCB0byAtZ29vZCwKCSAgdGhhdCdzIGp1c3QgY2x1dHRlci4KCjIwMTItMDYtMjEgMTE6NDM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlYWxseSBhbHdheXMgZGVmaW5lIERFQ0tMSU5LX09TWCBjb25kaXRpb25hbAoKMjAxMS0wNy0xMyAxOToyNTowOCArMDEwMCAgVG9ueSBIb3VnaHRvbiA8aEByZWFsaC5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBDb3JyZWN0IHNhdGVsbGl0ZSBkZWxpdmVyeSBkZXNjcmlwdG9yIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvZGUgdG8gcGFyc2Ugc2F0ZWxsaXRlIGRlbGl2ZXJ5IGRlc2NyaXB0b3JzIHRvIGdlbmVyYXRlCgkgICJzYXRlbGxpdGUiIHN0cnVjdHVyZXMgYXBwZWFyZWQgdG8gYmUgY29weSAmIHBhc3RlZCBmcm9tIGNhYmxlJ3MgY29kZQoJICB3aXRob3V0IGFtZW5kaW5nIGZvciBzYXRlbGxpdGUuCgkgIEFsc28gYWRkZWQgOFBTSyB0byBkdmJzcmMncyBlbnVtIGZvciBtb2R1bGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NDg1CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgoyMDEyLTA2LTIwIDE4OjE0OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogUmV3b3JrIGhhbmRsaW5nIGFuZCBjbGVhbnVwcwoJICB0c3BhZCBhbHdheXMgaGFzIGEgc3RhdGljIHNvdXJjZSBwYWQgd2hpY2ggb3V0cHV0IGV2ZXJ5dGhpbmcgcmVjZWl2ZWQKCSAgKG5vdCBmdW5jdGlvbmFsIHlldCkuCgkgIFByb2dyYW0gcGFkcyBhcmUgbm93IHJlcXVlc3QgcGFkcy4KCSAgUmVtb3ZlIGFsbCBjcnVmdCB0aGF0IHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzd2l0Y2ggb3ZlcgoJICB0byBtcGVndHNiYXNlLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgoyMDEyLTA2LTIwIDE4OjEwOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWx3YXlzIHNlbmQgRU9TCgkgIHN1YmNsYXNzIHdpbGwgdGFrZSBjYXJlIG9mIGhhbmRsaW5nIGl0IG1vcmUgaWYgbmVlZGVkCgoyMDEyLTA2LTIwIDE3OjUyOjEzIC0wNTAwICBNaWtlIFJ1cHJlY2h0IDxtaWtlLnJ1cHJlY2h0QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IGVsZW1lbnQgbG9zaW5nIGRhdGEgYXQgdGhlIGVuZCBvZiBidWZmZXJzCgkgIHJ0bXBzcmMgb3V0cHV0cyB0cnVuY2F0ZWQgYnVmZmVycyBiZWNhdXNlLCB3aGVuIGVub3VnaCBkYXRhIGlzCgkgIHJlYWQgdG8gZmlsbCB0aGUgYnVmZmVyLCB0aGUgYW1vdW50IHJlYWQgdGhhdCB0aW1lICh0b2RvKSBpcyBzZXQKCSAgdG8gemVybyBiZWZvcmUgaXQncyBhZGRlZCB0byB0aGUgY3VtdWxhdGl2ZSBidWZmZXIgc2l6ZSAoYnNpemUpLgoJICBUaGUgYnVmZmVyIGlzIHRoZW4gdHJ1bmNhdGVkIHRvIGJzaXplIHJlc3VsdGluZyBpbiBsb3N0IGRhdGEuCgkgIFRoaXMgcGF0Y2ggYWRkcyB0b2RvIHRvIGJzaXplIGJlZm9yZSBzZXR0aW5nIHRvZG8gdG8gemVyby4KCSAgRml4ZXMgIzY3ODUwOQoKMjAxMi0wNi0yMCAxMTowMjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IEZpeCBmbGFnIGNoZWNraW5nCgoyMDEyLTA2LTIwIDEwOjU5OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dDogI2lmMCBjb2RlIHRoYXQgbmV2ZXIgaGFwcGVucwoJICBUaGUgb25seSBwbGFjZSB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaXMgd2l0aCBsb2ZwIGJlaW5nIGEgZ3VpbnQ4IChmcm9tCgkgIGEgZGF0YSBibG9jaykuCgoyMDEyLTA2LTIwIDEwOjU4OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogVXNlIHByb3BlciB2YXJpYWJsZSB0eXBlCgoyMDEyLTA2LTIwIDEyOjMxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTI6MTk6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBvcnQgdGVzdCB0byAwLjExCgoyMDEyLTA2LTIwIDEyOjE3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHZhbHVlIGhhbmRsaW5nIGluIHBhZCBpdGVyYXRpb24KCjIwMTItMDYtMjAgMTA6MzQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0xOSAyMjo0NToyNyAtMDQwMCAgTWF0ZWogS25vcHAgPE1hdGVqQG5ldy1ob3N0LTUuaG9tZT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgxMzAKCjIwMTItMDYtMTkgMTA6MzU6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogRGV0ZWN0IG1vcmUgaXNzdWVzIHdpdGggY29uZmlndXJhdGlvbiBmaWxlCgkgIFJlcG9ydCB1c2VmdWwgZXJyb3JzIHdoZW46CgkgICogZmlsZSBpcyBwcmVzZW50IGJ1dCBlbXB0eQoJICAqIHJlcXVlc3RlZCBjaGFubmVsIGlzIG5vdCBwcmVzZW50CgoyMDEyLTA2LTE5IDEwOjIyOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIGR2YmJhc2ViaW46IEVtaXQgYW4gZXJyb3Igd2hlbiB3ZSBmYWlsIHJlYWRpbmcgdGhlIGNoYW5uZWxzIGZpbGUKCSAgQ29uZmxpY3RzOgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYwoKMjAxMS0wMi0wMSAxMDoyMzowNCAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzcGVsbC1jaGVjawoKMjAxMS0wMS0xNCAxOTozMDowOCAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBiZXR0ZXIgZHZzcmMgcG9sYXJpdHkgaW5mbwoKMjAxMi0wNi0xOCAxMTozNjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHQ6IEZpeCBpbml0aWFsaXphdGlvbgoJICBXZSBhbHdheXMgZW5kZWQgdXAgZXJyb3Jpbmcgb24gdGhlIGZpcnN0IHBhZ2Ugb3RoZXJ3aXNlCgkgIENvbmZsaWN0czoKCSAgZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmMKCjIwMTItMDYtMTAgMTE6MzY6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgdXNlIEdCeXRlQXJyYXkKCSAgVXNpbmcgYSBzaW1wbGUgYXJyYXkgY29tZXMgdG8gdGhlIHNhbWUgcmVzdWx0IGZvciBhIGZyYWN0aW9uIG9mIHRoZSBjb3N0CgoyMDEyLTA2LTEwIDExOjIxOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQXZvaWQgY29weWluZyBHc3RTdHJ1Y3R1cmUKCjIwMTItMDYtMDggMTU6MTI6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVzYzogRG9uJ3QgYWxsb2NhdGUvZnJlZSBHc3RNUEVHRGVzY3JpcHRvcgoJICBKdXN0IHVzZSBzdGF0aWMgdmFyaWFibGVzCgoyMDEyLTA2LTE2IDE2OjQ5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkgIG1wZWdkZW11eDogcmVuYW1lIHBsdWdpbiB0byBtcGVncHNkZW11eAoKMjAxMi0wNi0xNiAxNjozMDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgdW51c2VkIFRTIGRlbXV4ZXIgYml0cyB0aGF0IGhhdmUgbW92ZWQgdG8gdHNkZW11eAoKMjAxMi0wNi0xNiAxOToyMDoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlbW92ZSBvYnNvbGV0ZSBzdHJ1Y3QgZmllbGQKCjIwMTItMDYtMTYgMTY6NTA6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBEVkIgc3VidGl0bGUgYW5kIHRlbGV0ZXh0IHN0cmVhbXMKCSAgU2VlIGJ1ZyAjNjczNTgyLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW0KCjIwMTItMDYtMTYgMTY6NTA6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb3B0aW9uYWxseSB1c2UgZml4ZWQtc2l6ZSBQRVMgaGVhZGVyCgoyMDEyLTA2LTE2IDE2OjUwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvbmx5IHdyaXRlIFBUUyBhbmQgRFRTIGlmIGRpZmZlcmVudAoKMjAxMi0wNi0xNiAxNjo1MDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvcHRpb25hbGx5IHNldCBkYXRhX2FsaWdubWVudCBmbGFnIGluIFBFUyBoZWFkZXIKCjIwMTItMDYtMTYgMTY6NTA6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHJlLWVuYWJsZSBpbmFkdmVydGVudCBkaXNhYmxlZCBjb2RlCgoyMDEyLTA2LTE2IDE2OjQ0OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGp1c3QgYWdhaW4gdG8gbW9kaWZpZWQgYnVmZmVyIGNvbGxlY3QgYmVoYXZpb3VyCgkgIC4uLiBieSBlZmZlY3RpdmVseSByZXZlcnRpbmcgcHJldmlvdXMgYWRqdXN0bWVudC4KCjIwMTItMDYtMTYgMTY6NDk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgZGVmYXVsdCBDb2xsZWN0UGFkcyBjb2xsZWN0IGhldXJpc3RpYwoJICAuLi4gd2l0aCBhbiBhcHByb3ByaWF0ZWx5IGN1c3RvbSBidWZmZXIgY2xpcCBmdW5jdGlvbiB0byBhcnJhbmdlIGZvcgoJICBidWZmZXIgcHJvY2Vzc2luZy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmgKCjIwMTItMDYtMTYgMTU6NTQ6NDkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MjExCgoyMDEyLTA2LTE2IDE5OjE3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBvcnRlZCBzZWdtZW50IGluaXQKCjIwMTItMDYtMTQgMTQ6NDk6NTUgLTA3MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MTMwCgoyMDEyLTA2LTE1IDEzOjAwOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCByZWNyZWF0ZSB0aGUgZDNkIGRldmljZSBpZiBpdCBhbHJlYWR5IGV4aXN0cwoKMjAxMi0wNi0xNSAxMTo0MToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgIGphc3BlcjogUmVuYW1lIGZyb20ganAyayB0byBqYXNwZXIKCSAgSmFzcGVyIGlzIG5vdCB0aGUgb25seSBKUEVHMjAwMCBsaWJyYXJ5IG91dCB0aGVyZSBhbmQgd2UKCSAgbWlnaHQgd2FudCB0byBhZGQgZW5jb2RlcnMvZGVjb2RlcnMgYmFzZWQgb24gT3BlbkpQRUcgZm9yIGV4YW1wbGUuCgoyMDEyLTA2LTE1IDEwOjMyOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYWRkIG1pc3NpbmcgbXV0ZXggdW5sb2NrIG9uIGVycm9yIHBhdGgKCjIwMTItMDYtMTUgMTA6MjQ6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogc2V0IGF1dGhvciB0byBteXNlbGYsIGFuZCB1cGRhdGUgY29weXJpZ2h0IG5vdGljZXMKCSAgYmVjYXVzZSBhcyBzbG9tbyBub3RlZCwgaW4gZmFjdCBwcmV0dHkgbXVjaCBhbGwgdGhlIGNvZGUgaW4gdGhlcmUgaXMgbWluZS4KCjIwMTItMDYtMTUgMDA6NTg6NDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IGNyZWF0ZSBuZXcgaW50ZXJuYWwgd2luZG93cyBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lCgoyMDEyLTA2LTA4IDIzOjAxOjI2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRml4IGNvbXBpbGluZyBpbiBXaW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc3MjQKCjIwMTItMDYtMTEgMTM6MTA6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZDogcmVuYW1lIHRoZSBsaWIgZnJvbSBsaWJyZXNpbmR2ZCB0byBsaWJnc3RyZXNpbmR2ZAoJICBGb3IgY29uc2lzdGVuY3kuCgoyMDEyLTA2LTA3IDE1OjA2OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBub3QgZmluZGluZyBzb21lIGRhdGEgb24gYSBEVkQKCSAgTWF5IHBvc3NpYmx5IGhlbHAgd2l0aCBhIHBhcnRpY3VsYXIgRFZELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMTE4CgoyMDEyLTA2LTE0IDAyOjQ3OjEwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsZmlsZXNpbms6IFJlbW92ZSBzdHJheSBkZWJ1ZyBwcmludHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODA2MAoKMjAxMi0wNi0xMiAyMTozNToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgbGNzOiByZW1vdmUgb2xkIExDUyBjb2xvcnNwYWNlIGNvbnZlcnNpb24gcGx1Z2luCgkgIFdhc24ndCBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgZXZlbiBiYWNrIGluIHRoZSBkYXkKCSAgbm8gb25lIGtuZXcgd2hlcmUgdGhlIGNvcnJlc3BvbmRpbmcgbGliIHdhcyBmcm9tLgoKMjAxMi0wNi0xMiAyMToyOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2hhcnQvLmdpdGlnbm9yZToKCSogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2hhcnQvY2hhcnQudmNwcm9qOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgY2hhcnQ6IHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMjE6MjA6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSogZ3N0L3ZpZGVvZHJvcC92aWRlb2Ryb3AudmNwcm9qOgoJICB2aWRlb2Ryb3A6IGRyb3AgdmlkZW9kcm9wCgkgIEl0IHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgdmlkZW9yYXRlIGRvZXMgaXRzIGpvYiBub3cuCgoyMDEyLTA2LTEyIDIxOjE2OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FydHMvLmdpdGlnbm9yZToKCSogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW8uaWRsOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvX2ltcGwuY2M6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW9faW1wbC5oOgoJKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzZC9SRVFVSVJFTUVOVFM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvYXMtYXJ0cy5tNDoKCSogbTQvZ3N0LWFydHNjLm00OgoJICBhcnRzOiByZW1vdmUgYVJ0cy1yZWxhdGVkIHBsdWdpbnMKCSAgYVJ0cyBkZXZlbG9wbWVudCBzdG9wcGVkIGluIDIwMDQsIGl0J3MgdW5saWtlbHkgZXZlciBpcwoJICBzdGlsbCB1c2luZyBpdC4gQmVzaWRlcywgdGhlc2UgZWxlbWVudHMgd2VyZSBuZXZlciBldmVuCgkgIHBvcnRlZCB0byAwLjEwLgoKMjAxMi0wNi0xMiAyMTowMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgc2hvdXQ6IHJlbW92ZSBvbGQgc2hvdXQgcGx1Z2luIHRoYXQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDAuMTAKCSAgVGhlcmUncyBzaG91dDIgaW4gLWdvb2Qgbm93LgoKMjAxMi0wNi0xMiAyMDozNTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgaGVybWVzOiByZW1vdmUgaGVybWVzIGNvbG9yc3BhY2UgY29udmVydGVyIHRoYXQgd2FzIG5ldmVyIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDE5OjA2OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IHJlbW92ZSBsZWdhY3kgcGx1Z2luCgoyMDEyLTA2LTEyIDE5OjAyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICBhdWRpb3Jlc2FtcGxlOiByZW1vdmUgb2xkIGF1ZGlvcmVzYW1wbGUgcGx1Z2luIHRoYXQgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMTg6NTM6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiB1cGRhdGUgZm9yIG5ldyB0YWcgZXZlbnQgQVBJCgoyMDEyLTA2LTEyIDE4OjQ3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgIGRpdng6IHJlbW92ZSBwbHVnaW4gdGhhdCB0aGUgd29ybGQgZG9lc24ndCBuZWVkIGFueSBtb3JlCgkgIDIwMDIgY2FsbGVkLgoKMjAxMi0wNi0xMiAxMDo1OTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBhcnJheSB0eXBlCgkgIFdlIHdhbnRlZCBhbiBhcnJheSBvZiBndWludDggKGFuZCBub3QgYW4gYXJyYXkgb2YgcG9pbnRlcnMpIHRvIHN0b3JlCgkgIHRoZSBkYXRhIGZyb20gZ3N0X2J1ZmZlcl9leHRyYWN0KCkgYW5kIHJlYWQgaXQuCgoyMDEyLTA2LTEyIDA5OjEwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkb24ndCBhY2Nlc3MgYnVmZmVyIGFmdGVyIF9maW5pc2hfZnJhbWUKCSAgVW5tYXAgdGhlIGJ1ZmZlciBiZWZvcmUgY2FsbGluZyBfZmluaXNoX2ZyYW1lIGJlY2F1c2Ugd2UgYXJlIG5vdCBhbGxvd2VkIHRvCgkgIGFjY2VzcyBpdCBhZnRlci4KCjIwMTItMDYtMTEgMTY6NDU6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgZGVidWcgY2F0ZXJpbmcKCjIwMTItMDYtMTEgMTY6NDQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhZGQgU1BOL1BUUyBpbmRleGluZyBjYXBhYmlsaXRpZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQG9wZW5kcmVhbWJveC5vcmc+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ4OTAKCjIwMTItMDYtMTEgMTQ6MDM6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYXZvaWQgbWVtY3B5IGR1ZSB0byB0ZW1wb3JhcnkgcGFja2V0IGJ1ZmZlcgoJICAuLi4gYnkgd3JpdGluZyBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQuCgoyMDEyLTA2LTExIDEwOjQ5OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBkbyBub3QgYXNzZXJ0IG9uIGRhdGEgaW5wdXQsIGp1c3QgcmV0dXJuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQwNjkKCjIwMTItMDYtMTAgMTQ6Mjk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGFsbG93IGRlYnVnZ2luZyBvZiByZW5kZXIgYW5kIGhpZ2hsaWdodCByZWN0YW5nbGVzIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBFbmFibGUgZGVidWdnaW5nIG9mIHJlY3RhbmdsZXMgdmlhIEdTVF9EVkRfU1BVX0RFQlVHLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDExLTEyLTMxIDE4OjM1OjQwIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogY2xlYW51cCBkZWJ1ZyBjb2RlCgkgIENsZWFuIHVwIGRlYnVnIGNvZGUgZm9yIGRyYXdpbmcgaGlnaGxpZ2h0IHJlY3RzIHdoaWNoIHdhc24ndCBldmVuCgkgIGNvbXBpbGluZyBwcmV2aW91c2x5LgoJICBUT0RPOiBtaWdodCBiZSBuaWNlIGlmIHRoaXMgY291bGQgYmUgY29udHJvbGxlZCBieSBwcm9wZXJ0aWVzIG9yCgkgIGVudiB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBlbmFibGUgdGhlIGRlYnVnIGNvZGUgYXQKCSAgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMi0wNi0wOCAxNzoxNDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogcGx1ZyBsZWFrcyB3aGVuIGZyZWVpbmcgc3RyZWFtCgoyMDEyLTA2LTA4IDE3OjEzOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwbHVnIHNvbWUgbGVha3MKCjIwMTItMDYtMDggMTU6NTg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGVsZW1lbnRzOiBVc2UgZ3N0X3BhZF9zZXRfY2FwcygpIGluc3RlYWQgb2YgbWFudWFsIGV2ZW50IGZpZGRsaW5nCgoyMDEyLTA2LTA4IDE1OjA1OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDNhMGU1NyB0byA5OGUzODZmCgoyMDEyLTA2LTA4IDExOjU1OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGp1c3QgdG8gbW9kaWZpZWQgYnVmZmVyIGNvbGxlY3QgYmVoYXZpb3VyCgoyMDEyLTA2LTA4IDExOjEyOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBtcGVndmlkZW9wYXJzZXI6IGFkanVzdCB0byBtb2RpZmllZCBBUEkKCjIwMTItMDYtMDcgMTc6NDM6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBkcmFpbiBjYWNoZWQgZGF0YSB1cG9uIEVPUwoKMjAxMi0wNi0wNyAxNzozODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFsbG93IGZvciBhbGlnbmVkIG91dHB1dAoJICAuLi4gYW5kIHJlZmFjdG9yIHBhY2tldCBoYW5kbGluZyBzb21lIG1vcmUgaW4gdGhlIHByb2Nlc3MuCgkgIEZpeGVzICM2NTE4MDUuCgoyMDEyLTA2LTA3IDE0OjM4OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGltcHJvdmUgbTJ0cyB0aW1lc3RhbXAgaW50ZXJwb2xhdGlvbgoJICAqIGEga25vd24gUENSIHNob3VsZCByZWFsbHkgYmVsb25nIHRvIGEgcGFja2V0IGhvbGRpbmcgdGhhdCBQQ1IKCSAgKiBpbnRlcnBvbGF0aW9uIGNhbiBiZSBleHRlbmRlZCBiYWNrd2FyZCBmb3IgaW5pdGlhbCBwYWNrZXRzIChQQVQsIFBNVCkKCjIwMTItMDYtMDcgMTI6MTc6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0d2VhayBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoKMjAxMi0wNi0wNyAxNjoyMzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjIzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkyCgoyMDEyLTA2LTA3IDE2OjIyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDYtMDcgMTI6MzM6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBmaXggY29kZWMgc3RhdGUgbGVha3MKCSAgSSBvbmx5IHRlc3RlZCB0aGF0IHZwOGVuYyAhIHZwOGRlYyBkb2VzIG5vdCBjcmFzaCwgYXMgdmFsZ3JpbmQgZG9lcyBub3QgZ3JvawoJICBhdCBsZWFzdCBvbmUgb2YgdGhlIGluc3RydWN0aW9ucyB1c2VkIGJ5IHZwOGVuYywgcHJldmVudGluZyBtZSBmcm9tIGNoZWNraW5nCgkgIGEgbGVhaywgYW5kIHRoZSBsYWNrIG9mIG9uZSBhZnRlciB0aGUgcGF0Y2guCgoyMDEyLTA2LTA3IDEyOjI1OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBidWZmZXIgbGVhawoKMjAxMi0wNi0wNyAxMjoxNjoyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggZnJhbWUgbGVha3MKCjIwMTItMDYtMDcgMTI6MDE6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGNvZGVjIHN0YXRlIGxlYWsKCjIwMTItMDYtMDcgMTE6NTg6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IHN0cmF5IHVucmVmIGNhdXNpbmcgYWNjZXNzIHRvIGZyZWVkIG1lbW9yeQoKMjAxMi0wNi0wNyAxMTo1MjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBmaXggdmlkZW8gY29kZWMgc3RhdGUgbGVha3MKCjIwMTItMDYtMDYgMTg6MTg6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZmFiMzU5IHRvIDAzYTBlNTcKCjIwMTItMDYtMDYgMTY6MDA6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wMyAwMTo1ODoxMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCB0aGUgd2F5bGFuZCB2ZXJzaW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczNjIKCjIwMTItMDYtMDYgMTM6MDI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTA2IDExOjE0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjogZml4IG91dHB1dCBmcmFtZSBtYXAKCjIwMTItMDYtMDUgMTc6NTc6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bi1uZWVkZWQgY2hlY2tzIGFuZCBpbmxpbmUgc29tZSBmdW5jdGlvbnMKCSAgdmFsIGFuZCBuciBhbHdheXMgZXhpc3QgKCZuciwgJnZhbHVlKQoJICBiaXRzIGlzIGFsd2F5cyBjYWxsZWQgc21hbGxlciB0aGFuIHRoZSB3aWR0aAoJICBNYWtlcyBwYXJzaW5nIDMwJSBmYXN0ZXIKCjIwMTItMDYtMDUgMTg6MDM6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogbW9yZSBoZWFkZXIgY2xhcmlmaWNhdGlvbnMgYW5kIHJlbW92ZSBzb21lIHJlZHVuZGFudCBmaWVsZHMKCjIwMTItMDYtMDUgMTQ6MTg6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIFBJRCBjb2xsaXNpb24gZm9yIGF1dG8tZ2VuZXJhdGVkIFBJRAoKMjAxMi0wNi0wNSAxNjo1OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIHRzbXV4OiBpbmxpbmUgbW9yZSBjb2RlCgkgIFdpdGggdGhlIHByZXZpb3VzIGNvbW1pdCwgbWFrZXMgbXBlZ3RzbXV4IDEwIHRvIDE1JSBmYXN0ZXIKCjIwMTItMDYtMDUgMTY6NTg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogRG9uJ3QgdXNlIGdfbGlzdF9maXJzdCAoKQoJICBTZXJpb3VzbHkgLi4uCgoyMDEyLTA2LTA1IDEyOjE3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYWxzbyBwcm9wZXJseSByZXNldCBhbmQgZnJlZSBwYWQgZGF0YQoKMjAxMi0wNi0wNSAxMTo1MjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlZmFjdG9yIGluaXQgdXNpbmcgX3Jlc2V0IHRvIGNhdGVyIGZvciBwcm9wZXIgcmV1c2UKCjIwMTItMDYtMDQgMTY6MjQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBoZWFkZXIgY2xlYW51cHMgYW5kIGNsYXJpZmljYXRpb25zCgoyMDEyLTA2LTA0IDE2OjA1OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdHdlYWsgYnVmZmVyIGhhbmRsaW5nCgkgIC4uLiBmb3IgY2xhcml0eSBhbmQgdG8gYXZvaWQgbWl4aW5nIF9wZWVrL19wb3AKCjIwMTItMDYtMDQgMTY6MDM6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtaXNjIGNvZGUgY2xlYW51cHMgYW5kIHJlZmFjdG9yaW5nCgoyMDEyLTA2LTA0IDE0OjU0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYXZvaWQgc2VwYXJhdGUgYWxsb2NhdGlvbiBmb3IgbGlzdCBvZiBwcm9ncmFtcwoKMjAxMi0wNi0wNCAxNDo1NDowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlYXJyYW5nZSBkZWZpbmUncwoKMjAxMi0wNi0wNCAxNDo0ODoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlbW92ZWQgaGFja2VkIGV2ZW50IGhhbmRsaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBSZXZlcnRlZCBiYWNrIHRvIDAuMTAgc3RhdGUgYXMgaXQgd2Fzbid0IHJlYWxseSBwb3J0ZWQKCSAgeWV0IGFueXdheS4KCjIwMTItMDYtMDUgMDk6NTQ6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEFsc28gcGFyc2UgVE9UIChUaW1lIE9mZnNldCBTZWN0aW9uKQoJICBJdCdzIHRoZSBzYW1lIGFzIFREVCwgZXhjZXB0IHdpdGggZGVzY3JpcHRvcnMgYXQgdGhlIGVuZAoKMjAxMi0wNi0wNSAwOTo1Mjo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRklYTUUvQ29tbWVudCBhYm91dCBpc3N1ZXMvZXJyb3JzCgoyMDEyLTA2LTA1IDA5OjQ4OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBsZWFrCgoyMDEyLTA2LTA1IDA5OjQ0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlZHVjZSB1c2FnZSBvZiBHc3RBZGFwdGVyCgkgIFBlZWsgYXMgbXVjaCBhcyBwb3NzaWJsZSBpbiBvbmUgZ28uIElkZWFsbHkgd2Ugc2hvdWxkIHJlbW92ZSB1c2FnZSBvZgoJICBhZGFwdGVyIGFsdG9nZXRoZXIsIGJ1dCBmb3IgdGhlIHRpbWUgYmVpbmcgaXQgcHJvdmlkZXMgYSBiaWcgZW5vdWdoCgkgIHNwZWVkdXAgKGFyb3VuZCAyIHRpbWVzIGZhc3RlciBwZXIgcGFja2V0IHByb2Nlc3NlZCkuCgoyMDEyLTA2LTA0IDA4OjM5OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIGFsbG9jL2ZyZWUgd2hlcmUgcG9zc2libGUKCSAgSGVscHMgZm9yIHN0cmVhbXMgd2l0aCBhIGxvdCBvZiBzZWN0aW9ucywgbGlrZSBFSVQKCjIwMTItMDYtMDQgMDg6Mzc6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBzZWN0aW9ucyB0aGF0IGRvbid0IGhhdmUgYSBDUkMKCjIwMTItMDYtMDQgMDg6MzI6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWdkZWZzOiBBZGQgbGlzdCBvZiBrbm93biB0YWJsZV9pZAoJICBBbG9uZyB3aXRoIHRoZSBzcGVjaWZpY2F0aW9ucyBmcm9tIHdoaWNoIHRoZXkgY29tZS4gQXZvaWRzIGhhdmluZwoJICB0byBzZWFyY2ggZm9yIHdoaWNoIHNwZWMgYSB0YWJsZV9pZCBiZWxvbmdzIHRvCgoyMDEyLTA2LTAzIDEwOjU4OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENsYXJpZnkgZGVidWcgc3RhdGVtZW50cwoJICBVc2UgaGV4IHZhbHVlcyBpbiBtb3JlIGNhc2VzIChzaW5jZSB0aGF0J3MgaG93IFBJRC90YWJsZV9pZC8uLi4gYXJlCgkgIHJlcHJlc2VudGVkIGluIHRoZSB2YXJpb3VzIHNwZWNzKS4KCjIwMTItMDYtMDMgMTA6NTY6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzYmFzZS9wYWNrZXRpemVyOiBBZGQgQ0FUIHNlY3Rpb24gaGFuZGxpbmcKCSAgQWxsb3dzIHJlcG9ydGluZyB0aGUgZ2xvYmFsIEVNTQoKMjAxMi0wNi0wMyAxMDo1Mzo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGRlYnVnIGluIFBTSSBoYW5kbGluZwoJICBBbGxvd3MgdXMgdG8gaWRlbnRpZnkgd2hpY2ggU0kgd2UgZG9uJ3QgaGFuZGxlCgoyMDEyLTA2LTAzIDEwOjUzOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgZGVmYXVsdCBrbm93biBQU0kgdGFibGVfaWQKCjIwMTItMDYtMDIgMDg6MDY6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBSZWZhY3RvciBQU0kgZGV0ZWN0aW9uCgoyMDEyLTA2LTA1IDA5OjMwOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSBjb25maWcuaAoKMjAxMi0wNi0wNSAwOTozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCB3aWR0aCwgaGVpZ2h0LCBldGMuCgkgIEZpeGVzIGJ1ZyAjNjc3NDAxLgoKMjAxMi0wNi0wMSAxNjoyOTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEVDTS9DQSBzZWN0aW9ucyBkb24ndCBoYXZlIGEgQ1JDCgkgIFNvIGRvbid0IGNoZWNrIGZvciBpdCA6KQoJICBBbHNvIGFkZCBhIGJpdCBtb3JlIGluZm8gaW4gdGhlIHdhcm5pbmcgbWVzc2FnZSB0byBzcGVlZCB1cCBkZXRlY3RpbmcKCSAgd2hldGhlciBpdCdzIGEgZmFsc2UtcG9zaXRpdmUgb3Igbm90LgoKMjAxMi0wNi0wMSAxMDo1OToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IHJlbGF4IGVudHJ5IGNvbnN0cmFpbnQKCSAgLi4uIHNpbmNlIGl0IGlzIGFjY2VwdGFibGUgYW5kIHByb3Blcmx5IGhhbmRsZWQgZnVydGhlciBvbi4KCjIwMTItMDYtMDEgMTA6Mjk6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMWI1YTk2IHRvIDFmYWIzNTkKCjIwMTItMDUtMzEgMTM6MDg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MmI3MjY2IHRvIGYxYjVhOTYKCjIwMTItMDUtMjkgMTA6NDg6NTQgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogYWRkIHN1cHBvcnQgZm9yIFZDMSBhbmQgZml4IHBsdWdpbnMgcmFua3MKCjIwMTItMDUtMjkgMTA6NDg6MDMgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBpbml0aWFsaXplIGRlYnVnIHByb3Blcmx5CgoyMDEyLTA1LTI5IDEwOjQzOjQzIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBmaXggb2JqZWN0IGRpc3Bvc2FsIGFuZCBmaW5hbGl6YXRpb24KCjIwMTItMDUtMzAgMTA6MzQ6NDQgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IGZsdXNoIGFmdGVyIGEgZGV2aWNlIGxvc3QKCjIwMTItMDUtMzAgMTM6NTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IFB1dCB0aGUgcmlnaHQgZmxhZ3MgaW50byB0aGUgcmlnaHQgdmFyaWFibGUKCjIwMTItMDUtMzAgMTI6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTE6MzI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJldmVydCBhY2NpZGVudGlhbGx5IGNvbW1pdHRlZCBzdHVmZiBpbiBsYXN0IGNvbW1pdAoKMjAxMi0wNS0zMCAxMToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6MjQ6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiByZWFkIGdhaW4gZnJvbSB0aGUgcmlnaHQgcGxhY2UgaW4gdGhlIGhlYWRlcgoJICBJdCdzIGF0IGJ5dGUgb2Zmc2V0IDE2LCBub3QgMTQuCgoyMDEyLTA1LTI0IDExOjExOjAwIC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBSZWZhY3RvcmluZyBhbmQgbWFrZSBjb3JlIG1vcmUgc2ltaWxhciB0byB0ZXh0b3ZlcmxheQoJICBFc3BlY2lhbGx5IHRoZSBjb21iaW5pbmcgb2YgdGhlIHRleHQgYW5kIHZpZGVvIGJ1ZmZlcnMgaXMgbm93CgkgIGFsbW9zdCB0aGUgc2FtZSBhcyBpbiB0ZXh0b3ZlcmxheS4KCSAgV2Ugc2hvdWxkIHJlYWxseSBnZXQgYSBiYXNlIGNsYXNzIGZvciB0aGlzLgoJICBDb25mbGljdHM6CgkgIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmMKCSAgZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaAoKMjAxMi0wNS0yOCAxNTo0ODozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgZHZiOiBBZGQgbW9yZSBkZWJ1Z2dpbmcgdG8gY2FtIHN1cHBvcnQKCjIwMTItMDQtMjQgMTE6MDk6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogUG9ydCB0byAtYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2RpcmFjL01ha2VmaWxlLmFtCgoyMDEyLTA1LTI4IDE2OjQyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIG9sZCB2aWRlbyBiYXNlIGNsYXNzZXMKCjIwMTItMDUtMjggMTY6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm9lZGluZ2VyOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMjggMDc6NTg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogV2UgZG9uJ3QgYXNzdW1lIHBhY2tldGl6ZWQgaW5wdXQKCSAgT3RoZXJ3aXNlIHRoZSBwYXJzZSB2bWV0aG9kIG5ldmVycyBnZXRzIGNhbGxlZAoKMjAxMi0wNC0yNCAxMTowODo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvZWRpbmdlcjogUG9ydCB0byAtYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbQoJICBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmMKCSAgZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSwgbmVlZHMgcG9ydGluZyBhZ2Fpbi4KCjIwMTItMDUtMjggMTY6MDU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTE2IDE0OjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBHc3RWaWRlb0NvZGVjRnJhbWUgQVBJIGNoYW5nZXMKCjIwMTItMDQtMjcgMTg6MjI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIHZwOGRlYzogSW1wcm92ZSBvdXRwdXRfc3RhdGUgaGFuZGxpbmcKCSAgQXZvaWQgZ2V0dGluZyBvdXRwdXRfc3RhdGUgZm9yIGV2ZXJ5IGJ1ZmZlciBhcyB0aGF0IHJlcXVpcmVzCgkgIGdldHRpbmcgdGhlIG9iamVjdGxvY2sgYW5kIGRvaW5nIHJlZmVyZW5jZSBjb3VudGluZy4gU3RvcmUgaXQgbG9jYWxseQoJICB3aGVuIGl0IGlzIGNyZWF0ZWQgYW5kIHVzZSBpdC4KCjIwMTItMDQtMjcgMDk6MDU6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogVXNlIG91dHB1dHN0YXRlIHdoZW4gY29weWluZyBvdXRwdXQgYnVmZmVyIGRhdGEKCSAgVXNpbmcgdGhlIGlucHV0IHN0YXRlIHdhcyBjYXVzaW5nIGEgY3Jhc2ggYmVjYXVzZSB0aGUgc3RyaWRlcy9vZmZzZXRzCgkgIHdvdWxkIGJlIHdyb25nLiBGaXggaXQgYnkgdXNpbmcgdGhlIG91dHB1dCBhcyB3ZSBhcmUgZGVhbGluZyB3aXRoCgkgIHRoZSBkZWNvZGVkIGZyYW1lLgoKMjAxMi0wNC0yNCAxMTowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IFBvcnQgdG8gLWJhc2UgdmlkZW8gYmFzZSBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3ZwOC9NYWtlZmlsZS5hbQoJICBleHQvdnA4L2dzdHZwOGRlYy5jCgkgIGV4dC92cDgvZ3N0dnA4ZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlIGZvciBub3csIG5lZWQgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0yNyAyMzo0MToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGRvIG5vdCBhc3NlcnQgb24gYmFkIGhlYWRlciwgZXJyb3Igb3V0IGluc3RlYWQKCjIwMTItMDUtMjcgMDA6MDA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTQ6NTc6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBBZGQgbW9yZSBjb21tZW50cy9pbmZvCgkgIE5hbWVseSB3aGVyZSB0aGV5IGJlbG9uZyB0bwoKMjAxMi0wNS0yNiAxNDo1NzoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNYWtlIHN1cmUgd2UgaGF2ZSBhIGxhbmd1YWdlIGNvZGUgYmVmb3JlIHVzaW5nIGl0CgoyMDEyLTA1LTI2IDE0OjExOjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENoZWNrIGJlZm9yZSBnZXR0aW5nIGRlc2NyaXB0b3JzIGZyb20gc3RydWN0dXJlCgkgIEF2b2lkcyBzcHVyaW91cyB3YXJuaW5ncy4gTm90IGhhdmluZyB0aG9zZSBkZXNjcmlwdG9ycyBpcyBub3RoaW5nCgkgIGZhdGFsLCBzbyBjaGVjayB0aGVpciBwcmVzZW5jZSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0aGVtLgoKMjAxMi0wNS0yNiAxNDowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IEJlIGEgYml0IG1vcmUgcGVybWlzc2l2ZSB3aXRoIFBUUy9EVFMgcGFyc2luZwoJICBBY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb25zIGEgUFRTX0RUU19mbGFncyB2YWx1ZSBvZiAweDAxIGlzIGZvcmJpZGRlbi4KCSAgLi4uIGJ1dCB0aGVyZSBhcmUgc29tZSByYXJlIGZpbGVzIG91dCB0aGVyZSB0aGF0IGRvIHRoYXQuCgkgIEluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LCBsZXQncyB3YXJuLCBjYXJyeSBvbiBwYXJzaW5nIGFjY29yZGluZ2x5LgoJICBJZiB0aGUgcGFja2V0IGlzIHJlYWxseSBjb3JydXB0ZWQgdGhlcmUgYXJlIGVub3VnaCBjaGVja3MgYWZ0ZXJ3YXJkIHRvCgkgIGRldGVjdCB0aGF0LgoKMjAxMi0wNS0yNSAyMjoyMDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBoZWVkIHRlc3QgdmVjdG9yIGZyYW1pbmcgdG8gZWF0IGFueSBwYWRkaW5nCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBvbiBvbmUgcGFydGljdWxhciB0ZXN0IHZlY3RvciB3aGVyZSBwYXlsb2FkCgkgIGRhdGEgaXMgc21hbGxlciB0aGFuIHRoZSBhY3R1YWwgYXVkaW8gcGF5bG9hZC4KCjIwMTItMDUtMjUgMTQ6MTU6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogRml4IGJpdCBvcGVyYXRpb24KCSAgImEgJSA4IiBjb3JyZXNwb25kcyB0byAiYSAmIDB4NyIgKGFuZCBub3QgMHhmKS4KCSAgc3BvdHRlZCBieSBKdWxpYW4gU2NoZWVsCgoyMDEyLTA1LTI0IDE2OjIyOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IFNpbXBsaWZ5IGNoZWNrCgkgIEF2b2lkcyBhIHVuc2V0IHZhcmlhYmxlIHdhcm5pbmcgKGZvciBuZnJhbWVzKSB3aXRoIGdjYyA0LjcuMAoKMjAxMi0wNS0yNCAyMjoxMjo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IHJlamVjdCBtYWpvciB2ZXJzaW9uIG51bWJlciBhYm92ZSB3aGF0IHdlIGdyb2sKCjIwMTItMDUtMjQgMjE6NTg6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBidW1wIHdyaXR0ZW4gdmVyc2lvbiBmcm9tIDAgdG8gMHgwMQoJICBhcyBwZXIgdGhlIHNwZWMgdXBkYXRlIGF0IGh0dHBzOi8vd2lraS54aXBoLm9yZy9PZ2dPcHVzI0lEX0hlYWRlcgoKMjAxMi0wNC0zMCAxNDo0MDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBsb3N0IHBhY2tldCBoYW5kbGluZyBmb3IgRkVDL1BMQwoJICBUaGUgYmFzZSBhdWRpbyBkZWNvZGVyIHNlbmRzIHplcm8gc2l6ZSBwYWNrZXRzLCBub3QgTlVMTCBidWZmZXJzLAoJICB0byBzaWduYWwgZHJvcHBlZCBwYWNrZXRzLgoKMjAxMi0wNS0yNCAxMjozMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0yMyAxODoxOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MgoKMjAxMi0wNC0yNSAyMToyMTo0MyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmg6CgkgIFBvcnQgZDNkdmlkZW9zaW5rIHRvIDAuMTEKCSAgRml4ZXMgIzY3NDgxNwoKMjAxMi0wNS0yMyAxMjowNzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNS0yMiAxODo1NTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogRW1pdCBuby1tb3JlLXBhZHMgd2hlbiBwYWQgaXMgYWRkZWQKCSAgVGhpcyBhdm9pZHMgYW4gZW5kbGVzcyBoYW5nIHdpdGggcGxheWJpbjIsIHdoaWNoIHNlZXMgZHZiYmFzZXNiaW4gYXMKCSAgaGF2aW5nIGR5bmFtaWMgcGFkcyAuLi4gYnV0IG5ldmVyIGVtaXR0ZWQgbm8tbW9yZS1wYWRzLgoKMjAxMi0wNS0yMiAxODo1MzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIGNhbXV0aWxzOiBGaXggUE1UIG1lc3NhZ2UgY29uc3RydWN0aW9uCgkgIFRoZSBzaXplIG9mIHRoZSBtZXNzYWdlIGVuZGVkIHVwIGJlaW5nIGJpZ2dlciB0aGFuIGl0cyBjb250ZW50LgoJICBUaGF0IGNhdXNlIHNvbWUgQ0EgbW9kdWxlcyB0byBqdXN0IGhhbmcuCgoyMDEyLTA1LTIyIDE4OjUxOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGNhbXRyYW5zcG9ydDogQWxsb3cgZGVsYXkgd2hlbiBzZXR0aW5nIHVwIGNhbSBkZXZpY2UKCSAgU29tZSBDQSBkZXZpY2VzIHRha2UgYSBsb25nIHRpbWUgdG8gc2V0IHRoZW1zZWx2ZXMgdXAsCgkgIHRoZXJlZm9yZSByZXRyeSBldmVyeSAyNTBtcyAoZm9yIGEgbWF4aW11bSBvZiAyLjVzKQoKMjAxMi0wNS0yMiAxODo0OTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEZpeHVwL2FkZCBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEyLTA1LTIyIDE4OjQ4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogT25seSBvcGVuIGRldmljZSByZWFkL3dyaXRlIHdoZW4gbmVlZGVkCgkgIEF2b2lkIHN0YXJ0aW5nIHVwIGtlcm5lbCB0aHJlYWQgd2hlbiBub3QgbmVlZGVkCgoyMDEyLTA1LTIyIDE4OjQ2OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IEFkZCB3YXJuaW5nIHdoZW4gZHZiIGNoYW5uZWxzIGZpbGUgaXNuJ3QgcHJlc2VudAoKMjAxMi0wNS0yMyAwODozOToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTcGVlZCB1cCBfaXNfcHNpKCkKCSAgQnkgbWFraW5nIGl0IGlubGluZSBhbmQgc2ltcGxpZnlpbmcgdGhlIGJpdCBtYWNyb3MKCjIwMTItMDUtMjIgMjE6MDA6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogYXZvaWQgc2Nhbm5pbmcgZm9yIHN0YXJ0IGNvZGVzIHR3aWNlCgkgIC4uLiBzaW5jZSBhIHByZXZpb3VzIHRlcm1pbmF0aW5nIHN0YXJ0IGNvZGUgc2VydmVzIGFzIHN1YnNlcXVlbnQgc3RhcnQgY29kZS4KCjIwMTItMDUtMjIgMTk6MTE6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogRml4dXBzIGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCjIwMTItMDQtMTAgMTI6MzY6MTUgKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBsYW5ndWFnZSBjb2RlIHRvIHRhZ2xpc3QuCgkgIFJlYWQgdGhlIGxhbmd1YWdlIGNvZGVzIGZvciB0cmFja3MgZnJvbSB0aGUgbXBlZ3RzIGRlc2NyaXB0b3JzIGFuZCBhZGQgaXQgaW50bwoJICB0aGUgcGFkcyB0YWdsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk2CgoyMDEyLTA1LTIxIDE3OjUzOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIEFQSQoJICBXZSBubyBsb25nZXIgdXNlIEdzdEJ1ZmZlckxpc3QgYW5kIGluc3RlYWQgY29weSB0aGUgaW5jb21pbmcgZGF0YQoJICBpbnRvIG5ld2x5IGFsbG9jYXRlZCBtZW1vcnkuCgkgIFRoaXMgbWFrZXMgdHNkZW11eCBiZWhhdmlvdXIgMyB0byA0IHRpbWVzIGZhc3Rlci4KCjIwMTItMDUtMjEgMTc6NTM6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIEFQSQoKMjAxMi0wNS0yMSAxNzo1Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBiZWhhdmlvdXIKCjIwMTItMDUtMjEgMTc6NDg6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgdXNhZ2Ugb2YgR3N0QnVmZmVyIGludGVybmFsbHkKCSAgVGhlIG92ZXJoZWFkIG9mIGNyZWF0aW5nL3VzaW5nIDE4OCBieXRlIEdzdEJ1ZmZlciBmcm9tIEdzdEFkYXB0ZXIKCSAgaXMgdG9vIGV4cGVuc2l2ZS4KCSAgV2Ugbm93IHBlZWsgdGhlIG5leHQgcGFja2V0LCBhbmQgcHJvdmlkZSBhIGRhdGEvc2l6ZSB3aGljaCBpcyBvbmx5CgkgIHZhbGlkIHVudGlsIHRoZSBwYWNrZXRpemVycGFja2V0IGlzIGNsZWFyZWQuCgkgIEluIGFkZGl0aW9uLCBjbGVhbnVwIGFsbCB0aGUgaW50ZXJuYWwgY29kZSB0byBkZWFsIHdpdGggdGhhdCBuZXcKCSAgYmVoYXZpb3VyIGFuZCByZW1vdmUgZG91YmxlLWNoZWNrcyB3aGljaCBhcmUgbm8gbG9uZ2VyIG5lZWRlZC4KCSAgVGhlIHNlY3Rpb25fbGVuZ3RoIGlzIG5vdyB0aGUgY29ycmVjdGVkIHNlY3Rpb25fbGVuZ3RoIChpLmUuIHdpdGgKCSAgdGhlIGFkZGl0aW9uYWwgMyBieXRlcykuCgkgIEF2b2lkIHVzaW5nIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIGFuZCBpbnN0ZWFkIHRyYWNrCgkgIHRoZSB0aW1lc3RhbXAgb3Vyc2VsZi4KCjIwMTItMDUtMjAgMTM6Mjc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRGV0ZWN0IFBDUiB3cmFwYXJvdW5kIGluIHNrZXcgY29kZQoJICBJZiB0aGUgcmVjZWl2ZWQgUENSIGlzIGdvaW5nIGJhY2t3YXJkcyAoYnkgYSBzYWZlIG1hcmdpbiksIGluY2x1ZGUKCSAgdGhhdCB3cmFwYXJvdW5kIGZvciBmdXJ0aGVyIGNhbGN1bGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDEyLTA1LTIyIDE0OjQ4OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhdm9pZCByZXBlYXRlZCBjYXBzIHNldHRpbmcKCjIwMTItMDUtMjIgMTQ6MDA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiB0d2VhayBjb2RlYyBwYXJzZXIgQVBJIGFuZCBhZGp1c3QgcGFyc2VyIGVsZW1lbnQKCSAgLi4uIHRvIGFsbG93IGZvciBtb3JlIGVmZmljaWVudCBwYXJzaW5nIGFuZCAobW9yZSkgY29uc2lzdGVudCBwYXJzaW5nIEFQSQoJICBhbW9uZyB2YXJpb3VzIGNvZGVjIHBhcnNlcnMuCgkgIEZpeGVzICM2NzI3MDEuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTIyIDEyOjMwOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZml4dXAgZG9jdW1lbnRhdGlvbiBzcGVsbGluZwoKMjAxMi0wNS0wOCAxNjo1MToxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBPcHRpbWl6ZSBzY2FubmluZyBmb3Igc3RhcnQgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNzAxCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0yMiAxMToxMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IERvdWJsZSBwcm9wZXJ0aWVzIGFyZSBzdXBwb3NlZCBpbiB0aGUgcmFuZ2UgWzAuMCwgMS4wXQoJICBGaXhlcyBidWcgIzY3NjEzNy4KCjIwMTItMDUtMjEgMTk6MjI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiB1bm9iZnVzY2F0ZSBmcmFtZSBwYXJzaW5nCgkgIC4uLiBhbmQgYWRkIGNvbW1lbnRzIGFuZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXhlcyAjNjc0MjAyLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0yMSAxNjozNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZXZlcnQgImZpeCBjcmFzaCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5MTIxMDgzMWVlNjcyMzQzYTI5NmYzMTM1NzE0NDM1OWQ1YzJlNzY4LgoJICBTdWNoIGV4cGxpY2l0IHJlc2V0IHNob3VsZCBub3QgYmUgbmVlZGVkIGFzIGl0IGlzIGFycmFuZ2VkIGZvciBieQoJICB0aGUgYmFzZWNsYXNzIGluIHVuaXNvbiB3aXRoIG1vbml0b3JpbmcgZm9yIGEgbmV3IGZyYW1lIGJ5IHN1YmNsYXNzLgoJICBBcyBzdWNoIGl0IG1pZ2h0IHdyb25nZnVsbHkgaGlkZSBzb21ldGhpbmcgZWxzZSBnb2luZyBvbiAuLi4KCSAgU2VlICM2NzQwNzMuCgoyMDEyLTA1LTIxIDE1OjI0OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2VyOiBmaXggYnVmZmVyIHNpemUgY2hlY2sKCSAgLi4uIHRvIG1pbmQgdW5zaWduZWQgaW50ZWdlciB3cmFwCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDM2CgoyMDEyLTA1LTIxIDE1OjA5OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHRlc3RzOiBtcGVndmlkZW9wYXJzZTogZml4IHVuaXQgdGVzdCByZWdyZXNzaW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYwOTcKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTE5IDE1OjM0OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogZG9uJ3QgYWNjZXNzIEdzdEVsZW1lbnRGYWN0b3J5IHN0cnVjdHVyZSBkaXJlY3RseQoKMjAxMi0wNS0xOCAxNjoxNzoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGRvIG5vdCBleHBlY3QgYSBtYXJrZXIgYml0IHdoZXJlIG5vdCBzcGVjaWZpZWQKCSAgRml4ZXMgIzY3MjQ0Ny4KCjIwMTItMDUtMTYgMTY6MTU6NTggKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZsdXNoIG9uIHB1c2kgb25seSBmb3IgcGF5bG9hZCBwYWNrZXRzCgkgIERhdGEgc2hvdWxkIG5vdCBiZSBmbHVzaGVkIG91dCBvZiB0aGUgdHNkZW11eCBiZWNhdXNlIGEgcGF5bG9hZCB1bml0IHN0YXJ0CgkgIGluZGljYXRvciAocHVzaSkgaXMgc2VlbiBpbiBhIGFkYXB0YXRpb24gb25seSB0cyBwYWNrZXQuIElmIHRoZSBwYWNrYWdlIGNvbnRhaW5zIG5vCgkgIHBheWxvYWQgYSBwdXNpIGRvZXMgbm90IGluZGljYXRlIGEgbmV3IFBFUyBwYWNrZXQsIGJ1dCBQU0kgaW5mb3JtYXRpb24sIGV0Yy4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzZXZlcmFsIFRTIGZpbGVzIHdoaWNoIGNvbnRhaW4gdHMgcGFja2V0cyB3aXRob3V0CgkgIHBheWxvYWQgYnV0IHdpdGggcHVzaSBzZXQgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjE2OAoKMjAxMi0wNS0xOCAxMDoxNToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBxdWV1ZSBkYXRhIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIHBhZAoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhbiBlcnJvciBmdXJ0aGVyIGRvd24sIGFuZCBpdCBhbHNvIGF2b2lkcyBwcm9jZXNzaW5nCgkgIGZvciB0aGF0IGRhdGEgd2hpY2ggd2Ugd291bGRuJ3QgYmUgdXNpbmcgYW55d2F5LgoKMjAxMi0wNS0xOCAxMDoxMzoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBEZXRlY3QgYW5kIGhhbmRsZSBzY3JhbWJsZWQgcGFja2V0cwoJICBVc2VycyAodHNkZW11eC9tcGVndHNwYXJzZSkgY2FuIGRlY2lkZSB3aGF0IHRvIGRvIHdpdGggdGhhdAoKMjAxMi0wNS0xOCAxMDowNzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBFbWl0IG5vLW1vcmUtcGFkcyB3aGVuIGFsbCBwYWRzIGFyZSBhY3RpdmF0ZWQKCSAgRml4ZXMgIzY3MDkyMSBhZ2FpbgoKMjAxMi0wNS0xNyAxMToxNToyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJICBnYXVkaWVmZmVjdHM6IGFkZCBmYWxsYmFjayBjb2RlIGZvciBvcmMKCSAgdGhpcyBpbmNsdWRlcyBhbiBpbXByb3ZlZCB2ZXJzaW9uIG9mIHRoZSBidXJuIGZpbHRlciwgd2l0aCBhIH40MCUgc3BlZWQKCSAgaW1wcm92ZW1lbnQuCgoyMDEyLTA1LTE3IDEwOjQ5OjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgdGhlIG9yYyB2ZXJzaW9uIHJlcXVpcmVkIHRvIDAuNC4xNgoJICBTb21lIG9wY29kZXMgaGF2ZSBjaGFuZ2VkIHNvIHRoZXkgd291bGQgZmFpbCB0byBidWlsZCB3aXRoIDAuNC4xNAoKMjAxMi0wNS0xNyAwOTo0NzowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gc29sYXJpemUKCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NjozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGV4Y2x1c2lvbgoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ1OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBkb2RnZQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ0OjI5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBjaHJvbWl1bQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDExOjQ3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBjb25zaWRlciBuYWxfbGVuZ3RoX3NpemUgd2hlbiBpbnNlcnRpbmcgY29kZWMgZGF0YQoJICBTZWUgIzY3NjE3NC4KCjIwMTItMDUtMTYgMjE6NTA6NDggKzAxMDAgIEpvaG4gSGVpbiA8bjRrZGxteDAyQHNuZWFrZW1haWwuY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgeTRtOiBsaW5rIGFnYWluc3QgdGhlIHJpZ2h0IGxpYmdzdHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxODkKCjIwMTItMDUtMTYgMTc6NTA6NDMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBleGFtcGxlIHBpcGVsaW5lcyB3aXRoIHZpZGVvY29udmVydAoKMjAxMi0wNS0xNiAxNzo0OToxMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy5vcmM6CgkgIGdhdWRpZWZmZWN0czogb3JjLWlmeSBidXJuIGZpbHRlcgoKMjAxMi0wNS0xNiAwOToxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMS45MQoKMjAxMi0wMS0xMyAxODo1NzoyMCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGFkZCB2aXN1YWwgc3R1ZGlvIElERSBmaWxlcyBhbmQgT1MgWCAuRFNfU3RvcmUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg5OQoKMjAxMi0wNS0xNSAxNTo0NjoyOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogdXNlIGdzdCBhcGkgZm9yIHRpbWVzdGFtcHMgaW5zdGVhZCBvZiB0aGUgKHdyb25nKSBhcGkgZnJvbSBhIHRvbyBuZXcgZ2xpYgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYwoKMjAxMi0wNS0xNCAxMTozODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG9wdGltaXplIG91dHB1dCBieSBhZ2dyZWdhdGluZyBwYWNrZXRzCgkgIC4uLiByYXRoZXIgdGhhbiBwdXNoaW5nIGVhY2ggKHNtYWxsKSBwYWNrZXQgaW4gYSBzZXBhcmF0ZSBidWZmZXIuCgkgIG0ydHMgbW9kZSBub3QgeWV0IG9wdGltaXplZCB0aG91Z2guCgoyMDEyLTA1LTExIDExOjQ2OjU4ICswMjAwICBBbGJlcnQgQXN0cmFscyBDaWQgPGFsYmVydC5hc3RhbHMgYXQgY2Fub25pY2FsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogc3VwcG9ydCBpdGVtcyBpbiBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI0NzgKCjIwMTItMDUtMTQgMDk6MTU6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSAgY3VybDogZml4IGNvbXBpbGF0aW9uCgkgIERvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZCBBUEkKCjIwMTItMDUtMTMgMTc6MDA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkxID09PQoKMjAxMi0wNS0xMyAxNjo0MzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTEKCjIwMTItMDUtMTMgMTY6NDM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNS0xMyAxNTo1NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0xMyAxNToyNDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybDogRml4IGVxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmFudGhlc2VzIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Y3VybGh0dHBzaW5rLmM6NDExOjI3OiBlcnJvcjogZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyZW50aGVzZXMKCjIwMTItMDUtMTIgMTI6MDg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2s6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0IGJpbmFyaWVzCgoyMDEyLTA0LTI1IDE5OjQ2OjUzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsc210cHNpbmsgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjQ1OjI0ICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJICBjdXJsOiBuZXcgY3VybGZ0cHNpbmsgZWxlbWVudAoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6Mjg6MTAgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsZmlsZXNpbmsgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjAwOjQ3ICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJICBjdXJsOiByZWZhY3RvciBjdXJsc2luaywgcmVuYW1lIHRvIGN1cmxodHRwc2luawoJICBTcGxpdCBpbnRvIGJhc2UsIHRscyBhbmQgaHR0cCBjbGFzc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTA1LTEwIDIxOjE1OjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogY29uc2lzdGVuY3kgaW4gdGVtcGxhdGVzIG5hbWUKCjIwMTItMDUtMTAgMTA6MTE6MTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWRkIGEgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0wNS0xMCAxMDoxMDoxNCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsczogQWRkIGEgd2F5IHRvIGdldCBiZXN0IHBsYXlsaXN0IGZvciBhIHNwZWNpZmljIGJpdHJhdGUgaW4gTTNVOENsaWVudAoJICBNYWtlIHVzZSBvZiBpdCBpbiBobHNkZW11eAoKMjAxMi0wNS0wOCAxMzoyNzoxNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBmYWlsb3ZlciBwcm90ZWN0aW9uLgoJICBNdWx0aXBsZSBzdHJlYW1zIHdpdGggc2FtZSBiYW5kd2lkdGggZ2V0IHJldHJpZWQKCjIwMTItMDUtMDggMTM6MDQ6MzUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IENhbGN1bGF0ZSB0aGUgcmVhbCBiaXRyYXRlIGFuZCBzd2l0Y2ggdG8gdGhlIGNvcnJlY3QgdmFyaWFudAoJICBXZSBub3cgY2FsY3VsYXRlIHRoZSBhY3R1YWwgYml0cmF0ZSB1c2luZyB0aGUgZG93bmxvYWQgc3BlZWQvc2l6ZSBhbmQKCSAgdGhlbiBzd2l0Y2ggZGlyZWN0bHkgdG8gdGhlIHZhcmlhbnQgdGhhdCBtYXRjaGVzIG91ciBiYW5kd2lkdGggdGhlCgkgIG1vc3QuCgkgIEl0IHdpbGwgYWxzbyBiZSBhYmxlIHRvIGhhbmRsZSBhbnkgdXNlIGNhc2Ugd2hlcmUgc29tZSBvZiB0aGUKCSAgdmFyaWFudHMgYXJlIG5vdCBhdmFpbGFibGUsIGFuZCB3b3VsZCBza2lwIHRoZW0gYW5kIGdvIHRvIHRoZSBuZXh0CgkgIHBvc3NpYmxlIHZhcmlhbnQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTA1LTA4IDExOjM0OjQ3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHJlc2V0IHRoZSBzZXF1ZW5jZSBudW1iZXIgaW4gYSBsaXZlIHN0cmVhbSBmb3IgYSBub3JtYWwgcGxheWxpc3QgdXBkYXRlLgoJICBPbmx5IGZvciBzdHJlYW0gc3dpdGNoaW5nCgoyMDEyLTA1LTA4IDExOjMzOjUwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiB3ZSB1cGRhdGUgdGhlIHBsYXlsaXN0LCBtYWtlIHN1cmUgdGhlIHNlcXVlbmNlIG51bWJlciBpcyBuZXZlciBtb3JlIHRoYW4gMyBmcmFnbWVudHMgYmVmb3JlIHRoZSBlbmQKCjIwMTItMDUtMDggMTE6MTM6MjYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbiBhIGxpdmUgc3RyZWFtLCBkbyBub3Qgc3RhcnQgZnJvbSAzIGZyYWdtZW50cyBiZWZvcmUgdGhlIGVuZC4KCjIwMTItMDUtMDggMTE6MDk6MjggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IE5vIG5lZWQgdG8gc3RvcmUgcG9zaXRpb24gc2luY2UgaXQncyB0aGUgYnVmZmVyJ3MgdGltZXN0YW1wCgkgIFRoaXMgYWxzbyB3aWxsIGZpeCB0aGUgaXNzdWUgb2YgaGF2aW5nIHRoZSBjdXJyZW50IHBvc2l0aW9uIGRpZmZlcmVudAoJICBmcm9tIHRoZSBhY3R1YWwgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGJ1ZmZlciBpbiB0aGUgcXVldWUgaW4gY2FzZQoJICB0aGUgY2FjaGluZyBjYXVzZWQgYSByZXN5bmMgb2YgdGhlIHNlcXVlbmNlIG51bWJlci4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTEtMDktMTUgMjA6NDc6NTQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGYWxsYmFjayB0byBwcmV2aW91cyBwbGF5bGlzdCB3aGVuIHN3aXRjaGluZyBpZiB0aGUgbmV3IHBsYXlsaXN0IGNhbid0IGJlIGZldGNoZWQKCjIwMTItMDUtMTAgMTM6NDY6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IGNvbnNpc3RlbmN5IGZpeGVzIGluIGdzdGdhdXNzYmx1cgoKMjAxMi0wNS0xMCAxMDo0NzoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBnYXVzc2lhbmJsdXIgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTc6MjE6MzAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHNvbGFyaXplIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE3OjA2OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGV4Y2x1c2lvbiB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjo1NToxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZG9kZ2UgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6MzA6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZGlsYXRlIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjEwOjE4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgYnVybiB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNTo0NDowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgY2hyb21pdW0gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTQ6Mjg6MDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbiBibHVyCgoyMDEyLTA1LTA5IDEzOjM1OjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNS0wOSAwOTo0OToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBnYXVzc2JsdXIgdG8gMC4xMQoKMjAxMi0wNS0wOCAxODowOToyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgc29sYXJpemUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxODowOTowOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBleGNsdXNpb24gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNzozODoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZG9kZ2UgdG8gMC4xMQoKMjAxMi0wNS0wOCAxNzoxNzoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkaWxhdGUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxNjo1MDowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogYWRkIGhlYWRlciB0byBnYXVzc2JsdXIKCjIwMTItMDUtMDggMTY6Mzk6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGNocm9taXVtIHRvIDAuMTEKCjIwMTItMDUtMDggMTY6Mzg6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBidXJuIHRvIDAuMTEKCjIwMTItMDUtMDggMTQ6MTc6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBsb2NhdGlvbiBhbmQgYXBpCgoyMDEyLTA1LTA4IDE3OjU4OjU4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmaXggZGVhZGxvY2sgd2hlbiB0aGUgZGV2aWNlIGlzIGxvc3QKCjIwMTItMDUtMDggMTg6MTA6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbW92ZSB0cmFpbGluZyAnOycgZnJvbSBsb2NrcyBkZWZpbmVzIHRvIG1ha2UgZ3N0LWluZGVudCBoYXBweQoKMjAxMi0wNS0wNyAxMzoxMzozNCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1zaW5rOiBmaXggbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBhIGNsaWVudCBkaXNjb25uZWN0cyAoZml4ZXMgIzY3NTY0MCkKCSAgQWxzbywgYWRkIGEgY2hlY2sgdG8gbWFrZSBzdXJlIGEgY2xpZW50IGlzbid0IGR1bXBlZCB0d2ljZQoKMjAxMi0wNS0wNyAyMzo1NzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IGNhbGwgV1NBU3RhcnR1cC9DbGVhbnVwIG9uIHdpbjMyCgkgIElmIHdlIGxpbmsgYWdhaW5zdCBsaWJ3aW5zb2NrMiwgd2Ugc2hvdWxkIHByb2JhYmx5IGNhbGwKCSAgU3RhcnR1cC9DbGVhbnVwIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0MTUKCjIwMTItMDUtMDMgMjM6NDI6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICByZmJzcmM6IGZpeCBsaWJyZmIgbGlua2luZyBvbiB3aW4zMgoJICBsaWJ0b29sOiBsaW5rOiAgaTY4Ni13NjQtbWluZ3czMi1nY2MgLXNoYXJlZCAubGlicy9saWJnc3RyZmJzcmMuZGxsLmRlZgoJICAubGlicy9saWJnc3RyZmJzcmNfbGEtZ3N0cmZic3JjLm8gIC1XbCwtLXdob2xlLWFyY2hpdmUgLi8ubGlicy9saWJyZmIuYQoJICAtV2wsLS1uby13aG9sZS1hcmNoaXZlICAtTC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9saWIKCSAgLWxnc3RiYXNlLTAuMTAgLWxnc3RyZWFtZXItMC4xMCAtbHhtbDIgLWxnb2JqZWN0LTIuMCAtbGd0aHJlYWQtMi4wCgkgIC1sZ21vZHVsZS0yLjAgLWxnbGliLTIuMCAtbGludGwgIC1tbXMtYml0ZmllbGRzIC1tbXMtYml0ZmllbGRzIC1PMiAgIC1vCgkgIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlcgoJICAtLW91dC1pbXBsaWIgLVhsaW5rZXIgLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5hCgkgIENyZWF0aW5nIGxpYnJhcnkgZmlsZTogLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5hCgkgIC4vLmxpYnMvbGlicmZiLmEobGlicmZiX2xhLXJmYmRlY29kZXIubyk6IEluIGZ1bmN0aW9uCgkgIGByZmJfZGVjb2Rlcl9yZWFkJzoKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjE2NDoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9fcmVjdkAxNicKCSAgLi8ubGlicy9saWJyZmIuYShsaWJyZmJfbGEtcmZiZGVjb2Rlci5vKTogSW4gZnVuY3Rpb24KCSAgYHJmYl9kZWNvZGVyX2Nvbm5lY3RfdGNwJzoKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjExMjoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9fc29ja2V0QDEyJwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTE5OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19odG9uc0A0JwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTIzOgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19pbmV0X2FkZHJANCcKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjEyNToKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9fY29ubmVjdEAxMicKCSAgSXQgbmVlZHMgLWx3czJfMzIgd2hpY2ggaXMgYWxyZWFkeSBpbiAkKFdJTlNPQ0syX0xJQlMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0MTUKCjIwMTItMDUtMDIgMDg6MDM6NDYgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogYWRkIG1pc3NpbmcgY2FzdHMgdG8gTFBDU1RSCgoyMDEyLTA1LTAzIDIzOjUxOjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGxvd2VyIHJhbmsgb2YgdGhlIERpcmVjdFNob3cgdmlkZW8gc2luayBwbHVnaW4KCSAgZDNkdmlkZW9zaW5rIHNob3VsZCBoYXZlIGEgaGlnaGVyIHJhbmsgYXMgaXQgd29ya3MgYmV0dGVyLgoKMjAxMi0wNS0wMiAwNzo1NjowMCAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBGaXggY29tcGlsYXRpb24gb24geDY0IHBsYXRmb3JtcwoKMjAxMi0wNS0wNSAyMDowMTo0NiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gbWluZ3ctdzY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU1MjAKCjIwMTItMDUtMDUgMTg6MjA6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgQWRkIFdJTlNPQ0syX0xJQlMsIHJlbW92ZSBXSU4zMl9MSUJTLCBmaXggcnRtcCBidWlsZCBvbiBXaW5kb3dzIHNvbWUgbW9yZQoJICBPbmUgd2F5IG9mIHBhc3NpbmcgLWx3czJfMzIgdG8gcGx1Z2lucyBzaG91bGQgYmUgZW5vdWdoLi4KCjIwMTItMDQtMTcgMTE6NDQ6MTggKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBydG1wOiBsaW5rIHRvIHdpbnNvY2sgbGlicmFyeSBvbiBXaW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyNDMKCjIwMTItMDUtMDQgMTQ6MDE6MTMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG1hcmsgdW5wb3J0ZWQgV2luZG93cyBwbHVnaW5zIGFzIHN1Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ0MAoKMjAxMi0wNS0wNCAxNzowOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlCgoyMDEyLTA1LTA0IDE3OjEwOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBpbWFnZSBjYXB0dXJlIGRlYnVnCgoyMDEyLTA1LTA0IDE3OjA1OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogYWx3YXlzIGZvcmNlIGltYWdlLXByb2ZpbGUgdG8gaGF2ZSB2YXJpYWJsZSBmcmFtZXJhdGUKCSAgaW1hZ2UtZW5jb2RlYmluIGNhbid0IHVzZSB2aWRlb3JhdGUgYXMgaXQgYWx3YXlzIHN0b3JlIG9uZSBidWZmZXIKCSAgdG8gYmUgYWJsZSB0byBkbyBpdHMgdGltZXN0YW1wcy9kdXJhdGlvbiBtYXRoLiBBcyBpbWFnZSBjYXB0dXJlcwoJICBvbmx5IHB1c2ggb25lIGJ1ZmZlciBhdCBhIHRpbWUsIHRoaXMgdmlkZW9yYXRlIGJlaGF2aW9yIGJyZWFrcwoJICBjYW1lcmFiaW4gdXNhZ2UuCgoyMDEyLTA1LTAzIDE5OjExOjU3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW46IERvIG5vdCBzZXQgdGhlIHBhZCB0ZW1wbGF0ZXMgaW4gdGhlIGJhc2UgY2xhc3MuCgkgIEl0IGlzIGJlc3QgdG8gbGV0IHRoZSBzdWJjbGFzcyBkZWZpbmUgdGhlIHBhZCB0ZW1wbGF0ZXMsIHRoaXMgd291bGQKCSAgYWxsb3cgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGljaCBjYXBzIHRoZSBwYWRzIHNob3VsZCBoYXZlLgoKMjAxMi0wNS0wMSAxNzo1NTowMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJICB2aWRlb2NvbnRleHQ6IFJlbW92ZSB0aGUgZXhwbGljaXQgdW5yZWZpbmcgb2YgcGFkIG9iamVjdCBnZXR0aW5nIGZyb20gaXRlcmF0b3IuCgoyMDEyLTA1LTAyIDE1OjM1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGF2b2lkIGFzc2VydGlvbiBieSB1c2luZyBudWxsIGNhcHMgYXMgYW55CgkgIE5VTEwgY2FwcyBhcmVuJ3QgdmFsaWQgY2FwcywgdXNlIGEgcmVmZXJlbmNlIHRvICdhbnknIGNhcHMKCjIwMTItMDUtMDIgMTU6MjQ6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBGaXggZ2V0L3NldF9wcm9wZXJ0eSBmb3IgZW5jb2RpbmcgcHJvZmlsZXMKCSAgRW5jb2RpbmcgcHJvZmlsZXMgYXJlIG9iamVjdHMsIG5vdCBib3hlZCB0eXBlcwoKMjAxMi0wNS0wMiAwOTo0MzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBudWxsIGNhcHMgYXJlIG5vdCB2YWxpZCBpbiAxLjAKCSAgVXNlIGFueSBjYXBzIGZvciB0aGUgcHJldmlldy1jYXBzIHByb3BlcnR5LCBhcyBOVUxMIGNhcHMgYXJlCgkgIG5vdCB2YWxpZCBjYXBzIGluIDEuMCBhbnltb3JlCgoyMDEyLTA1LTAxIDE1OjI5OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW4yLXNyYy50eHQ6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgkgIEluIDEuMCB0aGVyZSBpcyBhIGNvcmUgcmVjb25maWd1cmUgZXZlbnQsIGNhbWVyYWJpbiBkb2Vzbid0IG5lZWQKCSAgaXRzIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudCBhbnltb3JlCgoyMDEyLTA1LTAxIDE1OjA4OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogVXNlIHBsYWluIHZpZGVvIGVuY29kaW5nIHByb2ZpbGUgZm9yIGltYWdlcwoJICBEbyBub3QgdXNlIGpwZWcgYXMgYSBjb250YWluZXIgZm9ybWF0IGZvciBpbWFnZSBjYXB0dXJlcywgdXNlCgkgIHRoZSBwbGFpbiB2aWRlbyBlbmNvZGluZyBmb3JtYXQuIEl0IHdhcyB1c2VkIGFzIGEgY29udGFpbmVyIGluCgkgIDAuMTAgdG8gZm9yY2UgdGhlIGFkZGl0aW9uIG9mIHRhZ3MgdG8gdGhlIGltYWdlLgoKMjAxMi0wNS0wMSAxNDozMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBjaGFuZ2Ugb3V0cHV0LXNlbGVjdG9yIG5lZ290aWF0aW9uIG1vZGUKCSAgSW4gMC4xMCBjYW1lcmFiaW4yIGNvbnRyb2xsZWQgdGhlIG5lZ290aWF0aW9uIHN0cmljdGx5IGFuZCB0aGUgb3V0cHV0LXNlbGVjdG9yCgkgIHdvdWxkbid0IGZvcndhcmQgc2V0Y2FwcyBjYWxscy4gSW4gMC4xMSB0aGUgcmVuZWdvdGlhdGlvbiBldmVudHMgYXJlIGFscmVhZHkgaW4KCSAgY29yZSBhbmQgd2UgY2FuIGFsbG93IHRoZSBwaXBlbGluZSB0byBoYW5kbGUgaXQgd2l0aG91dCBtdWNoIGNvbnRyb2wgZnJvbSBjYW1lcmFiaW4KCSAgcGFydCAoSSBob3BlKSwgc28gdGhpcyBwYXRjaCBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgZm9yd2FyZCBjYXBzIG5lZ290aWF0aW9uIGV2ZW50cwoJICB0byB0aGUgYWN0aXZlIHBhZC4KCjIwMTItMDUtMDEgMTQ6MzE6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZpbmcgcmVuZWdvdGlhdGUgaGFuZGxlcnMKCSAgZ3N0cmVhbWVyIDEuMCBhbHJlYWR5IGhhcyB0aGUgcmVjb25maWd1cmUgZXZlbnQsIHJlbW92ZSB0aGUKCSAgY3VzdG9tIGV2ZW50IGhhbmRsaW5nIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYwoKMjAxMi0wNS0wMSAxMzoyODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBwcmV2ZW50IGNhcHMgcmVuZWdvdGlhdGlvbiBsb29wCgkgIE9ubHkgc2V0IHRoZSB6b29tIGNhcHNmaWx0ZXIgY2FwcyB3aGVuIHRoZSBuZXcgY2FwcyBhcmUgZGlmZmVyZW50LAoJICBwcmV2ZW50aW5nIGEgY2FwcyByZW5lZ290aWF0aW9uIGxvb3AuCgoyMDEyLTA1LTAxIDEzOjE1OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZTogVXBkYXRlIHByZXBhcmUtd2luZG93LWhhbmRsZSBtZXNzYWdlCgkgIE1lc3NhZ2UgbmFtZSBjaGFuZ2VkIGZyb20gcHJlcGFyZS14d2luZG93LWlkIHRvIHByZXBhcmUtd2luZG93LWhhbmRsZQoKMjAxMi0wNS0wMSAxMzowMDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlczogUmVuYW1pbmcgY2FtZXJhYmluMiB0byBjYW1lcmFiaW4KCjIwMTItMDUtMDEgMTA6MjY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogdXBkYXRpbmcgcHJvcGVydHkgdG8gbmV3IG5hbWUKCSAgZW5hYmxlLWxhc3QtYnVmZmVyIGlzIG5vdyBlbmFibGUtbGFzdC1zYW1wbGUKCjIwMTItMDUtMDEgMTA6MTg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogUmVwbGFjaW5nIGZmbXBlZ2NvbG9yc3BhY2Ugd2l0aCB2aWRlb2NvbnZlcnQKCjIwMTItMDQtMzAgMTI6MzY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHVucmVmIGJhZCBwYWNrZXRzIHRvbwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCjIwMTItMDQtMzAgMTI6Mjg6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCB0aGUgc3RhdGUgb2YgdGhlIHN0cmVhbSB3aGVuIGZsdXNoaW5nCgkgIFdlIG5lZWQgdG8gcmVzZXQgdGhlIHN0cmVhbSBvbiBhIGZsdXNoIG9yIGVsc2Ugb2xkIHBhY2tldHMgY291bGQgYmUgYWRkZWQgdG8gdGhlCgkgIGxpc3QgYW5kIGxlYWsuCgoyMDEyLTA0LTMwIDExOjA1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZG9uJ3QgcHVzaCBldmVudHMgdXBzdHJlYW0gaW4gcHVsbCBtb2RlCgkgIEluIHB1bGwgbW9kZSwgZG9uJ3QgcHVzaCB0aGUgc2VlayBldmVudCB1cHN0cmVhbS4KCjIwMTItMDQtMjYgMjI6NDk6MDcgLTA0MDAgIFdpbmQgWXVhbiA8ZmVuZy55dWFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IG1wZWc0IHR5cGUgZXJyb3IKCjIwMTItMDUtMDEgMDk6NDE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IGRvbid0IHBva2UgaW50byBwcml2YXRlIGFkYXB0ZXIgZmllbGRzCgoyMDEyLTA0LTMwIDE4OjA1OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogdXBkYXRlIGNhbWVyYWJpbigyKSB1bml0IHRlc3QgZm9yIHJlbmFtZQoKMjAxMi0wNC0zMCAxNzo1NjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IHJlbmFtZSB0byAiY2FtZXJhYmluIgoJICBCdXQgbGVhdmUgc291cmNlIGNvZGUgaW50YWN0IGZvciBub3csIGZvciBlYXNpZXIgcGF0Y2ggbWVyZ2luZy4KCjIwMTItMDQtMzAgMTc6NDQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGdzdC9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9UT0RPOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmRlYnVnLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIFJlbW92ZSBvbGQgY2FtZXJhYmluCgoyMDEyLTA0LTI1IDEzOjMxOjM2ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0YXJ0IHBhdXNlZCB0YXNrIG9uIG5ldyBkYXRhCgoyMDEyLTA0LTIxIDExOjM2OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGZhYWMgcGx1Z2luCgoyMDEyLTA0LTE2IDEwOjA3OjUxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgUmVlbmFibGUgZmFhZCBwbHVnaW4gZm9yIHRoZSBBbmRyb2lkIE5ESyBidWlsZHMKCjIwMTItMDQtMjUgMTE6NTA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgQVBJIHdoZW4gY29tcGlsaW5nIHdpdGggUlNWRyAyLjM1LjAgb3IgbmV3ZXIKCjIwMTItMDMtMjkgMTU6NTc6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMi0wNC0wNCAxMTo1MToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IEhhbmRsZSBHc3RCeXRlV3JpdGVyIHJldHVybiB2YWx1ZXMKCjIwMTItMDQtMjUgMTA6Mjc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNuZGlvIHBsdWdpbiBpcyBub3QgcG9ydGVkIHlldAoKMjAxMi0wNC0yNSAxMDoyNTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kaW8vZ3N0c25kaW8uYzoKCSAgc25kaW86IEZpeCBpMThuIGluaXRpYWxpemF0aW9uCgoyMDEyLTA0LTExIDIxOjA1OjI2IC0wNDAwICBKYWNvYiBNZXVzZXIgPGpha2Vtc3JAc2RmLmxvbmVzdGFyLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc25kaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRpby9nc3RzbmRpby5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuaDoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5oOgoJICBzbmRpbzogYWRkIHNuZGlvIHBsdWdpbiBmb3IgT3BlbkJTRAoKMjAxMi0wNC0yNCAxNzowMDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjQgMTU6MjA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmItc3ViOiBVc2UgdW5jaGVja2VkIGJ5dGUgcmVhZGVyIGZ1bmN0aW9ucwoKMjAxMi0wNC0yNCAxNDo1NzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IFVzZSBjb3JyZWN0IGVudW0gdHlwZQoKMjAxMi0wNC0yNCAxMTowMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdTogU3dpdGNoIGZyb20gZGVwcmVjYXRlZCBYS2V5Y29kZVRvS2V5c3ltKCkgdG8gWGtiS2V5Y29kZVRvS2V5c3ltKCkKCSAgQ29uZmxpY3RzOgoJICBzeXMvdmRwYXUvZ3N0dmRwc2luay5jCgoyMDEyLTA0LTIzIDE3OjExOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wNC0yMyAxNjo1NToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJICBhc2ZtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMiAxNDoxNzoxNCArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHNkZW11eDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE1OjA1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBwYXNzIHRoZSByZWFzb24gZm9yIGZhaWxlZCByZWFkIGFzIEdzdEZsb3dSZXR1cm4KCSAgTWFrZSB0aGUgX3JlYWRfZGV2aWNlIGZ1bmN0aW9uIHJldHVybiBhIEdzdEZsb3dSZXR1cm4gc28gdGhhdCB3ZSBjYW4gcHJvcGFnYXRlCgkgIHRoaXMgdG8gdGhlIGNhbGxlci4gVGhpcyBhbGxvd3MgdXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHBvbGwgZXJyb3JzIGFuZAoJICBmbHVzaGluZyBzdGF0ZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIxOQoKMjAxMi0wNC0xNyAxMTo0NDowMCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgRml4IGZvcm1hdCAodHlwZSBpcyBleHBsaWNpdGx5IHVuc2lnbmVkIGxvbmcpCgkgIEZpeGVzICM2NzQyNDQKCjIwMTItMDQtMjAgMTI6MDk6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgbmFzOiBSZXdvcmsgbmFzc2luayBhIGxpdHRsZQoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIDxvbGUuaGVsbHF2aXN0IGF0IHNwcmF5LnNlPgoJICBDcmVhdGUgYW5kIGRlc3Ryb3kgZmxvdyBpbiBwcmVwYXJlL3VucHJlcGFyZQoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgY29kZSBmcm9tIGNsb3NlIGFuZCBwcmVwYXJlIHRoYXQgaXMgbm93IGluIHVucHJlcGFyZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDEzMAoKMjAxMi0wNC0xOCAxMjowMjo1MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJICBEb2MgZml4ZXMgKGdzdHN1cmZhY2Vjb252ZXJ0ZXIsIGdzdHN1cmZhY2VtZXRhKS4KCjIwMTItMDQtMjAgMTE6MjM6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c2RlbXV4OiB3ZSBpZ25vcmUgd2FybmluZ3MgZGlmZmVyZW50bHkKCSAgV2Ugc3VwcHJlc3MgdGhlIHdhcm5pbmdzIGluIHRoZSAuYyBmaWxlIGluc3RlYWQuCgoyMDEyLTA0LTE5IDE0OjIwOjUyICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHBvcnQgdG8gMC4xMQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0Mzk3CgoyMDEyLTA0LTIwIDEwOjUwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogY2xhcmlmeSBldmVudCBvd25lcnNoaXAKCjIwMTItMDQtMTkgMTM6NTk6MzcgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWVtb3J5IGxlYWtzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQzOTMKCjIwMTItMDQtMjAgMTE6MTI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkgIGZpZWxkYW5hbHlzaXM6IERvZXMgbm90IG5lZWQgdG8gbGluayB0byBsaWJnc3RiYXNldmlkZW8gYXQgYWxsCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW0KCjIwMTItMDQtMTkgMTQ6MjQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgZml4IGZvciB2aWRlbyBhcGkgdXBkYXRlCgoyMDEyLTA0LTE5IDEyOjI5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICB2aWRlbzogVXBkYXRlIGZvciBsaWJnc3R2aWRlbyBBUEkgY2hhbmdlcwoKMjAxMi0wNC0xNyAyMjo0NjoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IERvIG5vdCBzZXQgdGhlIGR1cmF0aW9uIHRvIHRoZSBpbnB1dCBidWZmZXIncyBkdXJhdGlvbiB1bmxlc3MgdmFsaWQgVGhpcyBjYXVzZXMgYSBidWcgd2hlcmUgdGhlIGZpcnN0IGJ1ZmZlciBoYXMgdHMgPSAwLCBkdXI9WCwgdGhlIHNlY29uZCBidWZmZXIgaGFzIHRzPVggKGJlY2F1c2Ugb2YgdHMgKz0gZHVyYXRpb24pLCBkdXI9LTEsIHRoZW4gdGhlIGZvbGxvd2luZyBidWZmZXJzIHdpbGwgc3RhcnQgaGF2aW5nIGEgbm9uIHZhbGlkIHRpbWVzdGFtcC4gVGhlIHJlYWwgZHVyYXRpb24gaXMgb25seSBjYWxjdWxhdGVkIGR1cmluZyB0aGUgY2FwcyBuZWdvY2lhdGlvbiB3aGVuIHRoZXJlIGlzIGEgZnJhbWVyYXRlIGF2YWlsYWJsZSBhbmQgdGhlIGJ1ZmZlcidzIGR1cmF0aW9uIGlzIGludmFsaWQuCgoyMDEyLTA0LTE3IDE1OjQ0OjA3ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZXQgY3VycmVudGxpc3QgdG8gTlVMTCBhZnRlciBmcmVlLgoJICBUaGlzIHByZXZlbnRzIGRvdWJsZSBmcmVlIG9mIGN1cnJlbnRsaXN0IGlzIHNvbWUgY2lyY3Vtc3RhbmNlcy4KCjIwMTItMDQtMTcgMTg6NTY6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggZHVyYXRpb24gaW4gYnVmZmVycy4gSXQncyBmcmFtZXMgcGVyIHNlY29uZCwgbm90IHNlY29uZHMgcGVyIGZyYW1lCgoyMDEyLTA0LTE3IDE1OjIyOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICBjb2xsZWN0cGFkczI6IHJlbmFtZSB0byBjb2xsZWN0cGFkcwoKMjAxMi0wNC0xNiAxMTowMDo0NCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBkbyBub3QgbGluayBnc3RpbnRlcmZhY2VzCgoyMDEyLTA0LTE2IDA5OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRiMjViZSB0byBkYzcwMjAzCgoyMDEyLTA0LTEzIDAwOjEzOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcGFkIGl0ZXJhdG9yIGxlYWsKCjIwMTItMDQtMTMgMDA6MTQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBsZWFrIGZvcmNlIGtleSB1bml0IGV2ZW50cwoKMjAxMi0wNC0xNCAyMTowOToyNSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEbyBub3QgaWdub3JlIHN0YXJ0IGNvZGUgYXQgdGhlIGVuZCBvZiBidWZmZXIKCjIwMTItMDQtMTQgMjE6MDI6MDYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQYXJzZXIgZmFpbHMgdG8gc3BsaXQgc29tZSBmcmFtZXMKCjIwMTItMDQtMTQgMjA6NTM6NDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggRlBTIGFuZCBmcmFtZSBkdXJhdGlvbiBmb3IgdGVsZWNpbmUgZmlsZXMKCjIwMTItMDQtMTQgMjA6NDY6MjQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEbyBub3QgdXBkYXRlIGNvZGVjLWRhdGEgd2hlbiBvbmx5IHF1YW50aXNlciBtYXRyaXggY2hhbmdlcwoKMjAxMi0wNC0xNCAxNToyOToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGRvbid0IGxpbmsgYWdhaW5zdCBsaWJnc3RpbnRlcmZhY2VzIHdoaWNoIHdhcyByZW1vdmVkCgkgIFRoZSBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZSBpcyBub3cgaW4gbGliZ3N0dmlkZW8uCgoyMDEyLTA0LTEzIDIyOjA0OjM4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBmaXggY3Jhc2gKCSAgbGFzdF9zYyBpcyBub3QgcmVzZXQgZXZlcnkgdGltZSBhIGZyYW1lIGlzIGJlaW5nIG91dHB1dCwgd2hpY2ggY2FuIGNhdXNlCgkgIGxhc3Rfc2MgPiBidWZfc2l6ZSBpbiBzdWJzZXF1ZW50IGZyYW1lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MDczCgoyMDEyLTA0LTEzIDE1OjEyOjEyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgU2V0IHN5bmNfcG9pbnIgPSAxIGZvciBrZXlmcmFtZQoKMjAxMi0wNC0xMyAxNDowNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiB1c2UgMS4wIHZpZGVvZmlsdGVyIGJhc2VjbGFzcyBmdW5jdGlvbnMKCSAgUG9ydCB0byB0aGUgbmV3IGZ1bmN0aW9ucyBvZiB0aGUgdmlkZW9maWx0ZXIgY2xhc3MKCjIwMTItMDQtMTMgMTA6MTY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IHBvcnQgdG8gMS4wCgkgIFN0cmFpZ2h0Zm9yd2FyZCBwb3J0IG9mIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTItMDQtMTMgMTM6NDQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1vZGVybml6ZSBhdXRvdG9vbHMgc2V0dXAgYSBiaXQKCSAgQWxzbyB3ZSBub3cgb25seSBjcmVhdGUgdGFyLmJ6MiBhbmQgdGFyLnh6IHRhcmJhbGxzLgoKMjAxMi0wNC0xMyAxMzozNzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NGZlMTUgdG8gNmRiMjViZQoKMjAxMi0wNC0xMyAxMzoxMDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGZvciB0aGUgcmVtb3ZhbCBvZiB0aGUgaW50ZXJmYWNlcyBsaWJyYXJ5IGFuZCB0aGUgdHVuZXIvbWl4ZXIgaW50ZXJmYWNlcwoKMjAxMi0wNC0xMiAxODoyNTowOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFN5bmMgQW5kcm9pZC5tayBlbnRyaWVzIHRvIHRoZSBuZXcgbWFqb3IgdmVyc2lvbgoJICBDaGFuZ2UgbmFtaW5nIG9uIHRoZSBwa2djb25maWcgZmlsZXMgdG8gcmVmbGVjdAoJICB0aGUgMC4xMCAtPiAxLjAgYnVtcC4KCjIwMTItMDQtMTIgMTE6MTk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkwID09PQoKMjAxMi0wNC0xMiAxMDo1MDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MAoKMjAxMi0wNC0xMiAxMDo0NzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA0LTExIDIxOjQ3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOgoJICB0ZXN0czogcmVtb3ZlIG9ic29sZXRlIG11bHRpZmRzaW5rIHRlc3QKCSAgLi4uIHdoaWNoIGlzIGluIC1iYXNlIG5vd2FkYXlzLgoKMjAxMi0wNC0xMCAxNzozNTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY0ZW5jLmM6CgkgIHRlc3RzOiByZW1vdmUgb2Jzb2xldGUgeDI2NGVuYyB1bml0IHRlc3QKCSAgLi4uIHdoaWNoIGlzIGluIC11Z2x5IG5vd2FkYXlzLgoKMjAxMi0wNC0xMCAxNzoyNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdGVzdHM6IHBvcnQgc29tZSBtb3JlIHRvIDEuMAoKMjAxMi0wNC0xMCAxNzoyMjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTA0LTEwIDE3OjIyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogdHdlYWsgY2FwcyBuZWdvdGlhdGlvbgoJICAuLi4gc28gYXMgdG8gYXZvaWQgbGVha2luZyBjYXBzIG9yIG1hbmlwdWxhdGluZyBOVUxMIGNhcHMuCgoyMDEyLTA0LTEwIDE3OjIyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGF2b2lkIGxlYWtpbmcgcGFkIHRlbXBsYXRlIGNhcHMgYW5kIHN1cGVyZmx1b3VzIGNvcHkKCjIwMTItMDQtMTAgMTc6MjE6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogZml4IHBhZCByZWxlYXNlIGFuZCBjbGVhbnVwCgoyMDEyLTA0LTA2IDE0OjUyOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoKMjAxMi0wNC0wNiAxNDoyNzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHR3ZWFrIGRlZmF1bHQgc2V0dGluZyBvZiBmb3JtYXQgYW5kIGFsaWdubWVudCBpbiBjb2RlY19kYXRhIGNhc2UKCSAgLi4uIHdoaWNoIHNob3VsZCBwcm9tb3RlIGVuZGluZyB1cCBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAxMi0wNC0wNiAxNDoyMzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCB1c2UgX3VuY2hlY2tlZCBieXRld3JpdGVyIHZhcmlhbnRzIHRvIGluc2VydCBjb25maWcKCSAgLi4gc2luY2UgdGhlIGJ5dGV3cml0ZXIgaXMgZXhwbGljaXRseSBjcmVhdGVkIHdpdGggbm9uLWZpeGVkIHNpemUgdG8KCSAgYWxsb3cgKHZlcnkgbXVjaCBzbyBleHBlY3RlZCkgZ3Jvd3RoLgoJICBQYXJ0aWFsbHkgcmV2ZXJ0cyBjb21taXQgMjA2NjlkNDYxYTQ5NTNlYjVlZDAxMzc0ZDVhYjYyOGI0ZGM3M2I2NCB3aGlsZQoJICB0cnlpbmcgdG8ga2VlcCAoc29tZT8pIGNvbXBpbGVycyBoYXBweS4KCSAgSUlSQywgdGhlIHB1cnBvc2Ugb2YgR3N0Qnl0ZVdyaXRlciBpbiB0aGUgZmlyc3QgcGxhY2Ugd2FzIChhdCBsZWFzdCkKCSAgYmVpbmcgYWJsZSB0byBkdW1wIGRhdGEgd2l0aG91dCBoYXZpbmcgdG8gZnVzcyB3aXRoIG1lbW9yeSBleHBhbnNpb24KCSAgYW5kIHNpemUgaXNzdWVzIC4uLgoJICBGaXhlcyAjNjczNDg1LgoKMjAxMi0wNC0wNSAxNzoxNToxMSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgoyMDEyLTA0LTA1IDE4OjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2ZkYTUyNCB0byA0NjRmZTE1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qcDJrL2dzdGpwMmsuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSogZ3N0L3NlZ21lbnRjbGlwL3BsdWdpbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXZjL2dzdGF2Y3BsdWdpbi5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxMTo1MTo0MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogU29tZSBtb3JlIGRlYnVnZ2luZwoKMjAxMi0wMy0xNSAxNDo0Mjo0NCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBSZXBsYWNlIHRoZSBmZXRjaGVyIGNvZGUgd2l0aCBhIEdzdFVSSURvd25sb2FkZXIgb2JqZWN0CgoyMDEyLTAzLTE0IDE3OjAxOjE3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiBNaW5vciBjbGVhbnVwIGluIEdzdFVyaURvd25sb2FkZXIKCjIwMTItMDMtMTQgMTc6MDY6MjIgLTA0MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGhsc2RlbXV4OiBGYWN0b3Igb3V0IGFsbCB0aGUgZmV0Y2hlciBjb2RlIGluIGEgR3N0VVJJRG93bmxvYWRlciBjbGFzcwoJICBUaGlzIGNsYXNzIGlzIG1lYW50IHRvIGJlIHJldXNhYmxlIGJ5IG90aGVyIGNvbXBvbmVudHMKCjIwMTItMDQtMDUgMTA6MjI6MjkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzOiBEbyBub3QgYWRkIHJlZmVyZW5jZSB0byBidWZmZXJzIHBhc3NlZCBpbiBHc3RGcmFnbWVudAoJICBXZSBqdXN0IHN0ZWFsIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciwgd2hpY2ggbWVhbnMgd2UgY2FuIGtlZXAgd3JpdGluZyBtZXRhZGF0YXMKCSAgb24gdGhlIGJ1ZmZlcnMuCgoyMDEyLTAzLTEzIDE1OjE4OjIyIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkgIGhsczogTWlub3IgR3N0RnJhZ21lbnQgY2xlYW51cAoKMjAxMS0wNy0wOCAwMTowOTowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJICBobHM6IEFkZCBhIEdzdEZyYWdtZW50IGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIGZyYWdtZW50IGluIGEgbTN1IHBsYXlsaXN0CgoyMDEyLTAzLTE1IDE4OjIxOjU4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzOiBNYWtlIHRoZSB1cGRhdGVzIHRocmVhZCBhIEdzdFRhc2sKCjIwMTItMDQtMDUgMTM6Mjg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSB2ZXJzaW9uIHRvIDAuMTEuODkuMQoKMjAxMi0wNC0wNSAwOToxNjoyNyArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMTItMDQtMDUgMDY6MTg6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2V0IGNvcnJlY3QgbmV3c2VnbWVudCBmaWVsZHMgb24gX1RJTUUgc2Vla3MKCSAgRm9yd2FyZCB0aGUgc2VlayByYXRlIGFuZCBzZXQgTlMuc3RhcnQgdG8gdGhlIHNlZWsgdGFyZ2V0IHNvIHRoYXQgZGVjb2RlcnMgY2FuCgkgIGFwcGx5IGNsaXBwaW5nIHdoZXJlIG5lY2Vzc2FyeS4KCjIwMTItMDQtMDUgMDg6NTQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgY29yZXZpZGVvYnVmZmVyIGFmdGVyIGJ1ZmZlciBtZXRhIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDUgMDg6NTM6NDEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgY29yZW1lZGlhYnVmZmVyIGFmdGVyIGJ1ZmZlciBtZXRhIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDUgMDg6NTI6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiB1cGRhdGUgYWZ0ZXIgQmFzZVNyYzo6Zml4YXRlIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDUgMDg6MjQ6MzEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggY29tcGlsZSB3YXJuaW5nCgoyMDEyLTA0LTA1IDA2OjE4OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNldCBjb3JyZWN0IG5ld3NlZ21lbnQgZmllbGRzIG9uIF9USU1FIHNlZWtzCgkgIEZvcndhcmQgdGhlIHNlZWsgcmF0ZSBhbmQgc2V0IE5TLnN0YXJ0IHRvIHRoZSBzZWVrIHRhcmdldCBzbyB0aGF0IGRlY29kZXJzIGNhbgoJICBhcHBseSBjbGlwcGluZyB3aGVyZSBuZWNlc3NhcnkuCgoyMDEyLTA0LTA0IDE0OjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvY29tcGlsaW5nLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTI6MDY6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgoyMDEyLTA0LTA0IDA3OjI0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IGl0ZXJhdG9yIHRvIE5VTEwgYWZ0ZXIgaXQncyBmcmVlCgkgIEZpeGVzIHBvc3NpYmxlIGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBnc3RfdHNfZGVtdXhfc3RyZWFtX2ZsdXNoCgoyMDEyLTA0LTAyIDE1OjMxOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCjIwMTItMDQtMDIgMTU6MjY6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYXIgYnVmZmVybGlzdC9pdGVyYXRvciB3aGVuIHJlbW92aW5nIHN0cmVhbXMKCjIwMTItMDQtMDIgMTU6MjU6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgbGVhayBidWZmZXIgaW4gZmFzdCB2YXJpYW50CgoyMDEyLTA0LTAyIDE1OjI1OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGxlYWsgY29ycnVwdCBzZWN0aW9uIHBhY2tldCBidWZmZXIKCjIwMTItMDQtMDIgMTE6MTM6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHVzZSB0cmFuc2Zvcm1faXBfb25fcGFzc3Rocm91Z2gKCjIwMTItMDQtMDIgMTE6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0zMCAxOToxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2V2ZXJhbCBsZWFrcwoJICAqIGRvbnQnIGxlYWsgYnVmZmVycyB3aGVuIGEgc3RyZWFtIGlzIGluIGRpc2NvbnQgc3RhdGUKCSAgKiBkb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHByb2dyYW0gaXMgcmVtb3ZlZC9kZWFjdGl2YXRlZAoJICAqIHJlbW92ZSBhbGwgcHJvZ3JhbXMgd2hlbiBkaXNwb3NpbmcKCjIwMTItMDMtMzAgMTk6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNldmVyYWwgbGVha3MKCSAgKiBkb250JyBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHN0cmVhbSBpcyBpbiBkaXNjb250IHN0YXRlCgkgICogZG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gYSBwcm9ncmFtIGlzIHJlbW92ZWQvZGVhY3RpdmF0ZWQKCSAgKiByZW1vdmUgYWxsIHByb2dyYW1zIHdoZW4gZGlzcG9zaW5nCgoyMDEyLTAzLTMwIDE4OjEzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDE3OjA5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4dXAgbWVyZ2UKCjIwMTItMDMtMzAgMTM6MjM6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBGaXggY29tcGlsYXRpb24KCjIwMTItMDMtMzAgMTI6NTU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X2hlYWRlcnMoKSBBUEkKCjIwMTItMDMtMzAgMTI6MjI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMzAgMTI6MDI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVcGRhdGUgZm9yIGJhc2VwYXJzZSBBUEkgY2hhbmdlcwoKMjAxMi0wMy0zMCAxMTo1Mzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGV4dDogVXBkYXRlIGZvciBhdWRpbyBkZWNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI5IDE4OjA0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDEyLTAzLTI5IDE4OjAzOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogRml4IGEgbWVyZ2UgbWlzdGFrZQoKMjAxMi0wMy0yOSAxNzo1NTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmV2ZXJ0IHRvIDAuMTAgc3RhdGUgYXMgdGhpcyBpcyB1bm1lcmdlYWJsZSwgYWxzbyBwdXQgaXQgaW50byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zIGFnYWluCgoyMDEyLTAzLTI5IDE3OjUxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbWVyZ2UgbWlzdGFrZQoKMjAxMi0wMy0yOSAxNzo0MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBORVdTCgkgIFJFTEVBU0UKCSAgY29tbW9uCgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHkKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sCgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYwoJICBleHQvZHRzL2dzdGR0c2RlYy5jCgkgIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2MKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmgKCSAgZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYwoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oCgkgIGdzdC9teGYvbXhmZGVtdXguYwoJICBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jCgkgIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMKCSAgc3lzL3NobS9nc3RzaG1zcmMuYwoJICBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmMKCSAgc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jCgkgIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDEyLTAzLTI5IDE2OjA4OjM0ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBwb3J0ZWQgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTItMDMtMjggMTI6NDk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMjcgMTU6MTM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXM6IFJhbmsgcnRwIHBheS9kZXBheQoJICBUaGlzIHdheSB0aGV5IGNhbiBiZSBhdXRvLXBsdWdnZWQuCgoyMDEyLTAzLTI3IDA5OjM2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIHRoZSBsaW5rZXIgZmxhZ3MKCjIwMTItMDMtMjYgMTI6MTM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBSZXBsYWNlIG1hc3RlciB3aXRoIDAuMTEKCjIwMTItMDMtMjMgMTg6MzY6MjEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBtZW1vcnkgaGFuZGxpbmcgY2xlYW51cAoJICBEb24ndCBsZWFrIHRoZSBDU291bmRGaWxlLiBVc2UgZGVmaW5lIGZvciBjb21tZW50IGJ1ZmZlciBzaXplIGFuZCBlbnN1cmUgaXQgaXMgMAoJICB0ZXJtaW5hdGVkLgoKMjAxMi0wMy0yMyAxODoxODowNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsdGU6IGNvbW1lbnQgY2xlYW51cAoJICBSZW1vdmUgY29tbWVudGVkIG91dCBjb2RlIGZvciBhIGZsaXRlc3ludGggdGhhdCB3ZSBkb24ndCBoYXZlIGluIGdpdCBhbnl3YXkuIEFkZAoJICBhIGNvbW1lbnQgcmVnYXJkaW5nIHRoZSBmbGl0ZSB2b2ljZXMuCgoyMDEyLTAzLTIzIDE4OjE2OjA4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1Zzogd29yayBhcm91bmQgbWVtb3J5IHRyYXNoaW5nIGluIGxpYm1vZHBsdWcgKDAuOC43KQoJICBBbGxvY2F0ZSBkb3VibGUgc2l6ZWQgYnVmZmVycy4gQWxzbyBhZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMi0wMy0yMyAxMzowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogTWFrZSBidWZmZXItdGltZSBzaWduZWQgdG8gZGVhbCB3aXRoIGJhY2t3YXJkIGp1bXBzIGluIHRpbWVzdGFtcHMKCjIwMTItMDMtMjMgMTM6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IE1ha2UgYnVmZmVyLXRpbWUgc2lnbmVkIHRvIGRlYWwgd2l0aCBiYWNrd2FyZCBqdW1wcyBpbiB0aW1lc3RhbXBzCgoyMDEyLTAzLTIyIDE1OjU1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjIgPT09CgoyMDEyLTAzLTIyIDE1OjUyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuMgoKMjAxMi0wMy0yMSAyMzowNDozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzcGF0Y2gtb3N4LmNwcDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElTdHJlYW1pbmcuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVR5cGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElWZXJzaW9uLmg6CgkgIGRlY2tsaW5rOiBBZGQgZGVja2xpbmsgZGlzcGF0Y2ggY29kZSBmb3IgT1MvWAoKMjAxMi0wMy0yMSAxMzoyMzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTIxIDA5OjQxOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBiYXllciBjYXBzCgoyMDEyLTAzLTIwIDIwOjA3OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFByZXZlbnQgYWNjZXNzIHRvIHRoZSB0cmFuc2Zvcm0gbWFwIHdoZW4gaXQgaXMgbnVsbAoJICBDaGVjayBpZiB0aGUgbWFwIGRvZXNuJ3QgZXhpc3Qgd2hlbiByZWNlaXZpbmcgYSBuZXcgY2FwcyBhbmQgY3JlYXRlCgkgIGEgbmV3IG9uZS4gVGhpcyBwcmV2ZW50cyB0aGF0IHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRyeSB0byBhY2Nlc3MKCSAgdGhlIG1hcCB3aGVuIGl0IGRvZXNuJ3QgZXhpc3QuCgoyMDEyLTAzLTIwIDE5OjE5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBzb21lIG1vcmUgbG9nIG1lc3NhZ2VzCgoyMDEyLTAzLTIwIDE3OjMyOjAwIC0wMzAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogYXZvaWQgcmVzZXRpbmcgY2FwcyB0byB0aGUgc2FtZSB2YWx1ZQoJICBSZWR1Y2VzIGNhcHR1cmUgbGF0ZW5jeSB3aGVuIHRoZSBuZXcgY2FwcyBhcmUgdGhlIHNhbWUgYXMgdGhlIG9sZAoJICBvbmUsIGF2b2lkaW5nIHJlc2V0dGluZyB0aGUgc291cmNlIHN0YXRlIGZvciBhIGZvcmNlZCByZW5lZ290aWF0aW9uLgoKMjAxMi0wMy0yMSAwMDoxNzo0NyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICB3aW5zY3JlZW5jYXA6IEZpeCBjb21waWxpbmcgd2l0aCBtaW5ndwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNTA1CgoyMDEyLTAzLTIwIDIwOjIxOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTIwIDIwOjIxOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTIwIDE2OjQ0OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBhZGQgc29tZSBjaGFubmVsIG1hcCBkZWJ1ZwoKMjAxMi0wMy0yMCAxNjozNDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBvcHRpbWl6ZSBjaGFubmVsIHJlbWFwLCBhdm9pZCBwb3RlbnRpYWwgbWVtY3B5CgkgIENvbWJpbmUgdGhlIGNoYW5uZWwgcmVtYXAgYW5kIGNvcHkgaW4gb25lIG9wZXJhdGlvbi4gQ2FsY3VsYXRlIHRoZSBjaGFubmVsIHJlbWFwCgkgIHRhYmxlIG9ubHkgb25jZSwgbWFrZSBhIHNob3J0Y3V0IHdoZW4gd2UgYXJlIG5vdCBkb2luZyBhbnkgcmVtYXBwaW5nLgoKMjAxMi0wMy0yMCAxNTozODozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy5vcmM6CgkgIG9yYzogZG9uJ3QgY29tcGlsZSBldmVyeXRoaW5nIGF0IHN0YXJ0dXAKCjIwMTItMDMtMTkgMjI6NTg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBzeXM6IHNvcnQgc3ViZGlycyBpbiBNYWtlZmlsZSBhbHBoYWJldGljYWxseQoKMjAxMi0wMy0xOSAyMzo0OToxNyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogSW50ZWdyYXRlIGludG8gYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMDMxCgoyMDEyLTAzLTE4IDIzOjE1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IEdTVF9CQVNFX0xJQlMgYWxyZWFkeSBjb250YWlucyAtbGdzdGJhc2UtMC4xMAoKMjAxMi0wMy0xOCAxNDo0MzoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBBZGQgLWxnc3RiYXNlLTAuMTAKCjIwMTItMDMtMTggMTg6MzM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1c2UgbmV3IHN0eWxlIGF1ZGlvIGNhcHMKCSAgQWxzbyBkbyBub3QgcHJldGVuZCB0byBuZWdvdGlhdGUgb3V0cHV0IGNhcHMgd2hlbiB0aGVyZQoJICBpcyBub3QgbXVjaCBpbiBvdXRwdXQgdG8gYmVnaW4gd2l0aC4KCjIwMTItMDMtMTggMTg6MzI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICBzbW9vdGg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJICBzZWdtZW50Y2xpcDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJICByZW1vdmVzaWxlbmNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMDE6MTg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBmaXggYnVpbGQgYWZ0ZXIgYmFzZSB0cmFuc2Zvcm0gY2hhbmdlcwoKMjAxMi0wMy0xOCAwMDo1MTozMiArMDAwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZml4IHN0cnVjdHVyZSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyOTQKCjIwMTItMDMtMTcgMTU6MDk6MjEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBvcGVuY3Y6IGZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjk1CgoyMDEyLTAzLTE1IDIyOjEyOjU5ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZml4IHJlZ3Jlc3Npb24gc2V0dGluZyB3aW5kb3cgaGFuZGxlIGluIHBhdXNlL3BsYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkwNQoKMjAxMi0wMy0xNyAxNTowNzo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgZGV2aWNlIHByb3BlcnR5CgkgIEFsc28gYWRkIHByb3BlcnR5IHByb2JlIGZvciBkZXZpY2UgcHJvcGVydHksIHNpbWlsYXIgdG8gZGVja2xpbmtzcmMuCgoyMDExLTEwLTMxIDE4OjU4OjM0IC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogbWFrZSBzdXJlIHdlIGNhbiBhY2NlcHQgY2FwcyBiZWZvcmUgcmV0dXJuaW5nIHRydWUKCSAgY2FwcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgcGx1Z2luJ3MgcHJvcGVydGllcywgc28gd2Ugc2hvdWxkIGNoZWNrIHRoZQoJICBpbmNvbWluZyBjYXBzIHRvIHNlZSBpZiB0aGV5IGFncmVlLiAgRml4ZXM6ICM2Njc3MjIuCgoyMDExLTEwLTMxIDE4OjU3OjIyIC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogZGlzYWJsZSBwdWxsIG1vZGUKCSAgZGVja2xpbmsgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCBhbnkgcHVsbCBtb2RlIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eS4KCSAgaXQncyBtb3JlIGxpa2UgYSBsaXZlIHNvdXJjZSwgeW91IHNlZS4gRml4ZXM6ICM2Njc3MjAuCgoyMDEyLTAyLTExIDIyOjQ5OjEwIC0wODAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogcHVzaCBuZXcgbmV3IHNlZ21lbnQgZXZlbnQgdG8gYWxsIHBhZHMKCSAgVGFrZSBjYXJlIHRvIHB1c2ggdGhlIGV2ZW50IHRvIGFsbCBwYWRzLCBidXQgZmF2b3IgdGhlIHZpZGVvIHNyYyBwYWQuCgkgIEZpeGVzOiAjNjY3NzE2LgoKMjAxMi0wMy0xNyAxMTo0MTowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuICBGaXggbWVtbGVhayByZWxlYXNpbmcgcmVzb3VyY2VzLgoKMjAxMi0wMy0xNyAxMTozOTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVpbmRlbnQKCjIwMTEtMTAtMzEgMTg6NTY6MjMgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkgIGRlY2tsaW5rc3JjOiBoYW5kbGUgZmxvdyByZXR1cm4gcHJvcGVybHkgYW5kIHByb3ZpZGUgYmV0dGVyIG1lc3NhZ2UKCSAgKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoKMjAxMi0wMy0wNyAxOToyMjoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBwcm9wZXJ0eSBwcm9iaW5nCgkgIFJlbmFtZXMgdGhlIHN1YmRldmljZSBwcm9wZXJ0eSB0byBqdXN0IGRldmljZSwgYW5kIGhhcyBpdAoJICByZXR1cm4gdGhlIG51bWJlciBvZiBkZXZpY2VzIGluIHRoZSBzeXN0ZW0gaW4gcmVzcG9uc2UgdG8KCSAgYSBwcm9iZS4gVGhpcyBpcyB1c2VmdWwgYm90aCBmb3IgdXNpbmcgbXVsdGlwbGUgY2FwdHVyZQoJICBjYXJkcywgYW5kIGZvciBkZXRlY3Rpbmcgd2hldGhlciBpdCdzIHdvcnRoIGFkZGluZyB0aGUKCSAgZWxlbWVudCB0byBhIHBpcGVsaW5lLgoJICBBbHNvIGNsZWFucyB1cCB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoKMjAxMi0wMy0xNyAxMTo0NTozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJICBlbGVtZW50LXRlbXBsYXRlczogY2hhaW4gcXVlcnkvZXZlbnQgZnVuY3Rpb25zCgkgIENoYWluIHVwIHRvIHBhcmVudCBjbGFzcy4gIFRoaXMgZml4IHNob3VsZCBiZSBkb25lIHRvIGFsbCBvZiB0aGUKCSAgdGVtcGxhdGVzLgoKMjAxMi0wMy0xNyAxMTozNToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBBZGQgY2hhbm5lbCBwcm9wZXJ0eQoJICBUaGUgY2hhbm5lbCBwcm9wZXJ0eSBhbGxvd3MgbXVsdGlwbGUgaW50ZXJzcmMvc2luayBwYWlycyB0byBmaW5kCgkgIGVhY2ggb3RoZXIuICBJdCdzIGEgZnJlZS1mb3JtIHRleHQgc3RyaW5nIHRoYXQgbXVzdCBtYXRjaCBhbW9uZwoJICB2YXJpb3VzIGludGVyIGVsZW1lbnRzLiAgQWxzbyBmaXhlZCB1cCBkb2N1bWVudGF0aW9uIGFuZCBsYXRlbmN5CgkgIGhhbmRsaW5nLgoKMjAxMi0wMy0xNyAxNjowOTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBmaXggLXRlbXBsYXRlLXZpZGVvIGNhcHMgc3RyaW5nCgkgIERvbid0IGZvcmdldCBzZXBhcmF0b3IuCgoyMDEyLTAzLTE3IDE2OjA1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBhZGQgdmlkZW8gcGFkIHRlbXBsYXRlIGFuZCB1c2UgaXQgaW4gdmlkZW9maWx0ZXIgY2xhc3MKCSAgV291bGQgYmUgbmljZXIgaWYgb25lIGNvdWxkIGp1c3Qgc3VwcGxlbWVudCB0aGUgZ2VuZXJpYyB0ZW1wbGF0ZQoJICBmcm9tIHRoZSBlbGVtZW50IHRlbXBsYXRlIHRob3VnaC4KCSAgQWxzbywgSSB3b3VsZCByZWFsbHkgaGF2ZSBsaWtlZCB0byBqdXN0IGFkZCB0aG9zZSBzZWN0aW9ucyBmcm9tIHRoZQoJICBwYWRzIHRlbXBsYXRlIGludG8gdGhlIGVsZW1lbnQgdGVtcGxldCBkaXJlY3RseSAoc28gSSBjYW4gY2F0ZXIgZm9yCgkgIHNyYyB0ZW1wbGF0ZSBjYXBzID09IHNpbmsgdGVtcGxhdGUgY2FwcyksIGJ1dCB0aGF0IGRpZG4ndCBzZWVtIHRvCgkgIHdvcmsuCgoyMDEyLTAzLTE3IDE1OjQ5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBhZGQge3NyYyxzaW5rfXBhZC10ZW1wbGF0ZSwgc2luY2UgbWFueSBiYXNlIGNsYXNzZXMgY3JlYXRlIHBhZHMgZm9yIHVzCgkgIEFuZCB1c2UgdGhlbSBpbiB0aGUgdmlkZW9maWx0ZXIgdGVtcGxhdGUuCgoyMDEyLTAzLTE3IDE1OjE2OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICB0b29sczogYWRkIHZpZGVvZmlsdGVyIHRlbXBsYXRlIGZvciBnc3QtZWxlbWVudC1tYWtlcgoKMjAxMi0wMy0xNyAxMjo0Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG9wZW5jdjogZml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgYnVpbGQgd2l0aCBvcGVuY3YgMi4xCgkgIEFDX0NIRUNLX0hFQURFUlMoKSBjYWxscyBhY3Rpb24taWYtbm90LWZvdW5kIGFsc28gaWYganVzdCBvbmUgb2YKCSAgdGhlIGhlYWRlcnMgY2hlY2tlZCBmb3IgaXMgbWlzc2luZywgd2hpY2ggaXMgbm90IHdoYXQgd2Ugd2FudGVkLgoJICBBbHNvLCBjaGVjayBmb3IgaGlnaGd1aV9jLmggaW5zdGVhZCBvZiBoaWdoZ3VpLmhwcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjIyNgoKMjAxMi0wMy0xNiAyMTo0NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZG9uJ3QgcGFzcyByYW5kb20gcG9pbnRlcnMgdG8gcHVsbF9yYW5nZQoKMjAxMi0wMy0xNiAxNzowNzo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBpbml0aWFsaXplIHNvbWUgYXJiaXRyYXJ5IHZhcmlhYmxlIHRoYXQgZ2NjLTQuNiBjYW4gdHJhY2sgcHJvcGVybHkKCSAgVGhlIGFjY2VzcyB0byB0aGVtIGlzIGNsZWFybHkgZ3VhcmRlZCBieSB0aGUgYm9vbGVhbnMgdGhvdWdoLgoKMjAxMi0wMy0xNiAxMzoxNDo0OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBvcGVuY3Y6IGNvc21ldGljIGNvZGUgY2hhbmdlcwoJICBDaGVjayBmb3IgdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgZGV0ZWN0b3JzIGluIHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9uIHRvIGF2b2lkCgkgIHNldHRpbmcgdXAgdGhlIFJPSXMuIFVzZSB0aGUgYm9vbGVhbnMgZm9yIGhhdmVfeHh4IG1vcmUuCgoyMDEyLTAzLTE2IDEyOjU3OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBvcGVuY3YgcHJlZml4IGZyb20gcGtnY29uZmlnIHRvIGxvb2t1cCBkYXRhZmlsZXMKCSAgRG9uJ3QgaGFyZGNvbmRlIC91c3IgdG8gbG9va3VwIGRhdGFmaWxlcyAoc3VjaCBhcyBoYWFyIGNhc2NhZGVzKS4KCjIwMTItMDMtMTUgMTc6MTA6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJzbmR2ZHNyYzogcG9zdCBhIG1lc3NhZ2Ugd2l0aCB0aXRsZSBudW1iZXIgYW5kIGR1cmF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMTY1CgoyMDEyLTAzLTE2IDEyOjEwOjEwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiByZW1vdmUgYmxhbmsgbGluZSBpbiBndGstZG9jIGNvbW1lbnQKCjIwMTItMDMtMTYgMTI6MDQ6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogc2tpcCBkZXRlY3Rpb24gZm9yIHVuYXZhaWxhYmxlIGRldGVjdG9ycwoKMjAxMi0wMy0xNSAyMzoxNzo1NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBtb3ZlIHRoZSBkZXRlY3RvciB0byBhbiBvd24gbWV0aG9kIHRvIGhpZGUgdGhlIHVnbHkgaWZkZWZzCgkgIFRoaXMgaW1wcm92ZXMgdGhlIHJlYWRhYmlsaXR5IGluIHRoZSBhY3R1YWwgcHJvY2Vzc2luZyBmdW5jdGlvbi4KCjIwMTItMDMtMTUgMjM6MDg6MDIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogYWx3YXlzIHNlbmQgZmFjZWRldGVjdCBtZXNzYWdlCgkgIFRoZSBhcHBsaWNhdGlvbiBtaWdodCBsaWtlIHRvIGtub3csIHdoZW4gd2UgZG9uJ3Qgc2VlIHRoZSBmYWNlIGFueW1vcmUuCgoyMDEyLTAzLTE1IDIyOjU4OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBjb2RlIGNsZWFudXBzCgkgIFVzZSBnbGliIHR5cGVzIGFuZCBzaW1wbHkgZXhwcmVzc2lvbnMgaW4gdGhlIG1lc3NhZ2UgaGFuZGxlci4KCjIwMTItMDMtMTUgMjI6NDk6NTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGRvbid0IGFjY2VzcyBtZXNzYWdlIGZpZWxkcyBkaXJlY3RseQoKMjAxMi0wMy0xNSAyMjoyMjoxMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBkb24ndCBza2lwIGZhY2VzCgkgIFNraXBwaW5nIGZhY2VzIGF0IHRoaXMgcG9pbnQgbWFrZXMgdXMgbGllIGFib3V0IHRoZSBudW0tYmVyIG9mIGZhY2VzIGFuZCBhbHNvCgkgIGNhdXNlcyBsZWFrcy4KCjIwMTItMDMtMTUgMjI6MTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIwOjM4OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wMy0xNSAxODoyODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogY29zbWV0aWMgY2hhbmdlCgkgIFJlbmFtZSBQUk9QX0ZJTEVOQU1FIHRvIFBST1BfTE9DQVRJT04gdG8gbWF0Y2ggdGhlIG5hbWUgb2YKCSAgdGhlIHByb3BlcnR5LiBBZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMi0wMy0xNSAxODoyNjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGNsZWFyIG92ZXJsYXkgaWYgdGhlIGZhY2UgZGlzYXBwZWFycwoKMjAxMi0wMy0xNSAxODoyMTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGFkZCBzb21lIGxvY2tpbmcgZm9yIHByb3BlcnRpZXMsIGZyZWUgcHJldmlvdXMgbG9jYXRpb24gd2hlbiBpdCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDE4OjA4OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IGRvbid0IG1ha2UgcnN2Z292ZXJsYXkgcmVsb2FkIHRoZSBTVkcgZm9yIGV2ZXJ5IHNpbmdsZSBmcmFtZQoJICBPbmx5IHNldCBsb2NhdGlvbiBvbiByc3Znb3ZlcmxheSBpZiBpdCBoYXMgY2hhbmdlZC4KCjIwMTItMDMtMTUgMTc6NDc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBtb3ZlIGZhY2UgaGFuZGxpbmcgaW50byBvd24gZnVuY3Rpb24gYW5kIGhhbmRsZSAwIGZhY2UgY291bnQKCSAgV2hlbiBhIGZhY2UgZGlzYXBwZWFycywgd2Ugc2VlbSB0byBnZXQgYSBtZXNzYWdlIGZyb20gZmFjZWRldGVjdCB3aXRoCgkgIGEgZmFjZSBjb3VudCBvZiAwLCB3aGljaCB3ZSB3YW50IHRvIGp1c3QgaWdub3JlIGluc3RlYWQgb2YgdHJ5aW5nIHRvCgkgIGFjY2VzcyBmYWNlICMtMSwgd2hpY2ggY2F1c2VzIG5hc3R5IHdhcm5pbmdzLgoKMjAxMi0wMy0xNSAxNzo0Mjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGZpeCBwYWQgdGVtcGxhdGVzCgkgIFVzZSBnZW5lcmljIGFuZCB1bnNwZWNpZmlmZWQgcmdiL2NhcHMgZm9yIG5vdy4gVGhlIGV4YWN0IGNhcHMKCSAgc3VwcG9ydGVkIGRlcGVuZCBvbiB0aGUgZmFjZWRldGVjdCBlbGVtZW50IGFuZCByc3Znb3ZlcmxheS4gSXQncwoJICBub3QgY2xlYXIgaG93IHRoaXMgd29ya2VkIGJlZm9yZSwgc2luY2UgZmFjZWRldGVjdCBvbmx5IGFjY2VwdHMKCSAgMjQtYml0IFJHQiwgYnV0IHRoZSBjYXBzIGFkdmVydGlzZWQgMzItYml0IEFSR0IvQkdSQS4gSW4gYW55IGNhc2UsCgkgIHdlIGRvbid0IHdhbnQgdG8gZm9yY2UgYW55dGhpbmcgcmVhbGx5LCBzbyB0aGF0IGlmIGFueSBvZiB0aG9zZQoJICBlbGVtZW50cyBhY3F1aXJlcyBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIGZvcm1hdHMgd2UgcGljayB0aG9zZSB1cAoJICBhdXRvbWF0aWNhbGx5LgoKMjAxMi0wMy0xNSAxNzoyNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogZml4IGNyYXNoIGR1ZSB0byBkb3VibGUgYWRhcHRlciB1bnJlZgoKMjAxMi0wMy0xNSAxNjo1Mjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBmaXggd2VpcmQgcGFkIGNyZWF0aW9uIGNvZGUKCSAgVGhlIGVsZW1lbnQgd291bGQgY3JlYXRlIG5vcm1hbCBwYWRzIGluIGl0cyBpbnN0YW5jZV9pbml0IGZ1bmN0aW9uLAoJICBhbmQgdGhlbiBsYXRlciBpbiBOVUxMLT5SRUFEWSBjcmVhdGUgdGhlIGVsZW1lbnRzIGl0IG5lZWRzLCByZW1vdmUKCSAgdGhlIHBhZHMgY3JlYXRlZCBpbiB0aGUgaW5zdGFuY2VfaW5pdCBmdW5jdGlvbiwgYW5kIGFkZCBuZXcgZ2hvc3QKCSAgcGFkcyBpbnN0ZWFkLiBOb3Qgd2l0aG91dCBzYXZpbmcgdGhlIGV4dGVybmFsIHBlZXIgcGFkcyBvZiB0aGUgb2xkCgkgIHBhZHMgb2YgY291cnNlLCB3aGljaCBpdCB3b3VsZCBwcm9tcHRseSByZS1saW5rIHRvIHRoZSBuZXcgZ2hvc3QKCSAgcGFkcy4gRG8gYWxsIG9mIHRoYXQgYSBiaXQgZGlmZmVyZW50bHkuCgkgIEZpeGVzIHRoZSBnZW5lcmljL3N0YXRlcy5jaGVjayB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA1ODgKCjIwMTItMDMtMTUgMTU6NDc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBtaW5vciBjb3NtZXRpYyBjaGFuZ2VzCgkgIFJlbW92ZSB0ZW1wbGF0ZSBtYWtlciBjb21tZW50cywgdXNlIG91ciBkZWZpbmVzIGZvcgoJICBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbi4KCjIwMTItMDMtMTUgMTQ6MDg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgYXBpIGNoYW5nZQoKMjAxMi0wMy0xNSAxMzozNzozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNSAwMDoxMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHRlc3QgYmluYXJpZXMgYW5kIHN0YW1wIGZpbGVzCgoyMDEyLTAzLTE1IDAwOjA1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiBtYWtlIGJ1aWxkIHdpdGggb3BlbmN2IDIuMy4xIGFzIGluIGRlYmlhbiBzaWQKCSAgV2hlcmUgaGlnaGd1aS5oIGRvZXNuJ3QgZXhpc3QgYW55IG1vcmUsIGJ1dCBvbmx5IG9wZW5jdjIvaGlnaGd1aS9oaWdoZ3VpLmhwcC4KCSAgQWxzbywgbm90IHF1aXRlIHN1cmUgd2h5IHdlJ3JlIGNoZWNraW5nIGZvciBjdmF1eC5oLCBpdCdzIG5vdCB1c2VkIGFueXdoZXJlLgoKMjAxMi0wMy0xNCAxOTo1MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGFrZSBwYWRkaW5nIGludG8gYWNjb3VudAoKMjAxMi0wMy0xNCAxNzo0ODo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBhbHNvIGNsZWFyIGluaXRpYWxpemVkIG11dGV4IGFuZCBjb25kCgoyMDEyLTAzLTE0IDExOjIwOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGFkanVzdCB0byBzb21lIG1vZGlmaWVkIGNhcHMgcmVsYXRlZCBBUEkgY2hhbmdlcwoKMjAxMi0wMy0xNCAxMDoyNDowNSArMDEwMCAgRG1pdHJ5IEtldG92IDxka2V0b3ZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEludGVncmF0ZSBpbnRvIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgRml4ZXMgYnVnICM2NzIwMzEuCgoyMDEyLTAzLTEzIDIwOjUwOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogZml4IHdhcm5pbmdzIHdoZW4gZ3N0LWluc3BlY3RpbmcgaW50ZXJhdWRpb3tzcmMsc2lua30KCSAgVGhlIGNoYW5uZWwgcHJvcGVydHkgaXNuJ3QgaW1wbGVtZW50ZWQsIHNvIGRvbid0IHJlZ2lzdGVyIGl0LgoKMjAxMi0wMy0wOCAwMTo0ODo1NiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IEZpeCB3YXJuaW5ncywgcHJvcGVyIHN0cnVjdHVyaW5nLCBkZWFkIGNvZGUgcmVtb3ZhbCwgYWRkaW5nIGRvYyBzZWN0aW9uLgoKMjAxMi0wMy0xMyAxMzowMjo1NCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IG1vdmUgc3BjIHBsdWdpbiB0byBOT05fUE9SVEVEIGxpc3QoRml4IGJ1aWxkIGVycm9yKQoKMjAxMi0wMy0xMyAwOTo1NDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgdXNlIGdzdF9jYXBzX21lcmdlIGluc3RlYWQgb2YgZ3N0X2NhcHNfdW5pb24KCjIwMTItMDMtMTIgMTU6NDI6MDQgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHN1cmUgZ3QtPm1hcCBub3QgZnJlZWQgdHdpY2UKCSAgY3VycmVudCBjaGVlc2UgY2FuIGNyZWF0ZSBzaXR1YXRpb24gd2hlcmUgZ3QtPm1hcCBpcyBmcmVlZCB0d2ljZS4KCSAgVGhpcyBwYXRjaCBzZXQgbWFwIHRvIG51bGwgdG8gYXZvaWQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTAKCjIwMTItMDMtMTIgMTc6MDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlCgoyMDEyLTAzLTEyIDE2OjUxOjE5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIDIuMzEuMTQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMQoKMjAxMi0wMi0yOCAxNjo0MDozMSArMDEwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGFkZCBmbG9hdGluZyBwb2ludCBzZWdtZW50IGR1cmF0aW9uIHN1cHBvcnQKCjIwMTItMDMtMTIgMTI6MjM6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBjYXBzIF9ub3JtYWxpemUgY2hhbmdlcwoKMjAxMi0wMy0xMiAxMTo0MDoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiBmaXggZm9yIGNhcHMgQVBJIGNoYW5nZQoKMjAxMi0wMy0xMiAxMDo0NDoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIF9kb19zaW1wbGlmeSBjaGFuZ2VzCgoyMDEyLTAzLTExIDE5OjA2OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEwIDIwOjUzOjU0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBGaXggYW4gdW53YW50ZWQgZG91YmxlIG5lZ2F0aW9uIGZyb20gbGFzdCBjb21taXQKCjIwMTItMDMtMTAgMTk6MTA6NTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICBGaXggJ2lnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiBmdW5jdGlvbiBkZWNsYXJlZCB3aXRoIGNvbnN0IGF0dHJpYnV0ZScKCSAgVGhpcyBhbHdheXMgaGFwcGVucyB3aXRoIEdzdEJ5dGVSZWFkZXIvV3JpdGVyIGFuZCBmcmllbmRzIHdoZW4KCSAgbm90IHRha2luZyBpbnRvIGFjY291bnQgcmV0dXJuZWQgYm9vbGVhbiBvZiB0aGUgX3JlYWQvX3dyaXRlIGZ1bmN0aW9ucwoJICAod2hpY2ggaXMgYWN0dWFsbHkgd3JvbmcpLgoJICBNYWtlIHVzZSBvZiB0aGUgKl91bmNoZWNrZWQgdmFyaWFudCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBvciB0YWtlIHRoZQoJICByZXR1cm5lZCB2YWx1ZSBpbnRvIGFjY291bnQuCgoyMDEyLTAzLTEwIDExOjM2OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogYXZvaWQgcnVuYXdheSBsb29wIHdoZW4gcmVzeW5jaW5nIGR1cmluZyBwYXJzZQoJICAuLi4gYnkgY2hlY2tpbmcgZm9yIHRoZSBjb3JyZWN0IChkZWNyZW1lbnRlZCkgc2l6ZSB2YXJpYWJsZS4KCSAgRml4ZXMgIzY3MTc1Ni4KCjIwMTItMDMtMDkgMTc6MTY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IEFDX0xBTkdfU09VUkNFLXJlbGF0ZWQgd2FybmluZ3Mgd2hlbiBkb2luZyBhdXRvZ2VuLnNoCgoyMDEyLTAzLTAxIDE0OjU5OjU1IC0wMzAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIEZpeGluZyBydHB2cDggY29tcGF0aWJpbGl0eSB3aXRoIHRoZSB0aGlyZCBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMDczCgoyMDEyLTAzLTA4IDExOjMyOjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIGNhcHMKCjIwMTItMDMtMDcgMTc6MTQ6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBwb3J0IHRvIHVwZGF0ZWQgMC4xMQoKMjAxMi0wMy0wNyAxMDoxODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMDcgMTI6NTk6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBvbmx5IHJlcXVlc3QgYW5kIHByb2Nlc3MgMSBmcmFtZSBhdCBhIHRpbWUKCSAgLi4uIHNpbmNlIGl0IGlzIHNwZWNpZmllZCBpbiBfZmluaXNoX2ZyYW1lIHRoYXQgaW5wdXQgYnVmZmVyIG1heSBiZSBpbnZhbGlkYXRlZAoJICBhZnRlciBjYWxsaW5nIGl0LCBhbmQgaXMgYXMgc3VjaCBub3QgcmVsaWFibHkgYXZhaWxhYmxlIGZvciBmdXJ0aGVyIGVuY29kaW5nLgoJICBBbHNvLCByZXF1ZXN0aW5nIG9yIGFsbG93aW5nIHNldmVyYWwgZnJhbWVzIGlzIG9ubHkgdXNlZnVsIGlmIHN1YmNsYXNzIGludGVuZHMKCSAgdG8gcHJvY2VzcyB0aGVzZSAiaW4gMSBydW4iIChhcyBpbiwgMSBvdXRwdXQgYnVmZmVyKSwgbm90IGZvciBoYXZpbmcgYW5vdGhlcgoJICAoaW5uZXIpIGxvb3AgaW4gc3ViY2xhc3Mgd2hlcmUgdGhlIGJhc2VjbGFzcyBvbmUgd2lsbCBkbyBqdXN0IGZpbmUuCgoyMDEyLTAzLTA3IDEyOjU1OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogY29uZmlndXJlIGJhc2VjbGFzcyByZXF1ZXN0ZWQgc2FtcGxlcyByZWFsbHkgaW4gc2FtcGxlcwoJICAuLi4gYXMgb3Bwb3NlZCB0byBieXRlcy4KCjIwMTItMDMtMDYgMTg6NDk6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICB2aWRlbzogVXBkYXRlL2FkZCBkb2NzCgoyMDEyLTAzLTA2IDE4OjExOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICBBZGQgbWlzc2luZyBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgU3VwcHJlc3Mgd2FybmluZ3MgYWJvdXQgZGVwcmVjYXRlZCB0aHJlYWRpbmcgYW5kIEdWYWx1ZUFycmF5CgkgIEFQSSwgc28gZ2l0IGNvbXBpbGVzIHdpdGggLVdlcnJvci4KCjIwMTItMDMtMDYgMTg6MzM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBzaXJlbmRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDMtMDYgMTg6MzM6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMy0wNiAxNjoxMTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IHVzZSBiYXNlIGNsYXNzIHRhZyBoYW5kbGluZyBoZWxwZXIKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSB0aGVzZSB0byBiZSBoYW5kbGVkIGFuZCBzZW50IGF0IHByb3BlciB0aW1lLgoKMjAxMi0wMy0wNiAxNjoxMTozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IHVzZSBiYXNlIGNsYXNzIHRhZyBoYW5kbGluZyBoZWxwZXIKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSB0aGVzZSB0byBiZSBoYW5kbGVkIGFuZCBzZW50IGF0IHByb3BlciB0aW1lLgoKMjAxMi0wMy0wNiAxODozMjowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IGF2b2lkIGluZGVmaW5pdGUgbG9vcGluZyB1cG9uIGVycm9yCgkgIC4uLiBhbmQgZml4ICd1bmluaXRpYWxpemVkJyBjb21waWxhdGlvbiB3YXJuaW5nIGFzIHdlbGwuCgoyMDEyLTAzLTA2IDE1OjIxOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjU3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJICBnc2V0dGluZ3M6IEZpeCAnaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5JyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjU2OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBGaXggJ2ltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdEaXJlY3RSZXN1bHQnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdERkJSZXN1bHQnJyBjb21waWxlciB3YXJuaW5nCgkgIFdlJ3JlIG5vdCBjaGVja2luZyB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoYXQgZnVuY3Rpb24gYW55d2F5LgoKMjAxMi0wMy0wNiAxNDo1MTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsOiBGaXggJ2VxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmVudGhlc2VzJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjUxOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBVc2UgY29ycmVjdCBlbnVtIHR5cGUgZm9yIHJldHVybiB2YWx1ZQoKMjAxMi0wMy0wNiAxNDo1MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBGaXggbG9vcCB0byBub3QgcmVhZCBiZWZvcmUgdGhlIHZhbGlkIG1lbW9yeSBhcmVhCgoyMDEyLTAzLTA2IDE0OjQ3OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQ0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZpeCAndmFyaWFibGUgJ3BpZCcgaXMgdW5pbml0aWFsaXplZCB3aGVuIHVzZWQgaGVyZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0MzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCAnZXhwcmVzc2lvbiByZXN1bHQgdW51c2VkJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDozODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDUgMTI6NDY6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogSGFuZGxlIHJvbGxvdmVyIGluIG9mZnNldCBjYWxjdWxhdGlvbnMKCjIwMTItMDMtMDUgMTI6NDM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgeC1yYXctYmF5ZXIgLT4geC1iYXllcgoKMjAxMi0wMy0wNSAxMjowMzoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHVzZSBuZXcgc3R5bGUgY2FwcwoKMjAxMi0wMy0wNSAxMToyNzo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBwcmludGYgZml4CgoyMDEyLTAzLTA1IDEwOjE0OjQ2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJICB0c2RlbXV4OiBVcGRhdGUgVE9ETwoKMjAxMi0wMy0wNSAwOTo0NjoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0czogU3dpdGNoIHJhbmsgb2YgbXBlZ3RzZGVtdXggYW5kIHRzZGVtdXgKCSAgTW9yZSBlZmZvcnQgaGFzIGJlZW4gcHV0IGxhdGVseSBpbiB0c2RlbXV4IGFuZCB3b3JrcyBpbiBtb3JlIHVzZSBjYXNlcwoKMjAxMi0wMy0wNSAwOTozODo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQdXNoIHBhY2tldHMgYXMgZWFybHkgYXMgcG9zc2libGUKCSAgV2hlbiB0aGUgUEVTIGhlYWRlciB0ZWxscyB1cyBob3cgYmlnIHRoZSBvdXRnb2luZyBwYWNrZXQgaXMsIHB1c2ggdGhlCgkgIHBhY2tldCBkb3duc3RyZWFtIGFzIHNvb24gYXMgd2UgaGF2ZSB0aGUgc3BlY2lmaWVkIHNpemUgaW5zdGVhZCBvZiB3YWl0aW5nCgkgIGZvciB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IHBhY2tldC4KCSAgUmVkdWNlcyBsYXRlbmN5IGFuZCByZW1vdmVzIGlzc3VlcyB3aXRoIHZlcnkgc3BhcnNlIHN0cmVhbXMgKGxpa2Ugc3VidGl0bGVzCgkgIGFuZCBzdWJwaWN0dXJlcykuCgoyMDEyLTAzLTA0IDIxOjU0OjA4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogYWRkIG1pbmltYWwgZG9jIGJsb2JzCgoyMDEyLTAyLTI4IDIxOjAwOjI0ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRml4IGluIHNoZWxsX3N1cmZhY2Vfc2V0X2Z1bGxzY3JlZW4KCjIwMTItMDItMTYgMjI6Mjc6MjMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBNb3JlIGZpeGVzIC0tIHVwZGF0ZSB0byBXYXlsYW5kIDAuODUgcHJvdG9jb2wgLS0gQWRkZWQgc2hlbGwgc3VyZmFjZSAtLSBBZGRlZCBmb3JtYXQgcXVlcnkgZm9yIHNobSBmb3JtYXQgLS0gQ3JlYXRlIHRoZSB3aW5kb3cgYmFzZWQgb24gd2lkdGggYW5kIGhlaWdodCBvZiB2aWRlbyBleHRyYWN0ZWQgZnJvbSB1cHN0cmVhbSBjYXBzLgoKMjAxMS0xMS0wMiAxNjoyMzowMiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgVXBkYXRlIHdpdGggbmV3IEFQSXMgaW4gd2F5bGFuZC1jbGllbnQuCgoyMDExLTExLTAyIDEzOjUxOjEzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBNb3JlIEZpeGVzOiAqIEFkZGluZyBidWZmZXJfYWxsb2MgKiBwZXJmb3JtIGJ1ZmZlcl9kYW1hZ2UgYmVmb3JlIHN1cmZhY2VfYXR0YWNoICogRml4IHR5cG8sIFJlbW92ZSBEZWFkIGNvZGUgZXRjLgoKMjAxMS0xMS0wMiAxMTowMjoxMSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBJbml0aWFsIENvbW1pdDogQWRkaW5nIFdheWxhbmQgVmlkZW8gU2luawoKMjAxMS0xMi0xMyAyMzo0Mzo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogc2VuZCBkdXJhdGlvbiBtZXNzYWdlIG9uIGR1cmF0aW9uIHVwZGF0ZXMKCSAgV2hlbiB3ZSBrbm93IGEgbmV3IGR1cmF0aW9uLCByZXBvcnQgaXQuIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDExLTEyLTEzIDEwOjI2OjUwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBwbGFubmluZyArIGV4YW1wbGUgdXBkYXRlCgoyMDEyLTAzLTAzIDE5OjAzOjExICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRkZWMKCjIwMTItMDMtMDMgMTg6NTc6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIHNpZ25hdHVyZSBvZiBDTVNhbXBsZUJ1ZmZlckNyZWF0ZSBhbmQgQ01CbG9ja0J1ZmZlckNyZWF0ZVdpdGhNZW1vcnlCbG9jawoJICBDaGFuZ2UgZGF0YSB0eXBlIGZvciBjb3VudGVycyBwYXNzZWQgb24gdGhlIHN0YWNrIGZyb20gVUludDMyIHRvIHNpemVfdC4gRml4ZXMKCSAgNjRiaXQgYnVpbGRzLgoKMjAxMi0wMy0wMiAwODoxMzoxMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZm9ybWF0IGRlc2NyaXB0aW9uIGhlbHBlciBzaWduYXR1cmUKCSAgVXBkYXRlIHRoZSBGaWdWaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlV2l0aFNhbXBsZURlc2NyaXB0aW9uRXh0ZW5zaW9uQXRvbQoJICBzaWduYXR1cmUgdG8gbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9uIG9uIE9TWCBMaW9uLgoKMjAxMi0wMy0wMiAyMTo0MTozOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhbmQgYnVpbGQgZmFpbHVyZSB3aXRoIG1pbmd3CgkgIHNoYXJlZC5kM2RkZXYgd2FzIHJlbW92ZWQgYSB3aGlsZSBiYWNrLCBub3Qgc3VyZSBob3cgdGhpcyBzdGlsbAoJICBjb21waWxlcyBmb3IgYW55b25lICh0cG0pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzE4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAxNDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkwNQoKMjAxMi0wMy0wMyAxNTo1NzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIEFTX0xJQlRPT0wgYW5kIGJ1bXAgdmVyc2lvbiBmb3IgQUJJIGNoYW5nZSBpbiBoLjI2NCBjb2RlYyBwYXJzZXIKCSAgQmFja3BvcnRlZCBmcm9tIHRoZSAwLjEwIHJlbGVhc2UgYnJhbmNoLCB3aGVyZSB2LjIzIHdhcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjAzCgoyMDEyLTAzLTAyIDExOjQ1OjQxICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIG51bWJlciBvZiBlbXVsYXRpb24gcHJldmVudGlvbiBieXRlcyBpbiBzbGljZV9oZWFkZXIoKS4KCSAgU29tZSBoYXJkd2FyZSB2aWRlbyBkZWNvZGUgYWNjZWxlcmF0aW9uIEFQSSAoVkEtQVBJLCBEWFZBKSByZXF1aXJlCgkgIGEgYml0IGNvdW50IHRvIHRoZSBmaXJzdCBtYWNyb2Jsb2NrLCBtaW51cyB0aGUgbnVtYmVyIG9mIGVtdWxhdGlvbgoJICBwcmV2ZW50aW9uIGJ5dGVzLiBTbywgaW5zdGVhZCBvZiBoYXZpbmcgdGhlIGNvbnN1bWVyIG9mIHRoZSBsaWJyYXJ5CgkgIHNjYW4gdGhlIHNsaWNlX2hlYWRlcigpIGFnYWluLCBqdXN0IHJlY29yZCB0aGF0IG51bWJlciB3aGlsZSBwYXJzaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMDMKCjIwMTItMDMtMDMgMTU6NDc6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgdHNkZW11eDogZml4IGNvbmZ1c2luZyB2YXJpYWJsZSBuYW1lCgoyMDEyLTAzLTAyIDE3OjExOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZWdtZW50IHN0YXJ0IHBvc2l0aW9uCgkgIElmIHdlICpyZWFsbHkqIGNhbid0IGZpZ3VyZSBvdXQgdGhlIGZpcnN0IHN0YXJ0IHBvc2l0aW9uLCB0aGF0IG1vc3QKCSAgbGlrZWx5IG1lYW5zIHRoZSBkYXRhIHRvIHB1c2ggb3V0IGRvZXNuJ3QgaGF2ZSBhbnkgdGltZXN0YW1wLgoJICBVc2UgYSBkZWZhdWx0IHZhbHVlIG9mIDAgdGhlbgoKMjAxMi0wMy0wMiAxNzoxMDoyOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGbHVzaCBvdXQgdGhlIHBhY2tldGl6ZXIgb24gZmx1c2hpbmcgc2Vla3MKCSAgLi4uIGVsc2Ugd2UgZW5kIHVwIHdpdGggYm9ndXMgZGF0YS9vZmZzZXRzCgoyMDEyLTAyLTI5IDExOjE0OjE1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBY3RpdmF0ZSBwYWRzIG9ubHkgd2hlbiByZWNlaXZpbmcgZGF0YSBmb3IgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTIxCgoyMDEyLTAzLTAyIDE1OjM3OjU3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBhZGQgbWlzc2luZyBkaXJlY3R4IGhlYWRlcnMKCjIwMTItMDMtMDIgMTE6MDc6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGxldmVsIGNvZGUKCSAgVmFsaWQgcmFuZ2VzICAgICAgICAgICAgYXJlIGZyb20gNCB0byAxMAoJICBWYWxpZCByYW5nZXMgPj4gMSAgICAgICBhcmUgZnJvbSAyIHRvIDUKCSAgVmFsaWQgcmFuZ2VzID4+IDEgLSAyICAgYXJlIGZyb20gMCB0byAzCgkgIChhbmQgbm90IGZyb20gMSB0byA0KQoKMjAxMi0wMy0wMiAxMDo1NDo0OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDaGVjayBoYXJkZXIgZm9yIHByb2dyYW0gY2hhbmdlcwoJICBBbmQgZG9uJ3QganVzdCByZWx5IG9uIHRoZSBzZWN0aW9uIGNyYy92ZXJzaW9uX251bWJlciBjaGFuZ2luZyB0bwoJICBpbmRpY2F0ZSB0aGF0IHRoZSBwcm9ncmFtIGFjdHVhbGx5IGNoYW5nZWQuCgoyMDEyLTAzLTAxIDE4OjQ2OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSAgdmRwYXU6IHJlbGljZW5zZSBmb3VyIHNvdXJjZSBmaWxlcyBmcm9tIEdQTDMrIHRvIExHUEwyKwoJICBUaGVzZSBzb3VyY2UgZmlsZXMgd2VyZSBtaXN0YWtlbmx5IGxpY2Vuc2VkIGFzIEdQTDMsIHRoZQoJICBhdXRob3IgKENhcmwtQW50b24gSW5nbWFyc3NvbikgaGFzIGdpdmVuIHBlcm1pc3Npb24gdG8KCSAgcmVsaWNlbnNlIHRoZW0gdG8gTEdQTDIrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTQyCgoyMDEyLTAzLTAxIDE4OjA1OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IFJlZmFjdG9yIHNlZWsgYW5kIHNlZ21lbnQgaGFuZGxpbmcKCSAgQWxsIGNhbGN1bGF0aW9ucyBnbyB0aHJvdWdoIHRoZSBtcGVndHNwYWNrZXRpemVyCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzL2NvZGUKCjIwMTItMDMtMDEgMTc6NTk6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRXJyb3Igb3V0IG9uIEVPUyB3aXRob3V0IGFueSBwYWQKCSAgQXZvaWRzIGVuZGluZyB1cCB3aXRoIGhhbmdpbmcgcGlwZWxpbmVzCgoyMDEyLTAzLTAxIDE3OjU2OjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE9mZnNldCBjYWxjdWxhdGlvbgoJICBBbGxvd3MgUENSPD0+UFRTPD0+b2Zmc2V0IGVzdGltYXRpb24vY2FsY3VsYXRpb24KCSAgUmlnaHQgbm93IHRoZSBjYWxjdWxhdGlvbiBpcyB2ZXJ5IG5haXZlLCBidXQgY2FuIGJlIGV4dGVuZGVkIGxhdGVyIG9uCgkgIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgY29kZSBpbiB0c2RlbXV4L21wZWd0c2Jhc2UKCjIwMTItMDMtMDEgMTc6NTM6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogY2xvY2sgZml4IGFuZCBtaW5vciBhZGRpdGlvbgoJICAqIERvbid0IHRha2UgaW50byBhY2NvdW50IHBhY2tldHMgdGhhdCBhcnJpdmVkIGF0IHRoZSBzYW1lIHRpbWUgYXMKCSAgcHJldmlvdXMgb25lcyBmb3IgY2xvY2sgc2tldyBlc3RpbWF0aW9uCgkgICogQWRkIGNvbnZlbmllbmNlIG1ldGhvZCBmb3IgcHJvY2Vzc2luZyB0aGUgbmV4dCB0cyBwYWNrZXQKCjIwMTItMDItMjkgMTg6MTk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndHNkZW11eDogTm90IGFwcGx5IHZhcmlvdXMgdGltZSB0aGUgc2FtZSBQTVQgdG8gYSBwcm9ncmFtIHdoZW4gcmVwZXRlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGNiMGU4N2Y1NjIzODM2ZGRjMzYxZWI5MWRjZjliNTBiNDgwNDhlNy4KCSAgbXBlZ3RzcGFja2V0aXplciBhbHJlYWR5IGNoZWNrcyBpZiBpdCdzIGEgbmV3IFBNVCBvciBub3QKCjIwMTItMDItMjkgMTA6MzM6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFJlbW92ZSBhbGwgc2Vla2luZyBjb2RlCgkgIEl0IHdhcyBtb3JlIHRoYW4gYm9ndXMKCjIwMTItMDItMjkgMTc6MjY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZXMKCjIwMTItMDItMTQgMTE6NTc6MDAgKzAxMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBzZXQgdGhlIGZldGNoZXIncyBsb2NhdGlvbiB0d2ljZQoJICBDYWxsaW5nIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkgYWxyZWFkeSBkb2VzIGl0IGFuZCBmaWxlc3JjCgkgIGZhaWxzIHdoZW4gdXNpbmcgZmlsZSBwcm90b2NvbCBpbiBhIGxvY2F0aW9uCgoyMDEyLTAyLTI4IDE2OjI3OjU1ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBBZGQgbWlzc2luZyBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgU3VwcHJlc3Mgd2FybmluZ3MgYWJvdXQgZGVwcmVjYXRlZCB0aHJlYWRpbmcgYW5kIEdWYWx1ZUFycmF5CgkgIEFQSSwgc28gZ2l0IGNvbXBpbGVzIHdpdGggLVdlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDk4MgoKMjAxMi0wMi0yNCAwOTo1NDozNSArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGZhaWwgZm9yIHBsYXlsaXN0cyBzbWFsbGVyIHRoYW4gZnJhZ21lbnRzLWNhY2hlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5NjMKCjIwMTItMDItMjggMTE6Mzk6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSB0YWdzCgoyMDEyLTAyLTI4IDA4OjEzOjA0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBwb3J0IHF0a2l0dmlkZW9zcmMKCjIwMTItMDItMjcgMDk6NDU6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGNhdGNoIHNlY3Rpb24gbGVuZ3RocyBleHRlbmRpbmcgcGFzdCB0aGUgYnVmZmVyIGxlbmd0aAoJICBUaGlzIGlzIHByb2JhYmx5IHRoZSBjYXVzZSBmb3IgYW4gb2NjYXNpb25hbCBjcmFzaCB3aGlsZSBzdHJlYW1pbmcKCSAgTVBFRy4gQmxpbmQgZml4IGFmdGVyIHN0YXJpbmcgYXQgdGhlIGNvZGUgYW5kIGZvbGxvd2luZyBsb2dpYywgc28KCSAgbWF5IG9yIG1heSBub3QgZml4IHRoZSBpc3N1ZSwgSSBjYW5ub3QgdGVzdC4KCSAgKFBvcnQgb2YgNDI3NWE3MGNiNTVkMzc1YWZhNzAyOTE3ZjczNTllYzExN2VkNDlkNCBmcm9tIG1wZWdkZW11eCkKCjIwMTItMDItMjcgMDk6NDI6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IHN1cHBvcnQgbW9yZSBjaGFyYWN0ZXIgc2V0IGVuY29kaW5ncwoJICBTdXBwb3J0IFVURi0xNkJFLCBFVUMtS1IgKEtTWDEwMDEpLCBHQjIzMTIgYW5kIElTTy0xMDY0Ni9VVEY4IHRleHQKCSAgZW5jb2RpbmcgYW5kIGZpeGVkIG5ldyBsaW5lIGZvciBtdWx0aWJ5dGUgZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI1NwoJICAoUG9ydCBvZiA5NzU5ZDY2NDA3ZjJiZThlYzI5OTc1YjBlZmYzMjMwYmIxZGFlMGVmIGZyb20gdGhlIG1wZWd0c2RlbXV4CgkgIGVsZW1lbnQpCgoyMDEyLTAyLTI3IDEzOjEzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IGNoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI2IDIwOjQzOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IGxpbmsgdG8gbGliZ3N0YmFzZQoKMjAxMi0wMi0yNCAxOTowODo0MCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiBGaXggcGFyc2luZyBvZiBQU0kgdGFibGUgSURzCgkgIChQb3J0ZWQgZnJvbSBtcGVndHNkZW11eCBkOGZkODc0ZjUyOTBlNDkxMTQzNzEyMDA1N2VlODg1Y2RiNjhiNGFmKQoKMjAxMi0wMi0yNCAxNToyNjoyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQXZvaWQgdW5saW5rZWx5IGxlYWtzIGFuZCBzZWdmYXVsdAoKMjAxMi0wMi0yNCAxNzo1Mzo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgbmV3IGNsb2NrIHNrZXcgZXN0aW1hdGlvbiBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcwoJICBPbmx5IHVzZWQgaW4gbGl2ZSBtb2RlCgoyMDEyLTAyLTI0IDE3OjUyOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFZhcmlvdXMgY29kZSBjbGVhbnVwIGFuZCBkZWFkIGNvZGUgcmVtb3ZhbAoKMjAxMi0wMi0yNCAxNzo0NzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggaXNzdWVzIHdpdGggc2tldyBjb2RlCgkgICogQWx3YXlzIHRyeSB0byBnZXQgYSB0aW1lc3RhbXAgZm9yIHRoZSBhbGdvcml0aG0KCSAgKiBSZW1vdmUgZGVhZCB2YXJpYWJsZQoJICAqIFJldHVybiBwcm9wZXIgZGVmYXVsdCB2YWx1ZQoKMjAxMi0wMi0yNCAxNzowNzo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFRpbWVzdGFtcCBvdXRwdXQgYnkgZGVmYXVsdAoJICBBbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSBkZW11eGVycyBvciBwYXJzZXJzKSB0byBkbyByZW1vdGUKCSAgY2xvY2sgcmF0ZS9za2V3IGVzdGltYXRpb24uCgoyMDEyLTAyLTI0IDEyOjUzOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGZpeCBkb2NzIGFuZCB1bml0IHRlc3QKCjIwMTItMDItMjMgMTQ6NDY6MDkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEVzdGltYXRlIGNsb2NrIHNrZXcgYW5kIHJldGltZXN0YW1wcyBidWZmZXJzIG1vcmUgcHJlY2lzbHkKCSAgQXBwbHkgdGhlIEVQVExBIGFsZ290aXRobSB0byBlc3RpbWF0ZSBjbG9jayBza2V3LgoJICBSZXVzaW5nIGNvZGUgZnJvbSAgLWdvb2QvZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmMKCjIwMTItMDItMjEgMTE6MTI6NTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFuIHVwIEFBQyBjYXBzIG1lc3MKCjIwMTItMDItMjAgMTc6NDc6MTEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICB0c2RlbXV4OiBSZWluZGVudCBnc3RtcGVnZGVzYy5oCgoyMDEyLTAyLTIwIDE3OjMyOjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU3VwcG9ydCBtb3JlIERUUy9BQzMgZGVzY3JpcHRvcnMKCjIwMTItMDItMjMgMTg6MTc6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVzZWxlc3MgZmluYWxpemUoKQoKMjAxMi0wMi0yNCAxMDoyNjo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIGNoYW5nZXMKCjIwMTItMDItMjQgMTA6MjE6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogZml4IHNvbWUgY2FwcwoKMjAxMi0wMi0yMyAyMjowNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeHVwIG5hc3R5IHR5cG8gYnJlYWtpbmcgY29tcGlsYXRpb24KCjIwMTItMDItMjMgMjE6MTc6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb25zaWRlciBuYWxfbGVuZ3RoX3NpemUgd2hlbiBjb25zdHJ1Y3RpbmcgY29kZWNfZGF0YQoJICBGaXhlcyAjNjcwNjk5LgoKMjAxMi0wMi0yMyAyMToxNjoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRpc2NhcmQgZnJhbWUgdXBvbiBkZWNvZGluZyBlcnJvcgoKMjAxMS0xMS0wOCAyMDoxOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBVc2UgaW5jb21pbmcgdGltZXN0YW1wcyBpbiBsaXZlIG1vZGUKCjIwMTEtMTEtMDggMjA6MTI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVwb3J0IGxhdGVuY3kgKDcwMG1zKQoKMjAxMS0xMS0wOCAwOTo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBRdWVyeSB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUgb3Igbm90CgoyMDEyLTAyLTIzIDExOjU1OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJ1bXAgdmVyc2lvbiBhZnRlciByZWxlYXNlCgoyMDEyLTAyLTIyIDE1OjQxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgdGVzdDogcG9ydCBzY2hyb2VuYyB1bml0IHRlc3QKCjIwMTItMDItMjIgMTE6NDQ6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogUG9ydCB0byAwLjExCgkgIFdvcmtzIHdpdGggc29tZSBzYW1wbGUgZmlsZXMuIFRoZXJlIHNlZW1zIHRvIGJlIHNvbWUgdGltZXN0YW1waW5nIGlzc3VlIHRob3VnaCwKCSAgYnV0IHRoZSAwLjEwIHZlcnNpb24gYWxzbyBjb21wbGFpbnMgYWJvdXQgdGhhdCB0b28uCgoyMDEyLTAyLTIxIDE4OjU2OjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGF2b2lkIHRvdWNoaW5nIC5wbyBmaWxlcyBkdXJpbmcgJ21ha2UnCgkgIEEgc2ltcGxlIHdvcmthcm91bmQgdG8gZGVhbCB3aXRoIEdOVSBnZXR0ZXh0IGF1dG9tYWtlIGludGVncmF0aW9uCgkgIGZhaWxpbmcgdG8gZGVhbCB3aXRoIGdpdC4gIEZpeGVzICM2NjkyMDcKCjIwMTItMDItMjIgMDI6MDY6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMjEgMTY6NTM6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIHZpZGVvOiBNb3JlIGRvY3VtZW50YXRpb24KCjIwMTItMDItMjEgMTY6NTI6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiBEb2N1bWVudCBzdHJ1Y3R1cmVzCgoyMDEyLTAyLTIxIDEwOjA2OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMi0wMi0yMCAyMDoxMToxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCB2MjEwIHdyaXRpbmcgb3V0IG9mIGJvdW5kcwoKMjAxMi0wMi0yMCAxODo0Mzo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgR1NUX0VSUk9SCgoyMDEyLTAyLTIwIDExOjQyOjIzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtcHJvamVjdC1tYWtlcjogQ3JlYXRlIHRvb2xzLCBwYXNzIG1ha2UgZGlzdGNoZWNrCgkgIENyZWF0ZSBhIHRvb2xzIGRpcmVjdG9yeSBmb3IgYW4gYXBwbGljYXRpb24uICBBZGQgc291cmNlIGNvZGUKCSAgc3R1YnMgdG8gYWxsb3cgdGhlIHByb2plY3QgdG8gY29tcGlsZSBhbmQgcGFzcyBtYWtlIGRpc3RjaGVjay4KCSAgQWRkIG5vdGVzIGluIHNvdXJjZSBjb2RlIHRvIHRlbGwgdGhlIHVzZXIgaG93IHRvIGNyZWF0ZSBwbHVnaW4KCSAgb3IgYXBwIGNvZGUgdXNpbmcgdGhlIG90aGVyIC1tYWtlciBzY3JpcHRzLgoKMjAxMi0wMS0yNiAwNjo1ODo0NiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMi0yMCAxNjowNzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTItMDEtMjYgMTY6MzI6MTcgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHUgc2hvdWxkIGZvcndhcmQgdmlkZW8gY2FwcyBldmVudAoKMjAxMi0wMi0yMCAxNDozMjoxMiArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IGZpbGVzIHRvIHNwZWMKCjIwMTItMDItMjAgMTI6NDI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIGFuZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gZml4IHRoZSBidWlsZAoKMjAxMi0wMi0yMCAxMDo1ODowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIHRvIGRpc3QKCjIwMTItMDItMTkgMTU6NTQ6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1wcm9qZWN0LW1ha2VyOiBDcmVhdGUgYXV0b3Rvb2xzIHByb2plY3QKCSAgVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciBnc3QtdGVtcGxhdGUgdGhhdCBjcmVhdGVzIGFuIGVudGlyZQoJICBhdXRvdG9vbHMgcHJvamVjdCAoY3VzdG9taXplZCB0byBwYWNrYWdlIG5hbWUpLCBhbmQgcG9wdWxhdGVzCgkgIGl0IHdpdGggdGhlIHNvdXJjZSBmb3IgYSBHU3RyZWFtZXIgcGx1Z2luIChidXQgbm8gcGx1Z2luIGZlYXR1cmVzLAoJICB0aG9zZSBjb21lIGZyb20gZ3N0LWVsZW1lbnQtbWFrZXIpLiAgRml4ZXM6ICM2NjU3MjcuCgoyMDEyLTAyLTE5IDEyOjU3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEyLTAyLTE5IDAwOjE1OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogY2xhbXAgaW50ZXJtZWRpYXRlcyB3aGVuIGRpdGhlcmluZwoKMjAxMi0wMS0yMyAwOTowNToyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGluazogQWRkIDEwLWJpdCBzdXBwb3J0CgoyMDEyLTAxLTIzIDA5OjAyOjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSAgc2Nocm86IEFkZCBSR0Igc3VwcG9ydAoJICBUaGlzIHVzZXMgdGhlIGF1dG9tYXRpYyBZQ29DZyBjb252ZXJzaW9uIGluc2lkZSBTY2hyb2VkaW5nZXIgdG8KCSAgZW5jb2RlL2RlY29kZSBSR0IuICBPbmx5IHdvcmtzIGluIGludHJhLW9ubHkgbW9kZSwgc2ltaWxhciB0byAxMC0KCSAgYW5kIDE2LWJpdCwgc2luY2UgUkdCIGlzIHRlY2huaWNhbGx5IGEgPjgtYml0IGZvcm1hdCBmb3IgRGlyYWMKCSAgcHVycG9zZXMuICBUaGlzIGRlcGVuZHMgb24gc2Nocm9lZGluZ2VyLTEuMC4xMiwgd2hpY2ggaXMgdW5yZWxlYXNlZC4KCjIwMTItMDItMTggMDA6MDE6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGRldmVsb3BtZW50CgoyMDEyLTAyLTE3IDEyOjE1OjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogTm90IGFwcGx5IHZhcmlvdXMgdGltZSB0aGUgc2FtZSBQTVQgdG8gYSBwcm9ncmFtIHdoZW4gcmVwZXRlYWQKCSAgU29tZXRpbWVzIHRoZWlyIGFyZSBzZXZlcmFsIHRpbWVzIHRoZSBzYW1lIFBNVCBhcHBseWluZyB0byBhIHNhbWUgcHJvZ3JhbSBpbiBhIHN0cmVhbSwKCSAgdHNkZW11eCB3YXMgdG90YWxseSBiYWZmbGVkIHdoZW4gdGhpcyB3YXMgaGFwcGVuaW5nLCB3ZSBub3cga2VlcCB0aGUgb25lIHdlCgkgIGFscmVhZHkgYXBwbGllZCBzbyBpdCB3b3JrcyBwcm9wZXJseS4KCjIwMTItMDItMTYgMDk6NTQ6MjQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBnbGliIGRlcHJlY2F0aW9uCgoyMDEyLTAyLTE3IDExOjA2OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjEgPT09CgoyMDEyLTAyLTE3IDExOjA1OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSRUxFQVNFIDAuMTEuMQoKMjAxMi0wMi0xNyAwOTowMTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTYgMTY6MzA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHV0IHNvdXJjZSB0byBudWxsIHdoZW4gcmVzZXR0aW5nIGNhcHMKCSAgSXQgc2VlbXMgdGhhdCB2NGwyc3JjIGlzbid0IGhhcHB5IHdoZW4gc3dpdGNoaW5nIGZvcm1hdHMgb24gcmVhZHkKCSAgc3RhdGUsIGl0IHdvcmtzIHdoZW4gcHV0dGluZyBpdCB0byBOVUxMLiBLZWVwIHRoaXMgd29ya2Fyb3VuZCBpbgoJICB3cmFwcGVyY2FtZXJhYmluc3JjIHdoaWxlIHY0bDJzcmMgaXNuJ3QgZml4ZWQuCgkgIEZpeGVzICM4NDk4MzIKCjIwMTItMDItMTYgMTQ6MzM6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jCgoyMDEyLTAyLTE2IDAxOjEyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1dCBzb3VyY2UgaW4gTlVMTCB3aGVuIGl0IGZhaWxzIGNoYW5naW5nIHN0YXRlCgkgIFdoZW4gc291cmNlIGlzIGJlaW5nIHJlc2V0IHRvIGNoYW5nZSBjYXBzLCBjaGVjayB0aGUgcmV0dXJuIG9mCgkgIHRoZSBzdGF0ZSBzeW5jaW5nIGZ1bmN0aW9uIHRvIGF2b2lkIGxlYXZpbmcgdGhlIHNvdXJjZSBpbiBhbgoJICB1bmNvbnNpc3RlbnQgc3RhdGUuCgoyMDEyLTAyLTE2IDAwOjMwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgbXZlOiBkb24ndCByZXR1cm4gYSBib29sZWFuIGZvciBhIEdzdEZsb3dSZXR1cm4KCSAgZml4ZXMgcGxheWJhY2suCgoyMDEyLTAyLTE1IDEwOjMyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBdm9pZCB0aHJvd2luZyBGTE9XX0VSUk9SIG9uIGxhc3QgUENSIHByb2Nlc3NpbmcgZXJyb3IKCSAgSW4gdGhlIGNhc2Ugb2Ygc2Nhbm5pbmcgbGFzdCBwY3IsIGVycm9ycyBhcmUgbm90IGNyaXRpY2FsLCBzbyB3ZSBrZWVwCgkgIHRoZSBzdHJlYW0gZmxvd2luZy4KCjIwMTItMDItMTQgMTE6NDQ6NDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgQUFDIGxhdG0gc3VwcG9ydAoKMjAxMi0wMi0xNSAxMTowNjo1NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWlub3IgcmVmYWN0b3JpbmcvY29kZSBjbGVhbmluZwoJICAuLi4gYWRkIHNvbWUgZGVidWdnaW5nIHN5bWJvbHMgaW4gdGhlIG1lYW4gdGltZS4KCjIwMTItMDItMTUgMTY6Mzg6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZW1vdmUgX2NoYWluIGhhY2sKCSAgQXMgd2UgY2FuIG5vdyByZWx5IHVwb24gYmVpbmcgcGFzc2VkIHVwc3RyZWFtIGRlbGluZWF0ZWQgZGF0YSBpbgoJICA6OmhhbmRsZV9mcmFtZSgpLCB0aGUgbGF0dGVyIGNhbiBhbHNvIHBhcnNlIGF2YyBmb3JtYXR0ZWQgZGF0YQoJICB3aXRob3V0IGhhdmluZyB0byBpbnRlcmNlcHQgYmFzZXBhcnNlJ3MgY2hhaW4gZnVuY3Rpb24uCgkgIFdoaWxlIHRoaXMgZXZpZGVudGx5IHJlcXVpcmVzIDIgc2VwYXJhdGUgcGFyc2luZyBwYXRocywgZWFjaCBjYW4KCSAgYmUgc3RyZWFtbGluZWQgYWNjb3JkaW5nbHkuCgoyMDEyLTAyLTE1IDExOjU5OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGp1c3QgdG8gc3RhbmRhcmRpemVkIGJhc2VwYXJzZSBmcmFtZSBzdGF0ZSB0cmFja2luZwoKMjAxMi0wMi0xNSAxNzoxNDozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE1IDE1OjA3OjM1ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBTRUkgcGFyc2luZwoJICAuLi4gaW4gdGhlIHByZXNlbmNlIG9mIGVtdWxhdGlvbl9wcmV2ZW50aW9uX3RocmVlX2J5dGUuCgkgIEZpeGVzICM2NjgzODEuCgoyMDEyLTAyLTE1IDE0OjI5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIHByb3BlciBOQUxVIG9mZnNldCBmb3IgY29uZmlnIGRhdGEgaW5zZXJ0aW9uCgkgIC4uLiB3aGljaCBoYXMgdG8gYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBzdGFydCBjb2RlLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzCgkgIGJ1dCBuZWVkIG5vdCBiZSA0IGJ5dGVzLgoKMjAxMi0wMi0xNSAxMzozOToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAyLTE1IDEzOjAyOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBkb24ndCBsZWFrIGV2ZW50CgkgIFVucmVmIHRoZSBldmVudCB3aGVuIHdlIGRvbid0IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQKCjIwMTItMDItMTUgMTI6NTY6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGNoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgkgIENoYWluIHVwIHRvIHRoZSBwYXJlbnQgZXZlbnQgaGFuZGxlciB0byBnZXQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIGluc3RlYWQgb2YKCSAgcmV0dXJuaW5nIEZBTFNFLgoKMjAxMi0wMi0xNCAxMToxOTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjcgMjA6NTg6NDggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCB3YXJuaW5ncyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIGdzdGRpcmVjdGRyYXdzaW5rLmM6MTU2MToyNDogZXJyb3I6IGFzc2lnbm1lbnQgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlCgkgIGdzdGRpcmVjdGRyYXdzaW5rLmM6MjAyODozOiBlcnJvcjogZm9ybWF0ICclZCcgZXhwZWN0cyB0eXBlICdpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnc2l6ZV90JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NTIyCgoyMDEyLTAyLTEzIDE4OjQ0OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTE6MTY6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTI6MjY6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXh1cCBtZXJnZQoKMjAxMi0wMi0xMyAxNDoyMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogX3VubWFwIGJ1ZmZlciB1cG9uIGV4aXQKCjIwMTItMDItMTMgMjM6MDQ6MTIgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogVHJpdmlhbCBidWcgZml4LiBEb24ndCBjb3B5IGRhdGEgZnJvbSBhbiB1bmluaXRlZCBidWZmZXIuCgoyMDEyLTAyLTEyIDIyOjU5OjUyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay8uZ2l0aWdub3JlOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgbXVsdGlmZHNpbms6IHJlZmFjdG9yZWQgaW4gLWJhc2UKCjIwMTItMDItMTAgMTY6NTI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlcG9ydCBhZnRlciBtZXJnZQoKMjAxMi0wMi0xMCAxNjo0Njo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYwoJICBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW0KCSAgZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmMKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jCgkgIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYwoJICB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jCgoyMDEyLTAyLTEwIDE0OjQ2OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogdW5vYmZ1c2NhdGUgZnJhbWUgcGFyc2luZyBjb2RlCgoyMDEyLTAyLTA4IDIxOjIxOjQ3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBmaXggaW5kZWZpbml0ZSB3YWl0IGFmdGVyIGFkZGluZyBhIG5ldyBmZCB0byB0aGUgcG9sbCBzZXQKCSAgSWYgdGhlIHNlY29uZCBjYWxsIHRvIF93YWl0IGJsb2Nrcywgd2Ugd2lsbCBub3Qgc2lnbmFsIHRoZSBjb25kaXRpb24KCSAgdmFyaWFibGUsIHNvIGVuc3VyZSB0aGF0IHNlY29uZCBjYWxsIGlzIG5vdCBibG9ja2luZy4KCSAgU2VlIHJhdGlvbmFsZSBhbmQgaW5mb3JtYXRpb24gaW4gdGhlIGxpbmtlZCBidWc6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2OTcKCjIwMTItMDItMDkgMTg6MDg6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wOSAxNDo0MjoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHJlZmNvdW50IGVycm9yCgoyMDEyLTAyLTA5IDAwOjA5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogZG9uJ3QgdXNlIGdzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzKCkKCSAgSXQncyBhYm91dCB0byBiZSByZW1vdmVkLgoKMjAxMi0wMi0wOCAyMDowOTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBSZW1vdmUgbGVnYWN5aDI2NHBhcnNlIGVsZW1lbnQKCSAgT25lIGgyNjQgcGFyc2VyIG91Z2h0IHRvIGJlIGVub3VnaCBmb3IgYW55Ym9keS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAwMgoKMjAxMi0wMi0wOCAxNjozNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgR1NUX0ZMT1dfV1JPTkdfU1RBVEUgLT4gR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTItMDItMDcgMTc6MDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMDgtMjIgMTY6MzE6MzggKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBjcmVhdGUgYSBkM2QgZGV2aWNlIGZvciBlYWNoIHNpbmsgYW5kIHVzZSB0aGUgZGVmYXVsdCBzd2FwIGNoYWluIGluIGNvbm5lY3Rpb24gd2l0aCBmbHVzaGluZyB0aGUgR1BVIGFuZCBub3QgcmVjcmVhdGluZyB0aGUgc3dhcCBjaGFpbiB0aGlzIGF2b2lkcyB0ZWFyaW5nIGFsc28gdXNlIEdTVF94eF9ERUJVRyBtYWNyb3Mgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMTEtMDgtMjIgMTQ6NDY6NDggKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmbHVzaCBHUFUgYmVmb3JlIFByZXNlbnQgYWRkZWQgYWx0ZXJuYXRlIHdhaXQgZm9yIHZzeW5jIG1ldGhvZCBiYXNlZCBvbiBHZXRSYXN0ZXJTdGF0dXMKCjIwMTEtMDgtMjIgMTQ6MzA6NDMgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBjaGVjayBmb3IgaGFyZHdhcmUgY2FwYWJpbGl0aWVzLCB3aGVuIG5lZ290aWF0aW5nCgoyMDExLTA4LTIyIDE0OjE5OjA2ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVkcmF3IGxhc3QgYnVmZmVyIHdoZW4gbmV3IHdpbmRvdyBoYW5kbGUgaGFzIGJlZW4gc2V0LgoKMjAxMS0wOC0yMiAxNDoxMzozMCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGFkZGVkIE5WMTIgKyBlbmFibGVkIFJHQiBzdXBwb3J0CgoyMDExLTA4LTI3IDEzOjA3OjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggZGV2aWNlIGluaXRpYWxpemF0aW9uIGNoZWNrCgoyMDEyLTAyLTA3IDEyOjE0OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDcgMTI6MDI6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTItMDItMDcgMTI6MDI6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXM6IHBvcnQgdG8gMC4xMSBzb21lIG1vcmUKCjIwMTItMDItMDIgMTM6MzM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcHJldmVudCBjYXB0dXJlcyBmcm9tIGJlaW5nIGxvc3Qgd2hlbiBzd2l0Y2hpbmcgcmVzb2x1dGlvbnMKCSAgV2hlbiBzd2l0Y2hpbmcgY2FwdHVyZSBjYXBzLCBjYW1lcmFiaW4xIHJlc2V0cyBpdHMgc3RhdGUgdG8gcmVhZHkKCSAgdG8gZm9yY2UgYSBuZXcgY2FwcyB0byBiZSBuZWdvdGlhdGVkLiBUaGlzIGNhdXNlcyBvbmdvaW5nIGNhcHR1cmVzCgkgIHRvIGJlIGFib3J0ZWQuCgkgIFRoaXMgY29tbWl0IGFkZHMgYSBjb25kaXRpb24gdG8gd2FpdCBmb3IgY2FwdHVyZXMgdG8gZmluaXNoIGJlZm9yZQoJICBnb2luZyB0byByZWFkeSBzdGF0ZS4KCjIwMTItMDItMDIgMTI6MjI6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogSW1wcm92ZSBkZWJ1ZyBtZXNzYWdlIGFib3V0IHByb2Nlc3NpbmcgY291bnRlcgoJICBNZW50aW9uIG9uIHRoZSBsb2dzIGhvdyBtYW55IGNhcHR1cmUgb3BlcmF0aW9ucyBtaWdodCBoYXZlIGJlZW4KCSAgbG9zdAoKMjAxMi0wMi0wNCAyMjowNjo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IGFuZ2xlIGlzIGluIHJhZGlhbnMgYWxyZWFkeSwgZG8gbm90IHNjYWxlIGl0CgkgIE90aGVyIHBsdWdpbnMgdXNlIHJhZGlhbnMsIGFuZCB0aGUgYW5nbGUgZG9jdW1lbnRhdGlvbiBzYXlzIHJhZGlhbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNjUKCjIwMTItMDItMDQgMjI6MDY6MTIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBmaXggZGVzY3JpcHRpb24gc3RyaW5nIHRvIG1hdGNoIHdoYXQgdGhlIGVsZW1lbnQgZG9lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzY1CgoyMDEyLTAyLTAzIDExOjA4OjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvIG5vdCBlbWl0IG5vLW1vcmUtcGFkcwoJICBEb2luZyBzbyBtYXkgZml4IHNvbWUgdGhpbmdzLCBidXQgYnJlYWtzIG90aGVycyAobmV3IHN0cmVhbXMgYmVpbmcKCSAgYWRkZWQgaW4gdGhlIGZ1dHVyZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4MTQKCjIwMTItMDItMDMgMTE6MjY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNyZWFzZSBwYXNzdGhyb3VnaCBuZWdvdGlhdGlvbiBwcmVmZXJlbmNlCgkgIEFsc28gZW5zdXJlIHBhcnNpbmcgZml4ZWQgY2FwcyB3aGVuIG5lZ290aWF0aW5nIHJhdGhlciB0aGFuIGZhaWxpbmcgdG8KCSAgaGFuZGxlIG5vbi1maXhlZCBsaXN0IGNhc2VzLgoJICBTZWUgIzY2ODQ3MS4KCjIwMTItMDItMDMgMDA6NTA6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBidWlsZDogZml4IENGTEFHUyBvcmRlciBhbmQgTElCUyBvcmRlcgoJICBfQkFEX0NGTEFHUyBzaG91bGQgYWx3YXlzIGNvbWUgZmlyc3QsIHRoZW4gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MsCgkgIHRoZW4gR1NUX0JBU0VfQ0ZMQUdTIHRoZW4gR1NUX0NGTEFHUy4gU2FtZSBmb3IgbGliczogZmlyc3QgcGx1Z2lucwoJICBiYXNlIGxpYnMsIHRoZW4gR1NUX0JBU0VfTElCIHRoZW4gR1NUX0xJQlMuCgoyMDEyLTAyLTAyIDIzOjIxOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWd1dGlsczogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAyIDExOjQxOjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogaW5jbHVkZSBzcGVjaWZpYyBBQUMgc3RyZWFtLWZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgkgIFRoaXMgZWxlbWVudHMgc2VlbXMgdG8gc3VwcG9ydCByYXcgYW5kIGFkdHMgQUFDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjM3OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZCBleHBsaWNpdCBzdXBwb3J0ZWQgQUFDIHN0cmVhbS1mb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjMxOjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogaW5jbHVkZSBzcGVjaWZpYyBzdXBwb3J0IEFBQyBzdHJlYW0gZm9ybWF0cyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6Mjc6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBzcGVjaWZ5IGluIHRlbXBsYXRlIGNhcHMgd2Ugb25seSB0YWtlIHJhdy9hZHRzIEFBQyBmb3JtYXQKCSAgVGhpcyBhcHBlYXJzIHRvIGJlIHdoYXQgdGhpcyBlbGVtZW50IHN1cHBvcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjIwOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBpbmNsdWRlIHNwZWNpZmljIEFBQyBzdHJlYW0tZm9ybWF0IHR5cGVzIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMDo1OTo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogYmV0dGVyIGVycm9yL2RlYnVnIHJlcG9ydGluZwoJICBJbmNsdWRlIHRleHQgbWVzc2FnZXMgaW5zdGVhZCBvZiBlcnJvciBjb2Rlcy4KCjIwMTItMDItMDEgMTk6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBmaXggcGFyZW50IHN0cnVjdHVyZSBpbiBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMi0wMi0wMSAxNzo1Mzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGlnbm9yZSBHVmFsdWVBcnJheSBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgdW50aWwgdGhpcyBnZXRzIHNvcnRlZCBvdXQgd2l0aCB0aGUgR0xpYiBmb2xrcyBhbmQgd2UgaGF2ZSBhCgkgIHZpYWJsZSBhbHRlcm5hdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyOAoKMjAxMi0wMi0wMSAxNzo0Njo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMSAxNzowNjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGZpeCB1cCBmb3IgR3N0QXVkaW9EZWNvZGVyIEFQSSBjaGFuZ2UKCjIwMTItMDItMDEgMTY6Mjc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI2OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI2OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjI1OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0czogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjIzOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbTogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDEyOjQ3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogZGlzYWJsZSBvcHRpbWl6ZWQgcGFja2V0aXplZCBwcm9jZXNzaW5nIGZvciByZXZlcnNlIHBsYXliYWNrCgkgIC4uLiBhcyBiYXNlcGFyc2UgdGhlbiBwcm92aWRlcyB3aG9sZSBjaHVua3Mgb2YgZGF0YSAoYXMgaXQgc2hvdWxkKSBhdCBvbmNlCgkgIHRvIGJlIHBhcnNlZCwgYW5kIHNvIHRoZSBhc3N1bXB0aW9ucyB1c2VkIHRvIG9wdGltaXplIGFyZSBubyBsb25nZXIgdmFsaWQuCgkgIEZpeGVzICM2Njc1NjAuCgoyMDEyLTAyLTAxIDEyOjIzOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYWxzbyBtaW5kIFNFSSBwb3NpdGlvbiBmb3IgY29uZmlnIGRhdGEgaW5zZXJ0aW9uCgkgIEZpeGVzICM2Njg2MjcuCgoyMDEyLTAyLTAxIDEyOjAzOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogdW5icmVhayBvcHRpbWl6ZWQgcGFja2V0aXplZCBOQUxVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZwoJICAuLi4gaW4gdGhhdCBpdCB3YXMgc28gb3B0aW1pemVkIGl0IGRpZCBub3QgY29uc2lkZXIgZ3JvdXBpbmcgTkFMVSBpbnRvIEFVCgkgIGFsdG9nZXRoZXIuCgkgIEZpeGVzICM2Njg2MjcuCgoyMDExLTEyLTE0IDE5OjI3OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogdXNlIHRoZSBuZXcgcHJlbXVsdGlwbGllZCBzdXBwb3J0IGluIGdzdHZpZGVvCgoyMDEyLTAxLTMwIDE4OjQ2OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZml4IHdlZGdlIGluIHByZXJvbGwgd2hlbiBwbGF5YmluMiBkZWludGVybGFjaW5nIGlzIGVuYWJsZWQKCSAgV2hlbiBkZWludGVybGFjaW5nIGlzIGVuYWJsZWQsIGFuIGV4dHJhIGNvbG9yc3BhY2UgZWxlbWVudCBpcyBhZGRlZC4KCSAgQ29sb3JzcGFjZSBpcyBhIGJhc2V0cmFuc2Zvcm0sIGFuZCBpcyB0aGVuIHRoZSBvbmx5IGJhc2V0cmFuc2Zvcm0KCSAgZWxlbWVudCBvbiB0aGUgdmlkZW8gcGF0aC4gQSB3aGlsZSBhZ28sIGJhc2V0cmFuc2Zvcm0gc3RhcnRlZCBkZWxheWluZwoJICBldmVudHMgdGlsbCBjYXBzIHdlcmUgc2V0IG9uIGl0cyBzb3VyY2UgcGFkLiBUaGVzZSB0aGluZ3MgY29uc3BpcmVkCgkgIHRvIGVuZCB1cCBzZW5kaW5nIHRoZSBEVkQgaGlnaGxpZ2h0IGV2ZW50cyBvbnRvIGEgYmxvY2tlZCBwYWQgb24KCSAgc3VidGl0bGVvdmVybGF5LgoJICBFbnN1cmluZyB0aGVzZSBoaWdobGlnaHQgZXZlbnRzIGFyZSBvbmx5IHNlbnQgb25jZSB3ZSdyZSBpbiBwbGF5aW5nCgkgIG1vZGUgZml4ZXMgdGhlIGlzc3VlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NzYyCgoyMDEyLTAyLTAxIDAyOjEzOjQ4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogRml4IGNvbXBpbGF0aW9uIHdpdGggMS4wLjEwCgoyMDExLTEyLTI2IDIxOjU3OjQ4IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2Vyczogc2V0IGludGVybGFjZWQgZmllbGQgaW4gY2FwcyBmb3IgbXBlZzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIxOAoKMjAxMi0wMS0zMSAxMjoyOToxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbC1zb3VyY2UgdHlwZSBjaGFuZ2VzCgoyMDEyLTAxLTMxIDA4OjQ0OjA0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdXBkYXRlIGFmdGVyIGNvbGxlY3RwYWRzMiBjaGFuZ2VzCgoyMDEyLTAxLTMwIDIyOjQxOjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiByZW5hbWUgY29udHJvbC1iaW5kaW5ncwoJICBnc3RfY29udHJvbF9iaW5kaW5nX3h4eCAtPiBnc3RfeHh4X2NvbnRyb2xfYmluZGluZyBmb3IgY29uc2lzdGVuY3kuCgoyMDEyLTAxLTMwIDE3OjE3OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTItMDEtMjUgMTM6NTc6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwYXJzaW5nIG9mIFZVSSBwYXJhbWV0ZXJzLgoJICBtYXhfZGVjX2ZyYW1lX2J1ZmZlcmluZyB3YXMgbWlzLXBhcnNlZCBiZWNhdXNlIGxvZzJfbWF4X212X2xlbmd0aF92ZXJ0aWNhbAoJICB3YXMgcGFyc2VkIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NjYwCgoyMDEyLTAxLTI5IDE4OjAxOjA1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBub24tZm9yd2FyZGVkIGV2ZW50cwoJICBBbHNvLCBkb24ndCB1bnJlZiBmb3J3YXJkZWQgb25lcwoKMjAxMi0wMS0yOCAyMDowMTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IGluaXQgZGVidWcgY2F0ZWdvcnkKCjIwMTItMDEtMjggMjA6MDE6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBpbml0IGRlYnVnIGNhdGVnb3J5CgoyMDEyLTAxLTI4IDE2OjU3OjAzICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXN5bmMgaXRlcmF0b3Igb24gcmVzeW5jCgoyMDEyLTAxLTI4IDEyOjMyOjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogcmVtb3ZlICdmbHVzaCBldmVyeSBwYWNrZXQnIGhhY2sKCSAgVGhpcyBpcyBhIGJhZCBoYWNrIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBNYXRyb3NrYSwgYW5kIGlzIG5vdwoJICBvYnNvbGV0ZSBhcyBzaW1pbGFyIGNvZGUgaXMgbm90IGluY2x1ZGVkIGluIG9nZ211eC9vZ2dzdHJlYW0uCgoyMDEyLTAxLTI3IDEyOjA4OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZS1wdXNoIHN0aWNreSBldmVudHMgb24gaW5wdXQgcGFkIGNoYW5nZQoKMjAxMi0wMS0yNyAxMjowNzo0MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogVXNlIG5ldy1zdHlsZSBjYXBzCgoyMDEyLTAxLTI3IDE3OjAwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgbXBlZ2RlbXV4IHRvIHRoZSBsaXN0IG9mIHBvcnRlZCBwbHVnaW5zCgoyMDEyLTAxLTI3IDE2OjU2OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRG9uJ3QgbGVhayB0aGUgU0NIRURVTElORyBxdWVyeQoKMjAxMi0wMS0yNiAwNzoxMzowNiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIFBvcnQgbXBlZ2RlbXV4IHRvIDAuMTEKCjIwMTItMDEtMjcgMTQ6NDk6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgcGxlbnR5OiBmaXh1cCBnbGliIGRlcHJlY2F0aW9ucwoKMjAxMi0wMS0yNyAwNzozNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgdmlld2ZpbmRlciBjb2xvcnNwYWNlIGNvbnZlcnNpb24gdG8gZGVmYXVsdCBmbGFncwoJICBUaGlzIG1ha2UgdGhlIGRlZmF1bHQgc2V0dGluZ3MgbW9yZSBsaWtlbHkgdG8gd29yay4gSWYgbmVlZGVkLCBvbmUKCSAgY2FuIG9wdGltaXplIGJ5IGRpc2FibGluZyBjb252ZXJzaW9ucyB3aXRoIHRoZSBmbGFncy4KCjIwMTItMDEtMjMgMDg6MDQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVtb3Zpbmcgc29sdmVkIFRPRE8gYW5kIGZpeGluZyBhIHR5cG8KCjIwMTItMDEtMjYgMjM6Mjg6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAyMzoyODoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAyMzoyODowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDE1OjAzOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgdGhlIERWQiBwbHVnaW4gdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucwoJICBJdCBuZWVkcyB0aGUgTVBFRyBUUyBwYXJzZXIgYW5kIGN1cnJlbnRseSBjcmFzaGVzIGR1cmluZyBpbnN0YW50aWF0aW9uCgkgIGJlY2F1c2UgaXQgY2FuJ3QgY3JlYXRlIHRoZSBNUEVHIFRTIHBhcnNlci4KCjIwMTItMDEtMjUgMTg6MjU6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgIG1wZWcyZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTg6NDk6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgkgIEZpeGVzICM2Njg2NzcuCgoyMDEyLTAxLTI1IDE2OjM3OjIyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxNjo1Nzo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgYmF5ZXI6IEludGVyc2VjdCB0cmFuc2Zvcm1lZCBjYXBzIHdpdGggZmlsdGVyCgoyMDEyLTAxLTI1IDE1OjQzOjAxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGd2YWx1ZSBmcm9tIGl0ZXJhdG9yCgoyMDEyLTAxLTI1IDE2OjQ2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI1IDE2OjIwOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTQ6NTA6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEzOjU4OjE5ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDYzYmMwIHRvIDdmZGE1MjQKCjIwMTItMDEtMjUgMTM6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBleHQva2F0ZS9nc3RrYXRlZW5jLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jCgoyMDEyLTAxLTE4IDEyOjA0OjUyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBsaW1pdCB0aGUgYW1vdW50IG9mIHNjYW5uaW5nIGRvbmUgb24gZHVyYXRpb24gcXVlcmllcwoJICBMaW1pdCB0aGUgYW1vdW50IG9mIGRhdGEgc2Nhbm5lZCB3aGVuIGxvb2tpbmcgZm9yIFBUU2VzIGluIGR1cmF0aW9uIHF1ZXJpZXMgYXMgYQoJICBmYWlsc2FmZSBmb3Iga2luZGEgYnJva2VuLCBwb3RlbnRpYWxseSBsYXJnZSBmaWxlcyB3aXRoIHNwYXJzZSBvciBubyBQVFNlcy4KCjIwMTItMDEtMTggMTE6Mjg6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGRvbid0IHNjYW4gZm9yIHRoZSBsYXN0IFBUUyBpZiB0aGUgZmlyc3Qgd2Fzbid0IGZvdW5kCgoyMDEyLTAxLTI1IDExOjIxOjUwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxMDo0NTo1MSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDIyOjE0OjM5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBSZW1vdmUsIHZpZGVvcmF0ZSBpbmNsdWRlcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IG5vdwoKMjAxMi0wMS0yNCAxNDoyMDo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxMTozODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJhNTkwMTYgdG8gYzQ2M2JjMAoKMjAxMi0wMS0yNCAxMTo1NjozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBtYWtlIGNvbnN0YW50IHN0YXRpYyBhcnJheXMgYWN0dWFsbHkgc3RhdGljCgoyMDEyLTAxLTI0IDExOjUzOjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGZpeCB1bmluaXRpYWxpemVkIHJldHVybiB2YWx1ZQoKMjAxMi0wMS0yNCAxMToyMjo0NiArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHRyYWNlIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgYWRkIGluZm8gbGV2ZWwgcHJpbnRzIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMjMgMjI6MjA6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogZml4IGNhcHMgcmVmY291bnQgZXJyb3IKCSAgL21lIGJhZCBtb25rZXkuCgoyMDEyLTAxLTIzIDE4OjMwOjE5ICswMDAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IGZpeCBnc3RfaDI2NF9wYXJzZV9jbG9ja190aW1lc3RhbXAgYWx3YXlzIGZhaWxpbmcKCjIwMTItMDEtMjMgMTg6MDE6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogUkVRVUlSRU1FTlRTOgoJICBSRVFVSVJFTUVOVFM6IHdlIG5lZWQgbGlicnRtcCBmb3IgcnRtcCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg1MjEKCjIwMTItMDEtMjMgMTg6NTE6MzQgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVhZCB0aGUgY2JyX2ZsYWcgaW4gaDI2NF9wYXJzZV9ocmRfcGFyYW1ldGVycwoKMjAxMi0wMS0yMyAxNzo0Nzo0NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggZnJlcXVlbnQgZGVhZGxvY2sgZGVtdXhpbmcgTVBFRyBUUwoJICBBIHByZXZpb3VzIHBhdGNoIHRvIGFkZCBzdHJlYW1zIGVhcmx5IHRvIGZpeCBwbGF5YmFjayBvZgoJICBsb3cgYml0cmF0ZSBzdHJlYW1zIGNhdXNlcyBmcmVxdWVudCBkZWFkbG9jayBvZiBhIG5hdHVyZQoJICBJJ20gYXQgbG9zcyBob3cgdG8gZml4LgoJICBJJ20gbm90IGNlcnRhaW4gd2hldGhlciBpdCdzIGEgYnVnIGluIGRlY29kZWJpbjIsIG9yIGluCgkgIHRoYXQgbXBlZ3RzZGVtdXggcGF0Y2guCgkgIFNpbmNlIGl0IGNhdXNlcyBhIG1ham9yIHJlZ3Jlc3Npb24sIGxldCBpdCBiZSBkaXNhYmxlZCBmb3Igbm93LgoKMjAxMi0wMS0yMyAxNDoxMDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYnJlYWsgb3V0IHdoZW4gc3RyZWFtIGlkZW50aWZpZWQKCjIwMTItMDEtMjMgMTQ6MDY6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGF2b2lkIE5VTEwgbWFuaXB1bGF0aW9uIGlmIGludmFsaWQgaW5wdXQKCjIwMTItMDEtMjMgMTQ6MDU6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIE5VTEwgbWFuaXB1bGF0aW9uIGlmIGludmFsaWQgaW5wdXQKCjIwMTItMDEtMjMgMTQ6MDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIHNvbWUgdW5saWtlbHkgbGVha3MKCjIwMTItMDEtMjMgMTM6NTg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBwcmV2ZW50IHNvbWUgZmFsbC10aHJvdWdoIGNhc2VzCgoyMDEyLTAxLTIzIDEzOjU4OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkgIG12ZTogdXNlIHNpZ25lZCBsb29wIHZhcmlhYmxlCgkgIC4uLiB3aGVuIHVzaW5nIGl0IGluIGkgPj0gMC4KCjIwMTItMDEtMjMgMTM6NTc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkgIG12ZTogZW5zdXJlIGJlc3QgdGFyZ2V0IGZvdW5kCgoyMDEyLTAxLTIzIDEzOjU2OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZW5oYW5jZSBzb21lIGVycm9yIGNhc2UgaGFuZGxpbmcKCjIwMTItMDEtMjMgMTM6NTU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBjaGVjayBkaXJlY3RseSBmb3IgdmFsaWQgYnVmZmVyCgkgIC4uLiByYXRoZXIgdGhhbiBkb2luZyBzbyBpbmRpcmVjdGx5IGluIChpbmNvbXBsZXRlKSBzZW1hbnRpYyB3YXkuCgoyMDEyLTAxLTIzIDEzOjU0OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGZpeCBwYXJhbWV0ZXIgc2FuaXR5IGNoZWNrCgoyMDEyLTAxLTIzIDExOjU0OjA4ICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gd29yawoKMjAxMi0wMS0yMCAxNTozNDoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogZml4IHByZXJvbGwgb24gdGl0bGVzIHdpdGggbm8gYXVkaW8gdHJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAxMi0wMS0yMCAxMjoyNTowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcnNuZHZkc3JjOiBmaXggbGVhawoKMjAxMi0wMS0yMCAxMjoxNToyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IGZpeCB2aWRlby9hdWRpbyBtaXh1cCBpbiBlcnJvciBtZXNzYWdlCgoyMDEyLTAxLTIwIDEwOjQyOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJzbmF1ZGlvbXVuZ2U6IGtlZXAgdGhlIG9iamVjdCByZWYgbG9uZ2VyCgkgIFNpbmNlIHdlIGRvIG5vdCBnZXQgYSByZWYgdG8gdGhlIHBhZCwgSSdtIG5vdCBjZXJ0YWluIGl0J3Mgc2FmZQoJICB0byBkcm9wIHRoZSBvYmplY3QgYW5kIHVzZSB0aGUgcGFkIGxhdGVyLCBzbyBob2xkIHRoZSBvYmplY3QgcmVmCgkgIHRpbGwgd2UncmUgZG9uZSB3aXRoIHRoZSBwYWQuCgoyMDEyLTAxLTIxIDIwOjA4OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBtb3ZlIGZyb20gY29udHJvbC1iaW5kaW5nIHRvIGNvbnRyb2wtYmluZGluZy1kaXJlY3QKCjIwMTItMDEtMjIgMTY6NTk6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBSZXZlcnQgIiFjb2xvcnNwYWNlOiBmaXggb2RkIHNpemUgcHJvYmxlbXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTJlNmZkY2I2YjI2NWRiMjAxZjE5MTk1MmFlZWQ0MjllODVlODM0ZS4KCSAgVW50ZXN0ZWQgY29tbWl0IHdhcyBhY2NpZGVudGFsbHkgcHVzaGVkLgoKMjAxMi0wMS0yMiAxNjo1ODo1OSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIFJldmVydCAiY29sb3JzcGFjZTogRml4IG91dC1vZi1ib3VuZCBlcnJvcnMgZm9yIHYyMTAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2I4Yjg3Y2I2YzIxN2I5ZjBiNTJjZmEzMDc5YzRhMzZhZmQxYzQyNC4KCSAgVW50ZXN0ZWQgY29tbWl0IHdhcyBhY2NpZGVudGFsbHkgcHVzaGVkLgoKMjAxMi0wMS0yMiAxNjo1NTo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJICBpbnRlcjogRml4IGNvbXBpbGF0aW9uCgkgIEZpeCB1cCBwcmV2aW91c2x5IGJvdGNoZWQgcmViYXNlLgoKMjAxMi0wMS0wOSAyMTo1OTo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBvdXQtb2YtYm91bmQgZXJyb3JzIGZvciB2MjEwCgoyMDExLTEyLTMxIDE3OjE0OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgIWNvbG9yc3BhY2U6IGZpeCBvZGQgc2l6ZSBwcm9ibGVtcwoKMjAxMi0wMS0yMiAxNTo0OToxMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBBZGQgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxMi0wMS0yMiAxNTo0ODoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBIYW5kbGUgMTAgYW5kIDE2LWJpdCBmb3JtYXRzCgoyMDExLTEyLTMxIDE3OjEzOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkgIGF2YzogZml4IGJyb2tlbiBsaW5lIGNvbnRpbnVhdGlvbgoKMjAxMS0wOC0xOCAxOTo0OTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBqcGVnIGNvbG9yLW1hdHJpeCBjb252ZXJzaW9uCgoyMDExLTA4LTA5IDA5OjE5OjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXI6IEFkZCBzdWJ0aXRsZSBpbnRlciBlbGVtZW50cwoKMjAxMS0wOC0wNCAxMzowNToyMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IERvbid0IGVycm9yIG9uIGVtcHR5IGlucHV0IGJ1ZmZlcnMKCjIwMTItMDEtMjIgMTk6Mjc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLnZjcHJvajoKCSAgUmVtb3ZlIGxlZ2FjeSBtcGVndmlkZW9wYXJzZSBwbHVnaW4KCSAgVGhlcmUncyBhIG5ldyBvbmUgaW4gdGhlIHZpZGVvcGFyc2VycyBwbHVnaW4uCgoyMDEyLTAxLTIyIDE5OjEzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay8uZ2l0aWdub3JlOgoJICBtdWx0aWZkc2luazogbWFrZSBnaXQgaWdub3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAxMi0wMS0yMiAxOToxMToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IG1ha2UgbGV2ZWwgYW5kIHByb2ZpbGUgZmllbGRzIGluIGNhcHMgc3RyaW5ncwoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDM4CgoyMDEyLTAxLTE4IDE2OjM1OjE2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb24oKQoJICBUaGUgZW50cmllcyB3ZXJlIG5vdCBmaWxsZWQgaW4gbGluZWFybHkgYW5kIHRoZSB0ZXJtaW5hdGlvbiB3YXMgbm90CgkgIHJlY29yZGVkIGVpdGhlci4gTm93LCB0aGUgYWN0dWFsIG51bWJlciBvZiBtb2RpZmljYXRpb25zIGlzIHJlY29yZGVkCgkgIHNpbWlsYXJseSB0byBkZWNfcmVmX3BpY19tYXJraW5nKCkuIGkuZS4gYW4gZXhwbGljaXQgY291bnRlciBpbnN0ZWFkCgkgIG9mIHN0b3JpbmcgdGhlIHRlcm1pbmF0aW9uIHZhbHVlIGluIHRoZSBhcnJheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODE5MgoKMjAxMi0wMS0yMCAxNjoxMjowMiArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIGZvciBhY3R1YWxseSBwb3J0ZWQgZWxlbWVudHMKCjIwMTItMDEtMjAgMTU6MjM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb25seSBjaGVjayBmb3IgZ3N0LXBsdWdpbnMte2dvb2QsdWdseSxmZm1wZWd9IGluIHVuaW5zdGFsbGVkIHNldHVwcwoJICBXZSBkb24ndCBpbnN0YWxsIC5wYyBmaWxlcyBmb3IgcGx1Z2luIG1vZHVsZXMsIGJlY2F1c2Ugd2Ugb25seSBuZWVkCgkgIHRoZW0gaW4gdW5pbnN0YWxsZWQgc2V0dXBzLCBzbyB3ZSBjYW4gZmluZCB0aGUgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cwoJICAoZXZlbiB3aGVuIHJ1biBhIGNvdXBsZSBvZiBkaXJlY3RvcmllcyBkZWVwZXIgb3Igb3V0LW9mLXRyZWUgZHVyaW5nCgkgIG1ha2UgZGlzdGNoZWNrKS4KCSAgVHJ5IHRvIGF2b2lkIGNvbmZ1c2lvbiwgc28gb25seSBjaGVjayBmb3IgdGhvc2UgaWYgdGhpcyBpcyBpbiBmYWN0CgkgIGFuIHVuaW5zdGFsbGVkIHNldHVwLiBGb3IgaW5zdGFsbGVkIHNldHVwcyB0aGVyZSdzIG5vIHByb2JsZW0gZmluZGluZwoJICB0aGUgcGx1Z2lucywgd2UgYXNzdW1lIHRoZXkgYXJlIGFsbCBpbiB0aGUgcGx1Z2luZGlyIHNwZWNpZmllZCBieQoJICBHU3RyZWFtZXIgY29yZSdzIC5wYyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MzExCgoyMDEyLTAxLTIwIDE0OjQ2OjAwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sIGJpbmRpbmcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxMTo0MDowMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbGxlciBhcGkgY2hhbmdlcwoJICBEb24ndCB1c2UgdGhlIGNvbnZlbmllbmNlIGFwaSBmb3IgY29udHJvbCBzb3VyY2VzLgoKMjAxMi0wMS0yMCAwMDo1Mzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkgIGNocm9tYXByaW50OiBtaW5vciBjbGVhbi11cHMKCSAgRmxlc2ggb3V0IGRvY3MgYSBiaXQsIGZpeCBlbGVtZW50IGNsYXNzLgoKMjAxMS0wMS0wMiAxOTozNDowNCArMDAwMCAgTHVrw6HFoSBMYWxpbnNrw70gPGxhbGluc2t5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSAgY2hyb21hcHJpbnQ6IGltcG9ydCBBY291c3RpZCBhdWRpbyBmaW5nZXJwcmludGluZyBwbHVnaW4KCSAgSW1wb3J0ZWQgZnJvbSBodHRwczovL2xhdW5jaHBhZC5uZXQvZ3N0LWNocm9tYXByaW50CgoyMDEyLTAxLTEwIDAwOjIyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBoYW5kbGUgY29ybmVyLWNhc2Ugb2Ygc2hvcnQgcmVhZCBpbiBwdWxsX2J1ZmZlciBiZXR0ZXIKCSAgSXQncyBleHRyZW1lbHkgdW5saWtlbHksIGJ1dCB0aGVyZSBhcmUgY29ybmVyIGNhc2VzIHdoZXJlIGEgc2hvcnQKCSAgcmVhZCBtaWdodCBoYXBwZW4sIHNvIGhhbmRsZSB0aGF0LCBqdXN0IGluIGNhc2UuCgoyMDEyLTAxLTE5IDE1OjQzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbWVuYzogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDEtMTkgMTU6MTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtLWRpc2FibGUtZmF0YWwtd2FybmluZ3MgY29uZmlndXJlIG9wdGlvbgoKMjAxMi0wMS0xOSAxMTozNDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBwb3J0IHRvIG5ldyBndGhyZWFkIEFQSQoKMjAxMi0wMS0xOCAxNzowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEdJTyBjaGVjaywgdGhpcyBpcyBpbiBnc3QtZ2xpYjIubTQgbm93CgoyMDEyLTAxLTE4IDE2OjQ2OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwNzE4NyB0byAyYTU5MDE2CgoyMDEyLTAxLTE4IDE2OjM1OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiBQb3J0IHRvIEdJTyBhbmQgdGhlIG5ldyB1ZHBzcmMvc2luayBwcm9wZXJ0aWVzCgoyMDEyLTAxLTE4IDE2OjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgb3B1cyB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zCgkgIEl0IG5lZWRzIHRvIGJlIHVwZGF0ZWQgZm9yIHRoZSBuZXcgbXVsdGljaGFubmVsIEFQSS4KCjIwMTItMDEtMTggMTU6NDg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJICBtdWx0aWZkc2luazogQWRkICQoR1NUX1BMVUdJTlNfQkFEX0NGTEFHUykgZm9yIHRoZSBpMThuIGhlYWRlciBmaWxlCgoyMDEyLTAxLTE3IDIxOjM2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMS0xNyAyMTozNjowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDEtMTcgMTg6MzM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgZ3NtZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMS0xNyAxODozMjoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBnc21lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAxLTE3IDEzOjEyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgbXVsdGlmZHNpbms6IEFkZCB0byB0aGUgZG9jcwoKMjAxMi0wMS0xNiAyMjo1MjoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJICBtcGxleDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDIyOjUyOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMjI6NTE6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkgIGlydHNwcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAxNzozMDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3NweTogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTE2IDE3OjA3OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgIG1wZWdkZW11eDogZml4IG1pc3NpbmcgZmluYWxpemUgY2hhaW5pbmcgdG8gcGFyZW50CgkgIFRoaXMgY29kZSBkb2VzIG5vdCBzZWVtIHRvIHRyaWdnZXIgb24gbXkgdGVzdCBzdHJlYW1zLCBzbyBpdCdzCgkgIGEgYml0IG9mIGEgYmxpbmQgZml4LCBidXQgc2VlbXMgc2FmZSBlbm91Z2ggdG8gcHVzaC4KCjIwMTItMDEtMTYgMTc6MDI6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogZml4IG1pc3NpbmcgZmluYWxpemUgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcy4KCjIwMTItMDEtMTYgMTc6MDE6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBmaXggbWlzc2luZyBkaXNwb3NlIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMuCgoyMDEyLTAxLTE2IDE2OjU5OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZml4IG1pc3NpbmcgZGlzcG9zZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGV2ZW4gY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIGRlcGVuZGVuY2llcyBuZWVkZWQuCgoyMDEyLTAxLTE2IDExOjI5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmstbWFyc2hhbC5saXN0OgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOgoJICBtdWx0aWZkc2luazogTW92ZSBtdWx0aWZkc2luayBmcm9tIGdzdC1wbHVnaW5zLWJhc2UgdG8gZ3N0LXBsdWdpbnMtYmFkCgoyMDEyLTAxLTEzIDE1OjU3OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgQW5kcm9pZCwgRml4IHdyb25nIGRpbmFtaWMgbGlua2luZyBhdHRlbXB0CgkgIGdzdGNvZGVjcGFyc2VycyBpcyBidWlsdCBhcyBhbiBzdGF0aWMgbGlicmFyeS4KCSAgVGhpcyBjaGFuZ2UgZml4ZXMgYnVpbGRpbmcgd2l0aCB0aGUgQW5kcm9pZCBidWlsZHN5c3RlbS4KCjIwMTItMDEtMTMgMTM6MzA6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggZmluYWxpemUgbm90IGNhbGxpbmcgYmFzZSBjbGFzcyAoYW5kIGxlYWtpbmcpCgoyMDEyLTAxLTEzIDEyOjU1OjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogc2lnbmFsIGNoYWluIGZ1bmN0aW9ucyB0byBleGl0IG9uIGZsdXNoLXN0YXJ0CgoyMDEyLTAxLTEzIDEyOjA4OjI4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbmVuYzogZml4IGJhc2UgY2xhc3MgY2FsbCBtaXh1cCBpbiBmaW5hbGl6ZQoKMjAxMi0wMS0xMyAxMToyMjo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCB0eXBvIHVzaW5nIHRoZSB3cm9uZyBwYWQKCjIwMTItMDEtMTMgMTE6MjI6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcG9zc2libGUgYnVmZmVyIGxlYWsKCjIwMTItMDEtMTMgMTA6MzI6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkgIGxpbnN5c3NkaTogZml4IGxlYWtzCgoyMDEyLTAxLTEzIDEwOjI1OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBmaXggYWRhcHRlciBsZWFrCgoyMDEyLTAxLTEzIDAwOjExOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMS0xMiAxNzoxNjozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwYWQgbGVha3MKCjIwMTItMDEtMTIgMTc6MTE6MTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJICBwYXRjaGRldGVjdDogcmVtb3ZlIChsZWFraW5nKSBkZWFkIGNvZGUKCjIwMTItMDEtMTIgMTY6NDU6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiByZW1vdmUgKGxlYWtpbmcpIGRlYWQgY29kZQoKMjAxMi0wMS0xMiAxNjozNjoxOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBiYWxhbmNlIGVuY29kZXIgYW5kIHZpZGVvIGZvcm1hdCBhbGxvYy9kZWFsbG9jCgkgIFRoZXkgd291bGQgbGVhayBpZiBqdXN0IGNvbnN0cnVjdGluZyBhbmQgZnJlZWluZyBhbiBvYmplY3QsCgkgIGFuZCBwcm9iYWJseSBjcmFzaCBpZiBnb2luZyBmcm9tIFBMQVlJTkcgdG8gUkVBRFkgYW5kIGJhY2sKCSAgYWdhaW4gKHRob3VnaCBJIGhhdmVuJ3QgdGVzdGVkIHRoYXQpLgoKMjAxMi0wMS0xMiAxNTo1ODozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggcXVldWUgbGVhawoKMjAxMi0wMS0xMiAxNTo0Mzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICBkY2NwY2xpZW50c2luazogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTEyIDE1OjE5OjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogZml4IGV2ZW50IGxlYWsKCjIwMTItMDEtMTIgMTQ6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBmaXggbWVtb3J5IGxlYWsKCjIwMTItMDEtMTIgMTA6MjY6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBhbHNvIGluZGljYXRlIG1vbm8gYXVkaW8gaW4gc2luayBjYXBzCgoyMDEyLTAxLTEyIDEwOjI1OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWxzbyBpbmRpY2F0ZSBtb25vIGF1ZGlvIGluIHNpbmsgY2FwcwoKMjAxMi0wMS0xMSAxODoyNDo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBmaXggdGFnIGxlYWsKCjIwMTItMDEtMTEgMTg6MTI6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogdGFrZSBvdXQgdW51c2VkIGxlYWtpbmcgYnVmZmVyCgoyMDEyLTAxLTExIDE4OjM3OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTEgMTY6MzQ6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMSAxNjozMjozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggc2xpc3QgbGVhawoKMjAxMi0wMS0xMSAxMzozMjozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3RzOiBmaXggYnVmZmVyIGxlYWtzIGluIG9wdXMgdGVzdHMKCjIwMTItMDEtMTEgMTI6NTg6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggc29tZSBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlciBtYXAgYW5kIHJlZiBoYW5kbGluZwoKMjAxMi0wMS0xMSAxMjo1NzoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGJhc2UgY2xhc3MgYXVkaW8gaW5mbyBpcyBub3QgeWV0IHNldCBkdXJpbmcgc2V0X2Zvcm1hdAoJICAuLi4gc2luY2UgaXQgd2lsbCBvbmx5IGJlIGNvbW1pdHRlZCBhZnRlciBpdCBoYXMgYmVlbiBhY2NlcHRlZCBieSBzdWJjbGFzcy4KCSAgSW4gcGFydGljdWxhciwgc3ViY2xhc3Mgc2hvdWxkIG5vdCByZWx5IG9uIGl0IGR1cmluZyBpdHMgc2V0dXAuCgoyMDEyLTAxLTExIDEyOjU1OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogc3ByaW5rbGUgc29tZSBtb3JlIGxheW91dCBpbmZvIGluIGNhcHMKCjIwMTItMDEtMTEgMTI6Mzk6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBmaXggYXVkaW8gZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTItMDEtMTEgMTI6MjQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMSAxMDo1MDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVuc2V0IHRoZSBVTlBPU0lUSU9ORUQgZmxhZyBpZiB3ZSBoYXZlIHZhbGlkIGNoYW5uZWwgcG9zaXRpb25zCgoyMDEyLTAxLTEwIDE3OjI3OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTAgMTY6NTk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMCAxNTo1MDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYwoKMjAxMi0wMS0xMCAxMzozODo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBzbGlzdCBsZWFrCgoyMDEyLTAxLTEwIDEzOjM4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMCAxMzoyNTowNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBjYXBzIGxlYWtzCgoyMDEyLTAxLTEwIDEzOjI0OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IHJlZiBsZWFrCgoyMDEyLTAxLTEwIDExOjQxOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IHByb3ZpZGUgYm9ndXMgdmFsdWVzIGluIG5vbi1USU1FIHB1c2gtbW9kZQoJICBPbmx5IHRha2UgdGhlIHVwc3RyZWFtIHNlZ21lbnQgdmFsdWVzIGluIEdTVF9GT1JNQVRfVElNRQoKMjAxMi0wMS0xMCAxMTozNzoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBIYW5kbGUgcm9sbG92ZXIgaW4gUFRTIGFuZCBEVFMKCSAgQWxzbyBoYW5kcyBiYWNrLXJvbGxvdmVyIHdoaWNoIGNhbiBoYXBwZW4gd2l0aCBQVFMKCjIwMTItMDEtMDQgMTE6MDU6NDggKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiB1c2UgaXNfYWx0X2RhdGEgb3B0aW9uIHRvIHByZXZlbnQgdGltZXN0YW1wIGNvbGxpc2lvbnMKCSAgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgdXN1YWxseSBzdG9yZWQgaW4gY29udGFpbmVyIHdpdGggc2FtZSB0aW1lc3RhbXAgYXMKCSAgZGVwZW5kZXQgZnJhbWUuIFRoaXMgbWFrZSBiYXNldmlkZW9kZWNvZGVyIHRvIHVwZGF0ZSB0aW1lc3RhbXAgZm9yIGRlcGVuZGV0CgkgIGZyYW1lIGFuZCBjb3VzZSBUUyBjb2xpc2lvbiBvbiBuZXh0IGZyYW1lOgoJICBeLSBoZXJlIGlzIGFsdHJlZgoJICB0aW1lICAgICA6IDEgMiAzIDQgNSA2IDcgOCA5CgkgIHdlYm0gdHMgIDogMSAgIDMgNSA1ICAgNyAgIDkKCSAgdnA4ZGVjIHRzOiAxICAgMyAgIDcgICA3ICAgOQoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNCAxMTowOToyMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIG9wdGlvbiB0byBoYW5kZSBhbHQgZnJhbWUgZGF0YQoJICBhbHRyZWYvaW52aXNpYmxlICdmcmFtZScgZG8gbm90IGRlc2NyaWJlIHNvbWUgZnJhbWUgZGlyZWN0bHksIHNvIGl0IGNhbid0IGJlCgkgIGRpc3BsYXllZCBhbmQgdGltZXN0YW1wcyBzaG91bGQgbm90IGJlIHVwZGF0ZWQuCgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA5IDE0OjU2OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZml4IHBhcnNpbmcgd2hlbiByZWN1cnNpdmVseSBza2lwcGluZyB1c2VyIGRhdGEKCjIwMTItMDEtMDkgMTQ6NTk6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBNYWtlIHN1cmUgdGhhdCB0aGUgc3JjcGFkIGhhcyBjYXBzIGJlZm9yZSBmaW5pc2hpbmcgYWN0dWFsIGF1ZGlvIGRhdGEKCjIwMTItMDEtMDkgMTQ6Mzk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCB1cGRhdGUgY2FwcyBvbiBldmVyeSBidWZmZXIKCjIwMTItMDEtMDkgMTQ6Mjg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCBjYWxsIGdzdF9idWZmZXJfbWVtY21wKCkgd2l0aCBhIE5VTEwgYnVmZmVyCgoyMDEyLTAxLTA5IDExOjAzOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIHRoZSBmcmFtZXJhdGUgdGhhdCB3YXMgY29waWVkIGEgZmV3IGxpbmVzIGFib3ZlCgoyMDEyLTAxLTA5IDEwOjU4OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFkZCBhIGNvdXBsZSBjb25zdHMgb24gc3RyaW5nIGxpdGVyYWwgYXJyYXlzCgoyMDEyLTAxLTA5IDA4OjQwOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogR3N0QmFzZUNhbWVyYVNyYyBpcyB0aGUgYmFzZSBjbGFzcywgbm90IEdzdEJpbgoKMjAxMi0wMS0wOSAwODozNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdm9hbXJ3YmVuYywgbHYyIGFuZCB0ZWxleHRkZWMgYXJlIG5vdCBwb3J0ZWQgeWV0CgoyMDExLTEyLTE5IDExOjI0OjMxIC0wNTAwICBEYXZpZCBCaW9tZWNoMzYwIDxkZGVzMzEwQHlhaG9vLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogYWRkZWQgc3VwcG9ydCBmb3IgYSB2aXN1YWwgbWFnbmlmaWVyIGNvbG9yIGZpbHRlciB0byBiZSB1c2VkIGluIGdub21lLXZpZGVvLWVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjU0MgoKMjAxMi0wMS0wNiAxMDo1MjozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB0ZXN0IGFuZCBzZXQgbm90IHVzaW5nIHRoZSBzYW1lIGlucHV0CgkgIFRoaXMgZml4ZXMgSC4yNjQgb3V0cHV0IG5vdCBoYXZpbmcgYSBzZXQgZnJhbWVyYXRlLCBhbmQKCSAgY29uZnVzaW5nIHNvbWUgb2YgdGhlIGVsZW1lbnRzIGRvd25zdHJlYW0gKHN1Y2ggYXMgaW50ZXJsYWNlKS4KCjIwMTItMDEtMDYgMTA6Mzk6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBhdm9pZCBkaXZpZGluZyBieSB6ZXJvIG9uIHVua2Jvd24gZnJhbWVyYXRlCgkgIElmIHRoZSBmcmFtZXJhdGUgaXMgdW5rbm93biwgd2UgY2Fubm90IGdlbmVyYXRlIG1lYW5pbmdmdWwKCSAgYnVmZmVyIHRpbWVzdGFtcHMvZHVyYXRpb25zLCBzbyBzZXQgdGhlbSB0byBfTk9ORSBpbnN0ZWFkIG9mCgkgIGNhbGN1bGF0aW5nIHNvbWV0aGluZyB3cm9uZyBhbmQgZGl2aWRpbmcgYnkgMC4KCjIwMTItMDEtMDIgMDg6Mjg6MTMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICB2cDg6IGFkZCBpbml0aWFsIHByZXNldCBmaWxlCgkgIFRoaXMgaXMgaW5pdGlhbCBwcmVzZXQgZmlsZSwgY3VycmVudGx5IHdpdGggb25seSBvbmUgcHJvZmlsZQoJICBmb3IgcmVhbHRpbWUgZW5jb2RpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNSAxNDozMDoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBsaW5rIGFnYWluc3QgdmlkZW8gbGlicmFyeQoKMjAxMS0xMi0wOCAxMjoxNTozOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZW1vdmUgaDI2MyBnb2IgcGFyc2luZywgc2luY2UgdGhlcmUgaXMgbm8gZ29iIGltbWVkaWF0ZSBhZnRlciBzdmgKCjIwMTEtMTItMDggMTI6MTM6MzggKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogYWRkIG1pc3NpbmcgemVyb19iaXRzIGluIGgyNjMgcGFyc2luZwoKMjAxMS0xMi0wOCAxMjoxMjoyMSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBpbmNsdWRlcyBzdGFydF9tYXJrZXIgaW4gaDI2MyBoZWFkZXIgZm9yIHBhcnNpbmcKCjIwMTEtMTItMDggMTI6MDc6NDIgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IG9mZnNldCBpc3N1ZSBpbiBoMjYzIHBhcnNlCgoyMDExLTEyLTA4IDExOjI3OjU2ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBtYXNrIHBhdHRlcm4gZm9yIGgyNjMgc3RhcnQgbWFya2VyCgoyMDEyLTAxLTA1IDExOjAxOjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgdGVzdHM6IHRlc3QgZm9yIEdUSyAyLjI0IGZvciBuZXcgc3ltYm9scyB1c2VkIGluIGNhbWVyYWJpbjIgdGVzdHMKCSAgVGhlIHdob2xlIHRyZWUgaXMgbGlrZWx5IHRvIHN3aXRjaCB0byBHVEsgMy4wIGF0IHNvbWUgcG9pbnQsIGJ1dAoJICB3ZSBtaWdodCBhcyB3ZWxsIGNvbnRpbnVlIGJ1aWxkaW5nIHdpdGggc2xpZ2h0bHkgbGVzcyBuZXcgdmVyc2lvbnMKCSAgaWYgaXQncyBub3QgaGFyZCB0byBkby4KCjIwMTItMDEtMDUgMTA6Mzg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBUaGUgbXVsdGljaGFubmVsLmggaGVhZGVyIGlzIGdvbmUgbm93CgoyMDEyLTAxLTA1IDEwOjIzOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMDk6NTI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IFBvcnQgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAwOTozNDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogVXBkYXRlIHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTY6MTM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE5OjUyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDU0NmU1OCB0byAwODA3MTg3CgoyMDEyLTAxLTA0IDE4OjQyOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogcmVtb3ZlIHRlbXBvcmFyeSBmaWxlcyB3aGVuIGRvbmUgaW4gY2FtZXJhYmluLCBjYW1lcmFiaW4yIGFuZCBqaWZtdXggdGVzdHMKCjIwMTItMDEtMDQgMTE6Mjg6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IHBvcnQgc29tZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTItMDEtMDQgMTA6NTY6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBmaXggYW5kIHR3ZWFrIGZyYW1lIHRpbWVzdGFtcGluZwoJICAuLi4gdG8gcnVuIHdpdGggcHJvcGVybHkgaW5pdCdlZCB2YXJpYWJsZXMsIGFuZCB0byBvbmx5IHBlcmZvcm0gaW50ZXJwb2xhdGlvbgoJICBpbiBzYWZlIGNhc2VzLgoKMjAxMi0wMS0wNCAxMDowMjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDMgMjI6MDk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcmVmZXIgbmVnb3RpYXRpbmcgcGFzcy10aHJvdWdoCgoyMDEyLTAxLTAzIDIxOjU5OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWFyayBieXRlLXN0cmVhbSBBVSBmcmFtZSB3aXRoIGluc2VydGVkIGNvZGVjIE5BTHMgYXMga2V5ZnJhbWUKCjIwMTItMDEtMDMgMjA6MjM6MTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcm9wZXJseSBkZXRlcm1pbmUgc2tpcCBhbW91bnQgd2hlbiBubyBOQUwgc3RhcnQgZm91bmQgeWV0CgoyMDEyLTAxLTAzIDIwOjIxOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc29tZSBtb3JlIHByb3BlciBwYXJzZSBzdGF0ZSByZXNldAoKMjAxMi0wMS0wMyAxNToyNjo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMiAxNTo1NToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGVuY29kaW5nIHByb2ZpbGVzIGFyZSBvYmplY3RzIGluIDAuMTEKCjIwMTItMDEtMDIgMTU6NTI6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBleGFtcGxlczogRml4IGJ1aWxkCgoyMDExLTEyLTMxIDA5OjU1OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTMwIDE5OjA4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1cGRhdGUgZm9yIGdkcCBkYXRhcHJvdG9jb2wgbGlicmFyeSByZW1vdmFsCgoyMDExLTEyLTMwIDE4OjE4OjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFN3YWxsb3cgaW5jb21pbmcgY2FwcyBldmVudAoJICBPdGhlcndpc2Ugd2UgZW5kIHVwIGFza2luZyBzdWJjbGFzc2VzIHRvIHB1c2ggdGhlIGV2ZW50IGZvcndhcmQsCgkgIHdoaWNoIHdpbGwgZmFpbCBzaW5jZSBubyBwYWRzIGFyZSBjcmVhdGVkIHlldC4KCjIwMTEtMTItMzAgMTg6MTc6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHJvcGVybHkgY2Fycnkgb3ZlciB0aGUgdGltZXN0YW1wCgoyMDExLTExLTA4IDIwOjE5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFVzZSBpbmNvbWluZyB0aW1lc3RhbXBzIGluIGxpdmUgbW9kZQoKMjAxMS0xMS0wOCAyMDoxMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXBvcnQgbGF0ZW5jeSAoNzAwbXMpCgoyMDExLTExLTA4IDA5OjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFF1ZXJ5IHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZSBvciBub3QKCjIwMTEtMTItMDYgMTc6Mzc6NDUgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmdzIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTY3NwoKMjAxMS0xMi0zMCAxMTo0OToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtCgoyMDExLTEyLTMwIDExOjQxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMS1wcmVtZXJnZQoJICBDb25mbGljdHM6CgkgIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoJICBleHQva2F0ZS9nc3RrYXRldGlnZXIuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jCgkgIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jCgkgIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYwoJICBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmMKCSAgZ3N0L21wZWdwc211eC9tcGVncHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9teGYvbXhmbXV4LmMKCSAgZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMi0zMCAwMDowMjo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBSZXNldCBzaG91bGQgcmVzZXQgY3VycmVudCBjYXBzCgkgIE5ldyBjYXBzIHdpbGwgbmVlZCB0byBiZSBuZWdvdGlhdGVkIHdoZW4gcmVzZXQgaGFwcGVucwoJICAoUEFVU0VEIHRvIFJFQURZKS4gV2l0aG91dCByZXNldGluZyB0aGUgaW50ZXJuYWwKCSAgc3RvcmVkIGZvcm1hdCwgYmFzZXZpZGVvZW5jb2Rlci9kZWNvZGVyIHdvdWxkbid0IGNhbGwgdGhlCgkgIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gd2hlbiB0aGUgc2FtZSBjYXBzIHdhcyBuZWdvdGlhdGVkCgkgIGFnYWluIGFzIHRoZXkgd291bGQgYmVsaWV2ZSB0aGlzIHdhcyB0aGUgc2FtZSBjYXBzIGFzIGJlZm9yZS4KCSAgVGhlIGlzc3VlIGlzIHRoYXQgX3N0b3AgaGFzIGJlZW4gY2FsbGVkIHdoZW4gZ29pbmcgdG8gUkVBRFkgYW5kCgkgIHRoZSBlbGVtZW50cyB3b3VsZCBoYXZlIHJlc2V0IHRoZWlyIGludGVybmFsIGNvZGVjIGxpYnMvc3RhdGUgYXMKCSAgd2VsbC4gQSBuZXcgY29uZmlndXJhdGlvbiBzaG91bGQgYmUgZG9uZS4KCjIwMTEtMTItMzAgMDA6MDI6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogY2xhcmlmeSBzb21lIG1lc3NhZ2UgbG9ncwoJICBCZSBleHBsaWNpdCBvbiB3aGljaCBlbmNvZGViaW4gd2UncmUgc3dpdGNoaW5nIHByb2ZpbGVzIG9uIHRoZQoJICBsb2cgbWVzc2FnZXMKCjIwMTEtMTItMjkgMTM6MzA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBzb21lIGVycm9yIGhhbmRsaW5nIGZvciBmb3JtYXQgY2hhbmdpbmcKCSAgQ2hlY2sgdGhhdCB0aGUgZm9ybWF0IGNvdWxkIGJlIGluaXRpYWxpemVkIGFuZCBzaG93cyBhIG1vZGFsIGRpYWxvZwoJICBpbiBjYXNlIGl0IGNvdWxkbid0LgoKMjAxMS0xMi0yOSAxMjo0Nzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgZm9ybWF0IHNlbGVjdGlvbiBmb3IgY2FtZXJhYmluMiBleGFtcGxlCgkgIEFkZHMgYSBjb21ib2JveCBmb3Igc2VsZWN0aW5nIHRoZSB2aWRlbyBwcm9maWxlIGZvciByZWNvcmRpbmdzLgoJICBVc2VmdWwgZm9yIHRlc3RpbmcgbXVsdGlwbGUgZm9ybWF0cyBhL3Ygc3luYyB3aGVuIHJlY29yZGluZy4KCjIwMTEtMTItMjggMTY6NTk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVtb3ZlIGNvbW1lbnQgZm9yIGFscmVhZHkgZml4ZWQgaXNzdWVzIG9uIG1ha2VmaWxlCgkgIFNvbWUgaXNzdWVzIG9uIGNhbWVyYWJpbjIgYW5kIGppZm11eCB0ZXN0cyB3ZXJlIGZpeGVkIHNvbWUKCSAgdGltZSBhZ28sIHJlbW92ZSB0aGUgY29tbWVudHMgYWJvdXQgdGhlbQoKMjAxMS0xMi0yOCAxNjo1NzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IG1lc3NhZ2UgbGVhayBpbiB0ZXN0cwoKMjAxMS0xMi0yNyAxMTo1OToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBmaXggZ3ZhbHVlIGxlYWsKCjIwMTEtMTItMjcgMTA6MjM6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGZpeCBtYWlubG9vcCBsZWFrcwoKMjAxMS0xMi0yNyAxMDoyMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBzZWN1cmUgZXZlbnQgcmVmIHdoZW4gc2VuZGluZyBldmVudCB0byBwYXJlbnQgY2xhc3MKCSAgY2FtZXJhYmluMiBuZWVkcyB0byBob2xkIGFuIGV4dHJhIHJlZiBvbiBzZW5kX2V2ZW50IGJlZm9yZSBzZW5kaW5nCgkgIGl0IHRvIHRoZSBwYXJlbnQgY2xhc3MgYXMgaXQgd2lsbCBuZWVkIHRvIHVzZSBpdCBhZnRlciB0aGUgcGFyZW50CgkgIGhhbmRsZXMgaXQuCgoyMDExLTEyLTI0IDE0OjMyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMTItMjMgMTY6MzM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTItMjMgMDk6MzA6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBzdGFuZGFyZGl6ZSBzb21lIGZpZWxkIGRhdGEgdHlwZXMKCSAgRml4ZXMgIzY2Njc1MC4KCjIwMTEtMTItMjIgMTU6MTk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiByZW1vdmUgcmVkdW5kYW50IGZ1bmN0aW9ucwoJICBnc3RfYmluX2dldF9ieV9pbnRlcmZhY2Ugc2hvdWxkIGJlIGVub3VnaCBmb3IgYXBwbGljYXRpb25zLgoJICBIYXZlbid0IHNlZW4gYW55b25lIHVzaW5nIHRob3NlIG90aGVyIHRoYW4gd3JhcHBlcmNhbWVyYWJpbnNyYy4KCjIwMTEtMTItMjIgMTU6MDE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIGhlbHBlciBmdW5jdGlvbgoJICBUaGlzIGRyb3BfZW9zX3Byb2JlIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGFueW1vcmUsIHJlbW92ZSBpdAoKMjAxMS0xMi0yMiAxNzoxNToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlY3JlYXRlIGVuY29kZXIgYWZ0ZXIgZmx1c2hpbmcKCSAgLi4uIHNpbmNlIGl0IGFwcGVhcnMgdGhlIGV4aXN0aW5nIG9uZSBjYW4ndCBiZSBib3RoZXJlZCBhbnltb3JlIHRvIHByb2R1Y2UKCSAgc29tZSBvdXRwdXQuCgoyMDExLTEyLTIyIDE3OjE0OjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVmYWN0b3IgZW5jb2RlciBsaWJyYXJ5IHNldHVwCgoyMDExLTEyLTIyIDE3OjEwOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogbm8gbmVlZCB0byBkdXBsaWNhdGUgYmFzZWNsYXNzIHNhbml0eSBjaGVja3MKCjIwMTEtMTItMjIgMTc6MDk6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBubyBuZWVkIHRvIGR1cGxpY2F0ZSBiYXNlY2xhc3Mgc2FuaXR5IGNoZWNrcwoKMjAxMS0xMi0yMSAyMzo1MTozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB1cGRhdGUgZm9yIHZpZGVvZmlsdGVyIGNoYW5nZXMKCjIwMTEtMTItMjEgMTE6MzM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIHRlc3RzOiBhdm9pZCB1c2VsZXNzIGluY2x1ZGUKCjIwMTEtMTItMTkgMTY6NDk6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBGaXggQS9WIHN5bmMgZm9yIGNhcHR1cmVzCgkgIEF1ZGlvIHNyYyB3YXMgcHVzaGluZyBuZXdzZWdtZW50cyBzdGFydGluZyBmcm9tIDAsIGV2ZW4gd2hlbiBpdHMgYnVmZmVycwoJICB3ZXJlIG5vdCBzdGFydGluZyB3aXRoIDAgYXMgdGhlaXIgdGltZXN0YW1wcy4gQWRkIGEgYnVmZmVyIHByb2JlIHRoYXQKCSAgY2hlY2tzIHRoZSB0cyBvZiB0aGUgZmlyc3QgYnVmZmVyIGFuZCB1c2VzIHRoYXQgdG8gcHVzaCBhIG5ld3NlZ21lbnQsCgkgIGp1c3QgbGlrZSB3ZSBkbyBmb3IgdmlkZW8gb24gd3JhcHBlcmNhbWVyYWJpbnNyYy4KCjIwMTEtMTItMTkgMTU6MTc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY2FtZXJhYmluMjogZW5hYmxlIHRlc3RzCgkgIFRlc3RzIGFyZSBwYXNzaW5nIG5vdywgZW5hYmxlIHRoZW0KCjIwMTEtMTItMTkgMTU6MTY6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHVzaCBuZXdzZWdtZW50cyBvbiB2aWRlbyBjYXB0dXJlIHN0YXJ0CgkgIFB1c2hpbmcgbmV3c2VnbWVudHMgdG8gaW5mb3JtIG11eGVycyBhYm91dCB0aGUgc3RhcnQgdGltZSBvZiB0aGUKCSAgdmlkZW8gYnVmZmVyIHRpbWVzdGFtcHMuCgoyMDExLTEyLTIwIDE0OjA0OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNsZWFyIHNlaSBtZXNzYWdlIHByaW9yIHRvIHBhcnNpbmcKCSAgRml4ZXMgIzY2NjU4NC4KCjIwMTEtMTItMTkgMjM6NTE6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGludGVycG9sYXRpb24tbW9kZSBhcGkKCjIwMTEtMTItMTkgMjI6NTQ6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgYXBpCgoyMDExLTEyLTE5IDE4OjQ0OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtOiB1cGRhdGUgZm9yIG5ldyBpbnRlcmxhY2UgY2FwcwoKMjAxMS0xMi0xOSAxMzoxODo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBvbmx5IHdhcm4gd2hlbiB3ZSBzZWUgYSBQSUQgd2l0aCB1bmtub3duIHR5cGUKCSAgVGhpcyBpcyBxdWl0ZSBmcmVxdWVudCwgYW5kIHdlIHdpbGwganVzdCBpZ25vcmUgdGhhdCBzdHJlYW0sCgkgIHNvIGFuIGVycm9yIGlzIG5vdCB3YXJyYW50ZWQuCgoyMDExLTEyLTE5IDEyOjMyOjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYXZvaWQgcHVzaGluZyBTUFMvUFBTIGF0IHN0YXJ0IG9ubHkgaWYgYm90aCBhcmUgZm91bmQgaW4gc3RyZWFtCgkgIEF2b2lkIGluamVjdGluZyBTUFMvUFBTIG5hbHMgb25seSBpZiBib3RoIGFyZSBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHN0cmVhbS4KCSAgRml4ZXMgc29tZSBBVkMgY2xpcHMgdGhhdCBoYXBwZW4gdG8gaGF2ZSBvbmx5IFBQUyBuYWxzIGluIHN0cmVhbS4KCjIwMTEtMTItMTggMTg6Mzc6MDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgoyMDExLTEyLTE4IDE3OjQwOjU3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gd2FpdCBmb3IgYSBrZXlmcmFtZSB3aGVuIGhhbmRsaW5nIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBBbHRob3VnaCBzb21lIGRlY29kZXJzIGNhbiBzdGFydCBkZWNvZGluZyB3aXRoIGp1c3QgUFBTIGFuZCBTUFMgYW5kIHdhaXRpbmcgZm9yCgkgIGEga2V5ZnJhbWUgaXMgYmFkIHdoZW4gdGhlIGtleWZyYW1lIGludGVydmFsIGlzIGxhcmdlLCBnc3QtZmZtcGVnIGRvZXMgbmVlZCBhCgkgIGtleWZyYW1lIHRvIHN0YXJ0IGRlY29kaW5nLgoKMjAxMS0xMi0xOCAxNzozMjoxMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVuc2V0IHRoZSBjdXJyZW50IFBDUiBzdHJlYW0gd2hlbiBzdGFydGluZyBhIG5ldyB1bml0CgkgIFVuc2V0IHRoZSBjdXJyZW50IFBDUiBzdHJlYW0gd2hlbiBzdGFydGluZyBhIG5ldyB1bml0IHNvIHRoYXQgYWZ0ZXJ3YXJkcyBhIG5ldwoJICBzdHJlYW0gaXMgc2VsZWN0ZWQgYXMgUENSIGFuZCBQQVQgYW5kIFBNVCB0YWJsZXMgYXJlIHJlZ2VuZXJhdGVkLgoKMjAxMS0xMi0xOCAxNzozMToxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBrZXkgdW5pdCBldmVudCBoYW5kbGluZyB3aGVuIG11eGluZyBib3RoIGF1ZGlvIGFuZCB2aWRlbwoJICBUYWtlIG9ubHkgdmlkZW8gYnVmZmVycyBpbnRvIGFjY291bnQgd2hlbiBkZWNpZGluZyB3aGVuIHRvIGN1dCBzbyB0aGF0IG5ldyB1bml0cwoJICBzdGFydCB3aXRoIGEgdmlkZW8ga2V5ZnJhbWUuCgoyMDExLTEyLTE1IDE4OjE0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRldGlnZXI6IGRvbid0IHVucmVmIE5VTEwgYnVmZmVyCgoyMDExLTEyLTE1IDE2OjQyOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGZpeCBiYWQgbWVyZ2UgKHN0cmF5IHVubWFwLCB1bmRlY2xhcmVkIHZhcikKCjIwMTEtMTItMTUgMTE6MTE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogamlmbXV4OiByZS1lbmFibGUgamlmbXV4J3MgdGVzdHMKCSAgRml4IGZvciBpdHMgdGVzdCBpcyBub3cgYXZhaWxhYmxlIG9uIC1iYXNlIG1vZHVsZS4KCSAgRW5hYmxpbmcgYWdhaW4uCgoyMDExLTEyLTE1IDEzOjQ3OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEzOjM5OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgT25seSB0ZXN0ZWQgd2l0aCBhdWRpbywgSSBjYW4ndCBnZXQgaXQgdG8gYWNjZXB0IHZpZGVvIChiZWZvcmUKCSAgdGhlIHBvcnQpLgoKMjAxMS0xMi0xNSAxMzoyMjoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIEkgKnRoaW5rKiB0aGUgc3RyZWFtIGxvY2sgdXNlIGlzIGNvcnJlY3QsIG5vdCAxMDAlIHN1cmUuCgoyMDExLTEyLTE1IDEzOjA4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTM6MDQ6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkgIGZyZWkwcjogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgVW50ZXN0ZWQsIG5vIHNhbXBsZSBwaXBlbGluZSBtZW50aW9uZWQsIGFuZCBJJ3ZlIG5vIGlkZWEgd2hhdAoJICB0aGlzIHBsdWdpbiBkb2VzLCBidXQgc2luY2UgYWxsIHRoZSBwcmV2aW91cyBwb3J0cyB3b3JrIG91dCBvZgoJICB0aGUgYm94LCB0aGlzIGlzIGRlZW1lZCB0byB3b3JrIHVudGlsIGV2aWRlbmNlIGl0IGRvZXNuJ3QuCgoyMDExLTEyLTE1IDEzOjAyOjE2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJICBjb21wYXJlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMjo1OTo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSAgYXNmbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxNzozNjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGF2b2lkIGNyYXNoaW5nIHVwb24gZHJhaW5pbmcKCSAgLi4uIGFuZCBjbGVhbiB1cCBzb21lIHZhcmlhYmxlIGluaXQgYW5kIGRlYnVnIHN0YXRlbWVudC4KCjIwMTEtMTItMTQgMDg6NTQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTEyLTE0IDA4OjMyOjUwIC0wMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGZpeCBsZWFrIG9uIGVycm9yIGhhbmRsaW5nCgkgIENhbWVyYWJpbjIgcGFyc2VzIHdhcm5pbmcgbWVzc2FnZXMgd2l0aCBnc3RfbWVzc2FnZV9wYXJzZV93YXJuaW5nKG1lc3NhZ2UsCgkgICZlcnIsICZkZWJ1ZykgYnV0IGRvZXNuJ3QgZnJlZSBnaXZlbiBHRXJyb3IgYW5kIGRlYnVnIHN0cmluZ3MuCgkgIERvY3VtZW50YXRpb24gc2hvd3MgdGhhdCB0aGUgb3duZXJzaGlwIG9mIHRob3NlIGZpZWxkcyBpcyB0cmFuc2ZlcnJlZAoJICB0byBjYWxsZXIgKHRoZXkgYXJlIG1hcmtlZCAiW3RyYW5zZmVyIGZ1bGxdIiBpbiB0aGUgQVBJIGRvY3MpLgoKMjAxMS0xMi0xMiAxNTo1MjoyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzCgkgIEZpeCBidWcgIzY2NTk4OAoKMjAxMS0xMi0xMyAxMDo0NDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIFJldmVydCAibXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTYyOTc4ZDA0NWQ1N2VlOWZlZDc1OThjMDJiOTAxN2ViOTc0ZWEzNi4KCjIwMTEtMTItMTMgMTA6MTc6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBEb24ndCB1c2UgR19UWVBFX1JFR0lTVEVSX0JPWEVEKCkgeWV0CgkgIFRoaXMgd291bGQgcmVxdWlyZSBHTGliIDIuMjYuCgoyMDExLTEyLTEyIDIwOjAxOjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogYWR2ZXJ0aXNlIGFsbCB0aGUgbmV3IFlVViBmb3JtYXRzIHdlIGNhbiBub3cgdXNlCgoyMDExLTEyLTEyIDE5OjM0OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IHJlcGxhY2UgdGhlIG5ldyBZVVYgYmxpdHRpbmcgY29kZSB3aXRoIHRoZSBuZXdlciBvdmVybGF5IGNvZGUKCjIwMTEtMTItMTIgMTQ6NTQ6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cwoKMjAxMS0xMi0xMiAxMzo1OTozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0xMi0wNSAxODo1NzowMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBNYWtlIGZyYW1lc3RhdGUgYSByZWZlcmVuY2UgY291bnRlZCBib3hlZCBvYmplY3QKCSAgLi4uYW5kIGFsc28gY2xlYXIgYWxsIGV4aXN0aW5nIGZyYW1lcyB3aGVuIHJlc2V0dGluZyB0aGUgZGVjb2RlciBvciBlbmNvZGVyLgoKMjAxMS0xMi0wNSAxODo1NzowMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBNYWtlIEdzdFZpZGVvRnJhbWUgYSByZWZlcmVuY2UgY291bnRlZCBib3hlZCBvYmplY3QKCSAgLi4uYW5kIGFsc28gY2xlYXIgYWxsIGV4aXN0aW5nIGZyYW1lcyB3aGVuIHJlc2V0dGluZyB0aGUgZGVjb2RlciBvciBlbmNvZGVyLgoKMjAxMS0xMi0xMiAxMDo0MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHRlbGV0ZXh0ZGVjOiBQcm9wZXJseSBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDExLTEyLTEyIDEwOjI4OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgIGR0czogQWRkICQoR1NUX0JBU0VfTElCUykgYW5kIENGTEFHUyB0byB0aGUgYnVpbGQKCSAgZHRzZGVjIG5vdyB1c2VzIEdzdEFkYXB0ZXIsIHdoaWNoIGlzIGluIGxpYmdzdGJhc2UuIEFsc28gcmVvcmRlcgoJICBDRkxBR1MgYW5kIExJQkFERC4KCjIwMTEtMTItMTEgMTY6MDc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggbWFrZSBkaXN0Y2hlY2sKCSAgU2V0IERPQ19PVkVSUklERVMsIHNvIHRoZSAtb3ZlcnJpZGVzLnR4dCBmaWxlIHdoaWNoIGlzIGFwcGFyZW50bHkKCSAgY3JlYXRlZCBhbnl3YXksIGdldHMgY2xlYW5lZCB1cCBwcm9wZXJseS4KCjIwMTEtMTItMTEgMTY6MDU6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBtaW5vciBNYWtlZmlsZS5hbSBjbGVhbi11cAoJICBHU1RfQkFEX0NGTEFHUyBhbmQgR1NUX0JBRF9MSUJTIGRvbid0IGV4aXN0LgoKMjAxMS0xMi0xMSAxNToyOTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc2FibGUgZmFpbGluZyBqaWZtdXgsIGNhbWVyYWJpbjIsIGFuZCBjb2xvcnNwYWNlIHRlc3RzCgkgIGppZm11eDogZ2VuZXJhbDp0ZXN0X2ppZm11eF90YWdzOjA6IEFzc2VydGlvbiAnZW50cnktPmNvbXBvbmVudHMgPT0gMicgZmFpbGVkCgkgIGNhbWVyYWJpbjI6IHRlc3RfbXVsdGlwbGVfdmlkZW9fcmVjb3JkaW5nczowOiBnc3RfY2Fwc19nZXRfc3RydWN0dXJlOiBhc3NlcnRpb24gYEdTVF9JU19DQVBTIChjYXBzKQoJICBjb2xvcnNwYWNlOiBiYWQgbWVtb3J5IGFjY2Vzc2VzIGluIG9yYyBjb2RlIGZvciBvZGQgd2lkdGggYnVmZmVycyAoc2VlIGJ1ZyAjNjYzMjQ4KQoKMjAxMS0xMi0xMSAxNTowMzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBmaXggZ191c2xlZXAoKSBpbiBjYW1lcmFiaW4yIHRlc3QKCSAgZ191c2xlZXAoKSB0YWtlcyBhIG1pY3Jvc2Vjb25kIHZhbHVlLCBHU1RfU0VDT05EIGlzIG5hbm9zZWNvbmRzLCBzbwoJICB3ZSB3ZXJlIHNsZWVwaW5nIGZvciBtb3JlIHRoYW4gMyBtaW51dGVzIGhlcmUgaW5zdGVhZCBvZiAyMDBtcy4KCjIwMTEtMTItMTEgMDA6NTk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9nbC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTA5LTI1IDIzOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJICBtcGVncHNtdXg6IHB1dCBzdHJlYW0gaGVhZGVycyBpbnRvIG91dHB1dCBjYXBzCgkgIEJhc2ljIHZlcnNpb24gd2l0aCBvbmx5IHRoZSBzeXN0ZW0gaGVhZGVyIGFuZCB0aGUgcHJvZ3JhbQoJICBzdHJlYW0gbWFwLiBBbiBhZHZhbmNlZCB2ZXJzaW9uIGNvdWxkIGluY2x1ZGUgY29kZWMtc3BlY2lmaWMKCSAgYml0cyBsaWtlIFNQUy9QUFMgdG9vLiBUaGlzIGlzIHVzZWZ1bCBpbiBjb25uZWN0aW9uIHdpdGgKCSAgZS5nLiBtdWx0aWZpbGVzaW5rIHRvIG1ha2Ugc3VyZSBuZXcgZmlsZXMgYWx3YXlzIHN0YXJ0IHdpdGgKCSAgdGhlIHN0cmVhbSBoZWFkZXJzLgoKMjAxMS0wOS0xNiAxOTozMjozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IGFkZCAiYWdncmVnYXRlLWdvcHMiIHByb3BlcnR5IHRvIGFnZ3JlZ2F0ZSBHT1BzIGludG8gYnVmZmVyIGxpc3RzCgkgIFVzZWZ1bCBpbiBjb25uZWN0aW9uIHdpdGggbXVsdGlmaWxlc2luaywgZm9yIGV4YW1wbGUsIHRvIG1ha2Ugc3VyZQoJICB0aGUgbmV3IGZpbGUgYWx3YXlzIHN0YXJ0cyB3aXRoIGEga2V5ZnJhbWUuCgoyMDExLTEyLTEwIDIwOjA4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcmVtZW1iZXIgcHJpbWFyeSB2aWRlbyBzdHJlYW0KCjIwMTEtMDgtMzEgMTk6NDA6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogcmVtZW1iZXIgd2hldGhlciBhbiBpbmNvbWluZyBidWZmZXIgaXMgYSBrZXl1bml0IG9yIG5vdAoKMjAxMS0xMi0wOSAxNzoyNTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c2VuYzogYWRkIHVwc3RyZWFtIG5lZ290aWF0aW9uIGZvciBtdWx0aXN0cmVhbSBhYmlsaXR5CgkgIFRoaXMgd2lsbCBoZWxwIGVsZW1lbnRzIHRoYXQgY2Fubm90IGRlYWwgd2l0aCBtdWx0aXN0cmVhbSwKCSAgc3VjaCBhcyB0aGUgUlRQIHBheWxvYWRlci4KCSAgVGhlIGNhcHMgbm93IGRvIG5vdCBpbmNsdWRlIGEgInN0cmVhbXMiIGZpZWxkIGFueW1vcmUsIGJ1dAoJICBhICJtdWx0aXN0cmVhbSIgYm9vbGVhbiwgc2luY2Ugd2UgaGF2ZSBubyByZWFsIHVzZSBmb3Iga25vd2luZwoJICB0aGUgZXhhY3QgYW1vdW50IG9mIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTU6MTM6MTEgLTAyMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5Lmg6CgkgIEFkZGluZyBvcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZWxlbWVudAoJICBBZGRpbmcgT1BVUyBSVFAgbW9kdWxlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGRyYWZ0OgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaWQvZHJhZnQtc3BpdHRrYS1wYXlsb2FkLXJ0cC1vcHVzLTAwLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0ODE3CgoyMDExLTEyLTA4IDE5OjQ3OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogaW5jbHVkZSBzdHJlYW1zIGNvdW50IGluIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wOCAxODo0NToyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBwcm9wZXJseSBjcmVhdGUgY2hhbm5lbCBtYXBwaW5nIHRhYmxlcwoJICBUaGVyZSBhcmUgdHdvIG9mIHRoZW0sIHVuaW50dWl0aXZlbHkgZW5vdWdoOyB0aGUgb25lIHBhc3NlZAoJICB0byB0aGUgZW5jb2RlciBzaG91bGQgbm90IGJlIHRoZSBvbmUgdGhhdCBnZXRzIHdyaXR0ZW4gdG8gdGhlCgkgIGZpbGUuIFRoZSBmb3JtZXIgbWFwcyB0aGUgaW5wdXQgdG8gYW4gb3JkZXJpbmcgd2hpY2ggcHV0cwoJICBwYWlyZWQgY2hhbm5lbHMgZmlyc3QsIHdoaWxlIHRoZSBsYXR0ZXIgbW92ZXMgdGhlIGNoYW5uZWxzCgkgIHRvIFZvcmJpcyBvcmRlci4gU28gYWRkIGNvZGUgdG8gY2FsY3VsYXRlIGJvdGgsIGFuZCB3ZSBub3cKCSAgaGF2ZSBwcm9wZXJseSBwYWlyZWQgY2hhbm5lbHMgd2hlcmUgYXBwcm9wcmlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDggMjI6NDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0xMi0wOCAxMjo0Mjo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBvbmx5IG9mZnNldCB0aW1lc3RhbXBzIHdoZW4gbGl2ZQoJICBUaGlzIGNvZGUgaXMgdG8gc3luYyB0byBhIGxpdmUgc291cmNlIHdoZW4gdGhlcmUgaXMgYSBkZWxheQoJICBiZXR3ZWVuIHN0YXJ0IGFuZCB3aGVuIHdlIHJlY2VpdmUgdGhlIGZpcnN0IGJ1ZmZlciwgc28gaXQgZG9lcwoJICBub3QgbWFrZSBzZW5zZSBpbiBhIG5vbiBsaXZlIGNhc2UuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc3RyZWFtcyB3aGVyZSB0aGUgaW5wdXQgdGltZXN0YW1wcyBhcmUKCSAgYmFzZWQgb2ZmIHNvbWUgYXJiaXRyYXJ5IG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1NgoKMjAxMS0xMi0wOCAxMTo1MTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IG1ha2UgdGhlIGhlYWRlciBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUsIG5vdCB0aGUgYnVmZmVyCgoyMDExLTEyLTA4IDEwOjE5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEZpeCBoYW5kbGluZyBvZiBmb3JjZS1rZXl1bml0IGV2ZW50cwoKMjAxMS0xMi0wNyAwMDowNjoxMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogaGVhZGVyIGNsZWFudXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAwMDowNjoxMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVHJ1bmNhdGUgY2FwcyBmaXJzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTExLTI4IDE5OjQ3OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZGVmYXVsdCB0byBzdGVyZW8gNDgwMDAgSHogaWYgcG9zc2libGUgd2hlbiBubyBoZWFkZXJzIHNlZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxMzo0ODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJzbmRlYzogRG9uJ3QgdXNlIHRoZSBpbml0aWFsLWlkZW50aXR5IHByb3BlcnR5IG9uIGF1dG9jb252ZXJ0CgkgIEl0IHdhcyByZW1vdmVkLCBzZWUgYnVnICM1OTk0NjksICM2NjUyMDUKCjIwMTEtMTItMDcgMTM6NDY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogUmVtb3ZlIHRoZSBpbml0aWFsLWlkZW50aXR5IHByb3BlcnR5IGZyb20gYXV0b2NvbnZlcnQKCSAgSW5pdGlhbGx5IGNyZWF0aW5nIGFuIGlkZW50aXR5IGVsZW1lbnQgdG8gZm9yd2FyZCBzZXJpYWxpemVkCgkgIGV2ZW50cyBkb3duc3RyZWFtIGJlZm9yZSBhbnkgY2FwcyBhcmUga25vd24gaXMgYnJva2VuIGJlaGF2aW91ci4KCSAgU2VyaWFsaXplZCBldmVudHMgc2hvdWxkIG9ubHkgYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0gaWYgdGhlCgkgIGNhcHMgYXJlIGFscmVhZHkga25vd24sIG90aGVyd2lzZSBhdXRvcGx1Z2dlcnMgYW5kIG90aGVyIGVsZW1lbnRzCgkgIHVzaW5nIHBhZC1ibG9ja3Mgd2lsbCBmYWlsLgoJICBUaGlzIGJlaGF2aW91ciBhbHNvIGRvZXNuJ3Qgd29yayBhbnltb3JlIGFmdGVyIGJhc2V0cmFuc2Zvcm0KCSAgd2FzIGZpeGVkIHRvIHF1ZXVlIHNlcmlhbGl6ZWQgZXZlbnRzIHVudGlsIHRoZSBjYXBzIGFyZSBrbm93bgoJICBhcyBhIHJlc3VsdCBvZiBmaXhpbmcgYnVnICM2NTk1NzEuCgkgIFNlZSBidWcgIzU5OTQ2OSwgIzY2NTIwNS4KCjIwMTEtMTItMDYgMTY6Mjc6MjUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRG8gbm90IG5vdCBza2lwIHN0YXJ0Y29kZSB3aGVuIG5lZWRlZAoJICBGaXg6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU2MzEKCjIwMTEtMTItMDYgMDg6NTU6MTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZmlyc3QgdmlkZW9fcGFja2V0X2hlYWRlciBkb2Vzbid0IHN0YXJ0IHdpdGggcmVzeW5jX21hcmtlcgoKMjAxMS0xMi0wNiAwODo1MzowNyArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZXR1cm4gTk9fUEFDS0VUIGlmIG5lZWRlZAoKMjAxMS0xMi0wNiAwODozMToxNCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggYW4gaXNzdWUgaW4gY2hlY2sgcmVzeW5jIG1hcmtlcgoKMjAxMS0xMi0wNiAwODoyNTo1OSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggYW4gaXNzdWUgaW4gZmluZGluZyB0aGUgbGFzdCB2aWRlbyBwYWNrZXQgaW4gdm9wCgoyMDExLTEyLTA2IDA4OjIxOjE5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGluY2x1ZGUgcmVzeW5jIG1hcmtlciBpbiB2aWRlbyBwYWNrZXQgc2l6ZQoKMjAxMS0xMi0wNiAwODoxOTowNSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBzY2FuIG5leHQgcmVzeW5jIG1hcmtlciBhZnRlciBjdXJyZW50IG9uZQoKMjAxMS0xMi0wNiAwODoxNzozOCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggPCAwIGlzc3VlIG9mIGd1aW50IGluIG1wZWc0IHBhcnNlcgoJICBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIHJldHVybnMgYSBndWludCwgbm90IGEgZ2ludCwgd2hpY2gKCSAgZXhwbGFpbnMgdGhlIGlzc3VlIHdlIHNvbWV0aW1lIGdldCB1c2luZyA8IDAgaW5zdGVhZCBvZiA9PSAtMTsKCjIwMTEtMTItMDYgMDg6MTU6NDYgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IHBhdHRlcm4vbWFzayBvZiByZXN5bmNfbWFya2VyIHBhcnNpbmcgb2YgbXBlZzQKCjIwMTEtMTItMDYgMTM6MDY6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBoYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIFNlbmQgU1BTL1BQUyBvbiBmb3JjZSBrZXkgdW5pdCBldmVudHMuIFVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHNlcnZpbmcgSExTCgkgIHdpdGhvdXQgdHJhbnNjb2RpbmcuCgoyMDExLTEyLTA2IDEyOjU1OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggY29tcGlsZSB3YXJuaW5ncyBpbiBnc3RtcGVnNHBhcnNlci5jCgoyMDExLTEyLTA1IDExOjU2OjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IEFkZCBtb3JlIGZpbGVzIHRvIC5naXRpZ25vcmUKCjIwMTEtMTItMDUgMTE6NTA6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2UgZmFzdGVyIHBhcnNpbmcgdmFyaWFudCB3aGVuIGlucHV0IGlzIHBhY2tldGl6ZWQKCSAgUmVkdWNlcyBsYXRlbmN5IGFuZCBjcHUgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTU4NAoKMjAxMS0xMi0wNSAxMTo0Nzo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVmFyaWFudCBvZiBfaWRlbnRpZnlfbmFsdSB3aXRob3V0IGNoZWNrcwoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgdGhlIGNhbGxlciAqa25vd3MqIHRoYXQgdGhlIHByb3ZpZGVkCgkgIGlucHV0IGNvbnRhaW5zIGEgd2hvbGUgTkFMVSBhbmQgY2FuIHRoZXJlZm9yZSBhdm9pZDoKCSAgKiB0aGUgZXhwZW5zaXZlIGNoZWNrcyBmb3IgdGhlIG5leHQgc3RhcnQgY29kZSAod2hpY2ggd29uJ3QgYmUgcHJlc2VudCkKCSAgKiBkZWxheWluZyB0aGUgaW5wdXQgcGFyc2luZyAoc2luY2Ugd2Ugd291bGQgbmVlZCB0aGUgbmV4dCBpbmNvbWluZyBOQUxVCgkgIGluIG9yZGVyIGZvciB0aGUgcGFyc2luZyBjb2RlIHRvIGRldGVjdCB0aGUgbmV4dCBzdGFydCBjb2RlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NTg0CgoyMDExLTEyLTA1IDEzOjA5OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVmbG93IHNsaWNlIG5hbCBwcm9jZXNzaW5nCgoyMDExLTEyLTA1IDEyOjU3OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3B0aW1pemUgc2xpY2UgbmFsIHByb2Nlc3NpbmcKCSAgT25seSBtaW5pbWFsIHNsaWNlIGluZm8gaXMgbmVlZGVkIGhlcmUgdG8gZGV0ZXJtaW5lIHJlYWwgZnJhbWUgc3RhcnQsCgkgIHNvIG5vIG5lZWQgdG8gcGFyc2UgZXh0ZW5zaXZlbHkuCgkgIEZpeGVzICM2NjU0MTguCgoyMDExLTEyLTA1IDEyOjUzOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogdW5icmVhayBoMjY0IHNsaWNlIGhlYWRlciBwYXJzaW5nCgkgIC4uIGludHJvZHVjZWQgYnkgcmVmYWN0b3JpbmcgaW4gY29tbWl0IDE3NzQ1MWM5MjE2ZjRlMzk1OWU3MzU4Njc1ZmJiOTczMWQyYzgxYTIKCjIwMTEtMTItMDEgMTg6Mjg6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJICBwdnIyZDogUG9ydCB0byAwLjExCgkgIEhhbmRsZXMgR3N0VmlkZW9NZXRhIGFuZCBHc3RWaWRlb0Nyb3BNZXRhCgkgIFByb3ZpZGVzIEdzdEJ1ZmZlclBvb2wKCSAgTmV3IEdzdFBWUk1ldGEgdG8gaGFuZGxlIHRoZSB3cmFwcGVkIFBWUiBtZW1fc3JjCgoyMDExLTEyLTAyIDE3OjUzOjIzICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRml4IHJlZmVyZW5jZSBjb3VudGluZyBvZiBjb2RlY19kYXRhCgoyMDExLTEyLTA1IDA4OjU2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogSW1wbGVtZW50IGl0ZXJhdGVfaW50ZXJuYWxfbGlua3MgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQgYW5kIHNyY3BhZAoKMjAxMS0xMS0yOCAxOTozODozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGd1YXJkIGFnYWluc3QgZGVjb2RpbmcgMCBzYW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDIgMTE6NDY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgWFZJRCBBUEkgPj0gNC4zCgkgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGVuY29kaW5nIHRoZSBzaW1wbGUgcHJvZmlsZQoJICB3aXRoIGxldmVscyA0YSwgNSBvciA2LgoJICBGaXhlcyBidWcgIzY2NTM3OC4KCjIwMTEtMTItMDEgMTY6NTk6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogdXNlIEdzdFNhbXBsZSBmb3IgdGhlIHByZXZpZXcKCjIwMTEtMTItMDEgMTA6NTQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBEb24ndCBhZGQgdGhlIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIHZpZGVvL3gteHZpZCBjYXBzCgoyMDExLTEyLTAxIDA5OjU0OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkZW5jOiBBZGQgcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcyBhbmQgbmVnb3RpYXRlIHRoZW0gd2l0aCBkb3duc3RyZWFtCgkgIFN0aWxsIGtlZXAgdGhlIHByb2ZpbGUgcHJvcGVydHkgdG8gc2VsZWN0IHByb2ZpbGUvbGV2ZWwgaWYgdGhlcmUKCSAgYXJlIG5vIGRvd25zdHJlYW0gY29uc3RyYWludHMuCgkgIEZpeGVzIGJ1ZyAjNjUyMjYxLgoKMjAxMS0xMi0wMSAwOTozOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEFkZCBzdXBwb3J0IGZvciBsZXZlbHMgNGEvNS82IG9mIHRoZSBzaW1wbGUgcHJvZmlsZQoKMjAxMS0xMi0wMSAwOTowMjo0NiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGxldCB1cHN0cmVhbSBQQVIgb3ZlcnJpZGUgaW4tc3RyZWFtIFBBUgoKMjAxMS0xMS0yMyAxODoyNjo0NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmV3b3JrIFBBUiBwYXJzaW5nCgkgIEFuZCBpbiB0aGUgcHJvY2VzcyByZWZhY3RvciBfdXBkYXRlX3NyY19jYXBzIGEgYml0CgoyMDExLTExLTE2IDAwOjAzOjEyIC0wNTAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZXNwZWN0IHBpeGVsLWFzcGVjdC1yYXRpbwoJICBQYXJzZSBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gdnVpIGluZm9ybWF0aW9uLgoKMjAxMS0xMS0zMCAyMjoxMjoyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNwYWNlOiB3aGl0ZXNwYWNlIGNsZWFudXBzCgoyMDExLTExLTMwIDIyOjExOjQwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICB3YXZlc2NhcGU6IGFsc28gYWRkIGNvbG9ybW9kZXMgbGlrZSBpbiBzcGFjZXNjb3BlCgoyMDExLTExLTMwIDE1OjEzOjA0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHVwZGF0ZSBSRUFETUUKCjIwMTEtMTEtMzAgMTQ6MjA6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzY29wZTogYWRkIGNvbG9yLW1vZGVzCgkgIEluIGNvbG9ybW9kZSB3ZSBzcGxpdCB0aGUgc2lnbmFsIGluIGxvdyxtaWQsaGlnaCBmcmVxdWVuY3kgcGFydHMgYW5kIGRyYXcgdGhlbQoJICBzZXBhcmF0ZWx5IGludG8gcmVkLCBncmVlLCBibHVlIGNvbG9yIGNoYW5uZWxzLgoKMjAxMS0wOC0zMCAxNDozNzo0MiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSAgcmVwbGFjZSBwcm9wc2V0X211dGV4IHdpdGggR1NUX09CSkVDVF9MT0NLCgoyMDExLTExLTI1IDIyOjMyOjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSAgYXVkaW92aXN1YWxpemVyczogc3RyZWFtbGluZSB0aGUgbGluZV9hYSBjb2RlCgkgIEhhdmUgYSByZXVzYWJsZSBkb3RfYWEgY29kZSBhbmQgcmV1c2UgaW4gdGhlIGxpbmUgZHJhd2luZy4KCjIwMTEtMTEtMzAgMTA6MzU6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzbXV4OiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIC1iYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ0ZMQUdTLCBmaXggb3JkZXIgb2YgTElCUy4KCjIwMTEtMDgtMjEgMTE6MDE6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgSGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cyBvdXRwdXR0aW5nIFBBVCBhbmQgUE1UIHdoZW4gYWxsX2hlYWRlcnM9VFJVRQoKMjAxMS0xMS0yOSAyMzo0MToyMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBhbGxvdyB0byBidWlsZCBhZ2FpbnN0IDIuMy4xCgoyMDExLTExLTI5IDE4OjE4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBtcGVnNHZpZGVvcGFyc2UgZGlyZWN0b3J5IHRvIENSVUZUX0RJUlMKCjIwMTEtMTEtMjkgMTk6MTE6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZml4IGZvciBtb3ZlZCBpbnRlcmZhY2VzCgoyMDExLTExLTIyIDA5OjQ3OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb24oKS4KCjIwMTEtMTEtMjIgMDk6NDc6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlbmFtZSByZWZfcGljX2xpc3RfcmVvcmRlcmluZygpIHRvIHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb24oKS4KCSAgVXBncmFkZSB0byBjdXJyZW50IEFWQyBzcGVjaWZpY2F0aW9uLgoKMjAxMS0xMS0yOSAxMjoyMDo1MSArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHJlY2FsY3VsYXRlIGFkanVzdCBpZiBkaWZmZXJlbmNlIGlzIG5lZ2F0aXZlCgkgIE9uZSBvZiBteSBkdmRzIGp1bXAgb24gc29tZSBwb3NpdGlvbiBhbmQgbWlzcyBhYm91dCAxIG1pbnV0ZSBvZiBzdHJlYW0uCgkgIFRoZSByZWFzb24gd2FzIG1wZWcgdGltZXN0YW1wcy4gT24gc29tZSBwb3NpdGlvbiBzY3IgZGlmZmVyZW5jZSBpcyBuZWdhdGl2ZS4KCSAgSXQgcHJvZHVjZWQgbmVnYXRpdmUgdGltZXN0YW1wcy4gU2luY2UgaXQgd2FzIGNvbnZlcnRlZCB0byB1bnNpZ25lZCB2YWx1ZSwKCSAgZ3N0cmVhbWVyIHRpbWVzdGFtcHMgd2FzIGludmFsaWQuIEluc3RlYWQgb2YgaW5jcmVhc2luZyBtcGVnIHRzLAoJICB0aGV5IHdhcyBkZWNyZWFzaW5nIHRpbGwgaXQgc3RhcnRlZCB0byBiZSBwb3NpdGl2ZS4KCSAgVGhlIGp1bXAgaW4gdGltZXN0YW1wcyBjYXVzZWQgbXBlZzJkZWMgdG8gc2tpcCBmcmFtZXMgdG8gbWFrZSBRb1MgaGFwcHkuCgkgIFRoaXMgcGF0Y2gganVzdCBtYWtlIGRpZmYgdW5zaWduZWQgdG8gYXZvaWQgbmVnYXRpdmUgdmFsdWVzLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYxMTUKCjIwMTEtMTEtMjkgMTI6MTI6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFBhc3MgdGhlIGFsbC1oZWFkZXJzIGZpZWxkIG9mIHRoZSBmb3JjZS1rZXktdW5pdCBldmVudCB0byB0aGUgc3ViY2xhc3MKCjIwMTEtMTEtMjkgMTI6MTI6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogSW1wbGVtZW50IGZ1bGwgc3VwcG9ydCBmb3IgdGhlIG5ldyBmb3JjZS1rZXktdW5pdCBldmVudAoJICBJbmNsdWRpbmcgc3VwcG9ydCBmb3IgdGhlIHJ1bm5pbmctdGltZSBhbmQgY291bnQgZmllbGRzLgoKMjAxMS0xMS0yOSAwOTozMToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBVc2UgbmV3IGZvcmNlLWtleXVuaXQgZXZlbnQgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoKMjAxMS0xMS0yOSAwOToxODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGp1c3RpbmcgcGFkZGluZyBpcyBub3QgcmVxdWlyZWQgZm9yIC1iYWQgbGlicmFyaWVzCgoyMDExLTExLTI4IDE5OjQ4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1vdmUgc29tZSBmaWVsZHMgdG8gdGhlIHByaXZhdGUgcGFydCBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0CgoyMDExLTExLTI4IDE5OjM2OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1ha2UgaGVhZGVycyBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgcHVzaGluZyBkb3duc3RyZWFtCgkgIFRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uLCBldGMgb2YgdGhlIGhlYWRlcnMgaGFzIHRvIGJlIGNoYW5nZWQuCgoyMDExLTExLTI4IDE5OjM1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFB1c2ggdGhlIGRvd25zdHJlYW0gZm9yY2Uta2V5ZnJhbWUgZXZlbnQgYWZ0ZXIgdGhlIG5leHQga2V5ZnJhbWUKCSAgRXZlbiBpZiB0aGUgY29ycmVzcG9uZGluZyBHc3RWaWRlb0ZyYW1lIGRvZXNuJ3QgaGF2ZSB0aGUgaXNfc3luY19wb2ludAoJICBmbGFnIHNldC4KCjIwMTEtMTEtMjggMTk6Mjk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRG9uJ3QgcHVzaCBhbiB1cHN0cmVhbSBmb3JjZS1rZXl1bml0IGV2ZW50IGRvd25zdHJlYW0KCjIwMTEtMTEtMjUgMTE6NDg6MDggKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIGFsbC1oZWFkZXJzIGZpZWxkIG9mIHRoZSBmb3JjZS1rZXlmcmFtZSBldmVudAoJICBTZWUgYnVnICM2MDc3NDIuCgoyMDExLTExLTI5IDA5OjIyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggc2V0LWJ1dC1ub3QtdXNlZC12YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGdzdGthdGV0aWdlci5jOjExNTY6MTU6IGVycm9yOiB2YXJpYWJsZSAnaGVpZ2h0JyBzZXQgYnV0IG5vdCB1c2VkCgkgIGdzdGthdGV0aWdlci5jOjExNTY6ODogZXJyb3I6IHZhcmlhYmxlICd3aWR0aCcgc2V0IGJ1dCBub3QgdXNlZAoKMjAxMS0xMS0yOSAwOToxNToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtaW5vciBmaXhlcwoJICBDb25zdC1pZnkgb25lIG1vcmUgVkxDIHRhYmxlLiBGaXggc3BlbGxpbmcgb2YgJ2h5YnJpZCcuCgkgIE5vIG5lZWQgdG8gZXhwbGljaXRseSBjYWxsIGVuc3VyZV9kZWJ1Z19jYXRlZ29yeSgpIGV2ZXJ5d2hlcmUsCgkgIHRoYXQgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgZnJvbSBHU1RfTE9HKCkgYW5kIGZyaWVuZHMKCSAgdmlhIEdTVF9DQVRfREVGQVVMVC4KCjIwMTEtMTEtMDggMTA6NDQ6MTEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBjb2RlY3BhcnNlcjogbXBlZzQ6IExvb2sgZm9yIHJlc3luYyBjb2RlIGluIF9tcGVnNF9wYXJzZQoJICBUaGlzIHdheSB0aGUgQVBJIGlzIHNpbXBsZXIgYW5kIHVzZXJzIGNhbiBjYWxsIDEgc2luZ2xlIGZ1bmN0aW9uIGZvciBwYWNrZXQKCSAgZGV0ZWN0aW9uLgoKMjAxMS0wOS0yOSAxNDozNzo1OSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQcm9wZXJseSBoYW5kbGUgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBGaXggIzY2MDIzNAoKMjAxMS0wOS0yNiAxNjo1ODo1OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtcGVnNHBhcnNlciBsaWJyYXJ5CgoyMDExLTA5LTI2IDEwOjM5OjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBNb3ZlIHRvIHRoZSB2aWRlb3BhcnNlcnMgcGx1Z2luCgkgIFJlbmFtZSBhIGZldyB2YXJpYWJsZXMgdG8gdXNlIHRoZSBzYW1lIGNvbnZlbnRpb24gYXMgb3RoZXJzIGVsZW1lbnRzIGluIHRoaXMKCSAgcGx1Z2luCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMS0wMiAwOToxNDo0MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBEZWNsYXJlIHByaXZhdGUgYXJyYXlzIGFzIHN0YXRpYyBhbGwgYXJvdW5kCgoyMDExLTA5LTIxIDE5OjQ5OjM2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogSW1wbGVtZW50IGFuIE1wZWc0IHBhcnQgMiBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDktMjEgMTk6NDA6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IE1vdmUgc2hhcmVkIGNvZGUgdG8gYSBwYXJzZXIgdXRpbHMgZmlsZQoKMjAxMS0wOS0yOSAxNjoyNToyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnY29uZmlnOiByZW1vdmUgcmVmZXJlbmNlcyB0byBjb2RlY3BhcnNlcnMgZnJvbSAtYmFkLnBjLmluCgoyMDExLTExLTI4IDIzOjIwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMzoyMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzc1MjFiNTk3ZjRkYzQ5ZDhkMTY4ZjM2OGYwZTdlYmFmOThhNzIxNTYnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMzoyMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzI2ZDZhZGQ5NDU3ZjAwY2U4ZWMxMzg0NDM2ODQ2NmYwZTM4MTZlNWQnIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmMKCjIwMTEtMTEtMjggMTg6NDc6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogdXNlIGZhc3RlciBjYXN0IG1hY3JvCgkgIFVzZSBjYXN0IG1hY3JvIHdpdGhvdXQgdHlwZSBjaGVja3Mgd2hlbiB3ZSBrbm93IGl0IHNob3VsZCB3b3JrLgoKMjAxMS0xMS0yOCAxODo0Mzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBMaW5rIGVsZW1lbnRzIGRpcmVjdGx5IHRvIHVzZSBmYXN0ZXIgdmVyc2lvbgoJICBmZm1wZWdjb2xvcnNwYWNlIGFuZCB2aWRlb3NjYWxlIHNob3VsZCBhbHdheXMgbGluayBzdWNjZXNzZnVsbHksIHVzZQoJICB0aGUgZmFzdCBwYWQgbGlua2luZyB2ZXJzaW9uIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgZ2VuZXJpYyBoZWxwZXIKCSAgZnVuY3Rpb24uCgoyMDExLTExLTI4IDE2OjM1OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogbWljcm8gb3B0aW1pemUgbGlua2luZyBzb21lIG1vcmUKCjIwMTEtMDktMjkgMjI6NDM6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIGthdGU6IHN1cHBvcnQgZm9yIHJlbmRlcmluZyBvbiBzZXZlcmFsIFlVViBmb3JtYXRzCgkgIFRoaXMgc3BlZWRzIHVwIHJlbmRlcmluZyBhIGZhaXIgYml0IGJ5IG5vdCByZXF1aXJpbmcgY29sb3JzcGFjZQoJICBjb252ZXJzaW9uLCB3aGV0aGVyIHRoZXJlIGlzIGFueXRoaW5nIHRvIG92ZXJsYXkgb3Igbm90LgoJICBUaGUgYmxlbmRpbmcgY29kZSB3YXMgbmlja2VkIGZyb20gdGV4dG92ZXJsYXkuIEkgd291bGQgdGhpbmsKCSAgdGhpcyBtaWdodCBiZSBhIGhlbHBmdWwgdGhpbmcgdG8gcHV0IGluLCBzYXksIGxpYmdzdHZpZGVvIGF0CgkgIHNvbWUgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MjgKCjIwMTEtMDgtMTggMTE6Mzk6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IG51bWJlciBvZiBieXRlcyByZWFkIGZvciBmaXhlZCB0aW1lIGluY3JlbWVudAoJICBUaGUgc3BlYyBJIGZvdW5kIHNheXMgIjE2IGJpdHMiLgoJICBUaGUgZXhpc3RpbmcgY29kZSB1c2VkIGxvZzIoc29tZXZhbHVlKSsxLgoJICBmZm1wZWcgdXNlcyBsb2cyKHNvbWV2YWx1ZS0xKSsxLgoJICBUaGUgY29kZSBub3cgdXNlcyBsb2cyKHNvbWV2YWx1ZS0xKSsxLCBhbmQgdGhpcyBtYWtlcyBpdCB3b3JrIHdpdGgKCSAgc29tZSBzYW1wbGUgdmlkZW8gd2l0aG91dCBicmVha2luZyBhbm90aGVyIHNhbXBsZS4KCSAgTm93LCBJJ20gZmFyIGZyb20gY2VydGFpbiBJJ3ZlIGdvdCB0aGUgcmlnaHQgc3BlYywgSSBmb3VuZCBpdCBieQoJICBzZWFyY2hpbmcgdGhlIGludGVybmV0LCBzby4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NjY2CgoyMDExLTExLTI4IDE1OjEwOjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IFRyeSB0byBhZGQgYWxsIHN0cmVhbXMgZWFybHkKCSAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIHNpZ25hbCBuby1tb3JlLXBhZHMgdG8gYXZvaWQgaGl0dGluZwoJICB0aGUgZGVjb2RlYmluMiBvdmVycnVuLgoKMjAxMS0wOS0yNiAxMjo0MzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBoYW5kbGUgcGFkcyB3aXRoIG5vIGRhdGEKCSAgU29tZSBzdHJlYW1zIGRlY2xhcmUgUElEcyBidXQgd2lsbCBub3Qgc2VuZCBkYXRhIGZvciB0aGVtLgoJICBFbnN1cmUgd2UgdGltZSBvdXQgb24gdGhvc2UsIGFuZCBib3RoIHNlbmQgbmV3IHNlZ21lbnRzIHRvCgkgIGtlZXAgdGhlaXIgdGltZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgcmVzdCwgYW5kIGRvIG5vdCB3YWl0CgkgIGZvcmV2ZXIgYmVmb3JlIGRlY2lkaW5nIHRvIHNpZ25hbCBuby1tb3JlLXBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5MjQKCjIwMTEtMDktMjYgMTI6MTY6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBzaWduYWwgbm8tbW9yZS1wYWRzIHdoZW4gYXBwcm9wcmlhdGUKCSAgV2UgdHJhY2sgc3RyZWFtcyBmb3Igd2hpY2ggYSBkYXRhIGNhbGxiYWNrIGlzIHNldCAoYW5kIGZvciB3aGljaAoJICBwYWRzIHdpbGwgYmUgYWRkZWQgb25seSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQpLCBhbmQgc2lnbmFsCgkgIG5vLW1vcmUtcGFkcyB3aGVuIHRoZSBsYXN0IHBhZCBpcyBhZGRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTkyNAoKMjAxMS0wOS0wNSAxNzo0MDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiB0YWtlIGludG8gYWNjb3VudCBvZmZzZXQgb2YgZmlyc3QgYnVmZmVyCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgd2hlbiB0aGUgc291cmNlIHN0YXJ0cyBsYXRlciB0aGFuIHRoZSBwbGF5YmFjawoJICBwaXBlbGluZSwgYW5kIHdoZW4gYSBzb3VyY2UgZHJvcHMgZm9yIGEgd2hpbGUgdGhlbiByZXN0YXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Nzc5NAoKMjAxMS0wOS0wMyAxNDozNzo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHNvbWUgbW9yZSB2aWRlbyBmcmVlemluZwoJICBUaGVyZSB3YXMgYSBzZWNvbmQgdGhyZXNob2xkLCB3aGljaCBhcHBhcmVudGx5IG5lZWRzIHRvIGJlIHNtYWxsZXIKCSAgdGhhbiB0aGUgZmlyc3QsIHRob3VnaCBJJ20gbm90IGNlcnRhaW4gb2YgaXQgYXMgSSBkb24ndCB1bmRlcnN0YW5kCgkgIHlldCB0aGlzIG5lc3Qgb2Ygd3RmIHRoYXQgaXMgdGhlIG1wZWcgZGVtdXhlciB0aW1pbmcgbG9naWMuCgkgIEZpeGVzIHZpZGVvIGZyZWV6aW5nIG9uIG9uZSAoY29ycnVwdGVkKSBNUEVHIHNhbXBsZS4gSXQgd291bGQKCSAgcHJldmlvdXNseSBuZXZlciB0aGluayBpdCB3YXMgb3V0IG9mIHRoZSBkaXNjb250aW51aXR5LCBhbmQgd291bGQKCSAgcHVzaCBidWZmZXJzIHdpdGggbm8gdGltZXN0YW1wLgoJICBOb3cgdGhpcyB0b29rIG1lIG1vcmUgdGhhbiBhIGRheSdzIHBva2luZyBhdCB0aGUgdGhpbmcsIGZvciBqdXN0CgkgIG9uZSBjb25zdGFudCBjaGFuZ2UsIGFuZCBJJ20gc2NhcmVkIHRvIGhhdmUgdG8gdG91Y2ggdGhpcyBhZ2FpbiA6UwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODA0CgoyMDExLTA4LTMwIDE0OjUwOjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IGNhdGNoIHNtYWxsZXIgUFRTIGRpY29udGludWl0aWVzCgkgIEluIGEgdGVzdCBzdHJlYW0sIEkgZ2V0IG9uZSBidWZmZXIgd2l0aCBhIFBUUyBvZiBhYm91dCAxNSBzZWNvbmRzCgkgIGluIHRoZSBmdXR1cmUgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIG9uZSwgYW5kIG5leHQgYnVmZmVycyB3aXRoCgkgIHRpbWVzdGFtcHMgY29udGludWluZyB3aGVyZSB0aGUgb3JpZ2luYWwgb25lcyBsZWZ0IG9mZi4KCSAgVGhpcyBjYXVzZWQgdGhlIHNpbmsgdG8gd2FpdCAxNSBzZWNvbmRzIHRvIGRpc3BsYXkgdGhlIGZyYW1lIHdoaWxlCgkgIG1vcmUgZnJhbWVzIHF1ZXVlZCB1cCwgYW5kIHRoZW4gZHVtcCBhbGwgdGhlIHN1YnNlcXVlbnQgZnJhbWVzIGFzCgkgIHRoZXkgImFycml2ZWQgdG9vIGxhdGUiLgoJICBNYXliZSB0aGF0IHRocmVzaG9sZCBzaG91bGQgYmUgbWFkZSBjb25maWd1cmFibGUsIGJ1dCBmb3Igbm93LAoJICBtYWtlIGl0IG1vcmUgc21hbGxlciB0byBjYXRjaCBtb3JlIG9mIHRoZXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODA0CgkgIE5vbiBBViBzdHJlYW1zIGtlZXAgdXNpbmcgdGhlIGxhcmdlciB0aHJlc2hvbGQgKDEwIG1pbnV0ZXMpLCBhcwoJICBzdWJ0aXRsZXMgbWF5IGFycml2ZSBvbmx5IGV2ZXJ5IHNvIG9mdGVuLgoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTEwLTA2IDE3OjQzOjE5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogYWRkIFdTQVN0YXJ0dXAgYW5kIFdTQUNsZWFudXAgb24gV2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTA5OAoKMjAxMS0xMS0yNyAyMDoyNDozOSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBmb3JtYXQgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yNyAyMzozMzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjQgMTM6NDk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IGV4dHJhY3QgSUQzIHRhZ3MgZW1iZWRkZWQgaW4gSUQzIGNodW5rcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NzI1CgoyMDExLTExLTI2IDE1OjM3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmgKCjIwMTEtMTEtMjUgMjM6MTE6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgb3BlbmN2OiBwb3J0IGJhc2VjbGFzcyB0byAwLjExCgoyMDExLTExLTI1IDExOjQxOjE5IC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogRml4aW5nICJVbnVzZWQgdmFyIiBjb21waWxpbmcgZXJyb3IgZm9yIG9wdXMgY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNQoKMjAxMS0xMS0yNSAxNDowMDoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2VuYzogb25seSB1c2UgbW9ubyBzdHJlYW1zIGZvciA+IDIgY2hhbm5lbHMKCSAgSSdtIGdldHRpbmcgb2RkIHJlc3VsdHMgd2l0aCBwYWNraW5nIHN0cmVhbXMgaW50byBzdGVyZW8KCSAgc3RyZWFtcywgYW5kIHVzaW5nIG9ubHkgbW9ubyBzdHJlYW1zIGlzIGVub3VnaCBpbiBhbGwgY2FzZXMuCgoyMDExLTExLTI1IDEyOjQ3OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCBjaGFubmVsIG1hcHBpbmcKCjIwMTEtMTEtMjUgMTI6NDY6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcmVtb3ZlIGRlYWQgYXNzaWdtZW50cwoJICBXZSBub3cgb25seSBrZWVwIGEgcmVmIHRvIHRoZSBoZWFkZXJzIGZvciBsYXRlciByZXVzZS4KCjIwMTEtMTEtMjUgMTI6NDA6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgY2F1c2UgdGhlIGRlY29kZXIgdG8gYXBwbHkgdGhlIGNoYW5uZWwgbWFwcGluZyBhZ2FpbgoJICBTaW5jZSB3ZSBhbHJlYWR5IHJlb3JkZXIgY2hhbm5lbHMsIHdlIGRvIG5vdCB3YW50IHRvIHdyaXRlIHRoYXQKCSAgcmVvcmRlcmluZyBpbiB0aGUgaGVhZGVyLCBvciB0aGUgZGVjb2RlciB3aWxsIGRvIGl0IGFnYWluLgoKMjAxMS0xMS0yNSAxMjozOToyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBib2d1cyBhc3NlcnRpb24KCjIwMTEtMTEtMjUgMTU6NDk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIHZvYW1yd2JlbmMKCjIwMTEtMTEtMjUgMTI6NDg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMS0xMS0yNSAxMTozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzb21lIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAxMS0xMS0yNSAxMTozNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHVzZSBuZXcgYmFzZXZpZGVvZGVjb2RlciBBUEkgdG8gZHJvcCBmcmFtZXMgYW5kIGdldCBRb1MgbWVzc2FnZXMgcG9zdGVkCgoyMDExLTExLTIzIDIwOjAzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBBUEkgdG8gZHJvcCBhIGZyYW1lIGFuZCBwb3N0IGEgUW9TIG1lc3NhZ2Ugb24gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDE3CgkgIEFQSTogZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9kcm9wX2ZyYW1lKCkKCjIwMTEtMDgtMzAgMjM6Mzk6MzYgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2RyaTJfd3MuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfZGVmcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ190eXBlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3B2cjJkLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlc2V4dC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3dzZWdsLmg6CgkgIEFkZCBwdnJ2aWRlb3NpbmsgZWxlbWVudAoJICBQVlJWaWRlb1NpbmsgdXNlcyBQVlIyRCBsaWJyYXJ5IHRvIGJsaXQgaW1hZ2VzLgoJICBBdXRob3I6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgkgIEF1dGhvcjogTHVjaWFuYSBGdWppaSA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoyMDExLTExLTI0IDIxOjUyOjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggY2FwcyB1c2FnZSBpbiBwYXJzZXIgdGVzdCBoZWxwZXIKCSAgRml4ZXMgcHJldmlvdXMgY29tbWl0OyB1c2VycyBjYW4gY2FsbCB0aGlzIHdpdGggTlVMTCBjYXBzLgoKMjAxMS0xMS0yNCAyMTo0MjozOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjQgMTk6MDM6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhYS1saW5lIGNvZGUgYW5kIHVzZXIgZm9yIHdhdmUvc3BhY2Utc2NvcGUKCjIwMTEtMTEtMjQgMTM6Mzg6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBwcmUtc2tpcCBhbmQgb3V0cHV0IGdhaW4gYXJlIGxpdHRsZSBlbmRpYW4sIHJlbW92ZSByZW1pbmRlciBub3RlCgoyMDExLTExLTI0IDEzOjI5OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBtdWx0aWNoYW5uZWwgc3VwcG9ydAoKMjAxMS0xMS0yMyAxNzo0OTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHN3aXRjaCB0byBtdWx0aXN0cmVhbSBBUEkKCSAgSXQncyB2ZXJ5IHNpbWlsYXIgdG8gdGhlIGJhc2ljIEFQSSwgYW5kIGlzIGEgc3VwZXJzZXQgb3QgaXQsCgkgIHdoaWNoIHdpbGwgYWxsb3cgZW5jb2RpbmcgYW5kIGRlY29kaW5nIG1vcmUgdGhhbiAyIGNoYW5uZWxzLgoKMjAxMS0xMS0yMyAxNzozMjowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHNodWZmbGUgc3VwcG9ydGVkIHNhbXBsZSByYXRlcyB0byBmYXZvciA0ODAwMAoKMjAxMS0xMS0yMyAxNjozNjo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcmVtb3ZlIHVzZWxlc3Mgc2V0dXAgZmllbGQKCjIwMTEtMTEtMjQgMTI6MDE6NDggKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcG9ydCB0byAwLjExCgkgIFVuaXQgdGVzdHMgbWlzc2luZyBmb3Igbm93LgoKMjAxMS0xMS0yNCAxMTo1OToxOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBwb3J0IHRvIDAuMTEKCSAgT25seSB0byBmaXggdGhlIGJ1aWxkIHJlYWxseSAoZ3RrLWRvYyBpcyB0cnlpbmcgdG8gcGljayB1cCB0aGUgdW5idWlsZGFibGUKCSAgbGliKS4gTm90IHRlc3RlZCBhdCBhbGwgKGJ1dCBwcmV0dHkgdHJpdmlhbCBjYXNlIGFueXdheXMpLgoKMjAxMS0xMS0wMiAxMzoyNTo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCB3aWR0aC9oZWlnaHQgbWlzbWF0Y2hlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM4CgoyMDExLTExLTI0IDEwOjI2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIHRoZSBzaW5rcGFkIHRlbXBsYXRlIGNhcHMgYXMgYSBmYWxsYmFjaywgbm90IHRoZSBzcmNwYWQgb25lcwoKMjAxMS0xMS0yNCAxMDoxNDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDk6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowNDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwMTo1NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogcmVtb3ZlIGlyYWRpby0qIHByb3BlcnRpZXMKCSAgU2hvdWxkIHNlbmQgdGFncyBpbnN0ZWFkLgoKMjAxMS0xMS0yNCAwMTo1MjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogdW5jb25kaXRpb25hbGx5IHNlbmQgaWNlY2FzdCByZXF1ZXN0IGhlYWRlciwgcmVtb3ZlIGlyYWRpby1tb2RlIHByb3BlcnR5CgoyMDExLTExLTI0IDAxOjIyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIG1tc3NyYzogbWFrZSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5IGEgZ3VpbnQ2NAoJICBFdmVuIGlmIHRoZSBsaWJyYXJ5IGxpbWl0cyBpdCB0byBhbiBpbnQuCgoyMDExLTExLTI0IDAwOjU2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHVwZGF0ZSBmb3IgZ3N0cnRwYmluIC0+IHJ0cGJpbiByZW5hbWluZwoKMjAxMS0xMS0yMyAyMzo0Mjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIGZhYWMsIHJ0bXA6IG1vcmUgcHJpbnRmIGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTIxIDIyOjQ1OjE1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggLyA2NCBiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yMyAyMzozMDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGRvIG5vdCBsZWFrIGJ1ZmZlciB3aGVuIG5vIGVuY29kZWQgZGF0YSB5ZXQgb3IgZW5jb2RpbmcgZXJyb3IKCjIwMTEtMTEtMjMgMjM6Mjk6MTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0xMS0yMyAxNjowMTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICBzbW9vdGg6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NjMxCgoyMDExLTExLTIzIDEzOjQ3OjExICswMTAwICBLcnp5c3p0b2YgS3Jha293aWFrIDxrcnp5c3p0b2Yua3Jha293aWFrQGdtYWlsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IGZpeCBtb2R1bGVzIHBsYXlpbmcgYXMgbW9ubyBpbnN0ZWFkIG9mIHN0ZXJlbwoJICByZXBsYWNlZCBicm9rZW4gaWYtcmV0dXJuIGxvZ2ljIGZvciBmaXhhdGluZyByYXRlIGFuZCBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdGhhdCBjYXVzZWQgdGhhdCBtb2R1bGVzIHdlcmUgYWx3YXlzIChhZnRlcgoJICBzdWNjZXNzZnVsIGZpeGF0aW9uIG9mIHJhdGUpIHBsYXllZCBhcyBtb25vIChpbnN0ZWFkIG9mCgkgIHN0ZXJlbykgYnkgY29ycmVjdCBvbmUgd2l0aCBhcHByb3BpYXRlIHdhcm5pbmdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5MDM1CgoyMDExLTExLTIzIDEzOjIyOjEyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBpbXBsZW1lbnQgcmVwbGF5IGdhaW4KCSAgSXQgd291bGQgaWRlYWxseSBiZSBiZXR0ZXIgdG8gbGVhdmUgdGhpcyB0byBhIHJndm9sdW1lIGVsZW1lbnQsCgkgIGJ1dCB3ZSBkb24ndCBjb250cm9sIHRoZSBwaXBlbGluZS4gU28gZG8gaXQgYnkgZGVmYXVsdCwgYW5kIGFsbG93CgkgIGRpc2FibGluZyBpdCB2aWEgYSBwcm9wZXJ0eSwgc28gdGhlIGNvcnJlY3Qgdm9sdW1lIHNob3VsZCBhbHdheXMKCSAgYmUgb3V0cHV0LgoKMjAxMS0xMS0yMyAxMTo1ODo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogYWRkIGluLWJhbmQgRkVDIHN1cHBvcnQKCSAgVGhpcyBhbGxvd3MgcmVjb25zdHJ1Y3Rpb24gb2YgbG9zdCBwYWNrZXRzIGlmIEZFQyBpbmZvIGlzIGluY2x1ZGVkCgkgIGluIHRoZSBuZXh0IHBhY2tldCwgYXQgdGhlIGNvc3Qgb2YgZXh0cmEgbGF0ZW5jeS4gU2luY2Ugd2UgZG8gbm90CgkgIGtub3cgaWYgdGhlIHN0cmVhbSBoYXMgRkVDIChhbmQgdGhpcyBjYW4gY2hhbmdlIGF0IHJ1bnRpbWUpLCB3ZQoJICBhbHdheXMgaW5jdXIgdGhlIGxhdGVuY3ksIGV2ZW4gaWYgd2UgbmV2ZXIgbG9zZSBhbnkgZnJhbWUsIG9yIHNlZQoJICBhbnkgRkVDIGluZm9ybWF0aW9uLiBPZmYgYnkgZGVmYXVsdC4KCjIwMTEtMTEtMjMgMTI6NDE6MzIgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IG5vcm1hbGl6ZSBib29sZWFuIHByb3BlcnR5IGRlZmF1bHQgdmFsdWVzIHRvIFRSVUUvRkFMU0UKCSAgR2xpYiBiYXJrcyBhdCB1cyB3aXRoIGEgd2FybmluZyB3aGVuIHdlIHBhc3MgZS5nLiA0LgoKMjAxMS0xMS0yMyAxMTo1OTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBhYWFuZCBmaXggbXkgbGFzdCBjb21taXQKCjIwMTEtMTEtMjMgMTE6NTU6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogRml4IGdzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW4KCjIwMTEtMTEtMjMgMTE6MzE6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHVwZGF0ZSBSRUFETUUgYW5kIFRPRE8gY29tbWVudHMKCjIwMTEtMTEtMjMgMTE6MjE6MTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzY29wZTogdXNlIHRoZSBkcmF3aGVscGVycyBhbmQgYWRkIGEgZHJhdy1zdHlsZSBwcm9wZXJ0eQoJICBMaWtlIGluIHdhdmVzY29wZSBzdXBwb3J0IGRyYXdpbmcgZG90cyBhbmQgbGluZXMuCgoyMDExLTExLTIzIDExOjA4OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbQoJICBnc3QvZmlsdGVyL2dzdGZpbHRlci5jCgkgIGdzdC9maWx0ZXIvZ3N0aWlyLmMKCSAgZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYwoKMjAxMS0xMS0yMyAwODo0MDo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIHNvbWUgc2ltcGxlIGRyYXdpbmcgaGVscGVycyBmb3IgcmV1c2UKCSAgQWRkIGEgKHVuaW5zdGFsbGVkKSBoZWFkZXIgd2l0aCBzaW1wbGUgZHJhd2luZyBtYWNyb3MKCjIwMTEtMTEtMjMgMDg6MTc6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgc21vb3Rod2F2ZTogcmVtb3ZlIGVsZW1lbnQgdW5wb3J0ZWQgZnJvbSAwLjgKCSAgVGhlIHdhdmVzY29wZSBlbGVtZW50IGRvZXMgYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QuCgoyMDExLTExLTIzIDA4OjE0OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICB3YXZlc2NvcGU6IGFkZCBhIHN0eWxlIHByb3BlcnR5IGZvciBkcmF3aW5nIG1vZGVzCgkgIEFkZCBhIHN0eWxlIGVudW0gb2YgeyBkb3RzLCBsaW5lc30uIE5vdyB0aGlzIGVsZW1lbnRzIGlzIGEgc3VwZXJzZXQgb2Ygc21vb3Rod2F2ZS4KCjIwMTEtMTEtMjIgMjM6MDQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgZG9jczogZml4IGNvbW1lbnQgaW4gZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9nZXRfbWF4X2RlY29kZV90aW1lKCkgZG9jcwoKMjAxMS0xMS0yMiAyMDoyNzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1hcmsgcHJvcGVydGllcyBjaGFuZ2VhYmxlIGF0IHJ1bnRpbWUgd2l0aCBHU1RfUEFSQU1fTVVUQUJMRV9QTEFZSU5HCgoyMDExLTExLTIyIDE5OjU3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeCB3ZWlyZCBldmVudCBsaXN0IGhhbmRsaW5nCgkgIEdldCByaWQgb2Ygd2VpcmQgY29kZSB0aGF0IGNvcGllcyBhIGxpc3QgbWFudWFsbHksIHRha2luZwoJICBvd25lcnNoaXAgb2YgdGhlIGVsZW1lbnRzIGFuZCB0aGVuIGZyZWVzIHRoZSBvbGQgbGlzdC4gSW5zdGVhZCwKCSAganVzdCB0YWtlIG92ZXIgdGhlIG9sZCBsaXN0IGVudGlyZWx5LiAoSWYgdGhlIGludGVudCB3YXMgdG8KCSAgcmV2ZXJzZSB0aGUgbGlzdCwgb25lIGNvdWxkIHVzZSBnX2xpc3RfcmV2ZXJzZSgpIGluc3RlYWQpLgoJICBUaGVuLCBwdXNoIGV2ZW50cyBpbiB0aGUgbGlzdCBvdXQgZnJvbSBsYXN0IHRvIGZpcnN0IChzaW5jZSB0aGV5CgkgIHdlcmUgcHJlcGVuZGVkIGFzIHRoZXkgY2FtZSBpbikgaW5zdGVhZCBvZiBqdXN0IHB1c2hpbmcgb3V0IHRoZQoJICBsYXN0IGluIHRoZSBsaXN0IGFuZCBsZWFraW5nIHRoZSBvdGhlcnMuCgoyMDExLTExLTIyIDE4OjMzOjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IGFkZCB0ZXN0CgoyMDExLTExLTIyIDE3OjA0OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBhbGxvdyBzZXR0aW5nIG1vc3QgcHJvcGVydGllcyBhdCBQTEFZSU5HIHRpbWUKCSAgT3B1cyBhbGxvd3MgdGhlc2UgdG8gYmUgY2hhbmdlZCBkdXJpbmcgZW5jb2RpbmcsIHRyYW5zcGFyZW50bHkKCSAgdG8gdGhlIGRlY29kZXIuCgoyMDExLTExLTIyIDE2OjE0OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYm91bmQgdGhlIGJpdHJhdGUgdG8gbW9yZSBzZW5zaWJsZSB2YWx1ZXMKCSAgR28gZnJvbSB0aGUgYm91bmRzIG1lbnRpb25lZCBpbiB0aGUgc3BlYywgYW5kIGFsbG93IHNvbWUgbW9yZQoJICB2YXJpYXRpb24uCgkgIEluIHBhcnRpY3VsYXIsIGRvbid0IGFsbG93IHNpbGx5IGxvdyBiaXRyYXRlcywgYW5kIGFsbG93IHJlYWNoaW5nCgkgIHRoZSBtYXhpbXVtIHVzZWZ1bCBiaXRyYXRlLgoKMjAxMS0xMS0yMiAxNTozMzoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogZml4IGNyYXNoIG9uIHBhdGhvbG9naWNhbCBwYXJhbWV0ZXJzCgkgIEFza2luZyBmb3IgMSBiaXQvcyB3b3VsZCBzZWxlY3QgYSAwIGJ5dGUgYnVmZmVyLCBsZWFkaW5nCgkgIHRvIGEgY3Jhc2guIEJ1ZmZlciBzaXplIGlzIG5vdyBjb250cm9sbGVkIGJ5IGEgbWF4LXBheWxvYWQtc2l6ZQoJICBwcm9wZXJ0eSwgd2hpY2ggY2FuJ3QgYmUgbGVzcyB0aGFuIDIuCgoyMDExLTExLTIxIDE4OjEyOjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGRvIG5vdCBzZW5kIGhlYWRlcnMgdGhyb3VnaCBkYXRhIHBhdGgKCSAgQWRkaXRpb25hbGx5LCBzaW5jZSBPcHVzIHBhY2tldHMgbWF5IGNoYW5nZSBiZXR3ZWVuIHN0ZXJlbwoJICBhbmQgbW9ubyBhcyB0aGUgZW5jb2RlciBzZWVzIGZpdCwgYXNzdW1lIHR3byBjaGFubmVscyB3aGVuCgkgIHdlIGRvIG5vdCBzZWUgYSBoZWFkZXIsIGFuZCB1c2UgdGhlIGhlYWRlciB2YWx1ZSBvdGhlcndpc2UuCgoyMDExLTExLTIxIDE3OjQ4OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkgIG9wdXM6IG1vdmUgaGVhZGVyIG1hZ2ljIHRlc3RpbmcgdG8gZ3N0b3B1c2hlYWRlcgoKMjAxMS0xMS0yMSAxNzowMTo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHNraXAgcHJlLXNraXAgc2FtcGxlcwoKMjAxMS0xMS0yMSAxMjo1MDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmVhZCBwcmUtc2tpcCBmcm9tIGZpcnN0IGhlYWRlciBpZiBhdmFpbGFibGUKCjIwMTEtMTEtMTcgMTE6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBzdXBwb3J0IG1vcmUgY2hhcmFjdGVyIHNldCBlbmNvZGluZ3MKCSAgU3VwcG9ydCBVVEYtMTZCRSwgRVVDLUtSIChLU1gxMDAxKSwgR0IyMzEyIGFuZCBJU08tMTA2NDYvVVRGOCB0ZXh0CgkgIGVuY29kaW5nIGFuZCBmaXhlZCBuZXcgbGluZSBmb3IgbXVsdGlieXRlIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNTcKCjIwMTEtMTEtMjIgMDk6MTE6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcGxheW9uZGVtYW5kLy5naXRpZ25vcmU6CgkqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkqIGdzdC9wbGF5b25kZW1hbmQvZGVtby1tcDMuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9maWx0ZXIuZnVuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgcGxheW9uZGVtYW5kOiByZW1vdmUgdW5wb3J0ZWQgcGx1Z2luIGZyb20gMC44CgkgIFRoZXNlIGRheXMgb25lIHdvdWxkIGRvIHRoZSBlZmZlY3QgZS5nLiB1c2luZyBnbm9ubGluLgoKMjAxMS0xMS0yMiAwOToxMDozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogdGlueSBkb2MgYmxvYiBjbGFyaWZpY2F0aW9uCgoyMDExLTExLTIxIDIyOjU1OjQwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSAgZnJlZXZlcmI6IGFkZCBhIGZyZWV2ZXJiIHBvcnQKCSAgRnJlZXZlcmIgaXMgYSBwdWJsaWMgZG9tYWluIHJldmVyYiBpbXBsZW1lbnRhdGlvbi4gUG9ydCBpdCBhcyBhIGdzdHJlYW1lcgoJICBlbGVtZW50IGFuZCBtYWtlIHVzZSBvZiBnc3RyZWFtZXIgc3BlY2lmaWMgZmVhdHVyZXMgKGdhcCBhd2FyZSwgZGlzY29udHMsCgkgIGNvbnRyb2xsZXIsIC4uLikuCgoyMDExLTExLTIxIDEzOjM3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdXBkYXRlIGZvciBhY3RpdmF0aW9uIGNoYW5nZXMKCjIwMTEtMTEtMjEgMTI6MDI6MjggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiByZXNldCB0YWdzZXR0ZXIgaW50ZXJmYWNlIG9uIHN0b3AKCjIwMTEtMTEtMjEgMTE6NDQ6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBoYW5kbGUgTlVMTCBwYWNrZXRzICh1c2VkIGZvciBQTEMpCgoyMDExLTExLTIxIDExOjI4OjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogbGlnaHQgY2xlYW51cAoKMjAxMS0xMS0yMCAxMzowNzoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBwYXJzZSByYXcgb3B1cyBwYWNrZXRzCgoyMDExLTExLTIwIDA5OjU4OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IHB1c2ggaGVhZGVyIGJ1ZmZlcnMKCSAgT3B1cyBoZWFkZXJzIGFwcGVhciBvbmx5IHdoZW4gbXV4ZWQgaW4gT2dnLCBzbyBvbmx5IHBsYWNlIHRoZW0KCSAgb24gdGhlIGNhcHMsIHdoZXJlIG9nZ211eCB3aWxsIGZpbmQgdGhlbSwgYnV0IG90aGVyIGVsZW1lbnRzIHdpbGwKCSAgYmUgYmxpdGhlbHkgdW5hd2FyZSBvZiB0aGVtLgoKMjAxMS0xMS0yMCAwOTo1Mjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBtYWtlIG9wdXNwYXJzZSBzZXQgaGVhZGVycyBvbiBjYXBzCgkgIEhlYWRlci1vbi1jYXBzIGNvZGUgbW92ZWQgdG8gYSBuZXcgc2hhcmVkIGxvY2F0aW9uIHRvIGF2b2lkCgkgIGR1cGxpY2F0aW5nIHRoZSBjb2RlLgoKMjAxMS0xMS0yMSAxMDo1NDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFBvcnQgdG8gbmV3IHBhZCBmdW5jdGlvbiBzaWduYXR1cmVzCgoyMDExLTExLTIxIDA4OjIwOjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICBzbW9vdGg6IHBvcnQgdG8gMC4xMAoJICBQb3J0IGZyb20gR3N0RWxlbWVudCB0byBHc3RWaWRlb0ZpbHRlci4gRml4IEZJWE1Fcy4gQ2xlYW51cCBuYW1pbmcuIEV4cG9zZSBsZWZ0CgkgIG91dCBwcm9wZXJ0eSAoa3VtYS1vbmx5KS4KCjIwMTEtMTEtMjAgMjA6MTY6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcGFzc3Rocm91Z2gvLmdpdGlnbm9yZToKCSogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJKiBnc3QvcGFzc3Rocm91Z2gvZmlsdGVyLmZ1bmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSogZ3N0L3Bhc3N0aHJvdWdoL3Bhc3N0aHJvdWdoLnZjcHJvajoKCSAgcGFzc3Rocm91Z2g6IHJlbW92ZSBvYnNvbGV0ZSBlbGVtZW50CgkgIEl0IGlzIG5vdCBidWlsdCBieSBkZWZhdWx0LiBXZSBoYXZlIGlkZW50aXR5IGZvciBzb21lIG9mIHRoZSBuZWVkcyBhbmQgb3RoZXJ3aXNlCgkgIGF1ZGlvL3ZpZGVvZmlsdGVyIGJhc2UgY2xhc3Nlcy4KCjIwMTEtMTEtMjAgMjA6MDg6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmlsdGVyL2ZpbHRlci52Y3Byb2o6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkqIGdzdC9maWx0ZXIvaWlyLmM6CgkqIGdzdC9maWx0ZXIvaWlyLmg6CgkgIGZpbHRlcjogcmVtb3ZlIGZpbHRlciBwbHVnaW4KCSAgV2UgZG9uJ3QgYnVpbGQgaXQgYW55d2F5IGFuZCB3ZSBoYXZlIGF1ZGlvaWlyZmlsdGVyIGluIGdvb2QuCgoyMDExLTExLTIwIDIwOjA2OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGZpeCBsZWZ0b3ZlciBib2lsZXJwbGFjZSBjb21tZW50cwoKMjAxMS0xMS0xOCAwMzozMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHNvIHJlc2V0IHZpZGVvL2F1ZGlvIGZpbHRlcnMgYmVmb3JlIGNhcHR1cmluZwoJICBWaWRlbyBhbmQgYXVkaW8gY3VzdG9tIGZpbHRlciBlbGVtZW50IHNob3VsZCBhbHNvIGJlIHJlc2V0IGJlZm9yZQoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlLCBvdGhlcndpc2Ugd2UgZ2V0IHdyb25nLXN0YXRlIGVycm9ycwoKMjAxMS0xMS0xOSAxNTo1ODowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCB0ZXJtaW5hdGluZyBOVUwgYmVpbmcgd3JpdHRlbiBpbiBzaWduYXR1cmUKCjIwMTEtMTEtMTYgMTk6NDA6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtYWtlIGZyYW1lLXNpemUgYW4gZW51bQoJICBJdCBvbmx5IHN1cHBvcnRzIGEgc2V0IG51bWJlciBvZiBzcGVjaWZpYyB2YWx1ZXMgKGluY2x1ZGluZwoJICBhIG5vbiBpbnRlZ2VyIG9uZSkuCgoyMDExLTExLTE2IDE5OjIyOjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdGhlIGVuY29kZXIgbWlnaHQgbm90IG1ha2UgdXNlIG9mIGFsbCB0aGUgYnl0ZXMKCjIwMTEtMTEtMTggMTk6Mjg6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBvcGVuY3Y6IHVzZSBjYXBzIGNvbnN0YW50cyBtb3JlCgoyMDExLTExLTE4IDE5OjE5OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiBmaXh1cCBkb2MgYmxvYnMKCjIwMTEtMTEtMTggMTk6MTU6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IGZpeHVwIGdvYmplY3QgbmFtaW5nIGNvbnZlbnRpb25zCgoyMDExLTExLTE4IDE3OjU5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdXBkYXRlIGZvciBuZXcgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0xMS0xOCAxNzoxODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgY29kZQoJICAuLi4gbm93IHRoYXQgd2hhdCBzaG91bGQgbm90IGJlIG5lZWRlZCBpcyByZWFsbHkgbm90IG5lZWRlZCBhbnltb3JlIHRvIGNvdmVyCgkgIHVwIGJvZ3VzIHN0dWZmIHRoYXQgaGFzIGJlZW4gRklYTUVkLgoKMjAxMS0xMS0xOCAxMjozMjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB1cCBBVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcKCSAgT24gdGhlIG9uZSBoYW5kLCBubyBuZWVkIHRvIGNvbGxlY3QgbmFsIGlmIHByb2Nlc3NpbmcgbGFzdCBvbmUuCgkgIE9uIHRoZSBvdGhlciBoYW5kLCBlbnN1cmUgQVUgY29sbGVjdGlvbiBwcm9jZXNzaW5nIHRvIGhhdmUgc3VmZmljaWVudAoJICBuZXh0IE5BTCBkYXRhIGluIG5vcm1hbCBjYXNlcy4KCSAgRml4ZXMgIzY2MzE4MC4KCjIwMTEtMTEtMTggMTU6MTI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtaW5kIHRvLWJlLXNraXBwZWQgZGF0YSBpbiBzdWJzZXF1ZW50IHJlLXVzZWQgb2Zmc2V0cwoKMjAxMS0xMS0xOCAxNToxMDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIGFkZGl0aW9uYWwgTkFMIHBhcnNpbmcgaWYgbm8gQVUgY29sbGVjdGlvbiBpcyBuZWVkZWQKCjIwMTEtMTEtMTggMTU6MTA6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzb21lIG1vcmUgZ2V0X2NhcHMgdHdlYWtpbmcKCSAgLi4uIGJ5IGhhdmluZyBpdCB1c2Ugc2luayB0ZW1wbGF0ZSByYXRoZXIgdGhhbiBzcmMgdGVtcGxhdGUsIGFuZCBub3QKCSAgcGFzc2luZyBhbiBkb3duc3RyZWFtIHBhcnNlZCg9dHJ1ZSkgdG8gdXBzdHJlYW0uCgoyMDExLTExLTE4IDE1OjA3OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBpbml0aWFsaXplIGFkZGl0aW9uYWwgc3BzIGZpZWxkIHZhbHVlCgkgIEZpeGVzICM2NjM1NTIuCgoyMDExLTExLTE4IDEzOjU4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgYWRkIHBhcmVudCB0byBhY3RpdmF0ZSBmdW5jdGlvbnMKCjIwMTEtMTEtMTggMTI6Mzg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBmaXggZm9yIHNjaGVkdWxpbmcgbW9kZSByZW5hbWUKCjIwMTEtMTEtMTggMDg6Mjk6MzEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJICBvcGVuY3Y6IHJlbW92ZSBlbXB0eSBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbnMKCjIwMTEtMTEtMTcgMjM6MDM6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJICB2b2FtcndiZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNyAyMzowMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHNvbWUgY29kZSBzaHVmZmxlIGNsZWFudXAKCjIwMTEtMTEtMTcgMjM6MDI6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNyAyMzowMjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IHByb3Blcmx5IHJlcG9ydCBlcnJvciBjYXNlCgoyMDExLTExLTE3IDIzOjAyOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogcmVtb3ZlIHVudXNlZCBpbnN0YW5jZSB2YXJpYWJsZQoKMjAxMS0xMS0xNyAxMDozMzo0MiAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IGNhbGwgOjpyZXNldCBvbmNlIGluIFJFQURZLT5QQVVTRUQKCjIwMTEtMTEtMTcgMTc6MzI6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmgKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuaAoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoKMjAxMS0xMS0xNyAxNTo1Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAxMDowNzozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgbGlicy1kb2NzOiBhZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSQoKMjAxMS0xMS0xNyAwOTo1NjozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogcG9ydCBmb3IgcGFkX3F1ZXJ5IGFwaSBjaGFuZ2UKCjIwMTEtMTEtMTcgMDg6MjU6MjggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBjb2xsZWN0cGFkczogcG9ydCBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xNiAyMDo1MzoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogZGV0ZWN0IGZhY2UgZmVhdHVyZXMKCSAgQWxzbyBkZXRlY3QgbW91dGgsIG5vc2UgYW5kIGV5ZXMuIERyb3AgZmFjZXMgdGhhdCBkb24ndCBoYXZlIHRoZW0uIEZpeGVzIGxlYWtpbmcgdGhlCgkgIGNhc2NhZGVzLiBBZGRzIG1vcmUgZG9jcy4KCjIwMTEtMTEtMTYgMjA6NTE6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEdzdGZhY2VkZXRlY3QgLT4gR3N0RmFjZWRldGVjdAoKMjAxMS0xMS0xNCAxMTowNTo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBjb2RlIG1haW50ZW5hbmNlCgkgIFVwZGF0ZSBleGFtcGxlIHRvIGJlIHVzZWZ1bC4gRHJhdyBjb2xvcmVkIGVsbGlwc2VzIGluc3RlYWQgb2YgdW5pY29sb3IgY2lyY2xlcy4KCSAgUmVmbG93IGNvZGUgZm9yIG1vcmUgbG9jYWwgdmFyaWFibGVzLiBJbXByb3ZlIHBhcmFtZXRlciBkZXNjcmlwdGlvbnMuCgoyMDExLTExLTE2IDEwOjU3OjU1IC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogQ2hhbmdlIHJhbmsgdG8gUFJJTUFSWSsxCgoyMDExLTExLTE2IDEwOjQ1OjUyIC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgcmVxdWlyZSBwYXJzZWQ9ZmFsc2Ugb24gdGhlIHNpbmtwYWQgY2FwcwoKMjAxMS0xMS0xNiAxODo0OTowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBpbmNsdWRlIHZhcmlhYmxlIGZpZWxkcyBpbiBjYXBzCgkgIFRob3NlIGNhbiB2YXJ5IGZyb20gb25lIHBhY2tldCB0byB0aGUgbmV4dCwgc28gaGF2ZSBubyByZWFzb24KCSAgdG8gYmUgaW4gdGhlIGNhcHMuCgoyMDExLTExLTE2IDE4OjQzOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNvbnN0cmFpbmVkLXZiciBwcm9wZXJ0eSBuYW1lIHR5cG8KCjIwMTEtMTEtMTYgMTA6Mzg6NDkgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBJbXBsZW1lbnQgOjpzaW5rX2dldF9jYXBzIHRvIGFsbG93IHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBhZ2FpbgoJICBKdXN0IHByb3h5aW5nIHRoZSBkb3duc3RyZWFtIGNhcHMgd2lsbCBwcmV2ZW50IGgyNjRwYXJzZSBmcm9tCgkgIGFjY2VwdGluZyBhIGRpZmZlcmVudCBzdHJlYW0tZm9ybWF0IHRoYW4gd2hhdCBpcyBzdXBwb3J0ZWQKCSAgZG93bnN0cmVhbSwgYWx0aG91Z2ggaXQgY291bGQgY29udmVydCB0byBhIGRpZmZlcmVudCBzdHJlYW0tZm9ybWF0LgoKMjAxMS0xMS0xNiAxODozNToyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSBhbGwgdGltaW5nCgoyMDExLTExLTE2IDE5OjE4OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0xMS0xNiAxOToxMToyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE1IDE5OjUzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBhZGQgb3B1c3BhcnNlIGVsZW1lbnQKCSAgQSB2ZXJ5IHNpbXBsZSBlbGVtZW50IHRoYXQgcGFyc2VzIE9wdXMgc3RyZWFtcyBmcm9tIHRoZSBhZCBob2MKCSAgZnJhbWluZyB1c2VkIGJ5IHRoZSBPcHVzIHRlc3QgdmVjdG9ycy4KCjIwMTEtMTEtMTYgMTc6MjQ6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBhbGxvdyBuZWdvdGlhdGlvbiBvZiByYXRlL2NoYW5uZWxzIHdpdGggZG93bnN0cmVhbQoJICBTaW5jZSBhbiBvcHVzIHN0cmVhbSBtYXkgYmUgZGVjb2RlZCB0byBhbnkgKHNlbnNpYmxlKSByYXRlLAoJICBhbmQgZWl0aGVyIHN0ZXJlbyBvciBtb25vLCB3ZSB0cnkgdG8gYWNjb21vZGF0ZSBkb3duc3RyZWFtLgoKMjAxMS0xMS0xNiAxNzowNToxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmV3cml0ZSBsb2dpYwoJICBQYXJhbWV0ZXJzIHN1Y2ggYXMgZnJhbWUgc2l6ZSwgZXRjLCBhcmUgdmFyaWFibGUuIFByZXR0eSBtdWNoCgkgIGV2ZXJ5dGhpbmcgY2FuIGNoYW5nZSB3aXRoaW4gYSBzdHJlYW0sIHNvIGJlIHByZXBhcmVkIGFib3V0IGl0LAoJICBhbmQgZG8gbm90IGNhY2hlIHBhcmFtZXRlcnMgaW4gdGhlIGRlY29kZXIuCgoyMDExLTExLTE2IDE2OjU2OjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHBvcnQgdG8gYmFzZSBhdWRpbyBlbmNvZGVyL2RlY29kZXIKCjIwMTEtMTEtMTYgMTc6Mjg6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIGFkZCBwYXJlbnQgdG8gcXVlcnkgZnVuY3Rpb24KCjIwMTEtMTEtMTYgMTM6MjY6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBhbGxvdyBuZWdvdGlhdGlvbiBvZiByYXRlL2NoYW5uZWxzIHdpdGggZG93bnN0cmVhbQoJICBTaW5jZSBhbiBvcHVzIHN0cmVhbSBtYXkgYmUgZGVjb2RlZCB0byBhbnkgKHNlbnNpYmxlKSByYXRlLAoJICBhbmQgZWl0aGVyIHN0ZXJlbyBvciBtb25vLCB3ZSB0cnkgdG8gYWNjb21vZGF0ZSBkb3duc3RyZWFtLgoKMjAxMS0xMS0xNiAwMToxNDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmV3cml0ZSBsb2dpYwoJICBQYXJhbWV0ZXJzIHN1Y2ggYXMgZnJhbWUgc2l6ZSwgZXRjLCBhcmUgdmFyaWFibGUuIFByZXR0eSBtdWNoCgkgIGV2ZXJ5dGhpbmcgY2FuIGNoYW5nZSB3aXRoaW4gYSBzdHJlYW0sIHNvIGJlIHByZXBhcmVkIGFib3V0IGl0LAoJICBhbmQgZG8gbm90IGNhY2hlIHBhcmFtZXRlcnMgaW4gdGhlIGRlY29kZXIuCgoyMDExLTExLTE1IDIzOjAwOjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZW1vdmUgYnVmZmVyIHBvb2wsIGJ1ZmZlcnMgYXJlIG5vdCBjb25zdGFudCBzaXplCgoyMDExLTExLTE1IDE5OjUzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBhZGQgb3B1c3BhcnNlIGVsZW1lbnQKCSAgQSB2ZXJ5IHNpbXBsZSBlbGVtZW50IHRoYXQgcGFyc2VzIE9wdXMgc3RyZWFtcyBmcm9tIHRoZSBhZCBob2MKCSAgZnJhbWluZyB1c2VkIGJ5IHRoZSBPcHVzIHRlc3QgdmVjdG9ycy4KCjIwMTEtMTEtMTYgMTI6NDY6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBub3RlcyBvbiBzeW5jaHJvbml6YXRpb24gYW5kIHNjaGVkdWxpbmcKCjIwMTEtMTEtMTYgMTI6NDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgcmVuYW1lZCBmbGFncwoJICBVc2UgdGhlIF9jaGVja19yZWNvbmZpZ3VyZSBtZXRob2QgaW5zdGVhZCBvZiBjaGVja2luZyBmbGFncy4KCjIwMTEtMTEtMTYgMTA6NTY6MjQgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvdXRnb2luZyBieXRlIHN0cmVhbSBwcmVmaXggYWx3YXlzIGhhcyBzaXplIDQKCSAgRml4ZXMgIzY2NDEyMy4KCjIwMTEtMTEtMTUgMTc6NDk6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggcG9pbnRlciBtaXNtYXRjaCBpbiBtZW1jcHkgb24gZHJhaW4KCjIwMTEtMTEtMTUgMTc6NTU6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBfcXVlcnlfcGVlcl8qKCkgLT4gX3BlZXJfcXVlcnlfKigpCgoyMDExLTExLTE1IDE3OjI0OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIF9wZWVyX2dldF9jYXBzKCkgLT4gX3BlZXJfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjM0OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBjaGFuZ2UgZ2V0Y2FwcyB0byBxdWVyeQoKMjAxMS0xMS0xNCAxMTozMDoxMyArMDEwMCAgRGF2aWQgS2luZyA8YW1pZ2FkYXZlQGFtaWdhZGF2ZS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvY3VtZW50IHJlcXVpcmVtZW50IGZvciBQTEFZSU5HIHN0YXRlCgkgIEFzIGRlc2NyaWJlZCBpbiBHTk9NRSBidWcgNjYzOTk4LCB0aGUgZWxlbWVudCBtdXN0IGJlIGluIHRoZSBQTEFZSU5HCgkgIHN0YXRlIGJlZm9yZSBjYWxsaW5nIGNhcHR1cmUtc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQwNDgKCjIwMTEtMTEtMTQgMTg6MzQ6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHNvbWUgcmFjeW5lc3MgaW4gdGVzdHMKCSAgRml4IHNvbWUgcmFjeW5lc3MgYXMgdGhlIHRlc3Qgd2FzIGNoZWNraW5nIHRoZSBpZGxlIHByb3BlcnR5CgkgIHJpZ2h0IGFmdGVyIGl0IGdvdCB0aGUgcHJldmlldyBtZXNzYWdlIGZvciB2aWRlbyByZWNvcmRpbmdzLiBJbiBzb21lCgkgIGNvbmRpdGlvbnMsIGl0IG1pZ2h0IGhhcHBlbiB0aGF0IGNhbWVyYWJpbjIgc3RpbGwgaGFzbid0IGRlY3JlbWVudGVkCgkgIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgYWZ0ZXIgcG9zdGluZyB0aGUgcHJldmlldyBhbmQvb3IgdGhlIGltYWdlL3ZpZGVvLWRvbmUKCSAgbWVzc2FnZSBhbmQgdGhlIHRlc3Qgd2lsbCBnZXQgaWRsZT1mYWxzZSBhbmQgZmFpbC4KCSAgVGhlIGFwcHJvYWNoIGZvciBjaGVja2luZyBmb3IgdGhlIGlkbGUgcHJvcGVydHkgd2FzIGEgYnVzeSBsb29wIHdpdGgKCSAgYSBzbGVlcC4gRmFyIGZyb20gZWxlZ2FudCwgYnV0IGdvb2QgZW5vdWdoIGZvciB0aGVzZSB0ZXN0cy4KCjIwMTEtMTEtMTQgMTY6NTU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWxzbyByZXNldCBhdWRpbyBlbGVtZW50cyB3aGVuIHZpZGVvIGNhcHR1cmUgZmluaXNoZXMKCSAgQXVkaW8gZWxlbWVudHMgYWxzbyBuZWVkIHRvIGJlIHJlc2V0IGFmdGVyIGVhY2ggY2FwdHVyZSwgZG8gaXQKCSAgdG9nZXRoZXIgd2l0aCB0aGUgdmlkZW8gZWxlbWVudHMnIHJlc2V0CgoyMDExLTExLTExIDA5OjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBvbmUgZGVidWcgbGluZSBhYm91dCBjYW1lcmFiaW4yIGJlaW5nIGlkbGUKCjIwMTEtMTEtMTAgMTY6NTM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgdmlkZW8gZWxlbWVudHMnIHN0YXRlIGNsZWFyaW5nIGZyb20gc3RhcnQtY2FwdHVyZQoJICBSZWR1Y2Ugc3RhcnQtY2FwdHVyZSB3b3JrbG9hZCBieSBtb3ZpbmcgdGhlIGVsZW1lbnRzJyBzdGF0ZSByZXNldGluZyB0byB0aGUKCSAgZmluaXNoaW5nIHN0ZXBzIG9mIHRoZSBjYXB0dXJlLiBUaGlzIHJlZHVjZXMgdGhlIHRpbWUgc3RhcnQtY2FwdHVyZSB0YWtlcyB0bwoJICBhY3R1YWxseSBzdGFydCBhIGNhcHR1cmUgYW5kIHJldHVybiB0byBpdHMgY2FsbGVyLCBpbXByb3ZpbmcgdXNlciBleHBlcmllbmNlLgoJICBBcyB0aGUgZWxlbWVudHMnIHN0YXRlIHJlc2V0IGlzIG5vdyB0cmlnZ2VyZWQgZnJvbSB0aGUgbWVzc2FnZSBoYW5kbGluZwoJICBmdW5jdGlvbiwgaXQgbmVlZHMgdG8gc3Bhd24gYSBuZXcgdGhyZWFkLCBjaGFuZ2luZyBzdGF0ZSBmcm9tIHRoZSBwYWQncwoJICB0YXNrIHdvdWxkIGNhdXNlIGEgZGVhZGxvY2suCgoyMDExLTExLTEwIDE2OjExOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjoga2VlcCB0cmFjayBvZiB2aWRlbyByZWNvcmRpbmcgc3RhdGUKCSAgQWRkcyBhIG5ldyB2YXJpYWJsZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZSBvZiB0aGUgdmlkZW8KCSAgcmVjb3JkaW5nIGluIGNhbWVyYWJpbjIuIFRoaXMgYWxsb3dzIHN0YXJ0LWNhcHR1cmUgdG8gcmVqZWN0CgkgIG5ldyB2aWRlbyByZWNvcmRpbmcgcmVxdWVzdHMgd2hlbiBvbmUgaXMgYWxyZWFkeSBvbmdvaW5nLiBUaGlzCgkgIGZpeGVzIG9uZSBvZiBjaGVjayB0ZXN0cy4KCjIwMTEtMTEtMTQgMTM6NDE6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogcG9ydCB0byBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzc2VzCgoyMDExLTExLTAzIDE0OjA5OjUyICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZTpDb3JyZWN0IHRoZSBza2lwcGluZyBvZiB2YnZfZGVsYXkgaW4gcGljdHVyZSBoZWFkZXIgYW5kIHNvbWUgdHlwbyBmaXhlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMwOQoKMjAxMS0xMS0xMyAyMzo1NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVcGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgZ2V0X3Byb3RvY29scygpIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTc6NDY6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogcG9ydCB0byAwLjExCgoyMDExLTExLTEwIDE1OjEzOjM0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIG1pbWljLCBvcGVuY3YsIHZwOCwgYWNtbXAzZGVjLCBsaW5zeXM6IERvbid0IGJ1aWxkIHN0YXRpYyBwbHVnaW5zCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBldmVyeXdoZXJlIHdoZXJlIGl0J3MgYmVlbiBmb3Jnb3R0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc2OAoKMjAxMS0xMS0xMSAxMDozOToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTk6NDI6NDAgLTAzMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBwcm9ncmVzc2l2ZSBmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc4MgoKMjAxMS0xMS0wOSAyMDowOTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcG9ydCB0byAwLjExCgoyMDExLTExLTEwIDE4OjM0OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUmVtb3ZlIHF1ZXJ5X3R5cGVzCgoyMDExLTExLTEwIDE4OjM0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxODoyNTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2UKCjIwMTEtMTEtMTAgMTc6MTM6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggYmFuZHdpZHRoIHByb3BlcnR5IHR5cGUgbWlzbWF0Y2gKCjIwMTEtMTEtMTAgMTI6MTQ6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDEyOjExOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJICBjaGFpbiB1cCBpbiBzZXRfY2xvY2sKCjIwMTEtMTEtMDkgMTI6MjE6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBwcm90ZWN0IGltYWdlIGxvY2F0aW9uIGxpc3Qgd2l0aCBtdXRleAoJICBSZW5hbWUgdGhlIGltYWdlIHRhZ2xpc3RzJyBtdXRleCBpbnRvIGltYWdlIGNhcHR1cmUgbXV0ZXggYW5kCgkgIHVzZSBpdCBhbHNvIGZvciB0aGUgaW1hZ2UgY2FwdHVyZSBsaXN0IHRvIHByZXZlbnQgY29uY3VycmVudAoJICBhY2Nlc3MgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyAoYXBwbGljYXRpb24gYW5kIGNhcHR1cmUgdGhyZWFkcykuCgoyMDExLTExLTA5IDExOjQ1OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSBudWxsIHRhZ2xpc3RzIGZvciBpbWFnZXMKCSAgQWRkIE5VTEwgYW5kIGNoZWNrIGZvciB0aGVtIHRvIHRoZSBpbWFnZSBjYXB0dXJlIHRhZ2xpc3QgbGlzdCwgcmVwcmVzZW50aW5nCgkgIHRoYXQgYSBjYXB0dXJlIGhhcyBubyBhcHBsaWNhdGlvbiB0YWdzIHNldC4KCjIwMTEtMTEtMDkgMTE6MTc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRG9uJ3Qgc3RvcmUgcHJldmlldyBsb2NhdGlvbiBpZiBwcmV2aWV3IGlzbid0IHJlcXVlc3RlZAoJICBEbyBub3Qgc3RvcmUgcHJldmlldyBsb2NhdGlvbiBpcyBwb3N0LXByZXZpZXdzIGlzIGZhbHNlLCB0aGlzIHdvdWxkCgkgIG1lc3MgdXAgcHJldmlldyBuYW1pbmcgaW4gY2FzZSBhcHBsaWNhdGlvbiBzd2l0Y2hlcyBiZXR3ZWVuIGVuYWJsaW5nCgkgIGFuZCBkaXNhYmxpbmcgcHJldmlld3MKCjIwMTEtMTEtMDkgMDk6NDE6NDQgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBdm9pZCBibG9ja2luZyBpbiBzdGFydC1jYXB0dXJlIGFuZCBzZW5kIGFwcGxpY2F0aW9uIHRhZ3MgbGF0ZXIKCSAgVGFncyBhcmUgY3VycmVudGx5IHNlbnQgZnJvbSBzdGFydC1jYXB0dXJlLCB3aGljaCBpcyBydW4gaW4gdGhlCgkgIGFwcGxpY2F0aW9uIHRocmVhZC4gRm9yIGltYWdlcyB3ZSBjYW4gZGVsYXkgdGhlIHRhZ3MgcHVzaGluZyB0byB0aGUKCSAgYnVmZmVyIHByb2JlIGFuZCBwdXNoIHRoZSB0YWdzIHdpdGggdGhlIGxvY2F0aW9uIGV2ZW50IGFuZCByZWR1Y2UKCSAgc3RhcnQtY2FwdHVyZSB0aW1lLgoKMjAxMS0xMS0wOSAxMjoyNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDkgMTI6MTk6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDExLTExLTA5IDEyOjAwOjA1ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgZml4IGRvY3VtZW50YXRpb24gdHlwbwoKMjAxMS0xMS0wOSAxMTo1NjowNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBmaXggY29tcGlsZXIgd2FybmluZyBmb3IgdW5pbml0aWFsaXplZCB2YWx1ZXMKCjIwMTEtMTEtMDkgMTE6NTU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICByZW1vdmUgcXVlcnkgdHlwZXMKCjIwMTEtMTEtMDQgMTc6NTQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IFJlamVjdCBzdGFydC9zdG9wIHJlcXVlc3RzIHRoYXQgY29tZSBvdXQgb2Ygb3JkZXIKCjIwMTEtMTAtMjkgMTg6MjQ6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUG9zdCBtZXNzYWdlcyB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQvcmVjZWl2ZSBEVE1GCgkgIFRoaXMgd2F5LCB0aGUgVUkgY2FuIGRpc3BsYXkgdGhlIERUTUYgZXZlbnRzIGFzIHRoZXkgYXMgYmVpbmcgc2VudC4KCjIwMTEtMTEtMDggMDg6MDg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRGVjcmVtZW50IHByb2Nlc3NpbmcgY291bnRlciB3aGVuIG1lc3NhZ2UgaGFuZGxpbmcgZmluaXNoZXMKCSAgU29tZSBtZXNzYWdlcyBtaWdodCBiZSBpbnRlcmVzdGluZyB0byBhcHBsaWNhdGlvbnMsIHNvIHdlIGNhbiBvbmx5CgkgIGRlY3JlbWVudCB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGFuZCBzZW5kIHRoZSBpZGxlIG5vdGlmaWNhdGlvbgoJICB3aGVuIHRob3NlIG1lc3NhZ2VzIGFyZSBwb3N0ZWQgb24gdGhlIHBpcGxpbmUncyBidXMKCjIwMTEtMTEtMDggMDc6MzM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXBkYXRlIHRlc3RzIHRvIHNldCBwb3N0LXByZXZpZXdzIHRvIHRydWUKCSAgTWFrZXMgbW9zdCBvZiBjYW1lcmFiaW4yIHRlc3RzIHBhc3MgYWdhaW4KCjIwMTEtMTEtMDggMTE6Mjg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICB1cGRhdGUgZm9yIHByb2JlIGFwaSBjaGFuZ2VzCgoyMDExLTExLTA4IDA3OjA5OjQxIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGNoYW5nZSBwb3N0LXByZXZpZXdzIHByb3BlcnR5IGRlZmF1bHQgdmFsdWUgYXMgZmFsc2UKCSAgR2VuZXJhdGluZyBhbmQgcG9zdGluZyBwcmV2aWV3IGltYWdlIGFsd2F5cyBjb21lcyB3aXRoIGEgcGVyZm9ybWFuY2UKCSAgcGVuYWx0eSBzbyBzZXQgZGVmYXVsdCB2YWx1ZSBhcyBmYWxzZS4gVGhlIHByZXZpZXctY2FwcyBwcm9wZXJ0eSB0aGF0CgkgIGRlZmluZXMgdGhlIHByZXZpZXcgaW1hZ2UgZm9ybWF0IGlzIGFsc28gTlVMTCBieSBkZWZhdWx0LCBzbyBpbnN0ZWFkCgkgIG9mIGdlbmVyYXRpbmcgcHJldmlldyBpbWFnZSBvZiB1bnNwZWNpZmllZCBmb3JtYXQgYnkgZGVmYXVsdCBleHBsaWNpdAoJICBhY3Rpb24gZnJvbSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgcmVxdWlyZWQgZm9yIGVuYWJsaW5nIHByZXZpZXcgaW1hZ2UKCSAgcG9zdGluZyBmZWF0dXJlLgoJICBBcHBsaWNhdGlvbiBhbHNvIGhhcyB0byBhZGQgY3VzdG9tIGNvZGUgdG8gYmUgYWJsZQoJICB0byBoYW5kbGUgcHJldmlldyBtZXNzYWdlcyBvbiBpdHMgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiBhbnl3YXkuCgoyMDExLTExLTA3IDIwOjM5OjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgQWRkIEFuZHJvaWQgYnVpbGRzeXN0ZW0gaG9va3MgZm9yIGNvZGVjcGFyc2VycwoKMjAxMS0xMS0wMSAyMDozNzoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCByMjEwIHdyaXRpbmcgb25seSBoYWxmIGEgc2NhbmxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIwMwoKMjAxMS0xMS0wNyAxNjo0MTo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtOiBhZGQgbW9yZSBjb25zdHMsIGVzcGNpYWxseSBmb3Igc3RhdGljIGNvbnN0IGRhdGEKCjIwMTEtMTEtMDcgMTc6MTM6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZkYmFzZWJpbjogZml4IGZvciBwYWQgcHJvYmVzIHVwZGF0ZQoKMjAxMS0xMS0wMyAxODo1NToyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IG1lcmdlIGNhcHMgaW5zdGVhZCBvZiB1c2luZyB1bmlvbgoJICBJdCdzIGEgbG90IGZhc3RlciwgYW5kIHByZXNlcnZlcyBjYXBzIG9yZGVyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzQ2CgoyMDExLTEwLTI3IDE1OjUzOjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IGFkZCBhICdzaWxlbnQnIHByb3BlcnR5IHRvIHNraXAgcmVuZGVyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI4NTcKCjIwMTEtMDgtMjkgMTM6MDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogY2F0Y2ggc2VjdGlvbiBsZW5ndGhzIGV4dGVuZGluZyBwYXN0IHRoZSBidWZmZXIgbGVuZ3RoCgkgIFRoaXMgaXMgcHJvYmFibHkgdGhlIGNhdXNlIGZvciBhbiBvY2Nhc2lvbmFsIGNyYXNoIHdoaWxlIHN0cmVhbWluZwoJICBNUEVHLiBCbGluZCBmaXggYWZ0ZXIgc3RhcmluZyBhdCB0aGUgY29kZSBhbmQgZm9sbG93aW5nIGxvZ2ljLCBzbwoJICBtYXkgb3IgbWF5IG5vdCBmaXggdGhlIGlzc3VlLCBJIGNhbm5vdCB0ZXN0LgoKMjAxMS0xMC0yMCAxMDo0Mjo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGRvIG5vdCB0cnkgdG8gc2VlayBiZWZvcmUgdGhlIGZpcnN0IGNoYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTA2NAoKMjAxMS0xMC0wNSAxODozMDoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY0MjEKCjIwMTEtMTAtMDUgMTg6MjU6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggbGF0ZW5jeSBxdWVyeQoJICBUaGlzIG1ha2VzIGxpdmUgJ2F1ZGlvc3JjICEgb3B1c2VuYyAhIG9wdXNkZWMgISBhdWRpb3NpbmsnIHBpcGVsaW5lcwoJICBhY3R1YWxseSB3b3JrIHdpdGhvdXQgYWxsIGF1ZGlvIGJlaW5nIGR1bXBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDk5OQoKMjAxMS0xMC0wNSAxNTo0NzowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHVzZSBkZWJ1ZyBsZXZlbCBmb3IgZGVidWcgaW5mbywgbm90IGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA5OTkKCjIwMTEtMDktMjkgMTQ6MjI6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBmaXggY2FsY3VsYXRpb24gb2YgZmlsbGVyIGRhdGEgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNDY5CgoyMDExLTA5LTI5IDE0OjIyOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNhbGN1bGF0aW9uIG9mIGZpbGxlciBkYXRhIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDQ2OQoKMjAxMS0xMC0wMyAxODoyODoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVncHNkZW11eDogZml4IHplcm8gbGVuZ3RoIHBhY2tldCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDE2CgoyMDExLTExLTAyIDEyOjQxOjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBtYXJrIHRlc3QgaW5wdXQgZGF0YSBjb25zdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM1CgoyMDExLTExLTAyIDEyOjQxOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlcjogaW5wdXQgZGF0YSBpcyBjb25zdCwgbWFyayBpdCBzbwoKMjAxMS0xMS0wMiAxMjozODozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogYWxsb3cgYnVpbGRpbmcgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBnbGliIChnX2xpc3RfZnJlZV9mdWxsKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM0CgoyMDExLTExLTA3IDEwOjAyOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wNCAxODowNjo1MSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgRml4IG1pc3Npbmcgc291cmNlcyBvbiBiYXllcidzIGJ1aWxkc3lzdGVtIGFuZHJvZ2VuaXplciBjYWxsCgoyMDExLTExLTA0IDE4OjUyOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMS0xMS0wNCAxNjozNDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDE2OjIzOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIGV4YW1wbGVzIDogUG9ydCB0byAwLjExCgoyMDExLTExLTA0IDEzOjA0OjE5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGFkZCBtb3JlIHNpemUgY2hlY2tzIGFuZCBpbXByb3ZlIGV4aXN0aW5nCgkgIERvbid0IHN1YnRyYWN0IHdpdGggdW5zaWduZWQgdmFsdWVzLCB0aGF0IHdpbGwgYml0ZSB1cy4gQWxzbyBmaXggZm9ybWF0CgkgIHNwZWNpZmllciBpbiB0aGUgbG9nIG1lc3NhZ2UuCgoyMDExLTExLTA0IDEyOjMxOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDEyOjIyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgbWFrZSByZXF1ZXN0IHBhZHMgdGFrZSBfJXUKCjIwMTEtMTEtMDQgMTE6MjQ6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkgIHZpZGVvOiBwb3J0IHNvbWV3aGF0IHRvIDAuMTEKCSAgSW4gMC4xMSB0aGlzIHNob3VsZCBiZSBkb25lIGRpZmZlcmVudGx5CgoyMDExLTExLTA0IDExOjAxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wNCAxMDoxNzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IEZpeCBmb3IgcmVtb3ZhbCBvZiBnc3RfZWxlbWVudF9mb3VuZF90YWdzX2Zvcl9wYWQoKQoKMjAxMS0xMS0wMyAxNzoxNzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkgIHN1cmZhY2Vjb252ZXJ0ZXI6IFJlbW92ZSBkdXBsaWNhdGVkIGZvcndhcmQgZGVjbGFyYXRpb24KCSAgSXQgc2VlbXMgdGhhdCBzb21lIGNvbXBpbGVycyBkb24ndCBsaWtlIGR1cGxpY2F0ZWQgdHlwZWRlZnMuCgoyMDExLTExLTAzIDE2OjU3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgdmlkZW9lbmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTExLTAzIDE2OjU3OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZpZGVvOiBmaXggZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMDMgMTQ6MDE6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wMyAxMzo1Njo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgbGlicy92aWRlbzogRmluaXNoIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wOS0yOCAxOToyOTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSAgdmlkZW86IEFkZCBsaWJnc3RiYXNldmlkZW8gUEMgZmlsZQoKMjAxMS0xMC0xOSAxNjoxOTo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkgIHZpZGVvOiBBZGQgR3N0VmlkZW9Db250ZXh0IGludGVyZmFjZQoJICBUaGlzIGludGVyZmFjZSB3aWxsIGJlIHVzZWQgdG8gaW1wbGVtZW50IHZpZGVvIGNvbnRleHQgc2hhcmluZy4gVGhvc2UKCSAgY29udGV4dCBjb3VsZCBiZSBYMTEgRGlzcGxheSwgVmFEaXNwbGF5LCBldGMuCgoyMDExLTEwLTA3IDE5OjA1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkgIHZpZGVvOiBBYnN0cmFjdCBzdXJmYWNlIEFQSSBmb3IgSFcgYWNjZWxlcmF0ZWQgY29kZWNzCgoyMDExLTEwLTI2IDE2OjMxOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHRlc3RzOiBtYWtlIGNvbnN0IGRhdGEgY29uc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjc3NgoKMjAxMS0xMC0yNiAxNjoyOTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGRvIG5vdCBvdmVyd3JpdGUgYnVmZmVyCgkgIEkgZG8gbm90IGtub3cgdGhlIGJpdHN0cmVhbSBmb3JtYXQsIGJ1dCB0aGlzIHNlZW1zIGxpa2VseQoJICB0byBiZSB3aGF0IHdhcyBpbnRlbmRlZC4gQWxzbyBhZGQgYSBjaGVjayBvbiB0aGUgbnVtYmVyIG9mCgkgIGl0ZW1zIHRvIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI3NzYKCjIwMTEtMTAtMjEgMTM6MTg6MjYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZml4IHBhcnNpbmcgb2YgUkFOR0VSRURGUk0KCjIwMTEtMTEtMDIgMTI6MTA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdGFnOiB1cGRhdGUgZm9yIHRhZyBBUEkgcmVtb3ZhbAoKMjAxMS0xMS0wMiAxMDozMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDIgMDk6MTQ6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVwZGF0ZSBmb3IgdGFnbGlzdCBhcGkgY2hhbmdlcwoKMjAxMS0xMC0yOSAwOTowOToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBjYXBzOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMTEtMDEgMTE6NDc6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT24gY2FwdHVyZSBlcnJvciwgc2tpcCBwcmV2aWV3cwoJICBXaGVuIHRoZSBjYW1lcmEgc291cmNlIGZhaWxzIHRvIGRvIHNvbWUgY2FwdHVyZSwgc2tpcCB0aGUgbmV4dAoJICBwcmV2aWV3IGFuZCBkZWNyZW1lbnQgcHJvY2Vzc2luZyBjb3VudGVyLgoKMjAxMS0xMS0wMSAxMDozODozMyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0cmFjayBhbHNvIHByZXZpZXcgaW1hZ2VzIHdpdGggcHJvY2Vzc2luZyBjb3VudGVyCgkgIE1ha2VzIGNhbWVyYWJpbjIgb25seSBzaWduYWwgdGhhdCBpdCBpcyBpZGxlIGFmdGVyIGFsbCBwcmV2aWV3cyBoYXZlCgkgIGJlZW4gZ2VuZXJhdGVkLCBpbWFnZXMgYXJlIGNhcHR1cmVkIGFuZCBzYXZlZCwgYW5kIHZpZGVvcyBoYXZlCgkgIGJlZW4gZmluaXNoZWQgcHJvcGVybHkuCgoyMDExLTExLTAxIDE1OjA4OjI2ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBhY2Nlc3MgdG8gdW5pbml0aWFsaXplZCBtZW1vcnkKCSAgV2hlbiB2dWktPnRpbWluZ19pbmZvX3ByZXNlbnQgaXMgMCwgdnVpLT5maXhlZF9mcmFtZV9yYXRlX2ZsYWcgYW5kIG90aGVycwoJICBjYW5ub3QgYmUgYWNjZXNzZWQgc2luY2UgdGhleSBoYXZlIG5vdCBiZWVuIHNldC4KCSAgSXQgd2FzIGFsc28gcG9zc2libGUgdGhhdCBzcHMtPmZwc197bnVtLGRlbn0gZW5kIHVwIGluaXRpYWxpemVkIGhlcmUuCgoyMDExLTExLTAxIDExOjExOjQ3ICswMDAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBoYWNrIGFyb3VuZCBicm9rZW4gbXBsZXggMi4wLjAgaGVhZGVycyBpbiBtcGxleCBjaGVjawoJICBEdWUgdG8gdGhlIGFkZGl0aW9uIG9mIGFuIHVuY29uZGl0aW9uYWwgaW5jbHVzaW9uIG9mIGNvbmZpZy5oIGluCgkgIG1qcGVndG9vbCAyLjAuMCdzIHN0cmVhbV9wYXJhbXMuaCBoZWFkZXIgdGhlIGF1dG9jb25mIHRlc3QgZm9yIHRoZQoJICBtcGxleCBtb2R1bGUgZmFpbGVkLiBIYWNrIGFyb3VuZCB0aGlzIGluIHRoZSBzYW1lIHdheSB3ZSBkaWQgZm9yCgkgIG1wZWcyZW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjE0CgoyMDExLTExLTAxIDExOjA5OjUyICswMDAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdHlwbyBpbiBtcGVnMmVuYyBjaGVjayBzbyBDUFBGTEFHUyBnZXQgcmVzdG9yZWQgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MTQKCjIwMTEtMTEtMDEgMTI6Mjk6MzUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IE1BWF9TUFMvUFBTIGJvdW5kYXJ5IGNoZWNrcwoKMjAxMS0xMS0wMSAxMjoxMjo1NiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBmaXggZXhpdCBjb2RlCgoyMDExLTExLTAxIDAwOjQ1OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgVXBkYXRlIGZvciBwYWQgQVBJIGNoYW5nZXMKCSAgR3N0UHJvYmVUeXBlLCBHc3RQcm9iZVJldHVybiBhbmQgR3N0QWN0aXZhdGVNb2RlIC0+IEdzdFBhZCoKCjIwMTEtMTAtMjggMTE6MTA6MDYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogRG9uJ3QgcmVzZXQgdGhlIGNvbnRleHQgb24gRElTQ09OVAoJICBPbiBkaXNjb250LCB0aGUgcXVldWUgb2YgZnJhbWVzIHdhcyBiZWluZyBjbGVhcmVkLCBidXQgYWxzbyB0aGUKCSAgY29udGV4dCByZXNldC4gV2Ugb25seSBuZWVkIHRvIGNsZWFyIHRoZSBxdWV1ZS4KCjIwMTEtMTAtMzEgMTQ6NTE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDE0OjUxOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBrYXRlLCBiYXllciwgdHNkZW11eDogdXBkYXRlIGZvciBjYXBzIGFuZCB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMxIDE0OjUwOjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQga2F0ZSBhbmQgbXl0aHR2IHRvIG5vbi1wb3J0ZWQgbGlzdAoJICBrYXRldGlnZXIgaXNuJ3QgcG9ydGVkLCBzbyBwbHVnaW4gZG9lc24ndCBidWlsZCBpZiBsaWJ0aWdlciBpcyBwcmVzZW50LgoKMjAxMS0xMC0zMSAxMTozNjowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGhhbmRsZSBmYWlsdXJlcyBpbiBzdGFydCgpIGFuZCBzdG9wKCkKCjIwMTEtMTAtMzEgMDY6NTk6NTMgLTAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYXNyYzogb3B0aW1pemUgc3RhdGUgY2hhbmdpbmcgc3BlZWQKCSAgQ3JlYXRlIHByZXZpZXcgcGlwZWxpbmUgYWxyZWFkeSBpbiBpbml0aWFsaXphdGlvbiBwaGFzZS4gVGhpcyBzcGVlZHMKCSAgdXAgTlVMTF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UuIEFsc28gaW1wbGVtZW50IGEgc2VwYXJhdGUgZnVuY3Rpb24gZm9yCgkgIHNldHRpbmcgdGhlIHByZXZpZXcgZmlsdGVyIGVsZW1lbnQuCgkgIFRoaXMgYWxzbyByZXN0cmljdHMgdGhlIHByZXZpZXcgZmlsdGVyIHByb3BlcnR5IHRvIHdvcmsgb25seSBvbgoJICBOVUxMIHN0YXRlLgoKMjAxMS0xMC0yOCAxNToxNjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1ha2UgZWxlbWVudHMgY29tcGlsZSBhZ2FpbgoKMjAxMS0xMC0yNyAxNjoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjcgMTY6MjM6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yNyAxNjoyMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIHNwYW5kc3AgdG8gbm9uLXBvcnRlZAoKMjAxMS0xMC0yNyAxNjoxMzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjEgMTU6MDQ6MDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0xOSAxMDoyNDo1MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBDb3JyZWN0IHRoZSBwYXJzaW5nIG9mIEZSTVJUUV9QT1NUUFJPQyBhbmQgQklUUlRRX1BPU1RQUk9DCgoyMDExLTEwLTIxIDExOjQwOjU0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IENvcnJlY3QgdGhlIHBhcnNpbmcgb2Ygc2VxdWVjZSBsYXllci4KCjIwMTEtMTAtMjAgMDk6Mzk6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBEaXNhYmxlIGV4dC9mYWFkIGZvciB0aGUgYW5kcm9pZCBuZGsgYnVpbGQKCSAgSXQgY3VycmVudGx5IG1ha2VzIHRoZSBidWlsZCBmYWlsLiBJZGVhIGlzIHRvIGVuYWJsZQoJICBpdCBiYWNrIGFnYWluIG9uY2UgaXRzIGJ1aWxkaW5nIHByb2JsZW1zIGdldCBzb3J0ZWQKCSAgb3V0LgoKMjAxMS0xMC0xOCAxNDo0MTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgYXNzcmVuZGVyLCBudXZkZW11eDogdW5yZWYgYnVmZmVycyB3aXRoIGdzdF9idWZmZXJfdW5yZWYoKQoKMjAxMS0xMC0xOCAxNDozMjowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTggMTQ6Mjg6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHQ6IHN0YXJ0IG9mIDAuMTEgcG9ydAoKMjAxMS0xMC0xNCAxMTowNzowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IENvbXB1dGUgcGFyIGFuZCBmcHMgaW4gYWR2YW5jZWQgcHJvZmlsZQoKMjAxMS0xMC0xMCAxNDoxOTo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEhhbmRsZSBpbnRlcmxhY2VkIGZpZWxkcwoKMjAxMS0xMC0xMCAxMDoxNDoxMiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEhhbmRsZSBpbnRlcmxhY2VkIGZyYW1lcyBwcm9wZXJseQoKMjAxMS0xMC0wNyAxMzoxMTo1NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IFVzZSBlbnVtcyB3aGVuIHBvc3NpYmxlCgkgIEFkZCBHc3RWQzFGcmFtZUNvZGluZ01vZGUgYW5kIHVzZSBpdCBmb3IgdGhlIGZjbSBmaWVsZAoJICBVc2UgR3N0VkMxUGljdHVyZVR5cGUgYXMgdmFyaWFibGUgdHlwZSBmb3IgcHR5cGUKCSAgVXNlIEdzdFZDMUxldmVsIGFzIHZhcmlhYmxlIHR5cGUgZm9yIGxldmVsCgoyMDExLTEwLTA3IDE3OjQyOjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoY2hlY2sgZm9yIGVycm9ycykuCgoyMDExLTEwLTA3IDE1OjIxOjM0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoSU5WRVJUIG1vZGUpLgoKMjAxMS0xMC0wNyAxMzo1OToyOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBNVk1PREUgYW5kIE1WTU9ERTIgcGFyc2luZy4KCjIwMTEtMTAtMDUgMTc6Mzk6NTkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBoYW5kbGUgc2tpcHBlZCBwaWN0dXJlcyBncmFjZWZ1bGx5LgoKMjAxMS0xMC0wNCAxNzozOTo0MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBiaXRwbGFuZXMgZGlmZiBvcGVyYXRvcgoKMjAxMS0xMC0wNCAxNzozOTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IFNvbWUgY29zbWV0aWNzIGFuZCBkZWJ1ZyBsb2dnaW5nIGVuaGFuY2VtZW50cwoKMjAxMS0xMC0wNCAxNToxNjowNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IEltcGxlbWVudCBiaXRwbGFuZXMgaGFuZGxpbmcgcHJvcGVybHkKCSAgQWRkIGEgbmV3IEdzdFZDMUJpdFBsYW5lcyBBUEkuCgoyMDExLTEwLTA0IDE0OjA0OjQyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IEJGUkFDVElPTiBwYXJzZXIgKHZhbHVlcyByYW5nZSArIG92ZXJmbG93KS4KCjIwMTEtMTAtMDQgMTE6NTc6MzcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggVkxDIGRlY29kaW5nLgoKMjAxMS0xMC0wNSAxNjo0MDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBGcmFtZUxheWVyIHBhcnNpbmcKCjIwMTEtMTAtMDUgMTI6MTU6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgU2VxdWVuY2UgTGF5ZXIgRGF0YSBTdHJ1Y3R1cmVzCgkgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIFZDMVNlcXVlbmNlSGVhZGVyIHN0cnVjdHVyZSwgdXNlIHRoZSAzIHN0cnVjdHMKCSAgZnJvbSB0aGUgIlRhYmxlIDI2NTogU2VxdWVuY2UgTGF5ZXIgRGF0YSBTdHJ1Y3R1cmUiIG9mIHRoZSBzcGVjaWZpY2F0aW9uCgkgIGZvciB0aGUgbGlicmFyeSB0byBiZSBtb3JlIGZsZXhpYmxlLgoJICBJbXBsZW1lbnQgdGhlIGZ1bmN0aW9ucyB0byBwYXJzZSB0aGVtCgoyMDExLTEwLTA1IDA4OjI2OjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogQ29tcHV0ZSBmcmFtZXJhdGUgYW5kIGJpdHJhdGUgaW4gc2ltcGxlL21haW4gcHJvZmlsZXMKCjIwMTEtMTAtMDMgMTQ6MjU6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBjb21wdXRlIE1CIGhlaWdodCBhbmQgd2lkdGgKCSAgQWRkIHRoZW0gdG8gR3N0VkMxU2VxdWVuY2VIZHIKCjIwMTEtMTAtMDMgMTU6MzY6MDggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBkZWJ1ZyBjb3NtZXRpY3MuCgoyMDExLTEwLTAzIDExOjQyOjMyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogcmVjb3JkIHBpY3R1cmUgbGF5ZXIgaGVhZGVyIHNpemUgaW4gYml0cy4KCjIwMTEtMTAtMDMgMTE6MTQ6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBjb21wdXRlIGFsdHBxdWFudC4KCjIwMTEtMTAtMDMgMTQ6MjI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBGaXggYWZ0ZXIgR3N0VkMxUGFyc2VyUmVzdWx0IHJlbmFtaW5nCgoyMDExLTA5LTMwIDEyOjQxOjEzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogdXNlIEdzdFZDMVBhcnNlclJlc3VsdCB0eXBlIG5hbWUgc2ltaWxhcmx5IHRvIG90aGVyIHBhcnNlcnMuCgoyMDExLTA5LTMwIDExOjM4OjE1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogaGFuZGxlIEVuZC1vZi1TZXF1ZW5jZSBjb3JyZWN0bHkuCgoyMDExLTA5LTE0IDE0OjIxOjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBmaXggcXVhbnRfbWF0cml4X2V4dGVuc2lvbigpIHBhcnNlciBmb3IgY2hyb21hIGludHJhIFFNLgoKMjAxMS0xMC0xMyAxNjo1Mjo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IGRlYnVnIG1lc3NhZ2UgYW5kIHJlbW92ZSBzb21lIGRlYWQgY29kZQoJICBTZWUgIzY2MTExMy4KCjIwMTEtMTAtMDYgMTY6NTU6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCBwYXJzaW5nIG9mICJudW1iZXJPZlBpY3R1cmVQYXJhbWV0ZXJTZXRzIgoJICBTZWUgIzY2MTExMy4KCjIwMTEtMTAtMTcgMTA6MTk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEZpeCBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0xMC0xNiAxNzo0MTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTY6NDU6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE2OjI4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICBiYXllcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE1OjI4OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xMyAxNjo1NzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgZ3N0X2J1ZmZlcl9qb2luIGluc3RlYWQgb2YgYnVmZmVybGlzdHMKCSAgVGhpcyBpcyAqcmVhbGx5KiBpbmVmZmljaWVudC4gV2Ugc2hvdWxkIHRyYWNrIGxpc3Qgb2YgR3N0TWVtb3J5CgkgIGluc3RlYWQuCgoyMDExLTEwLTEzIDE2OjU3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFBsdWcgbW9yZSBsZWFrcwoKMjAxMS0xMC0xMyAxNjo1NTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZWZhY3RvciBzY2FuIGxvb3AKCSAgQXZvaWRzIGVuZGluZyB1cCBsZWFraW5nIHBhY2tldHMgd2hlbiB3ZSBnb3Qgb25lIGFuZCByZXMgd2FzIGRpZmZlcmVudAoJICBmcm9tIEdTVF9GTE9XX09LLgoJICBJdCBhbHNvIGxvb2tzIG1vcmUgY29tcHJlaGVuc2libGUKCjIwMTEtMTAtMTMgMTY6NTU6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgbGVhayB1cHN0cmVhbSBldmVudHMKCjIwMTEtMTAtMTMgMTY6NTU6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3IgY29kZSB0byBjb3BlIHdpdGggZ19oYXNoX3RhYmxlX2ZvcmVhY2hfcmVtb3ZlKCkKCjIwMTEtMTAtMTIgMTg6MDU6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eC90c3BhcnNlOiBQb3J0IHRvIDAuMTEKCSAgVGhpcyBpcyBhIG5haXZlIHBvcnQgdGhhdCBzb21ld2hhdCB3b3JrcyBidXQgaXMgaW5lZmZpY2llbnQuCgkgIEkgbmVlZCB0byByZXRoaW5rIGhvdyB0byBtYWtlIHRoZSBiZXN0IG91dCBvZiBHc3RNZW1vcnkvR3N0QnVmZmVyCgoyMDExLTEwLTEyIDEyOjA5OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoZWNrIGJlZm9yZSBhY2Vzc2luZyBwcmV2aWV3IGxvY2F0aW9uIGxpc3QKCSAgT25seSBhY2Nlc3MgdGhlIHByZXZpZXcgbG9jYXRpb24gaWYgaXQgZXhpc3RzLCB0byBhdm9pZCBhY2Vzc2luZwoJICBhIE5VTEwgdmFyaWFibGUuIElmIHRoZSBwcmV2aWV3IGxvY2F0aW9uIGxpc3QgZG9lc24ndCBleGlzdCwgaXQgaXMKCSAgbGlrZWx5IGJlY2F1c2UgdGhlIHNvdXJjZSBoYXMgcG9zdGVkIGEgcHJldmlldyBtZXNzYWdlIGFmdGVyIGNhbWVyYWJpbjIKCSAgaGFzIGJlZW4gcHV0IHRvIFJFQURZLgoKMjAxMS0wOC0wNyAxNzowMTo0OCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobTogQWRkIGJ1ZmZlci10aW1lIHByb3BlcnR5CgkgIEFkZCBhIGJ1ZmZlci10aW1lIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBhbW91bnQgb2YgZGF0YQoJICBxdWV1ZWQgaW4gdGhlIHNobXNpbmsgYnVmZmVyIGluIG5hbm9zZWNvbmRzLgoJICBGaXhlczogIzY1NjEwNwoKMjAxMS0wOC0wNyAxNjozNjozMiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIGFiaWxpdHkgdG8gYWRkIHVpbnQ2NCB0YWdzIG9uIGJ1ZmZlcnMKCjIwMTEtMTAtMTEgMjM6MzA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogU2V0IHByZXZpZXcgcGlwZWxpbmUgdG8gcmVhZHkgd2hlbiBnb2luZyB0byByZWFkeQoJICBUaGUgcHJldmlldyBwaXBlbGluZSBzaG91bGQgZ28gdG8gcmVhZHkgd2hlbiB0aGUgY2FtZXJhc3JjIGdvZXMKCSAgdG8gcmVhZHksIGFzIGluIHJlYWR5IGVsZW1lbnRzIHNob3VsZG4ndCBiZSBwcm9jZXNzaW5nIGRhdGEuCgoyMDExLTEwLTExIDIzOjEzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgbXV0ZXggdG8gYXZvaWQgY29uY3VycmVudCBhY2Nlc3Mgb2YgcHJldmlldyBmaWxlbmFtZSBsaXN0cwoJICBUaGUgcHJldmlldyBmaWxlbmFtZSBsaXN0IGlzIGFjZXNzZWQgd2hlbmV2ZXIgYSBuZXcgY2FwdHVyZSBpcyBzdGFydGVkLCB3aGVuCgkgIGNhbWVyYS1zb3VyY2UgcG9zdHMgYSBuZXcgcHJldmlldyBtZXNzYWdlIG9yIG9uIHN0YXRlIGNoYW5nZXMuIEFsbCBvZiB0aG9zZSBjYW4KCSAgb2NjdXIgc2ltdWx0YW5lb3VzbHksIHNvIGFkZCBhIG11dGV4IHRvIHByZXZlbnQgY29uY3VycmVudCBhY2Nlc3MuCgoyMDExLTEwLTA3IDEwOjQ4OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlc2V0IGF1ZGlvc3JjIHRpbWVzdGFtcGluZwoJICBSZXNldCBhdWRpb3NyYydzIHRpbWVzdGFtcGluZyBkYXRhIGJ5IHNldHRpbmcKCSAgaXQgdG8gTlVMTCB0byByZXNldCB0aGUgcmluZ2J1ZmZlciBhbmQgdGhlbiByZS1zZXRpbmcKCSAgdGhlIGNsb2NrIHRoYXQgY2FtZXJhYmluIG1pZ2h0IG5vdCByZWRpc3RyaWJ1dGUKCjIwMTEtMTAtMTEgMTY6Mjc6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBQcmV2ZW50IGF1ZGlvIHNvdXJjZSBmcm9tIHByb3ZpZGluZyBjbG9jawoJICBjYW1lcmFiaW4ncyBhdWRpbyBzb3VyY2UgbWlnaHQgYmUgcHV0IHRvIE5VTEwgZHVyaW5nIGl0cwoJICB1c2UsIHNvIHRoZSBjbG9jayB3b3VsZCBiZSBsb3N0LiBCZXR0ZXIgbm90IGFsbG93IGl0IHRvCgkgIHByb3ZpZGUgYSBjbG9jayBhdCBhbGwuCgoyMDExLTEwLTExIDExOjA1OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBvcGVuYWwgaXMgbm90IHBvcnRlZCB5ZXQKCjIwMTEtMTAtMTAgMTE6NDE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMDoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxNToxNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxNDoyMjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMzoxNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkaXNhYmxlIGRpcmVjdGZiCgoyMDExLTEwLTA4IDEyOjA3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo1Nzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjQwOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6MTc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA2IDIzOjIyOjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBleGFtcGxlczogRml4ZXMgZm9yIGNvbXBpbGluZyB3aXRoIEdUSysgMy4wCgkgIGNhbWVyYWJpbmcgZXhhbXBsZSBoYWQgYSBtaXNzaW5nICcpJyBhbmQgdGhlIGZpeCB0byBidWlsZCBhZ2FpbnN0IEdUSyszCgkgIHRoYXQgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0IDUxNmM5NzdjNzZiYTRjZDg2YTcxNDdhYWI3NDE2YTMzZDc2Zjg3MGYKCSAgaXMgYWxzbyBhcHBsaWVkIHRvIHRoZSBjYW1lcmFiaW4yIGV4YW1wbGUuCgkgIFRoZSBzY2FsZXRlbXBvIGRlbW8gd2FzIHVzaW5nIEFQSSB3aGljaCBoYXMgYmVlbiByZW1vdmVkLCBzbyB0aGF0J3MKCSAgd3JhcHBlZCBpbiBhIHZlcnNpb24gY2hlY2suCgoyMDExLTEwLTA2IDE3OjU2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBiZWdpbm5pbmcgb2YgcG9ydCB0byAwLjExCgoyMDExLTEwLTA2IDEyOjE1OjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1ha2UgcHJvcGVyIHVzZSBvZiB0aGUgaDI2NHBhcnNlciBsaWIgaW4gcGFyc2VfY2hhaW4KCSAgTWlub3IgZGVidWdnaW5nIGxvZ3MgZml4ZXMKCjIwMTEtMTAtMDYgMTQ6MDU6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA2IDE0OjAzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNiAxMjoyNToyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByb3Blcmx5IGludGVycHJldCBiYXNlcGFyc2UgZHJhaW5pbmcgc3RhdGUKCSAgLi4uIHdoaWNoIG1lYW5zIHRoZSBpbnB1dCBkYXRhIGhhcyByZWFjaGVkIHRoZSBlbmQsIGJ1dCBuZWVkIG5vdCBleGNsdWRlCgkgIG1hbnkgc2VwYXJhdGUgZnJhbWVzIG1heSBzdGlsbCBuZWVkIHBhcnNpbmcuCgkgIEZpeGVzIG1lcmdpbmcgTkFMcyBpbnRvIEFVLgoKMjAxMS0xMC0wNSAyMzoxNDoyMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IHRoZSBzaXplIGFyZ3VtZW50IG9mIGdzdF9oMjY0X3BhcnNlcl9pZGVudGlmeV9uYWx1X2F2YygpCgoyMDExLTEwLTA1IDEyOjA5OjA0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1pbmltdW0gc2l6ZSBvZiBwYXJzYWJsZSBhdmNDIGRhdGEgc2hvdWxkIGJlIDgKCjIwMTEtMTAtMDYgMTA6NTg6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA1IDIwOjA2OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDUgMTI6NTM6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBtb3JlIHBvcnRpbmcKCjIwMTEtMTAtMDQgMTg6NTQ6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDE4OjM4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxODozNTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbW9yZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTA0IDE0OjMwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgdGVzdHM6IHBvcnQKCjIwMTEtMTAtMDQgMTQ6Mjc6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIHZpZGVvOiBzdGFydCBwb3J0aW5nIHNvbWUgYmFzZSBjbGFzc2VzCgoyMDExLTEwLTA0IDE0OjI3OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDExLTEwLTA0IDE0OjI2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHJlbW9yZSBpbXBsZW1lbnQtaW50ZXJmYWNlCgoyMDExLTEwLTA0IDE0OjI1OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtb3JlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMDQgMTM6MzM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxMzozMzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIHJpZ2h0IGNhcHMKCjIwMTEtMTAtMDQgMTM6Mjk6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA0IDEyOjMxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogT25seSBmYWlsIHRvIGluaXRpYWxpemUgdGhlIHBsdWdpbiBpZiBhbGwgcGFyc2VycyBjYW4ndCBiZSByZWdpc3RlcmVkCgoyMDExLTEwLTAzIDE1OjI2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogSW5pdGlhbGl6ZSBjYW1lcmFiaW4yIHByZXZpZXcgcGlwZWxpbmUgZGF0YSB3aXRoIDAKCSAgVXNlIGdfbmV3MCB0byBpbml0aWFsaXplIGFsbCBmaWVsZHMgd2l0aCAwIHRvIG9ubHkgY2xlYW51cCB3aGF0IGhhcyBiZWVuCgkgIGluaXRpYWxpemVkLiBUaGlzIG1ha2VzIGNsZWFudXAgd29yayBjb3JyZWN0bHkgd2hlbiBzb21lIGluaXRpYWxpemF0aW9uCgkgIGZhaWxzIGFuZCBwb2ludGVycyBhcmUgbGVmdCBpbiBzb21lIGluY29uc2lzdGVudCBzdGF0ZS4KCjIwMTEtMTAtMDMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBGaXggdHlwbwoKMjAxMS0wOS0yMyAyMjo1ODozMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBVcGRhdGUgdGhlIHBheS9kZXBheSB0byB0aGUgaWV0Zi1kcmFmdC0wMSBzcGVjCgoyMDExLTEwLTAzIDExOjI0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yOCAxNDo1NzowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBkZWNvZGluZwoJICBBIHNpbXBsZSAuLi4gb3B1c2VuYyAhIG9wdXNkZWMgLi4uIHBpcGVsaW5lIG5vdyB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxNDo1NjoxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1vYW4gaWYgd2UgZ2V0IGFuIHVuZXhwZWN0ZWQgYW1vdW50IG9mIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxNDoyMjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogcHJvcGVybHkgc2V0dXAgY2FwcyBhbmQgaW5pdCBzdGF0ZSBmcm9tIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHVzZSB0aGUgc2FtZSBmcmFtZSBzaXplIHNldHVwIGFzIHRoZSBvcHVzIHRlc3QgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI0OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogb3B1cyBzdXBwb3J0cyBhIHNlbGVjdCBzZXQgb2Ygc2FtcGxpbmcgcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNDoyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogbWFrZSBpdCBidWlsZCBhZ2FpbnN0IGN1cnJlbnQsIGFuZCByZW1vdmUgY3J1ZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0zMCAxODo1NDowNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2Nhbm5pbmcgc3RvcHBpbmcgdG9vIGVhcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgyNDUKCjIwMTEtMDktMjkgMjA6NTU6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogYXZvaWQgcmVuZGVyaW5nIHdoZW4gd2Uga25vdyB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTI4CgoyMDExLTEwLTAxIDE0OjMwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCByYWNlIGNvbmRpdGlvbiBvbiBQQVVTRUQtPlJFQURZIHN0YXRlIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNjMwCgoyMDExLTA5LTIxIDE0OjUzOjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiB0YWtlIGludG8gYWNjb3VudCBTQ1Igb2Zmc2V0IHdoZW4gc2Vla2luZwoJICBTaW5jZSB0aGUgc2Vla2luZyBieXRlIG9mZnNldCBpcyBjaG9zZW4gYnkgbGluZWFyIGludGVycG9sYXRpb24KCSAgZnJvbSBTQ1IgdmFsdWVzLCB3ZSBuZWVkIHRvIHRha2UgdGhhdCBmaXJzdCBTQ1IgaW50byBhY2NvdW50CgkgIHRvIGVuZCB1cCBuZWFyIHRoZSBjb3JyZWN0IG9mZnNldC4gT3RoZXJ3aXNlLCBhcyB0aGUgY29kZSBkb2VzCgkgIGEgbGluZWFyIHNlYXJjaCBhZnRlciB0aGF0IGZpcnN0IHNlZWssIGl0IHdpbGwgdGFrZSBhIExPT09PT09ORwoJICB0aW1lIHRvIGdldCB0aGVyZSBmb3Igc3RyZWFtcyB3aGljaCBkb24ndCBzdGFydCBhdCB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTIxIDE3OjI5OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYW5zd2VyIHBvc2l0aW9uIHF1ZXJ5IHdpdGggYSBzdHJlYW0gdGltZSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTIwIDE1OjIxOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiByZW1vdmUgdW51c2VkIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjkgMTg6MjA6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogUmVmYWN0b3IgdGVzdHMgYSBsaXR0bGUKCSAgUmVmYWN0b3IgY2FtZXJhYmluMiB0ZXN0cyBhIGxpdHRsZQoKMjAxMS0wOS0yOSAxMzowMzowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBhZGRpbmcgdGVzdHMgdG8gY2hlY2sgZm9yIHByZXZpZXcgbWVzc2FnZSBmaWxlbmFtZXMKCSAgUHJldmlldyBtZXNzYWdlcyBub3cgaGF2ZSBmaWxlbmFtZXMsIGFkZCB0ZXN0cyB0byBjaGVjayB0aGF0IHRoZXkgYXJlCgkgIGNvcnJlY3QKCjIwMTEtMDktMjkgMTg6MDM6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IGFkZCBsb2NhdGlvbiB0byBwcmV2aWV3IGltYWdlIG1lc3NhZ2VzCgkgIE1ha2VzIGNhbWVyYWJpbjIgaW50ZXJjZXB0IHByZXZpZXctaW1hZ2UgbWVzc2FnZXMgYW5kIGFkZAoJICB0aGUgZmlsZW5hbWUgY29ycmVzcG9uZGluZyB0byB0aGUgbWVzc2FnZSBzdHJ1Y3R1cmUgaW4gdGhlCgkgICdsb2NhdGlvbicgZmllbGQuCgkgIE1ha2VzIGVhc2llciBmb3IgYXBwbGljYXRpb25zIHRvIHRyYWNrIHByZXZpZXcgaW1hZ2VzCgoyMDExLTA5LTI3IDEzOjA0OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmluZyBjYXBzZmlsdGVyIGZyb20gcHJldmlldyBwaXBlbGluZQoJICBhcHBzaW5rIGFscmVhZHkgaGFzIGEgY2FwcyBwcm9wZXJ0eSwgc28gd2UgZG9uJ3QgbmVlZCB0aGUKCSAgY2Fwc2ZpbHRlciBoZXJlCgoyMDExLTA5LTI5IDE2OjIyOjAwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBwb3RlbnRpYWwgbG9zcyBvZiBFT1MgZXZlbnQKCSAgU2V0dGluZyB0aGUgYXVkaW8gc291cmNlIHRvIE5VTEwganVzdCBhZnRlciBwdXNoaW5nIHRoZSBFT1MgZXZlbnQKCSAgb24gaXQgY291bGQgcG90ZW50aWFsbHkgY2F1c2UgbG9zcyBvZiBzYWlkIEVPUyBldmVudC4gSW5zdGVhZCwgd2UKCSAgY2FuIHNldCB0aGUgYXVkaW8gc291cmNlIHRvIE5VTEwgd2hlbiByZWFkeS1mb3ItY2FwdHVyZSBpcwoJICBzaWduYWxsZWQgYW5kIHRoZSBib29sZWFuIHZhbHVlIGlzIHRydWUgYXMgdGhpcyBpbmRpY2F0ZXMgd2UgYXJlCgkgIG5vdCBjdXJyZW50bHkgY2FwdHVyaW5nIHZpZGVvLgoKMjAxMS0wOS0yOCAxMzowMToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgcG9ydGVkIGZhYWQgYW5kIHNkcCBlbGVtZW50cwoKMjAxMS0wOS0yOCAxMjo1NDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiByZW1vdmUgaW1wbGVtZW50cy1pbnRlcmZhY2UgcHJlcmVxdWlzaXRlCgoyMDExLTA5LTI4IDEyOjU0OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICB1c2UgdGhlIDAuMTEgYnJhbmNoIG9mIGNvbW1vbgoKMjAxMS0wOS0yNyAxMzoyMjozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcG9ydCB0byAwLjExCgoyMDExLTA5LTI2IDIyOjMxOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yNiAyMjozMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAxNzoyMzo0MSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTdG9wIHRoZSBhdWRpbyBzb3VyY2UgYmV0d2VlbiBjYXB0dXJlcwoJICBNb3ZlIHRoZSBhdWRpbyBzb3VyY2Ugc2V0dGluZyBvZiBzdGF0ZSB0byBOVUxMIHRvIF9zdG9wX2NhcHR1cmUgKCkgdG8KCSAgYXZvaWQgdGhlIGF1ZGlvIHNvdXJjZSBydW5uaW5nIGJldHdlZW4gY2FwdHVyZXMuCgoyMDExLTA5LTI2IDE2OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWxzbyBzZXQgbWF4aW11bSBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHRoZSBzdWJjbGFzcyB3YW50cwoKMjAxMS0wOS0yNiAxNjowNTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFNpbXBsZSBmaXggZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlCgoyMDExLTA4LTIzIDE4OjI1OjIwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IFZDMTogSW1wbGVtZW50IGEgVkMxIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wOS0xNiAxOTowMzozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IERlY2xhcmUgdGhlIG5ldyBBUElzIGFzIHVuc3RhYmxlIGZvciB0aGUgdGltZSBiZWluZwoKMjAxMS0wOS0yNiAxMTo0NDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBrZWVwIENSQyB0YWJsZSBpbiAucm9kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxMTgKCjIwMTEtMDktMjAgMTY6Mjk6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJICBpcnRzcHBhcnNlOiBhZGQgSW50ZXJsZWF2ZWQgUlRTUCBwYXJzZXIgZWxlbWVudAoKMjAxMS0wOS0yMyAxMDoxMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGZhYWQuYzogSW4gZnVuY3Rpb24gJ2dzdF9mYWFkX3BhcnNlJzoKCSAgZ3N0ZmFhZC5jOjYxNToxMTogZXJyb3I6ICdsZW4nIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMS0wOS0yMyAwOTo1NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHBhcnNlIHdhbnRzIGEgR3N0Rmxvd1JldHVybiByZXR1cm4gdmFsdWUsIG5vdCBhIGdib29sZWFuCgoyMDExLTA5LTIyIDIwOjExOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSAgcHNtdXg6IGZpeCB3cml0aW5nIG9mIHN5c3RlbSBoZWFkZXIsIHdoaWNoIG1ha2VzIFZMQyBub3Qgc2tpcCB0aGUgYWRqYWNlbnQgUFNNIGFuZCBwbGF5IGVtYmVkZGVkIEguMjY0IHN0cmVhbXMKCSAgaGVhZGVyX2xlbmd0aCBjb250YWlucyB0aGUgbGVuZ3RoIGluIGJ5dGVzIGFmdGVyIHRoZSBoZWFkZXJfbGVuZ3RoCgkgIGZpZWxkLCBleGNsdWRpbmcgdGhlIDYgYnl0ZSBzdGFydCBjb2RlIGFuZCBoZWFkZXJfbGVuZ3RoIGZpZWxkLgoJICBILjI2NCBzdHJlYW1zIGFuZCBzb21lIG90aGVyIGZvcm1hdHMgbmVlZCB0byBiZSBhbm5vdW5jZWQgaW4gdGhlIFBTTS4KCSAgVkxDIHdvdWxkbid0IHBsYXkgZmlsZXMgY3JlYXRlZCB3aXRoIG1wZWdwc211eCBjb250YWluaW5nIEguMjY0IGJlY2F1c2UKCSAgd2UgY2xhaW0gdGhlIHN5c3RlbSBoZWFkZXIgaXMgbGFyZ2VyIHRoYW4gaXQgYWN0dWFsbHkgaXMsIHdoaWNoIG1ha2VzCgkgIFZMQyBza2lwIHRoZSBwcm9ncmFtIHN0cmVhbSBtYXAgd2hpY2ggZm9sbG93cyB0aGUgc3lzdGVtIGhlYWRlciwgd2hpY2gKCSAgaW4gdHVybiBtYWtlcyBpdCBub3QgcmVjb2duaXNlIG91ciBILjI2NCB2aWRlbyBzdHJlYW0uCgoyMDExLTA5LTIyIDIwOjA5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy8uZ2l0aWdub3JlOgoJICBkb2NzOiBhZGQgaWdub3JlIHJ1bGVzIGZvciBsaWJzIGRvY3MgZGlyZWN0b3J5CgoyMDExLTA5LTIyIDE4OjIzOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4dXAgbWlzdW5kZXJzdGFuZGluZyBpbiBzYW1wbGUgY291bnRpbmcKCSAgLi4uIGJldHdlZW4gY29kZWMgYW5kIGF1ZGlvZW5jb2RlciByZWdhcmRpbmcgd2hldGhlciBvciBub3QgY2hhbm5lbAoJICBjb3VudCBpcyBhbHJlYWR5IGNvbnNpZGVyZWQuCgkgIEZpeGVzICM2NTk4MzYuCgoyMDExLTA5LTIyIDE2OjAxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yMiAwOTo0OToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTA5LTIxIDE2OjExOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yMSAxNjowMToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTIwIDE2OjU0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmb3J3YXJkIHJldHVybiBjb2RlIGZyb20gc2V0dGluZyBzcmMgcGFkIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTYwNgoKMjAxMS0wOS0yMCAxMzowMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYXNyYzogRmFpbCBzdGF0ZSBjaGFuZ2UgaWYgcHJldmlldyBwaXBlbGluZSBmYWlscyBjcmVhdGlvbgoJICBJZiB0aGUgcHJldmlldyBwaXBlbGluZSBmYWlscyBjcmVhdGlvbiwgZm9yIGFueSByZWFzb24sIHdlIHNob3VsZAoJICBmYWlsIGJhc2VjYW1lcmFzcmMgc3RhdGUgY2hhbmdlLgoJICBBbHNvIGFkZHMgYSBtaXNzaW5nIGdfcmV0dXJuX2lmX2ZhaWwgY2hlY2sgdG8gcHJldmlldyBwaXBlbGluZQoJICBmdW5jdGlvbnMKCjIwMTEtMDktMTkgMTY6MzI6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBBZGQgY2hlY2tzIHRvIGlucHV0LCBhbmQgZml4IHNpemUgY2hlY2tpbmcKCjIwMTEtMDktMTkgMTQ6NTQ6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBicmluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIGRlc2lyZWQgc3BlY3MKCjIwMTEtMDktMTkgMTQ6MDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBicmluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIGRlc2lyZWQgc3BlY3MKCjIwMTEtMDktMTkgMTM6NDE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNpbmdsaWJzOiBEb2MgYW5kIGluZGVudGF0aW9uIGZpeGVzCgoyMDExLTA5LTEwIDExOjMxOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogZml4IGJpdHN0cmVhbSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBraW5kIG9mIGJpdHJlYWRlcgoJICBWUDggdXNlcyBhIHByb2JhYmlsaXN0aWMgYm9vbCBjb2Rlciwgbm90IGEgc3RyYWlnaHQgYml0IGNvZGVyLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgd2hlbiBlcnJvci1yZXNpbGllbnQgaXMgc2V0LgoJICBUaGlzIGNvbW1pdCBpbmNsdWRlcyBhIGNvcHkgb2YgbGlidnB4J3MgYm9vbCBjb2RlciwgQlNEIGxpY2Vuc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjk0CgoyMDExLTA5LTE0IDIwOjIyOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBhIGJpdCBtb3JlIGVycm9yIGNoZWNraW5nIG9uIGhlYWRlciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTk6NTY6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBjbGVhbnVwIGhlYWRlciBjcmVhdGlvbgoJICBBdm9pZCBhbiBleHRyYSBjb3B5IHZpYSBhIHRlbXBvcmFyeSBmaXhlZCBzaXplIHN0YWNrIGJ1ZmZlci4KCSAgVXNlIGxpYmNlbHQncyBoZWFkZXIgc2l6ZSB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBvZiB0aGUgY29ycmVjdAoJICBzaXplIGluIHRoZSBmaXJzdCBwbGFjZSAobGliY2VsdCBoYXMgYW4gb2ZmIGJ5IDQgdGhlcmUsIHNvCgkgIGFjY291bnQgZm9yIHRoaXMpLgoJICBXaGlsZSB0aGVyZSwgbWFrZSBzaXplIHVuc2lnbmVkLCBhbmQgZ3JhbnBvcyBzaWduZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTk6MDk6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBkbyBub3QgdXNlIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxNzoyNjowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IGZpeCBlcnJvciBjaGVja2luZyB3aXRoIGxpYmNlbHQgMC4xMQoJICBUaGUgcmV0dXJuIHZhbHVlIG9mIGNlbHRfZGVjb2RlIGhhcyBjaGFuZ2VkLCBuZXdlciB2ZXJzaW9ucwoJICBub3cgcmV0dXJuIHBvc2l0aXZlIHZhbHVlcyBvbiBzdWNjZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE3OjA3OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBhbGxvdyBhY3R1YWxseSBvdmVycmlkaW5nIGZyYW1lIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xMyAxNjoyNDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZmx1c2ggb24gc2VlaywgYW5kIGVuc3VyZSB3ZSBjYW5jZWwgYW55IHdhaXRpbmcgYnVmZmVyCgkgIFRoaXMgaXMgd2hhdCBwYW5nbyB0ZXh0b3ZlcmxheSBkb2VzLCBhbmQgSSd2ZSBoYWQgdGhhdCBjb25kaXRpb24KCSAgdmFyaWFibGUgZ2V0IHN0dWNrIG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg5NDAKCjIwMTEtMDktMTIgMTE6MTc6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHRyeSB0byByZWFkIGZyb20gYSBub24gZXhpc3RlbnQgVlVJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg4MDAKCjIwMTEtMDktMTYgMDA6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgMiBtb3JlIGxvZyBtZXNzYWdlcwoKMjAxMS0wOS0xNCAxNToyMDowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHJlcGxhY2UgZGVwcmVjYXRlZCBnX2F0b21pY19pbnRfZXhjaGFuZ2VfYW5kX2FkZAoJICBJdCB3YXMgcmVwbGFjZWQgYnkgZ19hdG9taWNfaW50X2FkZCwgd2hpY2ggbm93IHJldHVybnMgdGhlCgkgIG9sZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2MQoKMjAxMS0wOS0xNSAxNzozNTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlc2V0IGxhc3Qgc3RhdGUgY2hhbmdlIHJlc3VsdCBvbiBzdGF0ZS1sb2NrZWQgZWxlbWVudHMKCSAgQW4gZWxlbWVudCBzdG9yZXMgdGhlIHJlc3VsdCBmb3IgdGhlIGxhc3Qgc3RhdGUgY2hhbmdlIGl0IGRpZCBhbmQKCSAgR3N0QmluJ3Mgc3RhdGUgY2hhbmdlIGhhbmRsZXIgd2lsbCB1c2UgdGhpcyBsYXN0IHJlc3VsdCBmb3Igc3RhdGUKCSAgbG9ja2VkIGVsZW1lbnRzIHRvIGRlY2lkZSBpZiBpdHMgc3RhdGUgY2hhbmdlIHdhcyBzdWNjZXNzZnVsbCBvciBub3QuCgkgIEluIGNhbWVyYWJpbjIsIHRoZSBmaWxlc2lua3MgaGF2ZSB0aGVpciBzdGF0ZSBsb2NrZWQgYW5kIHdoZW4gdGhleQoJICBmYWlsIHN3aXRjaGluZyBzdGF0ZXMsIHRoaXMgbGFzdCBmYWlsdXJlIHdpbGwgYmUgdXNlZCBpZiB0aGUgYXBwbGljYXRpb24KCSAgdHJpZXMgdG8gY2hhbmdlIGNhbWVyYWJpbjIncyBzdGF0ZSwgY2F1c2luZyBhbnkgc3RhdGUgY2hhbmdlIHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgY2FtZXJhYmluMiByZXNldCB0aGlzIGxhc3QgY2hhbmdlIGZhaWx1cmUsIGF2b2lkaW5nCgkgIHRoYXQgY2FtZXJhYmluMiBmYWlscyBvbiBpdHMgbmV4dCBzdGF0ZSBjaGFuZ2VzLgoKMjAxMS0wOS0xNSAxODoxNzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbnBsYzogRml4IHR5cG9zCgoyMDExLTA5LTEzIDIwOjQwOjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBIYW5kbGUgcHJvcGVybHkgZnJhbWUgZGV0ZWN0aW9uCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIGJ1ZmZlcnMgY29udGFpbmluZyBubyBzdGFydGNvZGUKCSAgaW4gdGhlIG1pZGRsZSBvZiBhIGZyYW1lIHByb3Blcmx5LgoKMjAxMS0wOS0xMyAyMDozODoyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IERlYnVnZ2luZyBzeW1ib2xzIGVuaGFuY2VtZW50cwoKMjAxMS0wOS0xMiAxMzo1NDozNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IEFkZCB0aGUgQ2hyb21hVHlwZSBlbnVtCgoyMDExLTA5LTEyIDEzOjQxOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQ2hhbmdlIGJyb2tlbl9nb3AgdG8gYnJva2VuX2xpbmsKCSAgVGhpcyB3YXkgd2UgcmVzcGVjdCB0aGUgc3RhbmRhcmQgbmFtaW5nCgoyMDExLTA5LTE0IDE2OjE0OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogc2VuZCBhIHZpZGVvLWNvZGVjIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5MzA1CgoyMDExLTA5LTEyIDE2OjUwOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hlY2sgem9vbSBub3RpZnkgY2FsbGJhY2sgZnJvbSBjYW1lcmEtc291cmNlCgkgIENhbWVyYWJpbjIgaGFzIGEgem9vbSBwcm9wZXJ0eSB0aGF0IGlzIHNpbXBseSBwcm94aWVkIHRvIGl0cwoJICBpbnRlcm5hbCBjYW1lcmEtc291cmNlIGVsZW1lbnQuIFRoaXMgcGF0Y2ggbWFrZXMgY2FtZXJhYmluMiBsaXN0ZW4KCSAgdG8gJ25vdGlmeScgc2lnbmFscyBmcm9tIGl0IHNvIGl0IGNhbiB1cGRhdGUgaXRzIHpvb20gcHJvcGVydHkgdmFsdWUKCSAgd2hlbiBjYW1lcmEtc291cmNlIGNoYW5nZXMgaXRzIHpvb20gYXMgYSBzaWRlLWVmZmVjdCBvZiBhbm90aGVyIG9wZXJhdGlvbgoJICBvciBiZWNhdXNlIHRoZSB1c2VyIHNldCB0aGUgem9vbSBkaXJlY3RseSB0byBpdCwgaW5zdGVhZCBvZiBkb2luZwoJICBpdCBmcm9tIGNhbWVyYWJpbjIuCgoyMDExLTA4LTI5IDA4OjAwOjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBkb24ndCBibG9jayB0aGUgbWFpbiB0aHJlYWQgd2l0aCBSVE1QX0Nvbm5lY3QKCSAgTW92ZSB0aGUgUlRNUF9Db25uZWN0IGNhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgKDo6c3RhcnQpIHRvIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkICg6OnJlbmRlcikuCgoyMDExLTA5LTEyIDEwOjMzOjA2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOS0xMiAxMDoyMzoxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDktMDkgMTQ6MjI6MzkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTWFrZSB1c2Ugb2YgdGhlIGgyNjRfbmFsX3BhcnNlcl9mcmVlIGZ1bmN0aW9uCgoyMDExLTA5LTA5IDE0OjE1OjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogSW1wbGVtZW50IHRoZSBuYWxfcGFyc2VyX2ZyZWUgZnVuY3Rpb24KCjIwMTEtMDktMDYgMjE6Mjk6MjggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBVc2UgZ19zbGljZSBpbnN0ZWFkIG9mIGdfbWFsbG9jIGluIG5hbF9wYXJzZXJfbmV3CgoyMDExLTA5LTA2IDIxOjI4OjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24KCSAgRml4IGEgZmV3IGVycm9yLgoJICBEb2N1bWVudCBtaXNzaW5nIHBhcnRzLgoJICBBZGQgbGlua3MgdG8gdGhlIHNwZWNpZmljYXRpb25zCgoyMDExLTA5LTA5IDEyOjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IG1lcmdlIG1pc3Rha2UgZnJvbSBsYXN0IGNvbW1pdAoKMjAxMS0wOS0wOCAyMzo1NjozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZXBvcnQgdGhlIGNvcnJlY3QgdGltZXN0YW1wIGZvciBsaXZlIHN0cmVhbXMKCSAgQnVmZmVycyB3b3VsZCBhbHdheXMgc3RhcnQgd2l0aCB0aW1lc3RhbXAgMCBhbmQgd2UnZCBzdGFydCBzdHJlYW1pbmcKCSAgZnJvbSB0aGUgZmlyc3QgYnVmZmVyLCBidXQgbGl2ZSBzdHJlYW1zIGFsd2F5cyBzdGFydCBzdHJlYW1pbmcgZnJvbQoJICB0aGUgbGFzdCBmcmFnbWVudCAtIDMgZnJhZ21lbnRzIGluIHRoZSBwbGF5bGlzdCwgd2hpY2ggbWFrZXMgaXRzCgkgIHRpbWVzdGFtcCwgYXMgcmV0dXJuZWQgYnkgZ2V0X25leHRfZnJhZ21lbnQsIGJlIHdoYXRldmVyIHBvc2l0aW9uCgkgIHRoZXkgaGFkIGluIHRoZSBwbGF5bGlzdC4gVGhpcyBtYWtlcyBzdXJlIHRoZSBwb3NpdGlvbiBjb3JyZWN0bHkKCSAgcmVwb3J0cyB0aGUgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlciBpbiB0aGUgcGxheWxpc3QsIGFuZCBhZGRlZCBhIHNoaWZ0aW5nCgkgIHZhcmlhYmxlIHRvIGFsbG93IHNlZWtpbmcgaW4gdGhlIG1pZGRsZSBvZiBmcmFnbWVudHMuCgoyMDExLTA5LTA4IDIyOjEzOjE5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBobHNkZW11eC90c2RlbXV4OiBBZGQgSFAgY29weXJpZ2h0IG9uIHdvcmsgZG9uZSBvbiBITFMKCjIwMTEtMDktMDggMjA6Mjk6NDIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgcGxheWxpc3QgdG8gTlVMTCBhZnRlciB1bnJlZmZpbmcgaXQgdG8gYXZvaWQgYSBkb3VibGUtdW5yZWYgaW4gdGhlIGRpc3Bvc2UKCjIwMTEtMDktMDggMTg6MjU6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgbG9jayB0aGUgbXV0ZXggb2YgdGhlIGZldGNoZXIgZHVyaW5nIEVPUwoJICBUaGUgZmV0Y2hfbG9jYXRpb24gbWlnaHQgY2FsbCBzdG9wX2ZldGNoZXIgd2hpY2ggY291bGQgZ2VuZXJhdGUgYW4gRU9TCgkgIGFuZCBjYXVzZSBhIGRlYWRsb2NrCgoyMDExLTA5LTA2IDIyOjExOjA2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJICBzcGFuZHNwOiBBZGRpbmcgc3BhbmRzcCBwbHVnaW4gd2l0aCBzcGFucGxjIGVsZW1lbnQgZm9yIHBhY2tldCBsb3NzIGNvbmNlYWxtZW50CgoyMDExLTA5LTA3IDIwOjA5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGpvaW4gdGhlIHRhc2sgZnJvbSB0aGUgdGFzaydzIHRocmVhZCBpdHNlbGYuIGpvaW4gaXQgb25seSBpbiB0aGUgc3RhdGUgY2hhbmdlCgoyMDExLTA5LTA3IDE1OjQ4OjMzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA5LTA3IDE1OjQyOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGNhbWVyYWJpbjIgbmFtZXMgaW4gc2VjdGlvbnMudHh0CgoyMDExLTA5LTA3IDE1OjM3OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkgIGthdGVwYXJzZTogZml4IGNyYXAgaW4gb2JqZWN0IG1hY3JvcwoKMjAxMS0wOS0wNyAxMjozMjo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBtYWtlIHRoaXMgYnVpbGQgd2l0aCBvbGRlciBnbGliCgkgIGdfbGlzdF9mcmVlX2Z1bGwgaXMgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24uCgkgIFJlcGxhY2UgaXQgd2l0aCBnX2xpc3RfZm9yZWFjaCBhbmQgZ19saXN0X2ZyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0NTAKCjIwMTEtMDktMDcgMTM6NDY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogTWFrZSB0aGUgaDI2MyBhbmQgKG5ldykgbXBlZyB2aWRlbyBwYXJzZXIgYXV0b3BsdWdnYWJsZQoKMjAxMS0wOS0wNSAyMDowMjo1NyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggSURSIHBvc2l0aW9uIG1hcmtpbmcgd2hlbiB0aGUgSURSIGlzIHNwbGl0IGludG8gc2V2ZXJhbCBOQUxzCgoyMDExLTA5LTA3IDExOjI3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGFsbCBhbHdheXMgcHJlc2VudCBmaWVsZHMgdG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA5LTA3IDExOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBBZGQgYWxsIGZpZWxkcyB0byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDktMDcgMTE6MjI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBBbGxvdyBwYXJzZWQgc3RyZWFtcyB0byBiZSBwYXNzZWQgdGhyb3VnaCB0aGUgcGFyc2VycwoKMjAxMS0wOS0wNyAxMToxNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFB1dCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgaW50byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgQWxzbyByZW1vdmUgdGhlIHBhcnNlZCBmaWVsZCBmcm9tIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMuCgoyMDExLTA5LTA3IDExOjE0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGgyNjRwYXJzZTogQ2hhbmdlIHJhbmsgdG8gUFJJTUFSWSsxIHRvIGhhdmUgaDI2NHBhcnNlIGF1dG9wbHVnZ2VkCgoyMDExLTA5LTA3IDExOjA2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQ29uc3RpZnkgc29tZSBhcnJheXMKCjIwMTEtMDktMDYgMTA6NDk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBObyBuZWVkIGZvciBhcHBzaW5rIHRvIHN0b3JlIHRoZSBsYXN0IGJ1ZmZlcgoJICBUaGVyZSBpcyBubyBuZWVkIGZvciBwcmV2aWV3J3MgYXBwc2luayB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGJ1ZmZlciwKCSAgc28gZGlzYWJsZSB0aGUgcHJvcGVydHkgdG8gbWFrZSBpdCB1bnJlZiB0aGUgYnVmZmVycyBzb29uZXIuCgoyMDExLTA5LTA2IDIyOjQ4OjMwICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3IgbGF0ZXN0IG5ldyBwbHVnaW5zIGFuZCBtb3ZlZCBwbHVnaW5zCgoyMDExLTA5LTA2IDIxOjI1OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6MTM6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTA2IDE1OjQwOjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTM6MjA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgQ29udmVydGVyIHRvIGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgcGFyc2VyIGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGFsaWdubWVudHMgYW5kIHN0cmVhbS1mb3JtYXRzLgoKMjAxMS0wOS0wNSAxNDozOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IEFwcHNpbmsgZG9lc24ndCBuZWVkIHRvIHN5bmMKCSAgU2V0IHN5bmMgdG8gZmFsc2Ugb24gcHJldmlldydzIHBpcGVsaW5lIGFwcHNpbmsKCjIwMTEtMDktMDUgMDk6NTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBSZW1vdmUgb25lIG9mIHRoZSB0d28gY29sb3JzcGFjZSBjb252ZXJ0ZXJzCgkgIFRoZSBwcmV2aWV3IHBpcGVsaW5lIGRvZXNuJ3QgbmVlZCAyIGNvbG9yc3BhY2UgY29udmVydGVycywgcmVtb3ZlCgkgIG9uZSB0byBzcGVlZCB1cCBjYXBzIG5lZ290aWF0aW9uIGFuZCByZWR1Y2UgdGhlIGRlbGF5IG9uIGdldHRpbmcKCSAgdGhlIGZpcnN0IHByZXZpZXcgYnVmZmVyIG91dCBvZiB0aGUgcHJldmlldyBwaXBlbGluZS4KCSAgSXQgc2hvdWxkbid0IGNhdXNlIHByb2JsZW1zIGFzIHZpZGVvc2NhbGUgYW5kIGZmbXBlZ2NvbG9yc3BhY2Ugc2VlbXMKCSAgdG8gaGFuZGxlIHRoZSBzYW1lIGNhcHMsIHNvIG5vIGNvbnZlcnNpb24gc2hvdWxkIGJlIG5lZWRlZCBmb3IKCSAgdmlkZW9zY2FsZS4gQWRkaXRpb25hbGx5LCBjYW1lcmFiaW4xIGhhcyBiZWVuIHdvcmtpbmcgd2l0aCBhIHNpbWlsYXIKCSAgcGlwZWxpbmUgd2l0aCBhIHNpbmdsZSBmZm1wZWdjb2xvcnNwYWNlIGFuZCBubyBidWdzIGhhdmUgYmVlbiBvcGVuIGFib3V0IGl0CgkgIHNvIGZhci4KCjIwMTEtMDktMDEgMjA6MDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBEaXNhYmxlIGFwcHNyYyBzaWduYWxzIGVtaXNzaW9uCgkgIENhbWVyYWJpbjIgZG9lc24ndCBjaGVjayBhcHBzcmMncyBzaWduYWxzLCBzbyBkaXNhYmxlIHRoZW0KCjIwMTEtMDgtMjYgMTA6NTA6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jOiBkbyBub3QgdHJ5IHRvIGNhbGN1bGF0ZSBsYXRlbmN5IGZyb20gYW4gdW5rbm93biBmcmFtZXJhdGUKCSAgSXQnbGwgZGl2aWRlIGJ5IHplcm8sIGFuZCBsYXRlbmN5IGlzIHVua25vd24gZm9yIGFuIHVua25vd24gZnJhbWVyYXRlLgoJICBGaXhlcyBhbiBhc3NlcnQgaW4gdGhlIHNjaHJvZW5jIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc0MTkKCjIwMTEtMDktMDMgMDA6MzY6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiBhIGZldGNoIGZhaWxzLCBkZWNyZW1lbnQgdGhlIHNlcXVlbmNlIG51bWJlcgoKMjAxMS0wOS0wMiAyMzo0OTozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2UgaGxzZGVtdXggbG9jay91bmxvY2sgdGhlIG0zdTggY2xpZW50IHdoZW4gaXQgYWNjZXNzZXMgaXQKCjIwMTEtMDktMDIgMjM6NDg6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgYSBnZXRfdGFyZ2V0X2R1cmF0aW9uIGFuZCBnZXRfY3VycmVudF91cmkgYXBpIHRvIG0zdThfY2xpZW50CgoyMDExLTA5LTAyIDIzOjQ4OjAzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogTWFrZSB0aGUgbTN1OCBjbGllbnQgdGhyZWFkLXNhZmUKCjIwMTEtMDktMDIgMTk6NDQ6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgaW4gUEFVU0VELT5SRUFEWSBhZnRlciBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IGNsYXNzCgkgIE90aGVyd2lzZSB0aGVyZSBhcmUgcG9zc2libGUgcmFjZSBjb25kaXRpb25zIHdpdGggdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA5LTAyIDE2OjA4OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBkb2NzOiBtaW5vciBmaXhlcwoKMjAxMS0wOC0zMSAxMDoxMjo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheS8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkudmNwcm9qOgoJICBnc3QtbGliczogUmVtb3ZlIHBsYXkgZGlyZWN0b3J5LiBXYXMgdW5wb3J0ZWQgc2luY2UgMC44CgoyMDExLTA4LTMxIDEwOjEwOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogQWRkIG1vcmUgc2VjdGlvbnMgdG8gdGhlIGdzdC1saWJzIEFQSSBkb2NzCgoyMDExLTA4LTI5IDEzOjUyOjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggUFBTIHBhcnNlcgoJICBGaXggdHJhbnNmb3JtXzh4OF9tb2RlX2ZsYWcgYW5kIHNlY29uZF9jaHJvbWFfcXBfaW5kZXhfb2Zmc2V0CgoyMDExLTA4LTI5IDEzOjUyOjE2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggTkFMIHJlYWRlciBpbml0aWFsaXphdGlvbi4KCjIwMTEtMDgtMjYgMTU6NTQ6NTEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGhhbmRsZSBlbmQtb2Ytc2VxIGFuZCBlbmQtb2Ytc3RyZWFtIE5BTCBncmFjZWZ1bGx5LgoKMjAxMS0wOC0yNiAxNjowNTo1OCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJlZl9waWNfbGlzdF9yZW9yZGVyaW5nKCkuCgoyMDExLTA4LTE2IDE2OjE5OjAyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHByZWRfd2VpZ2h0X3RhYmxlKCkgcGFyc2luZy4KCSAgVXNlIDE2LWJpdCBzaWduZWQgaW50ZWdlciB2YWx1ZXMgZm9yIHdlaWdodCB2YWx1ZXMgYmVjYXVzZSB2YWxpZAoJICByYW5nZXMgYXJlIC0xMjggdG8gKzEyOCBpbmNsdXNpdmUuCgoyMDExLTA4LTE2IDE1OjIxOjE4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgc2xpY2VfaGVhZGVyKCkgc2l6ZSBpbiBiaXRzLgoKMjAxMS0wOC0xNiAxNToxNDowMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBzbGljZV9oZWFkZXIoKSBwYXJzaW5nLgoJICBXZSB3ZXJlIG5vdCBwYXJzaW5nIHRoZSBzbGljZSBoZWFkZXJzIHVudGlsIHRoZSBhY3R1YWwgZW5kLCB3ZSBhcmUgbm93CgkgIHBhcnNpbmcgdW50aWwgdGhlIGVuZC4KCjIwMTEtMDgtMTIgMTM6MTk6MjkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBmaWxsZXItZGF0YSBOQUwgdW5pdCB0eXBlIG5hbWUuCgoyMDExLTA4LTEyIDEwOjE3OjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLnBjLmluOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBwa2djb25maWcgZmlsZS4KCSAgQWRkcyBhIG5ldyBwa2djb25maWcgZmlsZSBmb3IgY29kZWNwYXJzZXJzLiBUaGV5IGRvbid0IGhhdmUKCSAgYW55IHNwZWNpZmljIGRlcGVuZGVuY3kgb24gZ3N0LXBsdWdpbnMtYmFkIGFuZCB0aGV5IGNvdWxkIHF1aXRlIGJlCgkgIGluZGVwZW5kZW50IGJpdHN0cmVhbSBwYXJzZXJzLgoKMjAxMS0wOC0wNSAxMToyMTowNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBhZGQgdXNlci1kYXRhIHBhY2tldCBzdGFydCBjb2RlIGRlZmluaXRpb24uCgoyMDExLTA4LTAzIDE3OjMxOjU1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IGZpeCBQaWN0dXJlX0NvZGluZ19FeHRlbnNpb24gcGFyc2VyLgoKMjAxMS0wOC0wMiAxMjozNzowMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBQb3J0IHRvIHRoZSBuZXcgaC4yNjQgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA3LTI5IDEwOjU2OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IEFkZCBhbiBoLjI2NCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA2LTIzIDEyOjU0OjQzIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXBlZyBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDctMTkgMTM6NTI6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBBZGQgYW4gbXBlZyB2aWRlbyBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5CgkgIENyZWF0ZSBhIG5ldyBjb2RlY3BhcnNlcnMgbGlicmFyeQoKMjAxMS0wOC0zMCAxNDo1MDo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9jb21waWxpbmcuc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLW92ZXJyaWRlcy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZG9jczogQnVpbGQgZG9jdW1lbnRhdGlvbnMgZm9yIGxpYnJhcmllcwoKMjAxMS0wOS0wMiAxNTowMDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50CgoyMDExLTA5LTAyIDE0OjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IHRoZSBpbnRlcm5hbCBzdGF0ZSBnb2luZyB0by9mcm9tIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICBUaGlzIHRoZW9yZXRpY2FsbHkgYWxsb3dzIHJldXNlIG9mIHRoZSBlbGVtZW50IHdoZW4gc2V0dGluZyBpdCB0byBSRUFEWQoJICBpbnN0ZWFkIG9mIE5VTEwuCgoyMDExLTA5LTAyIDE0OjU0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBwbGF5bGlzdCBwYXJzaW5nIGhlbHBlciBvYmplY3QgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgoyMDExLTA5LTAxIDIzOjE4OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxsb3cgdXAgdG8gMyBjb25zZWN1dGl2ZSBmYWlsZWQgZG93bmxvYWRzIGJlZm9yZSBlcnJvcmluZwoJICBJbiBzb21lIG5ldHdvcmtzLCBlc3BlY2lhbGwgaW4gM0csIGEgZnJhZ21lbnQgZG93bmxvYWQgb3IgcGxheWxpc3QKCSAgdXBkYXRlIG1heSBmYWlsLiBXZSBhbGxvdyBmb3IgdXAgdG8gMyBjb25zZWN1dGl2ZSBmYWlsdXJlcywgd2hpbGUgdXNpbmcKCSAgdGhlIHJmYydzIHNwZWNzIGZvciByZXRyeSBkZWxheXMgYmVmb3JlIGNvbnNpZGVyaW5nIHRoYXQgdGhlcmUgd2FzIGFuCgkgIGVycm9yIG9uIHRoZSBzdHJlYW0uCgoyMDExLTA5LTAxIDIyOjQ2OjE5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBhcmd1bWVudAoKMjAxMS0wOC0yMSAyMDoxNToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBkcm9wLWZyYW1lIHByb3BlcnR5CgkgIEZpeGVzICM2NTY5MjkuCgoyMDExLTA5LTAxIDE1OjU3OjUwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgZmxhZyB0byBkaXNhYmxlIGltYWdlIGNvbnZlcnNpb24gZWxlbWVudHMKCSAgSWYgd2Uga25vdyB0aGF0IG91ciBjYW1lcmEgc291cmNlIGVsZW1lbnQgcHJvZHVjZXMgYnVmZmVycyBhdCB0aGUgc2FtZQoJICByZXNvbHV0aW9uIGFuZCBhcHByb3ByaWF0ZSBjb2xvdXJzcGFjZSBmb3IgdGhlIG91dHB1dCwgd2UgZG9uJ3QgbmVlZCBhbnkKCSAgb2YgdGhlIGdlbmVyaWMgY29udmVyc2lvbiBlbGVtZW50cyBpbiBlbmNvZGViaW4uIFRoaXMgcmVkdWNlcyBjYXBzCgkgIG5lZ290aWF0aW9uIG92ZXJoZWFkcyBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDExLTA4LTMxIDIzOjA2OjUzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGZpeCB3YXJuaW5ncyByZWxhdGVkIHRvIHRoZSBmb3JtYXQgb24gdGhlIGRlYnVnIGxpbmVzLgoKMjAxMS0wOC0zMSAxMzoyOToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1pY3JvIG9wdGltaXplIGVuY29kZWJpbiBwYWRzIGxpbmtpbmcKCSAgUmVkdWNlIG9uZSBjaGVjayBpbiBlbmNvZGViaW4gcGFkcyBsaW5raW5nIG9uIGNhbWVyYWJpbjIgYnkKCSAgdXNpbmcgdGhlIGxpbmtfcGFkc19mdWxsIHZlcnNpb24KCjIwMTEtMDgtMzEgMTM6Mjg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBPcHRpbWl6ZSBwcmV2aWV3IHBpcGVsaW5lIHN0YXJ0dXAKCSAgVXNlIGdzdF9lbGVtZW50X2xpbmtfcGFkc19mdWxsIHRvIG9wdGltaXplIHByZXZpZXcgcGlwZWxpbmUgc3RhcnR1cCwKCSAgbGVhZGluZyB0byBhIGZhc3RlciBjYW1lcmFiaW4yIHN0YXJ0dXAgYXMgd2VsbC4KCjIwMTEtMDgtMzEgMTU6MzM6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZXhwbGljaXQgYm9vbGVhbiBsaXRlcmFscyB0byBtYWtlIGdvYmplY3QgaGFwcHkKCSAgZ29iamVjdCBib29sZWFuIHByb3BlcnRpZXMgYXJlIHN0cmljdCBhbmQgb25seSBhY2NlcHQgMSBvciAwLCBvdGhlcndpc2UKCSAgdGhleSB0aHJvdyBhbiBhc3NlcnRpb24uCgoyMDExLTA4LTMxIDE0OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEp1c3Qgam9pbiB0aGUgdGFzawoJICBnc3RfdGFza19qb2luKCkgd2lsbCBhbHJlYWR5IHN0b3AgdGhlIHRhc2ssIG5vIG5lZWQKCSAgdG8gc3RvcCBpdCBhZGRpdGlvbmFsbHkuCgoyMDExLTA4LTMxIDE0OjQ3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEpvaW4gdGhlIHRhc2sgaW5zdGVhZCBvZiBqdXN0IHN0b3BwaW5nIGl0IGFuZCBub3Qgd2FpdGluZyBmb3IgaXQgdG8gZmluaXNoCgkgIEZpeGVzIGludGVyZXN0aW5nIHJhY2UgY29uZGl0aW9ucyB0aGF0IGNhdXNlIGNyYXNoZXMgaW4gZGVjb2RlYmluMgoJICBiZWNhdXNlIHBhZHMgYXJlIGFkZGVkL3JlbW92ZWQgZnJvbSBjaGlsZCBlbGVtZW50cyBhbHRob3VnaCB0aGV5CgkgIHNob3VsZCBiZSBpbiBSRUFEWSBzdGF0ZSBhbHJlYWR5LgoKMjAxMS0wOC0zMSAxMjoxMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA4LTMxIDAzOjQ3OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3dpdGNoIHRvIGhpZ2hlci9sb3dlciBiaXRyYXRlIGJ5IG1vcmUgdGhhbiBvbmUgc3RlcCBhdCBhIHRpbWUKCjIwMTEtMDgtMzEgMDM6MjA6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgc3BhbW1pbmcgR1NUX0xPR19PQkpFQ1QKCjIwMTEtMDgtMzEgMDM6MDc6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiBwYXVzZWQsIGRvIG5vdCBjYWNoZSBmcmFnbWVudHMgdW50aWwgb3V0IG9mIG1lbW9yeSBlcnJvciEKCSAgV2Ugc2hvdWxkIHN0b3AgdGhlIHVwZGF0ZSB0aHJlYWQgaW4gUEFVU0VEIHN0YXRlIGFuZCBhdm9pZCBmZXRjaGluZwoJICBuZXcgZnJhZ21lbnRzIHdoZW4gdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eS4gVGhlIHF1ZXVlIHNob3VsZCBhbHdheXMgYmUKCSAgZW1wdHkgc2luY2Ugd2UgcHVzaCBkYXRhIGludG8gYSBxdWV1ZS4gQWxzbywgaW4gdG90ZW0sIGlmIHdlIHNlZWsgYW5kCgkgIHBhdXNlIHRoZSBzdHJlYW0gd2hpbGUgaXQncyBidWZmZXJpbmcsIHRoZW4gdGhlIHN0YXRlIHdpbGwgc3RheSBwbGF5aW5nCgkgIGZvciBzb21lIHJlYXNvbiwgc28gaXQncyBiZXN0IG5vdCB0byBjb250aW51ZSBmZXRjaGluZyBmcmFnbWVudHMgZm9yZXZlci4KCjIwMTEtMDgtMzEgMDM6MDE6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdGFydC9zdG9wIHVwZGF0ZSB0aHJlYWQgYW5kIGtlZXAgdHJhY2sgb2Ygc3RhdHVzCgoyMDExLTA4LTMxIDAyOjA1OjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUG9zdCBkdXJhdGlvbiBtZXNzYWdlIHdoZW4gd2UgcGFyc2UgdGhlIHBsYXlsaXN0CgoyMDExLTA4LTMxIDAxOjA4OjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBhIGZsdXNoLXN0b3Agd2hlbiBzd2l0Y2hpbmcgcGFkcy4gRml4ZXMgQS0+QS9WIHN5bmMgaXNzdWUuCgkgIFRoaXMgaXMgdG8gZW5zdXJlIHRoYXQgd2UgcmVzZXQgdGhlIGFjY3VtdWxhdGUgc2VnbWVudCBvbiB0aGUgc2lua3MKCSAgc28gaWYgd2Ugc3RhcnQgd2l0aCBhdWRpbyBvbmx5IHRoZW4gc3dpdGNoIHRvIGF1ZGlvK3ZpZGVvLCB0aGVuIGJvdGgKCSAgc2lua3Mgd2lsbCBoYXZlIHRoZSBzYW1lIHNlZ21lbnRzIGFuZCB3aWxsIGJlIHN5bmNocm9uaXplZC4KCjIwMTEtMDgtMjYgMjI6NDg6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZWVtcyB0aGVyZSB3YXMgYSB0eXBvLCBmcmVlIHRoZSBhZGFwdGVyIGlmIGl0IGNvbnRhaW5zIGRhdGEsIG5vdCBpZiBhbHJlYWR5IGVtcHR5CgoyMDExLTA4LTI2IDIyOjQ3OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb3Vwcywgd2UgbmVlZCB0byBlbXB0eSB0aGUgcXVldWUgYWZ0ZXIgZnJlZWluZyBpdHMgY29udGVudAoKMjAxMS0wOC0yNiAyMjo0NDowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE5lZWQgdG8gZmx1c2ggYWxsIHN0cmVhbXMgd2hlbiB3ZSByZWNlaXZlIGEgZmx1c2gtc3RhcnQKCjIwMTEtMDgtMjYgMjE6NDY6MDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgYnJvYWRjYXN0IHRoZSBmZXRjaGVyX2NvbmQgb24gYnVzIGVycm9yIGlmIHdlJ3JlIGNhbmNlbGxlZAoJICBJZiB3ZSBjYW5jZWwgdGhlIGZldGNoIGFuZCBjYWxsIHRoZSBzdG9wX2ZldGNoZXIsIHdoaWNoIGhvbGRzIHRoZSBsb2NrLAoJICB3aGVuIGl0IHNldHMgdGhlIGZldGNoZXIncyBzdGF0ZSB0byBOVUxMLCBpdCBtaWdodCBzZW5kIGFuIGVycm9yCgkgIG9uIHRoZSBidXMuIEluIHRoYXQgY2FzZSwgd2UgbXVzdCBpZ25vcmUgaXQsIG90aGVyd2lzZSBpdCB3aWxsIHRyeQoJICB0byB0YWtlIHRoZSBsb2NrIGFuZCB3aWxsIGJsb2NrIGZvcmV2ZXIuCgoyMDExLTA4LTI2IDE5OjI5OjA2ICswMDAwICBKb25hcyBMYXJzc29uIDxKb25hcy5MYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU3BsaXQgcGxheXNsaXN0IG9uIFxyXG4gbm90IGp1c3QgXG4KCjIwMTEtMDgtMjYgMTk6MTA6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc3VjY2VlZCBhIGRvd25sb2FkIGlmIHRoZSBmZXRjaGVyIGhhZCBhbiBlcnJvcgoKMjAxMS0wOC0yNiAxOToxMDozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlbmFtZSBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIGNhbGxlZCB3aXRoIGEgbG9ja2VkIG11dGV4CgoyMDExLTA4LTI2IDE5OjA5OjU0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2UgbXVzdCBzaWduYWwgdGhlIGZldGNoZXJfY29uZCB3aGlsZSBob2xkaW5nIGl0cyBsb2NrCgoyMDExLTA4LTI2IDE3OjU0OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2UgZG8gbm90IG5lZWQgdG8gc2V0IHRoZSBjdXJyZW50IHBsYXlsaXN0IHRvIHRoZSBtYWluIG9uZQoJICBXaGVuIGNhY2hpbmcgZnJhZ21lbnRzLCBpZiB3ZSBzZXQgdGhlIGN1cnJlbnQgcGxheWxpc3QgdG8gbWFpbiwgdGhlbgoJICBpdCB3aWxsIGFsd2F5cyB0aGluayBpdCdzIGEgbGl2ZSBzdHJlYW0gKG5vIGVuZGxpc3QgaW4gaXQpIHNvIGl0IHdpbGwKCSAgZm9yY2UgdGhlIHJlZG93bmxvYWQgb2YgdGhlIG1haW4gcGxheWxpc3QgYWZ0ZXIgZXZlcnkgc2Vlaywgd2hpY2ggaXMKCSAgdW5uZWNlc3NhcnkuIEFsc28sIGl0IGNhdXNlcyBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc2VlayBtaWdoIGhhcHBlbgoJICBkdXJpbmcgdGhhdCByZWRvd25sb2FkLCBhbmQgd2UnbGwgdGhpbmsgd2UncmUgdHJ5aW5nIHRvIHNlZWsgYSBsaXZlIHBpcGVsaW5lLgoKMjAxMS0wOC0zMCAxNzo0MzoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBzb3VuZHRvdWNoOiBIYW5kbGluZyBpbmNvbWluZyByYXRlIHdoZW4gcmVxdWVzdGVkLgoJICBBYnNvcmIgaW5ib3VuZCBzZWdtZW50cyB3aXRoIHJhdGUgIT0gMS4wIGFuZCBvdXRwdXQgYSBzZWdtZW50IHdpdGgKCSAgcmF0ZSB0YWtlbiBmcm9tIHRoZSBuZXcgb3V0cHV0LXJhdGUgcHJvcGVydHksIGFkanVzdGluZyB0aGUgc2VnbWVudAoJICBhcHBsaWVkX3JhdGUsIHN0cmVhbSBkdXJhdGlvbiBhbmQgdGltZXN0YW1wcyBhcyBuZWNlc3NhcnkgdG8KCSAgY29tcGVuc2F0ZQoKMjAxMS0wOC0xNSAxNzo1Nzo1MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgZml4IHZhbGdyaW5kIHdhcm5pbmcgYWJvdXQgQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlIGRlcGVuZHMgb24gdW5pbml0aWFsaXNlZCB2YWx1ZShzKQoKMjAxMS0wOC0xNyAwOTo0MjowNyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgTW92ZSBtX3BwcmV2RnJhbWUgZnJlZSBqdXN0IGJlZm9yZSB0aGUgY2xvbmUgb2YgdGhlIGxhdGVzdCBmcmFtZSBmb3IgcmVhZGFiaWxpdHkKCjIwMTEtMDgtMjYgMDk6NDM6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNYWtlIHZpZXdmaW5kZXIncyBxdWV1ZSBhIHRocmVhZCBsaW1pdCBvbmx5CgkgIFJlZHVjZSB0aGUgdmlld2ZpbmRlciBxdWV1ZSBsaW1pdHMgdG8gb25seSBhbGxvdyBpdCB0byBzdG9yZQoJICBvbmUgYnVmZmVyLCBwcmV2ZW50aW5nIHRoZSBxdWV1ZSBmcm9tIGhvbGRpbmcgb2xkIGJ1ZmZlcnMgZm9yCgkgIHRvbyBsb25nLiBUaGlzIGFsc28gYXZvaWRzIHNob3dpbmcgc2xpZ2h0bHkgb3V0ZGF0ZWQgZnJhbWVzIG9uCgkgIHRoZSB2aWV3ZmluZGVyIHdoZW4gdGhlIHNvdXJjZSBoYXMgYWxyZWFkeSBwcm9kdWNlZCBuZXcgb25lcwoJICBhbmQgaW1wcm92ZXMgdGhlIGJ1ZmZlciByZWN5Y2xpbmcgcmF0ZSwgaW1wb3J0YW50IGZvciBzb3VyY2VzCgkgIHRoYXQgdXNlIGJ1ZmZlcnBvb2xzLgoKMjAxMS0wOC0yNSAxOTo1Njo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBmaXggZWxlbWVudCBsZWFrCgkgIGFuZCB0aGlzIGNvbmNsdWRlcyBhbiBob3VyIG9mIHllbGxpbmcgYXQgdGhlIGJsb29keSB0ZXN0IGZhaWxpbmcsCgkgIG9ubHkgdG8gdHJhY2sgZG93biB0aGUgcHJvYmxlbSBub3QgYmVpbmcgaW4gdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNjgKCjIwMTEtMDgtMjYgMDA6NTI6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBJbiBwdXNoIG1vZGUsIGRvIG5vdCBzdGFydCBwdWxsIGxvb3AgaWYgdXBzdHJlYW0gc2VlayBmYWlscwoKMjAxMS0wOC0yNiAwMDo0Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBtYWtlIHRoZSB1cGRhdGVfdGhyZWFkIGpvaW5hYmxlCgoyMDExLTA4LTI2IDAwOjI2OjI5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRW5zdXJlIHRoZSB0YXNrIGlzIHBhdXNlZCBpbiBjYXNlIG9mIGNhY2hlIGVycm9yCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RvcCB0aGUgdGhyZWFkcyBpbiB0aGUgcHJvcGVyIG9yZGVyCgkgIGZpcnN0IHBhdXNlIHRoZSB0YXNrLCB0aGVuIHN0b3AgYWxsIGZldGNoZXJzLCB0aGVuIHN0b3AgdGhlIHVwZGF0ZSB0aHJlYWQKCSAgdGhlbiBwYXVzZSB0aGUgdGFzayBhZ2Fpbiwgc2luY2UgaXQgbWlnaHQgaGF2ZSBiZWVuIHJlc3RhcnRlZCBieQoJICBhbm90aGVyIHRocmVhZCBpbiB0aGUgbWVhbnRpbWUKCjIwMTEtMDgtMjUgMjM6Mzc6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgcG9zdCBhbiBlcnJvciBpZiB3ZSBzZWVrL2NhbmNlbCBkdXJpbmcgY2FjaGluZyBvZiBmcmFnbWVudHMKCjIwMTEtMDgtMjUgMjM6Mzc6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpZiB3ZSdyZSBjYW5jZWxpbmcgYSBmZXRjaGVyLCB3ZSBtdXN0IHN0b3AgaXRzIHRocmVhZAoKMjAxMS0wOC0yNSAyMzozNjoyNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgdGhlIHVwZGF0ZV90aHJlYWQgbXV0ZXggYmVmb3JlIHN0b3BwaW5nIGl0CgoyMDExLTA4LTI1IDIzOjM1OjU1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayB0aGUgZmV0Y2hlciBtdXRleCBiZWZvcmUgc3RvcHBpbmcgaXQKCjIwMTEtMDgtMjUgMjM6MzM6MTAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgYWxsb3cgdHdvIGZldGNoZXJzIHRvIHJ1biBzaW11bHRhbm91c2x5CgoyMDExLTA4LTIzIDIwOjQ5OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcCB0aGUgc3RyZWFtaW5nIHRhc2sgb24gUEFVU0VEX1RPX1JFQURZIHN0YXRlIGNoYW5nZQoKMjAxMS0wOC0yNSAxOToyNDo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG1ha2UgY2FtZXJhYmluMiB0ZXN0IGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNjMKCjIwMTEtMDgtMjUgMTI6NDk6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYwoKMjAxMS0wNy0xMiAyMTo0ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBBZGQgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMiAxOTowOTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IE1heCBldmVudCB0eXBlIGlzIDE1CgoyMDExLTA0LTE0IDE1OjQ2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogQWxpZ24gRFRNRiBzb3VuZCBidWZmZXJzIHdpdGggbGFzdC1zdG9wIGZyb20gZXZlbnQKCSAgQWxzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgbmV2ZXIgZ28gYmFja3dhcmRzCgoyMDExLTA3LTExIDIxOjMxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDb3JyZWN0bHkgcmVjb2duaXplIHRoZSBlbmQgb2YgYSBidWZmZXIKCjIwMTEtMDctMTEgMjA6NDc6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE1ha2Ugc3VyZSBydHBkdG1mc3JjIHRpbWVzdGFtcHMgZG9uJ3Qgb3ZlcmxhcAoKMjAxMS0wNy0xMSAyMDo0NjoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUHV0IHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCBhdCB0aGUgZW5kLCBub3QgYXQgdGhlIHN0YXJ0CgkgIFRoZSByZWFzb24gaXMgdG8gbGV0IHJ0cGR0bWZtdXggZHJvcCBidWZmZXJzIGR1cmluZyB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwsCgkgIHRoaXMgd2F5LCB0aGVyZSB3aWxsIGJlIG1vcmUgc2lsZW5jZSBhcm91bmQgdGhlIERUTUYgdG9uZXMgc28gSVZGcyB3aWxsIGhhdmUKCSAgYSBiZXR0ZXIgY2hhbmNlIHJlY29nbml6aW5nIHRoZW0uCgoyMDExLTA0LTE0IDE3OjA4OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogU3RhcnQgYXQgdGhlIGxhc3Rfc3RvcCBmcm9tIHRoZSBzdGFydCBldmVudCBpZiB0aGVyZSB3YXMgb25lCgkgIFRoZSBnb2FsIGlzIHRvIHRyeSB0byBub3QgaGF2ZSBhIEdBUCBiZXR3ZWVuIHRoZSBhdWRpbyBhbmQgdGhlIERUTUYKCjIwMTEtMDQtMTQgMTQ6MzQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgbGFzdC1zdG9wIHRvIGR0bWYtZXZlbnQgdXBzdHJlYW0gZXZlbnRzCgkgIEFkZCB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSBsYXN0IG91dHB1dHRlZCBidWZmZXIgdG8gdGhlCgkgIHVwc3RyZWFtICJkdG1mLWV2ZW50IiBldmVudHMgc28gdGhhdCB0aGUgZHRtZiBzb3VyY2UgZG9lcyBub3QKCSAgbGVhdmUgYSBnYXAuCgoyMDExLTA0LTE0IDE2OjQ5OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogUmVzcGVjdCBwdGltZSBmcm9tIHRoZSBjYXBzCgkgIFJlc3BlY3QgdGhlIHB0aW1lIGZyb20gdGhlIGNhcHMgZm9yIHRoZSBEVE1GIHBhY2tldHMKCjIwMTEtMDctMTEgMjE6MzA6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIGNsb2NrCgoyMDExLTA4LTI0IDE2OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1ha2UgZ3N0X2thdGVfdXRpbF9pc191dGY4X3N0cmluZygpIGlubGluZSB0byBmaXggY29tcGlsZXIgd2FybmluZyB3aXRoIG9sZGVyIGxpYmthdGUgdmVyc2lvbnMKCSAgZ3N0a2F0ZXV0aWwuYzoyMzA6MTogZXJyb3I6ICdnc3Rfa2F0ZV91dGlsX2lzX3V0Zjhfc3RyaW5nJyBkZWZpbmVkIGJ1dCBub3QgdXNlZAoKMjAxMS0wOC0yNCAxNTozMjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICByc25kdmQ6IGVuc3VyZSBtZXRhZGF0YSBpcyB3cml0YWJsZSB3aGVuIHdyaXRpbmcgdG8gaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzI1MAoKMjAxMS0wOC0yNCAwOTozNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgRkFMU0UgaW5zdGVhZCBvZiAwIGZvciBib29sIHBhcmFtZXRlcgoKMjAxMS0wOC0yMyAyMjo0NDoxNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE5lZWQgdG8gc2VuZCBhIG5ld3NlZ21lbnQgYWZ0ZXIgYSBzZWVrCgoyMDExLTA4LTIzIDIyOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBidWZmZXJpbmcgbWVzc2FnZXMgb24gdGhlIGJ1cwoKMjAxMS0wOC0yMyAyMjozODowNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNhY2hlIHRoZSBudW1iZXIgb2YgZnJhZ21lbnRzIHdlIGFyZSByZXF1aXJlZCB0byBjYWNoZQoKMjAxMS0wOC0yMyAyMjo0MDoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZvcndhcmQgc2Vlay9kdXJhdGlvbiBxdWVyeS9ldmVudCB0byB0aGUgc2lua3BhZAoKMjAxMS0wOC0yNCAwMTowMzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9wdGltaXplIHN0YXJ0IHVwIGEgbGl0dGxlIGJ5IHJlbW92aW5nIHNvbWUgcGFkIGNoZWNrcwoJICBTb21lIHBhZCBjaGVja3MgYXJlIGd1YXJhbnRlZWQgdG8gd29yaywgc28gd2UgY2FuIGRpc2FibGUgdGhlbQoJICBieSB1c2luZyBnc3RfZWxlbWVudF9saW5rX3BhZHNfZnVsbAoKMjAxMS0wOC0yMyAxOToyNjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSBmcm9tIGV4cGVyaW1lbnRhbAoJICBSZW1vdmUgY2FtZXJhYmluMiBmcm9tIGV4cGVyaW1lbnRhbCwgYWxsb3dpbmcgaXQgdG8gYmUgYnVpbHQKCSAgd2l0aG91dCBuZWVkaW5nIHRvIHBhc3MgLS1lbmFibGUtZXhwZXJpbWVudGFsIG9uIGNvbmZpZ3VyZS4KCjIwMTEtMDgtMjMgMTk6MTM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHdheXMgc2V0IGVuY29kZWJpbiBmbGFncyB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIFdoZW4gZ29pbmcgZnJvbSBOVUxMIHRvIFJFQURZIHdlIHdhbnQgdGhlIGVuY29kZWJpbiBmbGFncyB0byBiZQoJICBzZXQsIGFuZCBub3Qgb25seSBhZnRlciBjcmVhdGluZyBlbmNvZGViaW4gKG9uIHRoZSBmaXJzdCBydW4pCgoyMDExLTA4LTIzIDExOjU4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgbmV3IGVudHJ5IHRvIGZsYWdzIHByb3BlcnR5CgkgIEFkZHMgYSBuZXcgZW50cnkgdG8gY2FtZXJhYmluMiBmbGFncyB0byBkaXNhYmxlIHZpZXdmaW5kZXIKCSAgY29udmVyc2lvbiBlbGVtZW50cy4KCjIwMTEtMDgtMjMgMTE6MTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IEFkZCBwcm9wZXJ0eSBmb3IgZGlzYWJsaW5nIGNvbnZlcnRlcnMKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBkaXNhYmxlIGNvbnZlcnRlcnMgZWxlbWVudHMgZm9yIHBlcmZvcm1hbmNlCgkgIHJlYXNvbnMuIEl0IHNob3VsZCBvbmx5IGJlIHVzZWQgaWYgdGhlIGFwcGxpY2F0aW9uIGtub3dzIHRoZXkgYXJlbid0CgkgIG5lZWRlZC4KCjIwMTEtMDgtMTkgMTc6Mjg6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IHRyeSB0byBjb21wYXJlIGEgUENSIHdpdGggaXRzZWxmIGZvciBzdGF0aXN0aWNzCgkgIEVzcGVjaWFsbHkgYXMgb25lIG9mIHRoZSBsb2dzIHdpbGwgY2F1c2UgYSBkaXZpZGUgYnkgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyNwoKMjAxMS0wOC0xOSAxMzozMjoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3Qga2VlcCBhIGRhbmdsaW5nIHBvaW50ZXIKCSAgV2hlbiByZW1vdmluZyB0aGUgY3VycmVudCBwcm9ncmFtLCBpdCB3aWxsIGdldCBmcmVlZCBieSB0aGUKCSAgaGFzaCB0YWJsZSByZW1vdmFsIGNhbGxiYWNrLCBzbyBlbnN1cmUgd2UgY2xlYXIgb3VyIHBvaW50ZXIKCSAgdG8gaXQuCgkgIEZpeGVzIGEgY3Jhc2ggbGF0ZXIgb24gaW4gZ3N0X3RzX2RlbXV4X3B1c2ggdHJ5aW5nIHRvIGFjY2VzcyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyNwoKMjAxMS0wOC0yMSAyMDozNjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHBhc3Mgb24gdGltZWQgZXZlbnQgbWV0YWRhdGEgYXMgdGFncyB3aGVuIHdlIGNhbgoJICBNZXRhZGF0YSBhdHRhY2hlZCB0byBvdGhlciBvYmplY3RzIHRoYXQgbWF5IGJlIHVzZWQgaW4gdGhpcwoJICBldmVudCBhcmUgbm90IHBhc3NlZCwgYXMgaXMgYmluYXJ5IG1ldGFkYXRhLgoKMjAxMS0wOC0yMyAxMDozMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIEFDX01TR19DSEVDS0lORygpIHRvIHRoZSBWUDhFX1NFVF9UVU5JTkcgcHJlc2VuY2UgY2hlY2sKCjIwMTEtMDgtMTkgMTk6MTc6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IHByb2JlIGZvciB0aGUgbmV3IHR1bmluZyBBUEkgdG8ga2VlcCBidWlsZGluZyB3aXRoIG9sZGVyIGxpYnZweAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI4CgoyMDExLTA4LTE4IDEzOjIxOjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnZGVjOiB1c2UgaW5wdXQgYnVmZmVyIHRpbWluZ3MgaWYgcG9zc2libGUKCSAgU1ZHIGRhdGEgbWF5IGNvbWUgdGhyb3VnaCBtdWx0aXBsZSBidWZmZXJzLCBzbyBrZWVwIHRyYWNrIG9mIHRoZQoJICB0aW1lc3RhbXAgb2YgdGhlIGZpcnN0IGJ1ZmZlciwgYW5kIHVzZSBpdCBpbiBwcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4Mjg0CgoyMDExLTA4LTIyIDE3OjEwOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZG8gbm90IGNvbnNpZGVyIGFuIGVtcHR5IFNQVSB0byBiZSBhIGZhdGFsIGVycm9yCgkgIEluc3RlYWQsIGp1c3QgZW5jb2RlIG5vdGhpbmcgYW5kIGdvIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDkxCgoyMDExLTA4LTIyIDE3OjE1OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZG8gbm90IGNsZWFyIG91dCBoaWdoIGJpdHMgZnJvbSBkaXNwbGF5IGFyZWEKCSAgaHR0cDovL2R2ZC5zb3VyY2Vmb3JnZS5uZXQvc3B1X25vdGVzIGRvZXMgbm90IG1lbnRpb24gdGhhdCBoaWdoIGJpdHMKCSAgYXJlIHRvIGJlIG1hc2tlZCwgYW5kIG5vdCBjbGVhcmluZyB0aGVtIG1ha2VzIGEgc2FtcGxlIHdvcmssIHdoZXJlCgkgIGNsZWFyaW5nIHRoZW0geWllbGRlZCBsZWZ0ID4gcmlnaHQuCgkgIEhpc3RvcnkgZnJvbSB0aGUgZHZkc3B1IHBsdWdpbiwgZnJvbSB3aGVyZSB0aGlzIGNvZGUgd2FzIGNvcGllZCwKCSAgZG9lcyBub3Qgc2hlZCBhbnkgbGlnaHQsIGFzIHRyYWNpbmcgdGhpcyBjb2RlJ3Mgb3JpZ2luIHNob3dzCgkgIHRoZSBzYW1lIGJpdG1hc2tzIGJlaW5nIHRoZXJlIGluIDIwMDcgd2hlbiBpdCB3YXMgaW1wb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwOTEKCjIwMTEtMDgtMjIgMTY6NTI6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogZG8gbm90IGNsZWFyIG91dCBoaWdoIGJpdHMgZnJvbSBkaXNwbGF5IGFyZWEKCSAgaHR0cDovL2R2ZC5zb3VyY2Vmb3JnZS5uZXQvc3B1X25vdGVzIGRvZXMgbm90IG1lbnRpb24gdGhhdCBoaWdoIGJpdHMKCSAgYXJlIHRvIGJlIG1hc2tlZCwgYW5kIG5vdCBjbGVhcmluZyB0aGVtIG1ha2VzIGEgc2FtcGxlIHdvcmssIHdoZXJlCgkgIGNsZWFyaW5nIHRoZW0geWllbGRlZCBsZWZ0ID4gcmlnaHQuCgkgIEhpc3RvcnkgZG9lcyBub3Qgc2hlZCBhbnkgbGlnaHQsIGFzIHRyYWNpbmcgdGhpcyBjb2RlJ3Mgb3JpZ2luIHNob3dzCgkgIHRoZSBzYW1lIGJpdG1hc2tzIGJlaW5nIHRoZXJlIGluIDIwMDcgd2hlbiBpdCB3YXMgaW1wb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxMTkKCjIwMTEtMDgtMjMgMDk6NTI6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmlyc3QgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgc2Vla2luZyBpbiBUSU1FIGZvcm1hdCBiZWZvcmUgc2Vla2luZyBpbiB0aGUgZGVtdXhlcgoKMjAxMS0wOC0yMyAwOTo0MDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXJzdCBzZW5kIFNFRUtJTkcgcXVlcmllcyB1cHN0cmVhbQoKMjAxMS0wOC0yMyAwOToyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZW5kIERVUkFUSU9OIHF1ZXJ5IHVwc3RyZWFtIGZpcnN0CgoyMDExLTA4LTIzIDA5OjIzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVzZSBGQUxTRSBpbnN0ZWFkIG9mIDAgZm9yIGEgYm9vbCBwYXJhbWV0ZXIKCjIwMTEtMDgtMTYgMTk6NTM6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzd2l0Y2ggcGFkcyB3aGVuIHdlIHNlZWsgKG5lZWRfc2VnbWVudCkgc2luY2UgdHNkZW11eCBkb2Vzbid0IGNvcGUgd2VsbCB3aXRoIGEgcmVzZXQKCjIwMTEtMDgtMjMgMDI6MzY6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgYSBGSVhNRSBjb21tZW50LiBsb29wIHRhc2sgc2hvdWxkIGJlIGEgcGFkIHRhc2sKCjIwMTEtMDgtMjIgMjM6NDE6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc2VlayBpbiBhIGxpdmUgc3RyZWFtCgoyMDExLTA4LTIyIDIzOjQxOjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHRha2UgdGhlIHBhZCBzdHJlYW0gbG9jaywgdXNlIHRoZSB0YXNrJ3MgbG9jayBpbnN0ZWFkCgoyMDExLTA4LTE2IDE5OjQ2OjQ5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgRVZFTlRfU0VFSwoKMjAxMS0wOC0yMyAwMTo1NDoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCB0aGUgR1NUX1FVRVJZX1NFRUtJTkcgcHJvcGVybHkKCjIwMTEtMDgtMjMgMDE6NTQ6MDMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgY29ycmVjdGx5IHRoZSBHU1RfUVVFUllfRFVSQVRJT04KCjIwMTEtMDgtMTYgMTk6NDE6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgdXNlIEdTVF9UQVNLX1dBSVQgaW4gdGhlIHRhc2sgZnVuY3Rpb24KCSAgVGhlIHRhc2sgZnVuY3Rpb24gdXNlcyBHU1RfVEFTS19XQUlUIHdoaWNoIGRvZXMgYSBnX2NvbmRfd2FpdCBnaXZpbmcgaXQKCSAgdGhlIEdTVF9PQkpFQ1RfR0VUX0xPQ0sgb2YgdGhlIHRhc2suIFRoZSBtdXRleCBnZXRzIGxvY2tlZCB3aGVuCgkgIGdfY29uZF93YWl0IHJldHVybnMsIHNvIGlmIHdlIGRvbid0IGxvY2svdW5sb2NrIGl0LCBpdCB3aWxsCgkgIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIHByZXZlbnRpbmcgdGhlIHRhc2sgZnJvbSBldmVyIGZpbmlzaGluZy4KCSAgV2Ugc2hvdWxkbid0IGxvY2sgdGhlIHRhc2sgb2JqZWN0IGxvY2ssIHNvIGxldCdzIHJlbW92ZSB0aGUgR1NUX1RBU0tfV0FJVAoJICBhbmQgbWFrZSB0aGUgdGFzayBwYXVzZSBpbnN0ZWFkIGlmIHRoZXJlIGFyZSBubyBidWZmZXJzIGluIHRoZSBxdWV1ZS4KCjIwMTEtMDgtMTggMjM6NTI6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3Qgc2VuZCBhIG5ldy1zZWdtZW50IG9uIHN0cmVhbSByZW1vdmFsCgkgIFdoZW4gYSBwcm9ncmFtIGlzIGNoYW5nZWQsIHN0cmVhbV9hZGRlZCBpcyBjYWxsZWQgd2hpY2ggc2V0cyB0aGUKCSAgbmVlZF9uZXdzZWdtZW50IHRvIFRSVUUsIHRoZW4gc3RyZWFtX3JlbW92ZWQgaXMgY2FsbGVkLCB3aGljaCBjYWxscwoJICB0aGUgZmx1c2hfcGVuZGluZ19kYXRhLCB3aGljaCBjaGVja3MgZm9yIHRoZSBuZXdzZWdtZW50IGFuZCBjYXVzZXMKCSAgaXQgdG8gc2VuZCBhIG5ldy1zZWdtZW50LgoJICBXZSBtdXN0IG5vdCBzZW5kIHRoZSBuZXdzZWdtZW50IHdoZW4gZmx1c2hpbmcgdGhlIHBlbmRpbmcgZGF0YSBvbiB0aGUKCSAgcmVtb3ZlZCBzdHJlYW0uIFdlIHNob3VsZCBvbmx5IHB1c2ggaXQgd2hlbiBmbHVzaGluZyBkYXRhIG9uIHRoZSBuZXdseQoJICBhZGRlZCBzdHJlYW1zIChhZnRlciB0aGV5IGZpbmlzaCBwYXJzaW5nIHRoZWlyIFBUUyBoZWFkZXIpCgoyMDExLTA4LTE2IDIyOjA1OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IG5ld3NlZ21lbnQgd2hlbiBzd2l0Y2hpbmcgcHJvZ3JhbXMKCSAgSWYgYSBwcm9ncmFtL3N0cmVhbSBpcyBjaGFuZ2VkLCB0aGVuIGEgbmV3c2VnbWVudCBpcyBzZW50IHdoaWNoIG11c3QKCSAgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBiYXNlIHNlZ21lbnQgc2luY2UgaXQgaGFwcGVucyBsYXRlci4gV2UgbXVzdAoJICBzaGlmdCB0aGUgc3RhcnQgcG9zaXRpb24gYnkgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSB0aGUgbmV3c2VnbWVudAoJICBhbmQgdGhlIGN1cnJlbnQgUFRTIG9mIHRoZSBzdHJlYW0KCjIwMTEtMDgtMTYgMTk6NTQ6MDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBpbnRlcnBvbGF0ZSBnYXAgYW5kIGZpeCB0aW1lc3RhbXBzIGRlcGVuZGluZyBvbiB1cHN0cmVhbSBzZWdtZW50CgoyMDExLTA4LTE4IDIzOjU0OjU5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBLZWVwIGEgc2VwYXJhdGUgdmFyaWFibGUgZm9yIHRoZSBjdXJyZW50IHZhcmlhbnQgdXNlZAoJICBCeSB1c2luZyBhIHNlcGFyYXRlIHZhcmlhYmxlLCBmaXJzdCBpdCBhbGxvd3MgdXMgdG8gc29ydCB0aGUgbGlzdHMKCSAgb2YgYWx0ZXJuYXRlcyBidXQga2VlcCB0aGUgcG9pbnRlciBvbiB0aGUgZmlyc3Qgb2NjdXJlbmNlIGluIHRoZSBtYWluCgkgIHBsYXlsaXN0ICh0byByZXNwZWN0IHRoZSBzcGVjIG9mIHN0YXJ0aW5nIHdpdGggdGhlIGJpdHJhdGUgc3BlY2lmaWVkCgkgIGZpcnN0IGluIHRoZSBtYWluIHBsYXlsaXN0KS4gSXQgYWxzbyBhdm9pZCBwbGF5aW5nIHdpdGggdGhlIGxpc3RzIHZhcmlhYmxlCgkgIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHN0b3JlIHRoZSBsaXN0IG9mIHBsYXlsaXN0cyBhbmQgbm90IGFzIGEgcG9pbnRlcgoJICB0byB0aGUgY3VycmVudCBvbmUuCgkgIEFsc28gZml4ZXMgYSBtZW1sZWFrIHdpdGggdGhlIGdfbGlzdF9mb3JlYWNoIGZyZWVpbmcgdGhlIGxpc3RzLCBpZiBpdCB3YXNuJ3QKCSAgcG9pbnRpbmcgdG8gdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QuCgoyMDExLTA4LTIxIDE4OjQ0OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBmaXggY29tcGlsYXRpb24gb24gTGludXgKCjIwMTEtMDgtMTggMTQ6Mjk6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3ViZGV2aWNlIHByb3BlcnR5CgoyMDExLTA3LTA3IDE2OjQ0OjMxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9saW51eC9MaW51eENPTS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUElfaS5jOgoJICBkZWNrbGluazogYWRkIHN1cHBvcnQgZm9yIFdpbmRvd3MKCSAgQnVpbGRzIHdpdGggTVNWQywgbm90IHRlc3RlZCBpbiBNaW5HVyBvciBhbnl0aGluZyBlbHNlLiBBZGRlZAoJICBDT00gaGFuZGxpbmcgY29kZSwgYm9ycm93ZWQgZnJvbSBkc2hvd3ZpZGVvc2luay4gTW92ZWQgTGludXgKCSAgc3BlY2lmaWMgZmlsZXMgdG8gLi9saW51eCBhbmQgYWRkZWQgV2luZG93cyBzcGVjaWZpYyBmaWxlcyB0bwoJICAuL3dpbiAoZ2VuZXJhdGVkIGZyb20gSURMIGZpbGVzIGluIFZTOSkuIEFkZGVkIG1hY3JvcyB0byBoYW5kbGUKCSAgQlNUUiBhbmQgZGVmaW5lZCBib29sIGFzIEJPT0wuICBGaXhlcyAjNjU1MzYyLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MzQ6MDEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogaW1wcm92ZSBmcmFtZSBoYW5kbGluZwoJICBTZW5kIE5FV1NFR01FTlQgb24gc3RhcnQuIFNlbmQgd2FybmluZyBpbnN0ZWFkIG9mIGVycm9yIG9uCgkgIGRyb3BwZWQgZnJhbWVzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MjA6MzcgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogZml4IGRlYnVnZ2luZyBpbiBjYXB0dXJlLmNwcCBieSBtYWtpbmcgY2F0ZWdvcnkgZXh0ZXJuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDoxMzowMCAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSAgZGVja2xpbms6IHVzZSBtdXRleGVzIGZyb20gZ2xpYiBpbnN0ZWFkIG9mIHB0aHJlYWQKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE2IDE3OjE5OjQ5IC0wMzAwICBUaWFnbyBDw6lzYXIgS2F0Y2lwaXMgPHRpYWdva2F0Y2lwaXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmg6CgkgIHJlbW92ZXNpbGVuY2U6IG5ldyBwbHVnaW4KCSAgRml4ZXM6ICM1OTc4MjIuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0yMSAxNDo0MToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUHJldmVudCBhdWRpb3NyYyBmcm9tIHNlbmRpbmcgdW5kZXNpcmVkIGVvcwoJICBCYXNlc3JjIGRlcml2ZWQgY2xhc3NlcyBzZW5kIGFuIGVvcyB3aGVuIHRoZXkgY2hhbmdlIHN0YXRlCgkgIGZyb20gcGF1c2VkIHRvIHJlYWR5IGFuZCB0aGF0IGJyZWFrcyB2aWRlbyByZWNvcmRpbmdzIG9uIGNhbWVyYWJpbjIKCSAgYXMgaXQgbWFrZXMgdGhlIHdob2xlIGF1ZGlvIGJyYW5jaCBwYWRzIGZsdXNoaW5nLgoJICBQcmV2ZW50IGl0IGJ5IHVzaW5nIGEgcGFkIHByb2JlIHRoYXQgb25seSBhbGxvd3MgdGhlIGVvcyB0byBwYXNzCgkgIHdoZW4gaXQgaXMgY2F1c2VkIGJ5IGEgc3RvcC1jYXB0dXJlIGFjdGlvbi4KCjIwMTEtMDgtMjEgMTQ6MDc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogVXNlIGF1ZGlvdGVzdHNyYyBvbiB0ZXN0cwoJICBVc2UgYXVkaW90ZXN0c3JjIG9uIHRlc3RzIGluc3RlYWQgb2YgdXNpbmcgdGhlIHN5c3RlbSdzIGRlZmF1bHQKCSAgYXVkaW9zcmMsIGF2b2lkaW5nIGFueSBwcm9ibGVtcyB0aGF0IGEgbG9jYWwgYXVkaW8gc2V0dXAgbWlnaHQKCSAgaGF2ZS4KCjIwMTEtMDgtMTggMTg6Mjc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZ3N0X3BhZF9zZW5kX2V2ZW50IGluc3RlYWQgb2YgZXZlbnRmdW5jIG1hY3JvCgoyMDExLTA4LTE0IDA0OjQxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEltcHJvdmluZyB0ZXN0cwoJICBBZGRpbmcgc29tZSBhZGRpdGlvbmFsIGNoZWNrcyBmb3IgY3VzdG9tIGNhbWVyYWJpbjIgbWVzc2FnZXMKCSAgQWxzbyBpbXByb3ZlcyByZWxpYWJpbGl0eSBvZiB0aGUgdGVzdHMgYnkgd2FpdGluZyBmb3IgdGhlIHByZXZpZXctYnVmZmVyIG1lc3NhZ2UuCgkgIFRoaXMgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgcHJldmlldyBwaXBlbGluZSwgYW5kIG1pZ2h0IGFycml2ZSBsYXRlciB0aGFuIHRoZQoJICBpbWFnZS92aWRlby1kb25lIGZyb20gdGhlIG1haW4gY2FtZXJhYmluMiBwaXBlbGluZSwgdGhlIHRlc3RzIG5lZWQgdG8gd2FpdCBmb3IgaXQgZXZlbgoJICBhZnRlciBnZXR0aW5nIHRoZSBpbWFnZS92aWRlby1kb25lLgoKMjAxMS0wOC0xOCAxNToxMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEF2b2lkIGFzc2VydGlvbnMgd2hlbiBwbHVnaW4gY3JlYXRpb24gZmFpbHMKCSAgQ2Fwc2ZpbHRlcnMgYXJlIGNyZWF0ZWQgb24gdGhlIGNvbnN0cnVjdG9yIGFuZCB0aGVpciBwcm9wZXJ0aWVzIGNhbgoJICBiZSBzZXQvZ2V0IGZyb20gY2FtZXJhYmluMidzIHNldC9nZXRfcHJvcGVydHkgZnVuY3Rpb25zLiBUaGUgdXNlciB3aXRoCgkgIGEgYnJva2VuIHNldHVwIHdvdWxkIGNhdXNlIGFzc2VydGlvbnMgd2hlbiB0cnlpbmcgdG8gc2V0L2dldCB0aGUKCSAgY2FwdHVyZSBjYXBzIG9mIHRoaXMgY2FtZXJhYmluMi4KCSAgQSBwcm9wZXIgbWlzc2luZy1wbHVnaW4gbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvCgkgIHNldCBjYW1lcmFiaW4yIHRvIFJFQURZIHN0YXRlLgoKMjAxMS0wOC0yMCAwMDo0ODoyMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIHJlbW92ZSBhbiBpZiAoYmVzdCkgY2hlY2sgd2hlcmUgYmVzdCAhPSBOVUxMIGhhcyBhbHJlYWR5IGJlZW4gY2hlY2tlZAoKMjAxMS0wOC0xNiAxOTo1MTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogcmVpbml0aWF0ZSBzZWdtZW50IGF0IGZsdXNoLXN0b3AgZXZlbnQgb25seQoKMjAxMS0wOC0xNiAxOTo0MzowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogU2V0IGJ1ZmZlciB0aW1lc3RhbXAgc2luY2Ugd2Ugc2VuZCBhIFRJTUUgc2VnbWVudAoKMjAxMS0wOC0wMiAxOToyMTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsbG93IGJhbmR3aWR0aCBzd2l0Y2hpbmcgZHVyaW5nIGNhY2hpbmcgb2YgZnJhZ21lbnRzCgoyMDExLTA4LTAyIDE5OjIxOjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHRoZSBwYWQncyBjYXBzIGJlZm9yZSBhZGRpbmcgaXQKCjIwMTEtMDgtMTcgMTE6MDI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBmaW5nZXJwcmludCBjcmVhdGlvbiBjYW4gZmFpbAoJICBUaGVyZSBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgd2F5IHRvIHJldHJpZXZlIGluZm9ybWF0aW9uCgkgIGFib3V0IHdoeSBmYWlsdXJlIG9jY3VyZWQsIHVuZm9ydHVuYXRlbHkuCgkgIFdoZW4gZmFpbHVyZSBvY2N1cnMsIGRvIG5vdCBwb3N0IGEgTlVMTCBmaW5nZXJwcmludCB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTcgMTA6NTU6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBjbGVhbnVwCgkgIEF2b2lkIHJlcGVhdGluZyBjYXN0aW5nIHRvIEdzdEF1ZGlvRmlsdGVyIHdoZW4gb25lIHdpbGwgZG8KCSAgVXNlIG9iamVjdCByZWxhdGVkIGxvZ2dpbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZ2V0IGp1c3QgdGhlIGxvZ3Mgd2Ugd2FudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE3IDExOjA3OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZG8gbm90IGNyZWF0ZSBmaW5nZXJwcmludCBvbiBFT1MgaWYgcmVjb3JkIGlzIEZBTFNFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTggMTA6Mzk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZW1vdmUgdW51c2VkIGFuZCB1c2VsZXNzIHZhcmlhYmxlIGluIHRhZ3MgaGFuZGxpbmcKCjIwMTEtMDgtMTggMDg6MDI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IEZpeCBsb2NraW5nLCBlc3BlY2lhbGx5IGlmIGJvdGggcGFkcyBoYXZlIGRpZmZlcmVudCBzdHJlYW1pbmcgdGhyZWFkcwoKMjAxMS0wOC0xOCAwNzo0MjowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IERvbid0IGNhbGwgZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KCkgaW4gY2xhc3NfaW5pdAoJICBUaGlzIGlzIGFscmVhZHkgZG9uZSBieSB0aGUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMS0wOC0xNyAxOTowMTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTYgMTA6MjQ6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkgIGFpZmZtdXg6IGRyb3AgZGF0YSBhZnRlciA0aXNoIEdCIGFuZCBtb2FuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTA6MDI6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiB1c2UgZ3VpbnQzMiBmb3IgZ3VpbnQzMiBwYXJhbWV0ZXJzCgkgIFRoaXMgbWFrZXMgZXhwbGljaXQgdGhhdCB0aGUgcmFuZ2UgaXMgbGltaXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxMDowMjoxMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IGF2b2lkIGludGVnZXIgb3ZlcmZsb3cKCSAgVGhlc2UgdmFsdWVzIGFyZSAzMiBiaXRzLCBhbmQgd2lkdGggaXMgYSBtdWx0aXBsZSBvZiA4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDE5OjM5OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogbWFrZSB0aGlzIGNvbXBpbGUgd2l0aCBnaXQgbGliY2VsdAoJICBjZWx0X21vZGVfaW5mbyB3YXMgcmVtb3ZlZCwgaW4gZmF2b3Igb2YgYSBfY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2Njg2CgoyMDExLTA4LTE2IDE4OjM0OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZG9uJ3QgY3Jhc2ggd2hlbiB0aGVyZSdzIG5vIGRhdGEgdG8gY3JlYXRlIGEgZmluZ2VycHJpbnQgZnJvbQoJICBGaXhlcyBhIGNyYXNoIHdoZW4gbm8gZGF0YSBmbG93ZWQgdGhyb3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNiAxOTo0NzowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGdzdF9iaXRfcmVhZGVyX3NraXAgdG8gc2tpcCBtb3JlIHRoYW4gMzIgYml0cy4KCSAgR0VUX0JJVFMgaXMgYSBtYWNybyBmb3IgZ3N0X2JpdF9yZWFkZXJfZ2V0X2JpdHNfdWludDMyLCB3aGljaCBjYW5ub3QKCSAgcmVhZCBtb3JlIHRoYW4gMzIgYml0cyBhbmQgd2lsbCBmYWlsIGluIHRoaXMgY2FzZSB3aGVyZSBpdCBpcyBjYWxsZWQKCSAgdG8gcmVhZCA3OSBiaXRzLiBTaW5jZSB3ZSB3YW50IHRvIHNraXAgdGhvc2UgYml0cywgZ3N0X2JpdF9yZWFkZXJfc2tpcAoJICBpcyBtb3JlIGFwcHJvcHJpYXRlIGluIHRoaXMgY2FzZS4KCjIwMTEtMDgtMTUgMDI6MDg6MTQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBnZXQgdGhlIGZyYW1lcmF0ZSBmcm9tIGNhcHMKCSAgLi4uYW5kIGNvbmZpZ3VyZSBRVEtpdCBhY2NvcmRpbmdseS4gSGFyZGNvZGluZyB0byAzMGZwcyB3YXMgcHJldHR5IC1iYWQuCgoyMDExLTA4LTEzIDE1OjU1OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCB0ZXN0IGZvciBhdWRpby1maWx0ZXIgcHJvcGVydHkKCSAgQ2hlY2tzIHRoYXQgdGhlIGF1ZGlvLWZpbHRlciBpcyBwcm9wZXJseSBwbHVnZ2VkIGluIHRoZSBwaXBlbGluZQoJICBhbmQgcmVjZWl2ZXMgYnVmZmVycyB3aGVuIHJlY29yZGluZyBhIHZpZGVvLgoKMjAxMS0wOC0xMSAxODo1OTowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGF1ZGlvLWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gYWRkIGEgY3VzdG9tIEdzdEVsZW1lbnQgdG8gdGhlIGF1ZGlvCgkgIGJyYW5jaCBvZiB0aGUgcGlwZWxpbmUuIFRoaXMgYWxsb3dzIHRoZSB1c2VyIHRvIGRvIGN1c3RvbSBhdWRpbwoJICBwcm9jZXNzaW5nL2FuYWx5c2lzIHdoZW4gcmVjb3JkaW5nIHZpZGVvcy4KCjIwMTEtMDgtMTIgMjI6Mzk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBiYXNldmlzdWFsaXplcjogYWRkIG1vcmUgc2hhZGVyIHZhcmlhbnRzIGFuZCBzaW1wbGlmeSBjb2RlCgkgIFVzZSBtYWNyb3MgdG8gc2ltcGx5ZnkgdGhlIHNoYWRpbmcgY29kZS4gVGhvc2Ugd2lsbCBlYXNlIHRvIGFkZCBzdXBwb3J0IGZvcgoJICBvdGhlciBjb2xvcnNwYWNlcyBpbiB0aGUgZnV0dXJlLiBBZGQgbW9yZSB2YXJpYW50cyBmb3IgdGhlIHNoYWRpbmcgKGxlZnQscmlnaHQsCgkgIGhvcml6LWluLCB2ZXJ0LW91dCwgdmVydC1pbikuCgoyMDExLTA4LTEyIDIxOjIyOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2V2aXN1YWxpemVyOiBtb3JlIGRvY3MKCjIwMTEtMDgtMTIgMjE6MTg6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBwcm90ZWN0IGNvbmZpZyB3aXRoIGEgbG9jawoJICBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gY3Jhc2ggdGhlIGVsZW1lbnRzIHdoZW4gdXNpbmcgYSB4aW1hZ2VzaW5rIGFuZCB0cmlnZ2VyaW5nCgkgIHJlbmVnb3RpYXRpb24gYnkgcmVzaXppbmcuCgoyMDExLTA4LTEyIDE2OjU3OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBtYWtlIGEgY29weSBvZiB0aGUgYXVkaW9kYXRhIGJlZm9yZSBkb3dubWl4aW5nIGFuZCB3aW5kb3dpbmcKCSAgVGhlIGJ1ZmZlcnMgY29tZSBmcm9tIHRoZSBhZGFwdGVyIGFuZCB0aGUgZGF0YSBtaWdodCBvdmVybGFwLiBXZSBkb24ndCB3YW50IHRvCgkgIG1vZGlmeSBpdCBpbiBwbGFjZS4KCjIwMTEtMDgtMTIgMTI6MjU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUHJveHkgdGhlIHdpZHRoL2hlaWdodC9mcmFtZXJhdGUvUEFSIGNvbnN0cmFpbnRzIG9mIGRvd25zdHJlYW0gY2FwcyB0byB1cHN0cmVhbQoJICBUaGlzIGFsbG93cyB0byBzcGVjaWZ5IGNvbnN0cmFpbnRzIG9uIHRoZSBjb21wcmVzc2VkIGRvd25zdHJlYW0gY2FwcwoJICBieSBtdXhlcnMgb3IgY2Fwc2ZpbHRlcnMsIHdoaWNoIHdpbGwgdGhlbiBiZSBmb3J3YXJkZWQgdG8gdXBzdHJlYW0KCSAgYW5kIGFsbG93cyB2aWRlbyBjb252ZXJ0ZXJzIHRvIGZ1bGZpbGwgdGhlIGNvbnN0cmFpbnRzLgoJICBDb2RlIGJhc2VkIG9uIE1hcmsgTmF1d2VsYWVydHMgYXVkaW8gZW5jb2RlciBiYXNlIGNsYXNzLgoKMjAxMS0wOC0xMiAxMjoxMzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBSZW1vdmUgb2xkIDo6Z2V0Y2FwcygpIGNvbW1lbnQKCjIwMTEtMDgtMTIgMTI6MDg6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowNjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBSZW1vdmUgOjpnZXRfY2FwcygpIHZmdW5jCgkgIFN1YmNsYXNzZXMgY2FuIHNldCB0aGUgY2FwcyBtb3JlIGVmZmljaWVudGx5IGFuZCB0aGlzIG9ubHkKCSAgY2F1c2VkIGFkZGl0aW9uYWwgaW5kaXJlY3Rpb25zLgoKMjAxMS0wOC0wOSAwOToyOToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogZG8gbm90IGFzc2VydCBvbiB0aGUgdmFsdWVzIG9mIGRhdGEgcmVhZCBmcm9tIGlucHV0CgkgIEluc3RlYWQsIGxvZyBhIHdhcm5pbmcsIGFuZCByZXR1cm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM4MjcKCjIwMTEtMDgtMDMgMTY6MDI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVXNlIHRoZSBjYWNoZWQgdmlkZW8gZnJhbWUgc2l6ZSBpbnN0ZWFkIG9mIHJlY2FsY3VsYXRpbmcgaXQKCjIwMTEtMDgtMDggMTc6NTM6MTYgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgdHJpZ2dlcnMgInNldCBidXQgdW51c2VkIHZhcmlhYmxlcyIKCSAgZnJvbSBHY2MgNC42LiAgRml4ZXMgIzY1NjE2NgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMDggMTY6NDQ6MjAgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlcwoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCB0cmlnZ2VycyAic2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzIiBmcm9tIEdjYwoJICA0LjYuICBGaXhlcyAjNjU2MTY0LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMDYgMTI6MTM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdmlkZW8tZG9uZSBtZXNzYWdlCgkgIHZpZGVvLWRvbmUgbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCB3aGVuIGEgdmlkZW8gcmVjb3JkaW5nIGlzCgkgIGZpbmlzaGVkLiBTaW1pbGFyIHRvIGltYWdlLWRvbmUgbWVzc2FnZS4KCjIwMTEtMDgtMDUgMTU6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdG9wLWxldmVsIGVsZW1lbnQgZG9jdW1lbnRhdGlvbgoKMjAxMS0wOC0wNSAxMzozNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeGluZyB0eXBvCgoyMDExLTA4LTA0IDEzOjMzOjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAZ29vZ2xlLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkgIG1vdGlvbmNlbGxzOiB0dXJuIHR3byBnbG9iYWwgdmFycyBpbnRvIHN0YXRpYyB2YXJpYWJsZXMKCSAgTW92ZSAyIHZhcmlhYmxlIHRvIG1vdGlvbmNlbGxzX3dhcnBwZXIgYW5kIG1ha2UgdGhlbSBzdGF0aWMuCgoyMDExLTA4LTA0IDEzOjMzOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlCgoyMDExLTA4LTA0IDExOjI4OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCBnc3RkZWNrbGluay5oIHRvIGxpc3Qgb2YgaGVhZGVycwoKMjAxMS0wOC0wNCAwOTo0OTo0NiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBzZXF1ZW5jZSBoZWFkZXIgcGFyc2luZwoJICBBZnRlciBiaXRyYXRlIHRoZXJlJ3MgMTEgYml0cyAoMSBtYXJrZXIgYml0ICsgVkJWIGJ1ZmZlciBzaXplKSBiZWZvcmUgdGhlIGxvYWQKCSAgaW50cmEgcXVhbnRpc2VyIGZsYWcuCgoyMDExLTA4LTA0IDA5OjQwOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0wNCAwOTozNjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCSAgY29uZmlndXJlLmFjCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmgKCSAgZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jCgoyMDExLTA3LTIxIDA4OjU4OjI3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIG1pc3NpbmcgRkxJQ0tFUl9SRURVQ1RJT04gY2FwYWJpbGl0eQoJICBHc3RQaG90b2dyYXBoeSBBUEkgY29udGFpbnMgZnVuY3Rpb25zIHRvIGdldC9zZXQgZmxpY2tlciByZWR1Y3Rpb24KCSAgbW9kZSwgYnV0IEdzdFBob3RvQ2FwcyBlbnVtZXJhdGlvbiBkb2Vzbid0IGhhdmUgaXRlbSBmb3IgaXQsIHNvIGVsZW1lbnRzCgkgIGFyZSBub3QgYWJsZSB0byByZXBvcnQgd2hldGhlciB0aGV5IHN1cHBvcnQgdGhpcyBmZWF0dXJlIG9yIG5vdC4KCSAgQWxzbyBhZGQgdXNlZnVsIEdTVF9QSE9UT0dSQVBIWV9DQVBTX0FMTCBmb3IgZWFzaWx5IHNlbGVjdGluZyBhbGwKCSAgY2FwYWJpbGl0aWVzIGF0IG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUzMTgKCjIwMTEtMDgtMDMgMTM6Mzc6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuaDoKCSAgc3ViZW5jOiBBZGQgd2VidnR0ZW5jIGVsZW1lbnQKCjIwMTEtMDgtMDMgMTM6MzU6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBGaXggdW5pbml0aWFsaXplZCBlcnJvcgoKMjAxMS0wNy0wOSAyMzoyMjoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgc2hhcGVfb3V0cHV0IGhhbmRsaW5nCgoyMDExLTA3LTA5IDIzOjA3OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFJlbW92ZSB1bnVzZWQgc2hhcGVfb3V0cHV0IGNvZGUKCjIwMTEtMDctMDkgMTg6NTM6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgbW9yZSBwcm9wZXJ0aWVzCgoyMDExLTA2LTE5IDE2OjA2OjQ2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGFkZCBtaW4vbWF4c2VjdGlvbi1wY3Qgb3B0aW9uCgkgIFRoaXMgb3B0aW9ucyBzaG91bGQgYmUgZ29vZCB0byByZWRldWNlIGRlY29kZSBDUFUgbG9hZC4KCSAgZm9yIGxvd2VuZCBoYXJkd2FyZToKCSAgbWluc2VjdGlvbi1wY3Q9MTUgbWF4c2VjdGlvbi1wY3Q9NDAwCgkgIGZvciBoaWVuZCBodzoKCSAgbWluc2VjdGlvbi1wY3Q9NSBtYXhzZWN0aW9uLXBjdD04MDAKCSAgc2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX3Zicl9lbmNvZGluZ19mb3Jfc21vb3RoX3BsYXliYWNrX29uX2xvdy1lbmRfaGFyZHdhcmUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMTE6MDU6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogYWRkIGxhZy1pbi1mcmFtZXMgb3B0aW9uLgoJICBUaGlzIG9wdGlvbiBzZXQgbWF4aW11bSBvZiBmcmFtZXMgY29kZWMgc2hvdWxkIHJlbWVtYmVyLAoJICB0byBtYWtlIGJldHRlciBwcmVkaWt0aW9uIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgU2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX2Jlc3RfcXVhbGl0eV92YnJfZW5jb2RpbmcKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMDc6MTY6NTcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdXNlIG11bHRpcGFzcy5jYWNoZSBmaWxlIG5hbWUgYXMgZGVmYXVsdCBmb3IgbXVsdGlwYXNzIG1vZGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA5IDE2OjA1OjA3IC0wNDAwICBNdWt1bCBNYWptdWRhciA8bXVrdWwubWFqbXVkYXJAZ21haWwuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IEFkZCBwcm9wZXJ0aWVzIGZvciBWQlIgZW5jb2RpbmcKCSAgUHJvcGVydHkgInF1YWxpdHkiIHRvIHNwZWNpZnkgVkJSIHF1YW50aXplciBxdWFsaXR5IGFuZCBwcm9wZXJ0eQoJICAiYnJ0eXBlIiB0byBjaG9vc2UgYmV0d2VlbiBBQlIgYW5kIFZCUiBlbmNvZGluZy4gVGhlIGRlZmF1bHQgaXMgbm93IFZCUgoJICB3aXRoIHF1YWxpdHk9MTAwLgoJICBGaXhlcyBidWcgIzY1NDMxMC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE2OjA3OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBhdWRpby1pbnB1dCBwcm9wZXJ0eQoKMjAxMS0wNy0xOCAxNToyNTowNSArMTAwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkgIGludGVyOiBBZGRpbmcgbWlzc2luZyBiYXNlIHJlcXVpcmVtZW50cy4KCSAgRml4ZXM6ICM2NTQ4MDYuCgoyMDExLTA4LTAzIDE1OjIxOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogYWRkIG1vcmUgbWlzc2luZyBwbHVnaW4gY2hlY2tzCgkgIFNwcmlua2xlIHNvbWUgbW9yZSBtaXNzaW5nIHBsdWdpbiBjaGVja3MgYXJvdW5kCgoyMDExLTA4LTAzIDEzOjEyOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIGEgbWlzc2luZyBlbGVtZW50IGNoZWNrIGFuZCByZW1vdmUgVE9ETwoJICBBZGQgbWlzc2luZyBlbGVtZW50IGNoZWNrcyBmb3IgZWxlbWVudHMgY3JlYXRlZCBhdCBfaW5pdAoJICBmdW5jdGlvbnMgYW5kIHJlbW92ZSBUT0RPIGFib3V0IGl0CgoyMDExLTA4LTAzIDEzOjU3OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgcmVkdW5kYW50IGltYWdlLXF1ZXVlCgkgIEVuY29kZWJpbiBpcyB1c2VkIGZvciBpbWFnZSBlbmNvZGluZyBhbmQgaXQgYWxyZWFkeSBjb250YWlucwoJICBhIHF1ZXVlLCBzbyB3ZSBjYW4gcmVtb3ZlIGNhbWVyYWJpbjIgaW1hZ2UgcXVldWUuCgoyMDExLTA4LTAzIDEzOjQyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCB1cCBjb3B5cmlnaHRzCgoyMDExLTA2LTI5IDE1OjE0OjI5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogQWRkIGF1ZGlvIGNhcHR1cmUgY2FwcyBvcHRpb24KCjIwMTEtMDgtMDIgMTU6MTQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTWFrZSBhY2Nlc3MgdG8gdGhlIGxpc3Qgb2YgZnJhbWVzIHRocmVhZHNhZmUKCjIwMTEtMDgtMDIgMjM6NTM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBiYXllcjogYmFjayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3MgaW4gb3JjLWdlbmVyYXRlZCBjb2RlIGJ5IGRpc2FibGluZyAtV2Vycm9yIGZvciB0aGlzIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjc3CgoyMDExLTA4LTAyIDIyOjU3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICBGaXggc29tZSBtb3JlIHZhcmlhYmxlLXNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDgtMDIgMjE6MTQ6MDYgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEZpeCBjYW1lcmFiaW4yIEdfT0JKRUNUIGNhc3QKCSAgQWRkcyBtaXNzaW5nIGNhc3QgdG8gZml4IGJ1aWxkIGVycm9yLgoKMjAxMS0wOC0wMiAxMDo0OTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFdvcmthcm91bmQgZm9yIHJpbmdidWZmZXIgbm90IHJlc3luY2luZyBvbiBSRUFEWQoJICBBZGQgYSB3b3JrYXJvdW5kIHRvIGZpeCB0aW1lc3RhbXBzIG1lYW53aGlsZSBidWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODM1OSBpcyBmaXhlZC4KCjIwMTEtMDctMzAgMTY6MTI6MzEgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjIgcmVtb3ZlIHJlZHVuZGFudCB2aWV3ZmluZGVyLWNvbG9yc3BhY2UgYW5kIHZpZXdmaW5kZXItc2NhbGUKCSAgY2FtcmFiaW4yIGNvbm5lY3RzIGEgdmlld2ZpbmRlcmJpbiBvbiAidmZzcmMiLiB2aWV3ZmluZGVyYmluIGlzIG1hZGUgb2Y6CgkgIHZmYmluLWNzcCAhIHZmYmluLXZpZGVvc2NhbGUgISB2aWRlb3NpbmsuCgkgIHdlIHNob3VsZCBlaXRoZXIgcmVtb3ZlIGNzcC92aWRlb3NjYWxlIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyAoYXMKCSAgZG9uZSBpbiB0aGlzIHBhdGNoKSBvciB3ZSBzaG91bGQgZ2V0IHJpZCBvZiB2aWV3ZmluZGVyYmluIGFsdG9nZXRoZXIuCgoyMDExLTA3LTI2IDA2OjA0OjQxICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogcmVtb3ZlIHVudXNlZCBnZXRfYWxsb3dlZF9pbnB1dF9jYXBzCgkgIFRoZSB1c2Ugb2YgdGhpcyBtZXRob2Qgd2FzIHJlbW92ZWQgaW46CgkgIGNvbW1pdCA1MzlmMTBmNGQ5OWUxYTA3NDg4MTI4OTI1NGQxZDEwOTE1OWNmOWU1CgkgIGJhc2VjYW1lcmFzcmM6IE1vcmUgY2xlYW51cAoJICBUaGUgY29kZSBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgaXMgZnJvbSB2NGwyY2FtZXJhc3JjIGJ1dCBpcyB1bnVzZWQ6CgkgIGdldF9hbGxvd2VkX2lucHV0X2NhcHMgaXMgbm90IGNhbGxlZCBhbnl3aGVyZS4KCjIwMTEtMDctMjYgMDU6NTk6MDkgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogZG9uJ3QgdXNlIGNsYXNzIG9mZnNldHMgZm9yIHN0YXJ0L3N0b3AtY2FwdHVyZSBzaWduYWwgaGFuZGxlcnMKCjIwMTEtMDctMjYgMDU6NDM6MzQgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGRvY3VtZW50IHdoeSB3ZSBzZXQgcHJldmlldyB0byBQTEFZSU5HCgoyMDExLTA3LTI2IDA0OjQyOjQ5ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBkb2N1bWVudCBjYWxsYmFja3MKCSAgTm90ZSBmb3IgZWFjaCBjYWxsYmFjazoKCSAgLSB3aGVuIGl0IGlzIGNhbGxlZCwKCSAgLSB3aGV0aGVyIGl0IGlzIG1hbmRhdG9yeSBvciBvcHRpb25hbC4KCjIwMTEtMDctMjYgMDM6MDQ6NDcgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHByZXZpZXc6IHJlbW92ZSB1bnVzZWQgbmV3X3ByZXJvbGwgY2FsbGJhY2sKCjIwMTEtMDctMjggMTM6MTg6NTcgLTAzMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU3luY2hyb25pemUgY2xvY2sgYW5kIGJhc2UgdGltZSB0byBhdWRpb3NyYwoJICBXaGVuIGF1ZGlvIHNvdXJjZSBnb2VzIHRvIFJFQURZIGl0IGxvc2VzIGl0cyBjbG9jayBhbmQgYmFzZSB0aW1lLAoJICB0aGlzIHBhdGNoIHNldHMgdGhlbSBiYWNrIGFmdGVyIGJyaW5naW5nIHRoZSBhdWRpbyBzb3VyY2UgYmFjayB0byBQQVVTRUQuCgoyMDExLTA3LTI4IDEyOjU2OjEyIC0wMzAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFByZXZlbnQgYXVkaW8gc291cmNlIGZyb20gcHJvdmlkaW5nIGNsb2NrCgkgIFRoZSBhdWRpbyBzb3VyY2UgaW5zaWRlIGNhbWVyYWJpbjIgaXMgcHV0IHRvIFJFQURZIGFuZCBiYWNrIHRvCgkgIFBMQVlJTkcgd2hlbiBzdGFydGluZyBjYXB0dXJlLCBjYXVzaW5nIHRoZSBwaXBlbGluZSB0byBsb3NlIGl0cwoJICBjbG9jay4gQXMgY2FtZXJhYmluMiBpc24ndCBwdXQgdG8gUEFVU0VELT5QTEFZSU5HIGFnYWluIGR1cmluZwoJICB0aGlzLCBhIG5ldyBjbG9jayBpc24ndCBzZWxlY3RlZCBmb3IgZWxlbWVudHMuCgoyMDExLTA2LTMwIDExOjA5OjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBmbGFncyBwcm9wIHRvIHRvZ2dsZSBlbmNvZGViaW4gY29udmVyc2lvbiBlbGVtZW50cwoJICBBIGZsYWdzIHByb3BlcnR5IGhhcyBiZWVuIGFkZGVkIHRvIGVuY29kZWJpbiB0byB0b2dnbGUgd2hldGhlciB0aGUKCSAgY29udmVyc2lvbiBlbGVtZW50cyAoZmZtcGVnY29sb3JzcGFjZSwgdmlkZW9zY2FsZSwgYXVkaW9jb252ZXJ0LAoJICBhdWRpb3Jlc2FtcGxlLCBhdWRpb3JhdGUpIGFyZSBjcmVhdGVkIGFuZCBsaW5rZWQgaW50byB0aGUgYXBwcm9wcmlhdGUKCSAgYnJhbmNoZXMgb2YgZW5jb2RlYmluLgoJICBOb3QgaW5jbHVkaW5nIHRoZXNlIGVsZW1lbnRzIGF2b2lkcyBzb21lIHNsb3cgY2FwcyBuZWdvdGlhdGlvbiBhbmQKCSAgYWxsb3dzIHRoZSBmaXJzdCBidWZmZXJzIHRvIGZsb3cgdGhyb3VnaCBlbmNvZGViaW4gbXVjaCBtb3JlIHF1aWNrbHkuCgkgIEhvd2V2ZXIsIGl0IGltcG9zZXMgdGhhdCB0aGUgdW5jb21wcmVzc2VkIGlucHV0IGlzIGFwcHJvcHJpYXRlIGZvciB0aGUKCSAgdGFyZ2V0IHByb2ZpbGUgYW5kIGVsZW1lbnRzIHNlbGVjdGVkIHRvIG1lZXQgdGhhdCBwcm9maWxlLgoKMjAxMS0wNi0yOSAxNTozNTo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBQcmVwYXJlIGF1ZGlvc3JjIGJlZm9yZSBzdGFydC1jYXB0dXJlCgkgIElmIHdlIGJyaW5nIHRoZSBhdWRpbyBzb3VyY2UgdXAgdG8gdGhlIFBBVVNFRCBzdGF0ZSBiZWZvcmUgZW1pdHRpbmcgdGhlCgkgIHN0YXJ0LWNhcHR1cmUgc2lnbmFsIHRvIHRoZSBjYW1lcmEgc291cmNlLCB3aGVuIHN1YmVxdWVudGx5IHRha2luZyB0aGUKCSAgYXVkaW8gc291cmNlIHRvIHRoZSBQTEFZSU5HIHN0YXRlLCBpdCB3aWxsIGJlZ2luIGNhcHR1cmUgbW9yZSBxdWlja2x5LgoKMjAxMS0wNi0yOSAxNToxODo0NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSByZWR1bmRhbnQgZWxlbWVudHMKCSAgU2luY2UgY2FtZXJhYmluMiBoYXMgc3dpdGNoZWQgdG8gZW5jb2RlYmluIGFuZCBlbmNvZGViaW4gaGFzIGl0cyBvd24KCSAgcXVldWVzIGFuZCBjb252ZXJzaW9uIGVsZW1lbnRzLCB0aG9zZSBwcmVjZWRpbmcgZW5jb2RlYmluIGFyZSBubyBsb25nZXIKCSAgbmVjZXNzYXJ5IGFuZCBhcyBzdWNoIGNhbiBiZSByZW1vdmVkLgoKMjAxMS0wOC0wMiAxMjoyNDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRGVmaW5lIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAyIDExOjQyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzdWJtb2R1bGUKCjIwMTEtMDgtMDEgMTg6NDk6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVGFrZSBpbnRvIGFjY291bnQgdXBzdHJlYW0gbmV3c2VnbWVudCBldmVudHMKCSAgSWYgdGhlIGluY29taW5nIG5ld3NlZ21lbnQgZXZlbnQgd2FzIGluIHRpbWUsIHVzZSB0aGF0IHBvc2l0aW9uIHZhbHVlCgkgIGZvciB0aGUgZG93bnN0cmVhbSBuZXdzZWdtZW50cy4KCjIwMTEtMDgtMDEgMTg6NDg6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBTZW5kIE5FV1NFR01FTlQgZXZlbnRzCgkgIFByZXZpb3VzbHkgaGxzZGVtdXggd2Fzbid0IHNlbmRpbmcgb3V0IGFueSBuZXdzZWdtZW50LgoJICBIZXJlIHdlIHB1c2ggYSBHU1RfRk9STUFUX1RJTUUgbmV3c2VnbWVudCwgYW5kIHdoZW5ldmVyIHBvc3NpYmxlIHdlCgkgIHRyeSB0byBpbmRpY2F0ZSB0aGUgcHJvcGVyIHN0YXJ0IHRpbWUuCgkgIFRoaXMgYWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgdG8gcmVsYXkgdGhlIHN0YXJ0L3RpbWUgdmFsdWVzIHByb3Blcmx5CgkgIHRvIHRoZSBzaW5rcywgYWxsb3dpbmcgYmV0dGVyIHN0cmVhbSBzd2l0Y2hpbmcuCgoyMDExLTA4LTAxIDE1OjQ2OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSBwcm9ncmFtcyBvbiBFT1MKCSAgQWxsb3dzIHN1YmNsYXNzZXMgdG8gcHJvcGVybHkgZmx1c2ggb3V0IHBlbmRpbmcgZGF0YS4KCjIwMTEtMDgtMDEgMTA6NTQ6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmYWN0b3Igc3RyZWFtL3Byb2dyYW0gcmVtb3ZhbAoJICBUaGUgcHJvZ3JhbV9zdG9wcGVkIHZtZXRob2Qgd2FzIGNhbGxlZCBiZWZvcmUgc3RyZWFtX3JlbW92ZWQgdm1ldGhvZAoJICB3YXMgYmVpbmcgY2FsbGVkLiBTaW5jZSB3ZSBvbmx5IGRpZCBzdHJlYW0tcmVsYXRlZCBvcGVyYXRpb25zIGluIHRoZXJlLAoJICB3ZSBqdXN0IHJlbW92ZSB0aGUgcHJvZ3JhbV9zdG9wcGVkIHZtZXRob2QgYW5kIGRvIGV2ZXJ5dGhpbmcgaW4gdGhlCgkgIHN0cmVhbV9yZW1vdmVkIG9uZS4KCSAgQWxzbywgbWFrZSBzdXJlIHdlIGZsdXNoIG91dCBhbGwgcGVuZGluZyBkYXRhIGJlZm9yZSBzZW5kaW5nIEVPUy4KCjIwMTEtMDctMjggMTg6MjE6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFByZXZlbnQgc3RhY2sgZ2FyZGVuaW5nIGJ5IHVzaW5nIHRoZSByaWdodCB0eXBlCgkgIHN0cmVhbV90eXBlIGlzIHN0b3JlZCBhcyBndWludCBpbnNpZGUgdGhlIEdzdFN0cnVjdHVyZSBidXQgd2FzIHJldHJlaXZlZAoJICB1c2luZyB2YWxpc3Qgd2l0aCBhIHBvaW50ZXIgdG8gZ3VpbnQxNi4gVGhpcyB3b3VsZCBjYXVzZSBzdGFjayBnYXJkZW5pbmcKCSAgd2hlbiBjb2RlIGlzIGNvbXBpbGVkIHdpdGhvdXQgb3B0aW1pc2F0aW9uIChlLmcuIGluIC1PMCB0aGUgY29tcGlsZXIgd29udAoJICBwYWQgdGhlIHN0YWNrIHRvIG9wdGltaXNlIG91dCByZXF1aXJlZCBtYXNrKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTU0MAoKMjAxMS0wNy0yOSAyMToyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBmYWFkIHVuaXQgdGVzdAoKMjAxMS0wNy0yOSAxOTo0MzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDNtdXg6IHVzZSBub3ctcHVibGljIEdzdFRhZ011eCBiYXNlIGNsYXNzIGZyb20gbGliZ3N0dGFnCgoyMDExLTA3LTI4IDIwOjM4OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIHRhZ211eDogcmVxdWlyZSBzdWJjbGFzcyB0byBpbnN0YWxsIHNpbmsgcGFkIHRlbXBsYXRlCgkgIFJlcXVpcmUgdGhlIHN1YmNsYXNzIHRvIGluc3RhbGwgYm90aCBzb3VyY2UgYW5kIHNpbmsgcGFkCgkgIHRlbXBsYXRlcy4gQWxzbywgcHJpbnQgc29tZSB3YXJuaW5ncyBpZiB0aGUgc3ViY2xhc3MgZG9lc24ndAoJICBkbyB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NDM3CgoyMDExLTA3LTI3IDIyOjM0OjIzICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuaDoKCSAgZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0OiB0ZXN0IHRvb2wgd2hhdCBjYW4gdG8gZG8gZHluYW1pYyBjaGFuZ2UgcHJvcGVydGllcwoKMjAxMS0wNy0yNyAxODo1ODoxNSArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgbW90aW9uY2VsbHM6IG5ldyBlbGVtZW50IHRvIGRldGVjdCBhcmVhcyBvZiBtb3Rpb24KCjIwMTEtMDctMjYgMTc6MDI6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhzbGRlbXV4OiBIYW5kbGUgY2hhbmdlIG9mIG1lZGlhIHR5cGVzCgkgIFdoZW4gc3dpdGNoaW5nIGJpdHJhdGVzLCB3ZSBtaWdodCBlbmQgdXAgc3dpdGNoaW5nIHRvIGEgZGlmZmVyZW50CgkgIG1lZGlhLXR5cGUgKGxpa2UgZnJvbSBhYWMgdG8vZnJvbSBtcGVnLXRzKS4KCSAgRm9yIHRoaXMgc3dpdGNoIHRvIGJlaGF2ZSBwcm9wZXJseSBpbiBkZWNvZGViaW4yLCB0aGlzIHBhdGNoIGFkZHM6CgkgICogZHluYW1pYyBzb3VyY2UgcGFkcyAod2hpY2ggd2lsbCBiZSBhZGRlZC9yZW1vdmVkIHdoZW5ldmVyIGEgc3RyZWFtCgkgIG1lZGlhIHR5cGUgY2hhbmdlcwoJICAqIHJlLWNoZWNraW5nIHRoZSBmcmFnbWVudCBtZWRpYSB0eXBlIHdoZW5ldmVyIHdlIHN3aXRjaCB0byBhIGRpZmZlcmVudAoJICBwbGF5bGlzdAoKMjAxMS0wNy0yNiAxMzo0NzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gb2xkIGNvbXBpbGVycwoKMjAxMS0wNy0yNyAxMTowMjo0MSArMDEwMCAgT2xhZiBTZWliZXJ0IDxyaGlhbHRvQGF6ZW5vbWVpLmtudWZmZWwubmV0PgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHdyb25nIHVzYWdlIG9mIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvcyBhbmQgY29tcGlsYXRpb24gb24gTmV0QlNECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUzMTkKCjIwMTEtMDctMjcgMTA6NTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RwY2FwcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9wY2FwX3BhcnNlX2NoYWluJzoKCSAgZ3N0cGNhcHBhcnNlLmM6MzgxOjY6IGVycm9yOiAnZXRoX3R5cGUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj11bmluaXRpYWxpemVkXQoJICBnc3RwY2FwcGFyc2UuYzozNTQ6MTE6IG5vdGU6ICdldGhfdHlwZScgd2FzIGRlY2xhcmVkIGhlcmUKCjIwMTEtMDctMjYgMTk6MTE6MTYgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggU0xMIHBhcnNpbmcKCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBub3QgY2hlY2tpbmcgZm9yIGV0aGVybmV0IHR5cGUsIGFzIGl0J3Mgc3VwcG9zZWQgdG8sCgkgIGJ1dCBsaW5rIGxheWVyIGRldmljZSB0eXBlIGFuZCBpdCdzIGhhcmQtY29kZWQgdG8gb25seSBhY2NlcHQgZHVtcHMgZnJvbQoJICBldGhlcm5ldCAoQVJQSFJEX0VUSEVSOyAxKS4gV2UgZG9uJ3QgY2FyZSB3aGVyZSB0aGUgZHVtcCB3YXMgZmV0Y2hlZAoJICBmcm9tICh3bGFuLCAzRywgZXRjLikKCSAgV2hhdCB3ZSBjYXJlIGFib3V0IGlzIHRoZSB0aGF0IHRoZSBldGhlcm5ldCB0eXBlIGlzIElQIChFVEhFUk5FVF9JUDsKCSAgMHg4MDApLCB3aGljaCBpcyBjbGVhcmx5IGZpZWxkIDE0OgoJICBodHRwOi8vd3d3LnRjcGR1bXAub3JnL3BjYXAzX21hbi5odG1sCgkgIEFuZCBkbyBhIGJpdCBvZiBjbGVhbnVwLgoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDctMjEgMTM6MjY6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBGaXggc3RyZWFtL3BhZCBhY3RpdmF0aW9uIG9yZGVyCgkgIFdlIGZpcnN0IGFjdGl2YXRlIG5ldyBzdHJlYW1zIGJlZm9yZSBzaHV0dGluZyBkb3duIG9sZCBvbmVzLgoJICBXZSBlbWl0IG5vLW1vcmUtcGFkcyBhZnRlciB3ZSBhZGQgbmV3IHN0cmVhbXMgYW5kIGVtaXQgRU9TIGJlZm9yZQoJICByZW1vdmluZyBvbGQgb25lcy4KCSAgQWxzbyBjbGVhbnVwL3JlZmFjdG9yIGEgYml0IG1vcmUgb2YgdGhlIGNvZGUgYWNjb3JkaW5nbHkKCjIwMTEtMDctMjIgMTI6MjY6MDcgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBhZGQgbG9jYXRpb249TlVMTCBkb2NzIHRvIFBPUlRJTkcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTkxOAoKMjAxMS0wNy0yMiAxMTozODozMCArMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IElmIGxvY2F0aW9uIGlzIE5VTEwgZG8gbm90IGVuY29kZSBpbWFnZXMKCSAgVXNpbmcgYSBOVUxMIHN0cmluZyBmb3IgbG9jYXRpb24gbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24KCSAgZG9lc24ndCB3YW50IHRoZSBpbWFnZSB0byBiZSBlbmNvZGVkLCBidXQgd2FudHMgdG8gcmVjZWl2ZQoJICB0aGUgcHJldmlldyBpbWFnZS4gKE9ubHkgd29ya3MgZm9yIGltYWdlIGNhcHR1cmVzKQoJICBVc2VmdWwgZm9yIGFwcGxpY2F0aW9uIHRoYXQgd2FudCB0aGUgY2FwdHVyZSBpbiBtZW1vcnkgb25seSwgbGlrZQoJICBkaXNwbGF5aW5nIHRvIHRoZSB1c2VyIGJlZm9yZSBpdCBjaG9zZXMgdG8gZW5jb2RlIG9yIHRha2UgYW5vdGhlcgoJICBwaWN0dXJlIGluIGF2YXRhciBjYXB0dXJpbmcgc2NlbmFyaW9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxOTE4CgoyMDExLTA3LTIxIDA4OjA0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwODowMzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwODowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDU6NDQ6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWxsb3cgZmluaXNoaW5nIG9mIGZyYW1lcyB3aXRoIG5vIHNyY19idWZmZXIgdG8gZHJvcC9mcmVlIHRoZSBHc3RWaWRlb0ZyYW1lCgoyMDExLTA3LTIwIDA4OjM5OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgZ2V0IGNhcHMgZnJvbSB0aGUgc3ViY2xhc3MgaWYgdGhleSB3ZXJlIG5vdCBzZXQgeWV0IGJ5IHRoZSBzdWJjbGFzcwoKMjAxMS0wNy0yMCAwOToyNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEZWxheSBzZW5kaW5nIG9mIHNlcmlhbGl6ZWQgc2luayBldmVudHMgdW50aWwgZmluaXNoX2ZyYW1lKCkKCjIwMTEtMDctMjAgMDk6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRkIDo6cmVzZXQgdmZ1bmMgYW5kIGhhbmRsZSA6OnJlc2V0Lzo6ZmluaXNoIHRoZSBzYW1lIHdheSBhcyBpbiB0aGUgZGVjb2RlcgoKMjAxMS0wNy0yMCAxOToxNjowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHBlc3BhcnNlOiBGaXggc3R1ZmZpbmcgYnl0ZSBoYW5kbGluZwoJICBXZSBpbiBmYWN0IGdldCB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIChpbmNsdWRpbmcgc3R1ZmZpbmcgYnl0ZXMpLCB0aGVyZWZvcmUKCSAgdXNlIHRoYXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gc2tpcCAweGZmIGJ5dGVzIG91cnNlbHZlcyBzaW5jZSBzb21lIG1lZGlhCgkgIHN0cmVhbXMgZG8gc3RhcnQgd2l0aCAweGZmIChsaWtlIG1wZWcgYXVkaW8ncyBpbml0aWFsIDB4ZmZmKS4KCjIwMTEtMDctMTggMTQ6NTM6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICBGaXggY29tcGlsYXRpb24gZm9yIHVudXNlZCBidXQgbm90IHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTcyCgoyMDExLTA3LTIwIDA4OjU3OjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTE5IDEyOjUwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFVzZSBhIHRlbXBvcmFyeSBHc3RWaWRlb1N0YXRlIHVudGlsIHRoZSBzdWJjbGFzcyBhY2NlcHRlZCB0aGUgY2FwcwoJICBBbHNvIHN0b3JlIHRoZSBjYXBzIGluIHRoZSBHc3RWaWRlb1N0YXRlIGFuZCBhc3N1bWUgYSBQQVIgb2YgMS8xIGluc3RlYWQKCSAgb2YgMC8xIGlmIG5vIFBBUiBpcyBzcGVjaWZpZWQgaW4gdGhlIGNhcHMuCgoyMDExLTA3LTE5IDA5OjM2OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBBZGQgbW9yZSBjb21tZW50cyBhbmQgcmVtb3ZhbCB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDctMTkgMDk6MzY6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBBdm9pZCBkb3VibGUgcmVtb3ZhbCBvZiBzdHJlYW1zCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgUENSIHBpZCBpcyB0aGUgc2FtZSBhcyBhIGF1ZGlvL3ZpZGVvIFBJRC4KCjIwMTEtMDctMTkgMDk6MzQ6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlOiBBZGQgYSBHTGlzdCBvZiBzdHJlYW1zIHRvIHRoZSBwcm9ncmFtCgkgIEFsbG93cyBmYXN0ZXIgaXRlcmF0aW9uIG9mIGFsbCBwcm9ncmFtIHN0cmVhbXMuCgkgIFdlIHN0aWxsIGtlZXAgdGhlIEFycmF5IHRvIGFsbG93IGZhc3QgcmV0cmlldmFsIG9mIHN0cmVhbSBieSBQSUQuCgoyMDExLTA3LTE5IDA4OjQ1OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZTogVXNlIGEgYml0IGFycmF5IGluc3RlYWQgb2YgYW4gYXJyYXkgb2YgZ2Jvb2xlYW4KCSAgTWFrZXMga25vd19wc2kgYW5kIGlzX3BlcyAzMiB0aW1lcyBzbWFsbGVyCgoyMDExLTA3LTE5IDA4OjM3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNy0xOCAxNDoxNDozMSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGZpeCBoYXJtbGVzcyB0eXBvIGluIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NDAKCjIwMTEtMDctMTIgMTk6MDQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBhIGNoZWNrIG1hZGUgdXNlbGVzcyBieSB0aGUgbGFzdCBjb21taXQKCjIwMTEtMDctMTIgMTk6MDE6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFzc3VtZSBieXRlLXN0cmVhbSBpZiBzdHJlYW0tZm9ybWF0IGFuZCBjb2RlY19kYXRhIGFyZSBtaXNzaW5nIGZyb20gaW5wdXQgY2FwcwoKMjAxMS0wNy0wNiAyMzoyNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaWdub3JlIGNvZGVjX2RhdGEgaWYgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbQoJICBTb21lIGVuY29kZXJzIHNldCBjb2RlY19kYXRhIGV2ZW4gd2hlbiBvdXRwdXR0aW5nIGJ5dGUtc3RyZWFtLiBCZWZvcmUgdGhpcyBwYXRjaAoJICBoMjY0cGFyc2Ugd291bGQgaW5jb3JyZWN0bHkgZGV0ZWN0IHN1Y2ggc3RyZWFtcyBhcyBBVkMuCgoyMDExLTA3LTE4IDA5OjEyOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIHN0YW5kYWxvbmUgUEVTIHBhcnNlcgoKMjAxMS0wNy0xNyAxNDoxNzoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBtcGVndHNkZW11eDogQWRkIHN0YW5kYWxvbmUgUEVTIHBhcnNlcgoKMjAxMS0wNy0xNyAwOTo0OTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVnZGVmczogY2xhcmlmeSBzb21lIHN0cmVhbSBpZHMKCjIwMTEtMDctMTYgMTM6NTE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiB3aG9vcHMsIHRzZGVtdXggaXNuJ3QgcmVhZHkgeWV0IGZvciBwcmltYXJ5IHJhbmsgOikKCjIwMTEtMDctMTYgMTM6NDc6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IENsZWFudXBzIGFuZCBjb21tZW50cwoKMjAxMS0wNy0xNiAxMzo0NDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBuZXdzZWdtZW50IGNyZWF0aW9uIGZvciBwdXNoIG1vZGUKCSAgQW5kIGFsbCByZWxldmVudCBjb21tZW50cyB0byB3aGF0IGl0IHNob3VsZCBiZSBkb2luZywgcmVmYWN0b3IgZXZlcnl0aGluZwoJICBhIGJpdC4gU3RpbGwgbm90IHBlcmZlY3QgLi4uIGJ1dCBiZXR0ZXIuCgkgIEZpeGVzICM2NTQ2NTcKCjIwMTEtMDctMTUgMTI6MDg6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3RvcmUgaW5jb21pbmcgbmV3c2VnbWVudHMKCjIwMTEtMDctMTUgMjA6NTc6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgdGFnbXV4OiBjb25zdC1pZnkgR3N0VGFnTGlzdCBhcmd1bWVudCBvZiByZW5kZXIgdmZ1bmNzCgoyMDExLTA3LTE1IDIwOjM5OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIHRhZ211eDogZml4IHVwIHByaXZhdGUgYmFzZSBjbGFzcyBoZWFkZXIgc28gaXQgY2FuIGJlIG1hZGUgcHVibGljCgkgIE1vdmUgcHJpdmF0ZSBiaXRzIGludG8gYSBwcml2YXRlIHN0cnVjdCwgYWRkIHNvbWUgcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NTQzNwoKMjAxMS0wNy0xNSAxNjoxMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgY29yZS9iYXNlIGZyb20gZ2l0CgkgIFVwZGF0ZSByZXF1aXJlbWVudHMgYWZ0ZXIgb3V0LW9mLW9yZGVyIDAuMTAuMzUgcmVsZWFzZQoKMjAxMS0wNy0xMyAxNzoxNTozNiArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGZpeCBuYW1lIG9mICdpbWFnZS1kb25lJyBidXMgbWVzc2FnZQoJICBVc2UgdGhlIGNvcnJlY3QgYnVzIG1lc3NhZ2UgZm9yIGNhbWVyYWJpbjIgaW1hZ2UgZG9uZSBhbmQgcmVtb3ZlcwoJICBjaGVjayB0aGF0IGlzIG5vIGxvbmdlciBuZWVkZWQgZm9yIHRoZXNlIHRlc3RzLgoKMjAxMS0wNy0xNSAxMDowNDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHJlbmFtZSBvZmZzZXQgcHJvcGVydHkgdG8gdHMtb2Zmc2V0CgkgIC4uLiBzbyBhcyB0byBwcm9tb3RlIGNvbnNpc3RlbmN5IHdpdGggc29tZSBvdGhlciBlbGVtZW50cyBpbiB0aGUgd2lsZC4KCjIwMTEtMDctMTQgMTk6MzA6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogZml4IHNvbWUgdmFyaWFibGUtc2V0LWJ1dC11bnVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTUgMDA6MDM6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogYWN0dWFsbHkgc2V0IHNlZW5fcGF0PVRSVUUgd2hlbiB3ZSBzZWUgYSBQQVQKCjIwMTEtMDYtMjYgMjA6MzI6NTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGltcGxlbWVudCBVUkkgcXVlcnkKCjIwMTEtMDctMTQgMjI6MDg6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTcGxpdCB1cCB3aGV0aGVyIHdlIHNhdyBhIFBBVCBhbmQgaXRzIG9mZnNldAoJICBGaXhlcyB0aGUgaXNzdWUgd2l0aCBzdHJlYW1zIHRoYXQgZG9uJ3Qgc2V0IGFuIG9mZnNldCBvbiB0aGVpciBidWZmZXJzLAoJICBsaWtlIHRob3NlIGNvbWluZyBmcm9tIGhsc2RlbXV4LgoJICBGaXhlcyAjNjUzNDgxCgoyMDExLTA3LTE0IDE3OjA2OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcHJvcGVybHkgYXBwbHkgdHMgb2Zmc2V0CgoyMDExLTA3LTE0IDE2OjUwOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogb3B0aW9uYWxseSBvdXRwdXQgcmVsYXRpdmUgdGltZXN0YW1wcywgcG9zc2libHkgc2hpZnRlZCBieSBvZmZzZXQKCSAgVGhhdCBpcywgb3V0cHV0IHRpbWVzdGFtcHMgY2FuIHRoZW4gZWl0aGVyIGJlIHRoZSBhYnNvbHV0ZSBjYXB0dXJlIHRpbWUsCgkgIG9yIHRoZSByZWxhdGl2ZSBjYXB0dXJlIHRpbWUgKHcuci50LiB0byBmaXJzdCBvdXRwdXQgYnVmZmVyKSwgb3IgdGhlIHJlbGF0aXZlCgkgIGNhcHR1cmUgdGltZSBpbmNyZW1lbnRlZCBieSBzb21lIG9mZnNldC4KCjIwMTEtMDctMTQgMTY6NDA6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBhbHNvIHN1cHBvcnQgZXh0cmFjdGluZyB0Y3AgZGF0YQoKMjAxMS0wNy0xNCAxNDozNzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBzb21lIG1vcmUgdW5pdCB0ZXN0IGJpbmFyaWVzIHRvIC5naXRpZ25vcmUKCjIwMTEtMDctMTMgMTM6NDQ6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgZG9jczogUmV2ZXJ0IHdyb25nbHkgY29tbWl0dGVkIGNoYW5nZXMgdG8gLmFyZ3MvLmhpZXJhcmNoeQoKMjAxMS0wNy0xMyAxMzo0MjowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogUmVzdG9yZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgYXMgY29tbWVudHMKCjIwMTEtMDctMTMgMTM6Mzk6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogUmVzdG9yZSBlcnJvbmVvdXNseSByZW1vdmVkIGRhdGErKwoJICBBbHNvLCBwdXQgYmFjayBzb21lIHVudXNlZCBjb2RlIGluIGNvbW1lbnQgYW5kIHJlcGxhY2UgLy8gY29tbWVudHMgYnkgLyogKi8KCjIwMTEtMDctMTMgMTM6Mzg6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBSZXN0b3JlIGVycm9uZW91c2x5IHJlbW92ZWQgZGF0YSsrCgkgIEFsc28sIHB1dCBiYWNrIHNvbWUgdW51c2VkIGNvZGUgaW4gY29tbWVudCBhbmQgcmVwbGFjZSAvLyBjb21tZW50cyBieSAvKiAqLwoKMjAxMS0wNy0xMyAxMDo0MjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBGaXggY29tcGlsYXRpb24gYW5kIHNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTMgMTA6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogRml4IGNvbXBpbGF0aW9uIGJ5IGluY2x1ZGluZyB0aGUgbmV3IGdzdGJhc2V2aWRlb3V0aWxzLmggaGVhZGVyIGFuZCBmaXhpbmcgc29tZSBzZXQgYnV0IG5vdCB1c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjIyOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgZXhhbXBsZXMvY2FtZXJhYmluOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MjA6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMms6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxODozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJlc2luZHZkOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTY6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxMzo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBkdmI6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxMDo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDk6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJICB0dGE6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowODoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSAgc2RpOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDU6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowMzo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogUmVqZWN0IHVua25vd24gYml0c3RyZWFtIHZlcnNpb25zCgoyMDExLTA3LTEyIDE3OjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTc6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1NjoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjUzOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggdW51c2VkLWJ1dC1zZXQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB1bnVzZWQtYnV0LXNldCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAwMToxODoxNiArMDUzMCAgU2FtZWVyIE5haWsgPHNhbWVlci5zdWJzY3JpcHRpb25zQGRhbWFnZWhlYWQuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggc2VnZmF1bHQgaWYgZ3N0X2NvbGxlY3RfcGFkc19wb3AgKCkgcmV0dXJucyBubyBidWZmZXIKCSAgSW4gbXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSAoKSBjYWxsIGlmIHRoZSBnc3RfY29sbGVjdF9wYWRzX3BvcCAoKSBjYWxsCgkgIHJldHVybnMgbm8gYnVmZmVyIChOVUxMKSwgdGhlIHBsdWdpbiBTZWdGYXVsdHMgaW4gdGhlIGdzdF9idWZmZXJfdW5yZWYgY2FsbC4KCSAgVG8gZml4IHRoaXMgd2UgY2hlY2sgaWYgYSB2YWxpZCBidWZmZXIgaXMgcmV0dXJuZWQgYmVmb3JlIGNhbGxpbmcKCSAgZ3N0X2J1ZmZlcl91bnJlZiAoKS4KCSAgRml4ZXMgYnVnICM2NTQ0MTYuCgoyMDExLTA3LTExIDEyOjU5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpcnN0IGluZm9ybSBzdWJjbGFzcyBhYm91dCByZXNldHRpbmcgYmVmb3JlIHJlc2V0dGluZy9mcmVlaW5nIGFsbCBpbnRlcm5hbCBzdGF0ZQoJICBUaGUgc3ViY2xhc3MgbWlnaHQgd2FudCB0byBhY2Nlc3MgdGhlIG9sZCBzdGF0ZS4KCjIwMTEtMDctMTEgMTI6MzY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVHJhY2sgcHJlc2VudCBwb3NpdGlvbiBvbiBkaXNjb250IGJlZm9yZSByZXNldHRpbmcgaXQKCjIwMTEtMDctMTEgMTE6NTI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogQWxzbyBwcm90ZWN0IHRoZSBsaXN0IG9mIHBlbmRpbmcgZnJhbWVzIGZyb20gY29uY3VycmVudCBhY2Nlc3Mgd2hlbiBwdXNoaW5nIGFsbCBwZW5kaW5ncyBldmVudHMKCjIwMTEtMDctMTEgMTE6Mjg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogUHJvdGVjdCBhY2Nlc3MgdG8gdGhlIGxpc3Qgb2YgcGVuZGluZyBmcmFtZXMgd2l0aCB0aGUgb2JqZWN0IGxvY2sKCSAgVGhpcyBpcyByZXF1aXJlZCBpZiA6OmZpbmlzaF9mcmFtZSgpIGFuZCBhbGwgYnVmZmVyIG91dHB1dCBoYXBwZW5zCgkgIG9uIGEgZGlmZmVyZW50IHRocmVhZCB0aGFuIHRoZSBzaW5rcGFkIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA3LTExIDA5OjM1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFNldCB0aGUgY29ycmVjdCBsaXN0cyB0byBOVUxMIGFmdGVyIGZyZWVpbmcKCjIwMTEtMDctMTEgMDg6NTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogV29yayB3aXRoIGEgY29weSBvZiB0aGUgR3N0VmlkZW9TdGF0ZSBpbiBzZXRjYXBzIHVudGlsIHRoZSBjYXBzIGFyZSBhY2NlcHRlZAoJICBBbHNvIGZpeCBhIHJlZmNvdW50IHByb2JsZW0gd2l0aCB0aGUgY29kZWNfZGF0YS4KCjIwMTEtMDctMDkgMTE6NDA6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgdGhlIHV0aWxzIGZyb20gdGhlIGNvZGVjIGhlYWRlciB0byBpdHMgb3duIGhlYWRlcgoKMjAxMS0wNy0wOSAxMTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBkZXN0cm95IG5vdGlmeSB0byBmcmVlIHRoZSBjb2RlciBob29rCgoyMDExLTA3LTA5IDExOjA5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgR3N0VmlkZW9GcmFtZSBhbmQgZG9uJ3QgZHVwbGljYXRlIGNvZGUgaW4gdGhlIGRlY29kZXIgYmFzZSBjbGFzcwoKMjAxMS0wNi0yOCAxMTo0NzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IHJlb3JkZXIgc2VyaWFsaXplZCBzcmMgZXZlbnRzCgkgIEFuZCBhbGxvdyB0byBkcm9wIEVPUyBieSB0aGUgc3ViY2xhc3MgaWYgOjpmaW5pc2ggcmV0dXJucwoJICBEUk9QUEVELiBUaGlzIHJlcXVpcmVzIHRoYXQgdGhlIHN1YmNsYXNzIHNlbmRzIEVPUyBtYW51YWxseSBsYXRlci4KCSAgRml4ZXMgYnVnICM2NTM1NDQuCgoyMDExLTA2LTI3IDA5OjQxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgdGhlIGNhcHMgdG8gdGhlIEdzdFZpZGVvU3RhdGUgYW5kIGNsZWFuIHVwIGNhcHMvY29kZWNfZGF0YSBwcm9wZXJseQoJICBIYXZpbmcgYWNjZXNzIHRvIHRoZSBjYXBzIGluIDo6c2V0X2Zvcm1hdCBjYW4gYmUgdXNlZnVsIGlmCgkgIG5vbi1zdGFuZGFyZCBjYXBzIGZpZWxkcyBsaWtlIHRoZSBoMjY0IGFsaWdubWVudCBtdXN0IGJlIGFjY2Vzc2VkLgoKMjAxMS0wNy0wOSAxMDo1Nzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGRlc3Ryb3kgbm90aWZ5IGZvciB0aGUgY29kZXJfaG9vayB0byBwcmV2ZW50IG1lbW9yeSBsZWFrcwoJICBGaXhlcyBidWcgIzY1NDI5My4KCjIwMTEtMDctMDggMTE6NTI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogUHJvcGVybHkgcmV0dXJuIHNlZWtpbmcgZXJyb3JzIGlmIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24gY2FuJ3QgYmUgZm91bmQKCjIwMTEtMDctMDcgMTY6MDA6NDQgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlci8uZ2l0aWdub3JlOgoJICBpbnRlcjogYWRkIGlnbm9yZSBmaWxlIGZvciBpbnRlcm1lZGlhdGUgZmlsZXMKCjIwMTEtMDctMDcgMTU6NTk6MDUgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkgIGRvY3M6IGFkZCBjYW1lcmFiaW4yIHRvIHRoZSBkb2NzIGFuZCB1cGRhdGUgdGhlIGRvYyBmaWxlcwoKMjAxMS0wNy0wNyAxNTo1NTo1OSAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IG1lc3Mgd2l0aCBjYW1lcmFiaW4gKDEpIG5hbWVzcGFjZQoJICBVc2UgYW4gZXh0cmEgJzInIHRvIHN0YXkgb3V0IG9mIHRoZSBvbGQgbmFtZXNwYWNlLgoKMjAxMS0wNy0wNyAxMToxMTo0MiAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczoga2VlcCBzZWN0aW9uIGZpbGUgc29ydGVkCgoyMDExLTA3LTA3IDEwOjUyOjUwIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGltcHJvdmUgdGhlIGRvY3MKCSAgRml4IHRoZSBzeW50YXgsIGFkZCBtb3JlIGV4cGxhbmF0aW9uIGFuZCB4cmVmIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMS0wNi0wNSAwMDo1NDoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBkdXBsaWNhdGUgZnJvbSBDRUxUCgkgIENvcHkgdGhlIGNlbHQgcGx1Z2luIGFuZCBjb252ZXJ0IGl0IHRvIE9wdXMuICBNb3N0bHkgd29ya3MuCgoyMDExLTA3LTA2IDE1OjU2OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBIRCBtb2RlcyBhcmUgc3F1YXJlIHBpeGVscwoKMjAxMS0wNy0wNSAxMDoxOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJIHRvIHRoZSBjb21waWxlciBmbGFncyB0byBhdm9pZCB3YXJuaW5ncwoKMjAxMS0wNy0wNCAxNjoxODoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkgIGRpcmFjcGFyc2U6IG1ha2UgZGlyYWNwYXJzZSB3b3JrIGNvcnJlY3RseQoKMjAxMS0wNy0wMyAxODozMjozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcHJvcGVybHkgc2V0IHVwIGFuYWxvZyBpbnB1dAoKMjAxMS0wNi0yOCAyMzo0NzoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBtb3JlIG1vZGVzCgoyMDExLTA2LTAzIDE5OjQxOjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBuZXcgaW50ZXJtZWRpYXRlIHN1cmZhY2UgcGx1Z2luCgkgIFRoaXMgc2V0IG9mIGVsZW1lbnRzIGFsbG93cyBlYXNpbHkgcmVuZGVyaW5nIGF1ZGlvIGFuZCB2aWRlbyB0bwoJICBhbiBpbnRlcm1lZGlhdGUgc3VyZmFjZSB0aGF0IGlzIHRoZW4gdXNlZCBhcyBhIHNvdXJjZSBpbiBhIGRpZmZlcmVudAoJICBwaXBlbGluZS4KCjIwMTEtMDYtMTggMTU6NTE6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIEpQRUcgWUNiQ3IgbWF0cml4CgoyMDExLTA2LTE4IDE1OjU2OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdXBkYXRlIGZvciBuZXcgbGlidnB4IGFwaQoKMjAxMS0wNi0yNiAxOToyOToyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IEZpeCBidWZmZXIgZHVyYXRpb24KCjIwMTEtMDYtMjYgMTU6MTU6NTQgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZ2VuZXJhdGUgYSB0aW1lc3RhbXAgZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBJdCB3aWxsIGZpeCBoYW5kbGluZyBvZiBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyBzaW5jZSBtYXRyb3NrYS1tdXgKCSAgZHJvcCBhbnkgZnJhbSB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgc2VlIGFsc286CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvY29udGFpbmVyLwoJICBUaGUgZW5jb2RlciB3aWxsIGN1cnJlbnRseSBzZXQgdGhlIEFSJ3MgdGltZXN0YW1wIGFzIGNsb3NlIGFzIHBvc3NpYmxlCgkgIHRvIHRoZSBwcmV2aW91cyBmcmFtZSB3aGlsZSBhdHRlbXB0aW5nIHRvIHByb3ZpZGUgYSB0aW1lc3RhbXAgdGhhdCBpcwoJICBzdHJpY3RseSBpbmNyZWFzaW5nLiBJbiBjYXNlcyB3aGVyZSB0aGUgdGltZSBiYXNlIGdpdmVuIHRvIHRoZSBlbmNvZGVyCgkgIGF0IGNvbmZpZ3VyZSB0aW1lIGlzIG5vdCBncmFudWxhciBlbm91Z2ggdG8gYWxsb3cgZm9yIHRoaXMgdGhlIEFSCgkgIHdpbGwgc2hhcmUgdGhlIHNhbWUgdGltZXN0YW1wIGFzIEQsIGJ1dCBzaG91bGQgYmUKCSAgdHJlYXRlZCBhcyBoYXZpbmcgbm8gZHVyYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjUyOTUxCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMjUgMjM6NTU6MjggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB3aW5pbmV0OiBGaXggY29uZmlndXJlIGNoZWNrIGJ5IGluY2x1ZGluZyB3aW5kb3dzLmgKCSAgRml4ZXMgYnVnICM2NTMxNjEuCgoyMDExLTA2LTA3IDEzOjU1OjM4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIG1ha2VmaWxlcwoJICBGaXhlcyBidWcgIzY1MjAzNS4KCjIwMTEtMDYtMjUgMTU6MTI6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGE6IGRlY3JlYXNlIHJhbmsgdG8gTk9ORQoJICBBcHBlYXJzIHRvIGJlIHV0dGVybHkgaW5jYXBhYmxlIG9mIHBhcnNpbmcgYW5kIGRlY29kaW5nIFRUQSBzdHJlYW1zLgoJICBIYXNuJ3QgYmVlbiB1cGRhdGVkIHRvIGRvIFRUQTIuICBJZiB5b3Ugd2FudCB0aGlzIGVsZW1lbnQgdG8gd29yaywKCSAgZml4IHRoZSBibG9vZHkgdGhpbmcuICBUaGUgZ3N0LWZmbXBlZyBkZWNvZGVyIHdvcmtzIGZpbmUuCgkgIEFsc28gZml4ZWQgYW4gb2J2aW91cyBlbmRpYW5uZXNzIGlzc3VlIGFsb25nIHRoZSB3YXkuCgkgIEZpeGVzOiAjNjUyOTI0CgoyMDExLTA2LTE4IDE3OjQ3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGFkZCBjaGVjayBpZiB3ZSBoYXZlIGxlZ2FsIGFzcGVjdC1yYXRpbyBiZWZvcmUgcmVzZXQgaXQuCgkgIHRoZSBjb21taXQgZjliNTUyZjA0OTRlICh2cDhkZWM6IHNldCBwYXIgdG8gMS8xKQoJICB3aWxsIGZpeCBzaXR1YXRpb24gd2hlcmUgbm8gYXNwZWN0LXJhdGlvIGlzIHNldCwgYnV0IGl0IGJyYWtlCgkgIHN0cmVhbSB3aXRoIGF2YWlsYWJsZSBhc3BlY3QtcmF0aW8uIFRoaXMgcGF0Y2ggZml4IGl0LgoJICBGaXhlczogIzY1MjkwMi4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0yMyAyMDoxMTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IHVzZSBHTGliIDIuMjggQVBJCgkgIERvbid0IHVzZSBHTGliIDIuMjggQVBJLCB3ZSBzdGlsbCBvbmx5IHJlcXVpcmUgPj0gMi4yNC4KCjIwMTEtMDYtMjMgMTE6Mjg6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2OWI5ODFmIHRvIDYwNWNkOWEKCjIwMTEtMDYtMjIgMjI6MjU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgdGFnc2V0dGVycyB0byBtZXJnZSByZXBsYWNlIG1vZGUKCSAgVGhlIGRlZmF1bHQgZm9yIHRhZ3NldHRlcnMgaXMgdG8gdXNlIG1lcmdlIGtlZXAgbW9kZSwgc28gdGFncwoJICB3b3VsZCBuZXZlciBiZSByZXBsYWNlZCBhbmQgYWxsIGNhcHR1cmVzIHdvdWxkIGhhdmUgdGhlIHNhbWUgdGFncy4KCSAgVGhpcyBjb21taXQgd2F0Y2hlcyBhbGwgZWxlbWVudHMgYWRkZWQgaW50byBlbmNvZGViaW4gYW5kIHNldHMKCSAgYWxsIHRhZ3NldHRlcnMgdG8gbWVyZ2UgcmVwbGFjZSBtb2RlCgoyMDExLTA2LTIyIDE4OjU4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBhIHNpbmdsZSBsb2NhdGlvbiBmb3IgYm90aCBtb2RlcwoJICBJbXBsZW1lbnQgdGhlIGxvY2F0aW9uIHByb3BlcnR5IGp1c3QgbGlrZSBpdCB3b3JrcyBpbiBjYW1lcmFiaW4sIHRoZQoJICBzYW1lIGxvY2F0aW9uIGlzIHVzZWQgZm9yIGJvdGggaW1hZ2VzIGFuZCB2aWRlb3MKCjIwMTEtMDYtMjIgMTY6Mjc6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFNlbmQgc2VyaWFsaXplZCBjdXN0b20gZXZlbnRzIGZvciBmaWxlbmFtZSBjaGFuZ2VzIGluIGltYWdlIHNpbmsKCSAgVXNpbmcgc2VyaWFsaXplZCBjdXN0b20gZXZlbnRzIGZvciBzd2l0Y2hpbmcgaW1hZ2UgY2FwdHVyZSBzYXZpbmcKCSAgbG9jYXRpb24gbWFrZXMgY2FtZXJhYmluMiBzYXZlIGVhY2ggY2FwdHVyZSBjb3JyZWN0bHkgdG8gdGhlIGxvY2F0aW9uCgkgIHRoYXQgd2FzIHNldCBkdXJpbmcgdGhlIG1vbWVudCBzdGFydC1jYXB0dXJlIHdhcyBjYWxsZWQsIGFuZCBub3QKCSAgdGhlIG1vbWVudCB0aGUgZmlsZXNpbmsgd2FzIHdyaXRpbmcgdG8gZGlzay4KCSAgVGhpcyBwcmV2ZW50cyBjYXB0dXJlcyB0byBiZSBvdmVyd3JpdGVuIGJ5IHJhY3luZXNzIGFtb25nIHN0YXJ0LWNhcHR1cmUKCSAgYW5kIHNldHRpbmcgbG9jYXRpb24gZm9yIGltYWdlcy4KCjIwMTEtMDYtMjIgMTU6NTY6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBObyBuZWVkIHRvIGNoYW5nZSBzdGF0ZSBvZiB0aGUgd2hvbGUgaW1hZ2UgYnJhbmNoCgkgIFdlIG9ubHkgbmVlZCB0byBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBmaWxlc2luayB0byBzd2l0Y2ggaXRzCgkgIHNhdmluZyBsb2NhdGlvbi4gVGhpcyBtaWdodCBzdGlsbCBjYXVzZSBzb21lIHByb2JsZW1zIG9mIGRyb3BwaW5nCgkgIGNhcHR1cmVkIGJ1ZmZlcnMsIGJ1dCBpdCBpcyBiZXR0ZXIgdGhhbiBjaGFuZ2luZyB0aGUgc3RhdGUgb2YKCSAgdGhlIHdob2xlIGJyYW5jaC4KCjIwMTEtMDYtMjIgMTU6Mzc6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgbmFtZXMgZm9yIGltYWdlIGFuZCB2aWRlbyBlbmNvZGViaW4KCSAgTmFtaW5nIGVuY29kZWJpbnMgYXMgaW1hZ2UtZW5jb2RlYmluIGFuZCB2aWRlby1lbmNvZGViaW4gdG8gbWFrZQoJICBpdCBlYXNpZXIgZm9yIGRlYnVnZ2luZyBjYW1lcmFiaW4yLgoKMjAxMS0wNi0xNyAxNzoyNjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNi0xNyAxNDozMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIG5ldyB0ZXN0IHRvIGNoZWNrIGltYWdlIGxvY2F0aW9uIGNvcnJlY3RuZXNzCgkgIFRoaXMgbmV3IHRlc3QgY2hlY2tzIHRoYXQgaW1hZ2VzIGFyZSBzYXZlZCB3aXRoIHRoZSBmaWxlbmFtZSBzZXR0aW5nCgkgIG9uIGxvY2F0aW9uIG9uIHRoZSBtb21lbnQgb2YgdGhlIHN0YXJ0LWNhcHR1cmUKCjIwMTEtMDYtMTUgMDg6MjA6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNaW5vciBkZWJ1ZyBtZXNzYWdlIGZpeAoKMjAxMS0wNS0xMyAxMToyNToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEFkZHMgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnQgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIHBlcmZvcm1hbmNlICh0aW1pbmcpIG1lYXN1cmUgZmVhdHVyZSB0byBnc3QtY2FtZXJhYmluMi10ZXN0LCBpdCBhbGxvd3MKCSAgdXNlcnMgdG8gc3BlY2lmeSBzb21lIHRhcmdldCB2YWx1ZXMgZm9yIGNvbW1vbmx5IG1lYXN1cmVkIHRpbWVzIGFuZCB0aGUKCSAgYXBwbGljYXRpb24gd2lsbCBwcmludCBvdXQgYSB0YWJsZSBvZiB2YWx1ZXMgYXQgdGhlIGVuZCBvZiBpdHMgZXhlY3V0aW9uCgkgIHdpdGggdGhlIG1lYXN1cmVkIHRpbWVzIGFuZCBhdmVyYWdlcyBvZiB0aGVtLgoKMjAxMS0wNi0yMiAxMDoxMzozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGNyZWF0ZSBjb3JyZWN0IGF2YyBjb2RlYy1kYXRhCgkgIEZpeGVzICM2NTMwMTMuCgoyMDExLTA2LTIxIDEyOjQ1OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogZml4IG91dHB1dCBjYXBzIGFsaWdubWVudCBmb3IgYXZjIGlucHV0CgkgIC4uLiBwYXJ0aWN1bGFybHkgd2hlbiBzcGxpdHRpbmcgcGFja2V0aXplZCBpbnB1dC4KCSAgRml4ZXMgIzY1Mjk5NS4KCjIwMTEtMDYtMjEgMTI6NDM6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdmMgaW5wdXQgbXVzdCBlaXRoZXIgcGFzcy10aHJvdWdoIG9yIGJlIHNwbGl0IGludG8gYnl0ZXN0cmVhbSBjaHVua3MKCSAgLi4uIHNpbmNlIHBhcnNpbmcgY29kZSBpcyBub3QgbWVhbnQgdG8gcmVjZWl2ZSBhdmMgZGF0YS4KCSAgRml4ZXMgIzY1MzA4Ny4KCjIwMTEtMDYtMjEgMTI6NDE6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBib2d1cyBmcmFtZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA2LTIwIDEyOjQ3OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkgIGRlY2tsaW5rOiB1cGRhdGUgRGVja0xpbmsgQVBJIHdyYXBwZXJzCgoyMDExLTA2LTIwIDAwOjM4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBjb25uZWN0aW9uIHR5cGUKCjIwMTEtMDYtMDUgMjE6MTk6NTggLTA3MDAgIFJhZmFlbCBEaW5peiA8cmFmYWVsQHJpc2V1cC5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogQWRkIGF1ZGlvIHN1cHBvcnQKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDIxOjI0OjU4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHZhcmlvdXMgZmVhdHVyZXMKCSAgQmV0dGVyIG1vZGUgc3VwcG9ydCwgaW5wdXQgc291cmNlIHByb3BlcnR5LCBhdWRpbyBzdXBwb3J0LgoKMjAxMS0wNi0wNSAyMToyNDozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkgIGRlY2tsaW5rOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDYtMDUgMjE6MTc6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVpbmRlbnQKCjIwMTEtMDYtMTcgMTY6MTI6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogb25seSBmcmVlIHRoZSBpbmRleCBhcnJheSBpZiBpdCBleGlzdHMKCSAgT25seSBmcmVlIHRoZSBhcnJheSBpZiBpdCBleGlzdHMuCgkgIENvbnRhaW5zIGFuIHVucmVsYXRlZCBpbmRlbnRhdGlvbiBmaXgsIGNvdXJ0ZXN5IG9mIGdzdC1pbmRlbnQKCjIwMTEtMDYtMTggMDE6MTE6MDUgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgdXBkYXRlIGRvY3MgZ2VuZXJhdGVkIGZpbGVzCgoyMDExLTA2LTE4IDAxOjA5OjUxICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgUlRNUDogYWRkIHJ0bXBzaW5rIGVsZW1lbnQgZm9yIG91dHB1dCB0byBhbiBSVE1QIHNlcnZlcgoKMjAxMS0wNi0xNiAxNzoxNzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IGFkZCBjb2xvcnNwYWNlIHVuaXQgdGVzdAoJICBDb21wYXJlcyBjb2xvcnNwYWNlIHJlc3VsdCB3aXRoIGZmbXBlZ2NvbG9yc3BhY2Ugb3V0cHV0IHVzaW5nIFNTSU0uCgkgIEFsc28gcHJvYmVzIGZvciBwb3NzaWJsZSBjcmFzaGVzIGZvciBvZGQgd2lkdGggYW5kIGhlaWdodCBpbWFnZSBieSBhcHBseWluZwoJICBhbGwgcG9zc2libGUgY29sb3JzcGFjZSB0cmFuc2Zvcm1hdGlvbnMuCgoyMDExLTA2LTE3IDEyOjEwOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJICBkZWJ1Z3V0aWxzOiBhZGQgY29tcGFyZSBlbGVtZW50CgoyMDExLTA2LTE1IDE4OjIwOjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IG9kZCB3aWR0aCBhbmQgaGVpZ2h0IGhhbmRsaW5nIGluIHNvbWUgZmFzdHBhdGggY2FzZXMKCjIwMTEtMDYtMTYgMTk6MDY6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBJbXByb3ZlIGRvY3VtZW50YXRpb24gb2YgaW50ZXJuYWwgc2htcGlwZQoKMjAxMS0wNi0xNSAxNjozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLnZjcHJvajoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIE1vdmVkICdjb2xvcnNwYWNlJyBmcm9tIC1iYWQgdG8gLWJhc2UKCjIwMTEtMDYtMTUgMTY6MDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgYW5kcm9pZC9hYWNwYXJzZS5tawoJICBhbmRyb2lkL2FtcnBhcnNlLm1rCgkgIGFuZHJvaWQvaDI2NHBhcnNlLm1rCgkgIGFuZHJvaWQvbWV0YWRhdGEubWsKCSAgYW5kcm9pZC9xdG11eC5tawoJICBhbmRyb2lkL3NkcGVsZW0ubWsKCSAgY29uZmlndXJlLmFjCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wNi0xMyAxMToxMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXRzcmM6IGRvbid0IHVzZSBHX0NPTlNUX1JFVFVSTgoJICBJdCdzIGdvaW5nIHRvIGJlIGRlcHJlY2F0ZWQgcmVhbGx5IHNvb24uCgoyMDExLTA2LTEyIDEyOjU1OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFNwZWVkIHVwIHRoZSBzdGFydCBjb2RlIHNlYXJjaCBhbGdvcml0aG0KCSAgQmFzZWQgb24gOTZhN2Y5YzhiMTE5NTEyOWYwYzIxNTdjYmJjYmFhNmNhYjQ1MDU2ZQoJICBNYWtlcyBpdCAzLTQgdGltZXMgZmFzdGVyCgoyMDExLTA2LTEyIDEyOjQwOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBzaW5rIHBhZCB0ZW1wbGF0ZQoJICBubyB3b25kZXIgaXQgd2FzIG5ldmVyIHBpY2tlZCB1cCAuLi4KCjIwMTEtMDYtMTIgMTE6Mjc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBmcmVlIHVuZXhpc3RlbnQgUEFUCgkgIEFuZCBjbGVhbnVwIGZpbmRfdGltZXN0YW1wcyBhIGJpdAoKMjAxMS0wNS0xOCAxOTozMzo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1vcmUgZml4ZXMgdG8gaGFuZGxlIG5vbi0xODggYnl0ZSBwYWNrZXRzCgoyMDExLTA1LTE1IDE0OjA0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0czogU3RvcCBzY2FubmluZyBmb3Iga2V5ZnJhbWVzIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgoyMDExLTAzLTMxIDE0OjM2OjAyICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWx3YXlzIHRyeSB0byBzZWVrIGZvciB0byBhIGtleWZyYW1lCgkgIGtleWZyYW1lIGlzIGV4cGVjdGVkIHRvIGxpZSBpbiB0aGUgdGhlIG5leHQgfjI1MDAgbXMKCjIwMTEtMDMtMjMgMTg6NTA6MjUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggdGltZXN0YW1wcyBpbiBuZXdzZWdlbWVudCBldmVudCBhZnRlciBzZWVraW5nCgoyMDExLTAzLTMwIDExOjI2OjE4ICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHBheWxvYWQgcGFyc2luZyBmb3IgSC4yNjQKCjIwMTEtMDMtMjggMTA6MjA6NDMgKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBpbXBsZW1lbnQga2V5X3VuaXQgc2Vla2luZyBmb3IgTVBFRzIgdmlkZW8KCjIwMTEtMDMtMjIgMTY6NDk6MTMgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhY2N1cmF0ZSBzZWVraW5nCgkgICogcGVzIGhlYWRlciBwYXJzaW5nIGZvciBwdHMgaXMgdWdseSwgcmVmYWN0b3IKCSAgKiB0aW1lc3RhbXBzL25ld3NlZ21lbnQgYWZ0ZXIgc2Vla2luZyBpcyBzdGlsbCBvZmYKCjIwMTEtMDItMjIgMTI6MzM6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBwdXNoIGJhc2VkIHNlZWtpbmcgYmFzZWQgb24gUENSCgkgIGJ1ZmZlciB0aW1lc3RhbXBzIGFyZSBjb252ZXJ0ZWQgdG8gR3N0Q2xvY2tUaW1lIHRvIGNvdmVyIHBjci9wdHMgd3JhcHMuCgkgIG11bHRpcGxlIHBjci9wdHMgd3JhcHMgYXJlIGhhbmRsZWQgd2l0aCBhbiBpbmRleCB3aGljaCBlbnN1cmVzIGF0IG1vc3QKCSAgYSBzaW5nbGUgcGNyIHdyYXBhcm91bmQgYmV0d2VlbiB0d28gZW50cmllcy4KCSAgdGhlIGxhc3Qgc2VlbiBwY3IgaXMgcmVjb3JkZWQgdG8gaGF2ZSBhIG5lYXJieSBpbmRleCBwb2ludCBmb3Igc2hvcnQgc2Vla3MKCSAgcmVzdW1pbmcgcGxheWJhY2sgbWlnaHQgYmUgZGVsYXllZCBpZiB0aGUgcG9zdGlvbiBpcyBub3QgYSBrZXlmcmFtZQoJICBUT0RPOiByZXBsYWNlIG1hbnVhbCBwYWNrZXQgc2Nhbm5pbmcgYW5kIHBhcnNpbmcgaW4gdGhlIGluaXRpYWwgZHVyYXRpb24gZXN0aW1hdGlvbgoKMjAxMS0wMi0yMyAxNToyMToyMiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGNyZWF0ZSBmdW5jdGlvbiBmb3IgcGNyIHBhcnNpbmcKCjIwMTEtMDQtMTEgMTQ6NTM6MjggKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBhZGFwdGF0aW9uIGZpZWxkIGxlbmd0aCA9PSAwIGlzIHZhbGlkCgkgIGl0IGNhbiBiZSB1c2VkIHRvIGluc2VydCBhIHNpbmdsZSBzdHVmZmluZyBieXRlCgkgIGRvIG5vdCBwYXJzZSB0aGUgZm9sbG93aW5nIHBheWxvYWQgYXMgYWRhcHRhdGlvbiBmaWVsZAoKMjAxMS0wNi0wNyAxNDoxNDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgQWRkIGdzdC9pbnZ0ZWxlY2luZSB0byBDUlVGVF9ESVJTCgoyMDExLTA2LTA3IDEzOjQ0OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIEdMaWIgPj0gMi4yNAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAxMS0wNi0wNiAxNToyMzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIGJhc2VhdWRpb3Zpc3VhbGl6ZXIKCjIwMTEtMDYtMDYgMTU6MjA6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogZml4IGxhc3QgYmxvY2sgY29uZGl0aW9uCgkgIEFsc28gcHVzaCBvdXQgdGhlIGxhc3QgZnJhbWUgaWYgd2UgaGF2ZSBleGFjdCBhbW91bnQgb2Ygc2FtcGxlcy4gRml4IHRoZSBhZGFwdGVyCgkgIGZsdXNoaW5nIHRvIG5vdCBjYXVzZSBlbmRsZXNzIGxvb3BzLiBEcm9wIGEgcmVkdW5kYW50IGF2YWlsKCkgY2hlY2suCgoyMDExLTA2LTA0IDIwOjQxOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhIFJFQURNRSB3aXRoIGNvbW1lbnRzIGFuZCBwbGFucwoKMjAxMS0wNi0wNCAyMDozNDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW8zZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgaW5zcGVjdCBmaWxlcwoKMjAxMS0wNi0wNCAxNjoxMjo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSAgZG9jczogYWRkIG5ldyBhdWRpb3Zpc3VhbGl6ZXJzIHRvIHRoZSBwbHVnaW4gZG9jcwoKMjAxMS0wNi0wNCAxNTo1NjoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogcmVtb3ZlIHNvbWUgbm90IG5lZWRlZCBib2lsZXJwbGF0ZQoKMjAxMS0wNi0wNCAxNTo1Mjo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGEgc3BhY2VzY29wZSBlbGVtZW50CgkgIEFkZCBhbm90aGVyIGVsZW1lbnQgdGhhdCBtYXBzIGxlZnQvcmlnaHQgY2hhbm5lbCB0byB4LHkgY29vcmRpbmF0ZXMuCgoyMDExLTA2LTA0IDE1OjM4OjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkgIHN5bmFlc2NvcGU6IHR3ZWFrIHRoZSBhbGdvcml0aG0KCSAgU3BlZWQtdXAgdGhlIGNhbGN1bGF0aW9uIGEgYml0LiBLZWVwIGEgZmV3IHZhbHVlcyBhcyBkb3VibGVzLiBUdW5lIHRoZSBzY2FsaW5nCgkgIHRvIGdldCBuaWNlcyBjb2xvcnMuCgoyMDExLTA2LTA0IDE0OjM3OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGRvYy1ibG9iIGFuZCBjb21tZW50IHVwZGF0ZXMKCjIwMTEtMDYtMDQgMTQ6MzM6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW5hbWUgYmFzZWNsYXNzIGZyb20gYmFzZXNjb3BlIHRvIGJhc2VhdWRpb3Zpc3VhbGl6ZXIKCjIwMTEtMDYtMDQgMTQ6MjU6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyczogcmVuYW1lIHNjb3BlcyBwbHVnaW4gdG8gYXVkaW92aXN1YWxpemVycwoKMjAxMS0wNS0zMSAxNDo0Mjo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkgIHNjb3BlczogZml4IGVsZW1lbnRzIGRlc2NyaXB0aW9ucwoKMjAxMS0wNS0zMCAyMzo0NToxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiB1c2UgYWRkX3BpeGVsIGZvciBub24td2hpdGUgcGl4ZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMzAgMjM6MzY6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBhZGQgYSBuZXcgZWxlbWVudCBzaW1pbGFyIHRvIHN5bmFlc3RoZXNpYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI4IDIzOjIyOjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJICBzY29wZXM6IGRyYXcgcGl4ZWxzIHdpdGggc2lnbmxlIDMyYml0IHdyaXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI4IDE0OjM2OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJICBiYXNlc2NvcGU6IGFkZCBtb3JlIHNoYWRpbmcgZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI4IDE0OjA4OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJICBiYXNlc2NvcGU6IGFkZCBhIHByb3BlcnR5IHRvIG1vZGlmeSB0aGUgYW1tb3VudCBvZiBzaGFkaW5nCgkgIEFkZCBhbm90aGVyIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIHNoYWRpbmcgcGVyIGNvbG9yIGNoYW5uZWwuIEZpeCBlbmRpYW5lc3MKCSAgaXNzdWVzIGluIHRoZSBzaGFkaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjM6MjU6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIGJhc2VzY29wZTogYWRkIGEgYmFja2J1ZmZlciBhbmQgYXBwbHkgc2hhZGluZyBlZmZlY3RzCgkgIEtlZXAgdGhlIGxhc3QgZnJhbWUgYW5kIGFwcGx5IHNoYWRlIGFuZCBnZW9tZXRyeSBlZmZlY3RzLiBFeHBvc2UgdGhlIHNoYWRpbmcKCSAgZWZmZWN0cyBhcyBhIGNvbnRyb2xsYWJsZSBnb2JqZWN0IHByb3BlcnR5IG9uIHRoZSBiYXNlY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjM6MTI6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIGJhc2VzY29wZTogYWxsb3cgc3ViY2xhc3NlcyB0ZWxsaW5nIGhvdyBtYW55IHNhbXBsZSB0aGV5IG5lZWQgcGVyIGZyYW1lCgkgIFRoaXMgYWxsb3dzIGUuZy4gRkZUIGJhc2VkIGVsZW1lbnRzIHRvIHJlcXVpcmUgZW5vdWdoIGRhdGEuIElmIHRoZXkgbmVlZCBtb3JlCgkgIGRhdGEgdGhhbiB3aGF0IHdlIGdldCwgd2UgZmx1c2ggbGVzcyBmcm9tIHRoZSBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIyOjUzOjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJICBiYXNlc2NvcGU6IHJlbW92ZSBzb21lIGNvbW1lbnRzCgkgIFRob3NlIGNvbW1lbnRzIHdoZXJlIHBvaW50aW5nIHRvIGV4YW1wbGUgY2FsbHMgdGhhdCB3ZSBkbyBpbiB0aGUgc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMTQ6NDM6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogYWRkIGEgc2ltcGxlIGZmdCBiYXNlZCBzY29wZQoJICBBZGQgYSAybmQgZGVtbyBzY29wZSB0aGF0IHVzZXMgYSBmZnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMTE6MTQ6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBmaXJzdCB2ZXJzaW9uIG9mIGEgc2NvcGVzIHBsdWdpbiB1c2luZyBhIG5ldyBiYXNlY2xhc3MKCSAgQWRkIGEgbmV3IGJhc2VjbGFzcyBmb3Igd3JpdGluZyB2aXN1YWxpc2F0aW9uIHBsdWdpbnMuIFByb3ZpZGUgYSBzaW1wbGUgd2F2ZQoJICBvc2NpbGxvc2NvcGUgYXMgYSBmaXJzdCBzdWJjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNC0yOSAxMzozMzo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEF2b2lkIGRvdWJsZSBzY2FubmluZyBvZiBwaWN0dXJlcwoJICBUaGUgaW5jb21pbmcgZGF0YSBoYXMgYWxyZWFkeSBiZWVuIHNjYW5uZWQgaW4gbXBlZ19wYWNrZXRpemVyX2FkZF9idWYuCgkgIFdlIGNhbiB0aGVyZWZvcmUgc3RvcCBzY2FubmluZyBmb3IgcGljdHVyZSBkYXRhIGFzIHNvb24gYXMgd2UndmUgcGFyc2VkCgkgIHRoZSBoZWFkZXIuIE1ha2VzIG1wZWd2aWRlb3BhcnNlIDIgdGltZXMgZmFzdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTMzCgoyMDExLTA2LTA1IDEzOjU2OjA4IC0wNzAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGxvd2VyIHJhbmsgdG8gc2Vjb25kYXJ5CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAxMzozODo0NiAtMDcwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBjb21waWxlIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMTA6MzQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogUmVtb3ZlIGluIGZhdm9yIG9mIGZpZWxkYW5hbHlzaXMKCjIwMTEtMDYtMDQgMTg6NTQ6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgRml4ZXM6ICM2NTE3NzkuICBGcm9tIFJhaW1vIErDpHJ2aS4KCjIwMTEtMDYtMDQgMTg6NDM6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBwbHVnaW4KCSAgRml4ZXMgIzY1MTc4Mi4gIFBhdGNoIGZyb20gdmFyaW91cyBhdXRob3JzLCBieSB3YXkgb2Ygb3NzYnVpbGQuCgoyMDExLTA2LTA0IDE0OjA0OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA2LTA0IDEzOjUxOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdTogcmVtb3ZlIG9sZCBnbGliIGNvbXBhdGliaWxpdHkgY29kZQoKMjAxMS0wNi0wMyAxOTozNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHNldCBwYXIgdG8gMS8xCgoyMDExLTA2LTAzIDE5OjM2OjEyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEJldHRlciBoYW5kbGluZyBvZiBpbnZhbGlkIHBhcgoKMjAxMS0wNS0zMCAxNzowMzoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJICB2aWRlb2ZpbHRlcjI6IEZpeCBjb3B5cmlnaHQKCjIwMTEtMDYtMDQgMjA6MzU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIGdzdDogc29tZSBtb3JlIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgZml4ZXMKCjIwMTEtMDUtMzAgMTc6NTQ6MjYgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJICBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlIG5ldyAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIGFkZGVkIGluCgkgIEdDQyA0LjY6IGh0dHA6Ly9nY2MuZ251Lm9yZy9nY2MtNC42L2NoYW5nZXMuaHRtbAoKMjAxMS0wNS0wOSAxNDozNTo0MiAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGEgZmlsdGVyIHRvIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgQ2FtZXJhYmluMiBhbGxvd3Mgc2V0dGluZyBhIGZpbHRlciBmb3IgaW1hZ2UsIHZpZGVvIG9yIHZpZXdmaW5kZXIsIGJ1dAoJICBub3Qgb25lIGZpbHRlciBmb3IgYWxsIHRocmVlIGF0IHRoZSBzYW1lIHRpbWUuIEkgYWRkZWQgYSBmaWx0ZXIgdG8KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyB0byBhbGxvdyBzZXR0aW5nIGEgZ2xvYmFsIGZpbHRlciB3aGVuIHVzaW5nIHRoaXMKCSAgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5ODIyCgoyMDExLTA1LTI2IDAwOjA5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgdmFyCgoyMDExLTA1LTI1IDIzOjI5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZnVsbCBuYW1lcyBpbiBwcm9wZXJ0aWVzCgkgIEltcHJvdmUgQVBJIGJ5IHVzaW5nIHNvdXJjZSBpbnN0ZWFkIG9mIHNyYyBpbiBwcm9wZXJ0aWVzCgoyMDExLTA1LTIzIDEzOjM2OjI3ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvIG5vdCB1bnJlZiBwYWQgdGVtcGxhdGUKCjIwMTEtMDUtMjkgMTM6MTY6MjEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBhdmMgY2hlY2sgc28gdGhhdCBpdCB0cmllcyB0byBsaW5rIHRvIEFWQ1ZpZGVvU2VydmljZXMKCSAgQXZvaWRzIGF2YyBwbHVnaW4gZnJvbSBiZWluZyBidWlsdCB3aGVuIEFWQ1ZpZGVvU2VydmljZXMgaXMgbm90IGluc3RhbGxlZAoKMjAxMS0wNS0yNiAxMjoyMzowMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBBZGQgLS1pbWFnZS1mb3JtYXR0ZXIgY29tbWFuZC1saW5lIG9wdGlvbgoJICBBZGQgY29tbWFuZC1saW5lIG9wdGlvbiB0byBnc3QtY2FtZXJhYmluLXRlc3QgZm9yIGNvbmZpZ3VyaW5nIGNhbWVyYWJpbgoJICBtZXRhZGF0YSBmb3JtYXR0ZXIgZWxlbWVudC4KCjIwMTEtMDUtMzEgMTM6MDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBGaXggdW5pdCB0ZXN0IGFmdGVyIGxhdGVzdCBmYWFjIGNoYW5nZXMKCjIwMTEtMDUtMzEgMTI6NTU6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNjYW5uaW5nIG9uIHNtYWxsIGZpbGVzCgkgIFdlIHdlcmUgcHJldmlvdXNseToKCSAgKiBTdG9wcGluZyBlYXJseSBpbiB0aGUgaW5pdGlhbCBQQ1Igc2NhbgoJICAqIEdpdmluZyBhIG5lZ2F0aXZlIG9mZnNldCBmb3IgdGhlIHNlY29uZCBQQ1Igc2NhbgoKMjAxMS0wNS0zMSAxMjo1NDo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBjYWxsIHByb2dyYW1fc3RvcHBlZCB3aXRoIGEgTlVMTCBwcm9ncmFtCgoyMDExLTA1LTE5IDEyOjU1OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogRGVsYXkgcHVzaGluZyBidWZmZXJzIHVudGlsIHdlIGhhdmUgd2lkdGgvaGVpZ2h0CgoyMDExLTA1LTI3IDExOjEzOjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IHJlbW92ZSB0ZW1wbGF0ZSBzdGFtcCBjb21tZW50CgoyMDExLTA1LTMwIDIzOjQzOjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMub3JjOgoJICBiYXllcjJyZ2I6IENvbnZlcnQgdG8gT3JjCgkgIFNlcmlvdXNseSBmYXN0ZXIuICBBbGdvcml0aG0gaXMgbmVhcmx5IHRoZSBzYW1lIGFzIGJpbGluZWFyLCB3aGljaAoJICBnaXZlbiB0aGUgc3BlZWQgb2YgdGhpcyBjb2RlLCBzaG91bGQgYmUgY29uc2lkZXJlZCB0aGUgYmFzZWxpbmUgb2YKCSAgcXVhbGl0eS4gIFNwZWVkIGFwcGVhcnMgdG8gYmUgbGltaXRlZCBieSBtZW1vcnkgYmFuZHdpZHRoLCBzbyBJCgkgIGRpZG4ndCBib3RoZXIgdHJ5aW5nIHRvIG1ha2UgaXQgYW55IGZhc3Rlci4KCjIwMTEtMDUtMzAgMTY6NTY6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IFJld3JpdGUgc2lnbmFsIHByb2Nlc3NpbmcuIE11Y2ggZmFzdGVyLgoKMjAxMS0wNS0zMCAxNzo1NDoyNiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBUaGlzIGlzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZSBuZXcgLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBhZGRlZCBpbgoJICBHQ0MgNC42OiBodHRwOi8vZ2NjLmdudS5vcmcvZ2NjLTQuNi9jaGFuZ2VzLmh0bWwKCjIwMTEtMDUtMzAgMTM6MDE6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZXZlcnQgImR2ZHNwdTogRml4IHBhZCB0ZW1wbGF0ZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzMyODI4ZTMxY2JhY2U1OWU2Y2U0ZjI2MmI4MzM5ZTQzZWQwYzYzMS4KCSAgSXQgd2FzIGluIGZhY3QgYW4gaXNzdWUgaW4gY29yZQoKMjAxMS0wNS0zMCAxMzowMToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFByb3RlY3QgYWdhaW5zdCBwcm9ncmFtIGJlaW5nIHJlbW92ZWQKCjIwMTEtMDUtMzAgMTI6Mjc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJICBmYWNlb3ZlcmxheTogQWRkIGdzdC1wbHVnaW5zLWJhc2UgQ0ZMQUdTIGFuZCBMSUJTIHRvIGZpeCBjb21waWxhdGlvbgoKMjAxMS0wNS0zMCAxMjoyNDozMSArMDIwMCAgTGF1cmEgTHVjYXMgQWxkYXkgPGxhdXJhbHVjYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IEFkZCBlbGVtZW50IHRoYXQgZGlzcGxheXMgYW4gU1ZHIGltYWdlIG92ZXIgYSBkZXRlY3RlZCBmYWNlCgkgIEZpeGVzIGJ1ZyAjNjQyNzU5LgoKMjAxMS0wNS0zMCAwODo0ODoyOSArMDIwMCAgVG9tIERlc2V5biA8dG9tLmRlc2V5bkBiYXJjby5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogQWxzbyBjb25zaWRlciBub24tYWNjZWxlcmF0ZWQgRGlyZWN0RkIgc3VyZmFjZXMKCSAgRml4ZXMgYnVnICM2MzEzOTAuCgoyMDEwLTA5LTAyIDIzOjMxOjIzICswMzAwICBNYXJ0aW4gU3RvcnNqbyA8bWFydGluQG1hcnRpbi5zdD4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IERlY29kZSBhdWRpbyB1bnRpbCBhbGwgaW5wdXQgZGF0YSBpcyBjb25zdW1lZAoJICBUaGUgc3BlY2lhbCByZXR1cm4gdmFsdWUgaXMgcmV0dXJuZWQgZnJvbSBvdXIgYnVmZmVyIGNhbGxiYWNrCgkgIHdoZW4gYWxsIGlucHV0IGRhdGEgaGFzIGJlZW4gY29uc3VtZWQuCgoyMDExLTA1LTAzIDE0OjE0OjIwICswMzAwICBNYXJ0aW4gU3RvcnNqbyA8bWFydGluQG1hcnRpbi5zdD4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IFJlcGxhY2UgdGhlIGhhY2tpc2ggNDIgbWFnaWMgbnVtYmVyIHdpdGggYSBkZWZpbmUKCjIwMTEtMDUtMzAgMDg6NDM6NTkgKzAyMDAgIEp1bGllbiBNT1VUVEUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlY3dyYXBwZXI6IEZpeCBDT00gaW5pdGlhbGl6YXRpb24KCSAgRml4ZXMgYnVnICM2MjUxOTAuCgoyMDExLTA1LTMwIDA4OjQzOjQwICswMjAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogRml4IGVsZW1lbnQgcmVnaXN0cmF0aW9uIHVzaW5nIGRhdGEgaW4gdGhlIHR5cGUgaW5zdGVhZCBvZiBhIGdsb2JhbAoKMjAxMS0wNS0yOSAxODoxNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRml4IHBhZCB0ZW1wbGF0ZXMKCSAgT3VyIGNhcHMgaW50ZXJzZWN0aW9uIGNvZGUgaXMgYSBiaXQgdG9vIHRvdWNoeSBhYm91dCB3aGF0IGFuIGVsZW1lbnQKCSAgcmV0dXJucyBjb21wYXJlZCB0byBpdHMgcGFkIHRlbXBsYXRlcy4KCjIwMTEtMDUtMjkgMTM6MDU6MzEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjaGVjayBmb3Igb3V0IG9mIHJhbmdlIHBwc19pZCBvbmUgbGF5ZXIgdXAKCjIwMTEtMDUtMjkgMTM6MDM6MzggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNS0yOSAxMjo1NDo0MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGNoZWNrIGZvciBvdXQgb2YgcmFuZ2UgcHBzX2lkIG9uZSBsYXllciB1cAoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIGNvbXBhcmluZyBndWludDggYW5kIE1BWF9QUFNfQ09VTlQgd2hpY2ggaXMgPiBHX01BWFVJTlQ4CgoyMDExLTA1LTI3IDExOjA1OjQ2ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBGaXggbWlzc2luZyBoZWFkZXIgZmlsZSBhbmQgdXBkYXRlIHNwZWMgdG8gd29yayBhcm91bmQgY3VycmVudCBjb21waWxlciBpc3N1ZXMKCjIwMTEtMDUtMjcgMTA6NDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGZhYWM6IGZpeCBDRkxBR1MgYW5kIExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDUtMjcgMTA6NDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBTZXQgdGhlIGNvcnJlY3QsIHZhbGlkIHNhbXBsZSByYXRlcyBpbiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDUtMjcgMTA6NDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBNYWtlIHN1cmUgdG8gYWxzbyByZXR1cm4gb25seSBhIHN1YnNldCBvZiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaW4gZ2V0Y2FwcwoKMjAxMS0wNS0yNyAxMDozNTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFNldCB0aGUgY29ycmVjdCwgdmFsaWQgc2FtcGxlIHJhdGVzIGluIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0wNS0yNyAxMDozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFRoZSBlbmNvZGVyIGxpYnJhcnkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgMSBvciAyIGNoYW5uZWxzCgoyMDExLTA1LTI3IDEwOjMxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBBZGQgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM2NTA1OTUuCgoyMDExLTA1LTI3IDEwOjExOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogQWRkIHRoZSBwcm9maWxlIGFuZCBsZXZlbCB0byB0aGUgY2FwcwoJICBBbHNvIG5lZ290aWF0ZSB0aGUgcHJvZmlsZSBmcm9tIHRoZSBkb3duc3RyZWFtIHBlZXIgY2FwcwoJICBpbnN0ZWFkIG9mIHVzaW5nIGEgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNjUwNTk0LgoKMjAxMS0wNS0yNyAwOTo0MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBQUk9QXyBpbnN0ZWFkIG9mIEFSR18gZm9yIHRoZSBwcm9wZXJ0eSBlbnVtcwoKMjAxMS0wNS0yNiAwOTo1OTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3NweTogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTEtMDEtMTQgMTc6NDI6NTAgKzAxMDAgIEd1aWxsYXVtZSBFbW9udCA8Z2Vtb250QGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5oOgoJICBkZWJ1Z3NweTogYWRkIG5ldyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBhbGxvd3MgeW91IHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBidWZmZXJzIHdpdGggYnVzIG1lc3NhZ2VzLiBJdAoJICBwcm92aWRlcyB0aGUgc2FtZSBraW5kIG9mIGluZm9ybWF0aW9uIGFzIGlkZW50aXR5IGRvZXMgdGhyb3VnaCBhIG5vdGlmeSBzaWduYWwKCSAgb24gYSBzdHJpbmcgcHJvcGVydHksIGJ1dCBpbiBhIG1vcmUgcHJvZ3JhbW1lci1mcmllbmRseSB3YXkuCgoyMDExLTA1LTI2IDA5OjQ2OjU4ICswMjAwICBHYWJyaWVsIFN0cmltdHUgPGdhYnJpZWxzdHJpbXR1QHlhaG9vLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZpeCBwYXJzaW5nIG9mIFBTSSB0YWJsZSBJRHMKCSAgRml4ZXMgYnVnICM2MzU5MTcuCgoyMDExLTA1LTI2IDA5OjIyOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NHNyYzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCSAgQmFzZWQgb24gdGhlIExBVEVOQ1kgcXVlcnkgY29kZSBpbiB2NGwyc3JjIGFuZCB0aGUgcGF0Y2gKCSAgYnkgVHJpc3RhbiBNYXR0aGV3cy4gRml4ZXMgYnVnICM2MjU1MjAuCgoyMDExLTA1LTI1IDIzOjE0OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBtb3JlIHN5cyBlbGVtZW50cyBmcm9tIHRoZSBzdGF0ZSB0ZXN0cwoJICBBbHNvIHdyYXAgdGhlIGxpc3Qgb2YgYmxhY2tsaXN0ZWQgZWxlbWVudHMgYW5kIHRyaW0gc29tZSB3aGl0ZXNwYWNlLgoKMjAxMS0wNS0yNSAyMzoxMzoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBlbnN1cmUgdW5pcWUgcHJvcGVydHkgbmFtZXMKCSAgQ29weSBhbmQgYWRqdXN0IHRoZSBjb2RlIGZyb20gbGFkc3BhIHBsdWdpbiB0byBlbnN1cmUgdW5pcXVlIGdvYmplY3QgcHJvcGVydHkKCSAgbmFtZXMuCgoyMDExLTA1LTI1IDIwOjUyOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGEgbnVtYmVyIG9mIHZpZGVvIHBhcnNlcnMKCjIwMTEtMDUtMjUgMjA6NDk6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBhZGRpdGlvbmFsIG9mZnNldCB0cmFja2luZyBpbiBwYXJzZXIgdGVzdCBoZWxwZXIKCjIwMTEtMDUtMjUgMjA6NDg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICB0ZXN0czogYWRkaXRpb25hbCBwYXJhbWV0ZXJpemF0aW9uIGZvciBwYXJzZXIgdGVzdCBoZWxwZXIKCSAgQWxsb3cgY29udGV4dCBjYWxsYmFja3MgdG8gcGVyZm9ybSBjdXN0b20gYnVmZmVyIHZlcmlmaWNhdGlvbgoJICBhbmQgY3VzdG9tIGVsZW1lbnQgc2V0dXAuICBBbHNvIG1vdmUgc29tZSBzdGF0aWMgdHJhY2tpbmcgdmFyaWFibGVzCgkgIGludG8gaGVscGVyIHN0cnVjdCBhbmQgZXhwb3NlIHRoZSBsYXR0ZXIgc3RydWN0IGZvciB1c2UgYnkgdW5pdCB0ZXN0CgkgIChjYWxsYmFja3MpLgoKMjAxMS0wNS0yNSAxNToyNjowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBsdWcgc29tZSBtb3JlIGJ1ZmZlciBsZWFrcwoKMjAxMS0wNS0yNSAxMzo1Mzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbXBlbnNhdGUgZm9yIHNraXBwZWQgYnl0ZXMgaW4gcGFyc2luZyBzdGF0ZSBvZmZzZXRzCgoyMDExLTA1LTI1IDEzOjUzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNsZWFyaW5nIGFkYXB0ZXIgZm9ybWluZyBhdmMgb3V0cHV0IGZyYW1lCgkgIC4uLiB3aGljaCBuZWVkcyB0byBiZSByZXNldCB1cG9uIGEgbmV3IGZyYW1lIGFuZCBvdGhlcndpc2UgKG9ubHkpCgkgIGZvciBhdmMgaW5wdXQgaW4gcGFzc3Rocm91Z2ggbW9kZSAocmF0aGVyIHRoYW4gb24gZXZlcnkgY2hhaW4gY2FsbCkuCgoyMDExLTA1LTI1IDExOjUwOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaGFuZGxlIGFsbCB2YWxpZCBwcHNfaWQKCSAgLi4uIHdoaWNoIGFyZSBpbiByYW5nZSAwLTI1NS4KCjIwMTEtMDUtMTUgMTM6MjM6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbGxvdyBmdWxsIG5lZ290aWF0aW9uIGZvciBwYWNrZXRpemVkIGlucHV0CgkgIC4uLiBieSBkZWZhdWx0aW5nIHRvIGFsbG93IHNwbGl0dGluZyBwYWNrZXRpemVkIGlucHV0IGFuZCBoYXZpbmcKCSAgbmVnb3RpYXRpb24gd2l0aCBkb3duc3RyZWFtIGRlY2lkaW5nIHdoZXRoZXIgb3Igbm90IHRoaXMgYXBwbGllcy4KCSAgQWxzbyBlbmFibGUgcGFzcy10aHJvdWdoIHBhcnNpbmcgbW9kZSBpZiBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdAoJICAoc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50KSBtYXRjaC4KCSAgQVBJOiBHc3RIMjY0UGFyc2U6c3BsaXQtcGFja2V0aXplZCAocmVtb3ZlZCkKCSAgRml4ZXMgIzY1MDIyOC4KCjIwMTEtMDUtMjQgMjE6NTA6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBhbHNvIGV4dHJhY3Qgd2lkdGggYW5kIGhlaWdodCBpbnRvIGNhcHMKCjIwMTEtMDQtMjEgMjI6NDI6NDUgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogdW5pdCB0ZXN0IGZvciBBUFAxL2V4aWYgJiBjb21tZW50IHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODQ3OAoKMjAxMS0wNS0yNSAxNDo0MjozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgIG1wZWcyZW5jOiBmaXggYnVpbGQgd2l0aCAxLjkuMCByZWxlYXNlIGFnYWluIGFmdGVyIHJlY2VudCBmaXhlcyBmb3IgbWpwZWd0b29scyAyLjAuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTcwCgoyMDExLTA1LTI1IDE1OjEwOjE5ICswMjAwICBBbmRyZWFzIEZyaXNjaCA8ZnJheGluYXNAb3BlbmRyZWFtYm94Lm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBvaW50ZXIgb3V0cHV0IGluIHN0cmVhbS1ub3QtYXNzb2NpYXRlZCBkZWJ1ZyBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTA1MAoKMjAxMS0wNS0yNCAxNTo0Mjo0NCArMDIwMCAgR8O2dHogV2FzY2hrIDx3YXNjaGtAbWFuZHJpdmEub3JnPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgbXBlZzJlbmM6IHN1cHBvcnQgbWpwZWd0b29scyAyLjAKCSAgVGhpcyBhZGRzIGNvbmRpdGlvbmFsIGluY2x1ZGVzIGZvciB0aGUgcmVuYW1lZCBoZWFkZXJzIGluIG1qcGVndG9vbHMgMi4wLgoJICBGaXhlczogIzY1MDk3MC4KCjIwMTEtMDUtMjMgMTc6Mjk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICB4dmlkZGVjOiBBZGQgdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00IHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjA5NjM5LgoKMjAxMS0wNS0yMCAxNzowNjo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIGltYWdlLWZvcm1hdHRlciBwcm9wZXJ0eQoJICBBZGQgaW1hZ2UtZm9ybWF0dGVyIHByb3BlcnR5IGluIG9yZGVyIHRvIGxldCBhcHBsaWNhdGlvbiBjb25maWd1cmUKCSAgdGhlIGZvcm1hdHRlciBlbGVtZW50IGZvciBtZXRhZGF0YS4KCjIwMTEtMDUtMjMgMTM6NTQ6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWRkaXRpb25hbCBkZWJ1ZyB0cmFjaW5nCgoyMDExLTA1LTIzIDEyOjA2OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgbmV3IG1wZWd2aWRlb3BhcnNlCgoyMDExLTA1LTIzIDEyOjAyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcmVuYW1lIHRvIGxlZ2FjeW1wZWd2aWRlb3BhcnNlCgoyMDExLTA1LTE4IDA5OjQ3OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgc3RhbGUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNS0xNyAyMjo0Mjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHNpbXBsaWZ5IG1pbmltdW0gZnJhbWUgc2l6ZSBoYW5kbGluZwoKMjAxMS0wNS0xNyAyMjo0MjoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNpbXBsaWZ5IG1pbmltdW0gZnJhbWUgc2l6ZSBoYW5kbGluZwoKMjAxMS0wNS0xNyAyMjozOToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNpbXBsaWZ5IG1pbmltdW0gZnJhbWUgc2l6ZSBoYW5kbGluZwoKMjAxMS0wNS0xNyAyMjoxODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGF2b2lkIHN0YWxlIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDUtMTIgMTI6MDc6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5oOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgoyMDExLTA1LTIzIDE1OjAzOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIC1jb3JlLy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMzQuMQoJICAuLi4gc2luY2UgbGF0ZXN0IGJhc2VwYXJzZSBBUEkgaXMgcmVxdWlyZWQgZm9yIHZpZGVvcGFyc2Vycy4KCjIwMTEtMDUtMjMgMTQ6NDE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBncmFjZWZ1bGx5IGhhbmRsZSB0cnVuY2F0ZWQgaW5wdXQgTkFMIHVuaXRzCgkgIFJhdGhlciB0aGFuIGFzc2VydCdpbmcgaW4gc3VjaCBjYXNlLCBlbWl0IHdhcm5pbmcgaWYgdGhlIGxlbmd0aCBvZiBhIE5BTCB1bml0CgkgIGlzIGxlc3MgdGhhbiBleHBlY3RlZCAyIGFuZCBkaXNjYXJkIGl0LgoJICBCYXNlZCBvbiBwYXRjaCBieSBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgkgIEZpeGVzICM2NTA0MTYuCgoyMDExLTA1LTIzIDE2OjQ3OjMxICswMjAwICBWaW5jZW50IEfDqW5pZXV4IDx2Z2VuaWV1eEBmcmVlLmZyPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBBZGQgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIEdzdFBvbGwgaW5zdGVhZCBvZiBwb2xsCgkgIFRoaXMgYWxsb3dzIHRvIHVzZSBtdWNoIGhpZ2hlciB0aW1lb3V0IHZhbHVlcyBiZWNhdXNlIEdzdFBvbGwKCSAgaXMgaW50ZXJydXB0aWJsZSBhbmQga2VlcHMgdGhlIG51bWJlciBvZiB3YWtldXBzIGR1cmluZyBzaWduYWwKCSAgbG9zcyBsb3dlci4KCSAgRml4ZXMgYnVnICM2MDgxNzEuCgoyMDExLTA1LTIzIDE0OjU4OjA4ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBidWlsZCBvZiBvcGVuYWwgcGx1Z2luIGZyb20gZGlzdGVkIHRhcmJhbGwKCjIwMTEtMDUtMjMgMTU6MzI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSAgdGVsZXRleHRkZWM6IE1pbm9yIGNsZWFudXAgYW5kIGluZGVudGlvbiBmaXhlcwoKMjAxMS0wNS0yMyAxNToyMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDExLTA1LTIzIDE1OjE0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRml4IGJ1ZmZlciBkYXRhIGxlYWsKCjIwMTAtMDktMTAgMTQ6MzQ6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSAgdGVsZXRleHRkZWM6IEFkZCBzdXBwb3J0IGZvciBwYW5nbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEyOjQ0OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkgIHRlbGV0ZXh0ZGVjOiBhZGQgYSBuZXcgbWV0aG9kIHRvIGNvbnZlcnQgYSBwYWdlIGluIGEgbGlzdCBvZiBzdHJpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDktMDkgMTY6NDE6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogYWRkIHNvbWUgZGF0YSBpbiB0aGUgcHJlcm9sbCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMzo1NTozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBmaXggZGVhZGxvY2sgb24gYSBzdHJlYW0gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMjo0Mjo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBkb24ndCB0cnkgdG8gcHVzaCBhbiBldmVudCBvbiBhIHBhZCB0aGF0IHJldHVybmVkIGFuIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDktMTMgMTE6NTk6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHRlbGV0ZXh0ZGVjOiBOZXcgdGVsZXRleHQgZGVjb2RlciBwbHVnaW4gYmFzZWQgaW4genZiaQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDExLTA1LTIzIDE0OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmg6CgkgIG9wZW5hbDogQWRkIG5ldyBvcGVuYWxzcmMgZWxlbWVudAoJICBCYXNlZCBvbiBwYXRjaGVzIGJ5IFZpY3RvciBMaW4gPGJvcm5zdHViQGdtYWlsLmNvbT4KCSAgRml4ZXMgYnVnICM1NTAyMzAuCgoyMDExLTA1LTIzIDEzOjQxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmg6CgkgIG9wZW5hbDogQWRkIG5ldyBPcGVuQUwgc2luayBlbGVtZW50CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQ2hyaXMgUm9iaW5zb24gPGNocmlzLmtjYXRAZ21haWwuY29tPgoJICBGaXhlcyBidWcgIzYxNTYxNS4KCjIwMTEtMDUtMjAgMTU6MjU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBEbyBub3Qgc2VnZmF1bHQgb24gbnVsbCBsb2NhdGlvbnMKCSAgUHJldmVudCBjYXB0dXJlIGZyb20gc3RhcnRpbmcgd2hlbiBzYXZpbmcgbG9jYXRpb24gaXMgc2V0IHRvCgkgIE5VTEwKCjIwMTEtMDUtMjAgMTM6MDQ6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkgIGNhbWFwcGxpY2F0aW9uaW5mbzogZml4IHBvc3NpYmxlIGFycmF5IG92ZXJydW4KCjIwMTEtMDUtMjAgMDk6NTg6NTAgKzAyMDAgIFJhZmFlbCBEaW5peiA8cmFmYWVsQHJpc2V1cC5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ1twdF1zZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBBQUMgTEFUTS9MT0FTIHN0cmVhbXMKCSAgRml4ZXMgYnVnICM2MTU2ODEuCgoyMDExLTA1LTE5IDA4OjA1OjE0ICswMjAwICBXLiBNaWNoYWVsIFBldHVsbG8gPG1pa2VAZmx5bi5vcmc+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSAgYXBleHNpbms6IEFkZCBzdXBwb3J0IGZvciBnZW5lcmF0aW9uIDIgQWlyVHVuZXMgaGFyZHdhcmUKCSAgRml4ZXMgYnVnICM2NDk5MzEuCgoyMDExLTA1LTIwIDAwOjM1OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBmaXggdGhlIHsgfSBzY29wZQoKMjAxMS0wNS0yMCAwMDoyMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBkb24ndCBsZWFrIGZkIG9uIGVycm9yCgoyMDExLTA1LTIwIDAwOjE2OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBkb24ndCBsZWFrIHBhc3N3b3JkIG9uIGVycm9yCgoyMDExLTA1LTE5IDIzOjU3OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50ZWQgb3V0IHBhcnQKCSAgV2UgZG9uJ3QgaGF2ZSB0aGlzIGluIHRoZSBvdGhlciBtb2R1bGVzIGFuZCBpdHMgbm90IG5lZWRlZC4KCjIwMTEtMDUtMTkgMjM6NTA6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhCgkgIE5vdyBtb3JlIGZpbGVzIGFyZSBtZXJnZWQgYW5kIHByb2R1Y2VkIGluIGEgY2Fub25pY2FsIGZhc2hpb24sIHdoaWNoIGhvcGVmdWxseQoJICBjcmVhdGVzIGxlc3Mgb3Igbm8gZGVsdGEgaW4gdGhlIGZ1dHVyZS4KCjIwMTEtMDUtMTkgMjI6NTg6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWU1YmJkNSB0byA2OWI5ODFmCgoyMDExLTA1LTE5IDE0OjU4OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIHZpZGVvLWRldmljZSBhcmd1bWVudAoJICBBZGRzIGFuIGFyZ3VtZW50IHRvIHNlbGVjdCB3aGljaCB2aWRlbyBkZXZpY2Ugc2hvdWxkIGJlIHVzZWQKCSAgb24gdGhlIHZpZGVvIHNvdXJjZSBlbGVtZW50IGluIGNhbWVyYWJpbjIKCjIwMTEtMDUtMTkgMTQ6NTI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBGaXggdHlwbyBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBUaGUgcHJvcGVydHkgaXMgYXVkaW8tc3JjIGFuZCBub3QgYXVkaW8tc291cmNlCgoyMDExLTA1LTE5IDE0OjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIGF1ZGlvLXNvdXJjZSBwYXJhbWV0ZXIgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIGFuIG9wdGlvbiB0byBzZWxlY3QgdGhlIGF1ZGlvIHNvdXJjZSB0byBiZSB1c2VkIG9uIHZpZGVvCgkgIHJlY29yZGluZ3Mgb24gY2FtZXJhYmluMiB0ZXN0IGFwcGxpY2F0aW9uCgoyMDExLTA1LTE5IDE0OjIzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbWlzc2luZyBbCgkgIEFkZHMgbWlzc2luZyBbIHRvIGNvbmZpZ3VyZSBvbiB0aGUgQ0RBVURJTyBwa2cgY29uZmlnIGNoZWNrCgoyMDExLTA1LTE5IDE4OjQ1OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAgamFzcGVyZW5jOiByZW1vdmUgdW51c2VkICdtaW1ldHlwZScgdmFyaWFibGUKCSAgQXMgbWltZXR5cGUgaXMgbm90IHVzZWQsIHdlIGRvbid0IG5lZWQgdG8gZmV0Y2ggaXQgYW5kIHRoZXJlZm9yZSBuZWl0aGVyIG5lZWQKCSAgdGhlIHN0cnVjdHVyZSBzLgoKMjAxMS0wNS0xOSAxNToyNjozOCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIGZpdCB3aXRoIGxhdGVzdCB1cHN0cmVhbSBzcGVjIGZpbGVzCgoyMDExLTA1LTE4IDE1OjQ0OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2UgZ2NjIDQuNiBoYXBweQoJICBSZW1vdmUgd2FybmluZ3MgZHVlIHRvIGluaXRpYWxpemVkIGJ1dCBuZXZlciB1c2VkIHdhcm5pbmdzCgoyMDExLTA1LTE4IDEzOjM1OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogbWF4IHBwcyBpcyAyNTUKCSAgRml4ZXMgIzY1MDQ4NC4KCjIwMTEtMDUtMTIgMjI6NTQ6NDQgKzAzMDAgIEJyaWFuIEdpdG9uZ2EgTWFyZXRlIDxtYXJldGVAdG9zaG5peC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IENoYW5nZSBjb3VudGVycyB0byA2NCBiaXQgdW5zaWduZWQgaW50ZWdlcnMuCgoyMDExLTA1LTEwIDE2OjE0OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzd2l0Y2ggbGliY2RhdWRpbyB0byBwa2ctY29uZmlnCgoyMDExLTA0LTI0IDE5OjExOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogdXNlIGdzdCBkZWJ1ZyBmb3IgdHNtdXggbGlicmFyeQoKMjAxMS0wNC0xOSAxNTowNDowNSAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IGF2Y3NyYyBpcyBhbHdheXMgZW5hYmxlZAoKMjAxMS0wNC0xOSAxNTowMToxNSAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEluY2x1ZGUgMjAwIGJ1cyBjeWNsZXMgaW4gZWFjaCBidWZmZXIgKGFib3V0IDMwMCBUUyBwYWNrZXRzKQoKMjAxMS0wNC0xOSAxNTowMDo1MyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEVtaXQgYSBzaW5nbGUgYnVmZmVyIHBlciBjYWxsYmFjawoKMjAxMS0wNC0xOSAxMzo1Mzo1NCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IFRyYWNrIHRoZSBudW1iZXIgb2YgZW5xdWV1ZWQgYW5kIGRlcXVldWVkIHBhY2tldHMKCjIwMTEtMDQtMTkgMTM6NTM6MjMgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBEdW1wIHRpbWVzdGFtcCBpbmZvcm1hdGlvbgoKMjAxMS0wNC0xOCAxNTozNzo1NyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IFNhdmUgQVZDIG9iamVjdHMgaW4gdGhlIEdzdEFWQ1NyYyBvYmplY3QKCSAgYW5kIHN0b3AgdGhlbSB3aGVuIHRoZSBwaXBlbGluZSBpcyBzdG9wcGVkCgoyMDExLTA0LTE4IDE1OjE2OjAwIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogQ3ljbGUgYW5kIHBhY2tldCBhcmUgdW5zaWduZWQKCjIwMTEtMDQtMTggMTU6MTU6MjggLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBhdmNzcmMgaXMgYSBsaXZlIHNvdXJjZQoKMjAxMS0wNC0xOCAxNToxNDo1NSAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSAgYXZjOiBMb29rIGluIEFWQ1ZpZGVvU2VydmljZXMgZm9yIGhlYWRlcnMKCjIwMTEtMDQtMTggMTI6Mjg6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBhdmM6IGF0dGVtcHQgbmV3IGNvbmZpZ3VyZQoKMjAxMS0wNC0xNiAxOTo0MjowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9nc3RhdmNwbHVnaW4uY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogQWRkIEFWQyBWaWRlbyBTZXJ2aWNlcyBwbHVnaW4gZm9yIE9TL1gKCjIwMTEtMDUtMTggMTY6MTA6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQzNTA3MyB0byA5ZTViYmQ1CgoyMDExLTA1LTE4IDEzOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTmFtZSBtYXgvbWluIHF1YW50aXplciBwcm9wZXJ0aWVzIHttYXgsbWlufS1xdWFudGl6ZXIKCSAgQWxzbyBpbXByb3ZlIHF1YWxpdHkgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDExLTA1LTE4IDEzOjI2OjIzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBwcm9wZXJ0aWVzIHRvIHNlbGVjdCBhIG1heGltdW0gYW5kIG1pbmltdW0gcXVhbnRpemVyCgkgIEZpeGVzIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNS0xOCAxMzoxODo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggcXVhbGl0eSB0byAoY29uc3RhbnQpIHF1YW50aXplciBtYXBwaW5nCgkgIFRoaXMgbm93IGFsbG93cyB0byBzZWxlY3QgYWxsIHBvc3NpYmxlIHF1YW50aXplcnMgYmV0d2VlbgoJICAwIGFuZCA2My4KCSAgU2VlIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNS0xOCAxMjoyNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NmRmY2VhIHRvIGZkMzUwNzMKCjIwMTEtMDQtMjggMTU6NTk6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgdmFyaW91czogZml4IGF1dGhvciB0YWcgaW4gZWxlbWVudCBkZXRhaWxzCgoyMDExLTA0LTI3IDE2OjU2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGltcHJvdmUgdGhlIGF1ZGlvZmlsdGVyIHRlbXBsYXRlCgkgIEFkZCBjb21tZW50cy4gQWRkIHN0YXJ0L3N0b3AgbWV0aG9kcy4gQWRkIChjb21tZW50ZWQpIGluc3RhbmNlIGNhc3RzIGF0IHRoZQoJICBiZWdpbiBvZiB0aGUgbWV0aG9kLiBNYWtlIHRyYW5zZm9ybV9pcCByZXR1cm5pbmcgRkxPV19PSyBieSBkZWZhdWx0LgoKMjAxMS0wNC0yNyAxNjo1MTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgcGx1Z2luX2luaXQoKQoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfZWxlbWVudF9yZWdpc3RlcigpLiBVc2UgdGhlIFRZUEUgbWFjcm8gaW5zdGVhZCBvZiB0aGUKCSAgX2dldF90eXBlKCkgZnVuY3Rpb24uCgoyMDExLTA1LTEyIDExOjU3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHNvbWUgYnVmZmVyIGxlYWtzCgkgIEZpeGVzICM2NTAzMjMuCgoyMDExLTA1LTEyIDExOjU2OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4dXAgYm9pbGVycGxhdGUgYW5kIGRlYnVnIGNvZGUgc3R5bGUKCjIwMTEtMDUtMTMgMTc6MTg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgb2Jzb2xldGUgaW1hZ2VjYXB0dXJlYmluCgkgIGltYWdlY2FwdHVyZWJpbiBoYXMgYmVlbiByZXBsYWNlZCBieSBlbmNvZGViaW4sIG5vIG5lZWQKCSAgZm9yIGl0IGFueW1vcmUKCjIwMTEtMDUtMTMgMTY6Mjc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UganBlZyBhcyBhIGNvbnRhaW5lciB0byBmb3JjZSBqaWZtdXggdXNhZ2UKCSAgSmlmbXV4IHNob3VsZCBiZSB1c2VkIGFzIGl0IGNhbiBkbyB4bXAvZXhpZiB0YWdnaW5nLCBzbyB0aGlzIHBhdGNoCgkgIHNldHMganBlZyBhcyBhIGNvbnRhaW5lciB0byBmb3JjZSBpdCB0byBiZSB1c2VkIHRvZ2V0aGVyIHdpdGgKCSAgYSBqcGVnIGVuY29kZXIKCjIwMTEtMDUtMTIgMTE6MTc6MjggKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvIHByb3BlciBFT1MgaGFuZGxpbmcgb24gc2VuZF9ldmVudChlb3MpCgkgIFdlIGZpcnN0IGxldCB0aGUgaW5uZXIgY2FtZXJhIEVPUy4gVGhlbiB3ZSBtYW51YWxseSBwb3N0IEVPUyBvbiB0aGUgaW1hZ2UgYW5kCgkgIHZpZGVvIHNpbmtzIGlmIHRob3NlIGFyZSA8PSBSRUFEWSBhbmQgc28gaGF2ZSBpZ25vcmVkIEVPUyBldmVudHMuCgoyMDExLTA0LTI4IDE1OjExOjM2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBlbmNvZGViaW4gdG8gZW5jb2RlIGltYWdlcwoKMjAxMS0wNS0xMyAxNToxNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkgIGppZm11eDogQnVtcCByYW5rIHRvIHNlY29uZGFyeQoJICBqaWZtdXggaXMgYmVpbmcgdXNlZCBmb3IgcXVpdGUgc29tZSB0aW1lIGFuZCBoYXMgbm8gb3BlbiBidWdzCgkgIGN1cnJlbnRseSwgc28gd2UgY2FuIGdpdmUgaXQgYSBzZWNvbmRhcnkgcmFuayBhdCBsZWFzdC4KCSAgRml4ZXMgIzY0OTM5MQoKMjAxMS0wNS0xMyAxNToxNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBDaGFuZ2UgY2xhc3MgdG8gZm9ybWF0dGVyCgkgIGppZm11eCBpcyBhIGZvcm1hdHRlciBhbmQgbm90IGEgbXV4ZXIKCSAgRml4ZXMgIzY0OTM5MQoKMjAxMS0wNS0xMyAwOToxMTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEZpeCBHT3B0aW9uRW50cnkgYXJyYXkKCSAgVXNlIG5vIGZsYWdzIGluc3RlYWQgb2YgcGFzc2luZyBHX09QVElPTl9BUkdfT1BUSU9OQUwgdG8gb3B0aW9ucyB0aGF0CgkgIG11c3QgaGF2ZSBhbiBhcmd1bWVudAoKMjAxMS0wNS0xMiAxMTozOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogYnVpbGQgZml4ZXMKCSAgQWRkIHNvbWUgbWlzc2luZyBkZXBlbmRlbmNpZXMKCjIwMTEtMDUtMTEgMTg6MzU6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGFuZ2luZyBob3cgc29tZSBwcm9wZXJ0aWVzIHdvcmsKCSAgU29tZSBwcm9wZXJ0aWVzIChsaWtlIHZpZXdmaW5kZXItZmlsdGVyKSBvbmx5IGFyZSB0YWtlbiBpbnRvIHVzZQoJICBvbiBOVUxMLT5SRUFEWSB0cmFuc2l0aW9ucyBhbmQgdGhlIGdldC9zZXQgcHJvcGVydHkgd2FzIHJldHVybmluZwoJICB0aGUgY3VycmVudGx5IGluIHVzZSB2YWx1ZSwgaW5zdGVhZCBvZiB0aGUgbGFzdCBzZXQuCgkgIFRoaXMgaXMgYmFkLCBhcyBhZnRlciBzZXR0aW5nICdhJyB0byAneCcsIHlvdSBleHBlY3QgdGhhdCBnZXR0aW5nICdhJwoJICB3aWxsIHJldHVybiAneCcuIFRoaXMgcGF0Y2ggZml4ZXMgaXQuCgkgIElmIG5lZWRlZCwgbGF0ZXIgd2UgY291bGQgYWRkIGN1cnJlbnQtKiBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlYWRvbmx5CgkgIGFuZCBnZXQgdGhlIGN1cnJlbnQgdmFsdWUgaW4gdXNlLgoKMjAxMS0wNC0yOSAwODo1NDo1NiAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRpbmcgUE9SVElORyBmaWxlCgoyMDExLTA0LTI4IDE2OjA1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIG1pc3NpbmcgcGx1Z2luIGVycm9yIG1lc3NhZ2VzCgkgIFdoZW5ldmVyIGEgcmVxdWlyZWQgcGx1Z2luIGlzIG1pc3NpbmcsIGNhbWVyYWJpbjIgc2hvdWxkIHBvc3QKCSAgYSBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlIHRvIHRoZSBidXMKCjIwMTEtMDQtMjggMTQ6Mzc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBlbmNvZGViaW4gbWlnaHQgbm90IGhhdmUgdGhlIHJlcXVlc3RlZCBwYWQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGVuY29kZWJpbiBkb2Vzbid0IGhhdmUgdGhlIHBhZAoJICBjYW1lcmFiaW4yIGlzIHJlcXVlc3RpbmcsIGVpdGhlciBiZWNhdXNlIG9mIGl0cyBjdXJyZW50IHByb2ZpbGUKCSAgb3IgYmVjYXVzZSBvZiBtaXNzaW5nIGVsZW1lbnRzLCBtYWtpbmcgaXQgZmFpbCB0byBwcm92aWRlCgkgIHRoZSBwYWQKCjIwMTEtMDQtMjcgMTU6MTI6MTggLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogQWRkIG1vcmUgYXJndW1lbnRzCgkgIEFkZCBjb21tYW5kLWxpbmUgb3B0aW9ucyBmb3Igc2V0dGluZyBpbWFnZS1jYXB0dXJlLCB2aWV3ZmluZGVyCgkgIGFuZCB2aWRlby1jYXB0dXJlIGNhcHMgYXMgc3RyaW5ncy4KCSAgVGhlIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcyBhcmUgbm93IHVzZWQgb25seSBpZiB0aGVzZSBuZXcgY2FwcwoJICBwcm9wZXJ0aWVzIGFyZW4ndCBzZXQuCgoyMDExLTA0LTI2IDE1OjIxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW46IEZpeCB0YWdzIG1lcmdpbmcgbW9kZQoJICBVc2UgbWVyZ2UgcmVwbGFjZSBtb2RlIHRvIGFsbG93IG5ldyB0YWdzIHRvIG92ZXJyaWRlIG9sZCBvbmVzCgkgIGFuZCBmaXggdGhlIHVzZSBjYXNlIHdoZXJlIHRoZSBsYXN0IHNlbnQgdGFncyBzaG91bGQgYmUgc2VyaWFsaXplZAoJICB0byB0aGUgY2FwdHVyZWQgaW1hZ2VzLgoKMjAxMS0wNC0yNiAxNDo1MzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCB0YWcgaGFuZGxpbmcgZm9yIHZpZGVvcwoJICBJbiB2aWRlbyBtb2RlIHRoZSB0YWdzIHNob3VsZCBiZSBwdXNoZWQgYWZ0ZXIgc2VuZGluZyB0aGUgc3RhcnQgY2FwdHVyZQoJICB0byB0aGUgc291cmNlLCB0aGlzIGFsbG93cyB0aGUgdmlkZW8gcmVjb3JkaW5nIGVsZW1lbnRzIHRvIGJlIHJlc2V0CgkgIGFuZCBsZWF2ZSB0aGUgZmx1c2hpbmcgc3RhdGUgdGhleSB3ZXJlIGF0IGFmdGVyIGEgcHJldmlvdXMgY2FwdHVyZS4KCSAgVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB3aGVyZSB0YWdzIG9ubHkgd29yayBmb3IgdGhlIGZpcnN0IHZpZGVvIGNhcHR1cmUKCjIwMTEtMDQtMjYgMTQ6NTA6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzCgoyMDExLTA0LTI2IDE0OjQ5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCB0YWdzIHNldHRpbmcgdGVzdHMKCSAgRml4ZXMgdGhlIHRhZ3Mgc2V0dGluZyB0ZXN0cyB0byByZXZlYWwgYSBidWcgaW4gY2FtZXJhYmluMgoJICB0YWcgc2V0dGluZyBsb2dpYy4KCjIwMTEtMDQtMjUgMTY6MDQ6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluMi1zcmMudHh0OgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgY2FtZXJhIHNvdXJjZSBkb2N1bWVudGF0aW9uIGZpbGUKCSAgQWRkcyBhIHNtYWxsIHRleHQgZmlsZSB3aXRoIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YKCSAgd2hhdCBpcyBleHBlY3RlZCBmcm9tIGEgY2FtZXJhYmluMiBzb3VyY2UgZWxlbWVudAoKMjAxMS0wNC0xMSAxNTozMzoyMCAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogSGFuZGxlIGVycm9ycyBmcm9tIHByZXZpZXcgcGlwZWxpbmUKCSAgSW1wbGVtZW50cyBhIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gdG8gcHJldmlldyBwaXBlbGluZSBidXMuCgkgIElmIEdTVF9NRVNTQUdFX0VSUk9SIGlzIHNlZW4sIGNvbnNpZGVycyBwcmV2aWV3IHBpcGVsaW5lIHVuYWJsZQoJICB0byBkbyBpdHMgam9iIGFuZCBwb3N0cyBhbiBlcnJvciBtZXNzYWdlIHRvIGFwcGxpY2F0aW9uLgoJICBTZXRzIHBpcGVsaW5lIGVsZW1lbnQgdG8gTlVMTCBzbyB0aGF0IHN1YnNlcXVlbnQgY2FsbHMgdG8gcG9zdF9wcmV2aWV3CgkgIGFuZCBzZXRfY2FwcyBmdW5jdGlvbnMganVzdCByZXR1cm5zIHdpdGhvdXQgcHVzaGluZyBhbnl0aGluZyB0byB0aGUKCSAgZGlzcG9zZWQgcHJldmlldyBwaXBlbGluZS4gTGVhdmVzIGZ1cnRoZXIgYWN0aW9ucyB0byB0aGUgYXBwbGljYXRpb24uCgoyMDExLTA0LTA4IDA5OjIyOjExIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IFByb3RlY3Rpb24gZm9yIHByZXZpZXdwaXBlbGluZSB3aGVuIHNldHRpbmcgbmV3IHByZXZpZXcgY2FwcwoJICBJbXBsZW1lbnRzIGEgc3RhdGUgaW5kaWNhdGluZyBmbGFnIHRvIHByZXZpZXcgcGlwZWxpbmUsCgkgIHNvIHRoYXQgbmV3IGNhcHMgYXJlIG5vdCBzZXQgaWYgdGhlIHBpcGVsaW5lIGlzIHByb2Nlc3NpbmcgYQoJICBwcmV2aWV3LiBUaGUgY2FwcyBhcmUgc2V0IGFzIHBlbmRpbmcgYW5kIGFwcGxpZWQgd2hlbiB0aGUKCSAgbmV4dCBwcmV2aWV3IHBvc3QgaXMgY2FsbGVkLgoJICBJbiB0aGlzIGNhc2UgYSB3YWl0IHdhcyBpbXBsZW1lbnRlZCBpbiB0aGUgcG9zdF9wcmV2aWV3IGZ1bmN0aW9uLAoJICBzbyB0aGF0IG5ldyBwcmV2aWV3IGltYWdlIGJ1ZmZlciB3aWxsIHdhaXQgdW50aWwgdGhlIG90aGVyIHByZXZpZXdzCgkgIGhhdmUgYmVlbiBwb3N0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uIGFuZCB0aGUgbmV3IGNhcHMgY2FuIGJlIHVzZWQKCSAgc2FmZWx5LgoKMjAxMS0wMy0yOSAxMzo0NjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEZpeCBjb21waWxlIHByb2JsZW0gd2l0aCBkZWJ1ZyBkaXNhYmxlZAoKMjAxMS0wMy0yMyAxODo0MTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IFBvc3QgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMKCSAgTWFrZXMgdmlld2ZpbmRlcmJpbiBwb3N0IG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzIHdoZW4gaXQKCSAgY2FuJ3QgY3JlYXRlIGFuIGludGVybmFsIGVsZW1lbnRzCgoyMDExLTAzLTIzIDE4OjQwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluMjogSW1wcm92ZSBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlCgkgIEltcHJvdmVzIHRoZSBtZXNzYWdlIHRleHQgZm9yIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzIGZyb20KCSAgY2FtZXJhYmluMgoKMjAxMS0wMy0yMyAxNzo0Njo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgcG9ydGluZyBmaWxlCgkgIFVwZGF0ZSBwb3J0aW5nIGZpbGUgd2l0aCBtZW50aW9uIHRoYXQgc3RvcC1jYXB0dXJlIGlzIG5vdwoJICBhc3luYy4KCjIwMTEtMDQtMDggMTc6NTg6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBBbGxvdyBnc3QtbGF1bmNoIHBpcGVsaW5lcyBmb3Igc2lua3MKCSAgVXNlIGdzdF9wYXJzZV9sYXVuY2ggKCkgdG8gcGFyc2UgdGhlIHNpbmsgc3RyaW5ncyB0byBhbGxvdyBzcGVjaWZpY2F0aW9uCgkgIG9mIHByb3BlcnRpZXMgdG8gc2lua3MgYW5kIG9mIG1vcmUgYWR2YW5jZWQgc2luayBncmFwaHMuCgoyMDExLTA0LTA0IDEzOjI4OjMyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBkZWJ1ZyBwcmludCB0byBzaG93IGF1ZGlvL3ZpZGVvIGRlcGVuZGluZyBvbiBwYWQgdHlwZQoKMjAxMS0wMy0zMSAxMzowODo0OCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggb3JkZXIgb2YgZWxlbWVudCBzdGF0ZSBjaGFuZ2UKCSAgVG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiBlbGVtZW50cyBpbiBhIHBpcGVsaW5lLCB3ZSBzaG91bGQgbWlycm9yIHRoZQoJICBiZWhhdmlvdXIgb2YgR3N0QmluIHdoaWNoIHN0YXJ0cyBhdCB0aGUgc2luayBlbGVtZW50IGFuZCB3b3JrcyBpdHMgd2F5CgkgIHVwc3RyZWFtLgoKMjAxMS0wNC0wMSAyMjoxMzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTM6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBwcm9wYWdhdGUgZG93bnN0cmVhbSBmbG93IHJldHVybiB0byB1cHN0cmVhbQoKMjAxMS0wNC0wMyAyMjozNToxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBoYW5kbGUgbWlzc2luZyBmcmFtZXJhdGUgd2hlbiBjYWxjdWxhdGluZyB0aW1lc3RhbXAKCjIwMTEtMDQtMDMgMjI6MzI6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMjozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiB0dW5lIHBhcnNpbmcgc2luayBjYXBzIGludG8gdmlkZW8gc3RhdGUKCSAgLi4uIHRvIHByb3ZpZGUgc3ViY2xhc3Mgd2l0aCBtb3JlIGluZm9ybWF0aW9uIHcuci50LiBvcmlnaW5hbCBjYXBzLgoKMjAxMS0wNC0wMSAxODo0OToxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiB2aWRlbyBzdGF0ZSByZWZlcmVuY2UgdG8gY29kZWNfZGF0YSBpcyBub3QgcmVmY291bnRlZAoJICAuLi4gYnV0IHJhdGhlciBpbXBsaWNpdGx5IHZhbGlkIGFzIGxvbmcgYXMgc2luayBjYXBzIGFyZSBub3QgbW9kaWZpZWQuCgoyMDExLTA0LTAxIDE4OjAwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGltcHJvdmUgZ2xpdGNoIHJlc2lsaWVuY2UKCSAgUHJvdmlkZSBhIHJlcGxhY2VtZW50IGZvciBHU1RfRUxFTUVOVF9FUlJPUiB0byBhdm9pZCBhYm9ydGluZyBhdCB0aGUgZmlyc3QKCSAgYXRvbSBvdXQgb2YgcGxhY2UsIHdoaWxlIG9uIHRoZSBvdGhlciBoYW5kIG5vdCBmYWlsaW5nIGluZGVmaW5pdGVseS4KCjIwMTEtMDMtMzEgMTQ6NDc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0CgoyMDExLTAzLTMwIDEwOjI4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHVzZSBiYXNldmlkZW9jb2RlYyBkaXNjb250IGZpZWxkCgoyMDExLTAzLTMwIDEwOjE4OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVhbGx5IGFuZCBvbmx5IHNldCBzcmMgcGFkIGNhcHMgd2hlbmV2ZXIgcmVxdWVzdGVkCgkgIC4uLiBzaW5jZSBzdWJjbGFzcyBpcyBleHBlY3RlZCB0byBiZSB3aXNlIGVub3VnaCB0byBrbm93IHdoZW4gdG8gZG8gc28uCgoyMDExLTAzLTMwIDA5OjE3OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBzb21lIHNhbml0eSBlbmZvcmNpbmcKCjIwMTEtMDMtMzAgMDk6MTU6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGRvY3VtZW50YXRpb24KCSAgLi4uIGFuZCByZW1vdmUgc29tZSBtb3JlIHN0cmF5IHVudXNlZCBjb2RlIGFuZCBtZXRob2RzLgoKMjAxMS0wMy0yOSAxNTo0MTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IGZ1bGx5IGZyZWUgdmlkZW8gZnJhbWUKCjIwMTEtMDMtMjkgMTU6NDE6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc3RyZWFtbGluZSBkaXNjb250LCBmbHVzaCBhbmQgcmVzZXQgaGFuZGxpbmcKCSAgLi4uIHdoaWNoIGlzIG5vdCB0byBzYXkgdGhlcmUgaXMgbm8gcm9vbSBmb3IgZnVydGhlciB0d2Vha2luZyAuLi4KCjIwMTEtMDMtMjkgMTU6Mzk6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIHNvbWUgaGVhZGVyIGNvbW1lbnRhcnkKCjIwMTEtMDMtMjkgMTI6NTc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIChhbG1vc3QpIHVudXNlZCBmaWVsZHMKCSAgLi4uIGFuZCBhbHNvIHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCjIwMTEtMDMtMjkgMTA6NDE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgYW5kIHVzZSBzZXRfZm9ybWF0CgkgIFdoaWxlIHRoaXMgY2hhbmdlcyBBUEkgc2xpZ2h0bHkgKGUuZy4gYWN0dWFsbHkgdXNlcyBzZXRfZm9ybWF0IG5vdyksIHdoaWNoIGlzIE9LCgkgIGZvciB1bnN0YWJsZSBBUEksIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIG90aGVyd2lzZSBubyBzdWJjbGFzcyBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIChnbG9iYWwgYWN0aXZhdGlvbiB0aW1lKQoJICBNb3Jlb3Zlciwgc3ViY2xhc3Nlc2UgYXJlIGVpdGhlciB1bmFmZmVjdGVkIG9yIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDQtMjggMTI6MDI6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4dXAgdHdlYWsKCjIwMTEtMDMtMjggMTY6MTU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGFuZCB0d2VhayBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTAzLTI4IDEzOjMyOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhcnJhbmdlIGZvciBsaW1pdGVkIGxlZ2FjeSBzZWVraW5nIHN1cHBvcnQKCSAgSW4gcGFydGljdWxhciwgdHdlYWsgc3JjIHF1ZXJ5IGFuZCBldmVudCBoYW5kbGluZyB0byBwcm92aWRlIGZvcgoJICBieXRlIDwtPiB0aW1lIGNvbnZlcnNpb24uCgoyMDExLTAzLTI4IDExOjE1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBjYXRlciBmb3IgZm9ybWF0IGNvbnZlcnNpb24KCjIwMTEtMDMtMjggMTA6NTE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICB2aWRlb2NvZGVjOiByZW1vdmUgdW51c2VkIGZpZWxkcyBhbmQgY29kZQoKMjAxMS0wMy0yOCAwOToxNDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXggY29weS1hbmQtcGFzdGUgdmFyaWFibGUgbWlzbm9tZXIKCjIwMTEtMDMtMjggMDg6NTk6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc3Vic3VtZSBza2lwX2ZyYW1lIGludG8gZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI4IDA4OjU2OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wMy0yNyAyMjoyNzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBjb2RlIGNsZWFudXAgYW5kIGRlYnVnIHN0eWxlIGZpeGVzCgoyMDExLTAzLTI3IDE2OjM2OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBwYXNzIGFsb25nIGJ1ZmZlciBkaXNjb250IGZsYWcKCjIwMTEtMDMtMjUgMTU6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMTEtMDMtMjUgMDk6Mjg6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogYWRkIGRvY3VtZW50YXRpb24gYW5kIHJlbGF0ZWQgY29zbWV0aWNzCgoyMDExLTAzLTI0IDE0OjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcHJvdmlkZSBwcm9wZXIgdXBzdHJlYW0gZmxvdyByZXR1cm4gaGFuZGxpbmcKCjIwMTEtMDMtMjQgMTM6NTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBtaW5vciBvcHRpbWl6YXRpb24gaW4gc2V0dGluZyB1cCBpbWFnZSBidWZmZXIKCjIwMTEtMDMtMjQgMTI6NTA6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiByZWZhY3RvciBmcmFtZSBwcm9jZXNzaW5nCgoyMDExLTAzLTI0IDExOjU1OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZG8gaW5pdCBhdCBzZXRfZm9ybWF0IHRpbWUKCjIwMTEtMDMtMjQgMTA6MTU6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBmaXgga2V5ZnJhbWUgZm9yY2luZwoKMjAxMS0wMy0yNCAwODoyMzoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbmhhbmNlIHNldF9jYXBzCgkgIFNwZWNpZmljYWxseSwgb25seSBpbnZva2Ugc2V0X2Zvcm1hdCBpZiBpbmNvbWluZyBmb3JtYXQgcmVhbGx5IGNoYW5nZWQsCgkgIGFuZCBmaW5pc2ggY3VycmVudCBmb3JtYXQgaWYgc28gKGFuZCBpZiBhbnkgY3VycmVudCkuCgoyMDExLTAzLTIzIDIyOjE3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVsYWJvcmF0ZSBmaW5pc2ggdG8gZHJhaW5pbmcKCjIwMTEtMDMtMjQgMDk6MjE6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlCgkgIFdoaWxlIHRoaXMgY2hhbmdlcyBvcmRlciB3LnIudC4gc2V0X2Zvcm1hdCwgd2hpY2ggaXMgT0sgZm9yIHVuc3RhYmxlIEFQSSwKCSAgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogbGl0dGxlIGJlbmVmaXQgaW4gaW52b2tpbmcgMiBzdWJjbGFzcyB2aXJ0dWFsIG1ldGhvZHMgKHNldF9mb3JtYXQgYW5kIHN0YXJ0KQoJICBpbiBpbW1lZGlhdGUgc3VjY2Vzc2lvbjsgYWxsIGFjdGlvbnMgaW4gdGhlIHNlY29uZCBjb3VsZCBiZSBkb25lIGluIHRoZSBmaXJzdAoJICB3aGVyZWFzIHN1YmNsYXNzIGhhcyBubyBjaGFuY2UgdG8gZG8gYW55dGhpbmcgJ2dsb2JhbCcgYXQgYWN0aXZhdGlvbiB0aW1lCgkgIE1vcmVvdmVyLCBjdXJyZW50IC1iYWQgc3ViY2xhc3MgcmVsZXZhbnQgbWV0aG9kcyBlaXRoZXIgdHJpdmlhbGx5IGNvbW11dGUKCSAgb3IgYXJlIGVpdGhlciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTAzLTI0IDA4OjIxOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVuYWJsZSBjbGlwcGluZyBieSBkZWZhdWx0CgoyMDExLTAzLTI0IDA4OjE3OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHJlc2V0IG1vcmUgc3RhdGUKCjIwMTEtMDMtMjQgMDg6NTY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaGVhZGVyIGNvc21ldGljIGFuZCBkb2MgZml4ZXMKCjIwMTEtMDMtMjMgMDk6NDU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSByZWR1bmRhbnQgY2FwcyBmaWVsZAoJICAuLi4gYXMgaXQgaXMgYWxyZWFkeSBhdCBoYW5kIGFzIHRoZSBzcmMgcGFkJ3MgbmVnb3RpYXRlZCBjYXBzLgoKMjAxMS0wMy0yMyAwOTozMjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDMtMjMgMDg6NTA6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiB1c2UgYmFzZWNsYXNzIGV2ZW50IHZpcnR1YWwgaGFuZGxlcgoKMjAxMS0wMy0yMyAwODo0OTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBhZGQgZXZlbnQgdmlydHVhbCBtZXRob2QgdG8gYWxsb3cgc3ViY2xhc3MgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDMtMjMgMDg6MzU6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW1wcm92ZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDMtMjIgMTM6MTk6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBkZWJ1ZyBzdHlsZSBmaXhlcwoKMjAxMS0wMy0yMSAxODowMjoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgdW51c2VkIGNvZGUgY2x1dHRlcmluZyB1cCB0aGUgcGxhY2UKCSAgQWxzbyBtaW5vciBkZWJ1ZyBzdHlsZSBmaXhlcy4KCjIwMTEtMDMtMjEgMTc6NDQ6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2Rlcjogc2ltcGxpZnkgbmVnb3RpYXRlZCBjaGVja2luZwoJICAuLi4gYnkgYXZvaWRpbmcgc29tZSBleHRyYW5lb3VzICh1bilyZWYnaW5nLgoKMjAxMS0wMy0yNCAxNDoxNjoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBjb2RlIGNsZWFudXAgYW5kIHNvbWUgZGVidWcKCSAgQWxzbyBhZGQgc29tZSBtaW5vciBsb2NraW5nIGFuZCByZW1vdmUgdW51c2VkIGJpdHMuCgoyMDExLTA1LTE2IDA5OjA3OjU3ICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgdXNlIFBBVEhfTUFYCgkgIFBBVEhfTUFYIGlzIG5vdCBkZWZpbmVkIG9uIEdOVSBIdXJkIGFuZCBvdGhlcnMuIEFsc28gZml4CgkgIGZvcm1hdCBzdHJpbmcuCgoyMDExLTA1LTE0IDE0OjQ4OjU2ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSAgZ3N0L2RjY3A6IGZpeCBidWlsZCBvbiBuZXdlciBtaW5ndwoJICBGaXggdGhpcyBidWlsZCBlcnJvcjoKCSAgQ0MgICAgIGxpYmdzdGRjY3BfbGEtZ3N0ZGNjcHBsdWdpbi5sbwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOjI5OjAsCgkgIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI0OgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOjMyOjA6IHdhcm5pbmc6IFdJTlZFUiByZWRlZmluZWQgW2VuYWJsZWQgYnkgZGVmYXVsdF0KCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjQ6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOjU4OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNTowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOjc0OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNjowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOjY3OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNzowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6NTg6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBtYWtlOiAqKiogW2xpYmdzdGRjY3BfbGEtZ3N0ZGNjcHBsdWdpbi5sb10gRXJyb3IgMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMTcxCgoyMDExLTA1LTE1IDEwOjA0OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBidW1wIHRoZSByYW5rIG9mIHF0a2l0dmlkZW9zcmMgdG8gUFJJTUFSWQoKMjAxMS0wNS0xNSAxMDowMDo0NCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzOiBmaXggaGFuZGxpbmcgb2Ygc3Ryb2woKSBvdmVyZmxvd3MKCjIwMTEtMDUtMTQgMTI6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgZXh0L2FtcndiZW5jIGRpcmVjdG9yeSwgaXQncyBleHQvdm9hbXJ3YmVuYyBub3cKCjIwMTEtMDUtMTMgMDE6MDM6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVlbmNvZGVyOiBGaXggdXNlIGFmdGVyIGZyZWUgYWZ0ZXIgc3RhdGUgY2hhbmdlIHRyYW5zaXRpb24KCjIwMTEtMDQtMTggMjM6NDA6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzb21lIG1pbm9yIGRvYyBjaGFuZ2VzLgoKMjAxMS0wNC0yNCAyMTowNjoyOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNvbWUgbWlub3IgZG9jIGNoYW5nZXMKCjIwMTEtMDQtMTkgMTk6MDk6MzAgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuZGViZXRoZW5jb3VydEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDExLTA0LTE5IDEwOjMyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSAgYWFjZW5jOiBJbnRlZ3JhdGUgaW50byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAxMS0wNC0xOSAxMDowNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9SRUFETUU6CgkqIGV4dC92b2FtcndiZW5jL0dzdFZvQW1yd2JFbmMucHJzOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSAgYW1yd2JlbmM6IFN3aXRjaCB0byB0aGUgZnJlZSB2by1hbXJ3YmVuYyBsaWJyYXJ5CgkgIEFuZCByZW5hbWUgZXZlcnl0aGluZyB0byB2b2FtcndiZW5jIGluc3RlYWQgb2YgYW1yd2JlbmMuCgoyMDExLTA0LTE1IDExOjE5OjIwICswMjAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBEZXRlY3Qgb3V0cHV0IGZvcm1hdCBmcm9tIGRvd25zdHJlYW0gY2FwcyBjaGFuZ2UgdW5pdCB0ZXN0CgoyMDExLTA0LTE5IDA5OjUyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2b2FhZW5jOiBGaXggQ0ZMQUdTL0xJQlMgb2YgdGhlIHVuaXQgdGVzdAoKMjAxMS0wNC0xOSAwOTo0OTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBPbmx5IGdlbmVyYXRlIHNpbmtjYXBzIG9uY2UgYW5kIGluIGEgdGhyZWFkc2FmZSB3YXkKCjIwMTEtMDQtMTkgMDk6NDI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBBZGQgTlVMTCB0ZXJtaW5hdG9yIHRvIGdzdF9zdHJ1Y3R1cmVfbmV3KCkKCjIwMTEtMDQtMTkgMDk6NDA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogU29tZSBtaW5vciBjbGVhbnVwCgoyMDExLTA0LTE5IDA5OjM0OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSAgdm9hYWNlbmM6IEZpeCBDRkxBR1MgYW5kIExJQlMKCjIwMTEtMDQtMTggMTc6MTk6MDAgKzAyMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBBZGQgbmV3IHBsdWdpbiBmb3IgYXVkaW8gQUFDIGVuY29kZXIgYmFzZWQgb24gdm8tYWFjZW5jIGxpYgoJICBBZGQgcGx1Z2luIGFuZCB1bml0IHRlc3QuCgkgIEZpeGVzIGJ1ZyAjNjQ3NzQ4LgoKMjAxMS0wNS0xNCAxMDoxOTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIyID09PQoKMjAxMS0wNS0xMCAxMTozNTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIyCgkgIEhpZ2hsaWdodHM6CgkgIC0gaGxzZGVtdXg6IEFkZCBIVFRQIGxpdmUgc3RyZWFtaW5nIHBhcnNlci9kZW11eGVyIGVsZW1lbnQKCSAgLSBuZXcgZWxlbWVudHM6IGgyNjNwYXJzZSwgemVicmFzdHJpcGUsIHBhdGNoZGV0ZWN0CgkgIC0gc2NlbmVjaGFuZ2U6IG5ldyBzY2VuZSBjaGFuZ2UgZGV0ZWN0aW9uIGVsZW1lbnQKCSAgLSByZW1vdmVkIGF1ZGlvcGFyc2Vyc2JhZCBwbHVnaW4sIGl0IGhhcyBiZWVuIG1vdmVkIHRvIC1nb29kCgkgIC0gbWFrZSBvcGVuY3YgcGx1Z2luIHdvcmsgd2l0aCBPcGVuQ1YgMi4yCgkgIC0gY291bnRsZXNzIChzdGlsbCBleHBlcmltZW50YWwpIGNhbWVyYWJpbjIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoJICAtIGV4cGVyaW1lbnRhbCBWUDggUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciAoUlRQIHBheWxvYWRpbmcgbm90IGZpbmFsaXNlZCB5ZXQpCgkgIC0gY3VybHNpbms6IGFkZCBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudCAoYWN0cyBhcyBjbGllbnQsIG5vdCBzZXJ2ZXIpCgkgIC0gZGVja2xpbms6IGFkZCBkZWNrbGluayBwbHVnaW4KCSAgLSBsaW5zeXM6IGFkZCBwbHVnaW4gZm9yIExpbmVhciBTeXN0ZW1zIFNESSBib2FyZHMKCSAgLSBzZGk6IGFkZCByYXcgU0RJIG11eGluZy9kZW11eGluZyBlbGVtZW50cwoJICAtIGNhbWVyYWJpbiBub3cgcmVsaWVzIG9uIG11eGVycyB0byBtdXggYmFzZWQgb24gcnVubmluZyB0aW1lIChpZS4gbGF0ZXN0IGJhc2UvZ29vZC91Z2x5IHJlbGVhc2VzKQoJICAtIG1hbnkgb3RoZXIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoKMjAxMS0wNS0wNSAwOTo1NDozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiBVc2UgcnVubmluZyB0aW1lIGZvciBtdXhpbmcKCSAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBhdWRpbyBzb3VyY2UgYnVmZmVyIHByb2JlIHRoYXQgd2FzIHVzZWQKCSAgdG8gcmUtdGltZXN0YW1wIGJ1ZmZlcnMgdG8gbWFrZSB0aGVtIHN0YXJ0IGZyb20gMC4gQXMgbXV4ZXJzCgkgIGhhdmUgYmVlbiBmaXhlZCB0byB1c2UgcnVubmluZyB0aW1lIGluc3RlYWQgb2YgdGltZXN0YW1wcywgdGhpcwoJICBpcyBub3QgbmVlZGVkIGFueW1vcmUuCgkgIEZpeGVzIGJ1ZyAjNjQ2MjExCgoyMDExLTA0LTIxIDE5OjU4OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBGaXggdHlwbwoKMjAxMS0wNS0wNCAxMjozNjowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGRvIG5vdCBsZWFrIHBlZXIgcGFkIHJlZmVyZW5jZQoKMjAxMS0wNS0wMyAxNTo0NzowMiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEFsd2F5cyByZXR1cm4gcmVmZmVkIGNhcHMgZnJvbSBfZ2V0Y2FwcwoJICBOb3QgcmV0dXJuaW5nIHJlZiBjYXBzIHdpbGwgbGVhZHMgdG8gY3Jhc2hlcyBhbmQgcmVmY291bnRpbmcgaXNzdWVzIGluCgkgIHVwc3RyZWFtIGVsZW1lbnRzCgoyMDExLTA0LTE0IDEzOjM0OjUzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHNldCBkdXJhdGlvbiBpbiBvdXRnb2luZyBidWZmZXJzCgkgIEN1cnJlbnRseSB3ZSBwdXNoIGVhY2ggZnJhZ21lbnQgYXMgYSBzaW5nbGUgYnVmZmVyLgoKMjAxMS0wNS0wMyAxMjowMToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggRFVSQVRJT04gcXVlcnkgaGFuZGxpbmcKCSAgT25seSBhbnN3ZXIgZHVyYXRpb24gcXVlcmllcyBpbiBUSU1FIGZvcm1hdCB3aXRoIGEgZHVyYXRpb24KCSAgaW4gc2Vjb25kcy4gTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzCgkgIGR1cmF0aW9uICh3aGljaCBpcyBub24tMCwgYnV0IHN0aWxsIGludmFsaWQvdXNlbGVzcykuCgoyMDExLTA1LTAzIDExOjUxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDExLTA1LTAzIDA5OjU1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IFVzZSB0aGUgdXNlciBjb25maWcgZGlyIGluc3RlYWQgb2YgdGhlIGNhY2hlIGRpciBmb3IgdGhlIGNoYW5uZWxzIGNvbmZpZ3VyYXRpb24KCjIwMTEtMDQtMjkgMTQ6Mzc6MDQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBtb3ZlZCBkdmItY2hhbm5lbHMuY29uZiB0byAkWERHX0NBQ0hFX0hPTUUKCjIwMTEtMDQtMzAgMTk6NDc6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2ZyLnBvOgoJKiBwby91ay5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjQgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMzAgMTk6NDY6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSAgVXBkYXRlIG9yYy1nZW5lcmF0ZWQgZGlzdGVkIEMgYmFja3VwIGNvZGUgdG8gb3JjIDAuNC4xNAoKMjAxMS0wNC0zMCAxOToxNToxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkgIGNob3BteWRhdGE6IGRvbid0IHB1c2ggYnVmZmVycyBzbWFsbGVyIHRoYW4gbWluLXNpemUgb24gZW9zCgkgIFdoZW4gcHVzaGluZyB0aGUgcmVtYWluaW5nIGRhdGEgb24gRU9TLCBkb24ndCBqdXN0IHB1c2ggd2hhdGV2ZXIKCSAgZGF0YSBpcyBsZWZ0IGluIHRoZSBhZGFwdGVyLCBidXQgb25seSBwdXNoIGRhdGEgdGhhdCdzIGF0IGxlYXN0CgkgIG9mIG1pbi1zaXplLgoKMjAxMS0wNC0zMCAxOTowODoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkgIGNob3BteWRhdGE6IGRvbid0IG1lc3Mgd2l0aCBhZGFwdGVyIGZyb20gbm9uLXN0cmVhbWluZyB0aHJlYWQgb24gRkxVU0hfU1RBUlQKCSAgRG9uJ3QgdHJ5IHRvIHB1c2ggcmVtYWluaW5nIGRhdGEgaW4gdGhlIGFkYXB0ZXIgb24gcmVjZWl2aW5nIGEgRkxVU0ggZXZlbnQsCgkgIGp1c3QgZmx1c2ggdGhlIGFkYXB0ZXIuIERvIHRoaXMgb24gRkxVU0hfU1RPUCwgaG93ZXZlciwgd2hpY2ggaXMgc2VyaWFsaXplZCwKCSAgdW5saWtlIEZMVVNIX1NUQVJULCBzbyB3ZSBkb24ndCBtZXNzIHdpdGggdGhlIGFkYXB0ZXIgYXQgdGhlIHNhbWUgdGltZSBhcwoJICB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDQtMzAgMTE6Mjg6MDMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGFkZCBwbHVnaW4gZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTAwNQoKMjAxMS0wNC0yOSAxMjozOTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBsZWFrIGJ1ZmZlcmxpc3Qgb24gc3RyZWFtcyB3aXRob3V0IHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjozODozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBVbnJlZiBidWZmZXJzIHdlIGRvbid0IHVzZS4KCSAgQXZvaWRzIGEgbWFzc2l2ZSBsZWFrIDopCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6MDg6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgZm9yZ2V0IHRvIGZyZWUgdGhlIHByb2dyYW0gc3RyZWFtcyBhcnJheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjA4OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZyZWUgcGFja2V0IGJ1ZmZlciBldmVuIGlmIGl0IGRvZXNuJ3QgaGF2ZSBhIHBheWxvYWQKCSAgVGhpcyBjYW4gaGFwcGVuIHdpdGggQUZDLW9ubHkgcGFja2V0cy4gQXZvaWRzIGxlYWtpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOCAxMDowNzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRlY2tsaW5rOiBDaGVjayBmb3IgcHRocmVhZC5oIGFuZCBsaW5rIHdpdGggLWxwdGhyZWFkCgoyMDExLTA0LTI4IDEwOjA0OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCB0byBTVUJESVJTCgoyMDExLTA0LTI4IDAwOjAwOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogcG8vYmcucG86CgkqIHBvL2phLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4zIHByZS1yZWxlYXNlCgoyMDExLTA0LTI3IDIzOjQzOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICB0b29sczogZGlzYWJsZSBuZXcgZ3N0LWVsZW1lbnQtbWFrZXIgdGVzdAoJICBJdCBkb2Vzbid0IHNlZW0gdG8gd29yayBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cCwgYW5kCgkgIGJyZWFrcyBtYWtlIGRpc3RjaGVjayBmb3IgbWUuCgoyMDExLTA0LTI3IDAxOjE0OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogdGhlIGJyb2VrbiB0ZW1wbGF0ZXMgYXJlIG5vdCBicm9la24sIGJ1dCBkZXBlbmRlbmNpZXMKCSAgUmVuYW1lIHRoZSBsaXN0IGFuZCBkaXN0IHRoZW0uIFdlIG5lZWQgdGhlbSBmb3IgdGhlIGFjdHVhbCB0ZW1wbGF0ZXMuCgoyMDExLTA0LTI2IDE1OjEzOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IHNldCBDUFBGTEFHUyB0byBtYWtlIHRlbXBsYXRlcyB1c2luZyB1bmluc3RhbGxlZCBoZWFkZXJzIHdvcmsKCjIwMTEtMDQtMjYgMTQ6MjE6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJICBlbGVtZW50LW1ha2VyOiBmaXh1cCBnb2JqZWN0IHRlbXBsYXRlIGEgYml0IGJ1dCBkaXNhYmxlIGZvciBub3cKCSAgVGhlIHRlbXBsYXRlIGNvbnRhaW5zIHRoaW5ncyB3ZSBhbHJlYWR5IGRlZmluZSBieSBkZWZhdWx0LgoKMjAxMS0wNC0yNiAxNDoxMDowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdGFnZGVtdXg6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBmaXggdGVtcGxhdGVzCgkgIFVzZSB0aGUgb2JqZWN0IGNsYXNzIGFuZCBub3QgdGhlIG9iamVjdCBpbiB0aGUgaW5pdCBmdW5jdGlvbi4gU2V0IHRoZSB2bWV0aG9kcy4KCSAgQWRkIGRlZmF1bHQgcmV0dXJucy4KCjIwMTEtMDQtMjYgMTQ6MDg6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiBkb24ndCBkaXN0IGluY29tcGxldGUgdGVtcGxhdGVzCgkgIE1vdmUgbm90IHdvcmtpbmcgdGVtcGxhdGVzIHRvIGEgc2VwYXJhdGUgdmFyaWFibGUgdG8gaGlnaGxpZ2h0IHRoZSBmYWN0IHRoYXQKCSAgdGhleSBuZWVkIG1vcmUgd29yay4gVGhlc2UgbmVlZCBhdCBsZWFzdCB0aGUgY2xhc3MgYW5kIHR5cGUgZmllbGRzIGZpbGxlZC4KCjIwMTEtMDQtMjYgMTM6NDQ6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlci10ZXN0LnNoOgoJICBlbGVtZW50LW1ha2VyLXRlc3Q6IHRyeSB0byBydW4gZWxlbWVudC1tYWtlciBmb3IgYWxsIHRlbXBsYXRlcwoJICBBZGQgYW4gZWFzeSB3YXkgdG8gY2hlY2sgdGhlIGVsZW1lbnQtbWFrZXIgdGVtcGxhdGVzLgoKMjAxMS0wNC0yNiAxMzo0Mjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IG1ha2UgaXQgZmFpbCwgd2hlbiBjb21waWxhdGlvbiBmYWlscwoKMjAxMS0wNC0xOSAxNTowOTo1NCAtMDQwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGFsbG93IHRvIHJ1biBmcm9tIGEgZGlmZmVyZW50IHdvcmtpbmcgZGlyZWN0b3J5CgkgIEdldCB0aGUgZGlybmFtZSBmb3IgdGhlIHNjcmlwdCBhbmQgdXNlIHRoYXQgdG8gcmVmZXJlbmNlIHRoZSB0ZW1wbGF0ZXMuIFVzZSB0aGUKCSAgdGVtcGxhdGVkaXIgdmFyaWFibGUgdG8gY2hlY2sgZm9yIHRlbXBsYXRlcy4KCjIwMTEtMDQtMTYgMTk6NDI6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGxvd2VyY2FzaWZ5IGlucHV0CgkgIFRoaXMgYWxsb3dzIHVzaW5nIGNhcGl0YWxpemVkIGFjcm9ueW1zIGluIGNsYXNzIG5hbWVzLCBzbyB1c2luZwoJICAiQVZDX3NyYyIgb24gdGhlIGNvbW1hbmQgbGluZSB3aWxsIGNyZWF0ZSBmaWxlbmFtZSBnc3RhdmNzcmMuYywKCSAgY2xhc3MgbmFtZSBHc3RBVkNTcmMsIGFuZCBzeW1ib2wgbmFtZXMgZ3N0X2F2Y19zcmNfKi4KCjIwMTEtMDQtMjQgMTY6NDI6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eCx0c2RlbXV4OiBBZGQgYnl0ZS1zdHJlYW0gdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIuCgoyMDExLTA0LTI0IDE2OjAwOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERvbid0IGFsbG93IGJ1ZmZlcnMgYWZ0ZXIgRU9TCgkgIEZpeGVzICM2NDc4NTIuCgoyMDExLTA0LTI0IDE1OjQ5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRG9uJ3QgZHVwbGljYXRlIGNvZGUgaW4gYmFzZXZpZGVvY29kZWMKCSAgQm90aCBiYXNldmlkZW9lbmNvZGVyIGFuZCBiYXNldmlkZW9jb2RlYyB3ZXJlIHNldHRpbmcKCSAgc3lzdGVtX2ZyYW1lX251bWJlciwgbGVhZGluZyB0byBjb25mdXNpb24uICBGaXhlcyAjNjQ3ODUzLgoKMjAxMS0wNC0xNCAxNjoyMToxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IENoZWNrIGlmIGNhcHMgYXJlIHNldCBkaXJlY3RseQoJICBGaXhlcyAjNjQ3ODU0LgoKMjAxMS0wNC0xNyAwMDowODozOSArMDEwMCAgTWloYWkgRHJhZ2hpY2lvaXUgPG1paGFpLmRyYWdoaWNpb2l1QGdtYWlsLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogZml4IGluZmluaXRlIGxvb3BpbmcgYnkgZmFkaW5nIG91dCBhZnRlciB0d28gbG9vcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzM2NAoKMjAxMS0wNC0yNCAxNDowNDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMzY2FmZTEgdG8gNDZkZmNlYQoKMjAxMS0wNC0yMiAwOTozNzoyOSArMDEwMCAgRmFicml6aW8gTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBtYWtlIHdvcmsgd2l0aCBvcGVuQ1YgMi4yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE3OTYKCjIwMTEtMDQtMTkgMTc6MDI6NDUgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMS0wNC0xNSAyMjoyNToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEFkZCBieXRlLXN0cmVhbSB0byBoMjY0IGNhcHMKCjIwMTEtMDQtMTggMTI6MDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgd2F2cGFjazogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjU3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo1MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogUmVtb3ZlIHVudXNlZC91bm5lZWRlZCBDRkxBR1MvTElCUyBhbmQgbW92ZSAkKExJQk0pIHRvIExJQkFERAoKMjAxMS0wNC0xOCAxMTo0MzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBsaW5zeXM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBiYXNlc2luay9iYXNlc3JjCgkgIEFuZCByZW1vdmUgZW1wdHkgYW5kIHVudXNlZCB2YXJpYWJsZXMuCgoyMDExLTA0LTE3IDE5OjA5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IERpc3QgYWxsIGhlYWRlcnMgYW5kIHB1dCB0aGVtIGluIG5vaW5zdF9IRUFERVJTCgoyMDExLTA0LTE3IDE5OjA5OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIGxpbnN5czogRGlzdCBhbGwgaGVhZGVycyBhbmQgcHV0IHRoZW0gaW4gbm9pbnN0X0hFQURFUlMKCjIwMTEtMDQtMTcgMTE6NTQ6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBsaW5zeXMvZGVja2xpbmsgY2hlY2tzIGZvciBMaW51eAoKMjAxMS0wNC0xNyAwMToxMDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE3IDAxOjA5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSAgZXh0LCBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGJhY2t1cCBmaWxlcwoKMjAxMS0wNC0xNyAwMDo1NDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE2IDE2OjM2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDExLTA0LTE0IDIwOjQ2OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVmYWN0b3IgYmxpdHRpbmcsIGF2b2lkIHdyaXRpbmcgcGFzdCBlbmQgb2YgYnVmZmVyCgkgIFByZXZpb3VzIGJsaXR0aW5nIGNvZGUgY291bGQgcG90ZW50aWFsbHkgd3JpdGUgcGFzdCB0aGUKCSAgZW5kIG9mIHRoZSBidWZmZXIgaWYgdGhlIHggb3IgeSBwb3NpdGlvbiB3YXMgb2RkLCBhbmQgZm9yCgkgIHRoZSBzYW1lIHVuZGVybHlpbmcgcmVhc29uLCBkaWRuJ3QgZ2V0IHRoZSBjaHJvbWEgcmVnaXN0cmF0aW9uCgkgIGNvcnJlY3QgaW4gdGhlIG9kZCBwb3NpdGlvbiBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3ODMwCgoyMDExLTA0LTE2IDExOjE4OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTEtMDQtMTQgMjA6Mzk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgdGhlIGZmbXBlZ2NvbG9yc3BhY2UKCSAgRG8gbm90IGxlYWsgdGhlIGZmbXBlZ2NvbG9yc3BhY2UgYnkgdW5yZWZpbmcgaXQgYXQgZGlzcG9zZQoKMjAxMS0wNC0xNCAxNjo0ODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdDogY2FtZXJhYmluOiBNb3JlIGxlYWsgZml4ZXMKCjIwMTEtMDQtMTUgMTA6NDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvZ3NldHRpbmdzLm00OgoJICBtNDogVXBkYXRlIGdzZXR0aW5ncyBtNCBtYWNyb3MKCjIwMTEtMDQtMTQgMTY6MjQ6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIG9yYyByZXF1aXJlbWVudCB0byAwLjQuMTEKCjIwMTEtMDQtMTUgMDA6MDk6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIEZpeCBzb21lIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxOTo1MzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJICBlbGVtZW50LXRlbXBsYXRlczogY2xlYW4gdXAgZ29iamVjdCB0ZW1wbGF0ZSBhIGJpdAoJICBSZW1vdmUgcG9pbnRsZXNzIGdfcmV0dXJuX2lmX2ZhaWwgKEdfSVNfRk9PIChvYmopKSBjaGVja3MgaW4KCSAgdmZ1bmMgaW1wbGVtZW50YXRpb25zLiBDb21tZW50IG91dCB1bnVzZWQgdmFyaWFibGVzIHRvIGF2b2lkCgkgIHdhcm5pbmdzIHdpdGggZ2NjIDQuNi4KCjIwMTEtMDQtMTQgMTg6MzY6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgYXNmbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE4OjM2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgYmF5ZXI6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTQ6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogTGVhayBmaXhlcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgTGVhayBmaXhlcyByZWxhdGVkIHRvIG5vdCByZW1vdmluZyB0aGUgc291cmNlIHJldHVybmVkIGZyb20KCSAgZ3N0X2J1c19hZGRfd2F0Y2gKCjIwMTEtMDQtMTQgMTM6Mjc6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IFNvbWUgbGVhayBmaXhlcwoJICBMZWFrIGZpeGVzIHJlbGF0ZWQgdG8gcmVtb3ZpbmcgdGhlIHNvdXJjZSByZXR1cm5lZCBmcm9tCgkgIGdzdF9idXNfYWRkX3dhdGNoCgoyMDExLTA0LTEzIDE1OjA1OjE1IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkby52ZXJkZWpvQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0dzdEFuZHJvaWQuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnJpbmdidWZmZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5jOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmg6CgkgIFJlbW92ZSBhdWRpb2ZsaW5nZXJzaW5rCgkgIFJlbW92ZSBhdWRpb2ZsaW5nZXJzaW5rLCBpdCdzIGluIGdzdC1hbmRyb2lkIG5vdy4KCjIwMTEtMDQtMTQgMTY6NDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxNjoxNDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYXNyYzogYWRkIHVuc3RhYmxlLUFQSSB3YXJuaW5ncyBpZiBHU1RfVVNFX1VOU1RBQkxFX0FQSSBpcyBub3QgZGVmaW5lZAoJICBTbyBwZW9wbGUga25vdyB0aGlzIGlzIHVuc3RhYmxlIEFQSSBldmVuIGlmIGl0IGVuZHMgdXAgcmlnaHQgbmV4dAoJICB0byBvdXIgb3RoZXIgQVBJLgoKMjAxMS0wNC0xNCAxNjoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbWVkaWEtaW5mby8uZ2l0aWdub3JlOgoJICBsaWJzOiByZW1vdmUgbGVmdG92ZXIgbWVkaWEtaW5mbyBkaXJlY3RvcnkKCjIwMTEtMDQtMTMgMjI6NDg6MjggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IG0zdTg6IHJldHVybiBkdXJhdGlvbiBpbiBuYW5vc2Vjb25kcwoKMjAxMS0wNC0xMyAyMzozNTo1MCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBoYW5kbGluZyBvZiBlbmQgb2YgcGxheWxpc3QKCSAgRG9uJ3Qgc2VuZCB0aGUgRU9TIGV2ZW50IHVudGlsIHdlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QKCSAgYW5kIHRoZSBxdWV1ZSBpcyByZWFsbHkgZW1wdHkuCgoyMDExLTA0LTEzIDIyOjI1OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUKCjIwMTEtMDQtMTMgMjM6MDY6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpZ25vcmUgc2VlayBldmVudHMgdW50aWwgaXQncyBpbXBsZW1lbnRlZAoKMjAxMS0wNC0xMyAyMjoxNzowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRpc3Bvc2UgdGhlIGZldGNoZXIgZnJvbSB0aGUgc2FtZSB0aHJlYWQgaXQncyBjcmVhdGVkCgoyMDExLTA0LTE0IDExOjI4OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOjogZml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgR0xpYgoJICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoKSBpcyBuZXcgaW4gR0xpYiAyLjI2LCBidXQgd2Ugb25seSByZXF1aXJlIDIuMjIuCgoyMDExLTA0LTE0IDA3OjIxOjUwICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBhIGxvdCBvZiBuZXcgcGx1Z2lucwoKMjAxMS0wNC0xMyAyMzo1OTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0IGZvciBuZXcgZXhwb3N1cmUgY29tcGVuc2F0aW9uIHRhZwoJICBBZGRzIGEgdGVzdCBmb3IgR1NUX1RBR19DQVBUVVJJTkdfRVhQT1NVUkVfQ09NUEVOU0FUSU9OIG9uCgkgIGppZm11eCBjaGVjayB0ZXN0cy4KCjIwMTEtMDQtMTMgMjE6NTg6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZjogTW92ZSBkdXBsaWNhdGUgI2RlZmluZXMgaW50byBhIGNvbW1vbiBpbmNsdWRlCgkgIENlbnRyYWxpemUgZHVwbGljYXRlZCBjb25zdGFudHMgc28gdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlLgoJICBBbHNvIHN0YW5kYXJkaXNlIG1pbmltdW0gdG9uZSBkdXJhdGlvbiB0byAyNTBtcyBhbmQgbWluaW11bSBpbnRlci10b25lCgkgIGludGVydmFsIHRvIDEwMG1zLgoKMjAxMS0wNC0xMyAyMjozMzozNyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBQcmVzZXJ2ZSB1bnVzZWQgaW1hZ2ViaW4gb3IgdmlkZW9iaW4gb24gTlVMTAoJICBJZiB2aWRlbyBvciBpbWFnZSBtb2RlIGlzIG5ldmVyIHNlbGVjdGVkIHRoZW4gcmVzcGVjdGl2ZSBiaW4gaXMgaW4gTlVMTCBzdGF0ZS4KCSAgUHJlc2VydmUgdGhpcyBzdGF0ZSB3aGVuIHJlc2V0dGluZyBjYW1lcmFiaW4gZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgoyMDExLTA0LTEzIDIyOjA3OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJICBwbm06IGFkZCBMSUJUT09MRkxBR1MgPSAtLXRhZz1kaXNhYmxlLXN0YXRpYwoKMjAxMS0wNC0xMyAyMDoyNjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uCgkgIFRoaXMgYWxsb3dzIHRvIHNldCB3aWR0aC9oZWlnaHQvZXRjIHJlc3RyaWN0aW9ucyB0byBiZSBzZXQgZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM2NDc0OTguCgoyMDExLTA0LTEyIDIxOjQ3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHF0bXV4OiByZW1vdmUgcXRtdXggcGx1Z2luLCBpdCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xMyAxNjozMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGxpYmV4aWYgcGtnLWNvbmZpZyBjaGVjawoJICBUaGVyZSdzIG5vIGV4aWYgcGx1Z2luIHNvIGRvbid0IHVzZSBBR19HU1RfQ0hFQ0tfRkVBVFVSRS4KCSAgRml4ZXMgYnVnICM2NDc1NjQuCgoyMDExLTA0LTEyIDE2OjQyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIGxlZnRvdmVyIE1BRU1PX0JST0tFTiBkZWZpbmVzCgkgIFJlbW92ZSBkZWZpbmVzIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gb2xkIE1hZW1vIHJlbGVhc2VzCgoyMDExLTA0LTExIDE0OjQ0OjE3IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjb3JuZXIgY2FzZSBmb3IgcHJldmlldyBwb3N0aW5nCgkgIEZpeCBjb3JuZXIgY2FzZSB3aGVyZSB2aWRlbyBwcmV2aWV3IGltYWdlIGlzIG5vdCBwb3N0ZWQgaWYgc3RvcHBpbmcKCSAgdmlkZW8gY2FwdHVyZSBpbW1lZGlhdGVseSBhZnRlciBjYXB0dXJlIHN0YXJ0LgoKMjAxMS0wNC0xMSAxODozMTo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogc3VidHJhY3QgaWQtc3RyIHNpemUgZnJvbSB0aGUgcmVtYWluaW5nIHJlYWQKCSAgRml4ZXMgYSByZWdyZXNzaW9uIGZyb20gdGhlIHBhdGNoZXMgaW4gYnVnICM2MjY2MTguCgoyMDExLTA0LTExIDE4OjMwOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBqcGVnOiBzZXQgdGFncyB0byBOVUxMIGF0IGluaXQgdGltZSBhbmQgYWZ0ZXIgZnJlZWluZyB0aGVtCgoyMDExLTA0LTExIDE4OjI5OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAganBlZzogY29tbWVudCBhbmQgbG9nZ2luZyBjaGFuZ2VzCgoyMDExLTA0LTEwIDE5OjUzOjM1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnc3RfanBlZ19wYXJzZV9yZW1vdmVfbWFya2VyKCkKCSAgVGhpcyBmdW5jdGlvbiB3aWxsIHJlbW92ZSB0aGUgd2hvbGUgbWFya2VyIGZyb20gdGhlIGJ1ZmZlci4KCSAgQWxzbyB3ZSBzZXQgaXQgYXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1hcmtlciBKUEd7MC0xM30/IGluIG9yZGVyIHRvIGF2b2lkCgkgIGEgdXNlbGVzcyAjaWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0wOC0xMyAxMjozODowMiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZWZhY3RvciBDT00gcGFyc2luZwoJICBhZGQgZ3N0X2pwZWdfcGFyc2VfY29tICgpIGFuZCBnZXRfdXRmOF9mcm9tX2RhdGEgKCkgdG8gZXh0cmFjdCBhbmQKCSAgdmFsaWRhdGUgY29tbWVudCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxODoyMjowNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZWZhY3RvciBBUFAxIHBhcnNpbmcKCSAgYWRkIGdzdF9qcGVnX3BhcnNlX2FwcDEgKCkgYW5kIGV4dHJhY3RfYW5kX3F1ZXVlX3RhZ3MgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0yMSAxNTowNTo0MyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBsb2cgaWQgd2hlbiBza2lwcGluZyBhbiB1bmhhbmRsZWQgQVBQIG1hcmtlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE3OjQ3OjE3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHNraXAgYWxsIEFQUCBtYXJrZXJzLCBleGNlcHRpbmcgQVBQMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTIxIDE1OjA5OjE3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnZXRfdGFnX2xpc3QgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMS0wNC0xMSAwMDozNjozNSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTEwIDAwOjIyOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiBkaXN0IG5ldyB2aWRlb2ZpbHRlcjIgdGVtcGxhdGUKCjIwMTEtMDQtMDkgMTM6NDA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNC0wOSAxMDowMzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkIGxhc3QtbWVzc2FnZSBwcm9wZXJ0eSBhbmQgbmV2ZXIgcHJpbnQgYW55dGhpbmcgdG8gc3Rkb3V0CgkgIEluc3RlYWQgZXZlcnl0aGluZyB3aWxsIGJlIHB1dCBpbnRvIHRoZSBsYXN0LW1lc3NhZ2UgcHJvcGVydHkgYW5kCgkgIGdzdC1sYXVuY2ggLXYgd2lsbCBwcmludCBhbGwgY2hhbmdlcyBvZiB0aGUgcHJvcGVydHkuIFRoaXMgbWFrZXMKCSAgdGhlIGJlaGF2aW91ciBvZiBmcHNkaXNwbGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUgZmFrZXNpbmsvaWRlbnRpdHkvZXRjCgkgIGJlaGF2aW91ci4KCjIwMTEtMDQtMDkgMDk6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IFJlbmFtZSB2ZXJib3NlIHByb3BlcnR5IHRvIHNpbGVudCBmb3IgY29uc2lzdGVuY3kKCjIwMTEtMDQtMDkgMDA6Mzc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIC1iYWQgdmVyc2lvbiBvZiBiYXNlcGFyc2UgbGlicmFyeSwgbm93IGluIGNvcmUKCjIwMTEtMDQtMDIgMTg6MzA6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICB2aWRlb3BhcnNlcnM6IHBvcnQgdG8gYmFzZXBhcnNlLCB3aGljaCBpcyBub3cgaW4gbGliZ3N0YmFzZSBpbiBjb3JlCgoyMDExLTA0LTA4IDEyOjExOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJICBzY2VuZWNoYW5nZTogbmV3IHNjZW5lIGNoYW5nZSBkZXRlY3Rpb24gZWxlbWVudAoKMjAxMS0wNC0wOCAxMDoyNjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCB2aWRlb2ZpbHRlcjIgdGVtcGxhdGUKCjIwMTEtMDQtMDggMTk6MzI6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIFJlbW92ZSBhdWRpb3BhcnNlcnMgcGx1Z2luLCBpdCBoYXMgYmVlbiBtb3ZlZCB0byAtZ29vZAoKMjAxMS0wNC0wOCAxNDowODoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciB0aGUgcHJvcGVydHkgZW51bXMKCjIwMTEtMDQtMDcgMTU6MTU6NTcgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5OiBBZGQgdmVyYm9zZSBwcm9wZXJ0eQoJICBXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvIFRSVUUgdGhlIGVsZW1lbnQgd2lsbCBkaXNwbGF5IHN0YXRpc3RpY3MKCSAgb24gc3Rkb3V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MDMwCgoyMDExLTA0LTA1IDIxOjA0OjU0ICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiB1cGRhdGUgZm9yIGxhdGVzdCBHc3RYT3ZlcmxheSBjaGFuZ2VzCgkgIEZyb20geHdpbmRvd19pZCB0byB3aW5kb3dfaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTU1CgoyMDExLTA0LTA3IDE4OjMwOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlbGF4IHN5bmMgbWF0Y2ggYSBiaXQgd2hlbiBkcmFpbmluZwoJICAuLi4gdG8gYXQgbGVhc3QgYWxsb3cgaW5pdGlhbCBjYXBzIGNoYW5nZSAoYnV0IG5vIGZ1cnRoZXIgY2FwcyBqaXR0ZXIpLgoKMjAxMS0wNC0wNiAxNTo1ODowNyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkgIGZpZWxkYW5hbHlzaXM6IFVzZSBSRkYgZmxhZyB0byBpbmRpY2F0ZSBidWZmZXJzIHRvIGRyb3AgZG93bnN0cmVhbQoJICBVc2Ugb2YgdGhlIEdBUCBmbGFnIGlzIG5vdCByZWFsbHkgY29ycmVjdCBoZXJlIGFuZCBtYWtlcyBpdCBkaWZmaWN1bHQgdG8KCSAgaGFuZGxlIHJlYWwgR0FQIGJ1ZmZlcnMgaW4gZGVpbnRlcmxhY2UuIFRoZSBSRkYgZmxhZyBpcyB1bnVzZWQgYW5kIGNhbgoJICBiZSByZXVzZWQgd2l0aCBzaW1pbGFyIHNlbWFudGljcyAtIHRoZSBidWZmZXJzIG1hcmtlZCB3aXRoIFJGRiB0aGF0IGFyZQoJICBpbiBhIHRlbGVjaW5lIHN0YXRlIGNvbnRhaW4gb25seSB1bm5lZWRlZCByZXBlYXRlZCBmaWVsZHMgYW5kIHNvIGNhbiBiZQoJICBkcm9wcGVkLgoKMjAxMS0wNC0wNSAxOToyNjoxNSArMDMwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZW5zdXJlIGdzdF9wb2xsX3dhaXQgaXMgY2FsbGVkIGZpcnN0IG9uIGRlc2NyaXB0b3JzCgkgIFdlIG5lZWQgdG8gY2FsbCBnc3RfcG9sbF93YWl0IGJlZm9yZSBjYWxsaW5nIGdzdF9wb2xsXyogc3RhdHVzCgkgIGZ1bmN0aW9ucyBvbiB0aGF0IG5ldyBkZXNjcmlwdG9yLCBzbyByZXN0YXJ0IHRoZSBsb29wLCBzbyBfd2FpdAoJICB3aWxsIGhhdmUgYmVlbiBjYWxsZWQgb24gYWxsIGVsZW1lbnRzIG9mIHNlbGYtPnBvbGwsIHdoZXRoZXIKCSAgdGhleSBoYXZlIGp1c3QgYmVlbiBhZGRlZCBvciBub3QuICovCgoyMDExLTA0LTA2IDIwOjQwOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNobTogRml4IE1TR19OT1NJR05BTCBjaGVjawoJICBJbmNsdWRlIHN5cy9zb2NrZXQuaCBiZWZvcmUgY2hlY2tpbmcgZm9yIE1TR19OT1NJR05BTCwgYWxzbwoJICBjaGVjayB0aGF0IHN5cy9zb2NrZXQuaCBiZWZvcmUgZG9pbmcgYW55IG90aGVyIGNoZWNrcyBmb3Igc2htCgoyMDEwLTEyLTE1IDEwOjM5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcmVseSBvbiB0aGUgYXBwbGljYXRpb24gcnVubmluZyB0aGUgZGVmYXVsdCBHTGliIG1haW4gbG9vcAoJICBEb24ndCB1c2UgZ19pZGxlX2FkZCgpIGFuZCBmcmllbmRzIHRvIHNjaGVkdWxlIHRoaW5ncyB3ZSBjYW4ndCBkbyBmcm9tIHRoZQoJICBzdHJlYW1pbmcgdGhyZWFkIGluIGFub3RoZXIgdGhyZWFkLiBUaGUgYXBwIG1heSBub3QgYmUgcnVubmluZyB0aGUgZGVmYXVsdAoJICBHTGliIG1haW4gbG9vcC4gSW5zdGVhZCwganVzdCBzcGF3biBhIHRocmVhZC4KCSAgQWxzbywgd2UgbmVlZCB0byBjYXJlIGZvciB3aGVuIGFjZXNzaW5nIGEgcGFkIHZhcmlhYmxlLCBhcyBhbm90aGVyIHRocmVhZAoJICBtaWdodCBoYXZlIHRha2VuIGNhbWVyYWJpbiB0byBOVUxMIHdoaWxlIHRoaXMgZ3N0X2NhbWVyYWJpbl9pbWdiaW5fZmluaXNoZWQKCSAgZGlkbid0IHJ1bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTY1NQoKMjAxMS0wNC0wNCAyMDo1NTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZXF1aXJlIHRpZ2h0ZXIgc3luYyBtYXRjaCB3aGVuIGRyYWluaW5nCgoyMDExLTA0LTA0IDE1OjU3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFjY2JlMDkgdG8gYzNjYWZlMQoKMjAxMS0wNC0wNCAxMjoyMToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vcmUgaGVscGZ1bCBkZWJ1ZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8gbmVlZGVkIGR1cmF0aW9uIG9uIGlucHV0IGJ1ZmZlcnMKCSAgRml4ZXMgIzY0NjI1Ni4KCjIwMTEtMDQtMDIgMDE6MjE6MzQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB2YWxpZGF0ZSBwcm9wZXJseSB1dGYtOCBwbGF5bGlzdAoKMjAxMS0wNC0wMiAwMToxMDozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogY2xlYXIgdGhlIGxpc3Qgb2YgbWVkaWEgZmlsZXMgYmVmb3JlIHVwZGF0aW5nIHRoZSBwbGF5bGlzdAoKMjAxMS0wNC0wMiAwMTowODowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogdXNlIGFuZCBhZGFwdGVyIGluc3RlYWQgb2YgY29zdGZ1bCBidWZmZXIgam9pbnMKCjIwMTEtMDQtMDEgMTM6NTM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc2V0dGluZyBvZiBwbHVnaW5kaXIgZnJvbSBNYWtlZmlsZXMKCjIwMTEtMDMtMjYgMTc6NTU6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGaXggbmVnb3RpYXRpb24gZXJyb3JzCgoyMDExLTAzLTI2IDE3OjQzOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvOiBBZGQgZnVuY3Rpb24gdG8gYWxsb2NhdGUgc3JjIGJ1ZmZlcgoKMjAxMS0wNC0wMSAxNjo1Mjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbm90aGVyIHdpbmRvd3MgYnVpbGQgZml4CgkgIFJlcGxhY2UgJWxsZCB3aXRoICV1IGFzIEdTVF9CVUZGRVJfU0laRSBpcyBhIGd1aW50CgoyMDExLTA0LTAxIDE2OjEyOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHM6IEZpeCBjb21waWxhdGlvbiBvbiB3aW5kb3dzCgkgIFVzZSBzdHJpbmcgbGl0ZXJhbCBvbiBwcmludGluZyBmb3JtYXQKCjIwMTEtMDQtMDEgMTM6Mzk6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBQcm9jZXNzaW5nIHNob3VsZCBzdG9wIG9uIFJFQURZCgkgIFRoZSB2aWRlb2JpbiBhbmQgaW1hZ2ViaW4gZnJvbSBjYW1lcmFiaW4gaGF2ZSB0aGVpciBzdGF0ZXMKCSAgbG9ja2VkIGFuZCBhcmVuJ3QgcHV0IHRvIFJFQURZIHdoZW4gYWxsIHRoZSByZXN0IG9mIGNhbWVyYWJpbgoJICBpcyBzZXQgdG8gaXQuCgkgIFRoaXMgbWlnaHQgY2F1c2Ugb25lIG9mIHRoZW0gdG8gYmUgc3RpbGwgcHJvY2Vzc2luZyBhbmQgcG9zdAoJICBhbiBFT1MgYWZ0ZXIgY2FtZXJhYmluIGlzbid0IGV4cGVjdGluZyBpdCBhbnltb3JlLCB0aGlzIGNhdXNlcwoJICBhbiBhc3NlcnRpb24gYXMgdGhlIHByb2Nlc3NpbmcgY291bnRlciB3b3VsZCBhbHJlYWR5IGJlIDAgYW5kCgkgIHdvdWxkIGJlIGRlY3JlbWVudGVkLgoKMjAxMS0wNC0wMSAxNTowMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IEtlZXAgYSByZWZlcmVuY2Ugb2YgZXZlbnRzIHVudGlsIHRoZSBldmVudCBpcyBwYXJzZWQKCjIwMTEtMDQtMDEgMTQ6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQYXJzZSBlbmNvZGVyIGRlbGF5IGFuZCBlbmNvZGVyIHBhZGRpbmcgZnJvbSB0aGUgTEFNRSBoZWFkZXIgaWYgcHJlc2VudAoKMjAxMS0wMy0zMSAxNjoyMToxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobTogTWFrZSBkZWZhdWx0IHBlcm0gdStydyBnK3IgZm9yIHNobSBhcmVhCgoyMDExLTAzLTMwIDE1OjUzOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVwZGF0ZSBmb3IgbWVkaWEgdHlwZSB3YXMgcmVuYW1pbmcgZnJvbSBwbGF5bGlzdC9tM3U4IHRvIGFwcGxpY2F0aW9uL3gtaGxzCgoyMDExLTAzLTMwIDExOjMzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgaGxzIHBsdWdpbgoKMjAxMS0wMy0zMCAxMDoxMToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTb21lIG1pbm9yIGNsZWFudXAKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDExLTAzLTMwIDAzOjM0OjM5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGluZGVudGF0aW9uIGFuZCBkb2NzIHNlY3Rpb25zCgoyMDExLTAzLTI5IDIzOjE4OjI0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgbGVlayB0aGUgcXVlcnkKCjIwMTEtMDMtMjkgMjM6MDY6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjaGVjayBpZiB0aGUgdGFzaydzIGNvbmQgd2FzIHNpZ25hbGVkIGJlY2F1c2UgaXQncyB0aGUgZW5kIG9mIHBsYXlsaXN0CgoyMDExLTAzLTEyIDEzOjMyOjU3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcG9zdCBhIG1lc3NhZ2UgaW4gdGhlIGJ1cyB3aGVuIHRoZSBwbGF5bGlzdCBjaGFuZ2VzCgoyMDExLTAzLTEyIDEzOjE1OjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgdXBkYXRlIHRoZSBwbGF5bGlzdCBpZiB3ZSBzdGF5IGluIHRoZSBzYW1lIGJpdHJhdGUKCjIwMTEtMDMtMTIgMTM6MDA6MDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgVVJJIHF1ZXJpZXMKCjIwMTEtMDMtMTIgMTI6NTA6MjUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZHVyYXRpb24gcXVlcmllcwoKMjAxMS0wMy0xMiAxMjoyODo0MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IHByb3RlY3QgcHVibGljIG1ldGhvZHMgcHJvcGVybHkKCjIwMTEtMDMtMTIgMTI6MjA6MzIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBhZGQgc3VwcG9ydCB0byBnZXQgdGhlIGR1cmF0aW9uIGZyb20gYSBwbGF5bGlzdAoKMjAxMS0wMi0xNiAwMzo1MTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHByaW50IGFuIGVycm9yIGlmIHRoZSBkb3dubG9hZCB3YXMgY2FuY2VsbGVkCgoyMDExLTAyLTE2IDAzOjQ5OjQ5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHRoZSBmZXRjaGVyIHN0YXRlIGNoYW5nZSBpcyBjb21wbGV0ZSBiZWZvcmUgY29udGludWluZwoKMjAxMS0wMi0xNiAwMToxOTo0NSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGxlYWsgdGhlIGZpcnN0IGJ1ZmZlcgoKMjAxMS0wMi0xNiAwMDo1NTozMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNsZWFuIHVwIGNvZGUgYSBsaXR0bGUgYml0CgoyMDExLTAyLTE2IDAwOjUzOjQ4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb25seSBjaGVjayBmb3IgdGhlIGVuZCBvZiBwbGF5bGlzdCB3aGVuIHRoZSBxdWV1ZSBpcyBlbXB0eQoKMjAxMS0wMi0xNSAyMjo0MDoyMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHRvIHN0b3AgZnJhZ21lbnRzIGNhY2hlIGlmIHNvbWV0aGluZyBjYW5jZWxsZWQgaXQKCjIwMTEtMDItMTUgMjE6NTU6MjYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZXVzZSB0aGUgY29kZSBpbiByZXNldCgpIHRvIGZyZWUgcmVzb3VyY2VzIGluIGRpc3Bvc2UoKQoKMjAxMS0wMi0xNSAyMTo0OToyMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogdXNlIGEgdHlwZWZpbmRlciB0byBzZXQgdGhlIGNhcHMgaW4gdGhlIHNvdXJjZSBwYWQKCjIwMTEtMDItMTUgMDQ6Mzk6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgbW9yZSBjb21tZW50cyBhbmQgZG9jdW1lbnQgYmV0dGVyIGFsbCB0aGUgdGhyZWFkcyBpbnZvbHZlZAoKMjAxMS0wMi0xNSAwMzo0MjoyOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSA0MDQgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQKCjIwMTEtMDItMTUgMDM6NDE6NDMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdG9wIHRoZSBmZXRjaGVyIGluIHRoZSBQQVVTRURfVE9fUkVBRFkgdHJhbnNpdGlvbiwgbm90IHdoZW4gZGlzcG9zaW5nKCkKCjIwMTEtMDItMTUgMDM6NDE6MDEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB3ZSBkb24ndCBzdG9wIHRoZSBmZXRjaGVyIHR3aWNlIGZyb20gZGlmZmVyZW50IHRocmVhZHMKCjIwMTEtMDItMTUgMDI6MTM6NTYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBxdWVyeSB0aGUgdXJpIHVwc3RyZWFtIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxheWxpc3QKCjIwMTEtMDItMTQgMTg6NTE6MzIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWRkIEhUVFAgbGl2ZSBzdHJlYW1pbmcgZGVtdXhlciBlbGVtZW50CgkgIEJhc2VkIG9uIHByZXZpb3VzIHdvcmsgYnkgTWFyYy1BbmRyw6kgTHVyZWF1CgoyMDExLTAzLTIxIDEwOjU3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBZGQgR3N0VGFnWG1wV3JpdGVyIHN1cHBvcnQKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHRvIGppZm11eCBlbGVtZW50CgoyMDExLTAzLTIxIDEwOjU2OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlCgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSBzdXBwb3J0IHRvIHF0bXV4CgoyMDExLTAzLTI3IDIzOjUwOjI0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3YgdGV4dCBvdmVybGF5OiByZW5hbWUgYW5kIGRvY3VlbW50CgkgIFJlbmFtZSB0aGUgZWxlbWVudCB0ZXh0d3JpdGUgdG8gb3BlbmN2dGV4dG92ZXJsYXkuIEFkZCBwcm9wZXIgc3RydWN0dXJpbmcgdG8KCSAgb3BlbmN2IHRleHRvdmVybGF5IGVsZW1lbnQuCgkgIEZpeGVzOiAjNjQwNTYxCgoyMDExLTAzLTI3IDEzOjU3OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IDY0LWJpdCBwcmludGYgZm9ybWF0IHByb2JsZW0KCjIwMTEtMDMtMjcgMjA6MDk6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGZpeCBidWcgd2hlcmUgd2UgZGlkbid0IHNldHVwIHZkcGF1IG9uIGEgdXNlciBzZXQgd2luZG93CgoyMDExLTAzLTI3IDE5OjQ3OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJICB2ZHBhdTogZml4dXAgR3N0Rmxvd1JldHVybiBoYW5kbGluZwoJICBQcmV2aW91c2x5IHRoZSBkaWZmZXJlbnQgZGVjb2RlcnMgd291bGQgZGlzY2FyZCBlcnJvdW5vdXMgR3N0Rmxvd1JldHVybnMgY29taW5nCgkgIGZyb20gZG93bnN0cmVhbS4gTm93IHdlIHByb3Blcmx5IHJldHVybiB0aGVzZSBmdXJ0aGVyIHVwc3RyZWFtIHNvIHRoYXQgd2UKCSAgcHJvcGVybHkgZXJyb3Igb3V0IG9uIGVnLiBuZWdvdGlhdGlvbiBwcm9ibGVtcy4KCjIwMTEtMDMtMjcgMTk6NDA6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudGF0aW9uIGZpeAoKMjAxMC0wOS0wNiAxNzo0MjoxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI3IDE3OjQyOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvdzogZml4IGxpc3QgaXRlcmF0aW9uIGNvZGUKCjIwMTEtMDMtMjcgMTc6MjI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgZGNjcHNlcnZlcnNpbms6IGZpeCBsaXN0IGl0ZXJhdGlvbiBjb2RlCgkgIEZpeCBzdWJvcHRpbWFsIGxpc3QgaXRlcmF0aW9uIGNvZGUsIGFuZCBhZGQgc29tZSBGSVhNRXMuCgoyMDExLTAzLTI2IDEyOjQ1OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSAgcGF0Y2hkZXRlY3Q6IGxpbmsgYWdhaW5zdCBsaWJtCgkgIExpbmsgYWdhaW5zdCBsaWJtLiBJbmNsdWRlIG1hdGgtY29tcGF0LmggaGVhZGVyLiBEb24ndCBsaW5rIGFnYWluc3QKCSAgb3JjLCBzaW5jZSBpdCdzIG5vdCBhY3R1YWxseSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1NzExCgoyMDExLTAzLTI2IDE2OjEyOjE4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIFVzZSBjb3JyZWN0IGNsb2NrIHdoZW4gY2hlY2tpbmcgd2hldGhlciB0byB3cml0ZSBhIG5ldyBQQ1IKCSAgVGhlIFBDUiBjbG9ja3MgYWdhaW5zdCB0aGUgMjdNSHogU0NSIGNsb2NrLCBzbyBjaGVjayBpdCBjb3JyZWN0bHkKCSAgdG8gYXZvaWQgd3JpdGluZyB0aGUgUENSIHRvbyBvZnRlbi4KCSAgUGFydGlhbGx5IGZpeGVzOiAjNjExMDQ2CgoyMDExLTAzLTI2IDE1OjU4OjIxICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBSZXdyaXRlIE0yVFMgcGFja2V0IG91dHB1dAoJICBNYWtlIHN1cmUgd2Ugb25seSB3cml0ZSB0aGUgYm90dG9tIDMwIGJpdHMgb2YgdGhlIFBDUiB0byB0aGUgbTJ0cyBoZWFkZXIuCgkgIERvbid0IHVzZSBmbG9hdGluZyBwb2ludCBjb21wdXRhdGlvbiBmb3IgaXQsIGFuZCByZW1vdmUgd2VpcmQgYml0IGZpZGRsaW5nCgkgIHRoYXQgbWVzc2VzIHVwIHRoZSBQQ1IgaW4gYSB3YXkgSSBjYW4ndCBmaW5kIGFueQoJICBqdXN0aWZpY2F0aW9uL2RvY3VtZW50YXRpb24gZm9yLgoJICBEb24ndCBhY2NpZGVudGFsbHkgbG9zZSBQQ1IgcGFja2V0cyBmcm9tIHRoZSBvdXRwdXQuCgkgIEZpeCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBtMnRzLW1vZGUgcHJvcGVydHkgc28gaXQncyBjbGVhciBpdCdzIGEgZmxhZywKCSAgYW5kIHdoaWNoIHNldHRpbmcgZG9lcyB3aGF0LgoJICBGaXhlczogIzYxMTA2MSAjNjQ0NDI5CgkgIFBhcnRpYWxseSBmaXhlczogIzY0NTAwNgoKMjAxMS0wMy0yNiAxMToxNDowMSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgRml4IGEgRklYTUUsIGFuZCBzb21lIHdoaXRlc3BhY2UvY29kZSBzdHlsZSBiaXRzLgoJICBBbHNvLCBhZGQgYSBuZXcgY29weXJpZ2h0IG5vdGljZSBmb3IgbWUuCgoyMDExLTAzLTI1IDIyOjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTkzYjcxNyB0byAxY2NiZTA5CgoyMDExLTAzLTI1IDE0OjU2OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI3N2UyYmYgdG8gMTkzYjcxNwoKMjAxMS0wMy0yNSAwOTozMjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ4ODE0YjYgdG8gYjc3ZTJiZgoKMjAxMS0wMy0yNSAwOTowODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYWEyODYgdG8gZDg4MTRiNgoKMjAxMS0wMy0yNSAwODozMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBBZGQgZmxvYXQgY2FwcyB0byB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMS0wMy0yNCAxNjoxNjoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggd2luMzIgYnVpbGQKCjIwMTEtMDMtMjQgMjI6MzI6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBlbnN1cmUgY2xlYW51cCBvZiBwZXMvc2VjdGlvbiBmaWx0ZXIgaGVscGVyIHN0cnVjdHVyZXMKCSAgSW4gcGFydGljdWxhciwgdGhlIHNlY3Rpb25fZmlsdGVyIHdvdWxkIG5vdCBiZSBjbGVhcmVkIGZvciBhIHByaXZhdGUgc2VjdGlvbgoJICBzdHJlYW0sIGxlYWtpbmcgYSBHc3RBZGFwdGVyLiBTZWVuIG9uIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMjoxMDo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvbid0IGxlYWsgcGFkIG5hbWUKCSAgQXMgc2VlbiBvbiBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjE6NDY6MDkgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZyZWUgUFBTIE5BTCBidWZmZXJzIG9uIGNsZWFudXAKCSAgT2J2aW91c2x5IGEgdHlwby4gRml4ZXMgYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIxOjQ0OjA3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCBsZWFrIGFsbCBOQUwgYnVmZmVycwoJICBnc3RfYnVmZmVyX3JlcGxhY2UoKSBkb2Vzbid0IHN0ZWFsIHRoZSByZWYuIFBhcnRpYWwgZml4IGZvciBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMTg6NDk6NTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFlYzZiOSB0byA2YWFhMjg2CgoyMDExLTAzLTI0IDE0OjUxOjEyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogZml4IHN0cmVhbV9pbmZvIGRlc2NyaXB0b3IgcGFyc2luZwoKMjAxMS0wMy0wOSAyMzowNjoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBkY2FwYXJzZTogQnVtcCByYW5rIHRvIHByaW1hcnkrMQoJICBTZWVtcyB0byB3b3JrIGZpbmUgd2l0aCBhIHJlYXNvbmFibHkgd2lkZSByYW5nZSBvZiBtZWRpYSwgc28gYnVtcGluZwoJICByYW5rLgoKMjAxMS0wMy0yNCAxMDowODo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogQWRkIHN1cHBvcnQgZm9yIDMyIGJpdCBhbmQgNjQgYml0IGZsb2F0aW5nIHBvaW50IGZvcm1hdHMKCjIwMTEtMDMtMjQgMDk6NTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogVGhlIFNTTkQgaGVhZGVyIGlzIDE2IGJ5dGVzIGxhcmdlLCBub3QgOCArIDE2IGJ5dGVzCgkgIEZpeGVzIGJ1ZyAjNjQ1NTY4IGFuZCBwbGF5YmFjayBpbiBwdWxsIG1vZGUgZm9yIHNhbXBsZSB3aWR0aHMgPiA4IHRoYXQKCSAgYXJlIG5vdCBhIG11bHRpcGxlIG9mIDIgYnl0ZXMgKGUuZy4gMjQgYml0IHNhbXBsZXMpLgoKMjAxMS0wMy0yNCAwOToyOTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2NlaWwoKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGZ1bmN0aW9uCgoyMDExLTAzLTI0IDEzOjQzOjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogRG9uJ3QgZXhwb3J0IGJpdHJhdGUgaWYgb3Blbi92YXJpYWJsZS9sb3NzbGVzcwoJICBsaWJkY2EgcmV0dXJucyB0aGUgYml0cmF0ZSBhcyAxLzIvMyBmb3Igb3Blbi92YXJpYWJsZS9sb3NzbGVzcyBmaWxlcwoJICByZXNwZWN0aXZlbHkuIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBlbWl0IHRoZXNlIHZhbHVlcy4KCjIwMTEtMDMtMjQgMDk6MjI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBSZWFkIHRoZSBhZGRpdGlvbmFsLCBvcHRpb25hbCBleHRyYSBoZWFkZXJzIGZyb20gdGhlIGNhcHMgdG9vCgoyMDExLTAzLTI0IDA5OjE0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBHZXQgYW5kIHVzZSBzdHJlYW1oZWFkZXJzIGZyb20gdGhlIGNhcHMgaWYgcG9zc2libGUKCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2YgZmlsZXMgd2hlcmUgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzIHdlcmUKCSAgZHJvcHBlZCBmb3Igc29tZSByZWFzb24gYW5kIGFsc28gc2V0cyB0aGUgc3JjcGFkIGNhcHMgZWFybGllci4KCjIwMTEtMDMtMjMgMjI6NTM6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdAoJICBJdCBhcHBlYXJzIHRoZSBwYXRjaCwgd2hpY2ggSSd2ZSBiZWVuIGNhcnJ5aW5nIGFyb3VuZCBmb3JldmVyLAoJICBoYWQgYmVlbiBhbHJlYWR5IGFwcGxpZWQuCgoyMDExLTAyLTIwIDE0OjE2OjE4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBtZXJnZSB1dGlscyBoZWFkZXIgaW50byBiYXNldmlkZW9jb2RlYwoKMjAxMC0xMi0zMCAxODoyNTowNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBPdXRwdXQgZWxlbWVudCBtZXNzYWdlIHdpdGggZnJhbWUgc3RhdHMKCjIwMTEtMDItMjYgMDA6Mjg6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSAgcGF0Y2hkZXRlY3Q6IG5ldyBlbGVtZW50CgkgIERldGVjdHMgTXVuc2VsbCBDb2xvckNoZWNrZXIgaW4gYSB2aWRlbyBpbWFnZSBhbmQgYXV0b21hdGljYWxseQoJICB3aGl0ZSBiYWxhbmNlcyBhbmQgY29sb3IgY29ycmVjdHMgYmFzZWQgb24gdGhlIGRldGVjdGVkIHZhbHVlcy4KCSAgVGhpcyBlbGVtZW50IGlzIG9ubHkgYSBkZW1vbnN0cmF0aW9uIGF0IHRoaXMgc3RhZ2UsIGl0IG5lZWRzIHRvCgkgIGJlIHNlcGFyYXRlZCBpbnRvIHR3byBlbGVtZW50cy4KCjIwMTEtMDItMjcgMDA6NDg6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGVudHJvcHl3YXZlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGRlY2tsaW5rIHBsdWdpbgoJICBTb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMgZm9yIEJsYWNrTWFnaWMgRGVja0xpbmsgU0RJIGNhcmRzLgoKMjAxMS0wMy0xNyAxNzozODo1OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvYXNpLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9tYXN0ZXIuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpYXVkaW8uaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaXZpZGVvLmg6CgkgIGxpbnN5czogQWRkIHBsdWdpbiBmb3IgTGluZWFyIFN5c3RlbXMgU0RJIGJvYXJkcwoKMjAxMC0wOS0xNCAxMTozMDozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5oOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5oOgoJICBzZGk6IEFkZCByYXcgU0RJIG11eGluZy9kZW11eGluZyBlbGVtZW50cwoKMjAxMS0wMy0xNyAxOTowMzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSAgbG9nb2luc2VydDogRml4IG1lbWxlYWtzLCBhZGQgdGVzdAoKMjAxMC0xMS0xNSAxMTozNzoxMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgbG9nb2luc2VydDogQWRkIGRhdGEgcHJvcGVydHkKCjIwMTEtMDMtMjMgMTU6NDk6MTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBGaXggcHJlbWF0dXJlIHNodXRkb3duCgkgIFdlIG11c3Qgd2FpdCBmb3IgY2FtZXJhYmluMidzIHN0b3AtY2FwdHVyZSBwcm9jZWR1cmVzIHRvIGZpbmlzaCBiZWZvcmUgcXVpdHRpbmcKCSAgdGhlIG1haW4gbG9vcCBvciBmaXJpbmcgb2ZmIHRoZSBuZXh0IGNhcHR1cmUuIElmIHdlIGdldCBzdHVjayB3YWl0aW5nIGZvcgoJICBjYW1lcmFiaW4yIHRvIGJlY29tZSBpZGxlLCB0aGlzIGlzIGEgYnVnIHRoYXQgbmVlZHMgZml4aW5nLgoKMjAxMS0wMy0yMyAxNjozMjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9ubHkgbWFyayB2aWRlbyBjYXB0dXJlIGFzIGZpbmlzaGVkIGFmdGVyIEVPUwoJICBJbnN0ZWFkIG9mIHByb2JpbmcgdGhlIHZpZGVvc2luayBzaW5rcGFkIGZvciBwYXNzaW5nIEVPUywgYmV0dGVyCgkgIHRvIHdhaXQgZm9yIEVPUyBmcm9tIHRoZSBidXMuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGUgZmlsZXNpbmsgaGFzIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGFuZCBpcwoJICByZWFkeSB0byBjbG9zZSB0aGUgZmlsZS4gVGhpcyBpcyB1c2VkIHRvIG5vdGlmeSBhcHBsaWNhdGlvbnMKCSAgdGhhdCBjYW1lcmFiaW4yIGlzIGlkbGUgYW5kIGNhbiBiZSBzaHV0IGRvd24uCgoyMDExLTAzLTE4IDE1OjQ5OjEyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogY2FtZXJhYmluMjogd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIHJlYWQtb25seSBtYXgtem9vbSBwcm9wCgkgIFRoaXMgaXMgbm90IGltcGxlbWVudGVkIGluIGFueSBvZiBvdXIgcmVhbCBzb3VyY2VzIHRvIHdoaWNoIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgbWlnaHQgY29ubmVjdCBidXQgdGhpcyBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIGltcGxlbWVudGVkIGF0IGFueSB0aW1lLiBBCgkgIGxpbWl0IG9uIHRoZSBzb2Z0d2FyZSB6b29tIGxldmVsIHVzaW5nIHZpZGVve2Nyb3Asc2NhbGV9IHdvdWxkIGJlIGFyYml0cmFyeS4KCjIwMTEtMDMtMjMgMTI6Mzg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSW1wcm92ZSBpZGxlIHByb3BlcnR5IHVzYWdlCgkgIFVzZSByZXNvdXJjZSB3YXJuaW5nIG1lc3NhZ2VzIHRvIG5vdGlmeSBjYW1lcmFiaW4yIHRoYXQgYSBjYXB0dXJlCgkgIGFzIGFib3J0ZWQgb3IgY291bGRuJ3QgYmUgc3RhcnRlZCwgbWFraW5nIGl0IGRlY3JlbWVudCB0aGUKCSAgcHJvY2Vzc2luZyBjb3VudGVyIGFuZCBtYWtpbmcgdGhlIGlkbGUgcHJvcGVydHkgbW9yZSByZWxpYWJsZS4KCjIwMTEtMDMtMjIgMTI6MDQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBObyBuZWVkIHRvIGZvcmNlIGF1ZGlvc3JjIHRvIG51bGwgb24gc3RvcF9jYXB0dXJlCgkgIFNldHRpbmcgdGhlIGF1ZGlvIHNvdXJjZSB0byBudWxsIGlzbid0IG5lZWRlZCBhbmQgaXQgY291bGQKCSAgbWFrZSB0aGUgRU9TIHRoYXQgaXMgc3RpbGwgZmxvd2luZyBiZSBkcm9wcGVkIGlmIGF1dG9hdWRpb3NyYwoJICBpcyB1c2VkIGJlY2F1c2UgaXRzIHBhZHMgZ28gZmx1c2hpbmcgYmVmb3JlIHRoZSBFT1MgZ2V0cyBwdXNoZWQKCSAgZnJvbSB0aGUgcmVhbCBzb3VyY2UuCgoyMDExLTAzLTIyIDA4OjMyOjQ4IC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBDaGVjayBpZiBzZXQgcHJldmlldyBjYXBzIGFyZSB0aGUgc2FtZQoJICBDaGVja3MgaWYgdGhlIG5ldyByZWNlaXZlZCBwcmV2aWV3LWNhcHMgYXJlIGVxdWFsIHRvIHdoYXQgaXMKCSAgYWxyZWFkeSBpbiB1c2UsIHNraXBzIHRoZSBwcmV2aWV3LWNhcHMgc2V0dGluZyBsb2dpYyBpbiBjYXNlCgkgIG5ldyBjYXBzIGFyZSBzYW1lIGFzIGN1cnJlbnQgb25lcy4KCjIwMTEtMDMtMTUgMTU6NDc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyBhbm90aGVyICdpZGxlJyB0ZXN0CgkgIEFkZHMgYW5vdGhlciB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgdGhlIGlkbGUgcHJvcGVydHkgd29ya3MKCSAgY29ycmVjdGx5IHdoZW4gYm9ndXMgc3RhcnQtY2FwdHVyZSBjYWxscyBhcmUgbWFkZS4KCSAgVGhpcyBmYWlscyBjdXJyZW50bHksIGJ1dCBzaG91bGQgcmVtaW5kIHVzIG9mIGZpeGluZyBpdCBpbgoJICB0aGUgZnV0dXJlIGJ5IGRlZmluaW5nIGEgcHJvcGVyIGVycm9yIHJlcG9ydGluZyBmcm9tIGNhbWVyYQoJICBzb3VyY2VzIHRvIGNhbWVyYWJpbjIKCjIwMTEtMDMtMTUgMTU6MzQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogU3ByaW5rbGUgc29tZSAnaWRsZScgcHJvcGVydHkgY2hlY2tzCgkgIEFkZHMgc29tZSBjaGVja3MgZm9yICdpZGxlJyBwcm9wZXJ0eSBpbiBjYW1lcmFiaW4yIHRlc3RzCgoyMDExLTAzLTE1IDE1OjExOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRzIG5ldyBpZGxlIHByb3BlcnR5CgkgIEFkZHMgaWRsZSBwcm9wZXJ0eSAoanVzdCBsaWtlIGNhbWVyYWJpbjEpLCBhIGJvb2xlYW4gdGhhdAoJICBpcyB0cnVlIHdoZW4gY2FtZXJhYmluMiBpc24ndCBwcm9jZXNzaW5nIGFuZCBjYW4gYmUgc2h1dCBkb3duCgkgIHdpdGhvdXQgbG9zaW5nIGRhdGEuCgoyMDExLTAzLTE1IDEwOjUwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgdGVzdHMgZm9yIG5ldyBpbWFnZSBjYXB0dXJlIHByb3BlcnRpZXMKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayB0aGF0IGNoYW5naW5nIGVuY29kZXIvbXV4ZXIgZm9yIGltYWdlIGNhcHR1cmUKCSAgd29ya3MKCjIwMTEtMDMtMTUgMTA6MTE6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgcHJvcGVydGllcyBmb3IgaW1hZ2UgY2FwdHVyZSBzZXR0aW5ncwoJICBBZGRzIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBpbWFnZSBlbmNvZGVyIGFuZCBtdXhlciBmb3IKCSAgaW1hZ2UgY2FwdHVyZQoKMjAxMS0wMy0xNCAxNDozMzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1vcmUgZGVidWcgbG9nCgkgIFNtYWxsIHJlZmFjdG9yaW5nIGFuZCBhZGRpbmcgbW9yZSBkZWJ1ZyBsb2cgdG8gZW5jb2RlYmluIHJlbGF0ZWQKCSAgcGF0aHMKCjIwMTEtMDMtMTQgMTQ6MzA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBTZXQgcHJldmlldyBwaXBlbGluZSBOVUxMCgkgIFNldCBwcmV2aWV3IHBpcGVsaW5lIHRvIE5VTEwgd2hlbiBmcmVlZCB0byBiZSBhYmxlIHRvCgkgIHJlY3JlYXRlIGl0IG9uIHRoZSBmb2xsb3dpbmcgbGluZXMKCjIwMTEtMDMtMjMgMjI6MDI6MzcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgZnJhbWUgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgc2l6ZSBvZiB0aGUgZnJhbWUgKG51bWJlciBvZiBieXRlcyBmcm9tIG9uZSBzeW5jIHBvaW50CgkgIHRvIHRoZSBuZXh0KSBhcyB0aGUgImZyYW1lX3NpemUiIGZpZWxkIGluIGNhcHMuCgoyMDExLTAzLTA5IDIzOjAzOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGJsb2NrIHNpemUgaW4gY2FwcwoJICBUaGlzIHNldHMgdGhlICJibG9ja19zaXplIiBmaWVsZCBvbiBjYXBzIGFzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcwoJICBlbmNvZGVkIGluIG9uZSBmcmFtZS4KCjIwMTEtMDMtMjIgMjA6NTM6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGFsc28gIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTM6MTg6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjaGFpbiB1cCB0byBwYXJlbnQgZmluYWxpemUKCjIwMTEtMDMtMjIgMTM6NDY6NDIgKzAxMDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogQ29ycmVjdGx5IGhhbmRsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHN0b3A9PS0xCgkgIEZpeGVzIGJ1ZyAjNjQ1NDIwLgoKMjAxMS0wMy0yMiAxMjozNDoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkKCSAgY2xlYW5lZCB0aGUgcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpIGluIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0xOCAxOTozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IHdpbmdvIHNpZ25lZCBjb21tZW50CgoyMDExLTAzLTIxIDEzOjMxOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB6ZWJyYXN0cmlwZTogQWRkIG5ldyBHc3RWaWRlb0ZpbHRlcjIgYmFzZSBjbGFzcwoJICBBbiBleHBlcmltZW50LiAgTm90IGNvbXBsZXRlbHkgaGFwcHkgd2l0aCBpdC4KCjIwMTEtMDMtMjEgMjA6NDA6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSBhbGwgSVNPODg1OS14IGVuY29kaW5ncyBpbiBnZXRfZW5jb2RpbmcoKQoJICAuLi4gYWNjb3JkaW5nIHRvIEVUU0kgRU4gMzAwIDQ2OCwgIlNlbGVjdGlvbiBvZiBjaGFyYWN0ZXIgdGFibGUiCgoyMDExLTAyLTIxIDExOjQ0OjAxICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IHRyeSB0byBwYXJzZSBwYWNrZXRzIGNvbnRhaW5pbmcgc2VjdGlvbiBkYXRhIGFzIFBFUwoKMjAxMS0wMi0yMSAxMTo0Mjo1NCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgc3RyZWFtIHR5cGVzIGZvciBEU00gQ0MgQSwgQiwgQywgRAoKMjAxMS0wMy0yMSAxODo1NDo0NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBwbGF5YmFjayBpZiBQTVQgaXMgc2VlbiBiZWZvcmUgUEFUCgkgIFRoZSBzdHJlYW0gZm9yIHRoZSBQTVQgcGlkIGhhcyB0byBiZSBjbGVhcmVkIHNpbmNlIHRoZSB2ZXJzaW9uIGNoZWNraW5nCgkgIGluIHRoZSBwYWNrZXRpemVyIHdvbid0IGVtaXQgdGhlIHNhbWUgUE1UIGFnYWluIG90aGVyd2lzZS4KCjIwMTEtMDMtMjEgMTY6NTE6MTYgKzAxMDAgIEFuZHJlYXMgRnJpc2NoIDxhbmRyZWFzLmZyaXNjaEBtdWx0aW1lZGlhLWxhYnMuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNldCBwYXJzZWQ9dHJ1ZSBpbiB0aGUgc3JjcGFkIGNhcHMKCSAgRml4ZXMgYnVnICM2NDU0MTIuCgoyMDExLTAzLTIxIDEwOjM4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IExvd2VyIHRoZSByYW5rIHRvIE1BUkdJTkFMCgkgIFRoZSByYXRpb25hbGUgaXMgdGhhdCBpdCBjYW4ndCBiZSBwcm9wZXJseSB1c2VkIHJpZ2h0IG5vdyB3aGVuIHVzaW5nCgkgIGl0IHRvIGVuY29kZSBtcGVnMnZpZGVvIGJlY2F1c2Ugb2YgdGhlIG5lZWRzLXRvLWJlLXJld3JpdHRlbiBwcm9wZXJ0aWVzCgkgIGFuZCBmb3JtYXQgbmVnb3RpYXRpb24uIE90aGVyIGVuY29kZXJzIHdpbGwgbmVnb3RpYXRlIGluIGEgbXVjaCBzYW5lcgoJICBmYXNoaW9uLgoJICBPbmUgc3VjaCBleGFtcGxlIGlzIHRoYXQgd2hlbiB5b3UgcGljayBtcGVnMmVuYyBmb3IgbXBlZzJ2aWRlbywgdGhlCgkgIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSAnZm9ybWF0JyBwcm9wZXJ0eSBpcyAiR2VuZXJpYyBNUEVHLTEiLCB3aGljaCBpcwoJICBjb21wbGV0ZWx5IHdyb25nIGlmIGRvd25zdHJlYW0gY2FwcyBhcmUgbXBlZzIuIFRoZSB3aG9sZSBuZWdvdGlhdGlvbgoJICBjb2RlIG5lZWRzIHNvbWUgc2VyaW91cyBsb3ZpbmcgYmVmb3JlIHRoaXMgcGx1Z2luIGNhbiBiZSBidW1wZWQgYmFjawoJICB1cCB0byBhIGhpZ2hlciByYW5rLgoKMjAxMS0wMy0xNiAwOTo1MDozNCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogYWRkICJmcmFtZXMtZHJvcHBlZCIgYW5kICJmcmFtZXMtcmVuZGVyZWQiIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzQ2OQoKMjAxMS0wMy0xOCAwOTozMzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgaW4gdGhlIEk0MjAgYmxlbmRpbmcgZnVuY3Rpb24KCjIwMTEtMDMtMTcgMjA6MTk6MjcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggdXNpbmcgYWxwaGEgdmFsdWVzIGluIGJsaXR0aW5nLgoJICBVc2UgZWFjaCBwaXhlbCdzIG93biBhbHBoYSB2YWx1ZSBpbnN0ZWFkIG9mIGF2ZXJhZ2UgYWxwaGEgdmFsdWUgd2hlbgoJICBjYWxjdWxhdGluZyBjb2xvciBjb21wb25lbnRzLiBGaXhlcyBidWcgIzYzOTc2My4KCjIwMTEtMDMtMTcgMTY6MzQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBmaXggTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNyAxNjo0MTo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgdXNlICJzdW4iIGFzIGEgdmFyaWFibGUgbmFtZSwgYnJlYWtzIG9uIFNvbGFyaXMKCSAgU2VlbXMgbGlrZSB0aGUgU29sYXJpcyBjb21waWxlciBoYXMgLURzdW49MSwgc28gZG9uJ3QgdXNlCgkgIHN1biBhcyBhIHZhcmlhYmxlIG5hbWUKCSAgUGF0Y2ggYnkgVGltIE1vb25leSA8bW9vbmV5QGRvZ2JlcnQuY2MubmRzdS5ub2Rhay5lZHU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDUwNTMKCjIwMTEtMDMtMTcgMTU6Mjc6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2htOiBDaGVjayBmb3IgTVNHX05PU0lHTkFMIG1hY3JvCgkgIERvbid0IGJ1aWxkIHRoZSBwbHVnaW4gaXMgTVNHX05PU0lHTkFMIGlzIG5vdCBkZWZpbmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDUwNTMKCjIwMTEtMDMtMTYgMTg6NTI6MjQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEtlZXAgc2htc2luayByZWZlcmVuY2VkIHdoaWxlIHRoZXJlIGFyZSBzdGlsbCBidWZmZXJzIGFyb3VuZAoKMjAxMS0wMy0xNiAxODo1MTo1MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWxsb3cgU2htUGlwZSB0byBzYXZlIGEgZGF0YSBwb2ludGVyIGZvciBhcHBsaWNhdGlvbnMKCjIwMTEtMDMtMTYgMTg6NTE6MDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogS2VlcCB0aGUgU2htUGlwZSBhbGl2ZSBhcyBsb25nIGFzIHRoZXJlIGFyZSBibG9ja3MgbGVmdAoKMjAxMS0wMy0wOSAxOTozNDozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBPbmx5IGNvbm5lY3QgdG8gc2luayBpbiBQTEFZSU5HIGluIGxpdmUgbW9kZQoKMjAxMS0wMy0wOSAxOTozNDoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBLZWVwIEdzdFBvbGwgZm9yIHdob2xlIHNyYyBsaWZldGltZQoKMjAxMS0wMy0xNSAwOToxNTozNSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIGFuIGFzc2VydGlvbiB0byBwcmV2aWV3IHBpcGVsaW5lIGdlbmVyYXRpb24KCSAgQWRkcyBhbiBhc3NlcnRpb24gaW4gY2FzZSB0aGUgcHJldmlldyBwaXBlbGluZSBpcyBOVUxMIGFuZCBhbHNvCgkgIGV4cGxpY2l0bHkgaW5pdGlhbGl6ZXMgcHJldmlldyBjYXBzIHRvIE5VTEwgZm9yIGNsYXJpdHkuCgoyMDExLTAzLTE0IDE4OjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogQWRkIGRlcHRoIGFuZCBlbmRpYW5uZXNzIHRvIHRoZSBjYXBzCgkgIFNvbWUgZGVjb2RlcnMgY2FuIG9ubHkgaGFuZGxlIHNwZWNpZmljIGVuZGlhbm5lc3Mgb3IgYSBmaXhlZAoJICBkZXB0aCBhbmQgdGhpcyBhbGxvd3MgYmV0dGVyIG5lZ290aWF0aW9uLgoJICBGaXhlcyBidWcgIzY0NDIwOC4KCjIwMTEtMDMtMTQgMTI6Mzk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYnJva2VuIHBhZCBjYXBzIHJlZmNvdW50IGhhbmRsaW5nCgkgIGdzdF9jYXBzX21ha2Vfd3JpdGFibGUoKSB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkIGluLCBidXQKCSAgdGhlIGNhbGxlciBkb2Vzbid0IG93biBhIHJlZiB0byB0aGUgY2FwcyBoZXJlLCBiZWNhdXNlIEdTVF9QQURfQ0FQUwoJICBkb2Vzbid0IHJldHVybiBhIHJlZi4gTG9va3MgbGlrZSB0aGUgY29kZSByZWxpZWQgb24gYSBjYXBzIGxlYWsKCSAgZWxzZXdoZXJlIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuCgoyMDExLTAzLTE0IDEyOjMzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgZXJyb3Igb3V0IGlmIGRvd25zdHJlYW0gZmFpbHMgdG8gaGFuZGxlIHRoZSBuZXdzZWdtZW50IGV2ZW50CgkgIElmIGRvd25zdHJlYW0gZG9lc24ndCBoYW5kbGUgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIGRvbid0IGVycm9yIG91dCAoZXNwLgoJICBub3Qgd2l0aG91dCBwb3N0aW5nIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyksIGJ1dCBqdXN0IGNvbnRpbnVlLgoJICBJZiB0aGVyZSdzIGEgcHJvYmxlbSwgd2UnbGwgZmluZCBvdXQgd2hlbiB3ZSBzdGFydCBwdXNoaW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTEtMDMtMTEgMTQ6NDA6NDQgKzAwMDAgIEFuZHJlYXMgRnJpc2NoIDxhbmRyZWFzLmZyaXNjaEBtdWx0aW1lZGlhLWxhYnMuZGU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDMtMTEgMTg6MjM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgcXVldWVzIHRvIHNpbGVudAoJICBPcHRpbWl6ZSBhIGxpdHRsZSBieSBzZXR0aW5nIHF1ZXVlcyB0byBzaWxlbnQKCjIwMTEtMDMtMTEgMTY6MjA6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlZmFjdG9yaW5nIGVuY29kZWJpbiB1c2FnZQoJICBSZWZhY3RvciBzb21lIGNvbW1vbiBjb2RlIHJlZ2FyZGluZyBlbmNvZGViaW4gdXNhZ2UgaW4gY2FtZXJhYmluMgoKMjAxMS0wMy0xMSAxNzowNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggbnVtYmVyIG9mIGl0ZXJhdGlvbiBvZiB0ZXN0cwoJICBUaGVyZSBhcmUgMyB0YWdsaXN0IHRlc3RzLCBub3QgMgoKMjAxMS0wMy0xMSAxMDozMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogU29tZSBtZW1sZWFrIGZpeGVzCgoyMDExLTAzLTA4IDA5OjQzOjU4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGJhc2VjYW1lcmFzcmM6IHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNhbWVyYWJpbjI6IEV4cG9zZS9hZGQgZmxvYXRpbmcgcG9pbnQgem9vbSBwcm9wZXJ0eQoKMjAxMS0wMy0wNCAxNTo1Mzo0MiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgZGVhZCBkZWZpbml0aW9uCgkgIFRoaXMgZGVmaW5pdGlvbiBpcyB1bnVzZWQgaW4gdGhpcyBjb2RlLgoKMjAxMS0wMy0xMCAxMTozODoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEF2b2lkIGNsZWFyaW5nIHJlY29yZGluZyBjYXBzCgkgIFdoZW4gcmVjb3JkaW5nIDIgdmlkZW9zIGluIHNlcXVlbmNlIHdpdGggdGhlIHNhbWUgdmlkZW8tY2FwdHVyZS1jYXBzLAoJICB0aGUgc2Vjb25kIHZpZGVvIHdvdWxkIGdldCBhIG5vdC1uZWdvdGlhdGVkIGVycm9yIGJlY2F1c2UgdGhlCgkgIHNyYyBjYXBzIHdlcmUgYmVpbmcgY2xlYXJlZCB3aXRob3V0IGFueSBpbnRlbnRpb24gb2YKCSAgcmVuZWdvdGlhdGluZyBpdCBiYWNrIHRvIHRoZSByZXF1ZXN0ZWQgY2FwdHVyZSBjYXBzLgoJICBUaGlzIHBhdGNoIGF2b2lkcyB0aGlzIGNhcHMgcmVzZXQgcHJvY2VkdXJlIHVubGVzcyBhIG5ldwoJICBjYXBzIHdhcyBzZXQuCgoyMDExLTAzLTExIDE0OjM3OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBBZGQgY29ycmVjdCB0ZW1wbGF0ZSBjYXBzIGFuZCBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDMtMTEgMTA6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGZpeCBMREFERC9MSUJTIHBhdGggb3JkZXIgZm9yIGNhbWVyYWJpbjIgZXhhbXBsZQoKMjAxMS0wMy0xMSAxMDozNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IGxlYWsgZWxlbWVudCBuYW1lIHN0cmluZ3MKCSAgRG9uJ3QgbGVhayBzdHJpbmcgY29weSByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9nZXRfbmFtZSgpLiBBbHNvLCBjaGVjawoJICBmb3IgY2VydGFpbiBlbGVtZW50cyBieSBjaGVja2luZyB0aGUgcGx1Z2luIGZlYXR1cmUgLyBmYWN0b3J5IG5hbWUsIG5vdAoJICB0aGUgYXNzaWduZWQgb2JqZWN0IG5hbWUuCgoyMDExLTAzLTExIDEwOjI2OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHJlbW92ZSBtb3JlIHRhcmtpbi90aGVvcmFleHAgYnVpbGQgY3J1ZnQKCjIwMTEtMDMtMTAgMTM6Mzk6NDAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkqIGV4dC90YXJraW4vUkVBRE1FOgoJKiBleHQvdGFya2luL1RPRE86CgkqIGV4dC90YXJraW4vV0hBVF9USEVfSEVDS19JU19USElTX0NPREVfRE9JTkc6CgkqIGV4dC90YXJraW4vYml0Y29kZXIuaDoKCSogZXh0L3Rhcmtpbi9nb2xvbWIuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW4uYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSogZXh0L3Rhcmtpbi9pbmZvLmM6CgkqIGV4dC90YXJraW4vbWVtLmM6CgkqIGV4dC90YXJraW4vbWVtLmg6CgkqIGV4dC90YXJraW4vcmxlLmg6CgkqIGV4dC90YXJraW4vdGFya2luLmM6CgkqIGV4dC90YXJraW4vdGFya2luLmg6CgkqIGV4dC90YXJraW4vd2F2ZWxldC5jOgoJKiBleHQvdGFya2luL3dhdmVsZXQuaDoKCSogZXh0L3Rhcmtpbi93YXZlbGV0X2NvZWZmLmM6CgkqIGV4dC90YXJraW4vd2F2ZWxldF94Zm9ybS5jOgoJKiBleHQvdGFya2luL3l1di5jOgoJKiBleHQvdGFya2luL3l1di5oOgoJKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHRoZW9yYSx0YXJraW46IFJlbW92ZSBhbmNpZW50IHVudXNlZCBjb2RlCgoyMDExLTAzLTEwIDE2OjAzOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSBmb3IgUFRTIG1ldGFkYXRhIHdoZW4gc28gY29uZmlndXJlZAoJICAuLi4gYW5kIG5vdCBvbmx5IHdoZW4gc29ydC1vZiBmZWVsaW5nIGxpa2UgaXQuCgkgIEluIGFueSBjYXNlLCBpZiBpdCB0dXJucyBvdXQgYWxsIHJlYWxseSBpcyBpbiBvcmRlciwKCSAgYW5kIHByZXN1bWFibHkgRFRTID09IFBUUywgdGhlbiBubyBjdHRzIHdpbGwgYmUgcHJvZHVjZWQgYW55d2F5LgoKMjAxMS0wMy0xMCAxNjowMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsc28gdHJhY2sgb3JpZ2luYWwgUFRTIGJ1ZmZlciB0aW1lc3RhbXAgaW4gcmVvcmRlciBkdHMtbWV0aG9kCgoyMDExLTAzLTA5IDE0OjUzOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRm9yY2UgRU9TIG9uIGF1ZGlvIHNyYwoJICBXZSBjYW4ndCByZWx5IG9uIGF1ZGlvIHNvdXJjZXMgcHVzaGluZyBFT1Mgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIGJlY2F1c2UgdGhpcyBpcyBhIGJhc2VzcmMgYmFoYXZpb3IgYW5kIHdoZW4gdXNlZCBpbnNpZGUgYXV0b2F1ZGlvc3JjCgkgIHRoZSBnaG9zdHBhZCBnb2VzIGZsdXNoaW5nIGJlZm9yZSB0aGUgcmVhbCBzb3VyY2UgcHVzaGVzIHRoZSBFT1MsCgkgIHNvIGl0IGlzIGRyb3BwZWQuCgoyMDExLTAzLTA0IDA2OjA2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogTm8gbmVlZCBmb3Igc3RhcnRpbmcgc2VnbWVudAoKMjAxMS0wMy0wNCAwNjowOTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgZ3N0Y2FtZXJhYmluMjogU2V0IGVuY29kZWJpbidzIHZpZGVvcmF0ZSBhbmQgYXVkaW9yYXRlIHByb3BlcnRpZXMKCSAgTGlzdGVuIHRvIGVuY29kZWJpbidzIGVsZW1lbnQtYWRkZWQgc2lnbmFsIHRvIGJlIGFibGUgdG8gc2V0CgkgIHNraXAtdG8tZmlyc3Qgb24gYm90aCBhdWRpb3JhdGVzIGFuZCB2aWRlb3JhdGVzLgoKMjAxMS0wMi0xNSAxNDo1ODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSBhdWRpbyBlbGVtZW50cyBzdGF0ZXMKCSAgQXVkaW8gZWxlbWVudHMgYXJlIHB1dCBpbnRvIGJpbiBvbmx5IHdoZW4gbmVlZGVkLCBzbyB3ZSBuZWVkCgkgIHRvIGJlIGNhcmVmdWwgd2l0aCB0aGVpciBzdGF0ZXMgYXMgY2FtZXJhYmluMiB3b24ndCBtYW5hZ2UKCSAgdGhlbSBpZiB0aGV5IGFyZSBvdXRzaWRlIHRoZSBiaW4uCgkgIEFsc28gd2Ugc2hvdWxkIHJlc2V0IHRoZWlyIHBhZCdzIGZsdXNoaW5nIHN0YXR1cyBiZWZvcmUKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZS4KCjIwMTEtMDEtMjEgMTI6NDc6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0ZXN0czogVXBkYXRlIHRlc3RzIHRvIGNoZWNrIGZvciBhdWRpbyBzdHJlYW1zCgkgIEFkZCBhIGNoZWNrIHRoYXQgcmVzdWx0aW5nIHJlY29yZGVkIHZpZGVvIGZpbGVzIGhhdmUgYXVkaW8gc3RyZWFtcy4KCjIwMTEtMDEtMjEgMTA6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjogYWRkaW5nIGF1ZGlvIHJlbGF0ZWQgcHJvcGVydGllcwoJICBBZGRzIDQgYXVkaW8gcHJvcGVydGllcyByZWxhdGVkIHRvIGF1ZGlvIHJlY29yZGluZwoJICAqIGF1ZGlvLXNyYwoJICAqIG11dGUKCSAgKiBhdWRpby1zdXBwb3J0ZWQtY2FwdHVyZS1jYXBzCgkgICogYXVkaW8tY2FwdHVyZS1jYXBzCgoyMDExLTAxLTIwIDA5OjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYXVkaW8gc3VwcG9ydCBmb3IgdmlkZW8gcmVjb3JkaW5ncwoJICBBZGRzIGFuIGF1ZGlvIHNvdXJjZSBhbmQgYXVkaW8gY2Fwc2ZpbHRlci9xdWV1ZS9jb252ZXJ0LCBjcmVhdGluZwoJICBhIG5ldyBicmFuY2ggb24gY2FtZXJhYmluMiB0aGF0IGlzIHVzZWQgdG8gZmVlZCBlbmNvZGViaW4gd2l0aAoJICBhdWRpbyBidWZmZXJzIGZvciB2aWRlbyByZWNvcmRpbmcuCgoyMDExLTAyLTI4IDE1OjQzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIGxvZ2dpbmcgZm9yIHN0b3AtY2FwdHVyZSBzaWduYWwKCjIwMTEtMDItMjQgMTg6Mjg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdmlld2ZpbmRlciBjYXBzIHJlbGF0ZWQgcHJvcGVydGllcwoJICBBZGRzIHByb3BlcnRpZXMgdG8gY2hlY2sgd2hhdCBjYXBzIGFyZSBzdXBwb3J0ZWQgb24gdGhlCgkgIHZpZXdmaW5kZXIgKGZyb20gdGhlIGNhbWVyYXNyYyB2aWV3ZmluZGVyIHBhZCkgYW5kIGFub3RoZXIKCSAgb25lIHRvIHNldCBhIGNhcHMgZm9yIHRoZSB2aWV3ZmluZGVyLgoKMjAxMS0wMi0yNCAxNzo0MjoyMSAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBhZGQgdmlydHVhbCBmdW5jdGlvbiB0byBub3RpZnkgc3ViY2xhc3Mgb2YgY2hhbmdpbmcgcHJldmlldyBjYXBzCgkgIEFkZHMgYSB2aXJ0dWFsIGZ1bmN0aW9uIHRvIGJhc2VjYW1lcmFzcmMgaW4gY2FzZSBzdWJjbGFzc2VzIHdhbnQgdG8gYmUKCSAgbm90aWZpZWQgb2YgY2hhbmdpbmcgcHJldmlldyBjYXBzLiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgc3ViY2xhc3Mgd2FudHMKCSAgdG8gcG9zdCB0aGUgcHJldmlldyBpdHNlbGYgb3IgaWYgaXQgd2FudHMgdG8gcHJvdmlkZSBhIHByZXZpZXcgYnVmZmVyCgkgIGFzIGNsb3NlIHRvIGFzIHBvc3NpYmxlIHRvIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIHJlc29sdXRpb24gdG8gdGhlCgkgIHByZXZpZXcgZ2VuZXJhdGlvbiBwaXBlbGluZS4KCjIwMTEtMDItMjIgMTM6MTA6MTUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIG9wdGlvbiBmb3Igc2V0dGluZyB0aGUgd3JhcHBlciBjYW1lcmEgc291cmNlCgoyMDExLTAyLTIxIDE3OjA0OjA2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBlbmNvZGluZyBwcm9maWxlIGxvYWRpbmcKCjIwMTEtMDItMTcgMTQ6NTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggbmV3c2VnbWVudCBwdXNoaW5nCgkgIFNlbmQgdXBkYXRlIG5ld3NlZ21lbnRzIGluc3RlYWQgb2Ygbm9uLXVwZGF0ZSBvbmVzCgkgIGZvciB0aGUgdmlkZW8gYnJhbmNoIHdoZW4gc3RhcnRpbmcgcmVjb3JkaW5ncwoKMjAxMS0wMi0xNSAxNDo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBzb21lIHF1ZXVlJ3MgcHJvcGVydGllcwoJICBTZXRzIHZpZXdmaW5kZXIgcXVldWUgdG8gbGVha3kgYW5kIHRlbGwgaW1hZ2UgYnJhbmNoCgkgIHF1ZXVlIHRvIGRvbid0IGNhcmUgYWJvdXQgZHVyYXRpb25zCgoyMDExLTAyLTEwIDExOjUwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVhZHkgaXMgZW5vdWdoIGZvciBmb3JjaW5nIGEgY2FwcyBjaGFuZ2UKCjIwMTEtMDItMDkgMTk6MTQ6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBDaGVjayBmb3IgZG93bnN0cmVhbSBjYXBzIG9uIGZpcnN0IGNhcHR1cmVzCgkgIFVzZSB2aWRlb19yZW5lZ290aWF0ZSBhbmQgaW1hZ2VfcmVuZWdvdGlhdGUgYm9vbGVhbnMgdG8gbWFrZQoJICB0aGUgdmlkZW9zcmMgbmVnb3RpYXRlIHRoZSBjYXB0dXJlIGNhcHMgb24gdGhlIGZpcnN0IGNhcHR1cmUgYmVjYXVzZQoJICB0aGUgY2FwcyBtaWdodCBiZSBzZXQgYmVmb3JlIHdyYXBwZXJjYW1lcmFiaW5zcmMgZ29lcyBpbnRvIFBMQVlJTkcKCSAgYW5kIHBhZHMgZHJvcCB0aGUgaW50ZXJuYWwgcmVuZWdvdGlhdGUgZXZlbnQuCgkgIFRoaXMgaXMgcmVxdWlyZWQgYXMgdGhlIG91dHB1dC1zZWxlY3RvciBpcyB1c2luZyB0aGUgJ25vbmUnIG5lZ290aWF0aW9uCgkgIG1vZGUuCgoyMDExLTAyLTA5IDE5OjA5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQXZvaWQgZml4YXRpbmcgY2FwdHVyZSBjYXBzCgkgIFdoZW4gc2V0dGluZyB0aGUgaW50ZXJuYWwgY2Fwc2ZpbHRlciBjYXBzIGZvciBjYXB0dXJlIHdlIHNob3VsZCBwdXQKCSAgdGhlIGZ1bGwgY2FwcyBpbnN0ZWFkIG9mIHRyeWluZyB0byBmaXhhdGUgaXQgb3Vyc2VsdmVzLiBUaGlzIHdheSB3ZSBsZXQKCSAgdGhlIGVsZW1lbnRzIChhbmQgbW9zdGx5IHRoZSBzb3VyY2UpIHNlbGVjdCB0aGUgYmVzdCBmb3JtYXQgaW5zdGVhZAoJICBvZiBkZWZhdWx0aW5nIHRvIHdoYXQgdGhlIHBhZCBmaXhhdGlvbiBmdW5jdGlvbiBwaWNrcy4KCjIwMTEtMDItMDkgMDg6Mjc6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBbGxvdyBmcmVlIGltYWdlIGRpbWVuc2lvbnMKCSAgQ2hhbmdlcyB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQgb2YgY2FwdHVyZXMgc28gdGhhdCBpdCB3aWxsCgkgIGJlIGF1dG9waWNrZWQgYnkgY2FtZXJhYmluMiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYW4gb3B0aW9uCgoyMDExLTAyLTA5IDA4OjE1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQmFja3BvcnQgZml4IGZyb20gY2FtZXJhYmluIGV4YW1wbGUKCSAgV2Ugc2hvdWxkIG9ubHkgY2hlY2sgaWYgdGhlIHh3aW5kb3cgc2hvdWxkIGJlIGNyZWF0ZWQgaWYgd2UgYWxyZWFkeQoJICBwYXJzZWQgdGhlIGFyZ3VtZW50cyBvZiB0aGUgcHJvZ3JhbQoKMjAxMS0wMi0wNCAxNDo1Mzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmluZyBwcmV2aWV3IGltYWdlIHByb3BlcnRpZXMgdG8gYmFzZWNhbWVyYXNyYwoJICBNb3ZlcyBwcmV2aWV3IGltYWdlIHJlbGF0ZWQgcHJvcGVydGllcyB0byBiYXNlY2FtZXJhc3JjIGFzIHRoYXQKCSAgc2hvdWxkIGJlIHByZXNlbnQgb24gYWxsIGNhbWVyYXNyY3MKCjIwMTEtMDItMDggMTU6NTE6NDIgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogRml4IGdldHRpbmcgZWxlbWVudCBpbXBsZW1lbnRpbmcgcGhvdG9ncmFwaHkgaWZhY2UKCjIwMTEtMDItMDMgMTI6MDI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHByZXZpZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBiYXNlY2FtZXJhYmluc3JjCgkgIE1vdmUgcHJldmlldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGJhc2VhY2FtZXJhYmluc3JjIHNvIHRoZXkgY2FuCgkgIGJlIHJldXNlZCBieSBtdWx0aXBsZSBjYW1lcmFiaW4yIHNvdXJjZXMuCgoyMDExLTAyLTAzIDE2OjU4OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIGdzdC1jYW1lcmFiaW4yLXRlc3QgZXhhbXBsZSBhcHBsaWNhdGlvbiwgc2ltaWxhciB0bwoJICBnc3QtY2FtZXJhYmluLXRlc3QgZm9yIGNhbWVyYWJpbi4KCSAgSXQgaXMgdXNlZnVsIGZvciB0YWtpbmcgcGljdHVyZXMgYW5kIHJlY29yZGluZyB2aWRlb3MgdXNpbmcKCSAgY2FtZXJhYmluMiBhbmQgcHJvdmlkaW5nIGFyZ3VtZW50cyBmb3IgbW9zdCBvZiBjYW1lcmFiaW4yCgkgIHByb3BlcnRpZXMKCjIwMTEtMDItMDQgMTI6MzY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdmlld2ZpbmRlci1zaW5rIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQgdGhlIHZpZXdmaW5kZXIncyBzaW5rIG9mIGNhbWVyYWJpbjIKCjIwMTEtMDMtMDkgMTM6MTk6NTAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IGZpeCBkb3VibGUgZnJlZSgpIGNyYXNoZXMKCjIwMTEtMDMtMDggMTc6Mjk6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA4IDE3OjAzOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICBtZXRhOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMDggMTE6MTk6NDEgKzAwMDAgIEJ5ZW9uZy1yeWVvbCBLaW0gPGJyb2ZraW1zQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvZmlsdGVyczogbGluayB0byBsaWJtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQxNzYKCjIwMTEtMDMtMDcgMjI6NDE6MzAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogdXBkYXRlIHVybCBmb3IgcG9ydC1ncm91cHMgZXh0ZW5zaW9uCgoyMDExLTAzLTA3IDEwOjM2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogVGhlIHBrZy1jb25maWcgZmlsZSBpbiB2ZXJzaW9uIDEuNSBpcyBjYWxsZWQgc291bmR0b3VjaAoKMjAxMS0wMi0yNiAxNjoyMDo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB6ZWJyYXN0cmlwZTogTmV3IGVsZW1lbnQKCSAgQWRkcyB6ZWJyYSBzdHJpcGVzIHRvIG92ZXJleHBvc2VkIHZpZGVvLgoKMjAxMS0wMy0wNCAxNzozNzowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGV4dDogQWx3YXlzIGRpc3QgdGhlIGN1cmwgZGlyZWN0b3J5CgkgIEV2ZW50IGlmIHdlIGNhbid0IGJ1aWxkIGl0LiBGaXhlcyBtYWtlIGRpc3QKCjIwMTEtMDMtMDQgMTc6MjY6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgc2ZzaW5rOiB1c2UgYmFzZXNpbmsgcHJlcm9sbCBsb2NrCgoyMDExLTAzLTA0IDEzOjM5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZGlzYWJsZSB1bnRpbCBzb21lb25lIHBvcnRzIGl0CgoyMDExLTAzLTA0IDEzOjI5OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wNCAxMjoxMToxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweQoKMjAxMS0wMy0wNCAxMjoxMDoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsc2luazogRml4IHByaW50LXJlbGF0ZWQgaXNzdWVzCgoyMDExLTAzLTA0IDExOjU5OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweS4KCjIwMTEtMDMtMDQgMDk6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJICBmaWVsZGFuYWx5c2lzOiBhZGQgYmFja3VwIGZpbGVzIGZvciBjb21waWxpbmcgd2l0aG91dCBvcmMKCjIwMTEtMDMtMDMgMDA6NTc6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBhbGxvY2F0ZSBIMjYzUGFyYW1zIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgSXQncyBmbGF0IGFuZCBub3Qga2VwdCBhcm91bmQgZm9yIGxvbmdlci4KCjIwMTEtMDMtMDMgMDA6NDU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBtaW5vciBjbGVhbi11cHMKCSAgY29uc3QtaWZ5IHNvbWUgYXJndW1lbnRzIGFuZCByZS1pbmRlbnQgaGVhZGVyIGEgbGl0dGxlLgoKMjAxMS0wMi0yOCAxMTo1MTo1NCArMDEwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBmaXggc3luYyBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlCgoyMDExLTAzLTAyIDIzOjQzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEZpeCBjb21waWxhdGlvbiB3aXRoIGNlbHQgPj0gMC4xMS4wCgkgIEZpeGVzIGJ1ZyAjNjQzNjA3LgoKMjAxMC0wOS0xNSAxNzozMjowOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBmaWVsZGFuYWx5c2lzOiBBZGQgZmllbGRhbmFseXNpcyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBhbmFseXNlcyB2aWRlbyBidWZmZXJzIHRvIGlkZW50aWZ5IGlmIHRoZXkgYXJlIHByb2dyZXNzaXZlLAoJICBpbnRlcmxhY2VkIG9yIHRlbGVjaW5lZCBhbmQgb3V0cHV0cyBidWZmZXJzIHdpdGggYXBwcm9wcmlhdGUgZmxhZ3MgZm9yIGEKCSAgZG93bnN0cmVhbSBlbGVtZW50ICh3aGljaCB3aWxsIGJlIHRoZSBkZWludGVybGFjZSBlbGVtZW50LCBhZnRlciBzb21lCgkgIGZvcnRoY29taW5nIG1vZGlmaWNhdGlvbnMpIHRvIGJlIGFibGUgdG8gb3V0cHV0IHByb2dyZXNzaXZlIGZyYW1lcyBhbmQKCSAgYWRqdXN0IHRpbWVzdGFtcHMgcmVzdWx0aW5nIGluIGEgcHJvZ3Jlc3NpdmUgc3RyZWFtLgoKMjAxMS0wMy0wMSAxMToyMzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVjZW50IGNoYW5nZXMgaW4gZ2l0CgoyMDExLTAzLTAxIDExOjE2OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBkb2NzOiBhZGQgbmV3IGN1cmwgcGx1Z2luIGFuZCBjdXJsc2luayBlbGVtZW50IHRvIGRvY3MKCjIwMTEtMDMtMDEgMTA6NDk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gY2hlY2sgZm9yIHBsYXRmb3JtIHNvY2tldCBoZWFkZXJzIG5lZWRlZCBieSBjdXJsc2luayBlbGVtZW50CgoyMDExLTAzLTAxIDEwOjAzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkgIGN1cmxzaW5rOiBubyBuZWVkIGZvciBhIHByaXZhdGUgaW5zdGFuY2Ugc3RydWN0dXJlCgkgIFRoZSBlbnRpcmUgaW5zdGFuY2Ugc3RydWN0dXJlIGlzIHByaXZhdGUgYW55d2F5LgoKMjAxMS0wMy0wMSAwOTo1Njo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsc2luazogY2xlYW4gdXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGNvZGUKCSAgRml4IHNvbWUgdHlwb3MsIHVzZSBzYW1lIHN0eWxlIGFzIGluIGFsbCBvdGhlciBwbHVnaW5zLCBhdm9pZGluZwoJICB1bm5lY2Vzc2FyeSB0ZW1wb3JhcnkgR1BhcmFtU3BlYyB2YXJpYWJsZXM7IHVzZSBHX1BBUkFNX1NQRUNfU1RBVElDX1NUUklOR1MuCgoyMDExLTAyLTI2IDIwOjIxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBjdXJsOiBhZGQgY29uZmlndXJlIGNoZWNrIGFuZCBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoKMjAxMS0wMi0yNiAyMDoyMDozMyArMDAwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJICBjdXJsOiBhZGQgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQKCSAgU2luayBhY3RzIGFzIGEgY2xpZW50IGFuZCBjYW4gY29ubmVjdCB0byBzZXJ2ZXJzIHRvCgkgIHVwbG9hZCBtZWRpYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTQ5NgoKMjAxMS0wMi0yNSAxNDoyNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSAganAya2RlYzogcG9zdCBwcm9wZXIgZXJyb3Igd2hlbiB0aGUgaW1hZ2UncyBjb2xvdXIgc3BhY2UgaXMgbm90IHN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMTE1CgoyMDExLTAyLTI4IDIwOjE5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjeWd3aW4vbWluZ3c7IGVuYWJsZSBwbHVnaW4gbGlua2luZyB0byBzdGF0aWMgbGliCgkgIFVzZWZ1bCBmb3IgRGlyZWN0WCBwbHVnaW4ocykuCgkgIEZpeGVzICM2NDI1MDcuCgoyMDExLTAyLTI4IDE5OjU4OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBleHBvcnQgcGx1Z2luIGRlc2NyaXB0aW9uIG1vcmUgcGxhdGZvcm0gaW5kZXBlbmRlbnQKCSAgRml4ZXMgIzY0MjUwNC4KCjIwMTEtMDItMjggMTg6MzM6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZGU3ZjZhIHRvIDZhZWM2YjkKCjIwMTEtMDItMjcgMTk6Mzk6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBtZXRhOiBmaXggZm9yIG5ldyBtZXRhZGF0YSBhcGkKCjIwMTEtMDItMjYgMTQ6NTQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmOiBmaXggY2xhc3Mgc3RydWN0CgkgIEZpeCBjbGFzcyBwYXJlbnQgc3RydWN0dXJlCgkgIE1ldGFkYXRhIGlzIG5vdyBHT2JqZWN0CgoyMDExLTAyLTI2IDE0OjIyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBtaW5pb2JqZWN0OiBwb3J0IHJzbmR2ZAoKMjAxMS0wMi0yNiAxMzozOTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIG1pbmlvYmplY3Q6IHBvcnQgdG8gbmV3IDAuMTEgQVBJCgkgIFJlbW92ZSBtaW5pb2JqZWN0IGFuZCBidWZmZXIgc3ViY2xhc3Nlc3VzaW5nIEdPYmplY3Qgc3ViY2xhc3NlcyBhbmQKCSAgbWV0YWRhdGEuCgoyMDExLTAyLTI4IDEyOjA2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDItMjYgMTM6NTM6NDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU0OWI4OWQ1YzVhMTI0NGZhMGRjYjhiYjQ5OTZlMzhmYjliZmY5ZTUuCgoyMDExLTAyLTI1IDE5OjU5OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogc2V0IGRpdGhlcmluZyBlbnVtIGRpcmVjdGx5CgoyMDExLTAyLTI1IDE5OjU3OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgcjIxMAoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDExLTAyLTIzIDE3OjI0OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGZpeAoKMjAxMS0wMi0yNCAwOToyOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiB0ZXN0czogSW5jcmVhc2UgYnVzIHdhaXRpbmcgdGltZW91dAoJICBEb3VibGUgYnVzIHdhaXRpbmcgdGltZW91dCBhcyBzb21ldGltZXMgdGhlIHRlc3Qgd291bGQgZmFpbAoJICBiZWNhdXNlIGl0IHdvdWxkIHRpbWVvdXQgYW5kIGdldCBubyBtZXNzYWdlcyBmcm9tIHRoZSBidXMuCgoyMDExLTAyLTIxIDEzOjI0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVuYW1lIEdUeXBlIGZyb20gR3N0QXVkaW9CYXNlUGFyc2VCYWQgdG8gR3N0QmFzZVBhcnNlQmFkCgkgIFdlIHVzZSBpdCBmb3IgdmlkZW8gYXMgd2VsbCBub3cuCgoyMDExLTAyLTIxIDEyOjE0OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDg3NDA0NzZjY2QzYTM0OThkYzRmMThjMTk3MzM2NDM4MjVjN2I4LgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjAgMjM6NTc6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMi0yMCAyMzowMTozMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBZVVYtPlJHQiBtYXRyaXhpbmcKCjIwMTEtMDItMjAgMjI6NDM6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgZGl0aGVyaW5nCgkgIERpdGhlcmluZyBvbmx5IGhhcHBlbnMgd2hlbiBhIDE2LWJpdC1wZXItY2hhbm5lbCBmb3JtYXQgaXMKCSAgaW52b2x2ZWQuCgoyMDExLTAxLTExIDEwOjMyOjQ3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgeHZpZGRlYzogYm9kZ2UgdG8gYXZvaWQgY3Jhc2hlcwoJICBJdCBzZWVtcyB4dmlkY29yZSBvdmVycmVhZHMgaXRzIGlucHV0IGJ1ZmZlciwgc28gYSBuYXN0eSB3b3JrYXJvdW5kCgkgIGlzIHRvIGFsbG9jYXRlIHNvbWUgbW9yZSBtZW1vcnkgKDE2IGJ5dGVzIHNlZW0gdG8gYmUgZW5vdWdoKS4KCSAgVGhlcmUgaXMgbm8gYXBwYXJlbnQgaW1hZ2UgY29ycnVwdGlvbiB3aXRoIHRoZXNlIGV4dHJhIGJ5dGVzIHNldCB0byAwLAoJICB2YWxncmluZCBpcyBtdWNoIGhhcHBpZXIsIGFuZCB0aGUgY3Jhc2hlcyBnbyBhd2F5LgoJICBJdCBpcyB1Z2x5LCBhbmQgc2xvd2VyIHRob3VnaC4gQnV0IHRoZW4sIHh2aWRkZWMgaXMgY3VycmVudGx5CgkgIG5vdCBhdXRvcGx1Z2dlZCBmb3IgcGxheWJhY2sgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0MTA3CgoyMDExLTAyLTIwIDE0OjE0OjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogZml4IGEgZmV3IGZvcm1hdHMKCjIwMTEtMDItMTkgMTM6MTI6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgMTYtYml0LXBlci1jaGFubmVsIGhhbmRsaW5nCgoyMDExLTAyLTE5IDEzOjEzOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG1lbWxlYWsKCjIwMTEtMDItMTkgMTM6MDc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcGFyc2VyIGluIGZhdm9yIG9mIGJhc2VwYXJzZQoKMjAxMS0wMi0xOCAxNToyNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBjaGFuZ2UgcGx1Z2luIGZpbGVuYW1lIGZyb20gbGliZ3N0aDI2M3BhcnNlKiB0byBsaWJnc3R2aWRlb3BhcnNlcnNiYWQqCgkgIER1ZSB0byBhIHJlZ2lzdHJ5IGJ1ZyB5b3UgbWF5IG5lZWQgdG8gbWFudWFsbHkgcmVtb3ZlIHlvdXIKCSAgcmVnaXN0cnkgZmlsZSB0byBtYWtlIHRoZSBuZXcgcGx1Z2luIGFwcGVhciB3aXRoID4wIGZlYXR1cmVzLgoKMjAxMS0wMi0xOCAxNToxNzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggbG9nIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdAoKMjAxMS0wMi0xOCAxNTowNTozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTEtMDItMTggMTU6MDU6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRlbHRhLXVuaXQgZmxhZ3MgaW5zdGVhZCBvZiBub25lCgoyMDExLTAyLTE4IDE1OjAwOjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSAgaW5kZXhpbmctZXhhbXBsZTogdXNlIHByb3BlciBzaWduYWwgbmFtZXMKCjIwMTEtMDItMTggMDk6NDA6MDAgKzAxMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGFsbG93IG5lZ2F0aXZlIHZhbHVlcyBmb3IgeC95L3dpZHRoL2hlaWdodAoKMjAxMS0wMi0xOCAxMjozOTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBidWlsZAoJICBBZGQgaW5jbHVkZXMgYW5kIGxpbmsgYWdhaW5zdCBuZXcgbGliZ3N0YmFzZXBhcnNlIGluIHRoZQoJICBidWlsZCB0cmVlLgoKMjAxMS0wMi0xNyAxNDozMjo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c2RlbXV4OiBGaXggZGlzdGluZyBvZiBoZWFkZXJzCgoyMDExLTAyLTE3IDEzOjIyOjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIGRvY3VtZW50YXRpb24gZm9yIEFQSSBjaGFuZ2VzCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBiYXNlcGFyc2UgdGVzdAoKMjAxMC0xMC0wOSAxNTowODozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IEFkZCBkaXJhYyBwYXJzZXIKCjIwMTEtMDItMTcgMTM6MjA6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGRvIHRlc3QgYnVpbGQgd2l0aCAtZlBJQwoKMjAxMC0xMC0wOSAxNTowNjoxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCBiYXNlcGFyc2UgdGVtcGxhdGUKCjIwMTAtMTAtMTMgMTU6Mzk6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0xNiAyMToxNzo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHN1YmRlYzogbWFrZSB1cCBjbHV0IHZhbHVlcyBpZiB0aGV5IHdlcmVuJ3Qgc2V0CgoyMDEwLTEyLTA0IDE5OjU1OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHJlbGVhc2VfcGFkCgkgIFJlbW92ZSBib2d1cyBmcmVlaW5nIG9mIHBhZCBlbGVtZW50X3ByaXZhdGUgZGF0YSB0aGF0IHdlCgkgIG5ldmVyIHNldCAoY29sbGVjdHBhZHMgdXNlcyBpdCwgd2hpY2ggY2F1c2VzIGNvbmZ1c2lvbiBoZXJlKS4KCSAgQWxzbywgY2hlY2sgdGhhdCBvdXIgY29sbGVjdHBhZHMgaW5zdGFuY2UgZXhpc3RzIGJlZm9yZSB1c2luZwoJICBpdC4gIFBhcnRpYWwgZml4IGZvciAjNjM2MDExLgoKMjAxMS0wMi0xNyAyMTozMzo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IHVzZSBHX0dVSU5UNjRfRk9STUFUIGFzIGZvcm1hdCBzcGVjaWZpZXIgZm9yIGd1aW50NjQKCSAgZml4ZXMgY29tcGlsYXRpb24gb24gMzJiaXQKCjIwMTEtMDItMTUgMTg6MTI6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggbWVtb3J5IGxlYWsKCjIwMTEtMDItMTAgMTI6MzU6NDcgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWd0c2RlbXV4OiByZWxpY2Vuc2UgZ3N0bXBlZ2RlZnMuaCwgZ3N0bXBlZ2Rlc2MuaCBhbmQgZ3N0bXBlZ2Rlc2MuYyB0byBMR1BMIG9ubHkKCSAgd2l0aCBwZXJtaXNzaW9uIGZyb20gdGhlIGxpY2Vuc2UgaGVhZGVyOgoJICAiIiIKCSAgVGhpcyBsaWJyYXJ5IGlzIGxpY2Vuc2VkIHVuZGVyIDIgZGlmZmVyZW50IGxpY2Vuc2VzIGFuZCB5b3UKCSAgY2FuIGNob29zZSB0byB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIGVpdGhlciBvbmUgb2YgdGhlbS4gVGhlCgkgIHR3byBsaWNlbnNlcyBhcmUgdGhlIE1QTCAxLjEgYW5kIHRoZSBMR1BMLgoJICAiIiIKCjIwMTEtMDItMTYgMTc6NTc6NDIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBNUEVHIFRTIGRlbXV4ZXIgcmV3cml0ZSBmcm9tIEVkd2FyZCBIZXJ2ZXkKCSAgd2l0aCBjb250cmlidXRpb25zIGZyb20gTWlxdWVsIEFuZ2VsIEZhcnJlIEd1aXUgYW5kIFphaGVlciBBYmJhcyBNZXJhbGkKCjIwMTEtMDItMTcgMTQ6MTI6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgoyMDExLTAyLTA3IDE0OjQ2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoJICBGaXhlcyAjNjQxMDQ3LgoKMjAxMS0wMi0xNyAxMjoyODo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlbW92ZSBleHRyYW5lb3VzIGJ1ZmZlciB1bnJlZgoKMjAxMS0wMi0xNiAxNToyOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIGljbGVzOiBDb21wbGV0ZWx5IHJlbW92ZSBlcXVhbGl6ZXItdGVzdCBmcm9tIC1iYWQsIGl0J3MgaW4gLWdvb2Qgbm93CgoyMDExLTAyLTE2IDE1OjIzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIGVxdWFsaXplci10ZXN0OiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGFmdGVyIGdzdF9pbml0KCkgdG8gZml4IHNlZ2ZhdWx0CgoyMDExLTAyLTE0IDEyOjUzOjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY5NGQ3MzkgdG8gMWRlN2Y2YQoKMjAxMS0wMi0xNCAxMjoxNDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgZHVwbGljYXRlZCBydWxlIGZyb20gTWFrZWZpbGUuYW0KCSAgVGhpcyBjYXVzZXMgYSBtYWtlIHdhcm5pbmcgYW5kIG1pZ2h0IGV2ZW4gY2F1c2UgZGlzdC1mYWlsdXJlLiBPdGhlciBtb2R1bGVzCgkgIGRvbid0IG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRhcmdldCBlaXRoZXIgYW5kIGlmIHdlIGNhbiBmaSBpdCBpbgoJICBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hay4KCjIwMTEtMDItMTQgMTE6NDg6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHJzdmcgcGx1Z2luIHRvIHRoZSBkb2NzCgoyMDExLTAyLTE0IDExOjQyOjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGFkZCBiYXNpYyBkb2MtYmxvYgoKMjAxMS0wMi0xMSAxNzo1OTozMSArMDEwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogaW1wbGVtZW50IHgveS93aWR0aC9oZWlnaHQgKGFic29sdXRlIGFuZCByZWxhdGl2ZSkgcG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbmluZwoJICBTaWduZWQtb2ZmLWJ5OiBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCjIwMTEtMDItMTAgMTY6MDA6MDMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGFwcGxpY2F0aW9uIGVsZW1lbnQgbWVtb3J5IGxlYWsgZml4ZXMKCSAgSWYgdmlkZW9iaW4vaW1hZ2ViaW4gd2FzIG5ldmVyIHNldCB0byBSRUFEWSBzdGF0ZSB0aGUgb3duZXJzaGlwCgkgIG9mIGVsZW1lbnRzIGNyZWF0ZWQgYW5kIHNldCBieSBhcHBsaWNhdGlvbiB3ZXJlIG5ldmVyIHRha2VuIGJ5CgkgIGJpbiBhbmQgdGhlcmVmb3JlIGdzdF9vYmplY3Rfc2luayBpcyBjYWxsZWQgZm9yIHRoZXNlIGVsZW1lbnRzCgkgIGJlZm9yZSB1bnJlZmZpbmcgKHRoZXkgbWF5IHN0aWxsIGJlIGluIGZsb2F0aW5nIHN0YXRlIGFuZCBub3QKCSAgdW5yZWZmZWQgcHJvcGVybHkgd2l0aG91dCBzaW5raW5nIGZpcnN0KQoKMjAxMS0wMi0xMCAxMDozNToxOCArMDgwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogdXBkYXRlIHRoZSBub2lzZV9yZWR1Y3Rpb24gdHlwZSBmcm9tIGd1aW50IHRvIEdzdFBob3RvZ3JhcGh5Tm9pc2VSZWR1Y3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjgxNAoKMjAxMS0wMi0wOCAyMzozOToyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFVwZGF0ZSBtaW4vbWF4IGJpdHJhdGUgYmVmb3JlIGZpcnN0IHBvc3RpbmcgdGhlbQoJICBUaGlzIGF2b2lkcyBwb3N0aW5nIGFuIGluaXRpYWwgbWluLWJpdHJhdGUgb2YgR19VSU5UTUFYIGFuZCBtYXgtYml0cmF0ZQoJICBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU3CgoyMDExLTAyLTA4IDIzOjUwOjEzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUG9zdCBDQlIgYml0cmF0ZSBhcyBub21pbmFsIGJpdHJhdGUKCSAgRXZlbiBpZiBWQlIgaGVhZGVycyBhcmUgbWlzc2luZywgd2UgY2FuJ3QgZ3VhcmFudGVlIHRoYXQgYSBzdHJlYW0gaXMgaW4KCSAgZmFjdCBhIENCUiBzdHJlYW0sIHNvIGl0J3Mgc2FmZXIgdG8gbGV0IGJhc2VwYXJzZSBjYWxjdWxhdGUgdGhlIGF2ZXJhZ2UKCSAgYml0cmF0ZSByYXRoZXIgdGhhbiBhc3N1bWUgYSBDQlIgc3RyZWFtLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlCgkgIC9zb21lLyBtZXRhZGF0YSBhdmFpbGFibGUgYmVmb3JlIHRoZSByZXF1aXNpdGUgbnVtYmVyIG9mIGZyYW1lcyBoYXZlCgkgIGJlZW4gcGFyc2VkLCB0aGlzIHBvc3RzIHRoZSBiaXRyYXRlIGZyb20gdGhlIG5vbi1WQlIgaGVhZGVycyBhcyB0aGUKCSAgbm9taW5hbCBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU4CgoyMDExLTAyLTA0IDAxOjAwOjU1IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWx3YXlzIHRha2UgcGhvdG8gd2hlbiBwcmV2aWV3LWNhcHMgaXMgc2V0CgkgIFdoZW4gZmlsZW5hbWUgaXMgbm90IHNldCwgYnV0IHByZXZpZXctY2FwcyBpcyBzZXQsIHRha2UgdGhlIHBob3RvIGFuZAoJICBzZW5kIGl0cyBwcmV2aWV3LgoKMjAxMS0wMS0yNiAxMTo0OTo0OCAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgY2FtZXJhYmluOiBFdmVudHMgd2l0aCBzZWxlY3QtYWxsIGluIGlucHV0LXNlbGVjdG9yCgkgIFdoZW4gc2VsZWN0LWFsbCB3YXMgc2V0LCBpbnB1dC1zZWxlY3RvciB3YXNuJ3QgaGFuZGxpbmcgdXBzdHJlYW0gZXZlbnRzLgoJICBOb3cgaW5wdXQtc2VsZWN0b3IgZm9yd2FyZHMgdGhlIGV2ZW50IHRvIGFsbCBvZiBpdHMgc2luayBwYWRzLiBUaGlzCgkgIGNoYW5nZXMgdGhlIGlucHV0LXNlbGVjdG9yIGludGVybmFsIHRvIGNhbWVyYWJpbiB1bnRpbCBpdCBpcyByZXBsYWNlZAoJICB3aXRoIGEgYmV0dGVyIHNvbHV0aW9uLgoKMjAxMS0wMi0wNyAyMzoxNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogYXZvaWQgYXNwZWN0LXJhdGlvIGJvcmRlcnMgb3Zlcmx5aW5nIG90aGVyIHdpbmRvd3MKCSAgRml4ZXMgIzYzMjA1Ni4KCjIwMTEtMDItMDcgMjI6NDc6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGF2b2lkIHJlbmRlcmluZyB0byBpbnZhbGlkIGFyZWEKCSAgQmFzZWQgb24gcGF0Y2ggYnkgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoJICBGaXhlcyAjNTk0MjgwLgoKMjAxMS0wMi0wOCAxMToyNDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IERvIG5vdCByZS1zZXQgdGhlIGNsb2NrIGlmIGl0IGlzIG51bGwKCSAgQXZvaWRzIG5vdCBuZWVkZWQgd29yayBhbmQgZG9lc24ndCBhc3NlcnQgd2hlbiB0cnlpbmcgdG8KCSAgdW5yZWYgdGhlIG51bGwgcmVmZXJlbmNlCgoyMDExLTAyLTA3IDA5OjUwOjIyICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGZpeCAtLW5vLXh3aW5kb3cgb3B0aW9uIGhhbmRsaW5nIGluIGdzdC1jYW1lcmFiaW4tdGVzdAoJICAtLW5vLXdpbmRvdyBmbGFnIGlzIGZhbHNlIGJ5IGRlZmF1bHQgYW5kIHNlbGVjdGlvbiBiYXNlZCBvbiB0aGUgb3B0aW9uIHdoZXRoZXIKCSAgdG8gY3JlYXRlIFhXaW5kb3cgaXMgZG9uZSBiZWZvcmUgb3B0aW9ucyBhcmUgcGFyc2VkLiBUaGVyZWZvcmUgWFdpbmRvdyBpcyBuZXZlcgoJICBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNzEyCgoyMDEwLTA5LTA2IDE0OjEwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IGEgdmFsaWQgYW1yLXdiIGZyYW1lIHNob3VsZCBub3QgaGF2ZSByZXNlcnZlZCBmcmFtZSB0eXBlIGluZGV4CgkgIFNlZSAjNjM5NzE1LgoKMjAxMS0wMi0wNyAxNDowNTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogc2V0IEdTVF9MSUJfTERGTEFHUwoJICBBbGlnbnMgR1NUX0xJQl9MREZMQUdTIHdpdGggZS5nLiAtYmFzZSB0byBhcnJhbmdlIGZvciBwcm9wZXIgZXhwb3J0cyBpbiBsaWJzLgoKMjAxMS0wMS0xMiAxNzoxMzowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbi10ZXN0czogZml4IGxvb2t1cCBvZiBVSSBmaWxlcwoJICBUaGVzZSBhcmUgdW5pbnN0YWxsZWQgZXhhbXBsZXMuIFBhc3MgJHNyY2RpciB0byBjcHAgdG8gYnVpbGQgdGhlIGNvcnJlY3QKCSAgbG9jYXRpb24gZm9yIHRoZSBVSSBmaWxlLgoKMjAxMS0wMi0wNCAwOTowODoyNiArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgZGVzY3JpcHRpb24gZm9yIGJpdHJhdGUgdW5pdHMuCgoyMDExLTAyLTAzIDE1OjIyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IEZpeCBwcm9wZXJ0eSBzZXR0aW5nCgkgIFNldCB0aGUgcHJvcGVydHkgb24gdGhlIGNoaWxkIGFuZCBub3Qgb24gaXRzZWxmIGNhdXNpbmcgaW5maW5pdGUKCSAgbG9vcGluZwoKMjAxMS0wMi0wMSAxMToyMDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBJbXByb3ZlIHByZXZpZXcgY2hlY2tpbmcKCjIwMTEtMDItMDEgMTE6MTk6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBwcmV2aWV3IG1lc3NhZ2VzCgkgIEltYWdlIHByZXZpZXdzIHdoZXJlIGJlaW5nIHBvc3RlZCBpbiBzeW5jIHdpdGggdGhlIGJ1ZmZlcnMKCSAgdGltZXN0YW1wcywgdGhpcyBtYWtlcyBubyBzZW5zZSBhcyBwcmV2aWV3cyBzaG91bGQgYmUgcG9zdGVkIEFTQVAuCgkgIEFsc28gYWRkcyBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcy4KCjIwMTEtMDItMDEgMTE6MTk6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBzcmMgc3RhdGUgY2hhbmdlIHRvIGF2b2lkIGxvc2luZyB0aW1lc3RhbXBzCgkgIENhbWVyYWJpbjIgdXNlcyBzdGF0ZSBjaGFuZ2VzIHRvIGZvcmNlIHRoZSBzb3VyY2UgdG8gcmVuZWdvdGlhdGUgaXRzCgkgIGNhcHMgdG8gdGhlIGNhcHR1cmUgZm9ybWF0cy4gVGhlIHN0YXRlIGNoYW5nZXMgbWFrZXMgdGhlIHNvdXJjZSBsb3NlCgkgIGl0cyBjbG9jayBhbmQgYmFzZV90aW1lLCBjYXVzaW5nIGl0IHRvIHN0b3AgdGltZXN0YW1waW5nIHRoZSBidWZmZXJzLgoJICBXZSBzdGlsbCBuZWVkIGEgcHJvcGVyIHdheSB0byBtYWtlIHNvdXJjZXMgcmVuZWdvdGlhdGUgaXRzIGNhcHMsIHNvIHRoaXMKCSAgcGF0Y2ggaXMgYSBoYWNrIHRvIG1ha2UgdGhlIHNvdXJjZSBjb250aW51ZSB0aW1lc3RhbXBpbmcgYnVmZmVycyBldmVuCgkgIGFmdGVyIGNoYW5naW5nIHN0YXRlLiBUaGUgcGF0Y2ggd29ya3MgYnkgZ2V0dGluZyB0aGUgY2xvY2sgYW5kIGJhc2UKCSAgdGltZSBiZWZvcmUgZG9pbmcgdGhlIHN0YXRlIGNoYW5nZSB0byBOVUxMIGFuZCBzZXR0aW5nIHRoZW0gYmFjawoJICBhZnRlciBwdXR0aW5nIGl0IHRvIFBMQVlJTkcgYWdhaW4uIEl0IGFsc28gY2FyZXMgdG8gZHJvcCB0aGUgZmlyc3QKCSAgbmV3IHNlZ21lbnQgYWZ0ZXIgdGhpcyBzdGF0ZSBjaGFuZ2UuCgoyMDExLTAxLTI3IDE1OjM1OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHByZXZpZXcgZmlsdGVyIHRlc3RzCgkgIEFkZHMgdGVzdHMgdG8gdGhlIHByZXZpZXctZmlsdGVyIHByb3BlcnR5IG9mIGNhbWVyYWJpbjIKCjIwMTEtMDEtMjcgMTQ6Mzk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkIHByZXZpZXctZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgYSBjdXN0b20gZWxlbWVudCBmb3IgcHJldmlldyBwaXBlbGluZQoJICBidWZmZXJzIHByb2Nlc3NpbmcKCjIwMTEtMDEtMjcgMTA6MTk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHRlc3RzIGZvciBjdXN0b20gZmlsdGVycwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIHRoYXQgY3VzdG9tIGZpbHRlcnMgZWxlbWVudHMgcmVjZWl2ZSBidWZmZXJzCgoyMDExLTAxLTI2IDE1OjI3OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgY3VzdG9tIGZpbHRlciBwcm9wZXJ0aWVzCgkgIEFkZHMgY3VzdG9tIGZpbHRlciBwcm9wZXJ0aWVzIGZvciBjYW1lcmFiaW4yLiBDdXN0b20gZmlsdGVycwoJICBjYW4gYmUgYWRkZWQgdG8gdmlkZW8vaW1hZ2UvcHJldmlldyBicmFuY2hlcy4KCjIwMTEtMDItMDMgMTY6MjQ6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogSW5pdGlhbGl6ZSB2YXJpYWJsZXMKCSAgTWFrZXMgY29tcGlsZXJzIGhhcHB5CgoyMDExLTAyLTAyIDE4OjQxOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVwIGVudW0gbmljayBuYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxNjUxCgoyMDExLTAxLTMxIDE3OjI0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSAgZGNjcDogdXNlIHNvY2tsZW5fdCB3aGVyZSBhcHByb3ByaWF0ZSByYXRoZXIgdGhhbiBzcGVjaWZpYyB0eXBlCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIEN5Z3dpbiBidWlsZCB3aGVyZSBzb2NrbGVuX3QgaXMgZGVmaW5lZCBhcyBpbnQKCSAgaW4gbGluZSB3aXRoIG5hdGl2ZSB3aW4zMiBhcGkgZGVmaW5pdGlvbi4KCjIwMTEtMDItMDEgMjA6MDE6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBhbHNvIGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlLTAuMTAgZm9yIGFkYXB0ZXIgYW5kIGJpdCByZWFkZXIgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDExNzgKCjIwMTEtMDItMDEgMTQ6NDA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IG1hcCBuZXcgR1NUX1RBR19FTkNPREVEX0JZIHRvIElEM3YyIFRFTkMgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzI2OAoKMjAxMS0wMS0zMSAxNzo0NToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGRpc3QgaDI2NHBhcnNlLmgsIGZpeGluZyBtYWtlIGRpc3RjaGVjawoJICBTcG90dGVkIGJ5IE5hdGhhbmFlbCBELiBOb2JsZXQKCjIwMTEtMDEtMTQgMTA6MTk6MjggKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBvcHRpbWl6ZSBzZXR0aW5nIG5ldyBjYXBzIGZvciBwcmV2aWV3IGltYWdlIHBpcGVsaW5lCgkgIEF2b2lkIHJlLWNyZWF0aW5nIGFuZCBsaW5raW5nIG9mIHByZXZpZXcgaW1hZ2UgcGlwZWxpbmUgd2hlbgoJICBzZXR0aW5nIG5ldyBwcmV2aWV3IGltYWdlIGNhcHMuIEJhY2twb3J0ZWQgZnJvbSBjYW1lcmFiaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTAyCgoyMDExLTAxLTMwIDE3OjA4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogZml4IExJQlMgYW5kIENGTEFHUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0yMyAxNzowMjozOCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQWNjZXB0IHBhY2tldHMgd2l0aCBvbmx5IG9uZSBieXRlIG9mIGRhdGEKCSAgV2hlbiBmcmFnbWVudGluZyBwYXJ0aW9ucyBpdCBjYW4gaGFwcGVuIHRoYXQgYW4gUlRQIHBhY2tldCBvbmx5IGNhcmllcyAxCgkgIGJ5dGUgb2YgUlRQIGRhdGEuCgoyMDExLTAxLTIzIDE2OjQyOjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDhwYXk6IFRyZWF0IHRoZSBmcmFtZSBoZWFkZXIganVzdCBsaWtlIGFueSBvdGhlciBwYXJ0aXRpb24KCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBpbml0aWFsIG1hcHBpbmcganVzdCBhY3QgYXMgaWYgdGhlIGdsb2JhbCBmcmFtZQoJICBpbmZvcm1hdGlvbiBpcyBhbm90aGVyIHBhcnRpdGlvbi4gVGhpcyBzYXZlcyBzcGVjaWFsLWNhc2luZyBpdCBsYXRlciBpbgoJICB0aGUgYWN0dWFsIHBhY2tldGl6aW5nIGNvZGUuCgoyMDEwLTA1LTE2IDE3OjIzOjE3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IEFkZCBzaW1wbGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIGZvciBWUDgKCSAgTWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL3J0cC8sCgkgIHZlcnNpb24gMC4zLjIKCjIwMTEtMDEtMjggMTI6Mzg6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgaDI2NHBhcnNlCgkgIEZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIChsZWdhY3kpaDI2NHBhcnNlIGFuZCByZS11c2VzIHRoZSBsYXR0ZXIncyBsb3cKCSAgbGV2ZWwgTkFMIHBhcnNpbmcsIGJ1dCBvdGhlcndpc2UgYmFzZWQgb24gR3N0QmFzZVBhcnNlLCBhbmQgcmVwbGFjaW5nCgkgIHNvbWUgcHJvcGVydHkgY29uZmlndXJhdGlvbiB3aXRoIGNhcHMgbmVnb3RpYXRpb24uCgoyMDExLTAxLTI3IDE4OjIwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVuYW1lIHRvIGxlZ2FjeWgyNjRwYXJzZQoKMjAxMS0wMS0yNyAxODoxNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGgyNjNwYXJzZTogbW92ZSB0byB2aWRlb3BhcnNlcnMgYW5kIHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24KCjIwMTEtMDEtMjcgMTg6MDM6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiB1cGRhdGUgdG8gbGF0ZXN0IGJhc2VwYXJzZQoKMjAxMS0wMS0wNiAxMjoyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IHNodWZmbGUgY29kZSB0byB1bnRhbmdsZSBoMjYzcGFyc2UgYW5kIHBhcmFtZXRlciBwYXJzaW5nCgoyMDExLTAxLTA2IDEyOjM0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogcHJvdmlkZSBmb3IgcHJvcGVyIGRlYnVnIGNhdGVnb3J5LCBtaW4gZnJhbWUgc2l6ZSBhbmQgY29kZSBzdHlsZQoKMjAxMC0xMi0xMCAxNjo0MDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZ2V0X2NhcHMKCSAgLi4gYXMgc3JjIHBhZCBhbHJlYWR5IHNldCB0byB1c2UgZml4ZWRfY2FwcwoKMjAxMC0xMi0xMCAxNjoyNjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IHNpbXBsaWZ5IHZhbGlkX2ZyYW1lIHBhcnNpbmcKCSAgLi4uIGNvbnNpZGVyaW5nIHRoYXQgYmFzZXBhcnNlIHRha2VzIGNhcmUgb2Ygc2tpcHBpbmcgZXRjCgoyMDEwLTA1LTE0IDAyOjA4OjAzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBBZGQgYW4gaDI2M3BhcnNlIGVsZW1lbnQKCSAgVGhpcyBhZGRzIGFuIGgyNjNwYXJzZSBlbGVtZW50IGZvciBwYXJzaW5nIEguMjYzIHN0cmVhbXMsIGJyZWFraW5nIHRoZW0KCSAgdXAgaW50byBmcmFtZS1zaXplZCBidWZmZXJzLCBhbmQgZXhwb3J0aW5nIG1ldGFkYXRhIHN1Y2ggYXMgcHJvZmlsZSBhbmQKCSAgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0yNyAxNzozMjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIG1ha2UgZ2NjIDQuNiBoYXBweQoKMjAxMS0wMS0yNyAxNzoyOToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIG1ha2UgZ2NjIDQuNiBoYXBweQoKMjAxMS0wMS0yNiAxODo0NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtkZWMsIGpwMmtlbmM6IGFkZCBzdXBwb3J0IHYzMDggKDQ6NDo0IFlVVikKCSAgQmVjYXVzZSB3ZSBjYW4uCgoyMDExLTAxLTI2IDE0OjI3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFVzZSB0aGUgY29ycmVjdCBmb3IgbGltaXQKCSAgVGhlcmUgYXJlIDMgdGFnbGlzdHMgdG8gYmUgdGVzdGVkLCBub3QgMgoKMjAxMS0wMS0yNiAxMTo0MDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogRG8gbm90IGZvcmdldCB0byB1bnJlZiBzb21lIHN0dWZmCgkgIENsZWFudXAgcHJvcGVybHkgYnkgdW5yZWZpbmcgdGhlIGVuY29kaW5nIHByb2ZpbGUgYW5kIHByZXZpZXcgY2FwcwoKMjAxMS0wMS0yNiAxMDo1NDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogQWRkIG5hbWVzIHRvIHNvbWUgZWxlbWVudHMKCSAgQWRkcyBuYW1lcyB0byBpbnN0YW5jZXMgb2Ygc29tZSBlbGVtZW50cyB0byBtYWtlIGRlYnVnZ2luZyBlYXNpZXIKCjIwMTEtMDEtMjUgMTg6MTA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgdmlkZW9zaW5rIHN0YXRlcyBtb3JlIGNhcmVmdWxseQoJICBXaGVuIGdvaW5nIHRvIHJlYWR5LCBjYW1lcmFiaW4yIGNvdWxkIGNyZWF0ZSBhbiBlbXB0eSBmaWxlCgkgIGlmIHRoZSB2aWRlb3Npbmsgd2FzIHB1dCB0byByZWFkeS4gVGhpcyBwYXRjaCBvbmx5IHB1dHMgdmlkZW9zaW5rCgkgIHRvIHJlYWR5IG9uIHRoZSBQQVVTRURfVE9fUkVBRFkgc3RhdGUgY2hhbmdlIGlmIGl0IGlzIG9uIFBBVVNFRAoJICBvciBQTEFZSU5HLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0yNCAyMzozMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogRG8gbm90IHNlZ2ZhdWx0IG9uIHVuZXhpc3RlbnQgZmlsZXMKCSAgV2hlbiBwYXNzaW5nIGFuIHVuZXhpc3RlbnQgZmlsZSB0byByc3Znb3ZlcmxheSBpdCB3b3VsZAoJICBjcmFzaCBiZWNhdXNlIHRoZSBzdmcgbG9hZGluZyB3b3VsZCBmYWlsIHdpdGhvdXQgc2V0dGluZwoJICBhbiBlcnJvci4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjaGVjayBpZiB0aGUgaGFuZGxlIHdhcyBhY3R1YWxseSBjcmVhdGVkCgkgIGFuZCBsb2dzIGFuIGVycm9yIGluIGNhc2UgaXQgZGlkbid0LiBNYXliZSBpdCBzaG91bGQgcG9zdCBhbgoJICBlcnJvciB0byB0aGUgYnVzLCBidXQgdGhlIHByZXZpb3VzIGVycm9yIGhhbmRsaW5nIGRpZG4ndCwgc28KCSAgSSBqdXN0IGZvbGxvd2VkIHRoZSBzYW1lIGxvZ2ljLgoKMjAxMS0wMS0yNCAxODozNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46ICBhZGQgdGltaW5nIHByaW50aW5nIGZvciBwcmV2aWV3IGltYWdlCgkgIE1lYXN1cmUgYW5kIHByaW50IHRoZSB0aW1lIHRha2VuIHRvIGdlbmVyYXRlIHByZXZpZXcgaW1hZ2UuIEFuZAoJICBmaXggYSB0eXBvCgoyMDExLTAxLTI0IDE4OjM2OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIHVudXNlZCBtYWNybwoKMjAxMS0wMS0xMiAxNjoyNjoxOSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBEb24ndCBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBzZXR0aW5ncwoJICBEb24ndCBzZXQgYW55IGRlZmF1bHQgdmFsdWVzIGZvciBzb3VyY2UgZWxlbWVudCBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgc2V0dGluZ3MsIHNvdXJjZSBlbGVtZW50cyBzaG91bGQgaGF2ZSBzYW5lIGRlZmF1bHRzIHRoZW1zZWx2ZXMuCgkgIEFsc28sIHNldHRpbmcgc2NlbmUtbW9kZSBpcyB0cmlja3kgYXMgaXQgaXMgYSBzdXBlcnNldCBvZiBvdGhlciBHc3RQaG90b2dyYXBoeQoJICBzZXR0aW5ncy4gVGhpcyBtaWdodCBjYXVzZSBwcm9ibGVtIHdpdGggZGVmYXVsdHMgZS5nLiBzZXR0aW5nIHNjZW5lLW1vZGUgdG8KCSAgJ25pZ2h0JyBtYXkgY29uZmlndXJlIGZsYXNoLW1vZGUgYXMgJ29uJyBieSBkZWZpbml0aW9uLCBhbmQgYWZ0ZXIgdGhhdAoJICB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIHRoaXMgZmxhc2gtbW9kZSBzZXR0aW5nIHdpdGggZ3N0LWNhbWVyYWJpbi10ZXN0IGRlZmF1bHQKCSAgdmFsdWUuIE1vcmVvdmVyLCB1c2VyIG5lZWRzIGhhdmUgYW4gb3B0aW9uIHRvIHNldCBzY2VuZSBtb2RlIGZpcnN0IGFuZCB0aGVuIGZvcmNlCgkgIHNvbWUgaW5kaXZpZHVhbCBzZXR0aW5nIHRvIGEgZGlmZmVyZW50IHZhbHVlIGZyb20gdGhlIHNjZW5lLW1vZGUgZGVmaW5pdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTg0MQoKMjAxMS0wMS0yNCAxNzo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IENoZWNrIHRoZSBzdGFydCB0aW1lIG9mIGJ1ZmZlcnMKCSAgQmUgY2FyZWZ1bCB3aGVuIHRyeWluZyB0byBjcmVhdGUgYSBuZXdzZWdtZW50IGV2ZW50IHRvIGF2b2lkCgkgIHN0YXJ0IHRpbWVzIG9mIC0xIGZyb20gaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMS0xMSAxNTo1MjowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogZG9uJ3Qgd3JpdGUgY2xpcHBlZCBsaW5lcyB0byB0aGUgb3V0cHV0IGJ1ZmZlcgoJICBXZSBtYXkgbm90IGluY3JlbWVudCB0aGUgb3V0cHV0IHBvaW50ZXIsIGJ1dCBpdCdsbCBzdGlsbCBiZSBqdXN0CgkgIG9mZiB0aGUgZW5kIG9mIHRoZSBhbGxvY2F0ZWQgYXJlYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjg0NwoKMjAxMS0wMS0xOSAxNTowNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgcG9ydGluZyBmaWxlCgkgIEFkZHMgcG9ydGluZyBpbmZvcm1hdGlvbiBhYm91dCB1c2luZyBlbmNvZGViaW4gb24gY2FtZXJhYmluMgoKMjAxMS0wMS0xNCAwODoxMjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgaW1hZ2UtZG9uZSBtZXNzYWdlCgkgIFBvc3QgYW4gaW1hZ2UtZG9uZSBtZXNzYWdlIHdoZW4gYSBuZXcgaW1hZ2UgaXMgc2F2ZWQgdG8gZGlzawoKMjAxMS0wMS0xMSAxNDo1MDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEltcGxlbWVudCB0YWdzZXR0ZXIgaW50ZXJmYWNlCgoyMDExLTAxLTExIDEwOjI5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCBwcmV2aWV3IGltYWdlIHRvIHRlc3RzCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIHRoYXQgcHJldmlldyBpbWFnZXMgYXJlIHBvc3RlZCB3aXRoCgkgIHRoZSBjb3JyZWN0IGNhcHMgb24gdGVzdHMKCjIwMTEtMDEtMTEgMDk6MTI6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgZW5jb2RpbmcgcHJvZmlsZQoJICBBZGRzIGEgdmlkZW8tcHJvZmlsZSB0byBhbGxvdyBzZWxlY3Rpbmcgd2hpY2ggZW5jb2RpbmcgcHJvZmlsZQoJICB0byB1c2UgZm9yIHZpZGVvIHJlY29yZGluZ3MKCjIwMTEtMDEtMTEgMDg6NDQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZpbmcgdmlkZW9yZWNvcmRpbmdiaW4KCSAgUmVtb3ZpbmcgdmlkZW9yZWNvcmRpbmdiaW4gYXMgd2Ugbm93IHVzZSBlbmNvZGViaW4gZm9yIGl0CgoyMDEwLTEyLTI3IDExOjI5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogTW92ZSB0byBlbmNvZGViaW4KCjIwMTEtMDEtMTAgMTU6MTk6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBTZXQgb3V0cHV0LXNlbGVjdG9yIHBhZC1uZWdvdGlhdGlvbi1tb2RlIHRvIG5vbmUKCSAgVXNlIG91dHB1dC1zZWxlY3RvciBub25lIG5lZ290aWF0aW9uIG1vZGUgYXMgaXQgd2FzIHRoZSBkZWZhdWx0IGJlZm9yZQoJICB0aGUgbGFzdCBjaGFuZ2VzLiBUaGlzIGxpa2VseSBuZWVkcyB0byBiZSBmaXhlZCB0byB1c2UgJ2FjdGl2ZScgb24KCSAgY2FtZXJhYmluMgoKMjAxMS0wMS0xMCAxNToxOTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMKCSAgV2hlbiBpdHMgaW50ZXJuYWwgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUsIGRvbid0IGFjdCBhcwoJICBpZiBzdWNjZWVkZWQuCgoyMDEwLTEyLTMwIDAwOjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogSW1wbGVtZW50IHByZXZpZXdpbmcKCSAgSW1wbGVtZW50IHByZXZpZXdpbmcgZnVuY3Rpb25hbGl0eSB1c2luZyAyIHByb3BlcnRpZXMuIEEgYm9vbGVhbgoJICAocG9zdC1wcmV2aWV3cykgdGhhdCBpbmRpY2F0ZXMgaWYgcHJldmlld3Mgc2hvdWxkIGJlIHBvc3RlZCwgYW5kIGEKCSAgR3N0Q2FwcyAocHJldmlldy1jYXBzKSB0byBwcm92aWRlIHRoZSBkZXNpcmVkIHByZXZpZXcgY2Fwcy4KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyBpbXBsZW1lbnRzIHByZXZpZXdpbmcgYnkgc3VwcGx5aW5nIHRoZSBjYXB0dXJlZAoJICBpbWFnZSB0byBhIHBpcGVsaW5lIHRvIGFkYXB0IGl0IHRvIHRoZSByZXF1aXJlZCBjYXBzIGJlZm9yZSBwb3N0aW5nLgoKMjAxMC0xMi0zMCAwMDoyNjowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSAgY2FtZXJhYmluMjogQWRkIG1ldGhvZHMgZm9yIHByZXZpZXcgaW1hZ2UgbWVzc2FnZSBwb3N0aW5nCgkgIEFkZHMgYSBoZWxwZXIgc3RydWN0IGFuZCBmdW5jdGlvbnMgZm9yIGltcGxlbWVudGluZyBhIHByZXZpZXcgbWVzc2FnZQoJICBpbiBjYW1lcmFiaW4yLgoKMjAxMC0xMi0yOSAyMzo0ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRlc3RzOiBVc2UgbWFpbmxvb3BzCgkgIFVzZSBtYWlubG9vcHMgaW5zdGVhZCBvZiBzbGVlcHMgdG8gcmVhZCBidXMgbWVzc2FnZXMgYW5kIGNhdGNoCgkgIGVycm9ycy4KCjIwMTAtMTItMjkgMTQ6MTI6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBVc2UgZHJvcF9lb3MgZnVuY3Rpb24gZnJvbSBjYW1lcmFiaW5nZW5lcmFsCgkgIFRoZXJlIHdhcyBhbHJlYWR5IGEgZXZlbnQgcHJvYmUgZnVuY3Rpb24gZm9yIGRyb3BwaW5nIEVPUyBvbgoJICBjYW1lcmFiaW5nZW5lcmVhbCwgc28gdXNlIHRoYXQgaW5zdGVhZCBvZiByZXBsaWNhdGluZyB0aGUgY29kZQoKMjAxMS0wMS0yNCAxMTo1NTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluMjogZml4IHdhcm5pbmdzCgkgIFdhcm5pbmdzIHBhc3NlZCBtZSBieSBvbiB0aGUgbGFzdCBjb21taXRzIHRvIGNhbWVyYWJpbjIgdGVzdHMsCgkgIGZpeGluZyB0aGVtLgoKMjAxMS0wMS0yNCAxMTowNTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBPbmx5IHJ1biBhIHRlc3QgaWYgLWdvb2QgMC4xMC4yNyBpcyBwcmVzZW50CgkgIEEgY2FtZXJhYmluMiB0ZXN0cyBkZXBlbmRzIG9uIHRoZSBjb21taXQKCSAgZGNiYmEwOTMyZGM1NzlhYmQ2YWFiNDQ2MGZhMWE0MTYzNzRlZGExYiBmb3IganBlZ2VuYyBvbiAtZ29vZAoJICB0aGF0IHdhcyByZWxlYXNlZCBvbiAwLjEwLjI3LgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNoZWNrIGZvciB0aGlzIHZlcnNpb24gYmVmb3JlIHJ1bm5pbmcgdGhlCgkgIHRlc3QuCgoyMDExLTAxLTI0IDEwOjA4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICB0ZXN0czogaW1hZ2VjYXB0dXJlYmluOiBPbmx5IHJ1biBhIHRlc3QgaWYgLWdvb2QgaXMgMC4xMC4yNyBvciBuZXdlcgoJICBPbmUgdGVzdCBvbiBpbWFnZWNhcHR1cmViaW4gcmVxdWlyZXMgZGNiYmEwOTMyZGM1NzlhYmQ2YWFiNDQ2MGZhMWE0MTYzNzRlZGExYgoJICBvbiBnb29kIHRoYXQgd2FzIHJlbGVhc2VkIG9uIDAuMTAuMjcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAyODYKCjIwMTEtMDEtMTggMTc6MzE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG5hbWVzIGZvciBtb3JlIGVsZW1lbnRzCgoyMDExLTAxLTI0IDExOjE4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAxMS0wMS0yMSAyMToxMzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIxCgoyMDExLTAxLTE5IDIwOjAwOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBGaXggaGFuZGxpbmcgb2YgZGVidWcgY2F0ZWdvcnkKCjIwMTEtMDEtMTkgMTg6MjY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5kIGdzdF9idWZmZXJfdW5yZWYgbm90IGxpa2luZyBOVUxMCgkgIEZpeGVzICM2Mzk5NTAuCgoyMDExLTAxLTE4IDE4OjE4OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgoyMDExLTAxLTE4IDEzOjAwOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjQgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTE6Mjg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdDogcXRtdXg6IFRlc3RzIHF0bXV4IHJldXNlCgkgIEZvcmNlcyB0aGUgdXNlIG9mIHF0bXV4IGFmdGVyIGl0IGhhcyBiZWVuIHB1dCB0byBQTEFZSU5HIGFuZCBiYWNrCgkgIHRvIE5VTEwgb25jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEzIDE1OjI3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHNyYyBwYWRzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICAuLi4gcmF0aGVyIHRoYW4gYXQgX2luaXQgdGltZSwgc28gdGhleSBhcmUgYWxzbyBhdmFpbGFibGUgZm9sbG93aW5nIGEKCSAgcGFkIChkZSlhY3RpdmF0aW9uIGN5Y2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEyIDE2OjM5OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZW5zdXJlIHRoZSBrYXRlIHBhZCBkb2VzIG5vdCBzaG9vdCBhaGVhZCBvZiB0aGUgdmlkZW8gcGFkCgkgIFN5bmMgYm90aCBwYWRzIGJ5IHdhaXRpbmcgaW4gdGhlIGthdGUgY2hhaW4gZnVuY3Rpb24uCgkgIERvIG5vdCByZXNldCBvdXIgaW50ZXJuYWwgc2VnbWVudCBmcm9tIHNlZ21lbnQgdXBkYXRlcywgaW4gb3JkZXIKCSAgdG8gYmUgYWJsZSB0byBtYXAgdmlkZW8gcnVubmluZyB0aW1lIHRvIGthdGUgcnVubmluZyB0aW1lLCB0bwoJICBnaXZlIGxpYnRpZ2VyIHRoZSB0aW1lc3RhbXAgaXQgZXhwZWN0cy4gVGhpcyBhbGxvd3MgdXMgdG8gdXNlCgkgIHJ1bm5pbmcgdGltZSB0byBzeW5jIHRvIHZpZGVvLCB3aGljaCBpcyBUaGUgUmlnaHQgV2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDExLTAxLTEzIDE4OjM1OjE1IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRW5hYmxlIGNvbnZlcnNpb24gZmxhZ3MKCSAgQ2FtZXJhYmluIGRlZmF1bHQgc2hvdWxkIGp1c3Qgd29yaywgc28gd2UgbmVlZCB0byBlbmFibGUgYXVkaW8sIGltYWdlCgkgIGFuZCB2aWRlbyBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQ1NgoKMjAxMS0wMS0xMyAxNzoxMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBmaXggc3luYyB3b3JkIGZvciAxNC1iaXQgbGl0dGxlIGVuZGlhbiBjb2RpbmcKCSAgRml4IGNvcHknbidwYXN0ZSBidWcgdGhhdCBtYWRlIHVzIGxvb2sgZm9yIHRoZSByYXcgbGl0dGxlIGVuZGlhbgoJICBzeW5jIHdvcmQgdHdpY2UgaW5zdGVhZCBvZiBsb29raW5nIGZvciB0aGUgMTQtYml0IExFIHN5bmMgd29yZAoJICBhcyB3ZWxsLiBGaXhlcyBwYXJzaW5nIG9mIHN1Y2ggc3RyZWFtcyAoc2VlICM2MzYyMzQgZm9yIHNhbXBsZSBmaWxlKS4KCjIwMTEtMDEtMTMgMTY6Mjc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgZG9jczogbWlub3IgYmFzZXBhcnNlIGRvY3MvY29tbWVudCBmaXhlcwoJICBSZW1vdmUgY29weSduJ3Bhc3RlIGxlZnRvdmVycy4KCjIwMTEtMDEtMTMgMTM6MzY6MDkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IHBhZC1uZWdvdGlhdGlvbi1tb2RlIHRvIGFjdGl2ZSBmb3Igb3V0cHV0LXNlbGVjdG9yCgkgIEZpeGVzICM2Mzk0MTMuCgoyMDExLTAxLTEyIDE2OjU1OjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVzZSBnX2Vycm9yX2ZyZWUgaW5zdGVhZCBvZiBnX2ZyZWUKCjIwMTEtMDEtMTIgMTY6NTA6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGdfZXJyb3JfZnJlZSBpbnN0ZWFkIG9mIGdfZnJlZQoKMjAxMS0wMS0xMiAxMTo1NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IERlZmF1bHQgY29sb3JzcGFjZSBpcyBJNDIwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTYKCjIwMTEtMDEtMTEgMjM6NDQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuMyBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMSAxNTo1MDo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlNTcyYzg3IHRvIGY5NGQ3MzkKCjIwMTEtMDEtMTAgMTk6MTE6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGZvcmdldCB0aGUgR1R5cGUgd2hlbiB1c2luZyBjYXBzX25ld19zaW1wbGUoKQoKMjAxMS0wMS0xMCAxNjozNjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNjYmFhODUgdG8gZTU3MmM4NwoKMjAxMS0wMS0xMCAxNDo1NDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NDQ1YWQgdG8gY2NiYWE4NQoKMjAxMS0wMS0xMCAxMToyNTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzaWxseSB3YXkgb2YgY3JlYXRpbmcgY2FwcwoKMjAxMS0wMS0xMCAxMToxODo1MiArMDAwMCAgS2Fyb2wgU29iY3phayA8bmFwZXdub3RyYWZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHJlLXN5bmNpbmcgb24gaW52YWxpZCBkYXRhIGFmdGVyIHNlZWsKCSAgT3IgcG9zc2libHkgZXZlbiBhdCBzdGFydHVwLiBJZiB3ZSBjb3VsZG4ndCBmaW5kIGEgc3luYyB3aXRoaW4KCSAgdGhlIGZpcnN0IGZldyBieXRlcywgd2UnZCBqdXN0IHB1c2ggbW9yZSBkYXRhIGludG8gdGhlIGFkYXB0ZXIKCSAgYnV0IG5ldmVyIGRpc2NhcmQgYW55IG9mIHRoZSBpbnZhbGlkIGRhdGEgYXQgdGhlIGJlZ2lubmluZywgc28KCSAgd291bGQgbmV2ZXIgYmUgYWJsZSB0byByZS1zeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MDYzCgoyMDExLTAxLTA4IDAzOjEyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJICBjb2csIHNjaHJvZWRpbmdlcjogZml4IHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTAxLTA4IDAzOjEwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC4yIHByZS1yZWxlYXNlCgoyMDExLTAxLTA4IDAyOjQ5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTAxLTA4IDAyOjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vamEucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTA4IDAyOjQzOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgY2FtZXJhYmluOiB1c2UgcHJpdmF0ZSBpbnB1dC1zZWxlY3RvciB0aGF0IHN0aWxsIGhhcyAic2VsZWN0LWFsbCIgcHJvcGVydHkKCSAgVGhlICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB3YXMgcmVtb3ZlZCB3aGVuIGlucHV0LXNlbGVjdG9yIHdhcyBtb3ZlZAoJICB0byBjb3JlLCBidXQgY2FtZXJhYmluIHVzZXMgdGhpcywgc28gbWFrZSBjYW1lcmFiaW4gdXNlIGEgcHJpdmF0ZQoJICBjb3B5IHVudGlsIGEgYmV0dGVyIGZpeCBpcyBmb3VuZC4KCjIwMTEtMDEtMDggMDA6MzI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBNYWtlZmlsZS5hbSBjbGVhbi11cAoJICBBdm9pZCBkdXBsaWNhdGVzIEdTVF9DSEVDS19DRkxBR1MgYW5kIEdTVF9PUFRJT05TX0NGTEFHUyBhcmUgYWxyZWFkeSBpbgoJICBBTV9DRkxBR1MuIEFkZCBMREFERCBpbnN0ZWFkIG9mIEdTVF9DSEVDS19MSUJTIGZvciBjb25zaXN0ZW5jeS4KCjIwMTEtMDEtMDggMDA6MTk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSAgc21vb3Rod2F2ZTogcmVtb3ZlIG9sZCAwLjggZXhhbXBsZSBjb250YWluaW5nIGNvZGUgd2l0aCBzaWRlZWZmZWN0cyBpbiBnX3JldHVybl9pZl9mYWlsKCkKCSAgTWF5IGp1c3QgYXMgd2VsbCByZW1vdmUgaXQgcmF0aGVyIHRoYW4gZml4IGl0LCBzbyBpdCBkb2Vzbid0IHNob3cKCSAgdXAgaW4gZ3JlcHMgZm9yIHRoaXMgYW55IGxvbmdlci4KCjIwMTEtMDEtMDggMDA6MTg6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgc2Nocm9lbmMgdGVzdCBiaW5hcnkKCjIwMTEtMDEtMDggMDA6MTc6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggQ0ZMQUdTIGFuZCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDggMDA6MDg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBuZXZlciBkaXNhYmxlIGdfYXNzZXJ0KCkgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBUaGUgdW5pdCB0ZXN0cyBhcmUgcmlkZGxlZCB3aXRoIGdfYXNzZXJ0KCkgYW5kIGZyaWVuZHMsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBkaXNhYmxlIGFzc2VydCBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzIGV2ZW4gaWYKCSAgdGhpcyBoYXMgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSByZXN0IG9mIHRoZSBjb2RlIGJhc2UsIGUuZy4gdmlhCgkgIC0tZGlzYWJsZS1nbGliLWFzc2VydHMuCgoyMDExLTAxLTA4IDAwOjAxOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJICBkaXJlY3RmYjogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW50byBnX2Fzc2VydCgpCgkgIEl0IHdpbGwgYWxsIGJlIHR1cm5lZCBpbnRvIGEgTk9PUCBpZiAtREdfRElTQUJMRV9BU1NFUlQgaXMgdXNlZAoJICAoYXMgaXQgaXMgZm9yIHByZS1yZWxlYXNlcyBhbmQgcmVsZWFzZXMpLgoKMjAxMS0wMS0wNyAyMzo1NzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIGludG8gZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICBBbmQgZG9uJ3QgdXNlIGdfcmV0dXJuKl9pZl9mYWlsKCkgZm9yIGVycm9yIGhhbmRsaW5nIGluIGVsZW1lbnRzLgoKMjAxMS0wMS0wNyAxODo0OTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgUmV2ZXJ0ICJtcGVndmlkZW9wYXJzZTogZml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDIyNzE2MDhjNDMxNGQ2ZDBhNjg1YzE4YzVjNDdkNTU0OTU1ODYxNTkuCgkgIFRoaXMgcGF0Y2ggbmVlZHMgbW9yZSB3b3JrIHNvIGl0IGRvZXNuJ3QgY2F1c2UgZ3JhdmUgcGxheWJhY2sKCSAgcmVncmVzc2lvbnMgKG11bHRpLXNlY29uZCBmcmVlemVzKSB3aXRoIHNvbWUgZmlsZXMgdGhhdCBoYXZlCgkgIHNsaWdodGx5IGJyb2tlbiB0aW1lc3RhbXBzIGJ1dCBwbGF5IGZpbmUgZXZlcnl3aGVyZSBlbHNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Mjc5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMjIKCjIwMTEtMDEtMDcgMTU6NDc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTEtMDEtMDcgMTQ6NTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAkTElCTSBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIC1sbQoKMjAxMS0wMS0wNyAxNToyMjowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCBsZWFrIHRoZSBjYXBzCgoyMDExLTAxLTA3IDAyOjEwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBQQVQgYW5kIFBNVCBpbmZvLXJlbGF0ZWQgb2JqZWN0IGxlYWtzCgoyMDExLTAxLTA2IDEyOjUxOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6NTA6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6NDk6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDEwLTEyLTE1IDE1OjU4OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogRml4IGNvcHlyaWdodAoKMjAxMC0xMi0xNyAxNDo1MDo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBwdXNoc3JjCgoyMDExLTAxLTA1IDE2OjQzOjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTM6NDQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSAgZHZic3Vib3ZlcmxheTogc29tZSBtb3JlIG1pbm9yIGNsZWFuLXVwcwoKMjAxMS0wMS0wNCAxNjowMzowMSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggbGVhayBvZiAiY2xlYXIgc2NyZWVuIiBEVkJTdWJ0aXRsZXMgc3RydWN0cwoKMjAxMS0wMS0wNCAxMzo1MToyMSArMDAwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCB0d28gbWlub3IgZGVpbml0aWFsaXphdGlvbiBtZW1vcnkgbGVha3MKCjIwMTEtMDEtMDMgMjM6NTU6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkaXN0IGNhbWVyYWJpbjIgZXhhbXBsZSBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg2MDQKCjIwMTEtMDEtMDMgMjM6NDk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IGZpeCBjZmxhZ3MgYW5kIGxpYnMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDMgMjM6NDc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IGZpeCBsaWJzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTAzIDIzOjQ2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBkaXN0aW5nIG9mIGV4cGVyaW1lbnRhbCBiYXNlY2FtZXJhYmluc3JjIGxpYiB1c2VkIGJ5IGNhbWVyYWJpbjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYwNAoKMjAxMS0wMS0wMyAxNzoxMDozNiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IGZpeCBidWlsZCBlcnJvcnMgb24gbWFjb3N4CgkgIGZpeGVzIHRoZSBmb2xsb3dpbmcgY29tcGlsZSBlcnJvcnM6CgkgIGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgY2Ftc3djbGllbnQuYzogSW4gZnVuY3Rpb24gJ2NhbV9zd19jbGllbnRfb3Blbic6CgkgIGNhbXN3Y2xpZW50LmM6ODE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJuY3B5JwoJICBjYW1zd2NsaWVudC5jOjgxOiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ3N0cm5jcHknCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJlcnJvcicKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAnc3RyZXJyb3InCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IGZvcm1hdCAnJXMnIGV4cGVjdHMgdHlwZSAnY2hhciAqJywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2ludCcKCSAgY2Ftc3djbGllbnQuYzogSW4gZnVuY3Rpb24gJ3NlbmRfY2FfcG10JzoKCSAgY2Ftc3djbGllbnQuYzoxMjk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtZW1jcHknCgkgIGNhbXN3Y2xpZW50LmM6MTI5OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4KCSAgZnVuY3Rpb24gJ21lbWNweScKCSAgZ3N0ZHZic3JjLmM6NDg6MTk6IGVycm9yOiBlcnJvci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgIFNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCjIwMTEtMDEtMDMgMjA6MDU6NTIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgUkdCIC0+IFlVViBjb252ZXJzaW9uIGJ5IHVzaW5nIFlVViBwYWxldHRlcwoJICB0aGUgZGVmYXVsdCBDTFVUcyBzdGlsbCB1c2UgUkdCIC0+IFlVViBjb252ZXJzaW9ucyBzaW5jZSB0aGUgc3RhbmRhcmQgZGVmaW5lcwoJICB0aGVtIGFzIFJHQkEgdmFsdWVzLgoKMjAxMS0wMS0wMyAyMDoyMTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZXNkLm00OgoJKiBtNC9nbGliLm00OgoJKiBtNC9nc3QtbWF0cm9za2EubTQ6CgkqIG00L2dzdC1zaG91dDIubTQ6CgkqIG00L2d0ay5tNDoKCSogbTQvb2dnLm00OgoJKiBtNC92b3JiaXMubTQ6CgkgIG00OiByZW1vdmUgc29tZSBjcnVmdAoKMjAxMS0wMS0wMyAxNzoyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGp1c3QgbmFzdHkgY2FzZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgVGhhdCBpcywgYWxsIHNvcnRzIG9mIHByb2JsZW1zIGFyaXNlIHdpdGggcmUtb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXBzIHRoYXQKCSAgdGVuZCB0byBkZWZ5IGF1dG9tYWdpYyBoYW5kbGluZyBmb3IgZXZlcnkgY2FzZSwgc28gYWxsb3cgZm9yIGEgZmV3IHZhcmlhdGlvbnMKCSAgdGhhdCBjYW4gYmUgdHJpZWQgZGVwZW5kaW5nIG9uIGNpcmN1bXN0YW5jZXMuCgkgIEFsc28gdHJ5IHRvIGRvY3VtZW50IGFjY29yZGluZ2x5LgoJICBBbHNvIGZpeGVzICM2MzgyODguCgoyMDEwLTEyLTMwIDIxOjQ4OjQxICswMjAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ2V0IHJpZCBvZiB0aW1lc3RhbXAgb3ZlcnByb3RlY3RpdmVuZXNzCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wMS0wMyAxNjo1Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2ltcGxpZnkgYW5kIGZpeCBwdHNfb2Zmc2V0IHN0b3JpbmcKCSAgSW4gcGFydGljdWxhciwgb25seSB3cml0ZSBhIGN0dHMgYXRvbSBpZiBhbmQgb25seSBpZiBldmVyIGEgbm9uLXplcm8gb2Zmc2V0LgoKMjAxMS0wMS0wMyAxMDo0MzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxNToyMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBsYXJnZS1maWxlIHByb3BlcnR5CgkgIFJhdGhlciwgYXV0by1kZXRlcm1pbmUgaWYgNjQtYml0cyBmaWVsZHMgYXJlIG5lZWRlZCBmb3IgYSB2YWxpZCByZXN1bHQsIGFuZAoJICBzdGljayB0byBwbGFpbiAzMi1iaXRzIGlmIG5vdCBuZWVkZWQuCgkgIEFQSTogR3N0UVRNdXg6bGFyZ2UtZmlsZSAocmVtb3ZlZCkKCjIwMTEtMDEtMDMgMTg6MTM6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kdmIvUkVBRE1FOgoJICBSRUFETUU6IGZpeCB0aGUgZXhhbXBsZSBwaXBlbGluZQoJICBGaXggdGhlIG9idmlvdXMgb3V0ZGF0ZWQgcGFydHMuIFN0aWxsIHRoaXMgUkVBRE1FIGxvb2tzIG91dGRhdGVkIGFuZCBzaG91bGQgYmUKCSAgdXBkYXRlZCBvciByZW1vdmVkLgoKMjAxMS0wMS0wMiAxOTozODowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIGRlYnVnIGNhdGVnb3J5CgoyMDExLTAxLTAyIDE2OjEzOjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRGlzYWJsZSBtYXRyaXhpbmcgb24gYmlnLWVuZGlhbgoJICBJdCdzIGJyb2tlbiB1bnRpbCBzb21lb25lIHdyaXRlcyBiZXR0ZXIgT3JjIGNvZGUuICBGaXhlcyAjNjMxMjMyLgoKMjAxMC0xMi0wNSAwMzoyOTo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogU2V0IGFkYXB0YXRpb24gZmxhZyB3aGVuIGFwcHJvcHJpYXRlCgkgIFNwZWNpZmljYWxseSwgd2hlbiB0aGVyZSdzIHN0dWZmIHRvIGdvIGludG8gdGhlIGFkYXB0YXRpb24KCSAgaGVhZGVyLgoKMjAxMC0xMS0xNyAxNzo0OToxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBTZXQgcmFuZG9tX2FjY2Vzc19pbmRpY2F0b3IgZm9yIGtleWZyYW1lcwoKMjAxMC0xMi0zMSAxNjoyMDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IG91dGxpbmUgdGV4dCBieSBkZWZhdWx0LCB0byBtYWtlIGl0IGVhc2llciB0byByZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg1MjcKCjIwMTEtMDEtMDIgMTU6MTE6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFjay8uZ2l0aWdub3JlOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgamFjazogbW92ZSBwbHVnaW4gdG8gZ3N0LXBsdWdpbnMtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxOTI5CgoyMDExLTAxLTAyIDEzOjUyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBjYXBzIGFuZCBzdHJpbmcgbGVha3MgYW5kIHNvbWUgbWlub3IgY2xlYW4tdXBzCgkgIERvbid0IGxlYWsgc291cmNlIGNhcHMuIFVzZSBHU1RfUFRSX0ZPUk1BVCB0byBsb2cgY2Fwcywgc28KCSAgd2UgZG9uJ3QgbmVlZCB0byBsZWFrIHN0cmluZ3MgZnJvbSBnc3RfY2Fwc190b19zdHJpbmcoKS4KCSAgTm8gbmVlZCB0byB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHZmdW5jcyB3aGVyZSB0aGUgYmFzZQoJICBjbGFzcyB3aWxsIG5ldmVyIGxvb2sgdGhlbSB1cCAobGlrZSBwcm9wZXJ0eSBnZXR0ZXJzL3NldHRlcnMpLgoJICBEb24ndCB1c2UgZ19yZXR1cm5fKl9pZl9mYWlsKCkgZm9yIHRoaW5ncyB0aGF0IGFyZW4ndCBkaXJlY3RseQoJICBwcm9ncmFtbWluZyBlcnJvcnMgKGJ5IHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIpLgoJICBGaXhlcyBrYXRlIHVuaXQgdGVzdCB1bmRlciB2YWxncmluZC4KCjIwMTAtMTItMzEgMTY6MTc6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogcmVlbmFibGUgdGhlIHNlbmRpbmcgb2YgYSBtZXNzYWdlIGZvciB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg0MTIKCjIwMTEtMDEtMDIgMTM6Mjk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSAgZ2F1ZGllZmZlY3RzOiBkaXN0IHB5dGhvbiBleGFtcGxlcwoKMjAxMC0xMi0zMSAwMDowOTowOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIEZTRiBhZGRyZXNzCgoyMDEwLTEyLTMxIDAwOjA3OjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBBZGQgZ3N0LWFwcC1tYWtlcgoKMjAxMC0xMi0zMSAwMDoxMjo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiBGaXggYnVpbGQgZmFpbHVyZSBjYXVzZWQgYnkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTEyLTMwIDE5OjIxOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkgIGNvZzogVXNlIG1hdGgtY29tcGF0LmgKCjIwMTAtMTItMzAgMTk6MjE6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCBjOTktaXNtCgoyMDEwLTEyLTMwIDE5OjEyOjIzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogVXNlIG1hdGgtY29tcGF0IGhlYWRlcgoKMjAxMC0xMi0zMCAxOTowMzo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICBjaGFuZ2UgTV9QSSB0byBHX1BJCgoyMDEwLTEyLTMwIDE5OjAzOjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkgIGZyZWkwcjogY29udmVydCB1aW50MzJfdCB0byBndWludDMyCgoyMDEwLTEyLTMwIDE4OjIwOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogYnVpbGQgZml4ZXMgZm9yIE1TVkMKCSAgVXNlIGdpbnQxNiBhbmQgR19QSS4KCjIwMTAtMTItMzAgMTg6MTk6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogcmVpbmRlbnQKCjIwMTAtMTItMzAgMTg6MDI6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiB1c2UgZ19hc2NpaV9zdHJjYXNlY21wKCkKCjIwMTAtMTItMzEgMDE6Mzg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zZWxlY3Rvci8uZ2l0aWdub3JlOgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9zZWxlY3Rvci52Y3Byb2o6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBzZWxlY3RvcjogbW92ZSBpbnB1dC1zZWxlY3RvciBhbmQgb3V0cHV0LXNlbGVjdG9yIHRvIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDMwNgoKMjAxMC0xMi0zMCAwMToxNzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEwLTEyLTMwIDAxOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgdmFsdmUgZWxlbWVudC9wbHVnaW4gdG8gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwODA4CgoyMDEwLTEyLTI5IDEzOjE4OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogVmFyaW91cyBsZWFrIGZpeGVzCgkgIFZhcmlvdXMgbGVhayBmaXhlcyBhbmQgc29tZSBjb2RlIHJlb3JnYW5pemF0aW9uCgoyMDEwLTEyLTI3IDE3OjE4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSAgY2FtZXJhYmluMjogZXhhbXBsZTogZ2l0aWdub3JlIGNhcHR1cmVkIGZpbGVzCgoyMDEwLTEyLTI2IDIwOjUyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSW1wbGVtZW50IHZpZGVvIGNhcHR1cmUgcmVuZWdvdGlhdGUKCSAgSGFuZGxlIGNhcHMgcmVuZWdvdGlhdGlvbiBmcm9tIGNhbWVyYWJpbjIncyByZW5lZ290aWF0ZSBldmVudAoJICB0byBhbGxvdyB2aWRlbyBjYXB0dXJlIHRvIGJlIGRvbmUgd2l0aCB0aGUgdXNlcidzIHJlcXVlc3RlZAoJICByZXNvbHV0aW9uLgoKMjAxMC0xMi0yNiAyMDo0Nzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB0ZXN0cyBmb3IgdmlkZW8gY2FwdHVyZQoJICBBZGQgYSB0ZXN0IGZvciBjYXB0dXJpbmcgbXVsdGlwbGUgdmlkZW9zIHdpdGggZGlmZmVyZW50IHJlc29sdXRpb25zCgkgIGluIGEgc2VxdWVuY2UuCgoyMDEwLTEyLTI2IDIwOjM1OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHJlbmVnb3RpYXRlIGV2ZW50IHB1c2hpbmcKCSAgVXNlIGEgaGFjayB0byBtYWtlIHRoZSBldmVudCB1cHN0cmVhbSB0byByZWFjaCB0aGUgY2FtZXJhIHNvdXJjZQoJICBpbnN0ZWFkIG9mIGdvaW5nIGRvd25zdHJlYW0gYW5kIGJlaW5nIHVzZWxlc3MuCgkgIFRoaXMgd2FzIGFscmVhZHkgZml4ZWQgdGhpcyB3YXkgZm9yIGltYWdlIHNyY3BhZCByZW5lZ290aWF0ZSBhbmQKCSAgdmlkZW8gc3JjcGFkIHdhcyBsZWZ0IHVuZml4ZWQuCgoyMDEwLTEyLTI0IDA5OjEwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWZhY3RvciBpbnRlcm5hbCBwaXBlbGluZQoJICBJbnN0ZWFkIG9mIGxpbmtpbmcgMyBzcmMgcGFkcyBmcm9tIHRlZSB0byB0aGUgZ2hvc3RwYWRzLCB1c2UgMgoJICBzcmNwYWRzIGFuZCBhZGQgYW4gb3V0cHV0LXNlbGVjdG9yIHRvIGNvbXBsZXRlbHkgc3BsaXQgY2FwcwoJICBuZWdvdGlhdGlvbiBvZiB2aWRlby9pbWFnZSBtb2Rlcy4gSSBkb24ndCB0aGluayB0aGVyZSBpcyBhbgoJICB1c2UgY2FzZSB0aGF0IHdvdWxkIHJlcXVpcmUgaW1hZ2UgYW5kIHZpZGVvIHBhZHMgdG8gYmUgdXNlZAoJICBhdCB0aGUgc2FtZSB0aW1lLgoKMjAxMC0xMi0yMiAxNDo0MjoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIC1wdGhyZWFkIGZvciB4dmlkIGNvbmZpZ3VyZSBjaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODIzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzczMDgKCjIwMTAtMTItMjggMTc6MTY6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBtb2RlIGNhbiBiZSBvbmx5IGltYWdlIG9yIHZpZGVvCgkgIE5vIG5lZWQgdG8gY2hlY2sgaWYgY2FtZXJhYmluIGlzIG9uIHZpZGVvIG1vZGUgaWYgaXQgaXNuJ3Qgb24KCSAgaW1hZ2UgbW9kZSBhcyB0aG9zZSBhcmUgdGhlIG9ubHkgMiBtb2RlcyBhdmFpbGFibGUuCgkgIEFkZGl0aW9uYWxseSwgaWYgbW9kZSBnZXRzIGNvcnJ1cHRlZCBzb21laG93IGFuZCB3b3VsZCBiZSBuZWl0aGVyCgkgIGltYWdlIG9yIHZpZGVvIGl0IHdvdWxkIGNhdXNlIGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNpbmcgc29tZQoJICBsaW5lcyBvZiBjb2RlIGJlbG93LCBzbyB0aGlzIGlzIHNhZmVyLgoKMjAxMC0xMi0yOCAxNjo1NToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMTItMjcgMTY6NTg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSAgYXNmbXV4OiBGaXggcGx1Z2luIHBhY2thZ2UgbmFtZS9vcmlnaW4KCjIwMTAtMTItMjcgMTM6MjA6MjggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMTItMjcgMTE6MTA6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IGFsbG9jYXRlIGZsYXQgYXJyYXkgb2YgcmVjdGFuZ2xlcwoJICBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIHBvaW50ZXJzIHRvIGluZGl2aWR1YWxseS1hbGxvY2F0ZWQgcmVjdGFuZ2xlcy4KCjIwMTAtMTItMjMgMTg6MTg6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogZmFsbGJhY2sgb24gaGVhZGVycyBpbiBjYXBzIHRvIGluaXRpYWxpemUgaWYgaGVhZGVycyBhcmUgYWJzZW50CgkgIFdoZW4gVG90ZW0gc3dpdGNoZXMgc3RyZWFtcywgdGlnZXIgd2lsbCBiZSByZXNldCwgYW5kIHN0YXJ0IHJlY2VpdmluZwoJICBidWZmZXJzIGZyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtLCB3aXRob3V0IGJlaW5nIHNlbnQgaGVhZGVycy4KCSAgSWYgdGhpcyBoYXBwZW5zLCB0cnkgdG8gZ2V0IGhlYWRlcnMgZnJvbSB0aGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODAwNAoKMjAxMC0xMi0yNiAxNzoxOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMTItMjYgMTc6MDc6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IGZpeCBndGszIGNvZGUgcGF0aCBpbiBjYW1lcmFiaW4gZXhhbXBsZSBhcHAKCSAgSnVzdCBhZGQgcm93cyB2aWEgdGhlIGNvbWJvYm94J3MgbW9kZWwsIHdoaWNoIHNob3VsZCB3b3JrIHdpdGgKCSAgYm90aCBndGsyIGFuZCBndGszLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBndGtfY29tYm9fYm94X2FwcGVuZF90ZXh0KCkKCSAgY29udmVuaWVuY2UgQVBJICh3aGljaCB3YXMgcmVuYW1lZCB0byBndGtfY29tYm9fYm94X3RleHRfYXBwZW5kX3RleHQoKSkuCgkgIEZpeGVzIGNvbXBpbGF0aW9uIGFnYWluc3QgZ3RrMyAodGhlcmUgd2FzIGEgdHlwbyBpbiB0aGUgbGlzdCBzdG9yZQoJICB2YXJpYWJsZSBuYW1lLCBzcG90dGVkIGJ5IE1hcmt1cyBWYXJ0aWFpbmVuKS4KCjIwMTAtMTItMjUgMTc6MDE6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGlmIHNlZWtpbmcgd2l0aCBHU1RfU0VFS19UWVBFX0NVUiwgZmx1c2ggZXZlcnl0aGluZwoJICBXZSBkb24ndCBrbm93IGhvdyB0byBjYWxjdWxhdGUgdGhlIHRhcmdldCwgc28gYmUgc2FmZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMC0xMi0yNSAxNjo0NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IG1vdmUgI2lmICNlbHNlIGJpdHMgb3V0c2lkZSBvZiBtYWNybwoJICBTb21lIGNvbXBpbGVycy9wcmVwcm9jZXNzb3JzIGRvbid0IGxpa2UgaWYvZWxzZS9lbmRpZiBwcmVwcm9jZXNzb3IKCSAgZGlyZWN0aXZlcyBpbiB0aGUgbWlkZGxlIG9mIG1hY3Jvcy4KCjIwMTAtMTItMjQgMTQ6NDQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogbWVyZ2UgcHJpdmF0ZSBkYXRhIHN0cnVjdCBpbnRvIG1haW4gc3RydWN0CgoyMDEwLTEyLTI0IDE0OjI0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBkdmIgc3ViIHBhcnNlciBoZWxwZXIgZG9lc24ndCBuZWVkIHRvIGJlIGEgR09iamVjdAoKMjAxMC0wMS0yNSAxODoyNjoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAgdGlnZXI6IEdpdmUgdGlnZXIgcHJpbWFyeSByYW5rCgoyMDEwLTAxLTI1IDE4OjU4OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogYWRkIHNlZ21lbnQgdHJhY2tpbmcsIGFuZCB2YXJpb3VzIG90aGVyIGltcHJvdmVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDEwLTEyLTI0IDEwOjE1OjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgbXZlOiBkbyBub3QgdXNlIHRoZSBwYWQgYnVmZmVyIGFsbG9jYXRpb24gZnVuY3Rpb25zIGluIGRlbXV4ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc5MjkKCjIwMTAtMTItMjQgMDk6NTA6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCB1c2UgdGhlIHBhZCBidWZmZXIgYWxsb2NhdGlvbiBmdW5jdGlvbnMgaW4gZGVtdXhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzkzMQoKMjAxMC0xMi0yMyAyMjowMTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHRyeSBoYXJkZXIgdG8gbWFrZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZwoJICBBbHNvLCBjaGVjayBidWZmZXIgZm9yIE5VTEwtbmVzcyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyNAoKMjAxMC0xMi0yMiAxMTo0NDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE5vdGlmeSBlYXJsaWVyCgkgIE5vdGlmeSBhYm91dCByZWFkeS1mb3ItY2FwdHVyZSBjaGFuZ2VzIGVhcmxpZXIgdG8gYWxsb3cgY2FtZXJhYmluMgoJICB0byBkbyB0aGUgdmlkZW9iaW4gc3RhdGUgc3dpdGNoaW5nIGJlZm9yZSB0aGUgY2FwdHVyZSBzdGFydHMuCgoyMDEwLTEyLTIxIDE5OjIyOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIHZpZGVvcmVjb3JkaW5nYmluOiBGaXggbGVha3MKCjIwMTAtMTItMjEgMTE6MDQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZWZhY3RvciB0ZXN0cwoJICBSZWZhY3RvciB0ZXN0cyBjYXNlIHNvIHRoYXQgdGhlIHNhbWUgdGVzdHMgY2FuIGJlIHJ1biBmb3IgZGlmZmVyZW50CgkgIGNhbWVyYSBzb3VyY2VzLgoKMjAxMC0xMi0yMCAxODozMDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogZ2l0aWdub3JlIGNhbWVyYWJpbjIgdGVzdHMKCSAgQWRkcyBtb3JlIGNhbWVyYWJpbjIgZWxlbWVudHMgdGVzdHMgdG8gZ2l0aWdub3JlCgoyMDEwLTEyLTIwIDE4OjA5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIGNvbnZlcnRlcnMgZm9yIHZpZXdmaW5kZXIgYnJhbmNoCgkgIFZpZXdmaW5kZXIgYnJhbmNoIHNob3VsZCBoYXZlIGNvbnZlcnRlcnMgYXMgaXQgaGFzIHRvIHdvcmsKCSAgYWx3YXlzIGFueXdheS4KCjIwMTAtMTItMjAgMTQ6MjA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IEFkZCBhbm90aGVyIHRlc3QgY2FzZQoJICBBZGRzIGEgdGVzdCBjYXNlIHRvIGNoZWNrIGlmIGEgc2VxdWVuY2Ugb2YgYnVmZmVycyB3aXRoIGRpZmZlcmVudAoJICBjYXBzIGNhbiBiZSBwdXNoZWQgdG8gaW1hZ2VjYXB0dXJlYmluIGFuZCBzYXZlZCBjb3JyZWN0bHkKCjIwMTAtMTItMjAgMDI6NTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogQWRkIGJhc2ljIGNoZWNrIHRlc3QKCSAgQWRkcyBtaW5pbXVtIGNoZWNrIHRlc3QuIEl0J3Mgbm90IGEgdmVyeSB1c2VmdWwgdGVzdCwgYnV0IGF0IGxlYXN0CgkgIGl0IGFsbG93cyB1cyB0byBydW4gaXQgdW5kZXIgdmFsZ3JpbmQgYW5kIGNoZWNrIGZvciBsZWFrcyBhdXRvbWF0aWNhbGx5CgoyMDEwLTEyLTIwIDAyOjU4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogUmVtb3ZlIGxlYWtzCgkgIFJlbW92aW5nIHZhcmlvdXMgbGVha3MgZnJvbSB2aWV3ZmluZGVyYmluCgoyMDEwLTEyLTE3IDIzOjA2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogbW9yZSBsb2dzCgoyMDEwLTEyLTE3IDIzOjA2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU21hbGwgdGVzdHMgdXBkYXRlCgkgIEluY3JlYXNlcyB0aW1lb3V0IHZhbHVlIHNvIHRoYXQgdGVzdHMgd29uJ3QgZmFpbCB3aXRoIGZ1bGwKCSAgZGVidWcgb3V0cHV0LgoJICBBbHNvIHJlbW92ZXMgYnVmZmVyIGFsbG9jIGZyb20gdmlkZW90ZXN0c3JjIGFzIHRoaXMgZmVhdHVyZQoJICBpc24ndCByZWFkeSBvbiBjYW1lcmFiaW4yCgoyMDEwLTEyLTE0IDIyOjA2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkcyB0ZXN0cyBmb3IgaW1hZ2UgY2FwdHVyZSB3aXRoIGRpZmZlcmVudCBjYXBzCgkgIEFkZHMgYSB0ZXN0IHRoYXQgdHJpZXMgc3VjZXNzaXZlIGNhcHR1cmVzIHdpdGggZGlmZmVyZW50IGNhcHMKCjIwMTAtMTItMTYgMDA6NDA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBjYW1lcmFiaW4yIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudHMKCjIwMTAtMTItMTUgMTQ6MDU6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgkgIEFkZHMgYSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQgdGhhdCBpcyBwdXNoZWQgdG8gdGhlIGNhbWVyYXNyYyBwYWQKCSAgdGhhdCBuZWVkcyByZW5lZ290aWF0aW9uIGR1ZSB0byB0aGUgdXNlciBzZWxlY3RpbmcgYSBuZXcgY2FwdHVyZQoJICBjYXBzIGZvciB0aGF0IHBhZC4KCSAgVGhpcyBpcyBhIHdheSBvZiBub3RpZnlpbmcgdGhlIHNvdXJjZSB0aGF0IGl0IHNob3VsZCB1cGRhdGUgaXRzIGNhcHMsIGV2ZW4KCSAgaWYgaXQgZG9lc24ndCB1c2UgcGFkIGFsbG9jcy4KCjIwMTAtMTItMTYgMjI6NDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCBsb2NhbCBtb2RlCgoyMDEwLTEyLTE0IDE4OjQyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkcyBwcm9wZXJ0aWVzIGZvciBjYXB0dXJlIGNhcHMKCSAgQWRkcyBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgY2FwcyBmb3IgdmlkZW8gYW5kIGltYWdlIGNhcHR1cmVzCgoyMDEwLTEyLTE5IDE5OjQwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogRml4IG1ha2VmaWxlIGJ1aWxkaW5nIG9yZGVyCgkgIGJhc2VjYW1lcmFiaW5zcmMgbXVzdCBiZSBidWlsdCBhZnRlciBwaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgYXMgaXQgZGVwZW5kcyBvbiBpdC4KCjIwMTAtMTItMTAgMTc6NDU6NDAgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJyZXZpYXRpb25zIGZyb20gaW1hZ2VjYXB0dXJlYmluCgoyMDEwLTEyLTE2IDA4OjQ3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogQWRkIHNvbWUgbW9yZSBsb2dnaW5nCgkgIEFkZHMgc29tZSBtb3JlIGxvZ2dpbmcgYW5kIGFsd2F5cyBhc3N1bWUgY2FwdHVyZSBoYXMgc3RhcnRlZCBiZWZvcmUKCSAgc3RhcnRfY2FwdHVyZSBpcyBjYWxsZWQuIFRoaXMgaGVscHMgb24gaW1hZ2UgY2FwdHVyZXMgdGhhdCBtaWdodAoJICBjYWxsIGZpbmlzaF9jYXB0dXJlIGRpcmVjdGx5IGZyb20gc3RhcnRfY2FwdHVyZSBvciBiZWZvcmUgc3RhcnRfY2FwdHVyZQoJICBmaW5pc2hlcy4KCjIwMTAtMTItMTUgMjI6MzU6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTW9yZSBjbGVhbnVwCgkgIFJlbW92ZSBvbGQgbGVnYWN5IGNvZGUgY29waWVkIGZyb20gY2FtZXJhYmluKDEpIHRoYXQgc2hvdWxkIGJlIGhhbmRsZWQKCSAgYnkgY2FwcyBuZWdvdGlhdGlvbiBvbiBjYW1lcmFiaW4yCgoyMDEwLTEyLTE1IDE0OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgd2FpdF9mb3JfcHJlcGFyYSB2YXJpYWJsZSB0aGF0IHdhc24ndCBiZWluZyB1c2VkCgoyMDEwLTEyLTE0IDE3OjIzOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZW5hbWUgdjRsMmNhbWVyYXNyYyB0byB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIFVzZSBhIGJldHRlciBuYW1lIGZvciB0aGUgZWxlbWVudCB0aGF0IHdyYXBzIHNpbmdsZSBwYWQgc3JjIGVsZW1lbnQKCSAgaW50byBhIDNwYWQgc291cmNlIHJlcXVpcmVkIGJ5IGNhbWVyYWJpbjIuCgoyMDEwLTEyLTE0IDE2OjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiByZW1vdmUgdmlkZW8gZmlsdGVyIHByb3BlcnR5IGNvZGUKCSAgUmVtb3ZlcyBzb21lIHVudXNlZCBjdXN0b20gdmlkZW8gZmlsdGVyIGVsZW1lbnQgcHJvcGVydHkgY29kZQoKMjAxMC0xMi0xNiAxMDo1MTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEZpeCB2aWRlby1zaW5rIHByb3BlcnR5IGFnYWluCgkgIEF2b2lkIHN3aXRjaGluZyB0aGUgZWxlbWVudCBvbiB0aGUgc2V0X3Byb3BlcnR5IGZ1bmN0aW9uLCBpbnN0ZWFkIHdhaXQKCSAgZm9yIHRoZSBuZXh0IE5VTEwgLT4gUkVBRFkgdHJhbnNpdGlvbi4KCjIwMTAtMTItMTQgMTQ6NDg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgdmlkZW90ZXN0c3JjIG9uIHRoZSB0ZXN0cwoJICBVc2UgdmlkZW90ZXN0c3JjIHRvIGF2b2lkIG9wZW5uaW5nIHRoZSBjYW1lcmEgZGV2aWNlIG9uIHRoZSB0ZXN0cy4KCjIwMTAtMTItMTQgMTQ6NDM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBhZGQgdmlkZW8tc3JjIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIHNyYyBlbGVtZW50IHRvIGJlIHVzZWQgaW50ZXJuYWxseQoJICBvbiB2NGwyY2FtZXJhc3JjLiBZZWFoLCBJIGtub3csIHRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJldHRlcgoJICBuYW1lLgoKMjAxMC0xMi0xMyAxNzo1NjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB0ZXN0IGZvciBzdXBwb3J0ZWQgY2FwcyBwcm9wZXJ0aWVzCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIHRoYXQgdGhlIHN1cHBvcnRlZCBjYXBzIHByb3BlcnRpZXMgd29yawoJICBhcyBleHBlY3RlZCAodXNpbmcgdGhlIHJlc3BlY3RpdmUgcGFkcyBnZXQgY2FwcyBmdW5jdGlvbikKCjIwMTAtMTItMTQgMDg6NDQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogYWRkcyBQT1JUSU5HIGRvY3VtZW50CgkgIEFkZHMgYSBQT1JUSU5HIGRvY3VtZW50IHRvIGV4cGxhaW4gdGhlIGRpZmZlcmVuY2VzIGZyb20KCSAgY2FtZXJhYmluIHRvIGNhbWVyYWJpbjIgYW5kIGhlbHAgYXBwbGljYXRpb24gZGV2ZWxvcGVycyBvbgoJICBwb3J0aW5nIGZyb20gb25lIHRvIGFub3RoZXIuCgoyMDEwLTEyLTEzIDE5OjM2OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNb3ZlIGJhc2VjYW1lcmFzcmMgdG8gZ3N0LWxpYnMKCSAgTW92ZSB0aGUgYmFzZSBjYW1lcmEgc3JjIGNsYXNzIHRvIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjIHRvCgkgIGFsbG93IGl0IHRvIGJlIGluY2x1ZGVkIGZyb20gdGhlIHRlc3RzLgoKMjAxMC0xMi0xNCAxNDoyODo0OSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIHZpZGVvcmVjb3JkaW5nYmluOjp2aWRlby1tdXhlciBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAxMjoyMTo1NyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIHZpZGVvcmVjb3JkaW5nYmluOjp2aWRlby1lbmNvZGVyIHByb3BlcnR5CgoyMDEwLTEyLTE0IDA5OjU4OjM1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJicmV2aWF0aW9ucyBmcm9tIHZpZGVvcmVjb3JkaW5nYmluCgoyMDEwLTEyLTE0IDEwOjQ4OjU2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluOiByZWxlYXNlIG9iamVjdHMgYW5kIG1lbW9yeSBhbGxvY2F0aW9ucwoKMjAxMC0xMi0xMyAxNjozNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGNhbWVyYS1zcmMgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgY2FtZXJhIHNvdXJjZSBlbGVtZW50IHRvIGJlIHVzZWQuCgkgIENoYW5naW5nIG9ubHkgaGFwcGVucyBvbiB0aGUgbmV4dCBOVUxMLT5SRUFEWSB0cmFuc2l0aW9uCgoyMDEwLTEyLTEzIDExOjUzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW5hbWUgdmFyaWFibGVzCgkgIFVzZSBiZXR0ZXIgbmFtZSBmb3IgdGhlIHZhcmlhYmxlcywgbWFraW5nIHRoZSBjb2RlIGNsZWFyZXIuIEFsc28KCSAga2VlcCBhIHJlZiBmb3Igc29tZSBpbnRlcm5hbCBlbGVtZW50cyB0byBhdm9pZCBmZXRjaGluZyB0aGVtCgkgIGJ5IG5hbWUgd2hlbiBuZWVkZWQgbGF0ZXIuCgoyMDEwLTEyLTEyIDIzOjAzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgcHJvcGVydGllcyBmb3Igc3VwcG9ydGVkIGNhcHR1cmUgY2FwcwoJICBBZGRzIDIgcHJvcGVydHkgZm9yIGdldHRpbmcgdGhlIHN1cHBvcnRlZCBpbWFnZS92aWRlbyBjYXB0dXJlCgkgIGNhcHMgZnJvbSB0aGUgY2FtZXJhIHNvdXJjZS4KCjIwMTAtMTItMTIgMjA6NDY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFB1dCBlbnVtcyBpbnNpZGUgdGhlaXIgY2xhc3NlcyAuYwoJICBSZW1vdmUgZ2xvYmFsIGxpc3Qgb2YgcHJvcGVydGllcycgZW51bXMgYW5kIHB1dCB0aGVtCgkgIGluc2lkZSB0aGVpciBjbGFzc2VzIC5jCgoyMDEwLTEyLTEyIDE5OjMzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdmlld2ZpbmRlcmJpbjogRml4ZXMgdG8gdmlkZW8tc2luayBoYW5kbGluZwoJICBIYW5kbGUgdmlkZW8tc2luayBtb3JlIGNhcmVmdWxseSwgY2hlY2tpbmcgaWYgaXQgc2hvdWxkCgkgIGJlIGFscmVhZHkgYWRkZWQgdG8gdGhlIGJpbiwgYW5kIHJlbW92aW5nIG9sZCBvbmVzIHdoZW4KCSAgcmVwbGFjaW5nLgoKMjAxMC0xMi0xMyAxNjoyODo1OCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIGltYWdlY2FwdHVyZWJpbjo6aW1hZ2UtbXV4ZXIgcHJvcGVydHkKCjIwMTAtMTItMTMgMTI6MDg6MjIgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBpbWFnZWNhcHR1cmViaW46OmltYWdlLWVuY29kZXIgcHJvcGVydHkKCjIwMTAtMTItMTAgMTc6NDU6NDAgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJyZXZpYXRpb25zIGZyb20gaW1hZ2VjYXB0dXJlYmluCgoyMDEwLTEyLTEwIDEyOjA4OjQ4IC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBpbXBsZW1lbnQgdmlld2ZpbmRlcmJpbjo6dmlkZW8tc2luayBwcm9wZXJ0eSB0byBvdmVycmlkZSBkZWZhdWx0IHZpZGVvIG91dHB1dAoKMjAxMC0xMi0wOSAxNDoxMzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE1ha2UgY29uc3RydWN0X3BpcGVsaW5lIG9wdGlvbmFsCgkgIENvbnN0cnVjdCBwaXBlbGluZSBzaG91bGQgYmUgb3B0aW9uYWwuIFN1YmNsYXNzZXMgdGhhdCBkb24ndAoJICBoYXZlIGludGVybmFsIGVsZW1lbnRzIGRvbid0IG5lZWQgaXQuCgoyMDEwLTEyLTA5IDEyOjIzOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogd3JpdGUgbW9yZSBkZXRhaWxzIG9uIHRoZSBhcGkgZG9jcwoKMjAxMC0xMi0wOSAxMjoyMjoyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiB1c2UgdGhlIGVudW0gdHlwZSBmb3IgbW9kZQoKMjAxMC0xMi0wOSAxMjoyMToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBjb21tZW50IGNsZWFudXBzCgoyMDEwLTEyLTIyIDIxOjQ0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjQKCjIwMTAtMTItMjIgMTg6MTM6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSAgaWQzbXV4OiBTZXQgdG8gR1NUX1JBTktfUFJJTUFSWQoJICBXZSB3YW50IGl0IHRvIHRha2UgcHJlY2VkZW5jZSBvdmVyIGFueSBvdGhlciBpZDMgZm9ybWF0dGVyLgoKMjAxMC0xMi0yMSAxODowMToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBzb21lIG1vcmUgbGVha3MgYW5kIHJlb3JnYW5pemUgdW5yZWYgY29kZQoKMjAxMC0xMi0yMCAxNTozMzoyOCArMDEwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEF2b2lkIHNvbWUgbGVha3MgaW4gYXV0b2NvbnZlcnQKCSAgdW5yZWYgc2luayBhbmQgc3JjIHBhZCBhZnRlciBnc3RfcGFkX2J5X2RpcmVjdGlvbiBjYWxscyB1bnJlZgoJICBlbGVtZW50IGlmIGdzdF9hdXRvX2NvbnZlcnRfYWN0aXZhdGVfZWxlbWVudCBmYWlsZWQuCgkgIFNlZSBidWcgIzYzNzU1My4KCjIwMTAtMTItMjEgMTc6MDM6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRml4IGJ1ZmZlciBsZWFrIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMjAgMDc6MTk6MDQgLTA4MDAgIFNhbGVlbSBBYmR1bHJhc29vbCA8Y29tcG5lcmRAY29tcG5lcmQub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiBmaXggZm9yIGxhdGVzdCBHVEsrIEFQSSBjaGFuZ2VzCgoyMDEwLTEyLTIwIDE3OjQ3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTY5NDYyYSB0byA0NjQ0NWFkCgoyMDEwLTEyLTIwIDExOjA2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjYXBzIGxlYWtzCgkgIEZpeCBzb21lIGNhcHMgbGVha3Mgb24gdW5pdCB0ZXN0cwoKMjAxMC0xMi0yMCAwOTozNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBGaXggbGVha3Mgb24gY2hlY2sgdGVzdAoJICBGaXggbGVha3MgaW4gamlmbXV4IGNoZWNrIHRlc3QKCjIwMTAtMTItMjAgMTM6NTE6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiB1c2UgYSBmbGFncyB0eXBlIGluc3RlYWQgb2YgdGhlIHVpbnQKCSAgQWxzbyB1c2UgMCBhcyBkZWZhdWx0IGFuZCBsZXQgdGhlIGltcGxlbWVudGF0aW9uIHNldCBzb21ldGhpbmcgdGhhdCB0aGV5IHN1cHBvcnQuCgoyMDEwLTEyLTIwIDExOjE0OjQ5ICswMjAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBtaXNzaW5nIHByb3BlcnR5IGFuZCBjYWJhYmlsaXR5IGZsYWcgZm9yIG5vaXNlIHJlZHVjdGlvbgoKMjAxMC0xMi0xOSAxNzoyMzoyNCArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgdGVzdHM6IEZpeCBsZWFrIGluIGF1dG9jb252ZXJ0IHRlc3QKCjIwMTAtMTItMTkgMTc6MTY6MTAgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVXNlIGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoKQoKMjAxMC0xMi0xOSAxMjo1MzozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgQXRvbUluZm8gc3RydWN0cwoKMjAxMC0xMi0xOSAxMjo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgdGFnIHN0cmluZyBhZnRlciB1c2UKCjIwMTAtMTItMTkgMTI6MTI6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IEZpeCBzb21lIG1vcmUgbWVtb3J5IGxlYWtzCgoyMDEwLTEyLTE5IDEyOjEyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgbWVzc2FnZSBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTE5IDEyOjA5OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgcGFkIGFuZCBzaW5rCgoyMDEwLTEyLTE5IDEyOjA1OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlCgoyMDEwLTEyLTE5IDEyOjAzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgbG9jYXRpb24gc3RyaW5nCgoyMDEwLTEyLTE5IDEyOjAwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERvbid0IGxlYWsgdGFnbGlzdAoKMjAxMC0xMi0xOSAxMTozODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDEwLTEyLTE5IDExOjIwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IEFkZCBhdXRvY29udmVydCBjaGlsZCBiZWZvcmUgY2hhaW5pbmcgdXAgdG8gcGFyZW50IHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICAuLi5hbmQgcmVtb3ZlL3VubGluayBhdXRvY29udmVydCBjaGlsZCB3aGVuIGdvaW5nIGJhY2sgdG8gTlVMTC4KCjIwMTAtMTItMTkgMTE6MTk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHN0YXRlczogSWdub3JlIG1vcmUgdmRwYXUgZWxlbWVudHMgaW4gdGhlIGdlbmVyaWMgc3RhdGVzIHRlc3QKCjIwMTAtMTItMTkgMTE6MTc6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IFJlbmFtZSBhbmQgYWRqdXN0IHVuaXQgdGVzdCB0b28KCjIwMTAtMTItMTggMTI6NDg6NDIgLTA4MDAgIExlbyBTaW5nZXIgPGxlby5zaW5nZXJAbGlnby5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGZpeCBjb21waWxlciB3YXJuaW5nOiByZWR1bmRhbnQgZGVjbGFyYXRpb24gb2YgJ3BhcmVudF9jbGFzcycKCSAgR1NUX0JPSUxFUlBMQVRFX0ZVTEwgZGVjbGFyZXMgcGFyZW50X2NsYXNzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc1MzIKCjIwMTAtMTItMTcgMTk6NDE6MjUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWxsb3cgemVybyBkdXJhdGlvbiB0cmFja3MKCjIwMTAtMTItMTYgMTU6MzE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogdXNlIEdTVF9MT0cgZXRjLiBmb3IgbG9nZ2luZwoJICBUaGUgZHZic3ViIHJvdXRpbmVzIHdlcmUgb3JpZ2luYWxseSBkZXNpZ25lZCBhcyBhIG1pbmkgbGliIHdpdGggYQoJICBsb2cgY2FsbGJhY2sgKHdoaWNoIGZyb20gdGhlIGxvb2tzIG9mIGl0IGluIG91ciBjYXNlIHdvdWxkIGFsd2F5cwoJICBiZSBjYWxsZWQgYW5kIGFsd2F5cyBhc3NlbWJsZSB0aGUgc3RyaW5nIGV2ZW4gd2l0aCBkZWJ1ZyBvdXRwdXQKCSAgZGlzYWJsZWQpLiBTb21lIG9mIHRoZXNlIGRlYnVnIHN0YXRlbWVudHMgY2FuIHByb2JhYmx5IGJlIHJlbW92ZWQKCSAgb3IgY2xlYW5lZCB1cCBzb21lIG1vcmUuCgoyMDEwLTEyLTE2IDAwOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSBzb21lIHVudXNlZCBkZWZpbmVzCgoyMDEwLTEyLTE2IDAwOjEzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGF0b21pYyBhY2Nlc3MKCjIwMTAtMTItMTYgMTU6MzM6NDUgKzAwMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHJlbmRlcmluZyBhcnRlZmFjdHMKCSAgSW5pdGlhbGl6ZSBzb3VyY2UgeCBwb3NpdGlvbiBmb3Igb2RkIGhlaWdodCBzcGVjaWFsIGNhc2UuCgoyMDEwLTEyLTE2IDExOjI5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVGhlIGVuYWJsZSBwcm9wZXJ0eSBpcyBhIGJvb2xlYW4gYW5kIG5vdCBhbiBpbnRlZ2VyCgoyMDEwLTEyLTE2IDA5OjU2OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJICBhdXRvY29udmVydDogUmVuYW1lIGF1dG9jb2xvcnNwYWNlIHRvIGF1dG92aWRlb2NvbnZlcnQKCSAgVGhpcyBkb2Vzbid0IGp1c3QgY29udmVydCBiZXR3ZWVuIGNvbG9yIHNwYWNlcy4KCjIwMTAtMTItMTUgMTI6NDU6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb3Npbms6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBDbGVhbiB1cCBkaXJlY3RvcnkKCjIwMTAtMTItMTUgMjE6Mjg6MDYgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBBZGQgZnJhbWVyYXRlIHRvIHRoZSBzaW5rIGNhcHMKCSAgRml4ZXMgYnVnICM2MzcyMjQuCgoyMDEwLTEyLTE1IDIxOjE5OjU1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbG9yc3BhY2UuYzoKCSAgYXV0b2NvbG9yc3BhY2U6IEFkZCB1bml0IHRlc3QKCjIwMTAtMTItMTUgMjE6MTQ6MzggKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJICBhdXRvY29sb3JzcGFjZTogQWRkIGF1dG9jb252ZXJ0IGJhc2VkIHZpZGVvIGZvcm1hdCBjb252ZXJ0IGVsZW1lbnQKCSAgRml4ZXMgYnVnICM2MzYxMDYuCgoyMDEwLTEyLTE1IDIxOjExOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVuYW1lIERWQiBzdWJ0aXRsaW5nIG1lZGlhIHR5cGUgdG8gc3VicGljdHVyZS94LWR2YgoKMjAxMC0xMi0xNSAyMToxMToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZW5hbWUgRFZCIHN1YnRpdGxpbmcgbWVkaWEgdHlwZSB0byBzdWJwaWN0dXJlL3gtZHZiCgoyMDEwLTEyLTE1IDIwOjU0OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3QgZHJhdyBhbnl0aGluZyBvbiB0aGUgdmlkZW8gaWYgdGhlIGVuYWJsZSBwcm9wZXJ0eSBpcyBzZXQgdG8gRkFMU0UKCjIwMTAtMTItMTUgMjA6NTM6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBBZGQgI2RlZmluZXMgZm9yIHRoZSBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlcwoKMjAxMC0xMi0xNSAyMDo1MToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFVzZSBnX2F0b21pY19pbnRfZ2V0KCkgZm9yIHJlYWRpbmcgdGhlIG1heF9wYWdlX3RpbWVvdXQgZmllbGQKCjIwMTAtMTItMTUgMjA6NDk6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogTWFyayBhcnJheSBzdGF0aWMgY29uc3QgYW5kIHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBzaXplb2YKCjIwMTAtMTItMTUgMTQ6Mzk6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBERVNDX0RWQl9TVUJUSVRMSU5HIGRlc2NyaXB0b3IgZm9yIGxhbmd1YWdlIHBhcnNpbmcKCjIwMTAtMTItMTUgMTQ6MjM6NTggKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGVuYWJsZSBnYXRoZXJfcGVzIG9ubHkgZm9yIERWQiBzdWJ0aXRsZSBwcml2YXRlIHN0cmVhbXMKCjIwMTAtMTItMTQgMTQ6MzQ6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogdXNlIGF0b21pYyBpbnN0cnVjdGlvbnMgdG8gc2V0L2dldCBlbmFibGUgcHJvcGVydHkKCjIwMTAtMTItMTQgMTQ6Mjg6NDUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBhZGQgcHJvcGVydHkgdG8gbGltaXQgcGFnZV90aW1lX291dCB0byBhIHNldGFibGUgbWF4aW11bQoKMjAxMC0xMi0xNCAxMToxMTowOCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBpbXBsZW1lbnQgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgc3VidGl0bGUgd2luZG93cwoJICBzaW1wbGlmaWVzIHN1YnRpdGxlIHNjYWxpbmcgaW4gYmxpdF9pNDIwKCkKCjIwMTAtMTItMTEgMTc6MjU6MjkgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogc2NhbGUgc3VidGl0bGVzIGFjY29yZGluZyB0byB0aGUgZGlzcGxheSBzaXplCgkgIERpc3BsYXkgc2l6ZSBpcyBlaXRoZXIgdHJhbnNtaXR0ZWQgaW4gdGhlIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IG9yCgkgIGltcGxpY2l0bHkgZGVmaW5lZCB0byA3MjB4NTc2LiBUaGUgc3VidGl0bGUgd2luZG93IGluZm9ybWF0aW9uIGFsc28gcHJlc2VudCBpbgoJICB0aGUgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgaXMgbm90IHlldCB1c2VkLgoKMjAxMC0xMi0xMSAxNzoxMDoyNSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcGxlbWVudCBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBwYXJzaW5nCgoyMDEwLTEyLTEwIDEyOjI3OjU0ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBsdW1hIHN0cmlkZSBmb3Igc2NhbGVkIHN1YnRpdGxlcyAoZGlzcGxheSB3aWR0aCAhPSB3aWR0aCkKCjIwMTAtMTItMTUgMTY6NDg6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IERvbid0IHNldCB1aW50IG9uIGFuIGludCBwcm9wZXJ0eQoKMjAxMC0xMi0xNSAxNDo1NjoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMDc0MmFlIHRvIDE2OTQ2MmEKCjIwMTAtMTItMTQgMTk6MDM6MDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGF1ZGlvZmlsdGVyLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXRyYW5zZm9ybS5jOgoJKiB0b29scy9nc3RjZGRhYmFzZXNyYy5jOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkqIHRvb2xzL2dzdHB1c2hzcmMuYzoKCSogdG9vbHMvZ3N0dGFnZGVtdXguYzoKCSogdG9vbHMvZ3N0dmlkZW9zaW5rLmM6CgkqIHRvb2xzL3NpbmtwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NpbmtwYWQuYzoKCSogdG9vbHMvc3JjcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zcmNwYWQuYzoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBnZW5lcmF0aW9uIG9mIHNldmVyYWwgY2xhc3NlcwoJICBCZXR0ZXIgY3JlYXRpb24gb2YgcGFkcywgdGVzdCBhbmQgZml4IG1hbnkgb3RoZXIgY2xhc3Nlcy4gIE1vc3QKCSAgY2xhc3NlcyB3b3JrIG5vdywgYWx0aG91Z2ggbWlnaHQgbm90IGNyZWF0ZSBmdW5jdGlvbmFsIGVsZW1lbnRzLgoKMjAxMC0xMi0xMyAyMzozMjozMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogQWRkIHk0bWRlYwoJICBGZWVsIHRoZSB5NG0gbG92ZS4gIEl0IHNlZWtzLiAgSXQgd29ya3MgaW4gcGl0aXZpLgoKMjAxMC0xMi0xMyAyMzoxNTowNSArMDAwMCAgRnJhbmNpcyBSYW1tZWxvbyA8ZnJhbmNpcy5yYW1tZWxvb0BnbWFpbC5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBnZGlzY3JlZW5jYXBzcmM6IGZpeCBtZW1vcnkgbGVhawoJICBTdHJ1Y3R1cmUgbWVtYmVycyBvZiBJQ09OSU5GTyBzdHJ1Y3QgZmlsbGVkIGJ5IEdldEljb25JbmZvKCkgbXVzdAoJICBiZSBkZWxldGVkIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZCBhY2NvcmRpbmcgdG8gdGhlIEFQSSByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE0MjgKCjIwMTAtMTItMTMgMTY6MjM6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgbGVha2luZyB0YWcgZXZlbnQKCjIwMTAtMTItMTMgMTU6MTc6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVsYXggYnNpZCBjaGVja2luZwoJICAuLi4gdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBzcGVjIGludGVycHJldGF0aW9uLgoJICBGaXhlcyAjNjM3MDYyLgoKMjAxMC0xMi0xMyAxNjoyMzo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMTFiY2M4IHRvIDIwNzQyYWUKCjIwMTAtMTItMTIgMjM6MzQ6MDIgKzAwMDAgIE1hdHRoZXcgSWZlIDxtYXR0aGV3LmlmZUB1a2Zhc3QuY28udWs+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogZmFpbCBtb3JlIGdyYWNlZnVsbHkgaWYgc291cmNlIGdldHMgZGlzY29ubmVjdGVkIG9yIGdlb21ldHJ5IGNoYW5nZXMKCSAgRG9uJ3QgZ2V0IGNhdWdodCBpbiBhbiBpbmZpbml0ZSBsb29wIGlmIHRoZSBzb3VyY2UgZ2V0cyBkaXNjb25uZWN0ZWQgYW5kIGFsc28KCSAgc3VwcG9ydCBncmFjZWZ1bGx5IGZhaWxpbmcgdXBvbiBkZXRlY3RpbmcgdGhlIGZyYW1lIGdlb21ldHJ5IGhhcyBpbmNyZWFzZWQKCSAgKHJhdGhlciB0aGFuIHNlZ2ZhdWx0aW5nKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTM5NwoKMjAxMC0xMi0xMiAyMjoxMzoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBsZWFraW5nIGNvbnZlcnRlZCBjb21tZW50IHN0cmluZwoKMjAxMC0xMi0xMiAxMjowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHNzaW06IFNldCBjbGFzc2lmaWNhdGlvbiB0byBGaWx0ZXIvQW5hbHl6ZXIvVmlkZW8gaW5zdGVhZCBvZiBGaWx0ZXIvQ29udmVydGVyL1ZpZGVvCgkgIEZpeGVzIGJ1ZyAjNjM2MTA5LgoKMjAxMC0xMi0xMiAwMjoyNDowMCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJICBnYXVkaWVmZmVjdHM6IEF2b2lkIGRpdmlkZSBieSAwIGluIGJ1cm4gZWxlbWVudAoKMjAxMC0xMi0xMiAwMjoxNjo0OSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogRGVmZXIgcHVzaGluZyB0YWcgdXBkYXRlcyB1bnRpbCBzdHJlYW1pbmcuCgkgIFB1c2ggdGFnL3RpdGxlIGluZm8gdXBkYXRlcyBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZCwgYXZvaWRpbmcKCSAgc3B1cmlvdXMgbG9zc2VzIG9mIHRoZSBkb3duc3RyZWFtIGV2ZW50cyB3aGVuIGZsdXNoaW5nLgoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTQyMjIKCjIwMTAtMTEtMTYgMTc6MTg6MzMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXR0ZW1wdCB0byB1c2UgZ2xpYiBsYW5ndWFnZSBzZXR0aW5nIGZvciBEVkQgbWVudXMvYXVkaW8KCjIwMTAtMTEtMTYgMTc6MDk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IHNpbGx5IHR5cG8gaW4gYnV0dG9uIHN0YXRlIHRyYWNraW5nLgoKMjAxMC0xMi0xMCAwMDo1ODo1OCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IG9ubHkgZW5xdWV1ZSBidWZmZXJzIGluIHRoZSBWaWRlb1Rvb2xib3ggY2FsbGJhY2tzCgkgIFRoZXNlIGNhbGxiYWNrcyBtYXkgZmlyZSBmcm9tIGFueSB0aHJlYWQsIGhlbmNlIHdlIHNob3VsZCBvbmx5IGVucXVldWUKCSAgYnVmZmVycyBhbmQgbGV0IHRoZSBzdHJlYW1pbmcgdGhyZWFkIHRha2UgY2FyZSBvZiB0aGUgcmVzdCBhcyBzb29uIGFzCgkgIHRoZSBibG9ja2luZyBlbmNvZGUgb3IgZGVjb2RlIG9wZXJhdGlvbiBoYXMgZmluaXNoZWQuCgoyMDEwLTExLTE5IDE1OjUzOjU1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkgIGFwcGxlbWVkaWE6IGJyaW5nIGJhY2sgTGVvcGFyZCBjb21wYXRpYmlsaXR5CgkgIEF0IGxlYXN0IGFzIGZhciBhcyBtaW92aWRlb3NyYyBpcyBjb25jZXJuZWQuIFR1cm5zIG91dCB0aGF0IENvcmVWaWRlbydzCgkgIENWUGl4ZWxCdWZmZXJHZXRJT1N1cmZhY2UgaXMgbm90IHByZXNlbnQgaW4gTGVvcGFyZCdzIHZlcnNpb24gb2YgQ29yZVZpZGVvLgoJICBXZSBzb2x2ZSB0aGlzIGJ5IG1ha2luZyBpdCBwb3NzaWJsZSBmb3Igc3ltYm9scyB0byBiZSBtYXJrZWQgYXMgb3B0aW9uYWwuCgoyMDEwLTExLTI5IDEzOjQ3OjExICswMTAwICBDaHJpc3RpYW4gQmVyZW50c2VuIDxjaHJpc3RpYW4uYmVyZW50c2VuQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZml4IGZyYW1lcmF0ZSBmcmFjdGlvbiByYW5nZSBtYXBwaW5nCgkgIE1pbiBhbmQgbWF4IG1heSBiZSBzbGlnaHRseSBkaWZmZXJlbnQgYnV0IGNvbXByZXNzIHRvIHRoZSBzYW1lIGZyYWN0aW9uLgoKMjAxMC0xMi0wOSAxODowNjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJICBqYXNwZXJkZWM6IGRvbid0IGZhaWwgaGFyZCBvbiBkZWNvZGluZyBlcnJvcgoJICBkb24ndCBwb3N0IGFuIGVycm9yIGFuZCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igb24gYSBzaW1wbGUgZGVjb2RpbmcgZXJyb3IuIFdlIGNhbgoJICBqdXN0IHJlc3VtZSBhbmQgY29udGludWUgZGVjb2RpbmcgdGhlIG5leHQgaW1hZ2UuCgoyMDEwLTEyLTA5IDExOjU0OjE3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiByZXNldCB0aGUgcXVldWUgY29uZGl0aW9uIHRvIE5PX0ZSQU1FUyBpbiB1bmxvY2tTdG9wLgoJICBGaXhlcyBhIHNlZ2ZhdWx0IGluIGNyZWF0ZTogd2hlbiBnb2luZyBQTEFZSU5HIC0+IFBBVVNFRCAtPiBQTEFZSU5HLgoKMjAxMC0xMi0wOSAxMTowNDoxOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogcnVuIHRoZSBtYWluUnVuTG9vcCBmb3IgYSB3aGlsZSBpZiBub3QgcnVubmluZy4KCSAgUVRDYXB0dXJlU2Vzc2lvbjo6YWRkSW5wdXQgYW5kIFFUQ2FwdHVyZVNlc3Npb246OmFkZE91dHB1dCBjYWxsCgkgIE5TT2JqZWN0OjpwZXJmb3JtU2VsZWN0b3JPbk1haW5UaHJlYWQgaW50ZXJuYWxseSBzbyB0aGV5IG5lZWQgdGhlIG1haW5SdW5Mb29wIHRvCgkgIHJ1biBhdCBsZWFzdCBmb3IgYSB3aGlsZSB0byBjb21wbGV0ZS4KCjIwMTAtMTItMDcgMTk6NDA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBSZW1vdmUgZ2hvc3RwYWRzCgkgIFJlbW92ZSBnaG9zdCBwYWRzIGZyb20gYmFzZWNhbWVyYXNyYy4gRGlmZmVyZW50IGltcGxlbWVudGF0aW9ucwoJICBvZiBjYW1lcmEgc291cmNlcyBtaWdodCBub3QgdXNlIGdob3N0cGFkcyBhbmQgdXNlIGRlZmF1bHQgcGFkcy4KCjIwMTAtMTItMDcgMTk6MTI6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogUmVtb3ZpbmcgdW51bnNlZCBtZXRob2RzCgkgIFJlbW92ZSBvbmUgdW51c2VkIG1ldGhvZCBfZmluaXNoX2ltYWdlX2NhcHR1cmUoKQoKMjAxMC0xMi0wNiAxMTowNToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IE9ubHkgcnVuIHRlc3RzIGlmIGV4cGVyaW1lbnRhbCBpcyBlbmFibGVkCgkgIE9ubHkgcnVuIGNhbWVyYWJpbjIgdGVzdHMgYW5kIGJ1aWxkIGV4YW1wbGVzIGlmIGV4cGVyaW1lbnRhbAoJICBwbHVnaW5zIGFyZSBlbmFibGVkCgoyMDEwLTEyLTA2IDEwOjA2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBDbGVhbnVwCgkgIFJlbW92aW5nIGNvbW1lbnRlZCBjb2RlCgoyMDEwLTEyLTA1IDExOjE4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogTW92ZSBzdGFydC9zdG9wIGNhcHR1cmUgc2lnbmFscyB0byBiYXNlY2FtZXJhc3JjCgkgIE1vdmUgc3RhcnQvc3RvcCBzaWduYWxzIGFuZCByZWFkeS1mb3ItY2FwdHVyZSB0byBiYXNlY2FtZXJhc3JjCgkgIGFzIHRoaXMgc2hvdWxkIGJlIHByZXNlbnQgb24gYWxsIGNhbWVyYSBzb3VyY2VzCgoyMDEwLTEyLTA0IDEwOjE1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogQWRkIG1vZGUgcHJvcGVydHkKCSAgTW92ZSBtb2RlIHByb3BlcnR5IGZyb20gdjRsMmNhbWVyYXNyYyB0byBiYXNlY2FtZXJhc3JjLCBhcyBhbGwKCSAgY2FtZXJhIHNvdXJjZXMgc2hvdWxkIGhhbmRsZSBpdC4KCjIwMTAtMTItMDQgMDA6Mjc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlc2V0IGFsbCBlbGVtZW50cyBvbiB2aWRlbyByZWNvcmRpbmcgYnJhbmNoIGJlZm9yZSBjYXB0dXJlCgkgIFdlIG5lZWQgdG8gcmVzZXQgdGhlIGVsZW1lbnRzIGZyb20gdGhlIHZpZGVvIHJlY29yZGluZyBicmFuY2gsIGluY2x1ZGluZwoJICB0aGUgcXVldWUgYW5kIGNhcHNmaWx0ZXIgaW4gb3JkZXIgdG8gY2xlYXIgdGhlIGVvcyBzdGF0ZSBhbmQgYWN0aXZhdGUKCSAgdGhlIHBhZHMuCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gcmVjb3JkIG11bHRpcGxlIHZpZGVvcyB3aXRoIGNhbWVyYWJpbjIgaW4gYQoJICBzZXF1ZW5jZSwgb3RoZXJ3aXNlIHRoZSBzb3VyY2Ugd291bGQgZ2V0IGEgdW5leHBlY3RlZCByZXR1cm4gYW5kCgkgIHB1c2ggRU9TLCBzdG9wcGluZyB0aGUgd2hvbGUgcGlwZWxpbmUuCgoyMDEwLTEyLTAzIDEyOjEzOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHRlc3RzIGNhcHR1cmUgbG9jYXRpb24gY3JlYXRpb24KCSAgRml4ZXMgY2FwdHVyZSBsb2NhdGlvbiBjcmVhdGlvbiB0byB1c2UgbXVsdGlmaWxlc2luayBsb2NhdGlvbgoJICBsaWtlIHN0cmluZ3MuIEUuZy4gdXNpbmcgY2FwdHVyZV8lZCBpbnN0ZWFkIG9mIGNhcHR1cmVfMCB0byBsZXQKCSAgY2FtZXJhYmluMiBoYW5kbGUgdGhlICVkIHJlcGxhY2luZwoKMjAxMC0xMi0wMyAxMjoxMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogTW9yZSBkZWJ1ZyBsb2dzCgkgIFNwcmlua2xlIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgbG9ncwoKMjAxMC0xMi0wMyAxMjoxMTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBQcmludCBtb3JlIGluZm8KCSAgQWRkIHNvbWUgcHJpbnRpbmcgZm9yIGVycm9yL2VvcyBjYXNlcy4KCjIwMTAtMTItMDIgMDM6NDQ6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBWYXJpb3VzIGZpeGVzCgkgIEFzIHZpZGVvIHJlY29yZGluZyBiaW4ncyBzdGF0ZSBpcyBsb2NrZWQsIHdlIHNob3VsZCBhbHdheXMKCSAgcmVtZW1iZXIgb2Ygc2V0dGluZyBpdCB0byBOVUxMIHdoZW4gY2FtZXJhYmluMiBnb2VzIHRvIE5VTEwKCSAgQmUgbW9yZSBjYXJlZnVsIHdoZW4gdXNpbmcgZWxlbWVudHMgdGhhdCBtaWdodCBub3QKCSAgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0CgkgIEFuZCBkbyBub3Qgc2V0IGxvY2F0aW9uIHByb3BlcnR5IHJlY3Vyc2l2ZWx5IG9uIHZpZGVvcmVjb3JkaW5nYmluCgoyMDEwLTEyLTAyIDAzOjA4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB0ZXN0cyBmb3IgY2FtZXJhYmluMgoJICBBZGRzIHNvbWUgYmFzaWMgdGVzdHMgZm9yIGNhbWVyYWJpbjIKCjIwMTAtMTItMDIgMDI6MjE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogYWRkcyB0ZXN0cyBmb3IgZWxlbWVudHMKCSAgQWRkcyBiYXNpYyB0ZXN0cyBmb3IgYm90aCBpbWFnZWNhcHR1cmViaW4gYW5kIGZvcgoJICB2aWRlb3JlY29yZGluZ2JpbiBlbGVtZW50cwoKMjAxMC0xMi0wMiAwMTozMzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEltcHJvdmUgZWxlbWVudHMgY3JlYXRpb24KCSAgQmUgbW9yZSBjYXJlZnVsIHdpdGggY2xlYW51cCBvZiBlbGVtZW50cy4gQWxzbyBhZGQgc29tZSBsb2dzIGFuZAoJICBpbXByb3ZlIGRvY3MgYSBsaXR0bGUuCgoyMDEwLTEyLTAyIDAwOjE5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgY29kZQoJICBHZW5lcmFsIGNsZWFudXAsIHJlbW92aW5nIHVudXNlZCBiaXRzCgoyMDEwLTExLTMwIDIwOjEzOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSAgY2FtZXJhYmluMjogYWRkcyBsb2NhdGlvbiBwcm9wZXJ0eQoJICBBZGRzIGEgbG9jYXRpb24gcHJvcGVydHkgdG8gZW5hYmxlIGFwcGxpY2F0aW9ucyB0byBzZWxlY3QKCSAgdGhlIGNhcHR1cmVkIGZpbGVzIG5hbWVzLiBMb2NhdGlvbnMgYXJlIGhhbmRsZWQganVzdCBsaWtlCgkgIG11bHRpZmlsZXNpbmsgb25lcwoJICBBbHNvIGRpc2FibGVzIC1XZm9ybWF0LW5vbmxpdGVyYWwgdG8gYWxsb3cgdG8gdXNlIG5vbi1saXRlcmFscwoJICBvbiBnX3N0cmR1cF9wcmludGYgb24gY2FtZXJhYmluIGFuZCBnZW5lcmF0ZSBhIHNlcXVlbmNlIG9mCgkgIGxvY2F0aW9ucyBmb3IgY2FwdHVyZXMuCgoyMDEwLTExLTMwIDIwOjE1OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHNldC9nZXQgcHJvcGVydHkgZnVuY3Rpb24gbmFtZXMKCSAgQWRkIG1vcmUgY29uc2lzdGVuY3kgdG8gdGhlIGZ1bmN0aW9uIG5hbWVzIGJ5IHVzaW5nCgkgIGdzdF9jYW1lcmFfYmluIGFzIHRoZSBvdGhlciBmdW5jdGlvbnMuCgoyMDEwLTExLTMwIDE4OjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgdmlkYmluIHN0YXRlIGNoYW5nZSBpbmRpdmlkdWFsbHkKCSAgS2VlcCB2aWRiaW4gc3RhdGUgbG9ja2VkIHRvIGF2b2lkIGl0IGdvaW5nIHRvIHBsYXlpbmcgd2l0aG91dAoJICBiZWluZyB1c2VkIGFuZCBsZWF2aW5nIGFuIGVtcHR5IGZpbGUgY3JlYXRlZC4KCSAgQ2hlY2sgdGhlIGRvY3Mgb24gdGhlIGNvZGUgZm9yIGRldGFpbHMgb24gdGhlIGhhbmRsaW5nLgoKMjAxMC0xMS0zMCAxMTo0MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogS2VlcCBpdCB1bmRlciAtLWVuYWJsZS1leHBlcmltZW50YWwKCSAgY2FtZXJhYmluMiBpcyBzdGlsbCB1bmRlciBoZWF2eSBkZXZlbG9wbWVudCwgYWN0aXZhdGUgaXQgb25seSBpZgoJICB0aGUgLS1lbmFibGUtZXhwZXJpbWVudGFsIGZsYWcgaXMgb24uCgkgIEFsc28gYWRkIGEgbm90ZSB0byB0aGUgZG9jcy4KCjIwMTAtMTEtMzAgMTE6MDY6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBBZGQgcmVhZHktZm9yLWNhcHR1cmUgcHJvcGVydHkKCSAgQWRkcyBwcm9wZXJ0eSB0aGF0IGluZm9ybXMgaWYgdjRsMmNhbWVyYXNyYyBpcyBhdmFpbGFibGUKCSAgZm9yIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUuCgkgIEl0IGlzIHVzZWZ1bCBmb3IgYXBwbGljYXRpb25zIHRvIGtub3cgKHZpYSBkZWVwLW5vdGlmeSkgd2hlbiB0aGUKCSAgcHJvcGVydHkgY2hhbmdlcyBhbmQgYSBuZXcgY2FwdHVyZSBpcyBwb3NzaWJsZS4gTm90ZSwgaG93ZXZlciwgdGhhdAoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlIGZyb20gdGhlIG5vdGlmeSBjYWxsYmFjayB3aWxsIGNhdXNlIGEgZGVhZGxvY2suCgoyMDEwLTExLTMwIDA5OjI4OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHY0bDJjYW1lcmFzcmMgdG8gdXNlIHN0YXJ0L3N0b3Agc2lnbmFscwoJICBSZW1vdmVzIHRoZSBvbGQgbG9naWMgZm9yIHY0bDJjYW1lcmFzcmMgdGhhdCB1c2VkIHRoZSBtb2RlCgkgIHByb3BlcnR5IHN3aXRjaGluZyB0byBzdGFydC9zdG9wIGNhcHR1cmVzIHRvIG1ha2UgaXQgaWRlbnRpY2FsCgkgIHRvIGNhbWVyYWJpbjIgYmVoYXZpb3IgYW5kIHRvIGFsbG93IHRoZSBmdXR1cmUgYWRkaXRpb24gb2YKCSAgcGF1c2luZyBhIHZpZGVvIHJlY29yZGluZy4KCSAgVGhpcyBhbHNvIHJlbW92ZXMgdGhlIE1PREVfUFJFVklFVyBhcyBpdCBiZWNhbWUgdXNlbGVzcy4KCjIwMTAtMTEtMjkgMTg6NTM6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IENsZWFudXAgY2FwdHVyaW5nIGZsYWcKCSAgQ2xlYW51cCBjYXB0dXJpbmcgZmxhZyB3aGVuIHRoZSBzb3VyY2Ugc3dpdGNoZXMgYmFjayB0byB0aGUKCSAgdmlld2ZpbmRlciBtb2RlCgoyMDEwLTExLTI5IDE4OjI0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogUmVtb3ZlIHVubmVjZXNzYXJ5IHBhZGRpbmcKCjIwMTAtMTEtMjkgMTU6NDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IEltcGxlbWVudCB2aWRlbyBjYXB0dXJlCgkgIEltcGxlbWVudHMgdmlkZW8gY2FwdHVyZSBvbiB2NGwyY2FtZXJhc3JjIGJ5IHVzaW5nIHRoZSBtb2RlIHByb3BlcnR5LAoJICB3aGVuIG1vZGUgaXMgc2V0IHRvIHZpZGVvLCB0aGUgcGFkIHByb2JlIHB1c2hlcyBhIG5ldyBzZWdtZW50CgkgIGFuZCBzdGFydHMgcHVzaGluZyBidWZmZXJzIG9uIHRoZSBwYWQsIHdoZW4gaXQgdGhlIHByb3BlcnR5IGlzCgkgIHNlbnQgYmFjayB0byBwcmV2aWV3LCB0aGUgcGFkIHByb2JlIHB1c2hlcyBhbiBFT1MgYW5kIHN0b3BzCgkgIHB1c2hpbmcgYnVmZmVycy4KCSAgVGhpcyBpcyBjb250cm9sbGVkIGJ5IGEgUmVjb3JkaW5nIFN0YXRlIHZhcmlhYmxlLCB0aGF0IGlzIHByb3RlY3RlZAoJICBieSB0aGUgR1NUX09CSkVDVF9MT0NLLiBJIGRvbid0IHRoaW5rIGxvY2tpbmcgZm9yIGV2ZXJ5IGJ1ZmZlciBpcwoJICBuaWNlLCBzbyB3ZSBjb3VsZCBmaW5kIGFuIGFsdGVybmF0aXZlIGxvY2tsZXNzIHdheSBoZXJlLgoKMjAxMC0xMS0yOSAxMjo1NzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEZpeCBpbWFnZSBjYXB0dXJlCgkgIE9uY2UgYSBpbWFnZSBpcyBjYXB0dXJlZCwgdjRsMmNhbWVyYXNyYyBzaG91bGQgcmV0dXJuIHRvIHRoZQoJICBwcmV2aWV3IG1vZGUgYW5kIHN0b3AgY2FwdHVyaW5nLgoKMjAxMC0xMS0yOSAxMTozMToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEtlZXAgbW9kZSBkZWZpbml0aW9uIGF0IC1lbnVtIGZpbGUKCSAgVXNlICdtb2RlJyBlbnVtIGRlZmluaXRpb24gZnJvbSBnc3RjYW1lcmFiaW4tZW51bSBmaWxlIHRvIGF2b2lkCgkgIGNvbmZsaWN0cyBiZXR3ZWVuIHY0bDJjYW1lcmFzcmMgYW5kIGdzdGNhbWVyYWJpbjIgbW9kZXMuCgkgIEZvciBub3cgdGhlcmUgaXMgYSBNT0RFX1BSRVZJRVcgdGhlcmUgdGhhdCBpcyBvbmx5IHVzZWQgb24gdGhlCgkgIGNhbWVyYXNyYywgbm90IHN1cmUgaWYgd2UgYXJlIGtlZXBpbmcgaXQgYXQgdGhlIGZ1dHVyZSwgYnV0IGZvcgoJICBub3cgdGhpcyB3b3Jrcy4KCjIwMTAtMTEtMjkgMTA6NDY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBBZGRzIG1vZGUgcHJvcGVydHkKCSAgQWRkcyBtb2RlIHByb3BlcnR5IHRvIHY0bDJjYW1lcmFzcmMKCjIwMTAtMTEtMjkgMTA6NDU6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgZGVidWcgY2F0ZWdvcmllcwoJICBBZGRpbmcgZGVidWcgY2F0ZWdvcmllcyB0byB2NGwyY2FtZXJhc3JjIGFuZCBjYW1lcmFiaW4yLCBhbHNvCgkgIHJlbW92aW5nIGdlbmVyaWMgY2F0ZWdvcnkgZnJvbSBjYW1lcmFiaW5nZW5lcmFsLgoKMjAxMC0xMS0yNiAyMzo1NToxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogQWRkcyBjYW1lcmFiaW4yIGV4YW1wbGUKCSAgQWRkcyBndGsgY2FtZXJhYmluMiBleGFtcGxlIGFwcAoKMjAxMC0xMS0yNiAxNzoyNDo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGJhc2ljIHByb3BlcnR5IGFuZCBzaWduYWxzCgkgIEFkZHMgbW9kZSBwcm9wZXJ0eSB0byBjYW1lcmFiaW4yLCBhbGxvd2luZyB1c2VycyB0bwoJICBzZWxlY3QgYmV0d2VlbiB2aWRlbyBhbmQgc3RpbGxzIGNhcHR1cmUuIEFsc28gYWRkcwoJICBzdGFydC9zdG9wIGNhcHR1cmUgYWN0aW9ucyB0byB0cmlnZ2VyIGFuZCBzdG9wCgkgIGNhcHR1cmluZwoKMjAxMC0xMS0yNiAxNTo1NTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogU2V0IGZpbGVzaW5rJ3MgYXN5bmMgdG8gRkFMU0UKCSAgSW4gb3JkZXIgdG8gcHJlcm9sbCwgY2FtZXJhYmluMiBzaG91bGQgaGF2ZSBpdHMgZmlsZXNpbmtzIGluCgkgIHRoZSBpbWFnZWNhcHR1cmViaW4gYW5kIHZpZGVvcmVjb3JkaW5nYmluIHdpdGggYXN5bmM9RkFMU0UuCgoyMDEwLTExLTI2IDE0OjUxOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGJhc2ljIGVsZW1lbnRzCgkgIEluc3RhbnRpYXRpbmcgYW5kIGxpbmtpbmcgYmFzaWMgZWxlbWVudHMgb24gY2FtZXJhYmluMgoJICBzbyBpdCBhdCBsZWFzdCBzaG93cyB0aGUgdmlld2ZpbmRlciB3aGVuIHJ1bm5pbmcuCgoyMDEwLTExLTI2IDEwOjE0OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgYSBzdHViIGVsZW1lbnQgZm9yIGNhbWVyYWJpbjIKCSAgQWRkcyBjYW1lcmFiaW4yIGVsZW1lbnQsIGl0IGlzIG5vdyBhIHBpbGUgb2Ygc3R1YnMuCgoyMDEwLTExLTI1IDIyOjA1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogUmVtb3ZlIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKCSAgUmVtb3ZlIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKCjIwMTAtMTEtMjUgMjE6NDk6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHVuZWVkZWQgcHJvcGVydGllcwoJICBSZW1vdmluZyB1bmVlZGVkIGFuZCB1bnJlZ2lzdGVyZWQgcHJvcGVydGllcy4KCjIwMTAtMTEtMjUgMjA6NTU6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBGaXggcHJvcGVydHkgd2FybmluZwoJICBBdm9pZCBzZXR0aW5nIGEgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0xMS0yNSAyMDo1MzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmVkIHVudXNlZCBsZWZ0b3ZlciB2YXJpYWJsZQoKMjAxMC0xMS0yNSAxNDo1NzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkgIGNhbWVyYWJpbjI6IEFkZHMgdmlkZW8gcmVjb3JkaW5nIGJpbgoJICBBZGRzIGFuIGJpbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBlbmNvZGluZyBhbmQgc2F2aW5nIHZpZGVvCgkgIHN0cmVhbXMgdG8gZmlsZXMuCgkgIEZvciBub3cgaXQgaXMgc2ltcGx5IGEgZmZtcGVnY29sb3JzcGFjZSAhIHRoZW9yYWVuYyAhIG9nZ211eCAhCgkgIGZpbGVzaW5rIGJpbi4KCSAgU3RpbGwgdW5jYXBhYmxlIG9mIHJlY29yZGluZyBhdWRpby4KCjIwMTAtMTEtMjUgMTM6MDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdjRsMmNhbWVyYXNyYyBmcm9tIHJvYmNsYXJrJ3MgYnJhbmNoCgkgIEFkZHMgMy1wYWQgdjRsMiBjYW1lcmEgc291cmNlIGZyb20gUm9iIENsYXJrJ3MgY2FtZXJhYmluCgkgIGJyYW5jaCBvbiBodHRwOi8vZ2l0b3Jpb3VzLm9yZy9yb2JjbGFyay1nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDEwLTExLTI0IDIwOjMxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIG5ldyBpbWFnZWNhcHR1cmViaW4KCSAgQWRkcyBhbiBiaW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgaW1hZ2UgY2FwdHVyZXMuCgkgIEl0IGlzIGEgc2ltcGxlIGZmbXBlZ2NvbG9yc3BhY2UgISBqcGVnZW5jICEgamlmbXV4ICEgbXVsdGlmaWxlc2luawoJICBmb3Igbm93LgoKMjAxMC0xMS0yNCAyMDoxNTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHBsdWdpbiBpbml0IHRvIGEgc2VwYXJhdGUgZmlsZQoJICBNb3ZlcyBwbHVnaW4gaW5pdCB0byBnc3RwbHVnaW4uYyB0byBhbGxvdyBtdWx0aXBsZQoJICBlbGVtZW50cyB0byByZWdpc3RlciB0aGVtc2VsdmVzLgoKMjAxMC0xMS0yNCAxNzoyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogQWRkcyB2aWV3ZmluZGVyYmluIGVsZW1lbnQKCSAgQWRkcyB2aWV3ZmluZGVyIGJpbiBlbGVtZW50LCBvbmUgb2YgdGhlIG1vZHVsZXMgb2YgY2FtZXJhYmluMgoJICB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBkaXNwbGF5aW5nIHRoZSB2aWRlbyBmcm9tIHRoZSBjYW1lcmEuCgkgIEZvciBub3cgaXQgaXMgb25seSBhIGJpbiB3aXRoIGZmbXBlZ2NvbG9yc3BhY2UgISB2aWRlb3NjYWxlICEKCSAgYXV0b3ZpZGVvc2luawoKMjAxMC0xMi0wOCAxOTozNjo0OCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1guCgoyMDEwLTExLTI0IDEyOjIyOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBvdXRwdXQtc2VsZWN0b3ItdGVzdDogZG9uJ3QgaGFyZGNvZGUgdmlkZW9zaW5rcyBhbmQgdXNlIG1vcmUgY29sb3JzcGFjZSBjb252LgoJICBVc2UgYXV0b3ZpZGVvc2luayBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBzaW5rcy4gVXNlIGFuIGFkZGl0aW9uYWwgY29sb3JzcGFjZQoJICBjb252ZXJ0ZXIgYmV0d2VlbiB2aWRlb3Rlc3RzcmMgYW5kIHRpbWVvdmVybGF5LgoKMjAxMC0xMi0wOCAxNToxODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UgaW5zdGVhZCBvZiBvbGQgZ2l0CgoyMDEwLTEyLTA3IDE1OjQ0OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcmUtdXNlIGNsZWFudXAoKSBpbiBmaW5hbGl6ZSgpCgkgIC4uLiBhbmQgYWxzbyBmYXZvciBmaW5hbGl6ZSgpIHJhdGhlciB0aGFuIGRpc3Bvc2UoKS4KCjIwMTAtMTEtMTggMTM6Mzk6MjMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBTZXQgc3JjcGFkIGNhcHMgYmVmb3JlIGZvcndhcmRpbmcgbmV3c2VnbWVudAoJICBUaGlzIGhvbGRzIGFsbCBuZXdzZWdlbWVudCBhbmQgbW9zdCBvdGhlciBldmVudHMgdGlsbCB0aGVyZSBpcyBlbm91Z2gKCSAgZGF0YSB0byBzZXQgc3JjcGFkIGNhcHMsIHNvIHRoYXQgdGhlIGRvd25zdHJlYW0gbGluayBpcyBwcm9wZXJseQoJICBuZWdvdGlhdGVkIGJlZm9yZSBkYXRhIHN0YXJ0cyBmbG93aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjA0CgoyMDEwLTExLTE4IDIzOjI5OjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIHNpbmtwYWQgY2FwcyBhcyBiYXNlIGZvciBzcmNwYWQgY2FwcwoJICBUaGlzIHdheSwgd2UgZG9uJ3QgbG9zZSBhZGRpdGlvbmFsIGZpZWxkcyB0aGF0IGNvbWUgZnJvbSB1cHN0cmVhbSAobGlrZQoJICBwcm9maWxlL2xldmVsIGZvciBub3cpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjAyCgoyMDEwLTEyLTA3IDE1OjIwOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogbWlub3IgZml4IHRvIGVycm9yIGhhbmRsaW5nCgkgIFdlIHdlcmVuJ3QgaGFuZGxpbmcgdW5wYXJzZWFibGUgY29kZWNfZGF0YSBpbiBzb21lIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjAyCgoyMDEwLTEyLTA3IDE3OjE3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IG5lYXJlc3QgbmVpZ2hib3VyIHNjYWxpbmcgZm9yIHRoZSBzdWJwaWN0dXJlcwoJICBUaGlzIGJlY29tZXMgbmVjZXNzYXJ5IHdoZW4gU0RUViBzdWJ0aXRsZXMgYXJlIHVzZWQgZm9yIEhEVFYgdmlkZW9zLgoKMjAxMC0xMi0wNyAxNDo1NToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsaWduIGNvZGUgd2l0aCBjb21tZW50CgoyMDEwLTEyLTA3IDE0OjU1OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmUtdXNlIHJlc2V0KCkgaW4gZmluYWxpemUoKQoKMjAxMC0xMS0xNyAxOToxNjoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFNldCBzcmNwYWQgY2FwcyBiZWZvcmUgZm9yd2FyZGluZyBuZXdzZWdtZW50CgkgIFRoaXMgaG9sZHMgYWxsIG5ld3NlZ2VtZW50IGFuZCBtb3N0IG90aGVyIGV2ZW50cyB0aWxsIHRoZXJlIGlzIGVub3VnaAoJICBkYXRhIHRvIHNldCBzcmNwYWQgY2Fwcywgc28gdGhhdCB0aGUgZG93bnN0cmVhbSBsaW5rIGlzIHByb3Blcmx5CgkgIG5lZ290aWF0ZWQgYmVmb3JlIGRhdGEgc3RhcnRzIGZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDUKCjIwMTAtMTItMDYgMTk6MDA6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogdHJ5IHRvIGNvbnZlcnQgY29tbWVudCB0YWcgdG8gVVRGLTgKCjIwMTAtMTItMDYgMTg6MTk6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZGlzY2FyZCBpbmNvbXBsZXRlIGltYWdlCgkgIC4uLiBhcyBkZXRlcm1pbmVkIHdoZW4gZmluZGluZyBTT0kgbmV4dCBpbWFnZSBiZWZvcmUgYW4gRU9JLgoKMjAxMC0xMi0wNiAxODoxODoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gcmVzeW5jaW5nCgoyMDEwLTEyLTA2IDIyOjQ4OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IEFsbG93IGltcGxpY2l0IGNoYW5uZWwgbWFwIGZvciAxLS8yLWNoYW5uZWwgYXVkaW8KCSAgVGhpcyBtYWtlcyBzdXJlIHdlIGRvbid0IHNldCBhbiBlbXB0eSBjaGFubmVsIG1hcCBhcnJheSBmb3IgMS0vMi1jaGFubmVsCgkgIGF1ZGlvLCBjYXVzaW5nIGFuIGFzc2VydCBsYXRlciBvbi4KCjIwMTAtMTItMDYgMTc6MDg6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZXZlcnQgc29tZSBwYXJ0cyBvZiBsYXN0IGNvbW1pdCB0aGF0IHNob3VsZG4ndCBiZSBjb21taXR0ZWQKCjIwMTAtMTItMDYgMTc6MDU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZWFsbHkgY2hvb3NlIHRoZSBsYXRlc3QgcG9zc2libGUgc3VicGljdHVyZXMKCSAgQW5kIG5vdCB0aGUgZmlyc3Qgc3VicGljdHVyZXMgdGhhdCBhcmUgc3RpbGwgdmFsaWQgYWNjb3JkaW5nIHRvIHRoZQoJICBwYWdlIHRpbWVvdXQuCgoyMDEwLTEyLTA2IDE2OjQ0OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVmYWN0b3IgYmxlbmRpbmcgZnVuY3Rpb24gYW5kIHRha2UgYXZlcmFnZSBvZiBhbGwgY2hyb21hIHZhbHVlcwoKMjAxMC0xMi0wMyAxNzozNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcHJvdmUgc2VsZWN0aW9uIG9mIGN1cnJlbnQgdG8gYmUgZGlzcGxheWVkIHN1YnBpY3R1cmVzCgkgIERyb3AgYWxsIHN1YnBpY3R1cmVzIHRoYXQgYXJlIHRvbyBvbGQgYW55d2F5IGFuZCBjbGVhciB0aGUgY3VycmVudGx5CgkgIGRpc3BsYXllZCBzdWJwaWN0dXJlcyBpZiBudW1fcmVjdHM9PTAgaGFwcGVucy4KCjIwMTAtMTItMDMgMTY6MjE6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgY2xpcHBpbmcgb2YgdmlkZW8gYnVmZmVycwoJICBBbHNvIGRvbid0IGNsaXAgc3VicGljdHVyZSBidWZmZXJzLCB0aGV5IGhhdmUgbm8gZHVyYXRpb24gYW5kCgkgIGNsaXBwaW5nIHRoZW0gZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgaGVyZS4KCjIwMTAtMTItMDMgMTY6MDg6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IENsZWFuIHVwIGxvY2tpbmcgc29tZSBtb3JlCgoyMDEwLTEyLTAzIDE2OjA1OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRmx1c2ggc3VidGl0bGVzIGFuZCBhbGwgaW50ZXJuYWwgc3RhdGUgd2hlbiBuZWVkZWQKCjIwMTAtMTItMDMgMTU6NTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBTZXQgdGhlIGdsb2JhbCBsaWJyYXJ5IGxvZyBmdW5jdGlvbiBleGFjdGx5IG9uY2UKCSAgQW5kIGRvbid0IHVzZSBvbmUgb2YgdGhlIHBvc3NpYmx5IG1hbnkgcmVuZGVyZXIgaW5zdGFuY2VzLCB0aGlzIGlzIG9ubHkKCSAgY2FsbGluZyBmb3IgY3Jhc2hlcy4KCjIwMTAtMTItMDMgMTU6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBsb3RzIG9mIGNvbW1lbnRlZCBvdXQgYW5kIHVudXNlZCBjb2RlIGFuZCBjbGVhbiB1cCBsb2NraW5nCgoyMDEwLTEyLTAxIDA5OjU5OjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IG1vcmUgb2YgdGhlIGJsZW5kaW5nLCBzbyBpdCBsb29rcyBxdWl0ZSBnb29kIG5vdwoJICAqIGxpYmR2YnN1YiBnaXZlcyB1cyBhbHBoYSBjaGFubmVsIGFscmVhZHksIG5vdCB0cmFuc3BhcmVuY3kgbGV2ZWwsIHNvCgkgIGRvbid0IGRvIGFub3RoZXIgImFscGhhID0gMjU1IC0gYWxwaGEiLCB0aGlzIGlzIGRvbmUgYnkgbGliZHZic3ViLgoJICAqIEZpeCBhbHBoYSBjaGFubmVsIGhhbmRsaW5nIGluIGludGVycG9sYXRpb24gLSBhc3NyZW5kZXIgaGFkIGFuIGFkZGl0aW9uYWwKCSAgMWJwcCBhbHBoYSBiaXRtYXAgYXMgYSBwb3NzaWJsZSBtYXNrLCB3ZSBkb24ndC4gU28gZG9uJ3QgdXNlIHRoZSBwYWxldHRlCgkgIGluZGV4IGFycmF5IGFzIGFscGhhIHZhbHVlczsgYnVnIGZyb20gcXVpY2sgY29kZSBwb3J0aW5nIGxvbmcgYWdvIHRvCgkgIGNoYW5naW5nIHBpeGVsIGNvbG9ycyAoYXNzcmVuZGVyIGhhcyBhIHNpbmdsZSBwaXhlbCBjb2xvciBmb3Igd2hvbGUKCSAgcmVnaW9ucyBvciBzb21ldGhpbmcsIHVubGlrZSBkdmJzdWIsIHdoaWNoIGhhcyBpbmRleGVkIGNvbG9ycykuCgkgICogRG9uJ3QgZm9yZ2V0IHRvIHJlYXNzaWduIG91ciBZVVYgYW5kIG90aGVyIGxvY2FsIHBpeGVsIGNvbG9yIHZhcmlhYmxlcwoJICBhZnRlciBzaGlmdGluZyB0byB3b3JrIG9uIHRoZSBib3R0b20gcGFydCBvZiBhIDJ4MiBzdWJzYW1wbGUgYmxvY2ssIG9yCgkgIGl0J3Mgb2J2aW91c2x5IHZlcnkgYmxvY2t5LgoJICBSZW1haW5pbmcgaXNzdWVzIGluIGJsZW5kaW5nOgoJICAqIFNob3VsZCBwcm9iYWJseSBiZSBpbnRlcnBvbGF0aW5nIG9yIGRvaW5nIHNvbWV0aGluZyBlbHNlIHVzZWZ1bCB3aXRoIHRoZQoJICByZXN1bHRpbmcgVSBhbmQgViBjaGFubmVscywgc28gdGhhdCBtb3N0IG9mIHRoZSBzb3VyY2UgcGl4ZWwgVVYgdmFsdWVzIHdvdWxkCgkgIGFjdHVhbGx5IGJlIGFjdHVhbGx5IGNhcmVkIGFib3V0LCBleGNlcHQgZm9yIGp1c3Qgb25lIG91dCBvZiBwb3NzaWJseSBmb3VyLgoJICAqIERvbid0IGNvbnZlcnQgQVlVViB0byBBUkdCIGluIGxpYmR2YnN1YiwgYW5kIHRoZW4gYmFjayBmcm9tIEFSR0IgdG8gQVlVViBpbgoJICBkdmJzdWJvdmVybGF5IGZvciBubyByZWFzb24KCSAgKiBSZS1mYWN0b3IgdGhlIHdob2xlIHRoaW5nIHRvIHNvbWV0aGluZyBtb3JlIGxpa2UgdGV4dG92ZXJsYXkgYmxlbmRpbmcKCSAgKiBSZWxhdGVkIHRvIHRoYXQsIHBlcmhhcHMgY2FjaGUgdGhlIGN1cnJlbnQgc3B1IGluIGEgZ29vZCBmb3JtYXQgZm9yIHF1aWNrCgkgIGJsZW5kaW5nIG9uIGVhY2ggZnJhbWUsIGFmdGVyIHdoaWNoIHRoZSBtb3JlIG9mdGVuIGNhbGxlZCBibGVuZGluZyBwYXJ0cwoJICBtaWdodCBiZWNvbWUgbW9yZSBzdHJhaWdodGZvcndhcmQKCjIwMTAtMTItMDEgMDc6MjY6MDMgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggYmxlbmRpbmcgYnVnIHJlZ2FyZGluZyBjb2xvciBjaGFubmVsIGFkZHJlc3NpbmcuCgkgIGxpYmR2YnN1YiBnaXZlcyB1cyBBUkdCIG9yZGVyZWQgcGl4ZWxzIHJpZ2h0IG5vdywgbm90IFJHQkEuCgoyMDEwLTEyLTAxIDA3OjIwOjA3ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG8gYmxlbmRpbmcgY2FsbHMgd2hlbiBhcHByb3ByaWF0ZQoJICBUaGlzIGdpdmVzIHVzIGFjdHVhbGx5IHNob3duIHN1YnRpdGxlcywgaG93ZXZlciB3aXRoIGJ1Z3MgaW4gdGhlCgkgIGN1cnJlbnQgYmxpdHRpbmcgY29kZSwgcmVzdWx0aW5nIGluIHZlcnkgdHJhbnNwYXJlbnQgc3VidGl0bGVzLgoKMjAxMC0xMi0wMSAwNzowNjozNSArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBmYWxsYmFjayBwYWdlX3RpbWVfb3V0IGhvbm9yaW5nCgkgIFRoZSBzcGVjIGhhcyBhIHBhZ2VfdGltZV9vdXQgaW4gdGhlIHBhZ2UgY29tcG9zaXRpb24gc2VnbWVudCB0byBlbnN1cmUKCSAgc3VidGl0bGVzIGRvbid0IGdldCBzdHVjayBvbiBzY3JlZW4gZm9yIHRvbyBtdWNoIGxvbmdlciB0aGFuIGludGVuZGVkLAoJICB3aGVuIGZ1dHVyZSBwYWdlIGNvbXBvc2l0aW9uIHNlZ21lbnRzIGdldCBsb3N0IG9uIGJhZCByZWNlcHRpb24sIG9yIG90aGVyCgkgIHByb2JsZW1zLiBIb25vciBpdCBpbiB0aGUgZ3N0IHBsdWdpbiBzaWRlLgoKMjAxMC0xMi0wMSAwNjowMToxNSArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IHN1YnRpdGxlIHF1ZXVlaW5nIGFuZCBzeW5jaW5nIHdpdGggdmlkZW8KCSAgUHVzaCBpbmNvbWluZyBzdWJ0aXRsZSBwYWdlcyBpbiBhIEZJRk8gcXVldWUgKHBlbmRpbmdfc3VidGl0bGVzKQoJICBhbmQgZGVxdWV1ZSB0aGUgaGVhZCB3aGVuIGl0J3MgdGltZSB0byBzaG93IGl0ICh3aGVuIHZpZGVvIHJ1bm5pbmcKCSAgdGltZSByZWFjaGVzIHRoZSBzdWJ0aXRsZSBwYWdlIHJ1bm5pbmcgdGltZSkuCgkgIEtlZXAgdGhlIHN1YnRpdGxlIHBhZ2UsIHRoYXQgaXMgc3VwcG9zZWQgdG8gYmUgYmxlbmRlZCBvbiB0b3Agb2YgdmlkZW8KCSAgY3VycmVudGx5LCBpbiBhIHNlcGFyYXRlIG9iamVjdCB2YXJpYWJsZSAoY3VycmVudF9zdWJ0aXRsZSkuIEFzIGEKCSAgbmV4dCBzdGVwIHdlIGNhbiB0aGVuIHByZS1yZW5kZXIgY3VycmVudF9zdWJ0aXRsZSB0byBhIGJldHRlciB0byBibGVuZAoJICBmb3JtYXQuCgoyMDEwLTEyLTAxIDA1OjQ5OjIyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogTWFrZSB0aGUgbmV3IGR2Yl9zdWJ0aXRsZXNfZnJlZSgpIGFjY2VwdCBOVUxMCgkgIERvbid0IGNyYXNoIGlmIGR2Yl9zdWJ0aXRsZXNfZnJlZShOVUxMKSBnZXRzIHBhc3NlZCwgbGlrZSBtb3N0IG90aGVyCgkgICpfZnJlZSBmdW5jdGlvbnMgYXJlIGhhcHB5IHdpdGguCgoyMDEwLTEyLTAxIDA1OjI2OjAyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFBhc3MgcGFnZV90aW1lX291dCBhbmQgcHRzIHdpdGggdGhlIERWQlN1YnRpdGxlcyBzdHJ1Y3R1cmUKCSAgRWFzZXMgaG9sZGluZyBvbnRvIHRoZSBpbmZvcm1hdGlvbiBpbiBnc3QgcGx1Z2lucyBzaWRlIHF1ZXVlIG9mCgkgIERWQlN1YnRpdGxlcywgc28gd2Ugd29uJ3QgbmVlZCB0byBjcmVhdGUgeWV0IGFub3RoZXIgdGVtcG9yYXJ5IHN0cnVjdAoJICB0byBrZWVwIHRoZSBwdHMgYW5kIHBhZ2VfdGltZV9vdXQgdG9vLgoJICBBbmQgdGhpcyByZWFsbHkgbG9naWNhbGx5IGJlbG9uZ3MgYXQgdGhlIHRvcGxldmVsIGluZm9ybWF0aW9uIHNldCBhbnl3YXkKCSAgYW5kIGluIHRoYXQgc3RydWN0Li4uCgoyMDEwLTEyLTAxIDA0OjI4OjAyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBNYWtlIHRoZSBsaWJkdmJzdWIgY2FsbGJhY2sgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgbWVtb3J5IGNsZWFudXAKCSAgV2Ugd2FudCB0byBhbGxvdyBxdWV1ZWluZyBvZiByYXcgcmVnaW9uIGltYWdlIGRhdGEgaW4gdGhlIGdzdCBwbHVnaW4gc2lkZSwKCSAgYW5kIGtlZXAgdGhlIGRhdGEgYXJvdW5kIHVudGlsIHdlIHBvcCB0aGUgaXRlbSBmcm9tIHRoZSBxdWV1ZS4gU28gbWFrZQoJICB0aGUgY2FsbGJhY2sgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgbWVtb3J5IGNsZWFudXAsIGlmIG9uZSBpcyBpbnN0YWxsZWQuCgoyMDEwLTExLTMwIDA0OjQ1OjU0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogV29yayB3aXRoIEdzdENsb2NrVGltZSBpbnN0ZWFkIG9mIFBUUyBmb3Igc3VidGl0bGUgdGltaW5nCgkgIEFidXNlIGxpYmR2YnN1YiBQVFMgdHJhY2tpbmcgdG8ganVzdCBzdG9yZSBvdXIgcnVubmluZyB0aW1lIGluIGl0LCB0byBnZXQKCSAgaXQgYmFjayBpbiB0aGUgY2FsbGJhY2tzLiBBcyBHU3RyZWFtZXIgZG9lcyBpdHMgb3duIFBUUyBoYW5kbGluZyBiZWhpbmQgb3VyCgkgIGJhY2sgKGVzcGVjaWFsbHkgZm9yIHZpZGVvKSwgd2Ugc2hvdWxkIGp1c3Qgc3luYyB3aXRoIHZpZGVvIHBlciBydW5uaW5nIHRpbWUsCgkgIG5vdCB0cnkgdG8gZG8gaXQgd2l0aCBQVFMsIHdoaWNoIGRvZXNuJ3Qgc2VlbSB3ZWxsIGFjY2Vzc2libGUgZm9yIHZpZGVvIGNoYWluLgoJICBXZSBjYW4gbGF0ZXIgcmVsYWJlbCBkdmItc3ViLmMgcHRzIG5hbWluZyBjb252ZW50aW9uIGlmIHdhbnRlZCwgaXQncyBqdXN0CgkgIHBhc3NpbmcgYWxvbmcgZ3VpbnQ2NCB2YWx1ZXMsIHdoaWNoIEdzdENsb2NrVGltZSBmb3J0dW5hdGVseSBpcyB0b28uCgkgIFRoZSBjdXJyZW50IGlkZWEgaXMgdG8gY29sbGVjdCB0aGUgcmVnaW9ucyByZXR1cm5lZCBieSB0aGUgY2FsbGJhY2sgaW50bwoJICBhIEZJRk8gYnVmZmVyIGFuZCBwb3AgYW5kIHByZS1yZW5kZXIgdGhlIHRvcCBvbmUgaW50byBhIHNlcGFyYXRlCgkgIHF1aWNrLXRvLWJsZW5kIGNhY2hlZCBmb3JtYXQsIHdoaWNoIGlzIHRoZW4gYXBwcm9wcmlhdGVseSBibGVuZGVkIGluIHRoZQoJICB2aWRlbyBjaGFpbiB1bnRpbCB0aGUgbmV4dCBvbmUgb24gdG9wIG9mIHRoZSBzdGFjayByZWFjaGVzIHRoZSB2aWRlbyBjaGFpbnMKCSAgcnVubmluZyB0aW1lIChvciB0aGUgZmFsbGJhY2sgdGltZXIgaGl0cykuCgoyMDEwLTExLTMwIDAzOjU2OjMyICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQWRkIEZJWE1FIG5vdGUgYWJvdXQgbm9uLWNvbnN0YW50IFBUUyBmb3IgYSBkaXNwbGF5IHNldCBoYW5kbGluZy4KCjIwMTAtMTEtMzAgMDM6NDc6NDYgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBkdmJfc3ViX2ZlZWQoKSBBUEkKCSAgR1N0cmVhbWVyIHdpbGwgb25seSB1c2UgZHZiX3N1Yl9mZWVkX3dpdGhfcHRzLCBhcyBpdCBoYXMgaXRzIG93biBQRVMgZmlsdGVyCgkgIHRvIGRvIHRoZSBoZWFkZXIgcGFyc2luZy4KCjIwMTAtMTEtMjkgMjA6NTU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvVE9ETzoKCSAgZHZic3Vib3ZlcmxheTogbW9yZSBUT0RPCgoyMDEwLTExLTI5IDIwOjEwOjE3ICswMDAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgZ3N0bXBlZ3RzZGVtdXg6IGFkZCB0ZW1wb3JhcnkgKipIQUNLKiogZm9yIGR2YiBzdWJzIHRlc3Rpbmcgc28gZHZic3Vib3ZlcmxheSBnZXRzIHdob2xlIHBhY2tldHMKCSAgPHRwbT4gbGVpbywgd2hhdCdzIHRoZSBtcGVndHMgZGVtdXggaGFjayBhYm91dD8KCSAgPGxlaW8+IG15IGxpYmR2YnN1YiBjb2RlIGNhbid0IGhhbmRsZSBjdXQgcGFja2V0cwoJICA8bGVpbz4gc28gdGhlIGhhY2sgaW5zdHJ1Y3RzIHRoZSBkZW11eGVyIHRvIGdhdGhlciBmdWxsIHBhY2tldHMgYmVmb3JlIHB1c2hpbmcgZG93biwgYnV0IGl0IGFwcGxpZXMgdGhhdCB0byBtb3JlIFBFUyBwYWNrZXQgdHlwZXMgdGhhbiBqdXN0IGR2YnN1YiwgYnV0IEknbSBub3Qgc3VyZSBpZiB0aGF0J3MgYSBiYWQgdGhpbmcKCSAgPGxlaW8+IGVpdGhlciB3YXksIG5lZWRzIGEgY2xlYW5lciBzb2x1dGlvbiwgZWl0aGVyIGluIGRlbXV4ZXIsIG9yIEkgbmVlZCB0byBoYW5kbGUgY3V0IHBhY2tldHMKCSAgPHRwbT4gb2ssIGJ1dCByZWFsbHkgaXQgc2hvdWxkIGJlIGZpeGVkIGluIHRoZSBvdmVybGF5LCByaWdodD8KCSAgPHRwbT4gb3IgYSBwYXJzZXIgYmUgaW5zZXJ0ZWQKCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzIHRoYXQgSSBkb24ndCBrbm93IGZyb20gdGhlIGZpcnN0IHBhY2tldCBiZWZvcmVoYW5kIGlmIGl0IGlzIGEgY3V0IG9uZSBvciBubwoJICA8bGVpbz4gbm90CgkgIDxsZWlvPiBlcnIsIGZpcnN0IGJ1ZmZlcgoJICA8bGVpbz4ganVzdCB3aGVuIEkgcmVjZWl2ZSB0aGUgbmV4dCBvbmUgSSBzZWUgaWYgaXQgaGFzIGEgdmFsaWQgdGltZXN0YW1wIG9uIGl0IG9yIG5vdAoJICA8bGVpbz4gc28gSSBjYW4ndCB2ZXJ5IHdlbGwgcXVldWUgaXQgdXAgaW4gdGhlIGNoYWluIGVpdGhlciwgSSBtaWdodCBiZSBibG9ja2luZyB0aGUgdmVyeSBsYXN0IHN1YnRpdGxlIGZvciBubyByZWFzb24gb3Igc29tZXRoaW5nCgkgIDx0cG0+IGJ1dCB5b3UgY291bGQganVzdCBkcm9wL2lnbm9yZSBwYWNrZXRzIHVudGlsIHlvdSBmaW5kIG9uZSwgcmlnaHQ/CgkgIDxsZWlvPiBmaW5kIHdoYXQ/CgkgIDx0cG0+IGEgY29tcGxldGUgcGFja2V0PwoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXNuJ3QgdGhhdCB0aGV5IGFyZW4ndCBjb21wbGV0ZQoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXMgdGhhdCB0aGV5IGFyZSBjdXQgYWNyb3NzIG11bHRpcGxlIEdzdEJ1ZmZlcnMgYnkgdGhlIGRlbXV4ZXIgd2l0aG91dCB0aGUgaGFjawoJICA8dHBtPiBzdXJlLCBJIHVuZGVyc3RhbmQgdGhhdAoJICA8dHBtPiBidXQgeW91IGNhbid0IGVhc2lseSBkZXRlcm1pbmUgaWYgYSBHc3RCdWZmZXIgY29udGFpbnMgaGUgc3RhcnQgZnJhZ21lbnQgb2YgYSBwYWNrZXQgb3Igbm90PwoJICA8bGVpbz4gSSBndWVzcyBJIGNvdWxkIHBhcnNlIHRoZSBwYWNrZXQgYW5kIHNlZSBpZiBpdHMgbGVuZ3RoIGlzIGVub3VnaCwganVzdCBsaWtlIHRoZSBsaWJkdmJzdWIgY29kZSBldmVudHVhbGx5IGRvZXMgdG9vCgkgIDxsZWlvPiBJIGNhbiwgaXQgaGFzIGEgdGltZXN0YW1wIGlmIGl0J3MgdGhlIGZpcnN0IGNodW5rCgkgIDxsZWlvPiBJIGp1c3QgbmV2ZXIga25vdyBpZiBJIG5lZWQgdG8gd2FpdCBmb3IgbW9yZSwgd2l0aG91dCBzb21lIHBhcnNpbmcKCSAgPHRwbT4gYWggb2sKCSAgPGxlaW8+IHdoaWxlIHRoZSBkZW11eGVyIGNvdWxkIGp1c3QgZ2l2ZSBtZSBhbiB1bmN1dCBvbmUgaW4gdGhlIGZpcnN0IHBsYWNlCgkgIDxsZWlvPiBsaWtlIGl0IGFsd2F5cyBkb2VzIGZvciBwcm9ncmFtIHN0cmVhbXMKCSAgPGxlaW8+IHRoYXQgZ2F0aGVyX3BlcyBpcyBhbHdheXMgc2V0IGluIGdzdG1wZWdkZW11eCwgYnV0IG5vdCBpbiBnc3RtcGVndHNkZW11eAoKMjAxMC0xMS0yOSAyMDowNjowNyArMDAwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9UT0RPOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGluaXRpYWwgdmVyc2lvbiwgd29yayBpbiBwcm9ncmVzcwoKMjAxMC0xMi0wNiAxODowMTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkgIGFuZHJvaWQ6IHVwZGF0ZSBmb3IgMC4xMQoKMjAxMC0xMi0wNiAxNzo1NDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgY29uZmlnOiB1cGRhdGUgY29uZmlnCgoyMDEwLTEyLTA2IDEyOjI1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9wZW4gMC4xMSBicmFuY2gKCjIwMTAtMTItMDMgMTg6MTE6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1cGRhdGUgc29tZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODowOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMTEtMDggMTk6NTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbmNyZWFzZSBrZXlmcmFtZSBhd2FyZW5lc3MKCSAgLi4uIHdoaWNoIGlzIG5vdCBwYXJ0aWN1bGFyIHJlbGV2YW50IGZvciBhdWRpbyBwYXJzaW5nLCBidXQgbW9yZSBzbwoJICBpbiB2aWRlbyBjYXNlcy4gIEluIHBhcnRpY3VsYXIsIGF1dG8tZGV0ZXJtaW5lIGlmIGRlYWxpbmcgd2l0aCB2aWRlbyAoY2FwcykuCgoyMDEwLTEyLTAzIDE3OjQ2OjI3ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9Hc3RBbmRyb2lkLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJyaW5nYnVmZmVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuYzoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5oOgoJICBzeXM6IEFkZCBhbmRyb2lkIGF1ZGlvZmxpbmdlcnNpbmsKCjIwMTAtMTItMDMgMTc6NDI6NDYgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJICBBZGQgYnVpbGQgc3lzdGVtIGZvciBBbmRyb2lkCgoyMDEwLTEyLTAyIDE1OjQ1OjAyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNtYWwgYXBpIGRvYyB1cGRhdGUKCjIwMTAtMTItMDIgMDU6Mzk6MTQgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQXZvaWQgYXNzZXJ0aW9uIG9uIGltYWdlIGZpbmlzaGluZwoJICBBcyBpbWdiaW5fZmluaXNoZWQoKSBpcyBzY2hlZHVsZWQgZnJvbSBnX2lkbGVfYWRkLCBpdCBtaWdodAoJICBiZSBydW4gYSBsaXR0bGUgbGF0ZXIgdGhhbiBleHBlY3RlZCwgdGhpcyBjYW4gbGVhZCB0byB0aGUgYXBwbGljYXRpb24KCSAgc2V0dGluZyBjYW1lcmFiaW4gdG8gcmVhZHkgYmVmb3JlIGltZ2Jpbl9maW5pc2hlZCgpIHJ1bnMuIEluIHRoaXMgY2FzZSwKCSAgdGhlIHByb2Nlc3NpbmcgY291bnRlciBnb2VzIHRvIDAgYW5kIGFuIGFzc2VydGlvbiBoYXBwZW5zLgoJICBUaGlzIHBhdGNoIHJlbGF4ZXMgdGhlIGltZ2Jpbl9maW5pc2hlZCgpIGNoZWNrIG9uIHRoZSBwcm9jZXNzaW5nCgkgIGNvdW50ZXIuCgoyMDEwLTEyLTAxIDIzOjE0OjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEhhbmRsZSBuYW1lcyB3aXRoIG11bHRpcGxlIHVuZGVyc2NvcmVzCgoyMDEwLTEyLTAxIDIzOjA0OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5oOgoJICBjaG9wbXlkYXRhOiBBZGQgbmV3IGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IHNwbGl0cyB1cCBhIHN0cmVhbSBpbnRvIHJhbmRvbWx5LXNpemVkIGJ1ZmZlcnMuCgkgIFVzZWZ1bCAobWF5YmUpIGZvciB0ZXN0aW5nIHBhcnNlcnMuCgoyMDEwLTEyLTAyIDAzOjA5OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogUmVtb3ZlIGxlZnRvdmVyIGNvbW1lbnQKCSAgUmVtb3ZlIGNvbW1lbnQgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYW55bW9yZQoKMjAxMC0xMi0wMSAyMzoyMTozMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ19zdHJjYXNlY21wIGZ1bmN0aW9uLgoJICBSZXBsYWNlIGdfc3RyY2FzZWNtcCB3aXRoIGdfYXNjaWlfc3RyY2FzZWNtcC4KCjIwMTAtMTItMDEgMjM6MjA6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyA0LjIuMSBvbiBPU1guCgoyMDEwLTEyLTAxIDE1OjI4OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogdXNlIHByb3BlciBFQUMtMyBjYXBzCgoyMDEwLTEyLTAxIDEwOjQ1OjQ5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG1zdmMgZnRydW5jYXRlIGluY29tcGF0aWJpbGl0eQoJICBGaXhlcyAjNjM2MTg1LgoKMjAxMC0xMC0wOSAxNzozOTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgQWRkIGEgc2Nocm9lbmMgdGVzdAoKMjAxMC0xMS0yNyAyMDoxMzozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIEZpeCBwYWQgdGVtcGxhdGUgbWVtbGVha3MKCSAgUGFkIHRlbXBsYXRlcyByZXR1cm5lZCBieSBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKSB3ZXJlIG5vdAoJICBiZWluZyB1bnJlZmZlZC4KCjIwMTAtMTEtMzAgMTg6NDM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZWFkZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MKCSAgUmV2ZXJ0IHBhcnRzIG9mIGxhc3QgcGF0Y2ggdGhhdCByZW1vdmVkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcy4KCSAgb2dnbXV4IHN0aWxsIHJlcXVpcmVzIGNvcnJlY3QgZ3JhbnVsZXBvcyBpbiBpbmNvbWluZyBwYWNrZXQuCgoyMDEwLTExLTI5IDIwOjIxOjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3Qgb3ZlcnJpZGUgdGltZXN0YW1wcyBzZXQgYnkgYmFzZSBjbGFzcwoJICBCZWNhdXNlIHRoZSBiYXNlIGNsYXNzIGRvZXMgaXQgY29ycmVjdGx5LgoJICBGaXhlczogIzYzNTcyMCwgIzYyNTU1OC4KCjIwMTAtMTEtMzAgMTU6NDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCB1bmV4cGVjdGVkIHN0cmF5IG1ldGFkYXRhCgoyMDEwLTExLTMwIDE1OjQwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIHByb3BlciBfTk9ORSBvdXRwdXQgdmFsdWUgd2hlbiBhcHBsaWNhYmxlCgoyMDEwLTExLTE1IDIwOjAzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5oOgoJICBqcDJrZGVjaW1hdG9yOiBBZGQgYSBKUEVHMjAwMCBkZWNpbWF0b3IgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgZHJvcHMgaW5mb3JtYXRpb24gZnJvbSBKUEVHMjAwMCBpbWFnZXMgd2l0aG91dCByZWVuY29kaW5nLgoKMjAxMC0xMS0yMyAyMTo0NTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogRW1pdCBTT1AgbWFya2VycyBpbiBldmVyeSBjb2Rlc3RyZWFtIHBhY2tldAoJICBUaGlzIG1ha2VzIHBhcnNpbmcgbXVjaCBlYXNpZXIsIGZhc3RlciBhbmQgbW9yZSByZWxpYWJsZS4KCjIwMTAtMTEtMjcgMTY6MDc6MTkgLTA2MDAgIEFsZWphbmRybyBHb256YWxleiA8YWdvbnphbGV6QGRleHRyYXRlY2guY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnc3RfcXRtdXhfY2hlY2tfZGlmZmVyZW5jZSB2ZXJpZnkgYmVmb3JlIHN1YnRyYWN0CgkgIEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IGJ5IGNoZWNraW5nIHRoZSBvcmRlciBvZiBvcGVyYW5kcwoJICBvbiBzdWJ0cmFjdGlvbiBvZiB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg3OAoKMjAxMC0xMS0yNyAxODo1ODowNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBzb21lIG1lbWxlYWtzCgoyMDEwLTExLTE1IDExOjM3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IG1pbm9yIG1lbWxlYWsgZml4CgoyMDEwLTExLTI1IDE5OjMxOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTozMTowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjU6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHVzZWxlc3MgdmFyaWFibGUKCjIwMTAtMTEtMjUgMTk6MjQ6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBzdGVyZW86IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIxOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHA6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlcwoKMjAxMC0xMS0yNSAxOToyMToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjE6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkgIHJlYWw6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIwOjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIGZyZWV6ZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjAxOjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo1Njo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjUyOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0OToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIHNkbGF1ZGlvc2luazogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDc6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvZWRpbmdlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDM6MzAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODo0MzoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJICBjb2dkb3duc2FtcGxlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjQyOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSAgb3BlbmN2OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoJICAuLi4gYW5kIGZpeCBpbmRlbnRhdGlvbgoKMjAxMC0xMS0yNSAxODozMzozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjMwOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJICBjb2dmcmFtZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6Mjk6MzEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEluaXRpYWxpemUgdmFyaWFibGUKCSAgSW4gdGhlIGNhc2UgdGhlIHRhZ19zZXR0ZXIgcmV0dXJucyBzb21ldGhpbmcsIGVtcHR5X3RhZ3Mgd291bGQgYmUKCSAgZ2FyYmFnZSB2YWx1ZS4KCjIwMTAtMTEtMjUgMTg6Mjk6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6MjY6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE3OjE0OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggcG9zc2libGUgZGl2aXNpb24tYnktemVybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Nzg2CgoyMDEwLTEwLTIzIDAxOjU2OjA0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCBwYXNzIHRoZSBTaG1QaXBlIHRvIHRoZSBmdW5jdGlvbiBjbG9zaW5nIHRoZSBzaG0gYXJlYQoKMjAxMC0xMC0yMyAwMToyMjo0MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlIHRoZSByaWdodCBjb3VudGVyIHdoZW4gZnJlZWluZyBidWZmZXJzCgoyMDEwLTEwLTIzIDAxOjEyOjQ5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkgIHNobWFsbG9jOiBNYW51YWxseSBkZWNpZGUgdG8gdXNlIEdMaWIgb3Igbm90IGluIHRoZSBzaG1hbGxvYwoJICBTbyBtYWtlIGl0IGVhc2llciBmb3IgZW1iZWRkZXJzIHRvIHVzZSBpdCB3aXRoIG9yIHdpdGhvdXQgR2xpYgoKMjAxMC0xMC0yMCAyMjo0OTo1OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogUmVtb3ZlIGR1cGxpY2F0ZWQgYXJndWVtZW50CgoyMDEwLTEwLTIwIDIyOjM5OjIxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBGaXggc29ja2V0IGxlYWsgb24gY29ubmVjdCgpIGVycm9yCgoyMDEwLTEwLTIwIDIyOjI4OjEzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogc3BfY2xpZW50X3JlY3YgcmV0dXJucyBuZWdhdGl2ZSBvbiBlcnJvciwgc28gbWFrZSB0aGUgcmV0dmFsIHNpZ25lZAoKMjAxMC0xMC0yMCAyMjoxNzozMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogUmVuYW1lIGNvbmZ1c2luZ2x5IG5hbWVkIHZhcmlhYmxlCgoyMDEwLTEwLTIwIDIyOjE0OjA5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBDaGFuZ2UgcGVybWlzc2lvbnMgb24gb2xkIHNobSBhcmVhcyB0b28KCSAgQ2hhbmdlIHRoZSBwZXJtaXNzaW9ucyBvbiBvbGQgc2htIGFyZWFzCgoyMDEwLTEwLTIwIDIyOjAxOjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgdGhlIG1hY3JvIGZvciB0aGUgbGFzdCBlcnJvciB0b28KCjIwMTAtMTAtMjAgMjE6NTI6MzEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSAiYWJsb2NrIiBmb3IgYWxsIFNobUFsbG9jQmxvY2sgdmFyaWFibGVzCgkgIFVzZSB0aGUgYWJsb2NrIHZhcmlhYmxlIG5hbWUgZm9yIFNobUFsbG9jQmxvY2tzIGFuZCBibG9jayBmb3IKCSAgU2htQmxvY2sKCjIwMTAtMTAtMjAgMjE6NTI6MjQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBtb3JlIGNvbW1lbnRzCgoyMDEwLTEwLTIwIDIxOjQxOjE1ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogc3R5bGlzdCBpbXByb3ZlbWVudHMKCjIwMTAtMTAtMjAgMjE6MzM6MjQgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkgIHNobTogRXhwbGFpbiBzb21lIGZpZWxkcwoJICBFeHBsYWluIHdoYXQgc29tZSBvZiB0aGUgZmllbGRzIGluIHRoZSBhbGxvY2F0b3IgYWN0dWFsbHkgbWVhbgoKMjAxMC0xMS0yMiAxNToyNjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBGaXggYnVmZmVyIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24KCSAgVGhlIGZpZWxkIHJhdGUgaXMgdHdpY2UgdGhlIGZyYW1lIHJhdGUgb2YgdGhlIHNyYyBwYWQgYW5kIHNvIHRoZSBkdXJhdGlvbiBvZgoJICBvbmUgb3V0cHV0IGJ1ZmZlciBpcyBzcmNfZnBzX2QgLyAoMiAqIHNyY19mcHNfbikuCgoyMDEwLTExLTIyIDEwOjI5OjU2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IFJlbmFtZSBwYXR0ZXJuIHByb3BlcnR5IHRvIGZpZWxkLXBhdHRlcm4KCSAgVGhpcyBpcyBtb3N0bHkgZm9yIGNsYXJpdHkgb2Ygd2hhdCB0aGUgcHJvcGVydHkgbWVhbnMgYW5kLCBJIGJlbGlldmUsIG1ha2VzIHRoZQoJICBwYXR0ZXJuLW9mZnNldCBwcm9wZXJ0eSBtb3JlIGNvbXByZWhlbnNpYmxlLgoKMjAxMC0xMS0yMiAxMDoyNzoyMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgcGF0dGVybiBvZmZzZXQgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBhbGxvd3Mgb25lIHRvIHN0YXJ0IGF0IGFueSBwb2ludCB3aXRoaW4gdGhlIGZpZWxkIHBhdHRlcm4gYWZ0ZXIKCSAgYSBkaXNjb250aW51aXR5ICh3aGVuZXZlciBnc3RfaW50ZXJsYWNlX3Jlc2V0ICgpIGlzIGNhbGxlZCkuIFRodXMgd2l0aCB0aGUKCSAgMjozOjM6MiBwYXR0ZXJuLCBmb3IgZXhhbXBsZSwgb25lIGNhbiBzdGFydCBhdCBvZmZzZXQgMiBhbmQgYWNoaWV2ZSAzOjI6MjozCgkgIG9yIG9mZnNldCAxIGFuZCBhY2hpZXZlIDM6MzoyOjIuCgoyMDEwLTExLTE5IDE3OjAxOjQxIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBDcmVhdGUgaW1hZ2ViaW4gZWxlbWVudHMgd2hlbiBpbWFnZSBtb2RlIGlzIHNldCBpbiBjYW1lcmFiaW4gTlVMTCBzdGF0ZQoJICBUaGlzIHBhdGNoIHJlZmFjdG9ycyBpbWFnZWJpbiBlbGVtZW50IGNyZWF0aW9uIGFuZCBsaW5raW5nIGludG8gc2VwYXJhdGUgZnVuY3Rpb25zLAoJICBhbmQgYWRkcyByZS11c2luZyBhbHNvIGZvciBpbWFnZWJpbiBpbnRlcm5hbGx5IGNyZWF0ZWQgZWxlbWVudHMuCgkgIFNvIHRoaXMgcmVmYWN0b3JpbmcgYWxsb3dzIGNyZWF0aW5nIGltYWdlYmluIGVsZW1lbnRzIGFscmVhZHkgaW4gTlVMTCBzdGF0ZSB3aGVuCgkgIGFwcGxpY2F0aW9uIHNldHMgdGhlIGltYWdlIG1vZGUsIGFuZCBuZXh0IHN0YXRlIGNoYW5nZSBmcm9tIE5VTEwgdG8gUkVBRFkgd2lsbCBiZSBmYXN0ZXIuCgkgIFRoaXMgcmVkdWNlcyBmaXJzdCBjYXB0dXJlIGxhdGVuY3kuCgkgIEVhcmxpZXIgdGhlIGVsZW1lbnRzIHdlcmUgYm90aCBjcmVhdGVkIGFuZCBsaW5rZWQgaW4gTlVMTCB0byBSRUFEWSBzdGF0ZSBjaGFuZ2UuCgoyMDEwLTExLTIyIDEyOjIzOjMwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IENyZWF0ZSBhIHN1Yi1idWZmZXIgd2l0aCB0aGUgc2VjdGlvbiBsZW5ndGgKCjIwMTAtMTEtMTkgMTU6MjM6NDEgLTA1MDAgIEpvc2ggRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkgIG9wZW5jdjogZml4IGNhcHMgaXNzdWVzIGFuZCBleHRlbmQgc3VwcG9ydGVkIGNhcHMgZm9yIHNvbWUgZWxlbWVudHMKCSAgU29tZSBlbGVtZW50cyBoYWQgdmFndWUgY2Fwcywgc3VjaCBhcyAidmlkZW8veC1yYXctcmdiIiwgd2hpY2ggY2F1c2VkIHByb2JsZW1zCgkgIGF0IGxlYXN0IHdpdGggdGV4dHdyaXRlLiBGb3Igb3RoZXIgZWxlbWVudHMsIHRoZSB1bmRlcmx5aW5nIE9wZW5DViBmdW5jdGlvbnMKCSAgc3VwcG9ydCBtb3JlIHRoYW4ganVzdCBvbmUgaW1hZ2UgdHlwZSwgc28gSSBpbmNyZWFzZWQgdGhlIG51bWJlciBvZiBzdXBwb3J0ZWQKCSAgY2Fwcy4KCSAgSSBjcmVhdGVkIGEgdXRpbGl0eSBmdW5jdGlvbiAiZ3N0X29wZW5jdl9jYXBzX2Zyb21fY3ZfaW1hZ2VfdHlwZSIsIHNvIGVhY2gKCSAgZWxlbWVudCBjcmVhdGVzIGNhcHMgZGlyZWN0bHkgZnJvbSBPcGVuQ1YgaW1hZ2UgdHlwZXMsIHN1Y2ggYXMgQ1ZfOFVDMSBmb3IKCSAgOC1iaXQgZ3JheXNjYWxlLiBUaGlzIGZ1bmN0aW9uIHVzZXMgZ3N0dmlkZW8gdG8gY3JlYXRlIHVuaWZvcm0gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTMwNAoKMjAxMC0xMS0yMiAxNzo0MzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBTbWFsbCBvcHRpbWl6YXRpb24gb24gdGFncyBwYXJzaW5nCgkgIE9wdGltaXplIGEgbGl0dGxlIGF2b2lkaW5nIGNvcHlpbmcgYSB0YWdsaXN0IHdoZW4gcGFyc2luZyB4bXAvZXhpZgoJICBkYXRhLgoKMjAxMC0wOS0xNyAwOTo1MjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IEF2b2lkIGxvc2luZyB0aGUgbGFzdF9idWZmZXIgd2hlbiBzd2l0Y2hpbmcKCSAgVGhpcyBwYXRjaCBtYWtlcyBvdXRwdXRzZWxlY3RvciB0YWtlIGFuIGV4dHJhIHJlZiB3aGVuIHB1c2hpbmcKCSAgdGhlIGxhc3RfYnVmZmVyIHRvIGF2b2lkIGl0IGxvc2luZyBpdCBkdXJpbmcgdGhlIHN3aXRjaCBmdW5jdGlvbi4KCSAgVGhpcyBtYWtlcyByZXNlbmQtbGF0ZXN0IHByb3Blcmx5IHdvcmsgaWYgdGhlIGFjdGl2ZS1wYWQgaXMgY2hhbmdlZAoJICBkdXJpbmcgdGhlIHN3aXRjaCBmdW5jdGlvbiBidWZmZXIgcHVzaGluZyAob24gYSBwYWQgcHJvYmUsIGZvciBleGFtcGxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTkxNwoKMjAxMC0wOS0xNyAwOTo0NDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IFJlY2hlY2sgcGVuZGluZyBzd2l0Y2ggYWZ0ZXIgcHVzaGluZyBidWZmZXIKCSAgVGhpcyBwYXRjaCBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgYWx3YXlzIHJlY2hlY2sgaWYgdGhlcmUncyBhCgkgIHBlbmRpbmcgcGFkIHN3aXRjaCBhZnRlciBwdXNoaW5nIGEgYnVmZmVyLCBwcmV2ZW50aW5nIHRoYXQKCSAgaXQgcHVzaGVzIGEgYnVmZmVyIG9uIHRoZSAnd3JvbmcnIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTkxNwoKMjAxMC0xMS0yMiAxNToxMDoyNiArMDIwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0JTQwbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmdvdmVybGF5OiBzY2FsYWJsZSBhbmQgcmVsYXRpdmUgc3ZnIG92ZXJsYXkgd2l0aCBjYWlybwoJICBBZGQgYSBjYWlybytsaWJyc3ZnIGJhc2VkIG92ZXJsYXkgZWxlbWVudCB0byB0aGUgcnN2ZyBwbHVnaW4uCgoyMDEwLTExLTIyIDE3OjA2OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWFrZTogcmVtb3ZlIHRyYWNlcyBvciBtb3ZlZC9yZW1vdmVkIHBsdWdpbnMKCjIwMTAtMTEtMjIgMTc6MDU6MjMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBtYWtlOiBhZGQgbWlzc2luZiB0cmFpbGluZyBcIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTAtMTEtMjEgMjM6MTE6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiByZW1vdmUgaW5jb3JyZWN0IGNoZWNrCgoyMDEwLTExLTE5IDE3OjU1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHJlbW5hbnQgb2Ygb2Jzb2xldGUgcHJvcGVydHkKCjIwMTAtMTEtMTkgMTU6MTg6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhbHNvIHVuaXQgdGVzdCBmcmFnbWVudGVkIGZpbGUgY2FzZXMKCjIwMTAtMDctMzAgMTI6NDg6MjkgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWxsb3cgc3BlY2lmeWluZyB0cmFrIHRpbWVzY2FsZQoJICBUaGlzIGlzIG1haW5seSBiZWNhdXNlIFNtb290aHN0cmVhbWluZyBjbGllbnQgYXJlIGJyb2tlbiBhbmQgZG9uJ3QKCSAgdGFrZSB0aGUgVGltZVNjYWxlIHByb3BlcnR5IGludG8gYWNjb3VudC4KCjIwMTAtMTEtMTkgMTc6NDE6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgc2R0cCBhdG9tcyBmb3IgaXNtdiBmcmFnbWVudGVkIGZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xOSAxOToxNzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuYWJsZSBkZWZhdWx0IGZyYWdtZW50ZWQgZmlsZSBmb3IgaXNtbG11eAoKMjAxMC0wOS0wMiAxMzo1ODowNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgaXNtbG11eCwgZm9yIGZyYWdtZW50ZWQgaXNtbCBtYWpvciBicmFuZAoKMjAxMC0xMS0xOSAxNDo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpbmFsaXplIHNpbmtwYWRzIGxpc3QKCjIwMTAtMDctMjIgMTk6NDA6MDcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbW9vdiBpbiBzdHJlYW1oZWFkZXIKCjIwMTAtMDgtMDYgMTM6MjY6MjcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIHN0cmVhbWFibGUgcHJvcGVydHkgdG8gYXZvaWQgYnVpbGRpbmcgZnJhZ21lbnRlZCBtZnJhIGluZGV4CgoyMDEwLTExLTE4IDE2OjQ4OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIG1mcmEgdG8gZnJhZ21lbnRlZCBmaWxlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xNSAxNToxNzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9wdGlvbmFsbHkgY3JlYXRlIGZyYWdtZW50ZWQgZmlsZQoJICBJbiB0aGlzIG1vZGUsIGFuIGluaXRpYWwgZW1wdHkgbW9vdiAoY29udGFpbmluZyBvbmx5IHN0cmVhbSBtZXRhZGF0YSkgaXMgd3JpdHRlbiwKCSAgZm9sbG93ZWQgYnkgZnJhZ21lbnRzIGNvbnRhaW5pbmcgYWN0dWFsIGRhdGEgKGFsb25nIHdpdGggcmVxdWlyZWQgbWV0YWRhdGEpLgoJICBOZXcgZnJhZ21lbnRzIGFyZSBzdGFydGVkIGVpdGhlciBhdCBrZXlmcmFtZSAoaWYgc3VjaCBhcmUgc3BhcnNlKSBvciB3aGVuCgkgIHByb3BlcnR5IGNvbmZpZ3VyZWQgZHVyYXRpb24gZXhjZWVkZWQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBGaXhlcyAjNjMyOTExLgoKMjAxMC0xMS0xNSAxNToxMjo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHVzZSBoZWxwZXIgdG8gc2V0IGF0b20gZmxhZ3MgZnJvbSBnaXZlbiB1aW50CgoyMDEwLTExLTA5IDE2OjQ5OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgY29uZmlndXJpbmcgYW5kIHNlbmRpbmcgb2YgbW9vdgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMDkgMTU6NTQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBleHRyYSB0b3AtbGV2ZWwgYXRvbSBoYW5kbGluZwoJICBBbHNvIGNoZWNrIGEgYml0IG1vcmUgZm9yIHBvc3NpYmxlIGVycm9ycywgYW5kIGZyZWUgcHJvcGVyIGl0ZW1zIGluIHN1Y2ggY2FzZS4KCjIwMTAtMTEtMDkgMTU6MDE6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBzbGlnaHRseSB1c2luZyBidWZmZXIgaGVscGVyCgoyMDEwLTExLTA1IDEzOjQ4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBjb21tZW50CgoyMDEwLTExLTA1IDEyOjA4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZWxlZ2F0ZSBtdmV4IGhhbmRsaW5nIHRvIGF0b21zCgkgIC4uLiB3aGljaCBrZWVwcyBxdG11eCBzaW1wbGVyLgoKMjAwOS0wOS0yOCAxNjoxMTozNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG12ZXgvdHJleCBpbiBoZWFkZXIgaWYgZnJhZ21lbnRlZAoJICBPbmUgInRyZXgiIGlzIGFkZGVkIHBlciAidHJhayIuIFdlIGRvbid0IHN1cHBvcnQgZGVmYXVsdCB2YWx1ZXMsCgkgIGJ1dCB0aGUgInRyZXgiIGJveCBpcyBtYW5kYXRvcnkuCgoyMDA5LTA5LTI4IDEzOjAxOjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBhIGNvdXBsZSBvZiBmb3VyY2MgZm9yIGZyYWdtZW50ZWQgbXA0CgoyMDEwLTExLTA1IDExOjA4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgcmVtb3ZpbmcgdGVtcCBmaWxlIHdoZW4gZXJyb3Igb2NjdXJyZWQKCjIwMDktMDktMzAgMTc6MTY6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB0cnVuY2F0ZSBidWZmZXIgZmlsZSBhZnRlciBlYWNoIHNlbmQKCjIwMDktMDktMjggMTY6NTM6NTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgdGVtcCBmaWxlIHdoZW4gcmVzZXQvZmluYWxpemUKCjIwMTAtMDgtMTggMDI6MDA6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IFB1c2ggdGFncyBhZnRlciBzZXR0aW5nIHNyY3BhZCBjYXBzCgkgIFRoaXMgcGF0Y2ggZGVmZXJzIGVtaXNzaW9uIG9mIHRhZyBldmVudHMgdGlsbCBjYXBzIGFyZSBzZXQgb24gdGhlIHNvdXJjZQoJICBwYWQgb2YganBlZ3BhcnNlLCBzbyB0aGF0IHRoZXNlIHRhZ3MgY2FuIGJlIHNlZW4gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzIxMQoKMjAxMC0xMS0xOSAxODo1MTozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0xMS0xOSAxODoyNjo1OSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggdGhpbmtvCgoyMDEwLTExLTE5IDE3OjI1OjAxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBoYW5kbGluZyBvZiBUT1QgYW5kIFREVCBzZWN0aW9ucy4gRml4ZXMgIzYzNTI4MS4KCSAgVERUIGFuZCBUT1Qgc2VjdGlvbnMsIHdpdGggUElEPTB4MTQsIGRvZXNuJ3QgZXh0ZW5kIHRvIHNldmVyYWwgcGFja2V0cwoJICBhbmQgdGhlIHNlY3Rpb24gZmlsdGVyIGlzIG5vdCBuZWVkZWQgaGVyZSBhbmQgc2hvdWxkbid0IGJlIHVzZWQgYXQgYWxsCgkgIGZvciB0aGVzZSB0YWJsZXMgYmVjYXVzZSB0aGUgaGF2ZSBhIGRpZmZlcmVudCBzdHJ1Y3R1cmUuCgkgIEZvciBleGFtcGxlLCBURFQgdGFibGVzIHdlcmUgbm90IHBhcnNlZCBmb3Igb2RkIGhvdXJzIGJlY2F1c2UgdGhpcyBiaXQKCSAgaXMgdGhlICdjdXJyZW50X25leHRfaW5kaWNhdG9yJyBiaXQgZm9yIHRoZSBvdGhlciBzZWN0aW9ucywgYW5kIHRoZSB0YWJsZQoJICB3YXMgZGlzY2FyZGVkLgoKMjAxMC0xMS0xOSAxNzoyMjowNiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZG9uJ3QgY2FsY3VsYXRlIHRoZSBDUkMgZm9yIFRPVCB0YWJsZXMuIEZpeGVzICM2MzUyODEuCgkgIFRPVCB0YWJsZXMsIHdpdGggdGFibGVfaWQ9MHg3MywgZG9uJ3QgaGF2ZSBhIENSQywgc28gZG9uJ3QgY2FsY3V0ZSBpdAoKMjAxMC0xMS0xOCAxODo0MjozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IEFkZCBURFQgdG8gdGhlIGluaXRpYWwgcGlkcyBmaWx0ZXIgZm9yIGR2YnNyYy4gRml4ZXMgIzYzNTIwMC4KCjIwMTAtMTEtMTYgMTc6MzU6MzYgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWRkIGdzdF9qcGVnX3BhcnNlX3NraXBfbWFya2VyICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMDgtMTMgMTM6MTQ6MzAgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogdXNlIGJ5dGUgcmVhZGVyIGFjY2Vzc29ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE3IDEwOjQ5OjMwICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGlubGluZSBnc3RfanBlZ19wYXJzZV9zb2YgKCkKCSAgTm8gZnVuY3Rpb25hbCBjaGFuZ2VzIChob3BlZnVsbHkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE3OjIzOjM1ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTggMTA6NTg6MDYgLTAzMDAgIEFsZWtzZXkgTGltIDxhbHNyb290QG1lbWJlci5mc2Yub3JnPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCB1c2UgYXVkaW8gY2xvY2sgYWZ0ZXIgc3RvcHBpbmcgdmlkZW8gY2FwdHVyZQoJICBBZGRhIHByb3ZpZGUgY2xvY2sgZnVuY3Rpb24gdG8gY2FtZXJhYmluIHRvIG1ha2UgaXQgbm90CgkgIHByb3ZpZGUgdGhlIGF1ZGlvIGNsb2NrIG9mIHRoZSByZWNvcmQgYmluIHdoZW4gbm8gdmlkZW8KCSAgcmVjb3JkaW5nIGlzIGhhcHBlbmluZwoJICBGaXhlcyAjNjEzMzc5CgoyMDEwLTExLTE3IDE2OjIzOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGNvcnJlY3Qgb2Zmc2V0IHdoZW4gYWRkaW5nIGluZGV4IGVudHJ5CgkgIC4uLiBiZWFyaW5nIGluIG1pbmQgdGhhdCBCVUZGRVJfT0ZGU0VUIGlzIG1lZGlhIHNwZWNpZmljIGFuZCBtYXkgbm90CgkgIHJlZmxlY3QgdGhlIGJhc2ljIG9mZnNldCBhZnRlciBoYXZpbmcgYmVlbiBwYXJzZWQuCgoyMDEwLTExLTE3IDE0OjMwOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5oYW5jZW1lbnRzIGZvciB0aW1lc3RhbXAgbWFya2VkIGZyYW1lZCBmb3JtYXRzCgkgIFRoYXQgaXMsIGFzIHN1Y2ggZm9ybWF0cyBhbGxvdyBzdWJjbGFzcyB0byBleHRyYWN0IHBvc2l0aW9uIGZyb20gZnJhbWUsCgkgIGl0IGlzIHBvc3NpYmxlIHRvIGV4dHJhY3QgZHVyYXRpb24gKGlmIG5vdCBvdGhlcndpc2UgcHJvdmlkZWQpCgkgIGZyb20gKG5lYXIpIGxhc3QgZnJhbWUsIGFuZCBhIHNlZWsgY2FuIGZhaXJseSBhY2N1cmF0ZWx5IHRhcmdldCB0aGUgcmVxdWlyZWQKCSAgcG9zaXRpb24uCgkgIEZpeGVzICM2MzEzODkuCgoyMDEwLTExLTE2IDE3OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgZnJhbWUgc2Nhbm5pbmcgcGVmb3JtZWQgYnkgX2xvb3AKCjIwMTAtMTEtMTYgMTg6MDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzbGlnaHRseSBvcHRpbWl6ZSBzZW5kaW5nIG9mIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudHMKCjIwMTAtMTEtMTYgMTc6MDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzCgkgIEFycmFuZ2UgZm9yIHVwc3RyZWFtIGFzIHdlbGwgYXMgZG93bnN0cmVhbSBmbHVzaGluZyB3aGVuIHNlZWtpbmcuCgkgIEFsc28gZGV0ZXJtaW5lIHVwc3RyZWFtIHNpemUgYXMgd2VsbCBhcyBzZWVrYWJpbGl0eS4gIEFkanVzdCBzb21lIGNvbW1lbnRzCgkgIHRvIHJlYWxpdHkgYW5kIGVtcGxveSBkZWJ1ZyBzdGF0ZW1lbnQgaW4gcHJvcGVyIG9yZGVyLgoKMjAxMC0xMS0xNyAxNTozMzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtaW5vciBjbGVhbnVwcwoKMjAxMC0xMS0xNyAxNToyNDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBBRElGIHNyYyBjYXBzIHNldHRpbmcKCjIwMTAtMTEtMTYgMTI6MTE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBwYXJzZSBzZWVrdGFibGUKCSAgRml4ZXMgIzYzMTM4OSAocGFydGlhbGx5KS4KCjIwMTAtMTEtMTYgMTI6MDg6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciByZWZhY3RvciBhbmQgZW5hYmxlIGRlZmF1bHQgYmFzZXBhcnNlIHNlZ21lbnQgY2xpcHBpbmcKCjIwMTAtMTEtMTIgMDA6NDA6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogZml4IG5hc3R5IGRlYWRsb2NrCgkgIFdlIGNhbm5vdCBjYWxsIGFueSBDTUJ1ZmZlclF1ZXVlIGZ1bmN0aW9ucyB3aGlsZSBob2xkaW5nIHRoZSBsb2NrIHRoYXQKCSAgb3VyIGNhbGxiYWNrIGFsc28gZGVwZW5kcyBvbi4gU28gbm93IHdlIG1ha2UgdXNlIG9mIENNQnVmZmVyUXVldWUncwoJICB0cmlnZ2VyIEFQSSBpbiBvcmRlciB0byBnZXQgbm90aWZpZWQgd2hlbiB0aGUgcXVldWUgaGFzIGRhdGEuCgoyMDEwLTExLTExIDIzOjQxOjQ0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgY21hcGk6IGNvdmVyIENNQnVmZmVyUXVldWUncyB0cmlnZ2VyIEFQSQoKMjAxMC0xMS0xMSAyMTo0MjowMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiB1bmxvY2sgc2hvdWxkIGFsc28gbm90aWZ5CgkgIE90aGVyd2lzZSB3ZSBkZXBlbmQgb24gYmVpbmcgd29rZW4gdXAgYnkgdGhlIENvcmVNZWRpYSBxdWV1ZSBnZXR0aW5nCgkgIGl0cyBuZXh0IGJ1ZmZlci4KCjIwMTAtMTEtMTAgMjM6MTY6NTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICBhcHBsZW1lZGlhOiBkb24ndCBwdXNoIHN5bmNocm9ub3VzbHkgZnJvbSBjYWxsYmFjawoJICBUaGUgY29kZWMgdGhhdCBjYWxsZWQgdXMgbWlnaHQgYmUgaG9sZGluZyBsb2NrcyB0byBzaGFyZWQgcmVzb3VyY2VzLCBzbwoJICB3ZSBzaG91bGQgbmV2ZXIgcHVzaCBkb3duc3RyZWFtIGZyb20gd2l0aGluIGl0cyBidWZmZXIgY2FsbGJhY2suCgkgIE5vdGUgdGhhdCBhIEdzdEJ1ZmZlckxpc3QgaXMgbm90IHVzZWQgaGVyZSBiZWNhdXNlIHdlIG5lZWQgdG8gcHJlc2VydmUKCSAgdGhlIGJ1ZmZlciBtZXRhZGF0YSBoZWxkIGJ5IG91ciBHc3RCdWZmZXIgc3ViY2xhc3Nlcy4KCjIwMTAtMTEtMTAgMjA6NTI6NDcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYnVtcCBILjI2NCBsZXZlbCBmcm9tIDEuMyB0byAzLjAKCSAgVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYSBwcm9wZXJ0eS4KCjIwMTAtMTEtMTAgMjA6NDQ6MTUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogYWRkIGJhc2ljIGRldmljZSBzZWxlY3Rpb24gc3VwcG9ydAoKMjAxMC0xMS0xMCAyMDo1MToyNyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGN2YXBpOiBhZGQgd3JhcHBlciBmb3IgSU8gc3VyZmFjZSBhY2Nlc3MKCSAgVG8gYmUgdXNlZCBpbiBhIGZ1dHVyZSB2aWRlbyBzaW5rIGZvciB6ZXJvLWNvcHkgcmVuZGVyaW5nLgoKMjAxMC0xMS0xMCAyMDoyNToyOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSAgY2VsYXBpOiBhZGQgY2FwdHVyZSBwb3J0IHR5cGUgY29uc3RhbnRzCgoyMDEwLTExLTA5IDIyOjQzOjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIHVudXNlZCBzcmNfc3RyaWRlIHZhcmlhYmxlIGZyb20gYmxpdCBmdW5jdGlvbnMKCjIwMTAtMTEtMDkgMTg6MTA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwaG90b2dyYXBoeS5kZWY6CgkgIHdpbjMyOiBBZGRpbmcgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIC5kZWYgZmlsZQoJICBBZGRzIGNoZWNrLWV4cG9ydHMgdG8gLWJhZCB0byBoYXZlIHBob3RvZ3JhcGh5IGludGVyZmFjZQoJICAuZGVmIGZpbGUgY3JlYXRlZAoJICBGaXhlcyAjNTc4NjI5CgoyMDEwLTExLTA5IDE5OjM4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCBzaWxseSBsZWFrIGluIF9yZXNldAoKMjAxMC0xMS0wOCAyMzo1NDozMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSAgYXBwbGVtZWRpYTogYmlwbGFuYXIgaXMgYWN0dWFsbHkgTlYxMiwgbm90IEk0MjAKCSAgRCdvaCEKCjIwMTAtMTEtMDggMjE6MjI6MTMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogcmVtb3ZlIGtleWZyYW1lIGVuZm9yY2VtZW50IHdvcmthcm91bmQKCSAgV2FzIG9ubHkgbmVlZGVkIGZvciBvbGQgaU9TIHdoZXJlIHRoZSBILjI2NCBlbmNvZGVyIGRpZG4ndCBzdXBwb3J0CgkgIGtWVEVuY29kZUZyYW1lT3B0aW9uS2V5X0ZvcmNlS2V5RnJhbWUuCgoyMDEwLTExLTA4IDE4OjU2OjUyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgY3ZhcGk6IGFkZCBhIGZldyBleHRyYSBiaXRzIG9mIHdyYXBwaW5nCgoyMDEwLTExLTA4IDE1OjA4OjE5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBhcHBsZW1lZGlhOiBsb2NrIENWUGl4ZWxCdWZmZXIgcmVhZC1vbmx5CgkgIEFzIHBlciBBcHBsZSdzIGRvY3MsIHRoaXMgbWF5IGltcHJvdmUgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgcmVkdW5kYW50CgkgIGludmFsaWRhdGlvbnMgb2YgZXhpc3RpbmcgY2FjaGVzIG9mIHRoZSBidWZmZXIgY29udGVudHMuCgoyMDEwLTExLTA4IDEwOjMzOjU4IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IFJlbW92ZSBnc3RyaW5nIGxlYWsKCSAgU2ltcGxpZnkgZ3N0LWNhbWVyYWJpbi10ZXN0IGJ5IHJlbW92aW5nIEdTdHJpbmcgYW5kIHJlcGxhY2luZwoJICB3aXRoIGdjaGFyIGZvciB0aGUgZmlsZW5hbWUgaGFuZGxpbmcuIEFsc28gcmVtb3ZlcyBhIGxlYWsgb2YKCSAgdGhlIEdTdHJpbmcgZGF0YS4KCjIwMTAtMTEtMDggMTY6MDA6MjEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYXZvaWQgcmVmZmluZyB0aGUgZWxlbWVudCBpbiBjaGFpbgoKMjAxMC0xMS0wOCAxNTo0NTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhZGQgc29tZSBtaW5pbWFsIGxvZ2dpbmcgdG8gdHJhY2sgd2hhdCBpdCBpcyBkb2luZwoKMjAxMC0xMS0wOCAxMzo1Mjo0OSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiBwdXQgcGxhbmFyIGZpcnN0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTAtMTEtMDggMTM6NDk6MDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkgIGFwcGxlbWVkaWE6IGltcHJvdmUgdnRlbmMvdnRkZWMgcGVyZm9ybWFuY2UKCSAgUHJvZmlsaW5nIG9mIEguMjY0IGVuY29kZSBhbmQgZGVjb2RlIHJldmVhbGVkIHRoYXQgY29udmVyc2lvbnMKCSAgYmV0d2VlbiBwYWNrZWQgYW5kIHBsYW5hciB3ZXJlIGhhcHBlbmluZyBiZWhpbmQgdGhlIHNjZW5lcy4KCSAgSGVuY2Ugd2Ugbm93IGNob29zZSBJNDIwIGluc3RlYWQgb2YgWVVZMi4KCjIwMTAtMTAtMjIgMTg6MDc6MDAgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGFkZCBhc3luYyBidXMgaGFuZGxlciB0byBnc3QtY2FtZXJhYmluLXRlc3QKCSAgU3BsaXRzIHRoZSBidXMgaGFuZGxlciBpbnRvIHN5bmMgYW5kIGFzeW5jLCBrZWVwaW5nIHRoZQoJICBwcmVwYXJlLXh3aW5kb3cgaGFuZGxpbmcgYXQgdGhlIHN5bmMgZm9yIGZhc3RlciBoYW5kbGluZyBhbmQKCSAgbW92aW5nIHRoZSBvdGhlcnMgdG8gdGhlIGFzeW5jIGhhbmRsZXIKCjIwMTAtMTEtMDYgMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHdlIHN0aWxsIHJlcXVpcmUgR3RrKyA+PSAyLjE0LjAgd2hlbiBjb21waWxpbmcgYWdhaW5zdCAyLjAKCSAgVGhlIGNoZWNrIGZvciB0aGUgbWlub3IgdmVyc2lvbiB3YXMgZHJvcHBlZCBpbiBvbmUgb2YgdGhlIHByZXZpb3VzCgkgIGNvbW1pdHMuCgoyMDEwLTExLTA1IDE2OjUxOjU3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IG1lYXN1cmUgZnBzIHdoZW4gc3RhdGlzdGljcyBpcyBlbmFibGVkCgkgIEFsc28gcmVmYWN0b3IgdGltZXN0YW1waW5nIHNsaWdodGx5LgoKMjAxMC0xMS0wNSAxNToxNDowOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiB1cGRhdGUgdG8gbmV3IENlbGVzdGlhbCBhbmQgTWVkaWFUb29sYm94IEFQSXMKCSAgVGhpcyBtZWFucyBjZWx2aWRlb3NyYyBpcyBubyBsb25nZXIgY29tcGF0aWJsZSB3aXRoIGlPUyAzLnguCgoyMDEwLTExLTA1IDE1OjA4OjU2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IGZpeCBkZWJ1ZyBjYXRlZ29yeSBkZXNjcmlwdGlvbgoKMjAxMC0xMS0wNSAxNTowODowMiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSAgY2VsYXBpOiB1cGRhdGUgdG8gcmVmbGVjdCBuZXcgQVBJIG9uIGlPUyA0LngKCSAgQWxzbyBhZGQgcmVtYWluaW5nIHByb3BlcnR5IGNvbnN0YW50cyBmb3IgZGV2aWNlIGFuZCBzdHJlYW0uCgoyMDEwLTExLTA1IDE1OjA3OjM4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSAgbXRhcGk6IHVwZGF0ZSB0byByZWZsZWN0IG5ldyBBUEkgb24gaU9TIDQueAoJICBBbHNvIGFkZCByZW1haW5pbmcgcHJvcGVydHkgY29uc3RhbnRzIGZvciBkZXZpY2UgYW5kIHN0cmVhbS4KCjIwMTAtMTEtMDUgMTA6NTY6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2xvcnNwYWNlOiBVcGRhdGUgZ2VuZXJhdGVkIE9SQyBzb3VyY2VzCgoyMDEwLTA4LTI2IDE3OjA4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkcyAnaWRsZScgcHJvcGVydHkKCSAgQWRkcyAnaWRsZScsIGEgcmVhZC1vbmx5IGJvb2xlYW4gcHJvcGVydHkgdGhhdCB0ZWxscyBhcHBsaWNhdGlvbnMKCSAgaWYgdGhlcmUgaXMgYW55IGNhcHR1cmluZy9zYXZpbmcvZW5jb2RpbmcgZ29pbmcgb24gaW4gY2FtZXJhYmluLiBJZgoJICBub3QsIGl0IGlzIHNhZmUgdG8gc2V0IGl0IHRvIE5VTEwgYW5kIHJlbGVhc2UgcmVzb3VyY2VzIHdpdGhvdXQKCSAgbG9zaW5nIGRhdGEuCgoyMDEwLTA1LTA1IDEzOjU4OjA3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCAicmVhZHktZm9yLWNhcHR1cmUiIHByb3BlcnR5CgkgIEFkZCAicmVhZHktZm9yLWNhcHR1cmUiIHByb3BlcnR5IHRvIGluZGljYXRlIGlmIHByZXBhcmluZyBhIG5ldwoJICBjYXB0dXJlIGlzIHBvc3NpYmxlLgoJICAicmVhZHktZm9yLWNhcHR1cmUiIGNoYW5nZXMgYmVmb3JlIHRoZSAnaW1hZ2UtZG9uZScgc2lnbmFsLCBzbwoJICB0aGUgYXBwbGljYXRpb24gY2FuIGJlIG5vdGlmaWVkIHRoYXQgaXQgY2FuIGRvIGEgbmV3IGNhcHR1cmUKCSAgZXZlbiBiZWZvcmUgdGhlIHByZXZpb3VzIG9uZSBoYXMgZmluaXNoZWQgZW5jb2Rpbmcvc2F2aW5nLgoKMjAxMC0xMS0wNSAwMDozMjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZG9uJ3QgZXZlbiBjaGVjayBmb3IgR3RrKyBpZiAtLWRpc2FibGUtZXhhbXBsZXMgaXMgc3BlY2lmaWVkCgkgIFRoZXJlIGFyZSBHdGsrLWJhc2VkIGV4YW1wbGVzIGluIHBsdWdpbiBkaXJzIGFuZCB0ZXN0cy9pY2xlcy8gdG9vLCBhbmQKCSAgd2Ugd2FudCB0byBkaXNhYmxlIHRob3NlIGFzIHdlbGwgdGhlbi4KCjIwMTAtMTEtMDUgMDA6MjQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCAtLXdpdGgtZ3RrIG9wdGlvbiBhbmQgZGVmYXVsdCB0byBHdGsrIDIuMCB3aGlsZSB0aGUgMy4wIEFQSSBpcyBzdGlsbCBpbiBmbHV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQwMTQKCjIwMTAtMTEtMDMgMDA6MDQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2JhcmNvZGUucG5nOgoJICB0ZXN0czogYWRkIHZlcnkgc2ltcGxlIHpiYXIgdW5pdCB0ZXN0CgkgIE5vdCB2YWxncmluZCBjbGVhbiB5ZXQgKGNvdWxkIGJlIHpiYXIncyBmYXVsdCB0aG91Z2gpLgoKMjAxMC0xMS0wNCAxOToyNToyNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogbWFrZSB2aWRlbyBzb3VyY2UgZWxlbWVudCBkZXRhaWxzIGNvbnNpc3RlbnQKCSAgSW5zcGlyZWQgYnkgdGhlIHY0bDJzcmMgZWxlbWVudCBkZXRhaWxzLgoKMjAxMC0xMS0wNCAxOToxMTowNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogY29uc2lzdGVudGx5IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMTEtMDQgMTk6MDI6NTAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogdXBkYXRlIGUtbWFpbCBhZGRyZXNzCgoyMDEwLTExLTA0IDE4OjU5OjQ0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiByZW5hbWUgaXBob25lY2FtZXJhc3JjIHRvIGNlbHZpZGVvc3JjCgkgIFRoaXMgaXMgaW4gb3JkZXIgdG8gaW1wcm92ZSBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciB0aHJlZSBzb3VyY2VzLgoKMjAxMC0xMS0wNCAxNzo1ODozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkb24ndCBleHBsaWNpdGx5IGVtcHR5IHRoZSBidWZmZXIgcXVldWUKCSAgV2UncmUgaG9sZGluZyB0aGUgb25seSByZWZlcmVuY2UgdG8gaXQgc28gdGhlcmUncyBubyBuZWVkIHRvIGV4cGxpY2l0bHkKCSAgZW1wdHkgaXQgcmlnaHQgYmVmb3JlIGxldHRpbmcgZ28gb2Ygb3VyIHJlZmVyZW5jZS4KCjIwMTAtMTEtMDQgMTc6NTA6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbWFrZSBidWZmZXIgb2Zmc2V0IHN0YXJ0IGZyb20gemVybwoKMjAxMC0xMS0wNCAxNzo0NzoyNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogaW1wbGVtZW50IHplcm8tY29weSBieSB1c2luZyBidWZmZXItZmFjdG9yeQoJICBUaGlzIG1lYW5zIHdlJ2xsIHdyYXAgZWFjaCBDb3JlVmlkZW8gYnVmZmVyIGluc2lkZSBhIEdzdEJ1ZmZlciBpbnN0ZWFkIG9mCgkgIG1ha2luZyBhIGNvcHkuCgoyMDEwLTExLTA0IDE3OjQ0OjEyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkgIGJ1ZmZlcmZhY3Rvcnk6IGFkZCBzdXBwb3J0IGZvciB3cmFwcGluZyBDVkJ1ZmZlcgoKMjAxMC0xMS0wNCAxNzoyNDowMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogZml4IHVwIHJlZmNvdW50aW5nCgkgIFNob3VsZCBrZWVwIGEgc3Ryb25nIHJlZmVyZW5jZSB0byB0aGUgZGV2aWNlLCBidXQgd2UgZG9uJ3QgbmVlZCB0byBtYW5hZ2UKCSAgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlbGVtZW50cyBvZiBhbiBOU011dGFibGVBcnJheSBhcyBpdCB0YWtlcyBjYXJlIG9mCgkgIHRoYXQgZm9yIHVzLgoKMjAxMC0xMS0wNCAxNzoxNjowNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogc2ltcGxpZnkgdGltZXN0YW1waW5nIGFsZ29yaXRobQoJICBBbGlnbmluZyB0aW1lc3RhbXBzIG9uIGR1cmF0aW9uIGJvdW5kYXJpZXMsIHNraXBwaW5nIGZyYW1lcyBhbmQgc28gZm9ydGgKCSAgYXJlIGNsZWFybHkgdGhpbmdzIHRoYXQgZmFsbCBvdXRzaWRlIHRoZSBzY29wZSBvZiBhIHZpZGVvIHNvdXJjZS4KCjIwMTAtMTEtMDQgMTQ6MTQ6MDkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgbmV3IGlPUyB2aWRlbyBzb3VyY2UgYmFzZWQgb24gQVZGb3VuZGF0aW9uCgkgIFRoaXMgZWxlbWVudCBtYWtlcyB1c2Ugb2YgdGhlIGRvY3VtZW50ZWQgQVZGb3VuZGF0aW9uIGZyYW1ld29yayBtYWRlCgkgIGF2YWlsYWJsZSBzdGFydGluZyB3aXRoIGlPUyA0LjAsIGFuZCBoZW5jZSB0aGlzIG1lYW5zIHdlIGNhbiBmaW5hbGx5CgkgIGNhcHR1cmUgdmlkZW8gdXNpbmcgYSBwdWJsaWMgQVBJLgoKMjAxMC0xMS0wNCAxNDoyNDozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBmaXggc3RyZWFtLWZvcm1hdCBjYXBzIHVzZWQgZm9yIEguMjY0CgkgIFRoZSBzdHJlYW0tZm9ybWF0J3MgImF2Yy1zYW1wbGUiIG1lbWJlciBpcyBub3cgY2FsbGVkIGp1c3QgImF2YyIuCgoyMDEwLTExLTA0IDE0OjI5OjM3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGUtbWFpbCBhZGRyZXNzZXMKCjIwMTAtMTEtMDQgMTQ6MTg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBJbnZlcnNlIC1iYXNlIHZlcnNpb24gY2hlY2sgbG9naWMgdG8gYWN0dWFsbHkgbWFrZSBzZW5zZQoKMjAxMC0xMS0wMyAxODozNDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgTGludXggQ29va2VkIENhcHR1cmUgKFNMTCkgZnJhbWVzCgoyMDEwLTExLTAzIDE4OjIzOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZhaWwgb24gdW5rbm93biB2ZXJzaW9uIG9yIGxpbmt0eXBlCgkgIFRoZSBlbGVtZW50IG9ubHkga25vd3MgYWJvdXQgbWFqb3IgdmVyc2lvbiAyIGFuZCBvbmx5IGRlY29kZXMgbGlua3R5cGUgZXRoZXJuZXQKCjIwMTAtMTEtMDMgMTg6MDI6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogU2VuZCBlcnJvciBHc3RNZXNzYWdlIGlmIHN0cmVhbSBkb2Vzbid0IGhhdmUgdGhlIGV4cGVjdGVkIG1hZ2ljCgoyMDEwLTExLTAzIDE2OjE2OjI0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBzZW5kIFREVCB0YWJsZXMgbWVzc2FnZXMgaW4gYSBzZXJpYWxpemVkIGV2ZW50IGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzkxNwoKMjAxMC0xMS0wMyAxNTozNzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBJWVUxCgoyMDEwLTExLTAzIDE1OjEyOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEZpcnN0IHZlcnNpb24gb2YgWVVWOSBhbmQgWVZVOSBpbXBsZW1lbnRhdGlvbgoKMjAxMC0xMS0wMyAwOToyMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogVXNlIEdTVF9DSEVDS19QTFVHSU5TX0JBU0VfVkVSU0lPTigpIGluc3RlYWQgb2Ygb3RoZXIgaGFja3MKCjIwMTAtMTAtMTggMTU6MzI6MTQgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbgoJICBVc2UgaW5mb3JtYXRpb24gZnJvbSB0aGUgZ29wIGhlYWRlciBhbmQgcGljdHVyZQoJICBoZWFkZXIgdG8gY2FsY3VsYXRlIHRoZSBwaWN0dXJlIHRpbWVzdGFtcC4gKHRpbWVfY29kZQoJICBhbmQgdGVtcG9yYWxfcmVmZXJlbmNlKSBhbmQgYWRhcHQgdG8gdXBzdHJlYW0gdGltZXN0YW1wcyBpZgoJICBwcm92aWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIyMgoKMjAxMC0xMS0wMiAyMzowODozMCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IHN3aXRjaCB2dGFwaSB0byBDRlR5cGVSZWYgc3R5bGUgdHlwZWRlZnMKCjIwMTAtMTEtMDIgMjI6NTM6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBzdXBwb3J0IHB1YmxpYyB2ZXJzaW9uIG9mIENvcmVNZWRpYQoJICBBbHNvIHJlbmFtZSB0aGUgcmVsZXZhbnQgQVBJIHNvIHdlIG1pcnJvciB0aGUgcHVibGljIEFQSSBtb3JlIGNsb3NlbHksIGFuZAoJICBzd2l0Y2ggdG8gQ29yZUZvdW5kYXRpb24gQ0ZUeXBlUmVmIHN0eWxlIHR5cGVkZWZzLiBXZSBzdGlsbCBzdXBwb3J0IHRoZSBvbGQKCSAgcHJpdmF0ZSBDb3JlTWVkaWEgaW4gb3JkZXIgdG8gbm90IGJyZWFrIE9TIFggc3VwcG9ydC4KCSAgVGhpcyBtZWFucyB0aGF0IHZ0ZW5jIGFuZCB2dGRlYyBhcmUgbm93IGNvbXBhdGlibGUgd2l0aCBpT1MgNC54LCBhbmQgaW4KCSAgdGhlb3J5IGFsc28gZnV0dXJlIHZlcnNpb25zIG9mIE9TIFgsIHdoZXJlIHRoaXMgQVBJIG1heSB0dXJuIHB1YmxpYyBsaWtlCgkgIGl0IGhhcyBvbiBpT1MuCgoyMDEwLTExLTAyIDE3OjQ2OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogaGFuZGxlIG1vcmUgZm9ybWF0cyB0aGF0IHN0YXJ0IHdpdGggYW4gOC1iaXQgWSBwbGFuZQoJICBXZSBjYW4gaGFuZGxlIG1vc3QgcGxhbmFyIFlVViBsYXlvdXRzIHRvbywgYXMgbG9uZyBhcyB3ZSBkb24ndAoJICB0ZWxsIHpiYXIgYWJvdXQgdGhlIGNocm9tYSBwbGFuZXMuCgoyMDEwLTExLTAyIDE3OjE4OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiB1c2UgY29ycmVjdCBzdHJpZGUKCSAgRml4ZXMgZGV0ZWN0aW9uIGZvciBpbWFnZXMgd2l0aCBhIHdpZHRoIHRoYXQncyBub3QgYSBtdWx0aXBsZSBvZiBmb3VyLgoJICBCYXNlZCBvbiBwYXRjaCBieTogS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA4MzAKCjIwMTAtMTEtMDIgMTY6NTQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggYnVpbGQgd2l0aCBjdXJyZW50IGdpdCBvZiBnc3QtcGx1Z2lucy1iYXNlCgkgIGlmZGVmIHRlc3RzIGRvbid0IHdvcmsgc28gd2VsbCBpZiB3ZSBkZWZpbmUgdGhlbSBpbiB0aGUgY29kZQoJICBhYm92ZSBpbiBjYXNlIHRoZXkgYXJlbid0IGRlZmluZWQuCgoyMDEwLTExLTAyIDE2OjM1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogbWlub3IgY2xlYW4tdXAKCSAgRml4IHR5cG8gYW5kIHVzZSBERUZBVUxUX0ZPTyBkZWZpbmUgZm9yIHByb3BlcnR5IGRlZmF1bHQuCgoyMDEwLTExLTAyIDE2OjMyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZGlzYWJsZSBjYWNoZSBieSBkZWZhdWx0CgkgIFNpbmNlIGl0IGJyZWFrcyBzdGlsbCBpbWFnZSBiYXIgY29kZSBkZXRlY3Rpb24uCgoyMDEwLTExLTAyIDE2OjA1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIDggYml0IHBhbGV0dGVkIFJHQgoJICBUaGlzIG5lZWRzIHRoZSA4IGJpdCBwYWxldHRlZCBzdXBwb3J0IGZyb20gLWJhc2UKCSAgd2hpY2ggd2lsbCBiZSBjb21taXR0ZWQgYWZ0ZXIgcmVsZWFzZS4gV2l0aG91dCB0aGlzCgkgIHRoZSA4IGJpdCBwYXJ0cyBhcmUgZGlzYWJsZWQuCgoyMDEwLTExLTAyIDEwOjI0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEFkZCBtaXNzaW5nIGNoYW5nZSB0byBwcmV2aW91cyBjb21taXRzCgkgIEZvcmdvdCB0byBhZGQgdGhpcyBjaGFuZ2UgdG8gdGhlIGxhdGVzdCBjb21taXRzLiBUaGlzIGZpeGVzIHRoZSBidWlsZC4KCjIwMTAtMTEtMDIgMDk6Mzk6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogRml4IGxlYWtzIGluIHRoZSBwcmV2aWV3IGhhbmRsaW5nCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBidXMgYWZ0ZXIgYWRkaW5nIHRoZSB3YXRjaC4KCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIGVsZW1lbnQgYWZ0ZXIgZ2V0dGluZyBpdCB3aXRoCgkgIGdzdF9iaW5fZ2V0X2J5X25hbWUuCgoyMDEwLTExLTAyIDA5OjM4OjIwIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBsZWFrIGEgY2FwcwoJICBnc3RfY2Fwc19yZXBsYWNlIGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAsIGJ1dCByZWZzIHRoZSBjYXBzLiBTbyB3ZQoJICB1bnJlZiB0aGUgcmVtYWluaW5nIGNhcHMuCgoyMDEwLTA5LTI0IDE2OjI4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVzZXQgcHJlLW5pZ2h0LW1vZGUgc3RvcmVkIGZwcyB3aGVuIG1vZGUgY2hhbmdlcwoJICBXaGVuIHN3aXRjaGluZyBiZXR3ZWVuIHZpZGVvL3N0aWxsIG1vZGVzIHRoZSBwcmUtbmlnaHQtbW9kZSBmcHMKCSAgc2hvdWxkIGJlIHJlc2V0IHRvIHByZXZlbnQgaXQgYmVpbmcgdXNlZCBpbiB0aGUgaW5jb3JyZWN0IG1vZGUsIGNhdXNpbmcKCSAgdGhlIHZpZGVvc291cmNlIHRvIGZhaWwgY29uZmlndXJpbmcgaXRzZWxmCgoyMDEwLTA5LTIxIDE2OjIzOjQ3ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBtYW55IHBvc3QtcHJvY2Vzc2luZyBlbGVtZW50cwoJICBJbnN0ZWFkIG9mIHRha2luZyBhIHNpbmdsZSBlbGVtZW50IGFzIGlucHV0IGZvciB0aGUgaW1hZ2UgcG9zdAoJICBwcm9jZXNzaW5nIG9wdGlvbiwgdGFrZSBhIGxpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIGVsZW1lbnRzCgkgIHRoYXQgd2lsbCBiZSB1c2VkLgoKMjAxMC0wOS0yMCAxMTo1NDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IFN0b3JlIGFwcCBwcmVmZXJyZWQgY2FwdHVyZSBwYXJhbWV0ZXJzIHNlcGFyYXRlbHkKCSAgU3RvcmUgd2lkdGgvaGVpZ2h0L2ZwcyBmb3IgdmlkZW8gY2FwdHVyZXMgaW4gYSBzZXBhcmF0ZSB2YXJpYWJsZQoJICB0aGFuIHRoZSBvbmUgdGhhdCBzdG9yZXMgdGhlIGN1cnJlbnRseSB1c2VkIHZhbHVlLgoJICBUaGlzIHByZXZlbnRzIHRoZSB1c2VyIHByZWZlcmVuY2VzIHRvIGJlIGxvc3Qgd2hlbiByZXNldHRpbmcKCSAgdGhlIGN1cnJlbnRseSB1c2VkIGRpbWVuc2lvbnMgZm9yIG5pZ2h0IG1vZGUsIGZvciBleGFtcGxlCgoyMDEwLTA5LTIwIDA4OjQyOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW51cCB1c2VkIGNhcHMgd2hlbiBnb2luZyB0byBOVUxMCgkgIFJlc2V0cyB1c2VkIGNhcHMgc28gdGhhdCBjYW1lcmFiaW4gZG9lc24ndCB0cnkgdG8gdXNlIHRoZW0KCSAgd2hlbiByZXN0YXJ0aW5nLCB3aGVyZSBlbGVtZW50cy9wcm9wZXJ0aWVzIG1pZ2h0IGhhdmUgY2hhbmdlZAoJICBhbmQgdGhlIG9sZCBjYXBzIGJlIGluY29tcGF0aWJsZQoKMjAxMC0wOS0wOSAxMDo1MDo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHByaW9yaXR5IGZvciBpZGxlX2FkZCBmdW5jdGlvbgoJICBBZGRzIGEgaGlnaGVyIHByaW9yaXR5IHRvIHRoZSBpZGxlX2FkZCBmdW5jdGlvbiBmb3Igd2hlbgoJICB0aGUgaW1hZ2UgYmluIGZpbmlzaGVkIHRoZSBpbWFnZSBjYXB0dXJlLiBUaGlzIHJlZHVjZXMgdGhlCgkgIGRlbGF5IGZvciB0aGUgYXBwbGljYXRpb24gdG8gYmUgbm90aWZpZWQgYWJvdXQgdGhpcy4KCjIwMTAtMTEtMDEgMjM6MDQ6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGxvZyB0aW1lcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtCgoyMDEwLTExLTAxIDIyOjQwOjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBtb3ZlIHJlb2NjdXJpbmcgbG9ncyB0byBMT0cgYW5kIHJlbW92ZSBhIGRvdWJsZSBpbmZvCgkgIExlc3MgZGVidWcgc3BldyBpbiBERUJVRyBjYXRlZ29yeS4gTm8gbmVlZCB0byBsb2cgcGFkIGFnYWluIGlmIHdlIHVzZQoJICBHU1RfTE9HX09CSkVDVChwYWQsLi4uKS4KCjIwMTAtMTEtMDEgMTU6NTM6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvZywgY29sb3JzcGFjZTogdXBkYXRlIG9yYyBiYWNrdXAgZnVuY3Rpb25zIGZvciBsYXRlc3QgY2hhbmdlcwoJICBTaG91bGQgZml4IGJ1aWxkIG9uIHN5c3RlbXMgd2l0aG91dCB0aGUgbGF0ZXN0IG9yYy4KCjIwMTAtMTEtMDEgMTU6NTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIGZvciBuZXcgdHJhbnNsYXRpb25zCgoyMDEwLTEwLTMxIDIzOjQ2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgUkdCMTUgYW5kIEJHUjE1CgoyMDEwLTEwLTMxIDIzOjQ0OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgUkdCMTYgYW5kIEJHUjE2CgoyMDEwLTEwLTMxIDIzOjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBZMTYKCjIwMTAtMTAtMzEgMjM6MjU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBZODAwIE9SQyBnZXRsaW5lIGltcGxlbWVudGF0aW9uCgoyMDEwLTEwLTMxIDIzOjA3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIEE0MjAKCjIwMTAtMTAtMzEgMjM6MDA6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTQxQgoKMjAxMC0xMC0zMSAyMjozOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBTRFRWL0hEVFYgWVVWIGNvbnZlcnNpb25zCgoyMDEwLTEwLTMxIDIyOjIxOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIGNvbW1lbnQgZm9yIHRoZSBBNDIwIGdldGxpbmUvcHV0bGluZSB0YWJsZSByb3cKCjIwMTAtMTAtMzEgMjA6NDA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb25zdCB0byB0aGUgc291cmNlIGFycmF5cyBhbmQgdGhlIGdldGxpbmUvcHV0bGluZSB0YWJsZQoKMjAxMC0xMC0zMSAxOTo0MjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IE1ha2UgZmFzdC1wYXRoIHRyYW5zZm9ybSB0YWJsZSBjb25zdAoKMjAxMC0xMC0zMSAxOTozOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IE9ubHkgZG8gdGhlIEk0MjAtPllVWTIgY29udmVyc2lvbiBvbmNlIHBlciBzY2FubGluZSBpbiB0aGUgZmFzdCBwYXRoCgoyMDEwLTEwLTI5IDE0OjA4OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIG9ubHkgdXBzdHJlYW0gZHVyYXRpb24gaWYgaXQgcHJvdmlkZXMgb25lCgoyMDEwLTEwLTI1IDE0OjE1OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmbG93IHVwZGF0ZV9iaXRyYXRlIGNvZGUKCSAgLi4uIHdoaWNoIG1ha2VzIGxvY2FsIHZhcmlhYmxlcyByZXByZXNlbnQgcmVhbCBzdGF0ZSBiZXR0ZXIsIGFuZCBhdm9pZHMKCSAgdHJpZ2dlcmluZyB1bm5lZWRlZCB1cGRhdGVzL2FjdGlvbnMuCgoyMDEwLTEwLTI1IDE0OjEzOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMC0xMC0yOCAxODo1MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBnYXVkaWVmZmVjdHM6IEluY2x1ZGUgZ3N0Y29udHJvbGxlciBoZWFkZXIgYW5kIGFkZCB0aGUgcmVxdWlyZWQgQ0ZMQUdTCgoyMDEwLTEwLTI3IDE0OjU3OjM2ICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBtYWRlIGZpbHRlciBwYXJhbWV0ZXJzIGR5bmFtaWMgYW5kIGNvbnRyb2xsYWJsZQoKMjAxMC0wNy0wMSAxNTowNzo0MSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiB3b3JrIGFyb3VuZCBzaHV0ZG93biBkZWFkbG9jawoJICBHZXRPdmVybGFwcGVkUmVzdWx0KCkgbWlnaHQgbmV2ZXIgcmV0dXJuIHdpdGggc29tZSBkcml2ZXJzLiBUaW1lIG91dAoJICBhZnRlciAxMDAwIG1zLiBXZSBjYW5ub3QgcmVhbGx5IGZpeCB0aGlzIHdpdGhvdXQgZWl0aGVyOgoJICAxKSBDb250cm9sbGluZyB0aGUgc3RyZWFtaW5nIHRocmVhZCBzbyB3ZSBjYW4gZG8gQ2FuY2VsSW8oKSBmcm9tIHRoYXQKCSAgdGhyZWFkLgoJICAyKSBTd2l0Y2ggdG8gdXNpbmcgSU8gY29tcGxldGlvbiBwb3J0cy4KCjIwMTAtMDYtMTEgMTg6MDQ6NTggKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogcmVtb3ZlIEpQRUcgdmFsaWRhdGlvbiBoYWNrCgkgIFRoaXMgc2hvdWxkIGNsZWFybHkgbm90IGJlIGRvbmUgaW4gYSB2aWRlbyBzb3VyY2UuCgoyMDEwLTA0LTIwIDEyOjA1OjQ1ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBzZXQgUHJpb3JpdHlTdWJDbGFzcyB0byBLU1BSSU9SSVRZX05PUk1BTCBpbnN0ZWFkIG9mIDEKCSAgSW4gb3JkZXIgdG8gbWF0Y2ggdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KCjIwMTAtMDQtMjAgMTE6NTk6MjMgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogcmV0cnkgd2hlbiBLc0NyZWF0ZVBpbiBmYWlscyB3aXRoIEVSUk9SX05PVF9SRUFEWQoJICBUdXJucyBvdXQgdGhhdCB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGRvZXMgdGhpcywgaGVuY2Ugd2UgbmVlZCB0bwoJICBtaXJyb3IgdGhpcyBiZWhhdmlvdXIuIFRoaXMgdHlwaWNhbGx5IGhhcHBlbnMgd2l0aCBoYXJkd2FyZSB0aGF0IHRha2VzCgkgIHNvbWUgdGltZSB0byBpbml0aWFsaXplLgoKMjAwOS0xMC0yNiAxNjowOTowMCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaW1wcm92ZSBmcmFtZXJhdGUgZnJhY3Rpb24gY29udmVyc2lvbnMKCSAgKiBGb3IgaW5zdGFuY2UgNy41IGZwcyBzaG91bGQgYmUgcmVwcmVzZW50ZWQgYXMgMTUvMiBpbnN0ZWFkIG9mIDcvMS4KCSAgKiBDbGFtcCBBdmdUaW1lUGVyRnJhbWUgYW5kIGR3Qml0UmF0ZSB0byBhY2NvdW50IGZvciByb3VuZGluZyBlcnJvcnMuCgoyMDA5LTEwLTEyIDE3OjI2OjE1ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaW1wcm92ZSBlcnJvci1oYW5kbGluZwoJICBNb3N0IGltcG9ydGFudCBwYXJ0IGhlcmUgaXMgc3BlY2lhbC1jYXNpbmcgImRldmljZSBidXN5IiBzbyB0aGUgYXBwbGljYXRpb24KCSAgaXMgYWJsZSB0byBwcm92aWRlIGJldHRlciBmZWVkYmFjayB3aGVuIGFub3RoZXIgYXBwbGljYXRpb24gaXMgdXNpbmcgdGhlCgkgIGRldmljZS4KCjIwMDktMDktMDcgMTY6NDU6NTcgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCgkgICogTWFrZSB0aGUgZHJpdmVyIHdyaXRlIGRpcmVjdGx5IGludG8gZWFjaCBHc3RCdWZmZXIgdG8gYXZvaWQgbWVtY3B5KCkuCgkgICogRG9uJ3QgbWVtc2V0KCkgdGhlIGJ1ZmZlciBiZWZvcmUgcmV1c2luZyBpdC4KCSAgKiBSZWN5Y2xlIG1lbW9yeSBieSBrZWVwaW5nIHR3byBzcGFyZSBidWZmZXJzLiBUd28gYmVjYXVzZSB0aGUgc2luawoJICBkb3duc3RyZWFtIG1heSBrZWVwIGEgcmVmIHRvIHRoZSBwcmV2aW91cyBidWZmZXIuCgkgIE5vdGUgdGhhdCB3ZSBhbGlnbiBidWZmZXJzIG9uIGhpZ2hlc3QgcG9zc2libGUgYnl0ZSBib3VuZGFyeSAoNDA5Nikgc28gd2UKCSAgZG9uJ3QgaGF2ZSB0byB0YWtlIGludG8gYWNjb3VudCB3aGF0IGtpbmQgb2YgYWxpZ25tZW50IHRoZSBkcml2ZXIgcmVxdWlyZXMuCgoyMDA5LTA5LTA3IDE2OjA5OjM0ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgd2lua3M6IHN0b3JlIHByaXYgcG9pbnRlciBpbnN0ZWFkIG9mIGxvb2tpbmcgaXQgdXAKCjIwMDktMDgtMzEgMTk6MzM6MzAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogcG9zdCBlcnJvciBtZXNzYWdlIG9uIGZsb3ctdW5leHBlY3RlZAoKMjAwOS0wOC0zMSAxOToyODo1MCArMDIwMCAgQW5kcmVzIENvbHVicmkgPGFuZHJlcy5jb2x1YnJpQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgIHdpbmtzOiBhZGQgcHJvcGVydHkgcHJvYmluZyBzdXBwb3J0CgoyMDA5LTA4LTMxIDE5OjI2OjM2ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICB3aW5rczogc29ydCBkZXZpY2VzIHRoYXQgbG9vayBsaWtlIGNhbWVyYXMgZmlyc3QKCjIwMDktMDgtMzEgMTk6MjU6MDIgKzAyMDAgIEtudXQgSW5nZSBIdmlkc3RlbiA8a251dC5pbmdlLmh2aWRzdGVuQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogcHJvdmlkZSBndWVzc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzCgoyMDA5LTA4LTMxIDE5OjIzOjQwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSAgd2lua3M6IG9ubHkgdHJ5IHRvIGNoYW5nZSBzdGF0ZSB3aGVuIGFjdHVhbGx5IG9wZW4KCjIwMDktMDgtMzEgMTk6MjI6NDAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpZ25vcmUgdW5zdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMC0xMC0yOCAxNjoxNDozNCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBhZGp1c3QgYSBjb3VwbGUgb2YgbG9nZ2luZyBzZXZlcml0aWVzCgkgIFNob3VsZCBjbGVhcmx5IG5vdCBiZSBjb25zaWRlcmVkIHdhcm5pbmdzLCBhcyB0aGV5J3JlIHF1aXRlIGNvbW1vbi4KCjIwMTAtMTAtMjcgMTg6MzA6MTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogTmV3IHBsdWdpbiBmb3IgQXBwbGUgbXVsdGltZWRpYSBBUElzCgkgIFByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6CgkgIHF0a2l0dmlkZW9zcmM6IE9TIFggdmlkZW8gc291cmNlIHJlbHlpbmcgb24gdGhlIFFUS2l0IEFQSS4gQ29tZXMgd2l0aAoJICBoYXJkLWNvZGVkIGNhcHMgYXMgdGhlIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFueSB3YXkgb2YgcXVlcnlpbmcgZm9yCgkgIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZS4gSGFzbid0IGJlZW4gdGVzdGVkIGEgbG90LCBidXQgc2VlbXMKCSAgdG8gd29yay4KCSAgbWlvdmlkZW9zcmM6IE9TIFggdmlkZW8gc291cmNlIHdoaWNoIHVzZXMgdGhlIHVuZG9jdW1lbnRlZC9wcml2YXRlCgkgIENvcmVNZWRpYUlPU2VydmljZXMgQVBJLCB3aGljaCBpcyBhbHNvIHRoZSBvbmUgdXNlZCBieSBpQ2hhdC4KCSAgUHJlc2VudCBvbiBsYXRlc3QgdmVyc2lvbiBvZiBMZW9wYXJkIGFuZCBhbGwgdmVyc2lvbnMgb2YgU25vdyBMZW9wYXJkLgoJICBIYXMgYmVlbiB0ZXN0ZWQgZXh0ZW5zaXZlbHkgd2l0aCBidWlsdC1pbiBjYW1lcmFzIGFuZCBUQU5EQkVSRydzCgkgIFByZWNpc2lvbkhEIFVTQiBjYW1lcmEuCgkgIHZ0ZW5jLCB2dGRlYzogR2VuZXJpYyBjb2RlYyB3cmFwcGVycyB3aGljaCBtYWtlIHVzZSBvZiB0aGUgdW5kb2N1bWVudGVkLwoJICBwcml2YXRlIFZpZGVvVG9vbGJveCBBUEkgb24gT1MgWCBhbmQgaU9TLiBMaXN0IG9mIGNvZGVjcyBhcmUgY3VycmVudGx5CgkgIGhhcmQtY29kZWQgdG8gSC4yNjQgZm9yIHZ0ZW5jLCBhbmQgSC4yNjQgKyBKUEVHIGZvciB2dGRlYy4gQ2FuIGVhc2lseSBiZQoJICBleHBhbmRlZCBieSBhZGRpbmcgbmV3IGVudHJpZXMgdG8gdGhlIGxpc3RzLCBidXQgaGF2ZW4ndCB5ZXQgaGFkIHRpbWUgdG8KCSAgZG8gdGhhdC4gU2hvdWxkIHByb2JhYmx5IGFsc28gaW1wbGVtZW50IHByb2JpbmcgYXMgYXZhaWxhYmxlIGNvZGVjcyBkZXBlbmQKCSAgb24gdGhlIE9TIGFuZCBpdHMgdmVyc2lvbiwgYW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbnkgd2F5IHRvCgkgIGVudW1lcmF0ZSB0aGUgYXZhaWxhYmxlIGNvZGVjcy4KCSAgdnRoMjY0ZGVjYmluLCB2dGgyNjRlbmNiaW46IFdyYXBwZXIgYmlucyB0byBtYWtlIGl0IGVhc2llciB0byB1c2UKCSAgdnRkZWNfaDI2NC92dGVuY19oMjY0IGluIGxpdmUgc2NlbmFyaW9zLgoJICBpcGhvbmVjYW1lcmFzcmM6IGlQaG9uZSBjYW1lcmEgc291cmNlIHJlbHlpbmcgb24gdGhlIHVuZG9jdW1lbnRlZC9wcml2YXRlCgkgIENlbGVzdGlhbCBBUEkuIFRlc3RlZCBvbiBpT1MgMy4xIHJ1bm5pbmcgb24gYW4gaVBob25lIDNHUy4gU3RvcHMgd29ya2luZwoJICBhZnRlciBhIGZldyBtaW51dGVzLCBwcmVzdW1hYmx5IGJlY2F1c2Ugb2YgYSByZXNvdXJjZSBsZWFrLiBOZWVkcyBzb21lCgkgIGxvdmUuCgkgIE5vdGUgdGhhdCB0aGUgaU9TIHBhcnRzIGhhdmVuJ3QgeWV0IGJlZW4gcG9ydGVkIHRvIGlPUyA0LnguCgoyMDEwLTEwLTI4IDExOjQzOjM0ICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEFkZCB0YWcgZXZlbnQgZW1pc3Npb24uIEZpeGVzICM2MjcyNTMKCjIwMTAtMTAtMjcgMTM6MTc6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiZDcwOCB0byAwMTFiY2M4CgoyMDEwLTEwLTIxIDE2OjA2OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQ2hlY2sgdGhlIHNvdXJjZSBzY2VuZSBtb2RlIHdoZW4gY3JlYXRpbmcgaXQKCSAgQXMgY2FtZXJhYmluIG9ubHkgZ2V0cyBub3RpZmllZCBvZiB0aGUgY2hhbmdlcyBmcm9tIHRoZQoJICB2aWRlbyBzb3VyY2UgZWxlbWVudCwgaXQgc2hvdWxkIHF1ZXJ5IHRoZSBpbml0aWFsIHZhbHVlCgkgIG9uY2UgdGhlIHNvdXJjZSBpcyBjcmVhdGVkIHNvIGl0IGluaXRpYWxpemVzIGl0c2VsZgoJICBjb3JyZWN0bHkuCgoyMDEwLTEwLTIwIDAwOjA3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGRpc3RjaGVjayBhIGJpdCBtb3JlCgkgIERpc3QgZWxlbWVudHMvcGFyc2VyLmggaGVhZGVyIGZpbGUsIHdoaWNoIGZpeGVzIHRoZSAnbWFrZSBjaGVjaycgYnVpbGQuCgoyMDEwLTEwLTE5IDIzOjQwOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHRlc3RzOiBmaXggdmFsdmUgdW5pdCB0ZXN0CgkgIGdzdF9idWZmZXJfcGFkX2FsbG9jKCkgbmVlZHMgc2ltcGxlIGNhcHMgb3IgTlVMTCBjYXBzLAoJICBBTlkgY2FwcyBhcmUgbm90IGFsbG93ZWQuCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE5IDE2OjIzOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDE2OjI0OjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogZml4IGNvcHknbidwYXN0ZSBvZmYgYnkgb25lIGZvciBwYXJhbSBzcGVjIGZsYWdzIGNoYW5nZQoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDE1OjMwOjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICB2YXJpb3VzOiB3cmFwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBhbmQgYWRkIGEgc2luZ2xlIGZpeG1lIGZvciBsb25nIGRlc2MuCgoyMDEwLTEwLTE5IDE1OjA2OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IHJlbW92ZSBzdHJheSAiIGluIGRvYyBjb21tZW50CgoyMDEwLTEwLTE5IDEzOjQ0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHJlbW92ZSBERUJVR19GVU5DUFRSIGZyb20gZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0xMC0wOCAxOTozMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0cyBmb3IgdGhlIG5ldyB0YWdzCgkgIEFkZHMgdGVzdHMgZm9yIHRoZSBuZXcgZXhpZiB0YWdzIGluIC1iYXNlCgoyMDEwLTEwLTA5IDE3OjM2OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBjb21tb24gZmllbGRzL2Z1bmN0aW9ucyB0byBiYXNlY29kZWMKCjIwMTAtMDktMjggMTg6MjE6NTcgKzAzMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IE1ha2Ugc2Nhbm5lciBjYWNoZSBvcHRpb25hbAoKMjAxMC0xMC0xNCAyMzowNDoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFjdHVhbHkgdXNlIHRoZSBlbnVtIGluIHRoZSB2bWV0aG9kcwoJICBJZiB3ZSBpbnRyb2R1Y2UgYSBuZXcgR3N0UGhvdG9ncmFwaHlOb2lzZVJlZHVjdGlvbiwgbGV0cyBhbHNvIHVzZSBpdAoJICBpbiB0aGUgdm1ldGhvZHMKCjIwMTAtMTAtMTQgMjM6MDM6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiByZXRhYiBpbnRlcmZhY2Ugc3RydWN0IGZpZWxkcwoKMjAxMC0xMC0xNCAxMjozMjowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhNjY4YmYgdG8gN2JiZDcwOAoKMjAxMC0xMC0xNCAxNDowNzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVudXNlZCBlbnRyeQoJICBSZW1vdmUgY2FtZXJhYmluIHVudXNlZCBlbnVtIGVudHJ5CgoyMDEwLTEwLTE0IDEzOjQxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBdm9pZCBicmVha2luZyBBQkkKCSAgTW92ZSB0aGUgbmV3bHkgYWRkZWQgZnVuY3Rpb25zL2ZpZWxkcyB0byB0aGUgZW5kIG9mIHRoZSBzdHJ1Y3RzCgoyMDEwLTEwLTE0IDExOjQ1OjU1ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhY2NlbGVyYXRlIHNlYXJjaCBmb3Igc3RhcnQgY29kZQoJICBBcyB0aGUgc3RhcnRjb2RlIGFsd2F5cyBzdGFydHMgd2l0aCAweDAwMDAwMSBzb21lIGl0ZXJhdGlvbnMKCSAgY2FuIGJlIHNraXBwZWQgaWYgdmFsdWVzID4gMSBhcmUgZGV0ZWN0ZWQuCgkgIH4gNzAlIGZhc3RlciBvbiBIRCB2aWRlbyBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIxMzAKCjIwMTAtMTAtMTQgMTY6NDg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcHJvcGVybHkgcGFyc2UgZS1hYzMgZnJhbWUgaGVhZGVyCgkgIEFsc28gYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEwLTE0IDExOjI0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmbG93IG9wZW5pbmcgYW5kIGNsb3NpbmcgZGVjb2RlcgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHJlY29uZmlndXJlcyBxdWl0ZSBmb3JjZWZ1bGx5IHdoZW4gcmVuZWdvdGlhdGlvbiBpcyBuZWVkZWQuCgkgIEZpeGVzICM2MzE1MDEuCgoyMDEwLTEwLTEzIDE3OjQ3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gYWRqdXN0aW5nIGZyYW1lcmF0ZQoJICBGaXhlcyAjNjMyMDcwLgoKMjAxMC0xMC0xMiAyMTo0NjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogdXBkYXRlIHRlc3RzIHRvIHRoZSBuZXcgZGF0ZXRpbWUgYXBpCgkgIFVwZGF0ZSBqaWZtdXggdGVzdHMgdG8gdXNlIG5ldyBnc3RkYXRldGltZSBBUEkgaW4gY29yZQoKMjAxMC0xMC0xMiAwOTozNzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgcm90YXRlIGVsZW1lbnQKCSAgQWRkcyBhIG5ldyByb3RhdGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uIEl0IHN0aWxsCgkgIG5lZWRzIHNvbWUgd29yay4gQnV0IHRoaXMgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIEJlcnQgRG91Z2xhcyA8YmVydGQgdHBsb2dpYyBjb20+CgoyMDEwLTEwLTEzIDExOjAwOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHdlYWsgc2V0dGluZyBidWZmZXIgbWV0YWRhdGE7IGF2b2lkIHRpbWVzdGFtcCBqaXR0ZXIKCSAgRml4ZXMgIzYzMTk5My4KCjIwMTAtMTAtMTIgMTg6MTc6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IGNhdGVyIGZvciByZW5lZ290aWF0aW9uCgkgIEF0IGxlYXN0LCB3aGVuZXZlciBlaXRoZXIgc3RyZWFtIChlLmcuIEFEVFMpIG9yIHVwc3RyZWFtIHByb3ZpZGVzIG5lY2Vzc2FyeQoJICBpbmZvIGZvciBkb2luZyBzby4KCSAgRml4ZXMgIzYzMTUwMS4KCjIwMTAtMTAtMTIgMTg6MDc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBzdHJlYW1saW5lIHNyYyBjYXBzIHNldHRpbmcKCSAgSW4gcGFydGljdWxhciwgYWxzbyBzZXQgc3JjIGNhcHMgd2hlbmV2ZXIgY2hhbmdlcyBpbiBzdHJlYW0gd2FycmFudCBkb2luZyBzby4KCjIwMTAtMTAtMTIgMTY6MTM6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHBvcnQgR3N0WE92ZXJsYXkgYml0cyB0byBuZXcgQVBJCgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEFQSS4KCjIwMTAtMTAtMTIgMTY6MzU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBhZGp1c3QgdW5pdCB0ZXN0IHRvIGZhYWMgbW9kaWZpZWQgb3V0cHV0CgoyMDEwLTEwLTEwIDEyOjMyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IHJlbW92ZSB2YXJpYWJsZXMgZnJvbSBNYWtlZmlsZS5hbSB0aGF0IGFyZW4ndCBzZXQKCSAgUmVtb3ZlIHNvbWUgc3R1ZmYgdGhhdCB3YXMgY29weSduJ3Bhc3RlZCBmcm9tIGNvcmUgYnV0CgkgIGRvZXNuJ3QgYXBwbHkgaGVyZS4gVGhlIGZvbGxvd2luZyB2YXJzIGFyZW4ndCBzZXQ6CgkgIENIRUNLX0NGTEFHUywgQ0hFQ0tfTElCUywgR1NUX09CSl9DRkxBR1MsIEdTVF9PQkpfTElCUywKCSAgc28gd2UgbWF5IGp1c3QgYXMgd2VsbCByZW1vdmUgdGhlbS4KCjIwMTAtMTAtMTIgMTI6MTE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IEZpeCBjb21waWxhdGlvbiB3aXRoIEdUSysgMy4wCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0xMSAxNzowNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogaGFuZGxlIHRyYWlsaW5nIGVuY29kZXIgb3V0cHV0CgoyMDEwLTEwLTExIDE0OjI1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkgIHN3aXRjaHNyYzogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZwoKMjAxMC0wOS0xMyAxOTowNzo1NSArMDEwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRml4IGV4YW1wbGUgdXNhZ2UsIGJhbmR3aWR0aD04IG5vdCA4TUh6CgkgIFRoZSBiYW5kd2lkdGggcHJvcGVydHkgaXMgZW51bSB0aGF0IHRha2VzIHRoZSB2YWx1ZXMgOCwgNywgNiwgQVVUTyBub3QKCSAgOE1Iei4KCjIwMTAtMTAtMDggMTc6MDE6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSAgc2htOiBBZGQgQysrIHByb3RlY3Rpb24KCSAgQWRkIGMrKyBwcm90ZWN0aW9uIGluIHRoZSByZWxldmFudCBwbGFjZXMKCjIwMTAtMTAtMDggMTI6NDQ6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNGE4YWRjIHRvIDVhNjY4YmYKCjIwMTAtMTAtMDggMTI6NTU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZTNjOWJmIHRvIGM0YThhZGMKCjIwMTAtMTAtMDcgMjM6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBTaW1wbGlmeSBmcmFtZSBoZWFkZXIgcGFyc2luZyBieSB1c2luZyBsb29rdXAgdGFibGVzCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRmVsaXBlIENvbnRyZXJhcy4KCSAgU2VlIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAyMzoyODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IERvbid0IHBhcnNlIHRoZSBjb21wbGV0ZSBGTEFDIGZyYW1lcyBidXQgb25seSBsb29rIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzCgkgIFRoYW5rcyB0byBGZWxpcGUgQ29udHJlcmFzIGZvciB0aGUgc3VnZ2VzdGlvbi4gVGhpcyBpcyBwYXJ0aWFsbHkKCSAgYmFzZWQgb24gaGlzIHBhdGNoZXMgYW5kIG1ha2VzIGZsYWNwYXJzZSBtb3JlIHRoYW4gMy41IHRpbWVzIGZhc3Rlci4KCSAgTG9va2luZyBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycyBpcyB1bmxpa2VseSB0byBnaXZlIGZhbHNlIHBvc2l0aXZlcwoJICBiZWNhdXNlIGV2ZXJ5IGZyYW1lIGhlYWRlciBpcyBhdCBsZWFzdCA5IGJ5dGVzIGxvbmcsIGNvbnRhaW5zIGEKCSAgMTQgYml0IHN5bmMgY29kZSBhbmQgYSA4IGJpdCBjaGVja3N1bSBvdmVyIHRoZSBmaXJzdCA4IGJ5dGVzLgoJICBGaXhlcyBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMTE6NTk6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogd29ya2Fyb3VuZCBpbnRlcm5hbCBydHNwc3JjIGZhaWxpbmcgc3RhdGUgY2hhbmdlCgkgIEZpeGVzICM2MzAwNDYuCgoyMDEwLTEwLTA3IDEwOjM0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZTogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIGNoYW5uZWwtcG9zaXRpb25zCgoyMDEwLTEwLTA2IDE4OjMyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUmVhbGx5IHBvc3QgdGFncyBvbmx5IGFmdGVyIHRoZSBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQKCSAgVGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQgd2lsbCBiZSBzZW5kIGJ5IHRoZSBmaXJzdCBjYWxsIHRvCgkgIGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKCkgaWYgbmVjZXNzYXJ5LCBwb3N0aW5nIHRoZSB0YWdzCgkgIGJlZm9yZSB0aGF0IGlzIG5vdCBhIGdvb2QgaWRlYS4gSW5zdGVhZCBkbyBpdCBmcm9tIHRoZQoJICBHc3RCYXNlUGFyc2U6OnByZV9wdXNoX2J1ZmZlciB2ZnVuYy4KCjIwMTAtMTAtMDYgMTY6NTQ6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkgIGNocm9tYWhvbGQ6IEZpeCBodWUgY2FsY3VsYXRpb24gZm9yIHJlZCBjb2xvcnMKCSAgQWxzbyBtYWtlIHRoZSBjYWxjdWxhdGlvbiBtdWNoIG1vcmUgYWNjdXJhdGUuLi4KCjIwMTAtMTAtMDYgMTU6MjE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkgIGNocm9tYWhvbGQ6IE1ha2UgZXZlcnl0aGluZyBncmV5c2NhbGUgaWYgdGhlIHRhcmdldCBjb2xvciBpcyBncmV5CgoyMDEwLTEwLTA2IDExOjU1OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY2hyb21haG9sZDogQWRkIGNocm9tYWhvbGQgY29sb3IgZWZmZWN0CgkgIFRoaXMgZWZmZWN0IGNvbnZlcnRzIGFsbCBjb2xvcnMgZXhjZXB0IGEgc2luZ2xlIG9uZSB0bwoJICBncmV5LiBUaGUgY29sb3IgaXMgc2VsZWN0ZWQgYnkgYW4gUkdCIHRyaXBsZSBhbmQgYQoJICB0b2xlcmFuY2UgZm9yIHRoZSBjb2xvciBtYXRjaGluZyBpbiBodWUgZGVncmVlIGNhbiBiZSBzcGVjaWZpZWQuCgoyMDEwLTEwLTA1IDE3OjA0OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGZpeCBhbmQgcmVmbG93IHNvbWUgZXhpdHMKCjIwMTAtMTAtMDUgMTY6NTY6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZXJyb3Igb3V0IGlmIG5vIHN0cmVhbXMgZm91bmQgaW4gc2RwIG1lc3NhZ2UKCjIwMTAtMTAtMDUgMTY6NDc6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogdW5icmVhayBzdGFuZGFyZCBtYW5hZ2VyIHNldHVwCgoyMDEwLTEwLTA1IDExOjQ0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMC0xMC0wNSAxMTo0Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ3N0LWFsc2EubTQ6CgkgIGFsc2FzcGRpZjogcmVtb3ZlIGFsc2FzcGRpZnNpbmsgZWxlbWVudAoJICBSZW1vdmUgYWxzYXNwZGlmc2luaywgaXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIuIGFsc2FzaW5rIGluIC1iYXNlCgkgIGhhcyBiZWVuIGFibGUgdG8gaGFuZGxlIFNQRElGIGZvciBhIHdoaWxlIG5vdy4KCjIwMTAtMTAtMDUgMTE6MTc6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgUmV2ZXJ0ICJiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI1YTNkNjAzNjNkODM3YTEwZjA1MzNjMTQxZWM5M2QxMGI3NDIzMTIuCgkgIFJldmVydGluZyB0aGlzIGZvciBub3csIHNpbmNlIG5vIG9uZSByZWFsbHkgc2VlbXMgdG8gcmVtZW1iZXIgd2h5IHRoaXMKCSAgcHJvcGVydHkgZXhpc3RzIG9yIHdoYXQgaXQgY291bGQgcG9zc2libHkgYmUgZ29vZCBmb3IuIEl0IHNlZW1zIHRvIGhhdmUKCSAgYmVlbiBpbiB0aGUgb3JpZ2luYWwgbXAzcGFyc2Ugc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aW1lIGFuZCB3YXMgYmFjay0KCSAgcG9ydGVkIGZyb20gdGhlcmUuCgoyMDEwLTEwLTA0IDEwOjQxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nLCB0aGUgdmFyaWFibGVzIGFyZSBvbmx5IHVzZWQgaWYgdGhleSB3ZXJlCgkgIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0wOS0xNCAwMjo0ODo1OCArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwaWN0dXJlIHBhcnNpbmcKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjU0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHVzaCB0YWdzIGJlZm9yZSB0aGUgaGVhZGVyIGJ1ZmZlcnMgYXJlIHB1c2hlZAoKMjAxMC0wOC0wMiAyMDo1MDoyMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRyaXZpYWwgY2FwcyBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gcXRtdXggcHJvcGVydGllcwoKMjAxMC0xMC0wMyAyMzoxNDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHZhbHZlOiBGaXggdGVzdHMgYnVpbGQKCSAgQWRkcyBtaXNzaW5nIGNmbGFncy9saWJzIHRvIHZhbHZlIGNoZWNrIHRlc3QgdG8KCSAgZml4IGJ1aWxkCgoyMDEwLTEwLTAzIDIzOjUwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyOiBMZXQgdGhlIGZvcm1hdCBzdHJpbmcgYWdyZWUgd2l0aCB0aGUgcGFyYW1ldGVycyB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0xMC0wMyAxNTo1NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBDaGVjayByZXR1cm4gdmFsdWVzIG9mIHRoZSBiaXRyZWFkZXIgZnVuY3Rpb25zCgoyMDEwLTEwLTAzIDE1OjQxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IFVzZSB1bmNoZWNrZWQgdmVyc2lvbnMgb2YgdGhlIGJpdHJlYWRlciBnZXQgZnVuY3Rpb25zCgkgIFdlIGRpZG4ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlcyBhbnl3YXkuLi4KCjIwMTAtMDktMjggMTM6NTI6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbm8gbmVlZCB0byByZWYgdGhlIG9iamVjdCBpbiBfY2hhaW4KCSAgRG9uJ3QgcmVmIHRoZSBwYWQgaW4gY2hhaW4sIGxpa2UgZWxzZXdoZXJlCgoyMDEwLTA5LTIyIDE1OjQ0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IGRlYnVnIG91dHB1dAoJICBXZSBsb3NlIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciBhZnRlciBnc3RfcGFkX3B1c2goKSwgc28gdGhlIGRlYnVnCgkgIHByaW50IHNob3VsZCBoYXBwZW4gYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTEwLTAxIDEyOjM0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBhYzNwYXJzZSBhbmQgbXBlZ2F1ZGlvcGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA5LTI1IDEzOjU5OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIC4uLiBhZGVxdWF0ZWx5IGVxdWl2YWxlbnQgdG8gbXAzcGFyc2UsIHNvIGxldHMgYm9sZGx5IHNldCBpdAoJICB0byBoaWdoZXIgcmFuay4KCjIwMTAtMDktMjUgMTQ6MDE6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IG1pbmltdW0gZnJhbWUgc2l6ZSBhdCBfc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIG9uZSB0aW1lIGF0IF9pbml0LgoKMjAxMC0wOS0yNSAxMzo1MDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2VfZGF0YS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZV9kYXRhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOS0zMCAxNzo0ODozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdGVzdHM6IEZpeCBjYXBzIGxlYWsgaW4gdGhlIHZhbHZlIHRlc3QKCjIwMTAtMDktMzAgMTc6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB2YWx2ZTogQWRkIHVuaXQgdGVzdHMKCSAgQWRkIGEgdW5pdCB0ZXN0IGZvciB0aGUgdmFsdmUgZWxlbWVudC4KCjIwMTAtMDktMzAgMTY6MjY6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgdmFsdmU6IE1ha2UgdGhlIGRyb3AgdmFyaWFibGUgaW50byBhbiBhdG9taWMuCgkgIFVzaW5nIGFuIGF0b21pYyBhbGxvd3MgdXMgdG8gYXZvaWQgbG9ja2luZyB0aGUgd2hvbGUgb2JqZWN0IGFsbCB0aW1lIHRpbWUuCgkgIEFzIHN1Z2dlc3RlZCBieSBTdGVmYW4gS29zdC4KCjIwMTAtMDktMzAgMTY6MjI6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogQ29ycmVjdGx5IHNldCB0aGUgRElTQ09OVCBmbGFnIGFmdGVyIGRyb3BwaW5nIGJ1ZmZlcnMKCjIwMTAtMDktMzAgMTY6MTY6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogUmVtb3ZlIHN1cGVyZmxvdXMgY2hlY2tpbmcgY2FzdHMKCjIwMTAtMDktMzAgMTY6MTM6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogRml4IHN0eWxlLCBpbXByb3ZlIGNvbW1lbnRzCgkgIE1pbm9yIGltcHJvdmVtZW50cyB0byB0aGUgY29tbWVudHMgYW5kIGJyZWFrIGEgZmV3IG92ZXJseSBsb25nIGxpbmVzCgoyMDEwLTA5LTMwIDE2OjA3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgQWRkIGFuIGV4YW1wbGUgcGlwZWxpbmUsIGFuZCB0cnkgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIHdoYXQgaXQgZG9lcy4KCjIwMTAtMDktMjkgMTc6MzQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3Qgd3JvbmdseSBmYWlsIHdoZW4gc3RhcnRpbmcgYSBjYXB0dXJlCgkgIElmIHRoZSBlbGVtZW50cyBhcmUgaW4gTlVMTC9SRUFEWSBhbmQgY2hhbmdpbmcgc3RhdGUgdG8KCSAgUEFVU0VEL1BMQVlJTkcgd2hpbGUgYSBjYXB0dXJlIGlzIHN0YXJ0ZWQKCSAgY2FtZXJhYmluIG1pZ2h0IG5vdCBzZXQgdGhlIGFjdGl2ZV9iaW4gcHJvcGVybHkgY2F1c2luZyB0aGUKCSAgY2FwdHVyZSBzdGFydCB0byBmYWlsLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IGNoZWNraW5nIHRoZSBjdXJyZW50IGFuZCBwZW5kaW5nIHN0YXRlCgkgIG9mIHRoZSBicmFuY2hlcyBpbnN0ZWFkIG9mIG9ubHkgdGhlIGN1cnJlbnQgb25lCgoyMDEwLTA5LTI5IDEwOjEzOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmV2ZXJzZSBwbGF5YmFjazsgY2F0ZXIgZm9yIGRlY29kZXIgZGVsYXkKCSAgLi4uIHRoZXJlYnkgYWN0dWFsbHkgdXNpbmcgdGhlIGdhdGhlciBhbmQgZGVjb2RlIHF1ZXVlcy4KCjIwMTAtMDktMjkgMTA6MDg6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB0d2VhayBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhdm9pZCBwYWNrZXRpc2VkIGlucHV0IGxlYWRpbmcgdG8gaW5pdGlhbCB0byBub24tMCBvdXRwdXQgdHMuCgoyMDEwLTA5LTI4IDE2OjIwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogVXNlIHN0YXRpYyBjYXBzIGluc3RlYWQgb2YgY29udmVydGluZyBzdHJpbmdzIHRvIGNhcHMgYWxsIHRoZSB0aW1lCgoyMDEwLTA5LTI4IDE2OjE0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRml4IGNyYXNoZXMgaWYgcGx1Z2lucyBkb24ndCBwcm92aWRlIGNvcnJlY3QgcHJvcGVydHkgaW5mb3JtYXRpb24KCSAgVGhlIHZlcnRpZ28gcGx1Z2luIGZvciBleGFtcGxlIGNsYWltcyB0byBoYXZlIDMgcHJvcGVydGllcyBidXQKCSAgdGhlIDNyZCBwcm9wZXJ0eSBkb2VzIG5vdGhpbmcgYW5kIGhhcyBhIE5VTEwgbmFtZS4KCSAgRml4ZXMgYnVnICM2MzA3ODMuCgkgIFRoYW5rcyB0byBNYXJ0dGkgS8O8aG5lIGZvciBkZWJ1Z2dpbmcgdGhpcy4KCjIwMTAtMDktMjggMTQ6MjY6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSBkZWZhdWx0OiBwYXJzdCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudCB0byB0aGUgZW5kCgkgIE5vdyBzdXJlIGlmIGl0IG1hdHRlcnMsIGJ1dCB0aGUgcHJldmlvdXMgZm9ybSBsb29rcyB3ZWlyZWQuCgoyMDEwLTA5LTI4IDE0OjIzOjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgZGVidWctY2F0ZWdvcnkgcmVnaXN0cmF0aW9uIHRvIHR5cGUgaW5pdAoKMjAxMC0wOS0yOCAxNDoyMjoxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBtb3ZlIGRlYnVnLWNhdGVnb3J5IHJlZ2lzdHJhdGlvbiB0byB0eXBlIGluaXQKCjIwMTAtMDktMjggMTQ6MTc6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTQ6MTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogdXNlIGJhc2VfaW5pdCBmb3IgcGFkX3RlbXBsYXRlcyBhbmQgZWxlbWVudF9kZXRhaWxzCgoyMDEwLTA5LTI4IDE0OjE1OjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG9uIHByb3BlcnRpZXMKCjIwMTAtMDktMjggMTQ6MTU6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb24gcHJvcGVydGllcwoKMjAxMC0wOS0yOCAxNDowNzozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxNDowODoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkgIHZpZGVvbWVhc3N1cmU6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDExOjM1OjUzICswMzAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBwaG90b2dyYXBoeTogZXh0ZW5kIHBob3RvZ3JhcGh5IGlmYWNlCgkgIEFkZCBtb3JlIGNvbG9yIHRvbmUgbW9kZXMgYW5kIGFkZCBOb3NlUmVkdWN0aW9uIHNldHRpbmdzLgoJICBGaXhlcyAjNjE2ODE0LgoKMjAxMC0wOS0yNiAyMDo0MToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgb24gcmVhZCBlcnJvcwoJICBQcm92aWRlIGkxOG4tZWQgZXJyb3IgbWVzc2FnZXMgd2hlbiBhIHJlYWQgZXJyb3IgaGFwcGVucywKCSAgYW5kIHBvaW50IG91dCB0aGF0IHRoZSBlcnJvciBjb3VsZCBiZSBoYXBwZW5pbmcgYmVjYXVzZSB0aGUKCSAgRFZEIGlzIHNjcmFtYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzYzMwoKMjAxMC0wOS0yNCAwMDowNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2V0IHBsdWdpbiByZWxlYXNlIGRhdGV0aW1lCgoyMDEwLTA5LTI1IDEyOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogQ2FsbCBnX29iamVjdF9ub3RpZnkoKSBhZnRlciB0aGUgZmluZ2VycHJpbnQgd2FzIGNyZWF0ZWQKCjIwMTAtMDktMjUgMTA6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogRml4IHNjYW5uaW5nIG9mIHBsdWdpbiBzdWJkaXJlY3RvcmllcyBhbmQgc3VwcG9ydCBkaWZmZXJlbnQgdmVuZG9ycwoJICBUaGUgZnJlaTByIHNwZWMgc3BlY2lmaWVzLCB0aGF0IHBsdWdpbnMgY2FuIGJlIGluIHN1YmRpcmVjdG9yaWVzIGluc2lkZQoJICB0aGUgbWFpbiBwbHVnaW4gZGlyZWN0b3JpZXMgdG8gaW50cm9kdWNlIG5ldyBuYW1lc3BhY2VzIGNhbGxlZCB2ZW5kb3JzLgoKMjAxMC0wOS0yNCAyMjo0NzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJICBmcmVpMHI6IFVwZGF0ZSBmcmVpMHIgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24gdG8gMS4yCgoyMDEwLTA5LTI0IDIyOjQzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogQWRkIHN1cHBvcnQgZm9yIHRoZSBGUkVJMFJfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBUaGlzIHdhcyBhZGRlZCBpbiB2ZXJzaW9uIDEuMiBvZiB0aGUgc3BlYyBhbmQgcmVwbGFjZXMgdGhlIGRlZmF1bHQKCSAgbGlzdCBvZiBkaXJlY3Rvcmllcy4KCjIwMTAtMDktMjMgMTQ6MTU6MDggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBpbml0aWFsaXplIGludGVydmFsX3RzIGFuZCBsYXN0X2ZyYW1lc18qIGNvdW50ZXJzCgkgIEluaXRpYWxpemUgaW50ZXJ2YWxfdHMgdG8gZmlyc3QgUU9TIGV2ZW50IHRpbWVzdGFtcCwgb3RoZXJ3aXNlIHRoZQoJICBmcHMgc3RhdGlzdGljcyBhcmUgcHJpbnRlZCBhbHdheXMgYWZ0ZXIgb25lIHJlbmRlcmVkIGZyYW1lLgoJICBBbHNvLCBpbml0aWFsaXplIGxhc3RfZnJhbWVzXyogY291bnRlcnMsIHRoZSB2YWx1ZXMgYXJlIGJvZ3VzIGUuZy4gYWZ0ZXIKCSAgUExBWUlORy1OVUxMLVBMQVlJTkcgc3RhdGUgY2hhbmdlLgoKMjAxMC0wOS0yNCAxMzoyOTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDktMjQgMTM6MjU6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHNpZ25hbCBib2lsZXJwbGF0ZQoKMjAxMC0wOS0yNCAxMzoyNDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBubyBuZWVkIHRvIHJlZiBwYWQgaW4gX2NoYWluKCkKCjIwMTAtMDktMjIgMjM6NDE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlOiBtYWtlIGdzdC1jYW1lcmEgdXNlIGZsYWdzCgkgIEVuYWJsZSBhbGwgY29udmVydGlvbiBmbGFncyBpbiBnc3QtY2FtZXJhIGV4YW1wbGUgYXBwCgkgIGZvciBzYWZldHkuCgkgIEZpeGVzICM2MDMwNjMKCjIwMTAtMDktMjIgMjM6Mzk6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluOiBBZGRzIG5ldyB2aWRlby1jb2xvcnNwYWNlLWZsYWcgdG8gZmxhZ3MKCSAgQWRkcyBhIG5ldyBmbGFnIHRvIGFsbG93IGEgY29sb3JzcGFjZSBjb252ZXJ0aW9uIGJlZm9yZQoJICB0aGUgdmlkZW8gZW5jb2RlciBlbGVtZW50LgoJICBGaXhlcyAjNjAzMDYzCgoyMDEwLTA5LTIyIDIyOjM5OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBsaW5rX2Z1bGwgdmVyc2lvbiBmb3IgZGlzYWJsaW5nIGhpZXJhcmNoeSBjaGVjawoJICBEaXNhYmxlIGhpZXJhcmNoeSBjaGVja3Mgd2hlbiBsaW5raW5nIGJlY2F1c2Ugd2UgYXJlIGFscmVhZHkKCSAgaGFuZGxpbmcgdGhlIGVsZW1lbnQgYWRkaW5nIHRvIGJpbnMgYW5kIGl0IHNob3VsZCBiZSBkb25lCgkgIGNvcnJlY3RseS4KCjIwMTAtMDktMjIgMjE6MDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCBxdWV1ZXMgdG8gc2lsZW50CgkgIFdlIGN1cnJlbnRseSBkb24ndCB1c2UgcXVldWVzJyBzaWduYWxzLCBzbyBzZXQgdGhlbQoJICB0byBzaWxlbnQuCgoyMDEwLTA5LTIyIDExOjU3OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IEZpeCBjbGFzcyBkZWZpbml0aW9uCgkgIENsYXNzIHN0cnVjdHVyZXMgc2hvdWxkIGluY2x1ZGUgcGFyZW50IGNsYXNzLCBub3QgdGhlIHBhcmVudAoJICBpbnN0YW5jZSBzdHJ1Y3R1cmUuCgoyMDEwLTA5LTIyIDE2OjQxOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBmaXggd2VpcmQgY2FwcyBjb2RlCgkgIFJlbW92ZSB0aGUgd2VpcmQgKGZhaWxpbmcpIGNvZGUgdG8gZmlndXJlIG91dCBjYXBzIG9uIHRoZSBzcmNwYWQuCgkgIEFkZCBhIGNhcHMgcHJvcGVydHkgdG8gZGVjaWRlIHdoYXQgY2FwcyB0byBwdXQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeCBhbiBldmVudCBsZWFrLgoKMjAxMC0wOS0yMSAxODoxMzozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHF1aWV0IGEgR1NUX0VSUk9SCgoyMDEwLTA5LTIxIDE5OjA3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiBhZGQgcHJvcGVydHkgdG8gZGlzYWJsZSByZWRpcmVjdAoJICBBZGQgYSBwcm9wZXJ0eSB0byBhdm9pZCByZWRpcmVjdGlvbiB0byB0aGUgcnRzcC1zZHA6Ly8gdXJsIGJ1dCBpbnN0ZWFkIGVtYmVkcyBhbgoJICBydHNwc3JjIGVsZW1lbnQgaW5zaWRlIHNkcGRlbXV4IGFzIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmNvIEJhbGxlc2lvLgoJICBGaXhlcyAjNjMwMDQ2CgoyMDEwLTA5LTIxIDE4OjQ1OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rOiBGaXggZnVuY3Rpb24gcHJvdG90eXBlIGZvciB0b3VjaHkgY29tcGlsZXJzCgoyMDEwLTA5LTIxIDE4OjM0OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODBlMDI1IHRvIDVlM2M5YmYKCjIwMTAtMDktMjEgMTY6MzE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGw6IFBvcnQgdG8gbmV3IFhPdmVybGF5IEFQSQoJICBGaXhlcyAjNjMwMjUzCgoyMDEwLTA5LTIxIDE2OjI2OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IFVzZSB0aGUgbmV3IFhPdmVybGF5IEFQSQoJICBGaXhlcyAjNjMwMjU0CgoyMDEwLTA5LTIxIDEwOjU5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlczogZG8gbm90IHVzZSBkZXByZWNhdGVkIEdzdFhPdmVybGF5IGZ1bmN0aW9ucwoJICBSZXBsYWNlIHRoZSBkZXByZWNhdGVkIGdzdF94X292ZXJsYXlfc2V0X3h3aW5kb3dfaWQgd2l0aAoJICBnc3RfeF9vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlCgkgIEZpeGVzICM2MzAyNTUKCjIwMTAtMDktMjEgMTI6MzM6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgYWdhaW4gZm9yIEdJVCB2ZXJzaW9ucwoKMjAxMC0wOS0yMSAxMjoyOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBlcnJvciBvdXQgb24gVU5FWFBFQ1RFRAoKMjAxMC0wOS0yMSAxMjoyNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA5LTIxIDEyOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTk6MTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBwaXRjaC10ZXN0OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHc3RDb250cm9sbGVyIEFQSQoKMjAxMC0wOC0yNyAxOTowMDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBVTkVYUEVDVEVECgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTk6MDA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBmYXRhbCBlcnJvcnMKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKS4KCjIwMTAtMDgtMjcgMTg6NTY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgIHNmc2luazogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGFwYXJzZTogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIFVORVhQRUNURUQKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE4OjUxOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBXUk9OR19TVEFURSBvciBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODo0OToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgbnNmOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo0ODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo0NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSAgbXZlZGVtdXg6IEFkZCBwcm9wZXIgZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCSAgTk9UX0xJTktFRCBzaG91bGQgb25seSBiZSByZXR1cm5lZCBpZiBhbGwgc3RyZWFtcyByZXR1cm5lZCBOT1RfTElOS0VELgoKMjAxMC0wOC0yNyAxODo0MTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZml4IHNvbWUgbWlub3IgaXNzdWVzIHJlbGF0ZWQgdG8gaXRzIHVzYWdlLgoKMjAxMC0wOC0yNyAxODozNjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjM1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIFVORVhQRUNURUQgYW5kIGRvIGl0CgkgIGZvciBOT1RfTElOS0VELgoKMjAxMC0wOC0yNyAxODozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHB1c2ggRU9TIGRvd25zdHJlYW0gb24gV1JPTkdfU1RBVEUsIGl0IHdpbGwgYmUgZHJvcHBlZCBhbnl3YXkuCgoyMDEwLTA4LTI3IDE4OjMyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTg6MzI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDktMjAgMjE6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNZW50aW9uIHBob3RvZ3JhcGh5IGludGVyZmFjZSBpbiBkb2NzCgkgIEFkZCBhIG5vdGUgdG8gZG9jcyBhYm91dCBnZXR0aW5nIHRoZSB2aWRlb3NvdXJjZSBhbmQgYWNjZXNzaW5nCgkgIGl0cyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgKGluIGNhc2UgaXQgaGFzIGl0KQoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA4LTI1IDE0OjA0OjU5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgbWlzc2luZyB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgoJICBBZGRzIG1pc3NpbmcgYXBwX3NyY192aWQgaW5pdGlhbGl6YXRpb24KCjIwMTAtMDgtMjYgMTU6MzM6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNoZWNrIHN0YXRlIGNoYW5nZSB0byBwbGF5aW5nIGZvciBpbWFnZWJpbiBhbmQgdmlkZW9iaW4KCSAgUHJvcGVybHkgY2hlY2sgYW5kIGhhbmRsZSBlcnJvciBjYXNlcyByZWxhdGVkIHRvIGltYWdlYmluIGFuZAoJICB2aWRlb2JpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0wNi0yOCAyMTo0ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVzZWxlc3Mgc3JjIHRlbXBsYXRlIHBhZAoJICBjYW1lcmFiaW4gaW1hZ2ViaW4gZG9lc24ndCBuZWVkIGEgc3JjIHRlbXBsYXRlIHBhZC4KCjIwMTAtMDYtMjEgMDk6MzQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZvcndhcmQgdGFnIGV2ZW50cyB0byBwcmV2aWV3IHBpcGVsaW5lCgkgIEZvcndhcmQgdGFnIGV2ZW50cyBmcm9tIGltYWdlIHBpcGVsaW5lIHRvIHByZXZpZXcgcGlwZWxpbmUgc28KCSAgdGhhdCBwcmV2aWV3IGVsZW1lbnRzIGNhbiB1c2UgY2FwdHVyZSB0YWdzIGluZm9ybWF0aW9uCgoyMDEwLTA2LTIxIDE2OjE3OjI0ICswMzAwICBIb3Nlb2sgQ2hhbmcgPGhvc2Vvay5jaGFuZ0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgInByZXZpZXctc291cmNlLWZpbHRlciIgcHJvcGVydHkKCSAgQWRkcyAncHJldmlldy1zb3VyY2UtZmlsdGVyJyBmb3IgYWRkaW5nIGFuIGVsZW1lbnQgdG8gcHJvY2Nlc3MKCSAgdGhlIHByZXZpZXcgaW1hZ2VzIGJlZm9yZSBwb3N0aW5nIHRoZW0gdG8gdGhlIGJ1cy4KCjIwMTAtMDUtMjUgMTU6Mzk6NDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdGFnIG5hbWVzIGluIHRlc3QgYXBwbGljYXRpb24gdG8gbGF0ZXN0IGdzdCBkZWZpbml0aW9ucwoKMjAxMC0wNS0xNyAxMzo0NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IE1ha2UgYmxvY2stYWZ0ZXItY2FwdHVyZSByZXNldHRpbmcgbW9yZSBjb25zaXN0ZW50CgkgIEFkZHMgYW5vdGhlciBib29sZWFuIHRvIGhlbHAgY29udHJvbGxpbmcgdmlld2ZpbmRlciBibG9ja2luZywKCSAgbWFraW5nIGl0IHBvc3NpYmxlIGZvciB0aGUgYXBwbGljYXRpb25zIHRvIHJlc2V0IHRoZSB2aWV3ZmluZGVyCgkgIGJsb2NraW5nIGFmdGVyIGNhcHR1cmUgd2FzIHN0YXJ0ZWQgYnV0IGJlZm9yZSB0aGUgYmxvY2tpbmcKCSAgYWN0dWFsbHkgaGFwcGVucy4KCjIwMTAtMDUtMTIgMjE6MTE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVbmJsb2NrIHRoZSB2aWV3ZmluZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgVW5ibG9jayB0aGUgdmlld2ZpbmRlciB3aGVuIGdvaW5nIHRvIHJlYWR5IHRvIGF2b2lkCgkgIGJsb2NraW5nIHdoZW4gc2V0dGluZyBjYW1lcmFiaW4gdG8gcGxheWluZyBhZ2FpbiBhbmQKCSAgYXR0ZW1waW5nIHRvIGNhcHR1cmUuIEtlZXAgdGhlIHByb3BlcnR5IGFzIGlzLgoKMjAxMC0wOS0yMCAxNzoxOTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBtb25pdG9yaW5nIGFuZCBzdXBwb3J0IGZvciBwaG90b2lmYWNlIHpvb20gZm9yIHZpZGVvLXNvdXJjZQoJICBNYWtlcyBjYW1lcmFiaW4gYXdhcmUgb2YgY2hhbmdlcyBpbiBpdHMgdmlkZW9zb3VyY2Ugem9vbSBwcm9wZXJ0eS4KCjIwMTAtMDktMjAgMTY6MjI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBDaGFuZ2Ugem9vbSBwcm9wZXJ0eSBmcm9tIGludCB0byBmbG9hdAoJICBVcGRhdGVzIHpvb20gcHJvcGVydHkgZm9yIGEgbW9yZSBuYXR1cmFsIHR5cGUgYW5kCgkgIG1ha2VzIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcGhvdG9ncmFwaHkgQVBJCgoyMDEwLTA5LTE5IDE4OjUxOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgem9vbSBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0L2dldCB0aGUgem9vbSBhcyBhIGZsb2F0CgoyMDEwLTA2LTA4IDEwOjA0OjUyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSBjYWNoaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSBzZXR0aW5ncwoJICBDYW1lcmFiaW4gZG9lc24ndCBpbXBsZW1lbnQgcGhvdG9ncmFwaHkgaW50ZXJmYWNlLCBzbyB3ZQoJICBkb24ndCBuZWVkIGNhY2hpbmcgdGhlIHZpZGVvIHNvdXJjZSBwcm9wZXJ0aWVzIGFueW1vcmUuCgoyMDEwLTA0LTIyIDE3OjQ2OjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IHVzZSBwaG90b2lmYWNlIHByb3BlcnRpZXMgdGhyb3VnaCB2aWRlby1zb3VyY2UKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wNC0yMiAxNDowMzozNCArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZW1vdmUgcGhvdG9pZmFjZSBwcm9wZXJ0eS9zZXR0aW5ncyB0ZXN0cwoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA4LTMxIDE4OjA2OjE1IC0wMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHBob3RvZ3JhcGh5IGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiBmcm9tIGNhbWVyYWJpbgoJICBSZW1vdmUgbm90aWZ5IHNpZ25hbCBwcm94eSBmb3IgdmlkZW8tc291cmNlLiBBcHBsaWNhdGlvbiBjYW4gdXNlCgkgIHZpZGVvLXNvdXJjZSBkaXJlY3RseSBmcm9tIG5vdyBvbiB0byBnZXQgbm90aWZpZWQgb2YgcHJvcGVydHkgY2hhbmdlcy4KCSAgQWRkIG1vbml0b3Jpbmcgc2NlbmUtbW9kZSBwcm9wZXJ0eSBjaGFuZ2UgdG8gc2VsZWN0IGxvd2VzdCBwb3NzaWJsZQoJICBmcmFtZXJhdGUgZm9yIHZpZGVvIGNhcHR1cmUgd2hlbiBuaWdodCBtb2RlIGlzIHNlbGVjdGVkLgoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA0LTI5IDEyOjQ0OjI5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgLS1uby14d2luZG93IG9wdGlvbiBhbmQgZml4IG9wdGlvbiBoYW5kbGluZwoJICBBZGQgLS1uby14d2luZG93IG9wdGlvbiB0byBub3QgdG8gY3JlYXRlIHh3aW5kb3cuIEFsc28gZml4IHpvb20gYW5kCgkgIG11dGUgb3B0aW9uIHR5cGVzIGFuZCBmaWxlbmFtZSBzdHJpbmcgaGFuZGxpbmcuCgoyMDEwLTA0LTI5IDEzOjI0OjE4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIGltYWdlLXByZXZpZXctc3VwcG9ydGVkLWNhcHMgaW50ZXJmYWNlIHByb3BlcnR5CgkgIEFkZHMgYSByZWFkYWJsZSBwcm9wZXJ0eSB0byBnc3RwaG90b2dyYXBoeSBpbnRlcmZhY2UgdG8gcXVlcnkKCSAgd2hhdCBhcmUgdGhlIGFsbG93ZWQgcHJldmlldyBjYXBzIHN1cHBvcnRlZC4KCSAgUGF0Y2ggYnkgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKMjAxMC0wOS0yMCAxMjozNDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMC0wOS0yMCAxMToyNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IFJlbW92ZSBjaGVjayBmb3Igb2xkIC1iYXNlCgoyMDEwLTA5LTE5IDE5OjMzOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IEFkZCBoYW5kbGluZyBvZiBHc3RGb3JjZUtleVVuaXQgZXZlbnRzCgoyMDEwLTA5LTE4IDE5OjI1OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogRml4IG5hbWUgb2YgMzBwLzYwaSBwYXR0ZXJuCgoyMDEwLTA5LTE4IDE5OjIxOjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGNhcHR1cmUgcGF0dGVybiBoYW5kbGluZwoJICBNb3ZlIHR5cGljYWwgc2Nhbl9mb3Jfc3luYygpIHVzYWdlIGludG8gYmFzZSBjbGFzcywgd2hpY2gganVzdAoJICBjYWxscyBnc3RfYWRhcHRlcl9tYXNrZWRfc2Nhbl91aW50MzIoKS4KCjIwMTAtMDktMTggMTk6MTQ6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgYmxvdyBhd2F5IGZpZWxkIGluZm9ybWF0aW9uCgkgIEFsc28sIHNldCBmaWVsZCBmbGFncyBjb3JyZWN0bHkuCgoyMDEwLTA5LTE4IDE3OjI4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBkZWFkbGluZSB0byBmcmFtZSBzdHJ1Y3R1cmUKCjIwMTAtMDktMTggMTQ6NTc6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgYWxsb3ctcmZmIHByb3BlcnR5LiAgRml4IHRpbWVzdGFtcGluZwoKMjAxMC0wOS0xOCAxMzozMjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IG1lcmdlIHRlbGVjaW5lIGludG8gbm9ybWFsIG9wZXJhdGlvbgoKMjAxMC0wOS0wOCAxNTowODo1MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgdGVsZWNpbmUgc3VwcG9ydAoKMjAxMC0wOS0xNyAwODo0Mzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZzogQWxsb3cgY29tcGlsYXRpb24gd2l0aG91dCBvcmMKCSAgQWxzbyBkb24ndCBpZ25vcmUgLS1kaXNhYmxlLW9yYy4gRml4ZXMgYnVnICM2Mjk4OTcuCgoyMDEwLTA5LTE0IDE2OjE3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgYSBuZXcgdGVzdCB0byBjaGVjayBzZXF1ZW50aWFsIGNhcHR1cmUgb2YgaW1hZ2VzCgkgIEFkZHMgYSBuZXcgdGVzdCBjYXNlIHRoYXQgc2hvb3RzIGEgc2VxdWVuY2Ugb2YgaW1hZ2UgY2FwdHVyZQoJICBhbmQgY2hlY2sgdGhhdCB0aGUgZmlsZXMgYXJlIHZhbGlkLgoJICBBbHNvIGFkZHMgdGFnbGlzdCBjaGVja2luZyBjYXBhYmlsaXRpZXMgdG8gdGVzdHMuCgoyMDEwLTA5LTE1IDE3OjU0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBGb2xsb3cgeG1wIHNlcmlhbGl6YXRpb24gZ3VpZGVsaW5lcyBjbG9zZXIKCSAgcXQgYW5kIGlzb20gdmFyaWFudHMgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBzZXJpYWxpemluZwoJICB4bXAsIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoJICBUaG9zZSBjYW4gYmUgZm91bmQgaW4gQWRvYmUncyB4bXAgZG9jcy4KCjIwMTAtMDktMTUgMjE6NDc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2xvcnNwYWNlOiBhZGQgb3JjLWRpc3QgZmlsZXMKCSAgU2hvdWxkIGZpeCBidWlsZCB3aXRob3V0IG9yYyBvciB0b28gb2xkIG9yYy4KCjIwMTAtMDktMTUgMTc6NTE6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkgIGNoZWNrc3Vtc2luazogZml4IHVwIGNvcHlyaWdodCBpbiBoZWFkZXIgZmlsZQoKMjAxMC0wOS0xMiAxNDo1OTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWxpYnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbGlicy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMucGMuaW46CgkgIHBrZ2NvbmZpZzogcmVtb3ZlIHNvbWUgb2xkIHVudXNlZCBmaWxlcyBmcm9tIDAuOCBkYXlzCgoyMDEwLTA5LTE1IDE4OjM4OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IGFkZCByZW1vdmVkIGZpbGVzIHRvIGNydWZ0IHZhcnMKCjIwMTAtMDktMTUgMTg6MTM6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogYWRkIG1pc3Npbmcgc3RkaW8gaW5jbHVkZQoKMjAxMC0wOS0xNSAxODoxMDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhLy5naXRpZ25vcmU6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1JFQURNRToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiByZW1vdmUgbWV0YWRhdGEgcGx1Z2luCgkgIFRoaXMgcGx1Z2lucyBmdW5jdGlvbmFsaXR5IGlzIHJlcGxhY2VkIGJ5IHV0aWxpdHkgbGlicmFyaWVzIGluIGJhc2UgZm9yIGV4aWYKCSAgYW5kIHhtcC4gSnBlZyBpbWFnZXMgY2FuIHVzZSB0aGlzIHZpYSBqcGVnZm9ybWF0IHBsdWdpbi4KCSAgRml4ZXMgIzQ4NjY1OQoKMjAxMC0wOS0xNCAxMToyODo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogQWRkIGZvcm1hdD1iZ2dyL2V0Yy4gdG8gY2FwcwoKMjAxMC0wOS0xMyAxODo0OTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIGNvbnZlcnNpb24gY29kZQoJICBXb3JrIGluIHByb2dyZXNzLiAgQ29sb3JzcGFjZSBoYW5kbGVzIG1vc3QgZm9ybWF0IGNvbnZlcnNpb24gdXNpbmcKCSAgMy1zdGFnZSBnZXRsaW5lL21hdHJpeC9wdXRsaW5lIHByb2Nlc3MgdXNpbmcgYW4gQVlVViBvciBBUkdCCgkgIGludGVybWVkaWF0ZSwgd2l0aCBtb3N0IGZ1bmN0aW9ucyBoYW5kbGVkIGJ5IE9yYy4gIFRoZXJlIGlzIGFsc28KCSAgYSB0YWJsZSBvZiBzaW5nbGUtcGFzcyBjb252ZXJzaW9ucywgYWxsIGhhbmRsZWQgYnkgT3JjLiAgVGhlIHBsYW4KCSAgaXMgdG8gYWRkIG9wdGlvbmFsIHN0YWdlcyBmb3IgdmFyaW91cyBjaHJvbWEgdXBzYW1wbGluZy9kb3duc2FtcGxpbmcKCSAgYWxnb3JpdGhtcywgZGl0aGVyaW5nLCBhbmQgZmxvYXQvaW50MTYgaW50ZXJtZWRpYXRlcywgYW5kIHRoZW4gaGF2ZQoJICBPcmMgY3JlYXRlIG11bHRpLXN0YWdlIGZ1bmN0aW9ucyBhdCBydW50aW1lLgoKMjAxMC0wOS0xMyAxMjo0ODo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5oOgoJICBjb2xvcnNwYWNlOiBSZXZpdmUgZWxlbWVudAoJICBOb3cgYmFzZWQgb24gT3JjLgoKMjAxMC0wOS0wOSAxNDo0OTowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZGVkIHRyYW5zbGF0YWJsZSB0ZXh0IGZvciBzZXJ2ZXIgbm90IGZvdW5kIGVycm9yCgoyMDEwLTA4LTA5IDE0OjMyOjU3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IENoYW5nZSBiaXRyYXRlIHRvIGJpdHMvc2VjCgoyMDEwLTA5LTEwIDEzOjM2OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFJlc2V0IHRhZ3Mgd2hlbiBnb2luZyB0byBSRUFEWQoJICBSZXNldCB0aGUgdGFnc2V0dGVyIHRhZ3Mgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZQoKMjAxMC0wOS0xMCAxMzozMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgkgIFVzZSBzYW5lciBjYXRlZ29yaWVzIGZvciBqaWZtdXgvanBlZ3BhcnNlIGVsZW1lbnRzCgoyMDEwLTA5LTEwIDExOjMxOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IHRhZ3MgdG8gbW9yZSBlbGVtZW50cwoJICBSZW1vdmUgY2hlY2sgZm9yICdNdXhlcicgY2F0ZWdvcnkgd2hlbiBzZXR0aW5nIHRhZ3MKCSAgZm9yIHRhZ3NldHRlcnMuIFNldCB0aGVtIHRvIGFsbCB0YWdzZXR0ZXJzIGluIHRoZQoJICBwaXBlbGluZXMuCgoyMDEwLTA5LTEwIDE4OjM1OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlZGlyZWN0IFNEUCB3aXRoIGFuIHJ0c3AgY29udHJvbCBVUkwKCSAgV2hlbiB3ZSBmaW5kIGFuIFNEUCB3aXRoIGFuIHJ0c3A6Ly8gdXJsIGFzIHRoZSBnbG9iYWwgY29udHJvbCBhdHRyaWJ1dGUgb3Igd2hlbgoJICBhbGwgc3RyZWFtcyBoYXZlIGFuIHJ0c3A6Ly8gY29udHJvbCBhdHRyaWJ1dGUsIHBvc3QgYW4gcmVkaXJlY3QgbWVzc2FnZSB3aXRoIGFuCgkgIHJ0c3Atc2RwOi8vIHVybCBjb250YWluaW5nIHRoZSBTRFAuCgkgIEZpeGVzICM2MjgyMTQKCjIwMTAtMDktMTAgMTA6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRml4IGJ1aWxkIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgkgIEFkZCBzb21lIGlmZGVmcyB0byBwcmV2ZW50IGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byB1bnVzZWQKCSAgdmFyaWFibGVzCgoyMDEwLTA5LTA5IDIzOjU5OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGFsbG93IHJ1bm5pbmcgc3RhdGUgdGVzdHMgZm9yIGFsbCBlbGVtZW50cwoJICBOb3cgb25lIGNhbiB1c2UgR1NUX05PX1NUQVRFX0lHTk9SRV9FTEVNRU5UUz0xIG1ha2UgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCSAgdG8gdHJ5IGVsZW1lbnRzIHRoYXQgd291bGQgbm9ybWFseSBiZSBza2lwcGVkLgoKMjAxMC0wOS0wOSAxNzoxODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgZGVwZW5kZW5jeSBvbiBsaWJzd3NjYWxlCgkgIEl0J3Mgbm90IHVzZWQgaW4gdGhlIGdzdCBvcGVuY3YgcGx1Z2luLgoKMjAxMC0wOS0wOSAxNTowMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogZGVmaW5lIENWX05PX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgdG8gc3VwcHJlc3Mgd2FybmluZ3MgY2F1c2VkIGJ5IGNvbXBhdCBoZWFkZXIKCSAgQ29tcGlsZSB3aXRoIC1EQ1ZfTk9fQkFDS1dBUkRfQ09NUEFUSUJJTElUWSBmb3Igbm93LCBzbyB0aGF0IHRoZSBjb21wYXQgaGVhZGVyCgkgIGRvZXNuJ3QgZ2V0IGluY2x1ZGVkLCB3aGljaCBjYXVzZXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdCAoaXQgc2VlbXMpIGNhbid0IGJlCgkgIHN3aXRjaGVkIG9mZiBlYXNpbHkuIEFzIGEgcmVzdWx0LCB3ZSBhbHNvIHNwZWNpZnkgYSBtYXguIHZlcnNpb24gaW4gY29uZmlndXJlLAoJICBzbyB0aGUgYnVpbGQgZG9lc24ndCBicmVhayBpZiBvdXIgY29kZSBkb2Vzbid0IGNvbXBpbGUgYWdhaW5zdCBuZXdlciBvcGVuY3YKCSAgdmVyc2lvbnMgYW55IG1vcmUgd2l0aCB0aGF0IGZsYWcuCgoyMDEwLTA5LTA5IDExOjA3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogYXZvaWQgJ3VudXNlZCcgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBpbmxpbmUgZnVuY3Rpb25zIGluIG9wZW5jdiBoZWFkZXJzCgkgIE92ZXJyaWRlIENWX0lOTElORSB0byBhdm9pZCAndW51c2VkJyBnY2Mgd2FybmluZ3MuIEdMaWIgd2lsbCB0YWtlIGNhcmUgb2YgZGVmaW5pbmcKCSAgJ2lubGluZScgc3VmZmljaWVudGx5IGFuZCBPcGVuQ1YncyBkZWZpbmUgaXNuJ3QgZ29vZCBlbm91Z2ggdG8gYXZvaWQgJ3VudXNlZCcKCSAgY29tcGlsZXIgd2FybmluZ3MgKGF0IGxlYXN0IGluIHZlcnNpb24gMi4xLjApLgoKMjAxMC0wOS0wOSAxMDoyNzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBvcGVuY3Y6IHVwZGF0ZSBwbHVnaW4gc291cmNlIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luCgoyMDEwLTA5LTA4IDIzOjU5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogQWRkIG1vcmUgcGFyYW1ldGVycwoJICBFeHBvc2UgdGhlIHBhcmFtZXRlcnMgb2YgY3ZIYWFyRGV0ZWN0T2JqZWN0cyBpbiBmYWNlZGV0ZWN0CgkgIGVsZW1lbnQuCgoyMDEwLTA5LTA4IDE0OjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogUmVmYWN0b3IgZmlsZXMgc3RydWN0dXJlCgkgIFJlbW92ZSBpbnRlcm5hbCBmb2xkZXJzIGFuZCBwdXQgYWxsIGNvZGUgaW5zaWRlIHRoZSBtYWluIHBsdWdpbgoJICBmb2xkZXIuIEFsc28gZml4ZXMgc29tZSBidWlsZGluZyB3YXJuaW5ncy4KCjIwMTAtMDktMDggMDA6MDg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogQWRkcyBuZXcgcGx1Z2luIG9wZW5jdgoJICBNb3ZlcyBvcGVuY3YgcGx1Z2luIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vRWxsZW8vZ3N0LW9wZW5jdgoJICBpbnRvIC1iYWQgbW9kdWxlLgoKMjAxMC0wOS0wNSAyMzowOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBQb3N0IGFuIHVzZWZ1bCBtZXNzYWdlCgkgIEFkZCBhIG1lc3NhZ2UgdG8gYmUgcG9zdCB3aGVuIGZhY2VzIGFyZSBmb3VuZCBvbiBhIGZyYW1lIHRoYXQKCSAgY29udGFpbnMgYWxsIGZhY2VzIG9uIGEgc2luZ2xlIG1lc3NhZ2UgYW5kIGFsc28gaGFzCgkgIHRpbWVzdGFtcC9ydW5uaW5nL3NlZ21lbnQgdGltZXMgZm9yIHRoYXQgYnVmZmVyIHNvIGl0CgkgIGNhbiBiZSBpZGVudGlmaWVkLgoJICBUaGlzIG1lc3NhZ2UgaXMgY2FsbGVkICdmYWNlZGV0ZWN0JyBhbmQgaGFzIGEgJ2ZhY2VzJyBsaXN0CgkgIG9mIHN0cnVjdHVyZXMgd2l0aCBhbGwgZmFjZXMuCgkgIFRoZSBvbGQgJ2ZhY2UnIG1lc3NhZ2UgaXMgc3RpbGwgcG9zdGVkIGZvciBlYWNoIGZhY2UgZm91bmQsIGJ1dAoJICBpdCBpcyBub3QgcmVhbGx5IHVzZWZ1bCBhcyBpdCBkb2Vzbid0IGhhdmUgYW55IHJlZmVyZW5jZSB0byB0aGUKCSAgYnVmZmVyIHRoYXQgZ2VuZXJhdGVkIGl0LgoKMjAxMC0wOS0wNSAxNzo1MzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IFVzZSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICBQb3J0IGZhY2VkZXRlY3QgdG8gdXNlIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIHRvIGluaGVyaXQgYWxsIHRoZSBnb29kbmVzcyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0vR3N0VmlkZW9GaWx0ZXIKCSAgYWxyZWFkeSBoYW5kbGVzLgoKMjAxMC0wOS0wMyAyMDoyNzozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkgIG9wZW5jdmJhc2V0cmFuczogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIFBvcnQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtIHRvIEdzdFZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzLgoKMjAxMC0wNS0yNCAxOToyODo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJICBjdmxhcGxhY2U6IGFkZHMgbmV3IGN2bGFwbGFjZSBlbGVtZW50CgkgIEFkZHMgbmV3IGN2bGFwbGFjZSBlbGVtZW50LgoJICBBbHNvIGFkZHMgYSBuZXcgb3BlbmN2YmFzZXRyYW5zZm9ybSBmdW5jdGlvbiB0byBiZSBvdmVycmlkZW4KCSAgYnkgY2hpbGRyZW4gY2xhc3NlczogdGhlIGN2X3NldF9jYXBzLCBpdCBhbGxvd3MgY2hpbGRyZW4gY2xhc3NlcwoJICB0byBrbm93IHdoYXQgYXJlIHRoZXkgZ29pbmcgdG8gaGFuZGxlIGFuZCBwcmVwYXJlIHByb3Blcmx5LgoKMjAxMC0wNS0xOSAyMDoxMTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSAgQWRkcyBuZXcgZWxlbWVudCBjdnNvYmVsCgoyMDEwLTA1LTE3IDE5OjA0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGRzIG5ldyBlbGVtZW50IGN2ZXF1YWxpemVoaXN0CgoyMDEwLTA1LTE2IDE5OjE0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZHMgbmV3IGVsZW1lbnRzIGN2ZGlsYXRlIGFuZCBjdmVyb2RlCgkgIEFkZHMgMiBzaW1pbGFyIGVsZW1lbnRzIChzbyBzaW1pbGFyIHRoZXkgaGF2ZSB0aGVpciBvd24gYmFzZWNsYXNzKSwKCSAgY3ZkaWxhdGUgYW5kIGN2ZXJvZGUuCgoyMDEwLTA1LTE2IDE3OjAzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkgIGN2c21vb3RoOiBJbXByb3ZlIHBhcmFtZXRlcnMgZG9jcwoKMjAxMC0wNS0xNiAxNjozNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJICBjdnNtb290aDogRGVhY3RpdmF0aW5nIGJsdXItbm8tc2NhbGUKCSAgRGVhY3RpdmF0ZSBibHVyLW5vLXNjYWxlIGJlY2F1c2UgYmFzZXRyYW5zZm9ybSBkb2Vzbid0IHByb3ZpZGUgYSB3YXkKCSAgdG8gb3ZlcnJpZGUgZ2V0Y2FwcyBmb3IgcGFkcywgYWx3YXlzIHVzaW5nIHRlbXBsYXRlY2FwcyBpbmRlcGVuZGVudAoJICBvZiBwcm9wZXJ0aWVzLgoKMjAxMC0wNS0xNiAxMTo0MjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgY3ZzbW9vdGg6IEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1ncmF5CgoyMDEwLTA1LTE2IDAwOjQ2OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBBZGRpbmcgZ3N0b3BlbmN2dXRpbHMKCSAgQWRkcyBhIGZpbGUgdG8ga2VlcCB1dGlsaXRhcnkgZnVuY3Rpb25zIHRvZ2V0aGVyCgoyMDEwLTA1LTExIDIwOjExOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIGN2c21vb3RoOiBBZGRzIG5ldyBlbGVtZW50IGN2c21vb3RoCgkgIEFkZHMgbmV3IGN2c21vb3RoIGVsZW1lbnQKCjIwMTAtMDUtMDUgMDE6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkgIGdzdG9wZW5jdmJhc2V0cmFuczogQWRkcyB0aGlzIG5ldyBiYXNlIGNsYXNzCgkgIEFkZHMgR3N0T3BlbmN2QmFzZVRyYW5zZm9ybSBhcyBiYXNlIGNsYXNzIGZvciBzaW1wbGUgMToxCgkgIG9wZW5jdiBmaWx0ZXJzCgoyMDEwLTA0LTI2IDE3OjE4OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IEFsbG9jYXRlIGEgbmV3IGJ1ZmZlciBmb3Igb3V0cHV0CgkgIFVzZSBhIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgZm9yIG91dHB1dCwgYW5kIHJlbGVhc2UgdGhlIGludGVybWVkaWFyeQoJICBpbWFnZSB1c2VkLgoJICBBbHNvIGFkZCBhIFRPRE8gZm9yIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50CgoyMDEwLTA0LTI2IDE3OjM0OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkgIGZhY2VibHVyOiBmYWNlZGV0ZWN0OiB0ZW1wbGF0ZW1hdGNoOiB0ZXh0d3JpdGU6IFNldCBidWZmZXIgdG8gd3JpdGFibGUKCSAgVGhlc2UgZWxlbWVudHMgb3BlcmF0ZXMgaW4gcGxhY2UsIHNldCBidWZmZXIgdG8gd3JpdGFibGUgYmVmb3JlCgkgIG9wZXJhdGluZy4KCjIwMTAtMDQtMjYgMTY6MTc6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogRml4IGNoYWluIGJ1ZmZlciBoYW5kbGluZwoJICBBbGxvY2F0ZSBhIG5ldyBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIGlucHV0IGJ1ZmZlcgoJICBwb2ludGluZyB0byB0aGUgaW50ZXJuYWwgY3ZDRWRnZSBvcGVuY3YncyBJcGxJbWFnZSBkYXRhLCB3aGljaAoJICBtaWdodCBjaGFuZ2UsIGNvbnNlcXVlbnRseSBjaGFuZ2luZyB0aGUgYnVmZmVyLgoKMjAxMC0wNC0yNSAxNjoyNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkgIGNvbmZpZ3VyZTogZW5hYmxlIC1XZXJyb3IgdG8gaW1wcm92ZSBjb2RlCgkgIC1XZXJyb3Igb24gZ2l0IHZlcnNpb24gaXMgdXNlZnVsIHRvIGtlZXAgY29kZSBjbGVhbi4KCjIwMTAtMDMtMDIgMTM6NTU6MDUgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlIFJHQiBjb2xvdXJzLiAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEzOjE4OjE5ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSAidGhpY2tuZXNzIiBvZiBmb250IAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTI6NDU6NTggKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgeCBhbmQgeSBjby1vcmRpbmF0ZXMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMjo0MToyNSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIGFkZGVkIHRoZSBwcm9wZXJ5IGZvciBzZXR0aW5nIHggYW5kIHkgY28tb3JkaW5hdGVzIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDItMjggMTQ6MzY6MzUgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgQXBwbHkgU3RlZmFuJ3MgZmFjZWJsdXIgZml4ZXMgdG8gZmFjZWRldGVjdAoKMjAxMC0wMi0yOCAxNDozMjowMCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkIHNpbXBsZSB0ZXh0IG92ZXJsYXkgcGx1Z2luCgoyMDEwLTAyLTE5IDIyOjUwOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBmaXggaGFuZGxpbmcgb2YgcHJvZmlsZSBwcm9wZXJ0eS4KCSAgRHVwIGFuZCBmcmVlIHRoZSBzdHJpbmcuIEZpeGVzIGxlYWtpbmcgbmV3IHZhbHVlcyBhbmQgYXZvaWRzIGNyYXNoaW5nCgkgIGdzdC1pbnNwZWN0LgoKMjAwOS0xMi0xOCAxMToyMzo1OSArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBGaXggaW5jbHVkZXMgaW4gdGVtcGxhdGUgbWF0Y2hpbmcgZWxlbWVudAoKMjAwOS0wNS0yNiAxMjo1OTowNCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEJyaW5nIGNvZGUgaW4gdG8gbGluZSB3aXRoIGdlbmVyYWwgR3N0cmVhbWVyIHN0YW5kYXJkcwoKMjAwOS0wNS0yNSAxMjo1NzoxMSArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBGaXggc2VnZmF1bHQgaW4gdGVtcGxhdGUgbWF0Y2ggZWxlbWVudCBpZiBubyB0ZW1wbGF0ZSBoYXMgYmVlbiBzZXQgQWRkIHRlbXBsYXRlIG1hdGNoaW5nIHB5dGhvbiBleGFtcGxlIEFkZCBhdXRvdG9vbCwgbGlidG9vbCBhbmQgcGtnY29uZmlnIGRlcGVuZGVuY2llcyB0byBkZWJpYW4gY29udHJvbCBmaWxlCgoyMDA5LTA1LTI1IDExOjI2OjI4ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGQgYSBwbHVnaW4gZm9yIGF1dG9tYXRpY2FsbHkgYmx1cnJpbmcgZmFjZXMgaW4gdmlkZW9zIGFuZCBpbWFnZXMKCjIwMDktMDUtMTMgMTI6MTk6NDMgKzAzMDAgIE5vYW0gPG5vYW1AZHVhcG92Lihub25lKT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEFkZGVkIGNvbnRyb2wgZm9yIGNoYW5naW5nIG1ldGhvZAoKMjAwOS0wNS0xMyAxMTo1NTozMSArMDMwMCAgTm9hbSA8bm9hbUBkdWFwb3YuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBBZGRlZCB0ZW1wbGF0ZW1hdGNoIGVsZW1lbnQKCjIwMDktMDUtMDggMTE6NTU6MjAgKzA1MzAgIGthcGlsIDxrYXBpbEBrYXBpbC1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBSZWdpc3RlcmluZyBhbGwgZWxlbWVudHMgdW5kZXIgb3BlbmN2IHBsdWdpbgoKMjAwOS0wNS0wNiAxNTo0OTo0MiArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBGaXggdGhlIHByb2ZpbGUgcGFyYW1ldGVyIGluIHRoZSBmYWNlZGV0ZWN0IGVsZW1lbnQgdG8gYWNjZXB0IGEgc3RyaW5nIGNvcnJlY3RseQoKMjAwOS0wNS0wNiAxNTozMzo0OCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIFJlbGVhc2UgT3BlbkNWIGltYWdlcyB3aGVuIGZpbmFsaXppbmcgZWxlbWVudHMKCjIwMDktMDUtMDYgMTY6Mzg6MTUgKzA1MzAgIGthcGlsIDxrYXBpbEBrYXBpbC1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBGaXhlZCBjb21waWxlIGVycm9ycwoKMjAwOS0wNC0yMCAxODo0MDoxMyArMDMwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBNYWtlIGZhY2UgZGV0ZWN0IHNlbmQgYSBidXMgbWVzc2FnZSB3aGVuIGEgZmFjZSBpcyBkZXRlY3RlZCBXcml0ZSBhIHNpbXBsZSBweXRob24gZXhhbXBsZSBmb3IgZmFjZSBkZXRlY3Rpb24KCjIwMDktMDQtMTggMjM6NDM6MzcgKzAzMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgQWRkIGZhY2UgZGV0ZWN0aW9uIGVsZW1lbnQgQ2xlYW4gdXAgc29tZSBnZW5lcmF0ZWQgZmlsZXMgVXBkYXRlIGEgZmV3IG9sZCBjb21tZW50cwoKMjAwOC0xMi0xOCAyMzo0ODo0MCArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5pbjoKCSAgKiBSZW1vdmUgc29tZSBhdXRvdG9vbHMgZ2VuZXJhdGVkIGZpbGVzCgoyMDA4LTEyLTE4IDIzOjQzOjM2ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICAqIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IHRocmVzaG9sZDIgYXQgcnVudGltZSAqIEltcGxlbWVudCBweXJhbWlkIHNlZ21lbnRhdGlvbiBlbGVtZW50ICogTWFrZSBtYXNraW5nIG9wdGlvbmFsIG9uIGVkZ2VkZXRlY3QgKiBDbGVhbiB1cCBlZGdlZGV0ZWN0LCBhZGQgZWxlbWVudCBkZXRhaWxzICogSW1wbGVtZW50ZWQgZWRnZSBkZXRlY3QgZWxlbWVudAoKMjAxMC0wOS0wOCAxNjo1Nzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IE1hcCBHU1RfVEFHX0FMQlVNX0FSVElTVAoJICBNYXAgR1NUX1RBR19BTEJVTV9BUlRJU1QgdG8gVFBFMiBhcyBpdCBpcyBkb25lIGluCgkgIC1iYXNlIGlkM3RhZyBtYXBwaW5ncy4KCjIwMTAtMDgtMDkgMDA6MTU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBVc2UgQUdfR1NUX0NIRUNLX0dTVF9QTFVHSU5TX3tHT09ELFVHTFksQkFELEZGTVBFR30gbWFjcm9zIGZyb20gY29tbW9uCgkgIHRvIGZpbmQgcGx1Z2luIGRpcmVjdG9yaWVzIGZvciB0aGUgdmFyaW91cyBtb2R1bGVzIG91ciB1bml0IHRlc3RzIGRlcGVuZAoJICBvbiBpbiBhbiB1bmluc3RhbGxlZCBlbnZpcm9ubWVudC4gVGhpcyBtYWtlcyBzdXJlIHRoZXNlIHBsdWdpbnMgYXJlIGZvdW5kCgkgIGV2ZW4gd2hlbiBkaXN0Y2hlY2tpbmcgKHdoaWNoIGhhcHBlbnMgZnJvbSBhIHN1YmRpcmVjdG9yeSwgd2hpY2ggbWVhbnMKCSAgdGhhdCB0aGUgY3VycmVudGx5IHVzZWQgdHJpY2sgdG8gZmluZCB0aGUgdW5pbnN0YWxsZWQgZGlyZWN0b3JpZXMgb2YKCSAgdGhlc2UgbW9kdWxlcyBkb2Vzbid0IHdvcmsgaW4gdGhhdCBjYXNlKS4KCjIwMTAtMDktMDcgMTk6MTY6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIHNnbWwgZmlsZSBhIGJpdAoKMjAxMC0wOS0wNyAxNToyMjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgZG9jczogYWRkIDIgbmV3IGZpbGVzIHRvIGdpdGlnbm9yZQoJICBBZGRzIGdzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3IGFuZAoJICBnc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldyB0byAuZ2l0aWdub3JlCgoyMDEwLTA5LTA3IDE0OjQ1OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IE1ha2UgaXQgbW9yZSBjb2xvcnNwYWNlIHNtYXJ0CgkgIFRoaXMgbWFrZXMgaXQgYWJsZSB0byByZWNvbWJpbmUgcmdiIGltYWdlcywgbWFraW5nIGl0IHBvc3NpYmxlCgkgIHRvIGFkZCB0YWdzIHRvIHJnYiBqcGVncyBhcyB3ZWxsLgoJICBVc2VzIGEgc2ltcGxlIHN0cmF0ZWd5IHRvIGNoZWNrIHdoYXQgYXJlIHRoZSBwb3NzaWJsZSBjb2xvcnNwYWNlcwoJICBhbmQgYXZvaWQgYWRkaW5nIGpmaWYgdG8gb25lcyB0aGF0IGFyZW4ndCBZVVYvR3JheS4KCjIwMTAtMDktMDcgMTA6MjY6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdHMgZm9yIG5ldyBwcGkgdGFncwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIGlmIGxpYmV4aWYgY2FuIHJlYWQgb3VyCgkgIEVYSUZfVEFHX1gvWV9SRVNPTFVUSU9OIHRhZ3MuCgoyMDEwLTA5LTA3IDEzOjI4OjIwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEZpeCBlbGVtZW50IGRldGFpbHMKCjIwMTAtMDktMDcgMTE6NDI6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjMmUxMGJmIHRvIGFhMGQxZDAKCjIwMTAtMDktMDcgMTE6MzQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhIGZvciByZWNlbnQgY2hhbmdlcwoKMjAxMC0wOS0wNyAxMToyODo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgZG9jczogcmVtb3ZlIGludHJvc3BlY3Rpb24gZmlsZXMgZm9yIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbWVyZ2VkLCBtb3ZlZCBvciByZW5hbWVkCgkgIFRoZSBhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSBwbHVnaW5zIGhhdmUgYmVlbiBtZXJnZWQgaW50byB0aGUgYXVkaW9wYXJzZXJzYmFkCgkgIHBsdWdpbi4gVGhlIGFpZmZwYXJzZSBwbHVnaW4gaGFzIGJlZW4gcmVuYW1lZCB0byBhaWZmIHNpbmNlIGl0IGFsc28gY29udGFpbnMgYW4KCSAgYWlmZiBtdXhlciBub3cuIFRoZSBhbXJ3YiBwbHVnaW4gaGFzIGJlZW4gcmVuYW1lZCB0byBhbXJ3YmVuYy4gVGhlIGR2YnNyYyBwbHVnaW4KCSAgaGFzIGJlZW4gcmVuYW1lZCB0byBkdmIuIFRoZSBnc3RydHBtYW5hZ2VyIHBsdWdpbiBoYXMgbW92ZWQgdG8gLWdvb2QuIFRoZSB4MjY0CgkgIHBsdWdpbiBoYXMgbW92ZWQgdG8gLXVnbHkuIEFuZCB0aGUgbXBlZ3RzcGFyc2UgcGx1Z2luIGhhcyBiZWVuIG1lcmdlZCBpbnRvIHRoZQoJICBtcGVnZGVtdXgyIHBsdWdpbi4KCjIwMTAtMDktMDcgMDA6MTY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggZGlzdGNoZWNrIGJ5IGRpc3RpbmcgbmV3IGphY2sgZXhhbXBsZSBkaXJlY3RvcnkKCSAgQWxzbyBhZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMTAtMDktMDYgMTc6MTc6NTQgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgZXhhbXBsZXM6IGFkZCB0ZXN0IHRvIGRlbW9uc3RyYXRlIGphY2tfY2xpZW50X3QgdXNhZ2UKCjIwMTAtMDktMDYgMTY6MTE6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZGVkIGNsaWVudCBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjoyNjowNyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGphY2s6IHJlbW92ZWQgdW51c2VkIGZpbGUgZ3N0amFja2Jpbi5jCgkgIFRoaXMgaXMgYSAwLjggbGVmdG92ZXIuCgoyMDEwLTA5LTA2IDE0OjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbm9uLVRJTUUgc2VlayBldmVudCBpcyBzaW1wbHkgbm90IGhhbmRsZWQKCjIwMTAtMDktMDYgMDk6Mjg6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEJ1bXAgLWNvcmUvLWJhc2UgcmVxdWlyZW1lbnRzIHRvIDAuMTAuMzAuMQoJICBXZSBuZWVkIDAuMTAuMzAuMSB0byBoYXZlIGxhdGVzdCB0YWdzIGluIGNvcmUvYmFzZSBmb3IgamlmbXV4CgkgIHRlc3RzLgoKMjAxMC0wOC0yNiAwMjo1NDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogTWFrZSB0aGUgZHRtZnNyYyBhY2NlcHQgZXZlbnRzIHNlbnQgd2l0aCBnc3RfZWxlbWVudF9zZW5kX2V2ZW50CgkgIFRoZSBkb2Mgc2F5cyB0byB1c2UgZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCBvbiB0aGUgcGlwZWxpbmUsIGJ1dCBpZgoJICB3ZSBhcmUgdG8gY2FsbCBpdCBvbiB0aGUgZWxlbWVudCBpdHNlbGYsIGl0J3MgYSBub29wLiBUaGlzIHNob3VsZCBtYWtlIGl0CgkgIGhhbmRsZSB0aGUgZXZlbnQgcHJvcGVybHkgYmVmb3JlIGRlbGVnYXRpbmcgaXQgdG8gYmFzZXNyYy4KCjIwMTAtMDktMDUgMTY6MzA6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHNldCBuZXcgZnJhbWVyYXRlIG9uIG91dHB1dCBjYXBzIGluc3RlYWQgb2YgaW5wdXQgY2FwcwoJICBJdCdzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGUgY2FwcyBwcm92aWRlZCBieSB0aGUgc2V0Y2FwcyBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODMyNgoKMjAxMC0wOS0wNiAwMzoyMzoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBUYWtlIHBhcmFtZXRlcnMgb24gY29tbWFuZCBsaW5lCgkgIE5vdyBpdCdzIGFjdHVhbGx5IHVzZWZ1bC4KCjIwMTAtMDktMDYgMDM6MDQ6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0wNiAxMDoyOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBVc2UgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mICVsbHUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMuCgoyMDEwLTA5LTA2IDExOjAzOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBzeW5jIHdpdGggY29weSBpbiAtYmFzZQoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCB0byBhdm9pZCBjb3BpZXMuCgoyMDEwLTA4LTI0IDExOjUwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IG1vdmUgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGJvaWxlcnBsYXRlIG1hY3JvCgoyMDEwLTA4LTI0IDExOjUwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiB1c2UgR1NUX0JPSUxFUlBMQVRFIG1hY3JvCgoyMDEwLTA4LTI0IDExOjI2OjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogZG9uJ3QgYWRkIGEgZ19tYWlubG9vcCBkZXBlbmRlbmN5CgkgIEp1c3QgdXBkYXRlIHRoZSBmcHMtbWVzc2FnZSBmcm9tIHRoZSBwcm9iZSBoYW5kbGVyLgoKMjAxMC0wOC0xOCAxMTozNTo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHNtYWxsIGNsZWFudXAKCSAgQWRkIG9uZSBvbmUgZXhhbXBsZSBhbmQgbG93ZXIgdGhlIGZvbid0IHNpemUgZm9yIHRoZSBvdmVybGF5LgoKMjAxMC0wOC0yMyAwOTo1MToyNSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IG1lYXN1cmUgZnBzIGluIHRlcm1zIG9mIHdhbGwgY2xvY2sgdGltZQoJICBNZWFzdXJlIGZwcyBpbiB0ZXJtcyBvZiBzeXN0ZW0gY2xvY2ssIHJhdGhlciB0aGFuIHBpcGVsaW5lIGNsb2NrLCB0byBnZXQKCSAgYW4gYWNjdXJhdGUgbWVhdXJlIG9mIGZwcy4KCjIwMTAtMDktMDUgMjI6NDE6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wOS0wNSAyMjozMDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHNzaW06IEFkZCBJNDIwIHN1cHBvcnQKCjIwMTAtMDktMDUgMjE6MzQ6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgbW9yZSBmb3JtYXRzCgoyMDEwLTA5LTA1IDE4OjU4OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDIzOjQwOjA4ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldzoKCSAgUmVtb3ZlIC5uZXcgZG9jcyBmaWxlcyBmcm9tIHRoZSByZXBvc2l0b3J5CgoyMDEwLTA5LTA1IDE1OjM0OjEzIC0wNzAwICBKb25hdGhhbiBSb3NzZXIgPGpvbmF0aGFuLnJvc3NlckByZC5iYmMuY28udWs+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBjb2dfdmlydF9mcmFtZV9uZXdfY29udmVydF91OCgpCgkgIENvbnZlcnNpb24gd2FzIHVzaW5nIHVuaW5pdGlhbGl6ZWQgZGF0YSBpbnN0ZWFkIG9mIHNvdXJjZSBmcmFtZS4KCSAgRml4ZXMgIzYyNjQyNS4KCjIwMTAtMDktMDUgMTI6MDY6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkgIGNvZzogRml4IGdlbmVyYXRlZCBPcmMgY29kZQoJICBBbHNvIGRyb3AgcmVxdWlyZWQgT3JjIGJhY2sgZG93biB0byAwLjQuNy4KCjIwMTAtMDgtMzAgMjE6MjI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBqaWZtdXggaW5zdGVhZCBvZiBtZXRhZGF0YW11eAoJICBVc2UgamlmbXV4IGVsZW1lbnQgdG8gd3JpdGUgZXhpZi94bXAgdGFncyBpbnN0ZWFkIG9mIG1ldGFkYXRhbXV4CgoyMDEwLTA4LTMwIDIxOjIxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIG5ldyB0YWdzIGZyb20gLWJhc2UKCSAgUmVwbGFjZSBwcml2YXRlIHRhZ3MgZnJvbSBtZXRhZGF0YSBwbHVnaW4gd2l0aCB0aGUgbmV3IGdlbmVyaWMgdGFncwoJICBmcm9tIC1iYXNlLgoKMjAxMC0wOS0wMyAxNDoxMjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZWZhY3RvciB0ZXN0cwoJICBUaGUgdGVzdHMgd2VyZSBkb25lIGluIDIgc3RlcHMsIGZpcnN0IHRoZXJlIHdhcyBhIHN1aXRlCgkgIHRoYXQgZ2VuZXJhdGVkIHRoZSBmaWxlcyAod2hpbGUgY2hlY2tpbmcgdGhhdCBjYW1lcmFiaW4KCSAgd2FzIG9wZXJhdGluZyBjb3JyZWN0bHkpLiBUaGVuIHRoZXJlIHdhcyBhIHNlY29uZCBzdWl0ZQoJICB0aGF0IHdhcyBydW4gdG8gY2hlY2sgdGhhdCBhbGwgZmlsZXMgd2VyZSBwbGF5YWJsZSB3aXRoCgkgIHBsYXliaW4yLiBUaG9zZSBzZWNvbmQgdGVzdHMgd2VyZSBub3QgYmVpbmcgcnVuIGJlY2F1c2UKCSAgdGhleSB3ZXJlIGNoZWNraW5nIGlmIGNhbWVyYWJpbiB3YXMgaW5pdGlhbGl6ZWQsIGFuZCBpdAoJICBuZXZlciB3YXMgYXMgdGhvc2UgdGVzdHMgZGlkbid0IHVzZSBhICdzZXR1cCcgZnVuY3Rpb24uCgkgIFRoaXMgY29tbWl0IHJlZmFjdG9ycyB0aGUgdGVzdHMgYnkgcmVtb3ZpbmcgdGhpcyBzZWNvbmQKCSAgc3VpdGUgYW5kIG1lcmdpbmcgaXRzIHZhbGlkYXRpb24gd2l0aCB0aGUgZmlyc3Qgc3VpdGUncwoJICBmdW5jdGlvbnMuCgoyMDEwLTA4LTI0IDE0OjQzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIGdlbyBsb2NhdGlvbiB0YWdzIHRlc3RzCgkgIEFkZHMgc29tZSBtb3JlIHRlc3RzIGZvciBnZW8gbG9jYXRpb24gdGFncy4KCSAgQWxzbyB1c2UgbGliZXhpZiBjb25zdGFudHMgZm9yIHRoZSBleGlmIHRhZ3MnIGlkcy4KCjIwMTAtMDgtMjQgMDk6MDI6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IFJlZmFjdG9yIHRlc3RpbmcgY29kZSBhIGxpdHRsZQoJICBSZWZhY3RvciB0ZXN0aW5nIGNvZGUgdG8gYWxsb3cgdGVzdGluZyBmb3IgY2FzZXMgd2hlcmUgdGhlCgkgIHNhbWUgZ3N0cmVhbWVyIHRhZyBpcyBtYXBwZWQgdG8gbXVsdGlwbGUgZXhpZiB0YWdzLgoKMjAxMC0wOC0yMyAxMTo1NzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogTW9yZSB0ZXN0cyBmb3IgZXhpZiB0YWdzCgkgIFJlZmFjdG9ycyBzb21lIGNvZGUgYW5kIGFkZCBzb21lIG1vcmUgdGVzdHMgZm9yIGV4aWYgdGFncwoKMjAxMC0wOS0wMiAxMToxODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEbyBub3QgbGltaXQgdGhlIHNpemUgb2YgdGhlIGltYWdlIG9uIDE2Yml0cwoJICBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDE2IHRvIHJlcHJlc2VudCB0aGUgc2l6ZSBvZiB0aGUgZW5jb2RlZCBpbWFnZSwKCSAgdGhpcyB3b3VsZCBtYWtlIHNvbWUgcmVjb21iaW5lZCBpbWFnZXMgbG9zZSBtb3N0IG9mIHRoZWlyIGRhdGEgYW5kCgkgIHNob3cgbGlrZSBhIGJpZyBibGFjayBpbWFnZSB3aXRoIGEgc21hbGwgbGluZSBvZiBjb250ZW50IG9uIHRvcC4KCSAgQWxzbyBhZGRzIGEgbWlub3IgbG9nIG1lc3NhZ2UuCgoyMDEwLTA4LTIxIDE3OjAxOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSAgamlmbXV4OiBTZXQgb3V0cHV0IHBhZCBjYXBzCgkgIFNldCBvdXRwdXQgcGFkIGNhcHMgdG8gZ3VhcmFudGVlIGNhcHMgb24gdGhlIGJ1ZmZlcnMgYmVpbmcKCSAgcHVzaGVkIGRvd25zdHJlYW0uCgoyMDEwLTA4LTIwIDA4OjM0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERldGVjdCBFT0kgY29ycmVjdGx5CgkgIEVPSSBhcmUgbm90IGFsd2F5cyBhdCB0aGUgbGFzdCA0IGJ5dGVzLiBXZSBuZWVkIHRvIHNlYXJjaAoJICB0aGUgbGFzdCA1IGJ5dGVzIHRvIGZpbmQgdGhlIDB4RkZEOSBzZXF1ZW5jZSBhcyBqcGVnZW5jIHNlZW1zCgkgIHRvIHJvdW5kIHRoZSBidWZmZXIgc2l6ZSB0byB0aGUgbmV4dCA0IG11bHRpcGxlLgoKMjAxMC0wOC0xOSAyMjo0Mzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBQdXQgQVBQMCBmaXJzdCBhbHdheXMKCSAgRml4ZXMgdGhlIG9yZGVyIG9mIHRoZSBBUFAwL0FQUDEgbWFya2Vycy4gQVBQMCBzaG91bGQKCSAgYmUgZmlyc3QuCgoyMDEwLTA5LTAyIDAxOjMyOjEwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHBhcnNlICJwaXhlbC1hc3BlY3QtcmF0aW8iIGZyb20gc3RyZWFtCgoyMDEwLTA5LTAyIDAxOjA0OjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgbm9uIHdvcmtpbmcgdW51c2VkIGNvZGUgZnJvbSBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA5LTAyIDAwOjE3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogR3N0QmFzZVZpZGVvRGVjb2RlciBzZXQgZGVmYXVsdCBwYXIgdG8gMS8xCgoyMDEwLTA5LTAxIDIzOjQ3OjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZ2V0X2N1cnJlbnRfZnJhbWUKCSAgd2Ugbm93IHBhc3MgdGhlIGN1cnJlbnQgZnJhbWUgdG8gR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFyc2VfZGF0YQoJICBhbHNvIGZpeHVwIHNvbWUgZXJyb3JzIGluIHZkcGF1bXBlZzRkZWMgc28gdGhhdCBpdCBub3cgZ2l2ZXMgY29ycmVjdCBvdXRwdXQKCjIwMTAtMDktMDEgMjI6MDM6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkgIHZkcGF1OiByZXdvcmsgR3N0QmFzZVZpZGVvRGVjb2RlciB0aW1lc3RhbXBpbmcKCSAgdGltZXN0YW1wcyBhcmUgbm93IGNob3NlbiBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgoJICB1cHN0cmVhbSAtPiBwYXJzZWQgYnkgZGVjb2RlciAtPiBjYWxjdWxhdGVkIGZyb20gdGltZXN0YW1wIG9mZnNldAoJICB3ZSBhbHNvIGNoZWNrIHRoZSB0aW1lc3RhbXBzIHN1cHBsaWVkIGZyb20gdXBzdHJlYW0vZGVjb2RlciB0byBzZWUgaWYgdGhleQoJICBhdGxlYXN0IGlzIGluY3JlYXNpbmcuCgoyMDEwLTA5LTAxIDE3OjQ1OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggaW52YWxpZCB1bnJlZgoKMjAxMC0wOS0wNSAxMjoxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNSAxMTo0NTozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBCdW1wIG9yYyByZXF1aXJlbWVudCB0byAwLjQuOC4xCgkgIDAuNC43IGNyZWF0ZXMgY29kZSB3aXRoIHVuYXZhaWxhYmxlIHN5bWJvbHMKCSAgMC40LjggY3JlYXRlcyBidWdneSBjb2RlCgkgIExldCdzIHVzZSBnaXQgaGVhZCBvZiBvcmMgKHdoaWNoIHN0aWxsIHdvbid0IHdvcmsgYmVjYXVzZSBnaXQgaGVhZAoJICBvZiBvcmMgc3RpbGwgY2xhaW1zIHRvIGJlIDAuNC44KQoJICBUaGlzIGFsbG93cyBhbGwgdGhlIHJlc3Qgb2YgLWJhZCB0byBidWlsZCBwcm9wZXJseS4KCjIwMTAtMDctMTQgMjE6MDA6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgKGdjYyA0LjQuNCkKCjIwMTAtMDktMDQgMTE6MzU6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkgIGNvZzogdXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMTAtMDgtMjYgMjI6MDM6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rOiBSZS1lbmFibGUgWVZZVSBhbmQgVVlWWQoJICBZVllVIG9uIG15IG1hY2hpbmUgYXBwZWFycyB0byBiZSBkb2luZyBzb2Z0d2FyZSBjb252ZXJzaW9uCgkgIChhbmQgZG9pbmcgaXQgaW5jb3JyZWN0bHkpLgoKMjAxMC0wOC0yNiAyMDoxNTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGNvbnN0cnVjdCBlbGVtZW50IG5hbWVzCgoyMDEwLTA4LTIyIDIxOjQzOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBuZXcgZWxlbWVudAoKMjAxMC0wOC0yMCAxNzoyNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IEFkZCBmYXN0IHBhdGhzIGZvciBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMTAtMDgtMjAgMTc6MjM6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgT3JjIDAuNC43CgoyMDEwLTA4LTEzIDIxOjU4OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSAgZWxlbWVudC1tYWtlcjogRml4IHVwIEdzdEVsZW1lbnQKCjIwMTAtMDgtMTMgMjE6NTQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiBJbXByb3ZlbWVudHMgaW4gY29sb3JzcGFjZSBhbmQgc2NhbGVyCgkgIEFkZCBmYXN0IHBhdGhzIGZvciBZVVYtPllVViBjb252ZXJzaW9ucyBhbmQgT3JjIGNvZGUgZm9yIGFsbC4KCSAgVXNlIE9yYyBmb3IgaG9yaXpvbnRhbCByZXNhbXBsaW5nLgoKMjAxMC0wNi0xMSAxNDozOTozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBtaW5vciBjbGVhbnVwcwoJICBJbXByb3ZlIGVsZW1lbnQgZGVzY3JpcHRpb25zLCByZW1vdmUgdW51c2VkIGZpbGVzLCBjb2RlIGNsZWFudXAuCgoyMDEwLTA5LTAzIDEwOjAzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoJICBUZW1wb3JhcmlseSBkaXNhYmxlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgZ2l0IGJ1aWxkcyB1bnRpbAoJICB0aGUgY29kZSBpcyB1cGRhdGVkIGZvciB0aGUgR1NUX0ZMT1dfSVNfKiBtYWNybyBkZXByZWNhdGlvbnMuCgoyMDEwLTA5LTAxIDIyOjA1OjQzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBJbml0aWFsaXplIFBFUyBwYWNrZXQgYmVmb3JlIGdldHRpbmcgdGhlIGhlYWRlciBzaXplLgoJICBUaGUgUEVTIGhlYWRlciBsZW5ndGggaXMgY2FsY3VsYXRlZCBiZWZvcmUgc2V0dGluZyB0aGUgZHluYW1pYyBmbGFncywgcmV0dXJuaW5nCgkgIGEgd3JvbmcgdmFsdWUuIFNtYWxsIGZyYW1lcyB0aGF0IHNob3VsZCBiZSBzZW50IGluIGEgc2luZ2xlIFRTIHBhY2tldCBhcmUKCSAgc3Bhd25lZCB0byBhIG5ldyBwYWNrZXQgYmVjYXVzZSBvZiB0aGF0IGVycm9yLiBGb3IgYXVkaW8gc3RyZWFtcyB3aGVyZSBhIHNpbmdsZQoJICBmcmFtZSBjYW4gY29wZSBpbiBvbmUgVFMgcGFja2V0IGl0IGludHJvZHVjZXMgYSBodWdlIG92ZXJoZWFkLgoJICBGb3IgYSAxMDBCIHBhY2tldCwgd2UgcHJlcGFyZSBhIFRTIHBhY2tldCB3aXRoIGEgcGF5bG9hZCBvZigxMDArOSlCLiBUaGVuLCB3ZQoJICB3cml0ZSB0aGUgVFMgaGVhZGVyIHVzaW5nIHRoaXMgdmFsdWUgaW4gdHNtdXhfd3JpdGVfdHNfaGVhZGVyLCBhbmQgY2FsbAoJICB0c211eF9zdHJlYW1fZ2V0X2RhdGEoKS4gVGhlIGR5bmFtaWMgZmxhZ3Mgd2hlcmUgbm90IHNldCB5ZXQgYW5kIG5vdwoJICB0c211eF9zdHJlYW1fcGVzX2hlYWRlcl9sZW5ndGgoKSByZXR1cm5zIDE0QiBpbnN0ZWFkIG9mIDlCLiBUaGUgcGF5bG9hZCBvZiB0aGUKCSAgVFMgcGFja2V0IGlzIDExNEIsIDVCIG1vcmUgdGhhbiB3aGF0IHdhcyBjYWxjdWxhdGVkLiAxMDlCIGFyZSBzZW50IGluIGEgZmlyc3QKCSAgcGFja2V0IGFuZCB0aGUgcmVtYWluaW5nIDVCIGFyZSBzZW50IGluIGFub3RoZXIgb25lLgoJICBGaXhlcyBidWcgIzYyODU0OC4KCjIwMTAtMDktMDIgMTA6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IENsYXNzaWZ5IGFzIEZpbHRlci9Db252ZXJ0ZXIvVmlkZW8gaW5zdGVhZCBvZiBlZmZlY3QKCSAgRml4ZXMgYnVnICM2Mjg1NzAuCgoyMDEwLTA5LTAxIDE4OjMwOjE3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogVXNlIGNvcnJlY3QgZWxlbWVudCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIGlzIG5vIGVmZmVjdCBidXQgYW4gYW5hbHl6ZXIuIEZpeGVzIGJ1ZyAjNjI4NTI3LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMTAtMDktMDMgMDA6MjM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjAKCjIwMTAtMDktMDMgMDA6MjE6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIHJlbGVhc2UKCjIwMTAtMDktMDMgMDA6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc2wucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA5LTAzIDAwOjAxOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBkb2FwOiByZWZlcmVuY2UgZ2l0IHJlcG9zaXRvcnkgaW5zdGVhZCBvZiBDVlMgcmVwb3NpdG9yeQoKMjAxMC0wOS0wMiAyMjozOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGZpeCB3cm9uZyB1c2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IKCjIwMTAtMDgtMzAgMTY6MDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMzAgMTU6MjA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IERvbid0IGluc3RhbGwgZ3N0LWNhbWVyYS51aQoJICBUaGUgZXhhbXBsZXMgYXJlIG5vdCBtZWFudCB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBleGVjdXRhYmxlcyBvZgoJICB0aGVtIGFyZSBub3QgaW5zdGFsbGVkIGFueXdheS4KCSAgRml4ZXMgYnVnICM2Mjc5MTguCgoyMDEwLTA4LTI1IDIyOjU2OjAzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbmxvY2sgdGhlIHJpZ2h0IG11dGV4CgkgIFRoZSBtdXRleCBsb2NrZWQgaXMgZm9yIHRoZSAnbXV4JyBvYmplY3QsIGJ1dCB3ZSB1bmxvY2sgdGhlCgkgIHBhZCwgd2hpY2ggbWVhbnMgdGhhdCBpZiB0aGUgcnRwbXV4IGdldHMgYSBmbHVzaCwgdGhlbiB0aGUKCSAgb2JqZWN0IGxvY2sgd2lsbCBzdGF5IGxvY2tlZCBmb3JldmVyLCBjYXVzaW5nIGl0IHRvIGZyZWV6ZQoJICB0aGUgbmV4dCB0aW1lIGl0IHRyaWVzIHRvIHRha2UgaXQuCgkgIEZpeGVzIGJ1ZyAjNjI3OTkxCgoyMDEwLTA4LTI3IDE1OjQ5OjM5ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQnVtcCBuZW9uIHJlcXVpcmVtZW50IHRvIDAuMjcuMAoJICBOZWVkZWQgaW4gb3JkZXIgdG8gaGF2ZSBuZV9zZXRfY29ubmVjdF90aW1lb3V0CgkgIEZpeGVzIGJ1ZyAjNjI1MDc2CgoyMDEwLTA4LTIxIDIxOjQyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuNCBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xNiAxMjozNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF1dG9kZXRlY3Qgb3V0LW9mLW9yZGVyIGlucHV0IHRpbWVzdGFtcHMgYW5kIGRldGVybWluZSBEVFMgYWNjb3JkaW5nbHkKCSAgRmF2b3VyIHVzaW5nIGlucHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGZvciBEVFMsIGJ1dCBmYWxsYmFjayB0byB1c2luZyBidWZmZXIKCSAgZHVyYXRpb24gKGFjY3VtdWxhdGlvbikgaWYgaW5wdXQgdHMgZGV0ZWN0ZWQgb3V0LW9mLW9yZGVyLgoJICBGaXhlcyAjNjI0MjEyLgoKMjAxMC0wOC0yMCAxMTowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBdm9pZCByZWNvbWJpbmluZyBSR0IganBlZ3MKCSAgSkZJRiBvbmx5IGFsbG93cyBZVVYgYXMgY29sb3JzcGFjZSwgd2hlbiB3ZSByZWNlaXZlIGFuIFJHQiBqcGVnLAoJICB3ZSBzaG91bGQganVzdCBwdXNoIGl0IGZvcndhcmQgd2l0aG91dCBhZGRpbmcgdGhlIEpGSUYgbWFya2VyLgoJICBGaXhlcyAjNjI3NDEzCgoyMDEwLTA4LTEzIDE0OjM0OjIxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTZXQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFja2V0aXplZCB0byBUUlVFIGFzIHNvb24gYXMgcG9zc2libGUKCSAgVGhpcyBmaXhlcyBhbiBpbmZpbml0ZSBsb29wIGlmIGFuIEVPUyBldmVudCBpcyByZWNlaXZlZCBiZWZvcmUKCSAgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQoKSBpcyBjYWxsZWQsIGUuZy4gaW1tZWRpYXRlbHkgd2hlbiB0aGUKCSAgcGFkcyBhcmUgYWN0aXZhdGVkLgoJICBGaXhlcyBidWcgIzYyNjgxNS4KCjIwMTAtMDgtMTMgMTc6MjQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjAzOjA3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogTWFyayBpbmxpbmUgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUKCSAgT3RoZXJ3aXNlIGl0IGZhaWxzIHRvIGNvcnJlY3RseSBsaW5rIHRoZW0gaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjY3MAoKMjAxMC0wOC0xMSAxNzoxOTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTEgMTc6MTk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSAgZ3NldHRpbmdzOiBmaXggbWFrZSBkaXN0Y2hlY2sKCSAgQ2xlYW4gdXAgZmlsZSB3ZSBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZS4KCjIwMTAtMDgtMTEgMTI6MDk6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogYmxhY2tsaXN0IGdzZXR0aW5ncyogZWxlbWVudHMgZm9yIGdlbmVyaWMvc3RhdGVzIHRlc3QKCSAgV2hlbiB0aGUgdGVzdCBpcyBydW4sIHRoZSBzY2hlbWEgZmlsZSB3b24ndCBiZSBpbnN0YWxsZWQgeWV0LAoJICBhbmQgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHNldAoJICB0byBmb3JjZSBHU2V0dGluZ3MgdG8gbG9vayBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MDMKCjIwMTAtMDgtMTEgMDA6MjM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjIgcHJlLXJlbGVhc2UKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDkgMDA6NDI6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50IHRvIHJlbGVhc2VkIHZlcnNpb25zCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA5IDAwOjQyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA4IDE3OjA5OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBjaGVja3M6IHNraXAgamlmbXV4IHRlc3RzIGlmIHJlcXVpcmVkIGVsZW1lbnRzIGFyZW4ndCBhdmFpbGFibGUKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMTEgMTE6NTI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICBsZWdhY3lyZXNhbXBsZTogTGluayBhZ2FpbnN0ICQoTElCTSkgZm9yIHJpbnQoKSBhbmQgZnJpZW5kcwoKMjAxMC0wOC0xMSAxMTo1MToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkgIGdzZXR0aW5nczogQWRkIGdzZXR0aW5ncy5tNCBmb3IgdGhlIGdzZXR0aW5ncyBtYWNyb3MKCjIwMTAtMDgtMTEgMTE6NTA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJICBpbnZ0ZWxlY2luZTogTGluayBhZ2FpbnN0ICQoTElCTSkgZm9yIHNxcnQoKSBhbmQgZnJpZW5kcwoKMjAxMC0wOC0xMSAxMTozOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrIHRvIGFjdHVhbGx5IHN1Y2NlZWQgaWYgQ0VMVCA+PSAwLjUgaXMgYXZhaWxhYmxlCgkgIEFsc28gcmVtb3ZlIHRoZSBBQ19NU0dfUkVTVUxUUyhbbm9dKSwgcGtnLWNvbmZpZyBkb2VzIHRoaXMgZm9yIHVzIGFscmVhZHkuCgoyMDEwLTA4LTEwIDEwOjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmQyMDU0YiB0byAzZThkYjFkCgoyMDEwLTA4LTA5IDE3OjIwOjExICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgInpvb20iIHBhcmFtZXRlciB0byBzcXVhcmUgZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMTY6NTU6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHNxdWFyZSAid2lkdGgiIGFuZCAiaGVpZ2h0IiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAxMDowMzoyMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0byBtaXJyb3IgZmlsdGVyCgkgIEFkZCBhICJtb2RlIiBlbnVtIHByb3BlcnR5IHRvIG1pcnJvciB0aGF0IGRlZmluZXMgaG93IHRvIHNwbGl0IHRoZSBmcmFtZQoJICBhbmQgd2l0aCBzaWRlIHJlZmxlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMDg6NTI6NTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgInpvb20iIHBhcmFtZXRlciB0byBidWxnZSBmaWx0ZXIKCSAgUmV3b3JrIGJ1bGdlIG1hcHBpbmcgZnVuY3Rpb24gdG8gZ2l2ZSBtb3JlIHByZWRpY3RhYmxlIHJlc3VsdHMuCgkgIE5vdyB0aGUgYnVsZ2UgaXMgZG9uZSBkaXZpZGluZyBieSBhIHNjYWxlIGZhY3RvciB0aGF0IHNtb290aHN0ZXBzIGZyb20KCSAgInpvb20iIGF0IHRoZSBjZW50ZXIgdG8gMS4wIGF0ICJyYWRpdXMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDE2OjE2OjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYW4gImludGVuc2l0eSIgcGFyYW1ldGVyIHRvIHN0cmV0Y2ggZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6NDM6MTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHR1bm5lbCAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjoyOToxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBidWxnZSAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjoyNTowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHN0cmV0Y2ggInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDggMjM6NTY6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkgIHZkcGF1bXBlZzRkZWM6IGZpeCB0eXBvIGluIGRlZmF1bHRfbm9uX2ludHJhX3F1YW50X21hdHJpeAoKMjAxMC0wNy0xNCAxMTowMzozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmg6CgkgIHZkcGF1OiBhZGQgbXBlZzQgcGFydDIgZGVjb2RlcgoKMjAxMC0wOC0wOCAxMjo0NjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgY2hlY2tzOiBza2lwIGlkM211eCB1bml0IHRlc3RzIHRoYXQgbmVlZCBpZDNkZW11eCBpZiBpZDNkZW11eCBpcyBub3QgYXZhaWxhYmxlCgoyMDEwLTA4LTA4IDEyOjI2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidWlsZCBhbmQgZGlzdCBuZXcgY29sb3JlZmZlY3RzIHBsdWdpbgoJICBGaXhlcyBtYWtlIGRpc3RjaGVjay4KCjIwMTAtMDgtMDggMTI6MDE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBPbmx5IGNoZWNrIHRoZSBwbHVnaW4gZmlsZW5hbWVzLCBub3QgdGhlIGRpcmVjdG9yeSBuYW1lcwoKMjAxMC0wOC0wOCAxMTo1Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IERvbid0IHRyeSB0byByZWdpc3Rlci9sb2FkIHRoZSBzYW1lIGZyZWkwciBwbHVnaW4gYXQgZGlmZmVyZW50IGxvY2F0aW9ucyB0d2ljZQoJICBUaGlzIGNvdWxkIGhhcHBlbiBiZWNhdXNlIGZvciBleGFtcGxlIC91c3IvbGliIGlzIGxpbmtlZAoJICB0byAvdXNyL2xpYjY0IGFuZCBib3RoIGFyZSBsb2FkZWQuIFRoZSBmcmVpMHIgc3BlY2lmaWNhdGlvbgoJICBzYXlzIHRoYXQgdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIG11c3Qgb25seSBiZSBjYWxsZWQgb25jZQoJICBhbmQgZm9yIHNvbWUgcGx1Z2luIHdlaXJkIHRoaW5ncyAoaW5jbHVkaW5nIGNyYXNoZXMpIGFyZQoJICBoYXBwZW5pbmcuCgkgIEZpeGVzIGJ1ZyAjNjIzNzEwLgoKMjAxMC0wOC0wNiAwMTo1NjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFsaWduIGFjdHVhbCBkZWZhdWx0IHZhbHVlcyBmb3IgcHJvcGVydGllcyB3aXRoIGRlZmF1bHRzIGluIHBhcmFtIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTQwNAoKMjAxMC0wOC0wNiAxMjoxNDowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGF1OiBmaXggZGVzdHJ1Y3Rpb24gb2YgR3N0VmRwRGV2aWNlIHdoZW4gaXQgZmFpbGVkIHRvIG9wZW4KCSAgb25seSBjbG9zZSBkaXNwbGF5IGluIGZpbmFsaXplIGFuZCBjaGVjayBpZiB2ZHBfZGVjb2Rlcl9kZXN0cm95IGlzIGF2YWlsYWJsZQoJICBiZWZvcmUgd2UgdXNlIGl0CgoyMDEwLTA4LTA1IDIzOjU1OjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiB1c2Ugc2VwYXJhdGUgbXV0ZXggZm9yIGRldmljZSBsb2NraW5nCgkgIHdlIGNhbid0IHVzZSBHU1RfT0JKRUNUX0xPQ0sgc2luY2UgdGhhdCBjYXVzZSBwcm9ibGVtcyB3aGVuIHdlIHRyeSB0byBwb3N0CgkgIGVycm9ycywgZHVlIHRvIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSBhbHNvIHRha2luZyB0aGUgR1NUX09CSkVDVF9MT0NLCgoyMDEwLTA4LTA2IDExOjA0OjU3ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBhZGQgY29ubmVjdC10aW1lb3V0IGFuZCByZWFkLXRpbWVvdXQgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MDc2CgoyMDEwLTA4LTA2IDEwOjQ0OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBhZGQgImNvb2tpZXMiIHByb3BlcnR5CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTYW1lZXIgTmFpawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MTc0CgoyMDEwLTA3LTI1IDE3OjA0OjEyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGNsb3NlIG91ciBvd24gd2luZG93IHdoZW4gY2hhbmdpbmcgdGhlIHdpbmRvdyBpZAoJICBJZiB3ZSBjcmVhdGVkIHRoZSB3aW5kb3csIGl0IG5lZWRzIHRvIGJlIGNsb3NlZCBhZnRlciBzZXR0aW5nIGEgbmV3CgkgIHdpbmRvdyBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDI5MAoKMjAxMC0wNy0yNSAxNzowMToxOSArMDIwMCAgUmFpbW8gSmFydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBhbGxvdyBjaGFuZ2luZyB3aW5kb3cgSUQgd2hpbHN0IGluIFBMQVlJTkcgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDI5MAoKMjAxMC0wOC0wNiAwMzoxOToxNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBMb2FkIHBsdWdpbnMgaW4gL3Vzci97bG9jYWwvLH1saWJ7MzIsNjR9L2ZyZWkwci0xIHRvbwoJICBMb2FkcyB0aGUgcGx1Z2lucyBpbiBtb3JlIHBhdGhzIHdoZXJlIHRoZXkgY291bGQgYmUgaW5zdGFsbGVkIGJ5CgkgIG11bHRpbGliIGRpc3RyaWJ1dGlvbnMuCgkgIEZpeGVzICM2MjM3MTAKCjIwMTAtMDgtMDUgMTM6NTc6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTUxOTU3MSB0byBiZDIwNTRiCgoyMDEwLTA4LTAzIDEwOjA4OjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgY2ljbGVndCAicmFkaXVzIiBwcm9wZXJ0eSByZWxhdGl2ZQoJICBNYWtlIHRoZSAicmFkaXVzIiBwcm9wZXJ0eSBvZiBDaXJjbGVHZW9tZXRyaWNUcmFuc2Zvcm0gcmVsYXRpdmUuCgkgIFRoaXMgaXMgbW9yZSBjb2hlcmVudCB3aXRoIHRoZSB3YXkgW3gseV0tY2VudGVyIHByb3BlcnRpZXMgYXJlIGhhbmRsZWQKCSAgYW5kIGFsbG93IHRvIHNldCBhIHJhZGl1cyB3aXRob3V0IGtub3dpbmcgdGhlIHZpZGVvIHNpemUuCgkgIFJhZGl1cyBpcyBkZWZpbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgY2lyY2xlIGNpcmN1bXNjcmliZWQgYWJvdXQgdGhlCgkgIHZpZGVvIHJlY3RhbmdsZSBzbyB0aGF0IGEgcG9pbnQgaW4gdGhlIGNlbnRlciBoYXMgcmFkaXVzIDAuMCBhbmQgb25lIGluCgkgIGEgdmVydGV4IGhhcyByYWRpdXMgMS4wLgoJICBOb3RlIHRoYXQgdGhpcyBpcyBub3QgYSByZWdyZXNzaW9uIGZyb20gdGhlIHByZXZpb3VzIGFic29sdXRlIHdheSBvZgoJICBkZWZpbmluZyB0aGUgcmFkaXVzIGFzIGEgdXNlciB3aG8ga25vd3MgdGhlIHZpZGVvIHNpemUgY2FuIGVhc2lseQoJICBjYWxjdWxhdGUgdGhlIHJlbGF0aXZlIHJhZGl1cyBhbmQgc2V0IHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5NTkKCjIwMTAtMDgtMDQgMjM6NTA6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBtaW5vciBjb2RlIGNsZWFuLXVwCgkgIEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gd3JpdGUgdGV4dCBmcmFtZXMgd2l0aCBqdXN0IG9uZSBzdHJpbmcuCgoyMDEwLTA4LTA0IDIzOjQ0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMC0wNi0xNCAyMDowNzozMyArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIGlkM211eDogYWRkIHN1cHBvcnQgZm9yIGJlYXRzLXBlci1taW51dGUgdGFnCgkgIFdyaXRlIGJlYXRzIHBlciBtaW51dGUgaW50byB0aGUgVEJQTSBmcmFtZSwgYW5kIGFkZCB1bml0CgkgIHRlc3QgZm9yIGlkM211eCwgYmFzZWQgb24gaWQzdjJtdXggdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNTIzCgoyMDEwLTA4LTA0IDE5OjI2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJICBjb25maWd1cmU6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBJU08gQzg5IG9yIEM5OSBhbmQgd2hpY2ggcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQKCSAgVGhpcyBmaXJzdCBjaGVja3Mgd2hhdCBpcyByZXF1aXJlZCBmb3IgSVNPIEM5OSBzdXBwb3J0IGFuZCBzZXRzIHRoZSByZWxldmFudAoJICBjb21waWxlciBwYXJhbWV0ZXJzIGFuZCBpZiBubyBDOTkgY29tcGlsZXIgaXMgZm91bmQsIGl0IGNoZWNrcyBmb3IgYQoJICBDODkgY29tcGlsZXIuIFRoaXMgZW5hYmxlcyB1cyB0byBjaGVjayBmb3IgYW5kIHVzZSBDODkvQzk5IGZ1bmN0aW9ucwoJICB0aGF0IGdjYyBoaWRlcyBmcm9tIHVzIHdpdGhvdXQgdGhlIGNvcnJlY3QgY29tcGlsZXIgcGFyYW1ldGVycy4KCjIwMTAtMDgtMDQgMTA6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkgIGNvbG9yZWZmZWN0czogQWRkIHRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA4LTA0IDEwOjExOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNvbG9yZWZmZWN0czogTWlub3IgY2xlYW51cAoKMjAxMC0wOC0wNCAxMDowOTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJICBjb2xvcmVmZmVjdHM6IEltcHJvdmUgcHJvcGVydHkgZGVzY3JpcHRpb24gYSBiaXQKCjIwMTAtMDgtMDQgMTA6MDg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSAgY29sb3JlZmZlY3RzOiBEb24ndCB1c2UgdGhlIGZpeGVkX2NhcHMgZnVuYyBvbiB0aGUgcGFkcwoJICBjb2xvcmVmZmVjdHMgY2FuIHJlbmVnb3RpYXRlIGR1cmluZyBwbGF5YmFjayB3aXRob3V0IGFueSBwcm9ibGVtcy4KCjIwMTAtMDgtMDMgMTQ6Mzk6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBhZGQgYXl1diBzdXBwb3J0CgkgIEN1cnJlbnRseSBpbXBsZW1lbnRlZCBzd2l0Y2hpbmcgZnJvbSB5dXYgdG8gcmdiLCBsb29raW5nIHVwIHJnYiBmcm9tIHRoZQoJICB0YWJsZSBpbiB0aGUgdXN1YWwgd2F5LCBnZXR0aW5nIGJhY2sgdG8geXV2LiBXaXRoIGx1bWEgbG9va3VwIHByZXNldHMKCSAgKHNlcGlhLCBoZWF0LCB4cmF5KSBhIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gaXMgc2F2ZWQgZGlyZWN0bHkgbG9va2luZwoJICB1cCByZ2IgZm9yIGEgZ2l2ZW4gWSBhbmQgY29udmVydGluZyB0byB5dXYuCgkgIFByb2JhYmx5IHRoaXMgbGF0dGVyIHN0ZXAgY2FuIGV2ZW4gYmUgbWFkZSBmYXN0ZXIgcHJlY2FsY3VsYXRpbmcgYSBsdW1hCgkgIHRvIHl1diB0YWJsZSBpbiBhbiBvdXRlciBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1ODE3CgoyMDEwLTA4LTAxIDIzOjAzOjI0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY29sb3JlZmZlY3RzOiBuZXcgcGx1Z2luIGZvciBsb29rdXAgdGFibGUgY29sb3IgbWFwcGluZwoJICBJbXBsZW1lbnRzIGEgY29sb3IgbG9va3VwIHRhYmxlIGZpbHRlciB3aXRoIDQgcHJlc2V0czoKCSAgLSBoZWF0OiBmYWtlIGhlYXQgY2FtZXJhIGVmZmVjdAoJICAtIHNlcGlhOiBzZXBpYSB0b25pbmcKCSAgLSB4cmF5OiBpbnZlcnQgKyBzaGFkZSB0byBibHVlCgkgIC0geHBybzogY3Jvc3MgcHJvY2VzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1ODE3CgoyMDEwLTA4LTAzIDEwOjI5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICBkb2NzOiBBZGQgbG90cyBvZiBnYXVkaWVmZmVjdHMvZ2VvbWV0cmljdHJhbnNmb3JtIHN5bWJvbHMgdG8gdGhlIGRvY3MKCjIwMTAtMDgtMDIgMTE6MzA6NTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgImZpc2hleWUiCgkgIFBvcnRzIGdsZWZmZWN0cyAiZmlzaGV5ZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgRmFrZSBmaXNoZXllIGxlbnMgZmlsdGVyLiBTb21ld2hhdCBlbXBpcmljIGltcGxlbWVudGF0aW9uIGJlY2F1c2UgSQoJICBkaWRuJ3QgZmluZCBhbnkgZ29vZCBhbGdvcml0aG0gdGhhdCBkb2VzIGl0IHdpdGggbmljZSByZXN1bHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDExOjEyOjQyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAibWlycm9yIgoJICBQb3J0cyBnbGVmZmVjdHMgIm1pcnJvciIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgU2ltcGxlIHlldCBlZmZlY3RpdmUgbWlycm9yIGVmZmVjdCwgc3BsaXRzIHRoZSBpbWFnZSBpbnRvIGhhbHZlcyBhbmQKCSAgcmVmbGVjdCB0aGUgZmlyc3QgaW50byB0aGUgc2Vjb25kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDExOjAxOjMxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAic3F1YXJlIgoJICBQb3J0cyBnbGVmZmVjdHMgInNxdWFyZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgTWFwcyBhIHJlZ2lvbiBhcm91bmQgdGhlIGNlbnRlciBpbnRvIGEgem9vbWVkIHNxdWFyZSBhbmQgc21vb3RobHkgZ2V0CgkgIGJhY2sgdG8gbm9ybWFsIHpvb20uIFdpdGggZmFjZXMgaXQgbWFrZXMgYSBmdW5ueSAiY3ViZS1mYWNlIiBlZmZlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTA6NDY6NDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJ0dW5uZWwiCgkgIFBvcnRzIGdsZWZmZWN0cyAidHVubmVsIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBEbyBub3RoaW5nIGluIGEgY2lyY2xlIGFyb3VuZCB0aGUgY2VudGVyIGFuZCB6b29tIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMDk6Mzk6NTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAiYnVsZ2UiCgkgIFBvcnRzIGdsZWZmZWN0cyAiYnVsZ2UiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIEFkZHMgYSBwcm90dWJlcmFuY2UgYXJvdW5kIHRoZSBjZW50ZXIgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMDk6MTc6MDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAic3RyZXRjaCIKCSAgUG9ydHMgZ2xlZmZlY3RzICJzdHJldGNoIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBTaHJpbmtzIHRoZSBpbWFnZSBhcm91bmQgdGhlIGNlbnRlciBhbmQgZ3JhZHVhbGx5IHJldHVybiB0byBub3JtYWwgem9vbQoJICBjcmVhdGluZyBmdW5ueSBjYXJpY2F0dXJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxODozMzo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogc2V0IGJhY2sgcGx1Z2luIHJhbmtzIHRvIEdTVF9SQU5LX05PTkUKCSAgdGhlIHByZXZpb3VzIGNoYW5nZSB3YXMgbm90IG1lYW50IHRvIHNsaXAgaW4KCjIwMTAtMDgtMDIgMTg6MjM6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBzbGlnaHRseSBmaXggR3N0QmFzZVZpZGVvRGVjb2RlciB0aW1lc3RhbXBpbmcKCSAgY2xlYXIgdGltZXN0YW1wcyBvbiBmbHVzaCBhbmQgcHJvcGVybHkgY2FsY3VsYXRlIHRoZSBmcmFtZSdzIGVuZCBvZmZzZXQKCjIwMTAtMDgtMDEgMTI6MzI6MzEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkgIHZkcGF1OiBpbml0IGRlYnVnIGNhdGVnb3J5IGluIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF90eXBlCgoyMDEwLTA4LTAyIDIwOjQxOjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkgIGdhdWRpZWZmZWN0czogQWRkIEdhdXNzaWFuIEJsdXIgZWZmZWN0LCBhbmQgYnJpZWYgZXhhbXBsZS4KCjIwMTAtMDctMzAgMjM6NTk6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBmaXggd2FybmluZyBvbiBvc3guCgoyMDEwLTA3LTMwIDIyOjI3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogYWRkIGVycm9yIHJlcG9ydGluZyB0byBkZXZpY2UgY3JlYXRpb24KCjIwMTAtMDctMzAgMTY6NTQ6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggc21hbGwgdHlwbyBpbiBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA3LTMwIDE0OjQ3OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogdXNlIGdzdF92ZHBfeXV2X3RvX3ZpZGVvX2NhcHMgaW4gR3N0VmRwVmlkZW9TcmNQYWQgdG8gdHJhbnNmb3JtIHNldCBjYXBzCgkgIHRoaXMgd2F5IHdlJ2xsIGtlZXAgb3RoZXIgYWxsIG90aGVyIGZpZWxkcyBpbiB0aGUgY2FwcyB3aGljaCB3ZSBkaWRuJ3QgdGFrZSBpbgoJICBhY2NvdW50IHdoZW4gd2UgbWFudWFsbHkgY3JlYXRlZCB0aGUgInZpZGVvL3gtdmRwYXUtdmlkZW8iIGNhcHMKCjIwMTAtMDctMzAgMTQ6NDQ6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW5hbWUgZ3N0X3ZkcF92aWRlb19idWZmZXJfcGFyc2VfeXV2X2NhcHMgYW5kIG1vdmUgaXQgdG8gZ3N0dmRwdXRpbHMuaAoKMjAxMC0wNy0zMCAxNDowNzoyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1OiBHc3RWZHBPdXRwdXRTcmNQYWQgdXNlIGdzdF9wYWRfYWxsb2Mgd2hlbiBvdXRwdXR0aW5nIHZpZGVvL3gtcmF3LXJnYgoJICB3ZSBpbXBsZW1lbnQgImFjY2VwdGNhcHMiIHRvIHByZXZlbnQgdXMgZnJvbSBnZXR0aW5nIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50CgkgIHdpZHRoIGFuZCBoZWlnaHQgZnJvbSB3aGF0IHdlIHJlcXVlc3RlZC4KCjIwMTAtMDctMzAgMTE6Mjk6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1OiBwcm9wZXJseSByZW1vdmUgImNocm9tYS10eXBlIiBmaWVsZCBmcm9tIHRyYW5zZm9ybWVkIGNhcHMKCjIwMTAtMDctMzAgMTE6Mjc6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHVzZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlclBvb2wgdG8gY2FjaGUgb3VyIGJ1ZmZlcnMKCSAgVGhpcyB3YXkgd2UnbGwgcmV1c2UgdGhlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVycyBpZiB0aGV5J3JlIG9mIHRoZSBzYW1lCgkgIHNpemUgYW5kIGNocm9tYS10eXBlL3JnYmEtZm9ybWF0LgoJICBBbHNvIHJlbW92ZSBnc3RfdmRwX291dHB1dF9zcmNfcGFkX25lZ290aWF0ZSBhbmQgc2V0IGEgInNldGNhcHMiIGZ1bmN0aW9uIG9uCgkgIEdzdFZkcE91dHB1dFNyY1BhZCBpbnN0ZWFkLCBsZWF2aW5nIG5lZ290aWF0aW9uIHRvIEdzdFZkcFZpZGVvUG9zdFByb2Nlc3MuCgoyMDEwLTA3LTMwIDExOjIwOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiB1c2UgR3N0VmRwT3V0cHV0QnVmZmVyUG9vbCB0byBhbGxvYyBvdXIgYnVmZmVycwoJICBUaGlzIHdheSB3ZSdsbCByZXVzZSBvdXIgR3N0VmRwT3V0cHV0QnVmZmVycyBpZiB0aGV5J3JlIG9mIHRoZSBzYW1lIHNpemUgYW5kCgkgIHJnYmEtZm9ybWF0CgoyMDEwLTA3LTMwIDExOjE2OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogdXNlIEdzdFZkcFZpZGVvQnVmZmVyUG9vbCBpbiBHc3RWZHBWaWRlb1NyY1BhZAoJICBXZSBhbHNvIGRvbid0IHBhZF9hbGxvYyBvdXIgR3N0VmRwVmlkZW9CdWZmZXJzIGFueW1vcmUgc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydAoJICBkb3duc3RyZWFtIG5lZ290YXRpb24gYW55d2F5LgoKMjAxMC0wNy0zMCAxMTowNjoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IGFkZCBHc3RWZHBPdXRwdXRCdWZmZXJQb29sCgkgIEdzdFZkcFZpZGVvT3V0cHV0UG9vbCBpcyBhIHN1YmNsYXNzIG9mIEdzdFZkcEJ1ZmZlclBvb2wgdGhhdCBjYWNoZXMKCSAgR3N0VmRwT3V0cHV0QnVmZmVycwoKMjAxMC0wNy0zMCAxMTowMToxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBhZGQgR3N0VmRwVmlkZW9CdWZmZXJQb29sCgkgIEdzdFZkcFZpZGVvQnVmZmVyUG9vbCBpcyBhIHN1YmNsYXNzIG9mIEdzdFZkcEJ1ZmZlciB0aGF0IGNhY2hlcwoJICBHc3RWZHBWaWRlb0J1ZmZlcnMKCjIwMTAtMDctMzAgMTA6NTU6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkgIHZkcGF1OiBhZGQgR3N0VmRwQnVmZmVyUG9vbCBiYXNlIGNsYXNzCgkgIEdzdFZkcEJ1ZmZlclBvb2wgd2lsbCBiZSB1c2VkIHRvIGNhY2hlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVycyBzaW5jZQoJICBjcmVhdGluZyB0aGVzZSBjYW4gYmUgYSBjb3N0bHkgb3BlcmF0aW9uIG9uIHNvbWUgaGFyZHdhcmUuCgoyMDEwLTA3LTI4IDIxOjM5OjEyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVtb3ZlIEdzdFZkcE91dHB1dFNyY1BhZCAidGVtcGxhdGUtY2FwcyIgcHJvcGVydHkKCSAgaW5zdGVhZCB3ZSBkbyBhcyBHc3RWZHBWaWRlb1NyY1BhZCBhbmQgdXNlIHRoZSAidGVtcGwiIHByb3BlcnR5IG9mIEdzdFBhZCwKCSAgd2hpY2ggZW5hYmxlIHVzIHRvIGNoYW5nZSB0aGUgc2lnbmF0dXJlIG9mIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfbmV3IHRvIG1hdGNoCgkgIGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUKCjIwMTAtMDctMjggMjE6MTU6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVtb3ZlIEdzdFZkcE91dHB1dFNyY1BhZCBjb2RlIHRvIHJldHJpZXZlIHRoZSBkZXZpY2UgZnJvbSBkb3duc3RyZWFtCgkgIHdlIG5vdyBubyBsb25nZXIgdHJ5IHRvIGdldCB0aGUgR3N0VmRwRGV2aWNlIGZyb20gZG93bnN0cmVhbSBzaW5jZSBpdCBpbgoJICBwcmFjdGljZSBkaWRuJ3QgZ2l2ZSB1cyBhbnl0aGluZyBhbmQgY29tcGxpY2F0ZXMgdGhlIGNvZGUgYWxvdC4gTmV2ZXJ0aGVsZXNzIGlmIGRldmljZQoJICBkaXN0cmlidXRpb24gc2hvdWxkIGJlIGRvbmUgdGhlcmUncyBwcm9iYWJseSBhIGxvdCBiZXR0ZXIgd2F5cyB0byBkbyBpdC4KCSAgSW5zdGVhZCB3ZSBub3cgc2ltcGx5IGFxdWlyZSB0aGUgZGV2aWNlIGluIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyB3aGVuIHdlJ3JlCgkgIGdvaW5nIGludG8gUEFVU0VELgoKMjAxMC0wNy0yNyAyMzoyNDo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2xlYW51cCBHc3RWZHBEZWNvZGVyIG9wZW5pbmcgb2YgaXQncyBHc3RWZHBEZXZpY2UKCSAgd2Ugbm93IG5vIGxvbmdlciB0cnkgdG8gZ2V0IHRoZSBHc3RWZHBEZXZpY2UgZnJvbSBkb3duc3RyZWFtIHNpbmNlIGl0IGluCgkgIHByYWN0aWNlIGRpZG4ndCBnaXZlIHVzIGFueXRoaW5nIGFuZCBjb21wbGljYXRlcyB0aGUgY29kZSBhbG90LiBOZXZlcnRoZWxlc3MgaWYgZGV2aWNlCgkgIGRpc3RyaWJ1dGlvbiBzaG91bGQgYmUgZG9uZSB0aGVyZSdzIHByb2JhYmx5IGEgbG90IGJldHRlciB3YXlzIHRvIGRvIGl0LgoKMjAxMC0wNy0yNyAyMzoxNzowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBHc3RCYXNlVmlkZW9EZWNvZGVyIHJldHVybmluZyB3cm9uZyBHc3RTdGF0ZUNoYW5nZVJldHVybgoJICB3aGVuIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfW3N0YXJ0fHN0b3BdIGZhaWxzIHdlIG5vdyByZXR1cm4KCSAgR1NUX1NUQVRFX0NIQU5HRV9GQUlMVVJFIGluc3RlYWQgb2YgcmV0dXJuaW5nIHdoYXQgdGhlIHBhcmVudCBjbGFzcyByZXR1cm5zCgoyMDEwLTA3LTI3IDE1OjMzOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZWRlZCBzZXR0aW5nIG9mIGJ1ZmZlciBmbGFncwoJICBHc3RCYXNlVmlkZW9EZWNvZGVyIHNldHMgR1NUX1ZJREVPX0JVRkZFUl9URkYgZm9yIHVzIGFuZAoJICBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIGRlY29kZWQgZnJhbWVzLgoKMjAxMC0wNy0yOSAxNjowODowMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGRvbid0IG1ha2UgYSByYW5nZSBpZiBtaW49PW1heAoJICBGaXhlcyBidWcgIzYyNTEzOAoKMjAxMC0wNy0yOSAxMDozODo1OCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWN0dWFsbHkgd29yayB3aGVuIHdlIGhhdmUgc21hbGwgYnVmZmVycyBjb21pbmcgaW4KCSAgYXZhaWxhYmxlX2Zhc3QgaXMgbm90IHdoYXQgd2Ugd2FudCBhbmQgaXQgd2lsbCBuZXZlciBnZXQgdG8gZGlzY292ZXIgcGFja2V0CgkgIHNpemUgaWYgMTg4IGJ5dGUgYnVmZmVycyBhcmUgYmVpbmcgcGlja2VkIHVwLgoKMjAxMC0wNy0yOCAxODozNjo1MyArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ3NldHRpbmdzIHhtbCBzY2hlbWEgZmlsZQoKMjAxMC0wNy0yOCAxODozNDoxNSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJICBkb2NzOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byB0aGUgZG9jcwoKMjAxMC0wNy0yOCAxNzo0Njo1MyArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBmaXggdXAgbWFjcm9zIGFuZCBmdW5jdGlvbiBuYW1lcyB0byBtYXRjaCBndWlkZWxpbmVzCgoyMDEwLTA3LTI4IDE3OjM0OjAyICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBmaXggc3RydWN0dXJlIG5hbWVzIHRvIGNvbXBseSB3aXRoIHRoZSBwbHVnaW4gbW92aW5nIGd1aWRlbGluZXMKCjIwMTAtMDctMjggMTY6MTU6NTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY2FwcyBiaXRyYXRlIGF0IGxhc3QgY2hhbmNlCgkgIElmIHdlIGRpZG4ndCBnZXQgdGhlIHN0cmVhbSdzIGJpdHJhdGUgZnJvbSBvbmUgb2YgdGhlIGF0b21zLAoJICB0cnkgZ2V0dGluZyBpdCBmcm9tIHRoZSBjYXBzIGFzIGEgbGFzdCByZXNvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjggMTY6MTI6MTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBidHJ0IC0gbWF4IGJpdHJhdGUgYmVmb3JlIGF2ZXJhZ2UKCSAgQWNjb3JkaW5nIHRvIGlzbyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUKCSAgaXMgYmVmb3JlIHRoZSBhdmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yNyAxODoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCB0aGUgc2VnbWVudCBvbiBGTFVTSF9TVE9QIGFuZCB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkKCjIwMTAtMDctMjcgMTg6MDc6MDAgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGRpc3QgbmV3IGhlYWRlciBmaWxlCgkgIEZpeCBtYWtlIGRpc3RjaGVjay4KCjIwMTAtMDctMjMgMTk6NDE6MjkgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogSW1wcm92ZW1lbnRzIGNvbnRyaWJ1dGVkIGZyb20gdGhlIE1vb3ZpZGEgcHJvamV0LgoJICAqIEluaGVyaXQgZnJvbSBHc3RWaWRlb1NpbmsKCSAgKiBJbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgKiBQcm9wZXIgQ09NIGluaXRpYWxpemF0aW9uIGZvciB0aHJlYWRlZCBlbnZpcm9ubWVudHMKCSAgKiBGaXggV2luZG93IHJlc291cmNlIGxlYWsKCSAgKiBBZGQgRVZSIHN1cHBvcnQgZm9yIGJldHRlciB2aWRlbyBzY2FsaW5nIG9uIFdpbmRvd3MgVmlzdGEgYW5kIGFib3ZlCgkgICogT25seSBhcHBseSBQQVIgc2NhbGluZyB3aGVuIHRoZSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eSBpcyBzZXQgdG8gc3RheQoJICBjb25zaXN0ZW50IHdpdGggdGhlIG90aGVyIExpbnV4IHNpbmtzCgkgICogUHJldmVudCBhbiBpbmZpbml0ZSBsb29wIHdpdGggdGhlIHduZHByb2MgY2hhaW4KCSAgKiBGaXggZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHVzZSB0aGUgb2JqZWN0IGluc3RhbmNlCgoyMDEwLTA3LTIzIDAwOjI4OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBnc3RfdmRwX2RlY29kZXJfcmVuZGVyIGFuZCBnc3RfdmRwX2RlY29kZXJfaW5pdF9kZWNvZGVyCgoyMDEwLTA3LTIyIDA5OjIxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgZ2RrX2RyYXdfKiBBUEkKCSAgRml4ZXMgYnVnICM2MjUwMDMuCgoyMDEwLTA3LTEyIDIyOjM3OjQ3IC0wMzAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogQWRkcyBuZXcgcGx1Z2luICdnYXVkaWVmZmVjdHMnCgkgIEFkZHMgdGhlIG5ldyAnZ2F1ZGllZmZlY3RzJyBwbHVnaW4sIG9yaWdpbmFsbHkgZm91bmQKCSAgaGVyZTogaHR0cDovL2dpdGh1Yi5jb20vbHVpc2JnL2dhdWRpX2VmZmVjdHMKCSAgQ29udGFpbnMgdGhlIGZvbGxvd2luZyB2aWRlbyBlZmZlY3QgZWxlbWVudHM6IGJ1cm4sIGNocm9taXVtLCBkaWxhdGUsCgkgIGRvZGdlLCBleGNsdXNpb24gYW5kIHNvbGFyaXplLgoJICBUaGFua3MgdG8gSmFuIFNjaG1pZHQgZm9yIHRoZSByZXZpZXdpbmcgYW5kIHJlZmFjdG9yaW5nCgoyMDEwLTA3LTE5IDIxOjUzOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogdHJ5IHRvIGNhbGN1bGF0ZSBmcmFtZXJhdGUgaWYgd2UgZG9uJ3QgZ2V0IG9uZSBmcm9tIHVwc3RyZWFtCgoyMDEwLTA3LTE5IDExOjM0OjM5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGZpeCBzZWdmYXVsdCB3aGVuIHZkcGF1IGRldmljZSBjb3VsZCBub3QgYmUgY3JlYXRlZAoKMjAxMC0wNy0xOCAyMToxNTozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcHJvYmxlbSB3aGVuIGVuY291bnRlcmluZyBHU1RfTkFMX0FVX0RFTElNSVRFUgoKMjAxMC0wNy0wOCAwOTo1Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICB3YXNhcGlzcmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkKCjIwMTAtMDctMDggMDk6NTU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGFsc2FzcGRpZnNpbms6IFVzZSBuZXcgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkKCjIwMTAtMDctMTUgMTM6MjM6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogY2FsY3VsYXRlIHdpZHRoIGFuZCBoZWlnaHQgZnJvbSBiaXRzdHJlYW0gaW5mbwoKMjAxMC0wNy0xNSAxMToxMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggdXNhZ2Ugb2YgZ19iaXRfc3RvcmFnZQoKMjAxMC0wNy0xNCAxMToxOTowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIHppZ3phZyBtYXRyaXgKCjIwMTAtMDctMTQgMTE6MTc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiB1c2UgZ19iaXRfc3RvcmFnZSBpbnN0ZWFkIG9mIGxvZzIKCSAgbG9nMiBjYXVzZWQgY29tcGlsZSBpc3N1ZXMgb24gY2VydGFpbiBwbGF0Zm9ybXMKCjIwMTAtMDctMTMgMDA6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSAgZ3NldHRpbmdzOiBGaXggbWFpbnRhaW5lci1jbGVhbiB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUKCSAgRG8gbm90IHVzZSBAR1NFVFRJTkdTX1JVTEVTQCBpZiBnc2V0dGluZ3MgaXMgbm90IGF2YWlsYWJsZQoJICB0byBhdm9pZCBtYWludGFpbmVyLWNsZWFuIGZhaWxpbmcuCgoyMDEwLTA3LTExIDEwOjQ3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IFVzZSBjb3JyZWN0IG9yZGVyIG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgcGx1Z2lucwoJICBBbmQgZG9uJ3QgZmFpbCBpZiBhIHBsdWdpbiB3YXMgYWxyZWFkeSByZWdpc3RlcmVkLiBGcmVpMHIgYWxsb3dzCgkgIHBsdWdpbnMgaW4gZGlyZWN0b3JpZXMgd2l0aCBoaWdoZXIgaW1wb3J0YW5jZSB0byBvdmVycmlkZSBwbHVnaW5zCgkgIGZyb20gZGlyZWN0b3JpZXMgd2l0aCBsb3dlciBpbXBvcnRhbmNlLgoKMjAxMC0wNy0xMCAxNjo1MjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmFibGluZyBhdXRvbWF0aWMgaW5zZXJ0aW9uIG9mIGFsdC1yZWYgZnJhbWVzIGJ5IHRoZSBlbmNvZGVyCgoyMDEwLTA3LTEwIDE2OjUxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGhhbmRsaW5nIG9mIGludmlzaWJsZS9hbHQgcmVmIGZyYW1lcwoKMjAxMC0wNy0xMCAxNTo1MDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXggbWVtb3J5IGxlYWsKCSAgVGhlIHRpbWVzdGFtcHMgYXJlIG9ubHkgdXNlZCBpZiB0aGUgb3V0cHV0IGFkYXB0ZXIgaXMgdXNlZCwgbm90CgkgIGlmIGNvbXBsZXRlIGZyYW1lcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGRlY29kZXIgYW5kIGZpbmlzaF9mcmFtZSgpIGlzCgkgIGNhbGxlZCBhbmQgZXZlbiBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgb3V0cHV0IGFkYXB0ZXIgaXMgdXNlZCB0aGV5CgkgIG1pZ2h0IG5vdCBiZSB1c2VkIGFuZCBhcmUgbGVha2VkLgoKMjAxMC0wNy0xMCAxNTo0Njo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHZwOGRlYwoKMjAxMC0wNy0xMCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXByb3ZlIHVuaXQgdGVzdCBhIGJpdAoKMjAxMC0wNy0xMCAxNTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbHNvIGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTEwIDE1OjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxMC0wNy0wOSAxNzo0NDo1NiArMDMwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZm1tdXg6IHVzZSBhbHRlcm5hdGl2ZSB3YXkgdG8gY2hlY2sgZm9yIGluZgoJICBNU1ZDIGVtaXRzIGEgZGl2aWRlLWJ5LXplcm8gZXJyb3Igd2hlbiBjb21waWxpbmcgYWlmZm11eC5jIG9uIGxpbmUgMjA1LgoJICBGaXhlcyAjNjIzODgxLgoKMjAxMC0wNy0wOCAyMTo1MzozNSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogZml4IGNvbXBpbGF0aW9uIGJ5IHVzaW5nIHRoZSByaWdodCBmdW5jdGlvbgoJICBGaXhlcyAjNjIzODgzLgoKMjAxMC0wNy0wOCAxNzo1ODoxNiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggZXhpZiBmcmFtZSBzaXplCgkgIFNraXAgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGJ5dGVzIHdoZW4gcmVhZGluZyBleGlmCgkgIGRhdGEKCSAgRml4ZXMgIzYyMzg1NAoKMjAxMC0wNy0wOCAxNTowNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IENvcnJlY3RseSBpbml0aWFsaXplIHByb3BlcnRpZXMgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMgYWdhaW4KCjIwMTAtMDctMDggMDc6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciBwcm9wZXJ0eSBlbnVtcyBhbmQgdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWxzbyBkb24ndCB1c2UgR19QQVJBTV9DT05TVFJVQ1QsIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgZm9yIGVsZW1lbnRzLgoKMjAxMC0wNy0wNyAyMzowNjo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCB2aWV3ZmluZXItc2luayBwcm9wZXJ0eSBmb3IgYmlucwoJICBDb3JyZWN0bHkgaXRlcmF0ZSB2aWV3ZmluZGVyLXNpbmsgY2hpbGRyZW4gd2hlbgoJICBpdCBpcyBhIGJpbi4KCSAgRml4ZXMgIzYyMzgwMgoKMjAxMC0wNy0wNiAxNDo0ODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgJ2J0cnQnIGF0b20gZm9yIEguMjY0IG1lZGlhIGlmIHBvc3NpYmxlCgkgIFRoaXMgd3JpdGVzIG91dCB0aGUgb3B0aW9uYWwgJ2J0cnQnIGF0b20gKE1QRUc0Qml0cmF0ZUJveCkgZm9yIEguMjY0CgkgIG1lZGlhIGlmIGVpdGhlciBvciBib3RoIG9mIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZSBhcmUgYXZhaWxhYmxlIGZvcgoJICB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA1IDE0OjA5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogV3JpdGUgYXZnL21heCBiaXRyYXRlIHRvIEVTRFMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgY29sbGVjdHMgdGhlICdiaXRyYXRlJyBhbmQgJ21heGltdW0tYml0cmF0ZScgdGFncyBvbiB0aGUKCSAgY29ycmVzcG9uZGluZyBwYWQgYW5kIHVzZXMgdGhlc2UgdG8gcG9wdWxhdGUgdGhlc2UgZmllbGRzIGluIHRoZSBFU0RTCgkgIHdoZXJlIGFwcGxpY2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDcgMTA6MzM6MTggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiByZXNldCBmbG93IHJldHVybiBzdGF0ZSB0cmFja2VyIGFmdGVyIGZsdXNoIHRvIGF2b2lkIHNwdXJpb3VzIGVycm9ycyBhZnRlciBmbHVzaGluZyBpbiBzb21lIGNhc2VzLgoKMjAxMC0wNy0wNyAwODozNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogQWRkIHN1cHBvcnQgZm9yIHdpbGRtaWRpIDAuMi4zCgkgIEZpeGVzIGJ1ZyAjNjIzNzIyLgoKMjAxMC0wNy0wMSAxMDo1NjoxOSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogVXBkYXRlIHJlbmRlcmVyIGFzcGVjdCByYXRpbyBhZnRlciBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdXBkYXRlLgoJICBBIG5ldyB2aXJ0dWFsIG1ldGhvZCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgUmVuZGVyZXJTdXBwb3J0IGNsYXNzLiBJdAoJICBpcyBjYWxsZWQgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcmVyIGNvbmZpZ3VyYXRpb24gYW5kIGVhY2ggdGltZSB0aGUKCSAgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9mIHRoZSBzaW5rIGlzIHVwZGF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjIzMjcyLgoKMjAxMC0wNy0wNyAwMDoxNToyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93YXVkaW9kZWM6IEZpeCBjb21waWxhdGlvbiBlcnJvcgoJICBDbG9zZXMgIzYyMzcxMwoKMjAxMC0wNy0wNiAxMzoxNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IG9ubHkgdXNlIGdfd2FybmluZygpIHdoZW4gc2V0dGluZyB0aGUgb2xkIGlzLWxpdmUgcHJvcGVydHksIG5vdCB3aGVuIHJlYWRpbmcgaXQKCSAgRG9uJ3Qgd2FudCB3YXJuaW5ncyBpbiBlLmcuIGdzdC1pbnNwZWN0LgoKMjAxMC0wNy0wNiAxMDo1MzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogVXNlIHByb3BlciBnc2V0dGluZ3Mgc2NoZW1hIGZpbGUKCjIwMTAtMDctMDUgMTE6NTI6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIGpwZWdwYXJzZSB1bml0IHRlc3QKCjIwMTAtMDctMDUgMTE6NDg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IHNraXBwaW5nIGV4dHJhIDB4ZmYgbWFya2VycwoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIG1ha2VzIHRoZSBqcGVncGFyc2UgdW5pdCB0ZXN0IHBhc3MgYWdhaW4uCgkgIEFsc28gYWRkIGEgZGVidWcgc3RhdGVtZW50LgoJICBGaXhlcyAjNjIyNjkwLgoKMjAxMC0wNy0wNSAxMDowOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTAtMDctMDUgMTA6MDg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBwcmVkaWN0aW9uIG1vZGUgYW5kIHRoZSBzdGFydCBiYW5kCgoyMDEwLTA3LTA1IDA5OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY2VsdDogQWRkIGNoZWNrIGZvciBjZWx0IDAuOAoKMjAxMC0wNy0wNSAwOTo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogUmVtb3ZlIHN1cHBvcnQgZm9yIGNlbHQgPCAwLjUKCSAgY2VsdCAwLjUgd2FzIHJlbGVhc2VkIG1vcmUgdGhhbiBhIHllYXIgYWdvIGFuZCB0aGUgYml0c3RyZWFtIGlzCgkgIGluY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IG9uZSBhbnl3YXkuCgoyMDEwLTA3LTA1IDA5OjQ3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBGaXggY29tcGlsYXRpb24gd2l0aCBjZWx0IDAuOAoJICBGaXhlcyBidWcgIzYyMzU1MC4KCjIwMTAtMDctMDUgMDk6MzI6MzAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkgIGdzZXR0aW5nczogZml4IHNvbWUgbW9yZSB3YXJuaW5ncwoKMjAxMC0wNy0wNSAwOToyODo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJICBnc2V0dGluZ3M6IGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDctMDMgMTY6MTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogcG8vUE9URklMRVMuaW46CgkgIGdzZXR0aW5nczogSW5pdGlhbCB2ZXJzaW9uIG9mIEdTZXR0aW5ncyBwbHVnaW4KCSAgVGhpcyBwcm92aWRlcyBhdWRpby92aWRlbyBzb3VyY2VzIGFuZCBzaW5rcy4KCSAgRml4ZXMgYnVnICM2MTYyNjUuCgoyMDEwLTA3LTAzIDE3OjQ4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSAgZG9jczogSW50ZWdyYXRlIFZQOCBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjQ3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiwgYmFzZWQgb24gdGhlIHRoZW9yYWRlYy90aGVvcmFlbmMgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzozNDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IE1vdmUgc3RydWN0dXJlIGRlZmluaXRpb25zLCBldGMgdG8gcHVibGljIGhlYWRlciBmaWxlcyBmb3IgZ3RrLWRvYwoKMjAxMC0wNy0wMiAxMjo0NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdXNlIGJvZ3VzIGNvZGVjL2Zvcm1hdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjUKCjIwMTAtMDctMDEgMTU6MTk6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RCdWZmZXJMaXN0CgkgIEZhY3RvciBvdXQgbW9zdCBvZiB0aGUgYnVmZmVyIGhhbmRsaW5nIGFuZCBpbXBsZW1lbnQgYSBjaGFpbl9saXN0CgkgIGZ1bmN0aW9uLiBBbHNvLCB0aGUgRFRNRiBtdXhlciBoYXMgYmVlbiBtb2RpZmllZCB0byBqdXN0IGhhdmUgYQoJICBmdW5jdGlvbiB0byBhY2NlcHQgb3IgcmVqZWN0IGEgYnVmZmVyIGluc3RlYWQgb2YgaGF2aW5nIHRvIHN1YmNsYXNzCgkgIGJvdGggY2hhaW4gYW5kIGNoYWluX2xpc3QuCgoyMDEwLTA3LTAxIDE1OjE1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgaW52YWxpZCBidWZmZXJzCgoyMDEwLTA2LTE0IDE1OjE1OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogQWRkIHRvIGRvY3MKCjIwMTAtMDYtMTEgMTg6MzE6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogQWRkIGZpeGF0ZXNfY2FwcwoKMjAxMC0wNi0xMCAyMDozNjoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBBY2NlcHQgd2lkZXIgY2FwcwoKMjAxMC0wNi0xMCAyMDoyNTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBNYWtlIHBlcmlvZCBvdmVyIHdoaWNoIHRvIGF2ZXJhZ2UgY29uZmlndXJhYmxlCgoyMDEwLTA2LTEwIDIwOjQzOjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IFNpbXBsaWZ5IHRyYW5zZm9ybV9jYXBzCgoyMDEwLTA2LTEwIDIwOjE0OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IFVzZSBiYXNldHJhbnNmb3JtIGNvcnJlY3RseQoKMjAxMC0wNi0xMCAyMDowODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBNYWtlIHBsdWdpbiBhY3R1YWxseSB3b3JrIGJ5IHVzaW5nIGFuIGF2ZXJhZ2UKCjIwMTAtMDYtMTAgMTk6MTc6MDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBJbXBvcnQgcGx1Z2luCgkgIEltcG9ydCBwbHVnaW4gZnJvbSBQc2lNZWRpYSwgYmFzZWQgb24gbXkgd29yawoKMjAxMC0wNy0wMSAxNjoyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgaXMgd3JpdGFibGUKCSAgc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgaXMgYSByZWFkd3JpdGUgcHJvcGVydHksIG5vdCByZWFkLW9ubHkuCgkgIEFsc28gYWRkcyBzb21lIG1vcmUgZGVidWdnaW5nIGxvZ3MuCgoyMDEwLTA2LTMwIDE4OjU5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIGdzdC1mZm1wZWcgdG8gd2hpdGVsaXN0IGFzIHdlbGwKCSAgVGhlIG14ZiB0ZXN0cyB1c2Ugc29tZSBmZm1wZWcgZWxlbWVudHMgaWYgdGhleSdyZSBhdmFpbGFibGUuCgoyMDEwLTA2LTMwIDE4OjUyOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIHBsdWdpbiBsb2FkaW5nIHdoaXRlbGlzdCB0byB0ZXN0IGVudmlyb25tZW50CgkgIE9ubHkgd2FudCB0byBsb2FkIGNvcmUvLWJhc2UvLWdvb2QvLXVnbHkvLWJhZCBwbHVnaW5zIGhlcmUuCgoyMDEwLTA2LTMwIDE4OjIwOjEzICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGRvbid0IGZyZWUgUEFUIHN0cnVjdHVyZSB3aGljaCBtYXkgc3RpbGwgYmUgbmVlZGVkIGxhdGVyCgkgIFRoaXMgaXMgYSBwcm9ibGVtIGlmIHlvdSB0dW5lIHRvIGEgY2hhbm5lbCB3aGljaCB1c2VzIHBpZCBYIGFuZCBsYXRlciB0dW5lIHRvCgkgIGFub3RoZXIgY2hhbm5lbCB3aGVyZSBYIGlzIHVzZWQgZm9yIGFub3RoZXIgdGFibGUgKGUuZy4gUE1UKS4KCSAgVGhlIGNvZGUgdGhhdCBkb2VzIHRoYXQgd2FzIGFjdHVhbGx5IGFscmVhZHkgdGhlcmUgYnV0IG5ldmVyIHVzZWQgYmVjYXVzZSB0aGUKCSAgcGF0IHN0cnVjdHVyZSB3YXMgZnJlZWQgYmVmb3JlLiBUaGUgY29tbWl0IHRoYXQgaW50cm9kdWNlZCB0aG9zZSBsaW5lcyBpbnRlbmRlZAoJICB0byBmaXggYSBtZW1vcnkgbGVhaywgYnV0IHdlIGNsZWFuIHRoaW5ncyB1cCBlbHNld2hlcmUuCgkgIEZpeGVzICM2MjI3MjUuCgoyMDEwLTA2LTMwIDE4OjE5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgaW5zcGVjdCBpbmZvLCBub3cgc29ydGVkIGFuZCBlc2NhcGVkCgoyMDEwLTA2LTMwIDE3OjU0OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSB0ZW1wb3Jhcnkgb3JjIGZpbGVzCgoyMDEwLTA2LTI5IDExOjIxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdTogQ2hlY2sgZm9yIGxvZzIgYW5kIG9ubHkgdXNlIGl0IGlmIGl0J3MgYXZhaWxhYmxlCgoyMDEwLTA2LTI4IDE2OjIwOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjEwIGFuZCBhdXRvY29uZiB0byAyLjYwCgkgIEZvciBtYWludGFpbmFiaWxpdHkgcmVhc29ucywgJChidWlsZGRpcikgYW5kIG90aGVyIHRoaW5ncy4KCSAgU2VlICM2MjI5NDQgYW5kICM1NzA0MjguCgoyMDEwLTA2LTI4IDEyOjAwOjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1aDI2NGRlYzogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ19wdHJfYXJyYXlfZnJlZSBpbmNhc2UgZ2xpYiA+PSAyLjIyCgoyMDEwLTA2LTI4IDExOjE5OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggcmVzaXppbmcgb2Ygb3V0cHV0CgoyMDEwLTA2LTI4IDExOjA4OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1aDI2NGRlYzogZG9uJ3QgdXNlIGdsaWIgMi4yMiBmdW5jdGlvbnMKCjIwMTAtMDYtMjcgMjA6Mjk6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjaGFuZ2UgR3N0QmFzZVZpZGVvRGVjb2RlciBzdGF0ZSBhcGkKCjIwMTAtMDYtMjcgMTA6NTI6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkgIHZkcGF1aDI2NGRlYzogZnJlZSBmcmFtZXMgb24gZmluYWxpemUgaW4gR3N0SDI2NERQQgoKMjAxMC0wNi0yNyAwOTo1NToyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGRpc3BsYXkgcHJvcGVydHkgdG8gR3N0VmRwRGVjb2RlcgoKMjAxMC0wNi0yNyAwMToyNzoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHJlbmFtZSBHc3RWZHBIMjY0RnJhbWUgdG8gR3N0SDI2NEZyYW1lCgoyMDEwLTA2LTI3IDAwOjM2OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGZpeCBlcnJvciBoYW5kbGluZyB3aGVuIHBsdWdnaW5nICJ2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgISBmYWtlc2luayIKCjIwMTAtMDYtMjcgMDA6MzU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBlcnJvciBwYXJhbWV0ZXIgdG8gZ3N0X3ZkcF92aWRlb19zcmNfcGFkX2dldF9kZXZpY2UKCjIwMTAtMDYtMjggMTA6NDc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogTGluayB0byAkKExJQk0pIGZvciBsb2cyIGFuZCBmcmllbmRzCgoyMDEwLTA2LTI3IDE5OjIyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogSW5jbHVkZSBfc3RkaW50LmggZm9yIGludDE2X3QgYW5kIGZyaWVuZHMKCjIwMTAtMDYtMjcgMTc6NDY6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBVc2UgZ19tYWxsb2MoKSBpbnN0ZWFkIG9mIG1hbGxvYygpCgkgIG1hbGxvYygpIG5lZWRzIHN0ZGxpYi5oLCB3aGljaCBpc24ndCBpbmNsdWRlZCBoZXJlIGFuZCB0aGUKCSAgbWVtb3J5IGlzIGZyZWVkIGxhdGVyIHdpdGggZ19mcmVlKCkgYW55d2F5LgoKMjAxMC0wNi0yNyAxMToyNDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGFzc3JlbmRlciwgaXZmcGFyc2UsIGpwZWdmb3JtYXQ6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZCBpbiBjb3JlCgoyMDEwLTA2LTI3IDEwOjQxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICB0ZXN0czogRml4IGJ1aWxkIHdpdGggR1RLKyA8IDIuMTcuNwoJICBndGtfd2lkZ2V0X2dldF9hbGxvY2F0aW9uKCkgd2FzIGFkZGVkIGluIHRoYXQgdmVyc2lvbi4KCjIwMTAtMDYtMjcgMTA6MzY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTQgZm9yIHRoZSBleGFtcGxlCgoyMDEwLTA2LTI3IDA3OjQwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICB0ZXN0czogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1RLIEFQSSB0byBmaXggdGhlIGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6MDI6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdTogYWRkIEdzdFZkcERlY29kZXIgYmFzZSBjbGFzcwoKMjAxMC0wNi0yNiAxOTowMjowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogYWRkIGdzdF9oMjY0X2RwYl9zZXRfb3V0cHV0X2Z1bmMgZnVuY3Rpb24KCjIwMTAtMDYtMjUgMjA6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB1aW50IHRhZ3MgdGhhdCBkb24ndCBoYXZlIGEgY29tcGxlbWVudAoJICBXcml0ZSB1aW50IHRhZ3MgdGhhdCBoYXZlIGNvbXBsZW1lbnRzIChlLmcuIHRyYWNrLW51bWJlci8KCSAgdHJhY2stY291bnQpIGV2ZW4gd2hlbiB3ZSBvbmx5IGhhdmUgb25lIG9mIHRoZW0gYXZhaWxhYmxlCgkgIGFuZCBzZXQgdGhlIG90aGVyIG9uZSB0byAwLgoJICBGaXhlcyAjNjIyNDg0CgoyMDEwLTA2LTI1IDExOjAyOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBJbmNsdWRlIGNvbmZpZy5oIGluIG1ldGFkYXRhKi5jIGZpbGVzCgkgIEluY2x1ZGUgY29uZmlnLmggaW4gbWV0YWRhdGFleGlmLmMgaW4gbWV0YWRhdGEgcGx1Z2luIHNvCgkgIHRoYXQgSEFWRV9FWElGIGdldHMgZGVmaW5lZCBhbmQgZXhpZiBtZXRhZGF0YSBpcyBwcm9wZXJseQoJICBnZW5lcmF0ZWQuCgkgIEFsc28gYWRkcyBjb25maWcuaCB0byBhbGwgLmMgZmlsZXMgbWlzc2luZyBpdCBpbiBtZXRhZGF0YSBwbHVnaW4KCSAgRml4ZXMgIzYyMjY5MgoKMjAxMC0wNi0yNCAyMDoyMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFdhcm4gaWYgcHJlcm9sbCB2YWx1ZSBpcyB0b28gYmlnCgkgIFBvc3QgYSB3YXJuaW5nIHdoZW4gdGhlIHByZXJvbGwgdmFsdWUgaXMgZ3JlYXRlciB0aGFuCgkgIHRoZSBzdHJlYW1zIGR1cmF0aW9uCgoyMDEwLTA2LTI0IDIzOjU3OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJICB2ZHBheTogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1Mgc28gaXQgZmluZHMgdGhlIGdzdC92aWRlby92aWRlby5oCgkgIGhlYWRlcnMgaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuIEFsc28gcmVzaHVmZmxlIG9yZGVyLgoKMjAxMC0wNi0yNCAxODozMjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBNYWtlIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGl0CgkgIEJlZm9yZSBjb3B5aW5nIG1ldGFkYXRhIGZyb20gb25lIGJ1ZmZlciB0byBhbm90aGVyLCBtYWtlIHN1cmUKCSAgdGhlIGRlc3RpbmF0aW9uIGlzIG1ldGFkYXRhLXdyaXRhYmxlLgoKMjAxMC0wNi0yNCAyMjoxNDozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMjQgMjI6MDY6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkgIHZkcGF1aDI2NGRlYzogZml4IGluaXRhbGl6YXRpb24gb2YgR3N0TmFsUmVhZGVyIGNhY2hlCgoyMDEwLTA2LTI0IDEyOjM3OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzLy5naXRpZ25vcmU6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzLW1hcnNoYWwubGlzdDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZHMgYSBzaWduYWwgdG8gaW5mb3JtIG1lYXN1cmVtZW50cyB0byBhcHBzCgkgIEFkZHMgYSBzaWduYWwgZm9yIGFwcGxpY2F0aW9ucyB0byByZWNlaXZlIHRoZSBmcHMgbWVhc3VyZW1lbnRzIG1hZGUKCSAgaW5zdGVhZCBvZiBvbmx5IHByaW50aW5nIHRoZW0gdG8gdGhlIGZyYW1lL3N0ZG91dC4KCSAgVGhpcyBzaWduYWwgaXMgb25seSBlbWl0ZWQgaWYgdGhlIHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIHByb3BlcnR5CgkgIGlzIHNldCB0byBUUlVFCgoyMDEwLTA2LTI0IDEwOjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGRzIG1heC1mcHMgYW5kIG1pbi1mcHMgcHJvcGVydHkKCSAgQWRkcyAyIHByb3BlcnRpZXMgZm9yIGdldHRpbmcgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gZnBzCgkgIHZhbHVlcyBtZWFzdXJlZAoKMjAxMC0wNi0yNCAxMDoyNDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgaW4gYWxsIHByb3BlcnRpZXMKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUKCSAgbWlzc2luZyBpdAoKMjAxMC0wNi0yNCAxMDoyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkIGZwcy11cGRhdGUtaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIGEgcHJvcGVydHkgdG8gc2V0L2dldCB0aGUgZnBzIHVwZGF0ZSBpbnRlcnZhbCBpbnN0ZWFkCgkgIG9mIGhhdmluZyBhIGhhcmRjb2RlZCB2YWx1ZS4KCjIwMTAtMDYtMjQgMTY6MjA6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIgdXNpbmcgQ0ZMQUdTCgoyMDEwLTA2LTI0IDE1OjIzOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJICBSZXZlcnQgInZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFhMDQ0NGYyMDQxNTdjMjJjMTFhNzQyNTQ3YzllNjhhOWVhZWNjODAuCgoyMDEwLTA2LTI0IDE1OjA5OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1NjE3YzIgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzoxODo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSAgdmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMjMgMjI6MzM6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogdXNlIGJpdHNoaWZ0cyBpbnN0ZWFkIG9mIHBvdwoKMjAxMC0wNi0yMyAyMjoyMToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBhZGQgaW50ZXJsYWNlZCA9IGZhbHNlIHRvIHNpbmsgY2FwcwoJICB3ZSBkb24ndCBzdXBwb3J0IGludGVybGFjZWQgY29udGVudCB5ZXQKCjIwMTAtMDYtMjMgMjI6MTg6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBBbGwgcmVhZCByZXR1cm4gdmFsdWVzIHNtYWxsZXIgdGhhbiB6ZXJvIGFyZSBmYWlsdXJlcwoKMjAxMC0wNi0yMyAyMToxMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcGFyc2luZyBvZiBzY2FsaW5nIGxpc3RzCgoyMDEwLTA2LTIzIDIxOjA5OjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHJlYWRpbmcgb2Ygc2lnbmVkIGV4cCBnb2xvbWIKCjIwMTAtMDYtMjIgMTU6NDk6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBmaXh1cCBkZWNvZGVyIHRpbWVzdGFtcGluZwoKMjAxMC0wNi0yMiAxNDo1MjowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIHBhcnNlX2NvZGVjX2RhdGEgZnJvbSBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTIyIDE0OjI1OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBpbml0aWFsaXphdGlvbiBvZiBmYWxsYmFjayBzY2FsaW5nIG1hdHJpeAoKMjAxMC0wNi0yMiAxNDoxNzoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXVoMjY0ZGVjOiBpbXByb3ZlIGZ1cnRoZXIKCjIwMTAtMDYtMTcgMTU6MjA6NTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IG5vdyB3b3JrcyBmb3Igc2ltcGxlIHN0cmVhbXMKCjIwMTAtMDYtMTcgMTU6MjA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2hhbmdlIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9nZXRfZGV2aWNlIGJlaGF2aW91cgoJICBpdCBub3cgY3JlYXRlcyB0aGUgZGV2aWNlIGlmIGl0J3Mgbm90IGF2YWlsYWJsZQoKMjAxMC0wNi0xNiAyMzoxMjo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdTogbW9yZSB3b3JrIG9uIGgyNjQgZGVjb2RlcgoKMjAxMC0wNi0xMCAxMjoxMzo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdTogYWRkIGJlZ2lubmluZyBvZiBoMjY0IGRlY29kZXIKCjIwMTAtMDYtMDkgMTU6NDM6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkgIHZkcGF1OiBiYXNlIHZkcGF1bXBlZ2RlYyBvbiBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTA4IDEzOjM2OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggc21hbGwgYnVnCgoyMDEwLTA1LTE1IDIyOjQ3OjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIFJFQURfVUlOVFs4fDE2fDMyXSBtYWNyb3MKCjIwMTAtMDYtMDQgMTI6MjQ6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X3ZkcF92aWRlb19zcmNfcGFkX3NldF9jYXBzCgoyMDEwLTA2LTIzIDIxOjQ2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRG8gc29tZSBzYW5pdHkgY2hlY2tzIGJlZm9yZSBhY2NlcHRpbmcgYW4gVVJJCgkgIEZpeGVzIGJ1ZyAjNjIyMzY5LgoKMjAxMC0wNi0xNyAxMDo1ODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBBZGRzIGltYWdlIG9yaWVudGF0aW9uIHRhZ3MgdGVzdHMKCSAgQWRkcyB0ZXN0cyBmb3IgaW1hZ2Ugb3JpZW50YXRpb24gdGFncyB0byBqaWZtdXgKCjIwMTAtMDYtMjMgMTA6Mzg6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvYnRhaW4gY29ycmVjdCB1cHN0cmVhbSB0aW1lc3RhbXAKCSAgLi4uIGZvciBvcHRpb25hbCBkb3duc3RyZWFtIHVzZS4KCjIwMTAtMDYtMjIgMTI6Mjg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhZGQgbmV3IGgyNjQgY2FwcyBhdHRyaWJ1dGUgYWxpZ25tZW50CgkgIFNlZSAjNjA2NjYyLgoKMjAxMC0wNi0yMSAyMzo0ODo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggcHJldmlvdXMgY29tbWl0CgkgIFdlIHdlcmUgbGVha2luZyB0aGUgZWxlbWVudCByZWZjb3VudCBhbmQgbm90IHRoZSBwYWQgb25lLgoKMjAxMC0wNi0yMSAyMjozMzo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBkb24ndCBsZWFrIHRoZSBlbGVtZW50IHJlZmNvdW50CgoyMDEwLTA2LTIxIDE5OjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgdGhlIHBhZCBmcm9tIG91ciBpbnRlcm5hbCBsaXN0IGJlZm9yZSBjYWxsaW5nIGNvbGxlY3RwYWRzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgZW5kIHVwIHdpdGggdGhlIGNvbGxlY3RwYWRkYXRhIHN0cnVjdHVyZSBhbHJlYWR5IGZyZWVkLgoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhIGJvZ3VzIGl0ZXJhdGlvbiBvZiBtdXgtPnNpbmtwYWRzIChhbGwgdGhlCgkgIEdzdFFUUGFkIGJlaW5nIGZyZWVkKSBhbmQgaXQgd291bGRuJ3QgYmUgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdC4KCSAgRmluYWxseSwgZHVlIHRvIGl0IG5vdCBiZWluZyByZW1vdmVkIGZyb20gdGhhdCBsaXN0LCB3ZSB3b3VsZCBlbmQgdXAKCSAgY2FsbGluZyBhIGJvZ3VzIGdzdF9xdF9tdXhfcGFkX3Jlc2V0IG9uIHRob3NlIHN0cnVjdHVyZXMgPT4gU0VHRkFVTFQKCjIwMTAtMDYtMjEgMTA6MjE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5kZWJ1Zy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1vdmUgZGVidWcgY2F0ZWdvcnkgZGVjbGFyYXRpb24gdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIEhhdmluZyBHU1RfREVCVUdfQ0FURUdPUlkgYW5kIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG9nZXRoZXIKCSAgbWlnaHQgbGVhZCB0byAndW5kZWZpbmVkIHN5bWJvbCcgcHJvYmxlbXMuIFRoaXMgY29tbWl0IG1vdmVzCgkgIHRoZSBfRVhURVJOIHRvIGEgc2VwYXJhdGUgbmV3IGZpbGUuCgoyMDEwLTA2LTIxIDExOjEzOjIwICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2U6IGFkZCBwYXJzZWQgZmllbGQgdG8gc3JjIGNhcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTRlZGFlNGYxZjIxMTljZjQ5MmZmZTQ0ZjkzNmY5OWUxMzNhZjdkYy4KCSAgU2VlIHRoaXMgYnVnIGZvciBtb3JlIGluZm9ybWF0aW9uOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEwLTA2LTE3IDA4OjQyOjUzICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZW1vdmUgcmVkdW5kYW50IGxvZyBtZXNzYWdlCgoyMDEwLTA2LTIwIDEwOjM5OjM5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhZGQgcGFyc2VkIGZpZWxkIHRvIHNyYyBjYXBzCgoyMDEwLTA2LTE4IDE0OjM3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogVXNlIGdzdF90YWdfbGlzdF9wZWVrX3N0cmluZ19pbmRleAoJICBSZXBsYWNlIF9nZXRfc3RyaW5nX2luZGV4IHdpdGggX3BlZWtfc3RyaW5nX2luZGV4IHRvIGF2b2lkCgkgIGEgc3RyaW5nIGNvcHkKCjIwMTAtMDYtMTggMTg6NDE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGhhbmRsZSAzLWJ5dGUgYnl0ZXN0cmVhbSBzeW5jIGNvZGUKCjIwMTAtMDYtMTcgMTA6NTI6MzEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBpbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMC0wNi0xNiAxMDozMToxOSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBEb24ndCBjcmFzaCBpZiBubyB2YWxpZCBpbnB1dCB3YXMgcGFyc2VkIHlldAoJICBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTYwMzc3MQoKMjAxMC0wNi0xMSAxMDo1MzoyNiArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFkZGVkIGRlYnVnZ2luZyBvdXRwdXQgZm9yIG1wZWdwYWNrZXRpc2VyCgoyMDEwLTA2LTE1IDE2OjUwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MzM5Y2NjIHRvIDM1NjE3YzIKCjIwMTAtMDYtMTUgMTY6NTQ6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWFkYjFjYSB0byA5MzM5Y2NjCgoyMDEwLTA2LTE1IDE1OjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHNlZWsgZXZlbnQgcmVmIGhhbmRsaW5nCgoyMDEwLTA2LTE1IDE1OjMzOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBhcml0aG1ldGljIG92ZXJmbG93cyBpbiBwdWxsIG1vZGUgYnVmZmVyIGNhY2hlIGhhbmRsaW5nCgoyMDEwLTA2LTE1IDE1OjMyOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHNlZWsgaGFuZGxpbmcKCSAgQWxsb3cgYSBmZXcgbW9yZSBzZWVrIGV2ZW50IHR5cGUgY29tYmluYXRpb25zLCBhbmQgcmVhbGx5IHVzZSB0aGUgcmVzdWx0CgkgIG9mIGdzdF9zZWdtZW50X3NldF9zZWVrIHRvIHBlcmZvcm0gdGhlIHNlZWsuICBBbHNvIGFkZCBzb21lIGRlYnVnLgoKMjAxMC0wNi0xNSAxNjozNTozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4OWI3IHRvIDVhZGIxY2EKCjIwMTAtMDYtMTUgMTU6NDk6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzgwNDk4OCB0byA1N2M4OWI3CgoyMDEwLTA2LTEyIDA5OjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wbGVtZW50IG11bHRpcGFzcyBlbmNvZGluZwoJICBGaXhlcyBidWcgIzYyMTM0OC4KCjIwMTAtMDYtMTUgMTE6MjA6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzcHJpbmtsZSBzb21lIGJyYW5jaCBwcmVkaWN0aW9uCgoyMDEwLTA2LTE1IDExOjE2OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTAtMDYtMTUgMTE6MTY6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXJzZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZyAoVk9TSCwgVk9TLCBldGMpIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEgR09QIG9yIFZPUC1JIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYyMTIwNS4KCjIwMTAtMDYtMTUgMTc6MTY6MTIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogQXBwbHkgcHJldmlvdXMgdGltZXN0YW1wIHdoZW4gdGhlcmUgaXNuJ3QgYW55IG5ld2VyLgoJICBJZiB0aGUgY3VycmVudCBpbmNvbWluZyBwYWNrZXQgZGlkbid0IGNhcnJ5IGEgdGltZXN0YW1wLCBidXQgYQoJICBwcmV2aW91cyBwYWNrZXQgaGFkIG9uZSB3ZSBkaWRuJ3QgeWV0IHVzZSwgdGhlbiBhcHBseSB0aGF0IHRpbWVzdGFtcAoJICB0byB0aGUgbmV4dCBwaWN0dXJlLgoJICBGaXhlczogIzYxODMzNgoKMjAxMC0wNi0xNCAxNzowMTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdMaWIgMi4yMAoKMjAxMC0wNi0xNCAxNTo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCBWUDhFX1NFVF9DUFVVU0VEIHRvIDAKCSAgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIGhvdyBtdWNoIENQVSBjYW4gYmUgdXNlZCBieSB0aGUgZW5jb2Rlciwgc3BlY2lmaWVkCgkgIGluIGZyYWN0aW9ucyBvZiAxNi4gTmVnYXRpdmUgdmFsdWVzIG1lYW4gc3RyaWN0IGVuZm9yY2VtZW50IG9mIHRoaXMKCSAgd2hpbGUgcG9zaXRpdmUgdmFsdWVzIGFyZSBhZGFwdGl2ZS4KCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTQsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmUgbm90IHJ1bm5pbmcgYXMgZmFzdAoJICBhcyBwb3NzaWJsZSBhbmQgcHJvYmFibHkgYXJlIHdhc3Rpbmcgc29tZSBxdWFsaXR5LiAwIGlzIHRoZSByZWNvbW1lbmRlZAoJICBkZWZhdWx0IGJ5IGxpYnZweCB1cHN0cmVhbS4KCjIwMTAtMDYtMTQgMTU6NTE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgVlBYIGRlZmluZXMgZm9yIFJFQUxUSU1FLCBHT09EL0JFU1QgcXVhbGl0eSBkZWFkbGluZXMgaW5zdGVhZCBvZiBvdXIgb3duCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIHVzZWQgZm9yIHRoZSBzcGVlZCBwcm9wZXJ0eS4KCjIwMTAtMDYtMTQgMTU6NDY6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBwcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmcgaWYgb3JjIG5vdCBwcmVzZW50CgoyMDEwLTA1LTMxIDE4OjMwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGhhbmRsZSBGTFVTSF9TVE9QIHNpbmsgZXZlbnQKCjIwMTAtMDUtMzEgMTg6MzA6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogb3B0aW1pemUgaW1hZ2UgcGFyc2luZwoJICBVc2UgYWRhcHRlciBBUEkgZm9yIHNjYW5uaW5nIGFuZCBwZWVraW5nIHRvIHJlZHVjZSBidWZmZXIgY29weWluZy4KCSAgU2VlICM1ODMwNDcuCgoyMDEwLTA2LTE0IDE1OjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNDo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIG9yYyBpbnN0ZWFkIG9mIGxpYm9pbAoKMjAxMC0wNi0xNCAxNDo1MTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IFVzZSBvcmMgZm9yIENQVSBmZWF0dXJlIGRldGVjdGlvbgoKMjAxMC0wNi0xNCAxNDo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCB1c2UgbGlib2lsIGZ1bmN0aW9ucwoJICBnbGliYyBtZW1jcHkoKSB3aWxsIGJlIGZhc3RlciB0aGFuIGxpYm9pbCdzL29yYydzIGZvciBub3cgYW55d2F5CgkgIGFuZCB3ZSBjYW4gdXNlIG9yYydzIGxhdGVyLCBhZnRlciBvcmMgaGFzIHN1cHBvcnQgZm9yIGxvb3AgdW5yb2xsaW5nLgoKMjAxMC0wNi0xNCAxNDo0Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IERvbid0IGluY2x1ZGUgbGlib2lsIGhlYWRlcnMsIHRoZXkncmUgbm90IHVzZWQgYW55d2F5CgoyMDEwLTA2LTE0IDEzOjI2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgR0xJQl9FWFRSQV9DRkxBR1MKCjIwMTAtMDYtMTQgMTM6MDQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YTBmZGY1IHRvIGM4MDQ5ODgKCjIwMTAtMDYtMTQgMTI6NDk6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhZGQgb3B0aW9uIHRvIGluc2VydCBTUFMvUFBTIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc2VydCBTUFMgYW5kIFBQUyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMKCSAgaW4gdGhlIHN0cmVhbSAod2hlbiBhbiBJRFIgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjIwOTc4LgoKMjAxMC0wNi0wOSAxNTozMjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gY29sbGVjdCBTUFMgYW5kIFBQUyBuYWx1IGluIGNvZGVjX2RhdGEKCjIwMTAtMDYtMTQgMTE6MzQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGEzYmFiIHRvIDdhMGZkZjUKCjIwMTAtMDYtMTMgMDg6Mjg6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBEb24ndCB1c2UgZGVwcmVjYXRlZCAxNS8xNiBiaXQgUkdCIG1hc2tzCgoyMDEwLTA2LTEyIDA4OjI4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzMzZmNhOSB0byA2ZGEzYmFiCgoyMDEwLTA1LTIyIDEwOjM1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIHZjZHNyYzogbWlub3IgY2xlYW4tdXAKCSAgVXNlIGdzdF91cmlfaGFzX3Byb3RvY29sKCkuCgoyMDEwLTA2LTExIDE1OjI5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEZpeCB0ZXN0cyBidWlsZGluZwoJICBPbmx5IGJ1aWxkIGppZm11eCB0ZXN0cyBpZiBsaWJleGlmIGhlYWRlcnMgYXJlIHByZXNlbnQKCjIwMTAtMDYtMDkgMTk6MTY6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiB1c2UgZ2xpYiBpbnN0ZWFkIG9mIHN0ZGludCB0eXBlcwoKMjAxMC0wNi0wOSAxODozOTozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIG00IG1hY3JvIGZvciBPcmMgY2hlY2sKCjIwMTAtMDYtMDUgMTY6MDI6NDEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgc3B1cmlvdXMgd2FybmluZwoKMjAxMC0wNi0xMCAxNDoxNzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBjb3JlL2Jhc2UgZ2l0IGZvciB0aGUgbmV3IGltYWdlIHRhZ3MgYW5kIGhlbHBlciBmdW5jdGlvbnMKCjIwMTAtMDUtMTAgMTA6NDc6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIGppZm11eCBleGlmIHRhZ3MgdGVzdHMKCSAgQWRkcyBhIGJhc2ljIHVuaXQgdGVzdCBmb3IgamlmbXV4IHRvIHRlc3QgdGhhdCBleGlmIHRhZ3MKCSAgYXJlIHdyaXRlbiBwcm9wZXJseS4KCSAgVGhpcyB0ZXN0IHVzZXMgbGliZXhpZi4KCSAgRml4ZXMgIzYxNDg3MgoKMjAxMC0wNC0yOCAyMzo1MjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEFkZCBleGlmIHN1cHBvcnQKCSAgQWRkcyBleGlmIHdyaXRpbmcgc3VwcG9ydCB0byBqaWZtdXguCgkgIEFkZHMgcGFyc2luZyBzdXBwb3J0IHRvIGpwZWdwYXJzZS4KCSAgRml4ZXMgIzYxNDg3MgoKMjAxMC0wNi0wOSAxMjo0MDoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZhZDE0NWIgdG8gNzMzZmNhOQoKMjAxMC0wNi0wOSAxMjozNDoxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3NjgzYzEgdG8gZmFkMTQ1YgoKMjAxMC0wNi0wOSAyMDo0OToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCB0aW1lc3RhbXBzIGFmdGVyIGEgc2VlawoKMjAxMC0wNi0wOCAxNDozMzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IERlcHJlY2F0ZSAnaXMtbGl2ZScgYW5kIGFkZCAnc3RyZWFtYWJsZScgcHJvcGVydHkKCSAgRm9sbG93aW5nIHRoZSBzaW1pbGFyIGNoYW5nZSBpbiBmbHZtdXgsIHRoaXMgY29tbWl0IGFkZHMKCSAgJ3N0cmVhbWFibGUnIHByb3BlcnR5IGFuZCBkZXByZWNhdGVkICdpcy1saXZlJyBmb3IgYSBiZXR0ZXIvbGVzcyB3cm9uZwoJICBuYW1lLgoKMjAxMC0wNS0xMyAxMjoxNToyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBkb24ndCBzZXQgdGhlICdzZWVrYWJsZScgZmxhZyBpZiB3ZSBhcmUgc3RyZWFtaW5nCgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDQtMjkgMTA6NDY6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogd3JpdGUgcHJlcm9sbCBpbmZvIGluIHRoZSBoZWFkZXIgYXQgaW5pdGlhbGl6YXRpb24KCSAgVGhpcyB2YWx1ZSBkb2Vzbid0IG5lZWQgdG8gYmUgdXBkYXRlZCBhbmQgaXMgdXNlZnVsbCBpbiBhIHN0cmVhbWluZyBjb250ZXh0CgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDQtMjYgMTM6MzM6NDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcHV0IGhlYWRlcnMgaW4gc3RyZWFtaGVhZGVyIGZvciBzdHJlYW1pbmcKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNi0wOCAxMzo1OTo0NSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogc3RhcnQgcG10IGF0IDB4MDIwIGFzIHN1Z2dlc3RlZCBieSBaYWhlZXIKCjIwMTAtMDYtMDggMTM6NTk6MDggKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdGFrZSBhbGwgdGhlIHBtdCBpbiB0aGUgc3RyZWFtaGVhZGVycwoKMjAxMC0wNi0wOCAwOToxNDowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBhc3NlcnQgb24gc2V0X3Byb3BlcnR5IHRvIE5VTEwgZm9yIGVsZW1lbnRzCgkgIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBOVUxMIGJlZm9yZSByZWZmaW5nIHRoZW0gaW4gc2V0X3Byb3BlcnR5CgkgIGZvciAnR3N0RWxlbWVudCcgcHJvcGVydGllcwoKMjAxMC0wNi0wOCAwODo0MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBhc3NlcnQgb24gbnVsbCBjYXBzIHByb3BlcnR5CgkgIElmIGNhbWVyYWJpbiByZWNlaXZlcyBhIG51bGwgY2FwcyBhcyAnZmlsdGVyLWNhcHMnIGFyZ3VtZW50LAoJICB1c2UgdGhlIGRlZmF1bHQgdmFsdWUKCjIwMTAtMDYtMDcgMjI6NTY6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBVc2UgX0NBU1QgbWFjcm8KCSAgUmVwbGFjZSBkZWZhdWx0IHR5cGUgY2FzdGluZyBtYWNybyB3aXRoIHRoZSBmYXN0ZXIgZGlyZWN0IF9DQVNUIG1hY3JvCgoyMDEwLTA2LTA3IDIyOjIxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCSAgTWFrZXMgdGhlIGVsZW1lbnQncyBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZSBhbmQgdGhyZWFkc2FmZS4KCSAgRml4ZXMgIzYyMDgyNQoKMjAxMC0wNi0wNyAxNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IFJlbW92ZSBwYWdlLXVybCBhbmQgc3dmLXVybCBwcm9wZXJ0aWVzCgkgIEl0J3MgcG9zc2libGUgdG8gaW5jbHVkZSBhbGwgdGhvc2Ugb3B0aW9ucyBpbiB0aGUgVVJMIGFscmVhZHkKCSAgYnkgYXBwZW5kaW5nIHRoZSBvcHRpb25zIGFuZCBzZXBhcmF0aW5nIHRoZW0gYnkgc3BhY2VzLCBlLmcuCgkgIHJ0bXA6Ly9zb21ld2hlcmUvc29tZXRoaW5nIG9wdDE9dmFsMSBvcHQyPXZhbDIKCjIwMTAtMDYtMDcgMTc6MzA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggbWVtb3J5IGxlYWtzCgoyMDEwLTA2LTA3IDExOjE1OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBPbmx5IHdvcmtzIHdpdGggcmF0ZT04MDAwLCBmaXggaW4gY2FwcwoKMjAxMC0wNi0wNyAwNzo1ODoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjcmFzaCBpbiAnZmlsZW5hbWUnIHByb3BlcnR5CgkgIERvIG5vdCBjcmFzaCB3aGVuIGZpbGVuYW1lIHByb3BlcnR5IGlzIHNldCB0byBOVUxMLCB1c2UgYW4KCSAgZW1wdHkgc3RyaW5nIGluc3RlYWQuCgoyMDEwLTA2LTA3IDA3OjM4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBSdW4gZ3N0LWluZGVudCBvbiAuYyBmaWxlcwoJICBrYXRlIHBsdWdpbiBoYXMgc29tZSBpbmRlbnRhdGlvbiBwcm9ibGVtcywgcnVuIGdzdC1pbmRlbnQgb24gdGhlbQoJICBhbmQgZml4IGl0CgoyMDEwLTA2LTA2IDIyOjM0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgbWFyYmxlOiBBZGRzICdtYXJibGUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYSBuZXcgZWxlbWVudCB0aGF0IGRvZXMgYSBtYXJibGluZyBlZmZlY3QgdG8KCSAgZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wNiAxNDozNTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFVzZSBleHBsaWNpdCBmb3JtYXRzIGZyb20gZ3N0dmlkZW8KCSAgVXNlIGV4cGxpY2l0IGZvcm1hdCBtYWNyb3MgZnJvbSBnc3R2aWRlbyB0byBhdm9pZCBleHBvc2luZwoJICB1bnN1cHBvcnRlZCBmb3JtYXRzIG9uIHRlbXBsYXRlIHBhZHMuIFVzaW5nIHRoZSBtYWNyb3MKCSAgYWxzbyBnaXZlIHVzIGNvbXBsZXRlIGNhcHMgKHdpZHRoL2hlaWdodC9mcmFtZXJhdGUpLgoJICBBbmQgYWRkIHN1cHBvcnQgZm9yIEFZVVYuCgkgIEZpeGVzICM2MjA3MTcKCjIwMTAtMDYtMDUgMTk6Mzg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBkaWZmdXNlOiBBZGRzIGRpZmZ1c2UgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyB0aGUgJ2RpZmZ1c2UnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLiBJdCBtb3ZlcwoJICB0aGUgcGl4ZWxzIG9mIHRoZSBpbWFnZSBpbiByYW5kb20gZGlyZWN0aW9ucwoKMjAxMC0wNi0wNSAxOToyMDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE1ha2UgbWFwIHByZWNhbGN1bGF0aW9uIG9wdGlvbmFsCgkgIEFkZHMgYSB2YXJpYWJsZSB0byBiZSBzZXQgdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBlbmFibGUKCSAgb3IgZGlzYWJsZSBwcmVjYWxjdWxhdGlvbiBvZiB0aGUgcGl4ZWxzIG1hcHBpbmcKCjIwMTAtMDYtMDYgMTU6MzI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBBZGQgc29tZSBicmFjZXMgdG8gaW1wcm92ZSByZWFkYWJpbGl0eQoKMjAxMC0wNi0wNiAxNToyOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEltcHJvdmUgdGltZXN0YW1wIGhhbmRsaW5nIGEgYml0CgoyMDEwLTA2LTA2IDE1OjI0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZwoKMjAxMC0wNi0wNiAxMzo1NzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogSGFuZGxlIHRpbWVzdGFtcHMgYW5kIHRoZSBwb3NpdGlvbiBxdWVyeQoJICBUaGlzIGlzIG5vdCB2ZXJ5IGFjY3VyYXRlIGJ1dCBiZXR0ZXIgdGhhbiBub3RoaW5nLiBUaGUgZGVtdXhlcgoJICBhZnRlciB0aGUgc291cmNlIGtub3dzIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcy4KCjIwMTAtMDYtMDYgMDg6MzA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBBbGxvY2F0ZSBhbmQgZnJlZSB0aGUgUlRNUCBpbnN0YW5jZSBpbiBzdGFydC9zdG9wCgoyMDEwLTA2LTA0IDIyOjM2OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBBZGQgcHJvcGVydGllcyBmb3Igc2V0dGluZyB0aGUgc3dmVXJsIGFuZCBwYWdlVXJsIHByb3BlcnRpZXMKCSAgVGhlc2UgYXJlIHJlcXVpcmVkIGZvciBzb21lIHN0cmVhbXMgdW5mb3J0dW5hdGVseS4KCjIwMTAtMDYtMDQgMjI6MDQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IE1ham9yIGNsZWFudXAgYW5kIHJlb3JnYW5pemF0aW9uCgoyMDEwLTA2LTA0IDA4OjE0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvUkVBRE1FOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZ3N0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydG1wL2FtZi5jOgoJKiBnc3QvcnRtcC9hbWYuaDoKCSogZ3N0L3J0bXAvYnl0ZXMuaDoKCSogZ3N0L3J0bXAvZGguaDoKCSogZ3N0L3J0bXAvZGhncm91cHMuaDoKCSogZ3N0L3J0bXAvaGFuZHNoYWtlLmg6CgkqIGdzdC9ydG1wL2hhc2hzd2YuYzoKCSogZ3N0L3J0bXAvaHR0cC5oOgoJKiBnc3QvcnRtcC9sb2cuYzoKCSogZ3N0L3J0bXAvbG9nLmg6CgkqIGdzdC9ydG1wL3BhcnNldXJsLmM6CgkqIGdzdC9ydG1wL3J0bXAuYzoKCSogZ3N0L3J0bXAvcnRtcC5oOgoJKiBnc3QvcnRtcC9ydG1wX3N5cy5oOgoJICBydG1wOiBNb3ZlIHRvIGV4dCBhbmQgZHJvcCBpbnRlcm5hbCBsaWJydG1wIGNvcHkKCSAgV2UgcmVhbGx5IGRvbid0IHdhbnQgdGhpcyBpbiBnc3QtcGx1Z2lucy1iYWQgYmVjYXVzZSBvZgoJICBsZWdhbCBjb21wbGV4aXRpZXMgYXJvdW5kIFJUTVAgYW5kIHBvc3NpYmxlIHByb2JsZW1zCgkgIGZvciBkaXN0cmlidXRpb25zLgoJICBBZGQgUkVBRE1FIHRoYXQgZXhwbGFpbnMgaG93IHRvIGJ1aWxkIGxpYnJ0bXAgdG8gYmUgc3VpdGFibGUKCSAgZm9yIGxpbmtpbmcgdG8gdGhlIEdTdHJlYW1lciBwbHVnaW4uCgoyMDEwLTA2LTAyIDAwOjQ1OjA2ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRtcC9hbWYuYzoKCSogZ3N0L3J0bXAvYW1mLmg6CgkqIGdzdC9ydG1wL2J5dGVzLmg6CgkqIGdzdC9ydG1wL2RoLmg6CgkqIGdzdC9ydG1wL2RoZ3JvdXBzLmg6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9oYW5kc2hha2UuaDoKCSogZ3N0L3J0bXAvaGFzaHN3Zi5jOgoJKiBnc3QvcnRtcC9odHRwLmg6CgkqIGdzdC9ydG1wL2xvZy5jOgoJKiBnc3QvcnRtcC9sb2cuaDoKCSogZ3N0L3J0bXAvcGFyc2V1cmwuYzoKCSogZ3N0L3J0bXAvcnRtcC5jOgoJKiBnc3QvcnRtcC9ydG1wLmg6CgkqIGdzdC9ydG1wL3J0bXBfc3lzLmg6CgkgIHJ0bXA6IEFkZCBSVE1QIHNvdXJjZSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2NjYwNAoKMjAxMC0wNi0wNSAxMTowNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFNldCBvdXRwdXQgYnVmZmVyIGRhdGEgdG8gMAoJICBJbml0aWFsaXplIG91dHB1dCBidWZmZXIgZGF0YSB0byAwIGJlZm9yZSBkb2luZyB0aGUKCSAgdHJhbnNmb3JtLgoKMjAxMC0wNi0wNSAxMDo1ODowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IERlc2NyaXB0aW9ucyBhbmQgZGVmYXVsdCB2YWx1ZXMKCSAgSW1wcm92ZSBzb21lIHByb3BlcnRpZXMgYW5kIGVsZW1lbnQgZGVzY3JpcHRpb25zIGFuZCBjaGFuZ2VzCgkgIHNvbWUgZGVmYXVsdCBwcm9wZXJ0aWVzIHZhbHVlcy4KCjIwMTAtMDYtMDQgMTY6MTQ6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBWZXJpZnkgdGhhdCBwaXBlIGV4aXN0cyBiZWZvcmUgcmVzaXppbmcgaXQKCjIwMTAtMDYtMDQgMTU6NTQ6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIGNvcHlyaWdodCBub3RpY2VzIHRvIHNobWFsbG9jLltjaF0gYW5kIHNobXBpcGUuW2NoXQoKMjAxMC0wNi0wNCAxNTo1MzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UKCSAgUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSBnZW9tZXRyaWN0cmFuc2Zvcm0gZmlsZXMKCjIwMTAtMDYtMDMgMDA6MjQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIHdhdGVycmlwcGxlOiBBZGRzIG5ldyB3YXRlcnJpcHBsZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zb2ZtcgoJICBBZGRzIGFuIHdhdGVyIHJpcHBsZSBkaXN0b3J0aW9uIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgoyMDEwLTA2LTAyIDIzOjU1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIHNwaGVyZTogQWRkcyBuZXcgJ3NwaGVyZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRvIGRvICdzcGhlcmUnIGVmZmVjdCBpbnRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBwbHVnaW4KCjIwMTAtMDYtMDIgMjI6MDE6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkcyBzb21lIHByb3BlcnRpZXMgdG8gYmFzZSBjbGFzcwoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoYXQgdG8gZG8gd2l0aCBwaXhlbHMgdGhhdCBhcmUgbWFwcGVkIG91dCBvZgoJICBlZGdlczogaWdub3JlLCBjbGFtcCBvciB3cmFwLgoKMjAxMC0wNi0wMiAxODo1ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGNpcmNsZTogQWRkcyBjaXJjbGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgkgIEFkZHMgdGhlIG5ldyAnY2lyY2xlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDIgMDE6MjE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBrYWxlaWRvc2NvcGU6IEFkZHMgbmV3IGVsZW1lbnQgJ2thbGVpZG9zY29wZScKCSAgQWRkcyBuZXcga2FsZWlkb3Njb3BlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wMiAwMDo0ODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ3N0dHdpcmw6IEFkZHMgbmV3IGVsZW1lbnQgdHdpcmwKCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW46IHR3aXJsCgoyMDEwLTA2LTAyIDAwOjM0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgYSBpbnRlcm1lZGlhcnkgYmFzZWNsYXNzIGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGFuIGludGVybWVkaWFyeSBiYXNlY2xhc3MgbmFtZWQgZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtCgkgIHRvIGtlZXAgY29tbW9uIHByb3BlcnRpZXMgY29kZSBmb3IgZmlsdGVycyB0aGF0IG9wZXJhdGUgb24KCSAgYSBjaXJjdWxhciBhcmVhLgoKMjAxMC0wNS0zMCAxMjo1MDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSAgcGluY2g6IFNvbWUgb3B0aW1pemF0aW9uIHVzaW5nIHRoZSBwcmVwYXJlIGZ1bmMKCSAgU21hbGwgb3B0aW1pemF0aW9uIGJ5IHByZWNhbGN1bGF0aW5nIHRoZSBjZW50ZXIgb2YgdGhlIGVmZmVjdCwKCSAgYWxzbyB1c2UgbmV3bHkgYWRkZWQgX0NBU1QgbWFjcm8uCgoyMDEwLTA1LTMwIDEyOjM2OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyBwcmVwYXJlIGZ1bmN0aW9uIGFuZCBjbGVhbnVwCgkgIEFkZHMgYSBwcmVwYXJlIGZ1bmN0aW9uIHRvIG1ha2Ugc3ViY2xhc3NlcyBwcmVjYWxjdWxhdGUgdmFsdWVzCgkgIHRoYXQgd2lsbCBiZSB1c2VkIHRocm91Z2hvdXQgdGhlIG1hcHBpbmcgZnVuY3Rpb25zLgoJICBBbHNvIGFkZHMgYSBtaXNzaW5nIGNsZWFudXAgdG8gZml4IGEgbWVtbGVhawoKMjAxMC0wNS0yNiAyMTozOToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFByZWNhbGN1bGF0ZSBtYXBwaW5nIGFycmF5CgkgIFByZWNhbGN1bGF0ZSB3aGVuIHNldHRpbmcgY2FwcyB0aGUgd2FycGluZyBtYXAgdG8gYXZvaWQKCSAgcmVjYWxjdWxhdGluZyBpdCBldmVyeSBidWZmZXIKCjIwMTAtMDUtMjYgMTg6Mjk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBY2NlcHQgYW55IHJnYiBvciBncmF5CgkgIFVzaW5nIGdzdHZpZGVvIGZ1bmN0aW9ucyBnZW9tZXRyaWN0cmFuc2Zvcm0gY2FuIGhhbmRsZQoJICByZ2Igb3IgZ3JheSwgcHV0IHRoYXQgb24gdGVtcGxhdGUgY2FwcwoKMjAxMC0wNS0yNiAxODoyMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVuYW1lIHNvbWUgdmFyaWFibGVzIGZvciBjbGFyaXR5CgkgIFJlbmFtZXMgc29tZSB2YXJpYWJsZXMgYW5kIGFkZHMgYSBtaW5pbXVtIGRvYyB0byB0aGUKCSAgbWFwcGluZyBmdW5jdGlvbiBmb3IgYSBsaXR0bGUgY2xhcml0eS4KCSAgQWxzbyB1c2VzIGdzdHZpZGVvIGZ1bmN0aW9ucyBmb3IgdGhlIHJvdyBhbmQgcGl4ZWwgc3RyaWRlcwoJICBpbnN0ZWFkIG9mIGhhcmRjb2RlZCB2YWx1ZXMKCjIwMTAtMDUtMjQgMjM6NTc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBOZXcgcGx1Z2luIGZvciBnZW9tZXRyaWMgdHJhbnNmb3JtcwoJICBBZGRzIGEgbmV3IHBsdWdpbiB0aGF0IGhhcyBlbGVtZW50cyB0aGF0IHBlcmZvcm0gZ2VvbWV0cmljCgkgIHRyYW5zZm9ybWF0aW9ucyB0byBpbWFnZXMuIEJ5IGdlb21ldHJpYyB0cmFuc2Zvcm1hdGlvbnMgSSBtZWFuCgkgIHRoYXQgdGhlIG9wZXJhdGlvbnMgYXJlIGZ1bmN0aW9ucyB0aGF0IGdpdmVuIHRoZSBvdXRwdXQgcGl4ZWwKCSAgcG9zaXRpb24sIGdldCB0aGUgcGl4ZWwgcG9zaXRpb24gaW4gdGhlIGlucHV0IGltYWdlLiBUaGlzIHBpeGVsCgkgIGlzIHRoZW4gY29waWVkIGZyb20gaW5wdXQgdG8gb3V0cHV0LgoJICBUaGUgZ3N0Z2VvbWV0cmljdHJhbnNmb3JtIGJhc2VjbGFzcyBtYWtlcyBpdCBlYXN5IHRvIHdyaXRlCgkgIHN1Y2ggZWxlbWVudHMuIEl0IGJvaWxzIGRvd24gdG8gd3JpdGUgdGhlIG1hcHBpbmcgZnVuY3Rpb24KCSAgYW5kIGV4cG9zaW5nIHByb3BlcnRpZXMKCSAgQWxyZWFkeSBhZGRlZCB0aGUgZmlyc3Qgb2YgdGhlIGVsZW1lbnRzLCAncGluY2gnLiBJdCdzIGEgY29tbW9uCgkgIGVmZmVjdCBpbiBpbWFnZSBlZGl0b3JzLCBsaWtlIGdpbXAgKGRpc3RvcnQgLT4gcGluY2gpCgoyMDEwLTA2LTAzIDIzOjE5OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJICB0b29sczogZmxlc2ggb3V0IGVsZW1lbnQtbWFrZXIgdGVtcGxhdGVzCgoyMDEwLTA2LTAzIDE4OjE0OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBoYW5kbGUgb3RoZXIgYmF5ZXIgZm9ybWF0cwoKMjAxMC0wNi0wMyAxODoxNDo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgcmdiMmJheWVyOiBoYW5kbGUgbXVsdGlwbGUgYmF5ZXIgZm9ybWF0cwoKMjAxMC0wNi0wMyAxNTo1MzowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgYmF5ZXI6IEFkZCByZ2IyYmF5ZXIgZWxlbWVudAoJICBNb3N0bHkgZm9yIHRlc3RpbmcvY29tcGxldGVuZXNzLgoKMjAxMC0wNi0wMyAyMDo1MTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBmaXggZGVidWcgbWVzc2FnZXMKCSAgTWlzYy4gcHJpbnRmIGZvcm1hdCBmaXhlcyBhbmQgbWlzc2luZyBhcmd1bWVudHMuCgoyMDEwLTA2LTAzIDE1OjI3OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogTWFrZSBzdGF0aWMgZnVuY3Rpb24gc3RhdGljCgoyMDEwLTA2LTAzIDE1OjI2OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTA2LTAzIDE0OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5oOgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IE1vdmUgdG8gc3lzLyBzaW5jZSBpdCBkb2Vzbid0IGV4aXN0IG9uIHdpbmRvd3MKCjIwMTAtMDYtMDMgMTQ6NDE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogRml4IGluZGVudGF0aW9uCgoyMDEwLTA2LTAzIDE0OjIyOjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBQcmludCBlcnJvcnMgaWYgZmNobW9kIGZhaWxzCgoyMDEwLTA0LTA3IDE5OjA1OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRml4IGNyYXNoIHdoZW4gc3BfY2xvc2Vfc2htIGlzIGNhbGxlZCB3aXRoIHNlbGYgPT0gTlVMTC4KCSAgSWYgc3Bfb3Blbl9zaG0gZXJyb3JzIG91dCB0cnlpbmcgdG8gb3BlbiBhIHNobSBhcmVhLCBpdCB3b3VsZCBjcmFzaAoJICB3aGVuIHRyeWluZyB0byBmcmVlIHRoZSBhcmVhLiBUaGUgUkVUVVJOX0VSUk9SIG1hY3JvIGNhbGxzCgkgIHNwX3NobV9hcmVhX2RlYyB3aXRoIHNlbGYgPT0gTlVMTC4gc3Bfc2htX2FyZWFfZGVjIGNhbGxzCgkgIHNwX3NobV9jbG9zZSwgd2l0aCBzZWxmID09IE5VTEwsIHdoaWNoIGl0IHRoZW4gdHJpZXMgdG8gYWNjZXNzIGEKCSAgcGFyYW1ldGVyIG9mIHdpdGhvdXQgY2hlY2tpbmcuIFRoaXMgcGF0Y2ggY2hlY2tzIHRvIG1ha2Ugc3VyZQoJICBzZWxmICE9IE5VTEwgYmVmb3JlIGFjY2Vzc2luZyB0aGF0IHBhcmFtZXRlci4KCjIwMTAtMDQtMDcgMTk6MDU6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBVcGRhdGUgY29kZSBzdGFuZGFyZAoKMjAxMC0wMi0wMyAxMzo1MDoxMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBBZGQgc29ja2V0IHBhdGggdG8gZXJyb3IgbWVzc2FnZQoKMjAxMC0wMi0wMiAxNzo0MDowOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFJlbW92ZSB3cm9uZyB0ZXN0IGludmVyc2lvbgoKMjAxMC0wMi0wMiAxNzozNToyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFZlcmlmeSB0aGF0IGFjY2VwdCBzdWNjZWVkcwoKMjAxMC0wMi0wMiAxNzozNToxNSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEZpeCBvbmUgYnl0ZSBvdmVyZmxvdwoKMjAxMC0wMi0wMiAxMToxMTowNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogSW1wcm92ZSBkZWJ1ZyBwcmludHMKCjIwMTAtMDEtMjYgMTI6MzQ6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBHZXQgcG90ZW50aWFsbHkgbW9kaWZpZWQgYWZ0ZXIgb3BlbmluZyBzaG1waXBlCgoyMDEwLTAxLTI2IDEyOjMyOjU2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobTogVHJ5IGFsdGVybmF0ZSBwYXRocyBmb3IgdGhlIHNvY2tldAoKMjAxMC0wMS0yOSAxMTowNjo0NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IERvbid0IHByZXRlbmQgdGhlIHBhdGggaXMgcmFuZG9tCgoyMDEwLTAxLTI5IDEwOjU3OjI3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogQ3JlYXRlIHNobSBhcmVhIGV4Y2x1c2l2ZWx5CgoyMDEwLTAxLTI4IDE1OjM0OjQ0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htYWxsb2M6IE1ha2UgaXQgYnVpbGQgaW4gbm9uLWdsaWIgd29ybGQKCjIwMTAtMDEtMjggMTI6MTk6MDcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobXNyYzogTWFrZSB0aGUgc2htcGlwZSBsaWZlIGluZGVwZW5kYW50IG9mIHRoZSBlbGVtZW50IHN0YXRlcwoKMjAxMC0wMS0yOCAxMTo1NzozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFNpbXBsaWZ5IGhhbmRsaW5nIG9mIHJhbmRvbSBwYXRocwoKMjAxMC0wMS0yOCAxMTozNjowMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htcGlwZTogUmVtb3ZlIHVzZWxlc3MgYXR0cmliCgoyMDEwLTAxLTI4IDExOjMxOjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogUmVmIGNsaWVudCBzaG1hcmVhIHdoZW4gYSBidWZmZXIgaXMgcmVjZWl2ZWQgaW4gaXQKCjIwMTAtMDEtMjggMTE6MzA6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBEb24ndCBkZWMgb2xkIHNobSBhcmVhIHdoZW4gbmV3IG9uZSBpcyBhZGRlZAoJICBJdHMgcmVmIHdpbGwgYmUgZHJvcHBlZCB3aGVuIHRoZSAiY2xvc2UiIG1lc3NhZ2UgYXJyaXZlcwoKMjAxMC0wMS0yNyAxMTo0OTozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBMb2NrIHVzZXMgb2Ygc2htcGlwZQoKMjAxMC0wMS0yNiAxNDoyMDozNSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBBZGQgaXMtbGl2ZSBwcm9wZXJ0eQoKMjAwOS0xMS0wMyAyMDowMzoyNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogUHJpbnQgZGV0YWlscyBvbiBlcnJvcnMKCjIwMDktMTEtMDMgMTg6MzM6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIHZhbGdyaW5kIGhhcHB5CgoyMDA5LTExLTAzIDE2OjMxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogRG9uJ3QgYmxvY2sgb24gRU9TIGluIG5vbi1ibG9ja2luZyBtb2RlCgoyMDA5LTExLTAzIDE2OjA5OjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBCbG9jayBpZiByZXF1aXJlZAoKMjAwOS0xMC0zMCAxODoyNDo1OCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG0uaDoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBQb3J0IHRvIFNobVBpcGUKCjIwMDktMTAtMzAgMTI6Mzc6NTAgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobXNyYzogUG9ydCB0byBTaG1QaXBlCgoyMDA5LTEwLTI5IDE5OjE4OjI1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2htL3NobWFsbG9jLmM6CgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBzaG1waXBlIGltcGxlbWVudGF0aW9uCgoyMDA5LTA0LTI5IDE2OjMzOjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vZ3N0c2htLmM6CgkqIGdzdC9zaG0vZ3N0c2htLmg6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htOiBBZGQgc2htIGJhc2VkIHNpbmsgYW5kIHNyYwoJICBUaGVzZSB0d28gZWxlbWVudHMgKHNobXNpbmsgYW5kIHNobXNyYykgY29tbXVuaWNhdGUgYnVmZmVycyB1c2luZyBQT1NJWAoJICBzaGFyZWQgbWVtb3J5LiBUaGV5IGFsc28gY29tbXVuaWNhdGUgdGhlIGNhcHMuIFRoZSBzb3VyY2UgY3VycmVudGx5IGFjdHMgYXMKCSAgYSBsaXZlIHNvdXJjZSBhbmQgaWdub3JlcyB0aGUgdGltZXN0YW1wcyBjb21pbmcgZnJvbSB0aGUgc2luay4gSXQgYWxzbyBkb2VzCgkgIG5vdCB0cmFuc2ZlciB0aGUgdGFncy4KCjIwMTAtMDYtMDMgMTU6NTE6MTggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU29tZSBjaGVja3MgdG8gYXZvaWQgYXNzZXJ0cwoJICBnc3RfbXBlZ19kZXNjcmlwdG9yX2ZpbmQoKSBleHBlY3RzIHRoZSBkZXNjcmlwdGlvbiBmaWVsZCB0byBiZSBub24tTlVMTC4KCSAgVGhpcyBmaXhlcyBhIGNvdXBsZSBvZiBjYWxscyB3aGVyZSB0aGUgdmFsdWUgYmVpbmcgcGFzc2VkIGlzIG5vdAoJICB2ZXJpZmllZCB0byBiZSBub24tTlVMTCBmaXJzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDQ1NgoKMjAxMC0wNi0wMyAxMDo0OTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgaW4gbG9nIG1lc3NhZ2UKCSAgZ3N0dnA4ZW5jLmM6NTY0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoJICBnc3R2cDhlbmMuYzo3NDQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgoyMDEwLTA2LTAzIDEwOjQzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGxvZyBtZXNzYWdlIGFyZ3VtZW50CgoyMDEwLTA2LTAyIDIyOjA3OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogYWRkIGFuIGFzc2VydCB0byBwbGFjYXRlIGdjYy00LjUKCjIwMTAtMDYtMDIgMTk6NDY6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlb3BhcnNlOiBmaXggd2FybmluZwoKMjAxMC0wNi0wMiAxOTozODozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvcGFyc2U6IHJlbW92ZSBib2d1cyBhcGkKCjIwMTAtMDYtMDIgMTc6NTQ6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IHJlbW92ZSBnc3RfYmFzZV92aWRlb19zdGF0ZV9mcm9tX2NhcHMKCjIwMTAtMDYtMDIgMTc6NDA6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogcmVtb3ZlIGNvbXBhdGliaWxpdHkgY29kZQoKMjAxMC0wNi0wMiAxNjowNjoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogT3JjIGlzIG5vdCByZXF1aXJlZAoKMjAxMC0wNi0wMiAxNjowMToyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IHVzZSBkZWJ1ZyBjYXRlZ29yeSBmb3IgZWFjaCBjbGFzcwoKMjAwOS0xMC0wNSAxNTo0Nzo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogRmFpbCBpZiBjYXBzIGRvbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUgZmllbGQKCSAgUmV0dXJuIGZhbHNlIGZyb20gdGhlIGNhcHMgcGFyc2luZyBmdW5jdGlvbiBpZiB0aGVyZSBpcyBubyBmcmFtZXJhdGUKCSAgZmllbGQgaW4gdGhlIHByb3ZpZGVkIGNhcHMKCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMiAxMzozMTo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBjcmVhdGUgbmV3IHNlZ21lbnRzIGlmIG1pc3NpbmcKCjIwMDktMDktMTcgMTA6NTA6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgYSB3YXJuaW5nCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW8sIHZwODogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDIgMTk6NTI6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBDbGVhciBhZGFwdGVyIHdoZW4gZmx1c2hpbmcKCjIwMTAtMDYtMDIgMTk6NDU6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBTdG9wIGRlY29kaW5nIGlmIGNhbid0IHB1c2gKCjIwMTAtMDYtMDIgMTk6NDQ6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBGbHVzaCBhZGFwdGVyIHJpZ2h0IGF0ZXIgdXNpbmcgaXQKCjIwMDktMTEtMTggMTE6MTQ6MjggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBObyBuZWVkIHRvIGRvIGEgdHJ5IGFsbG9jYXRpb24KCjIwMDktMTEtMTggMTE6MDg6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBEb2N1bWVudCBwYXVzZWQtbW9kZSBwcm9wZXJ0eQoKMjAwOS0xMC0xMiAyMDoxOTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBVc2UgbG9nIGxvZ2xldmVsIGZvciBtZXNzYWdlcyB0aGF0IGFyZSBzaG93biBvbiBldmVyeSBmcmFtZQoKMjAwOS0xMC0xMiAyMDowOTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogUmVtb3ZlIG9iamVjdCBsb2NrIHVzYWdlLCBzdHJlYW0gbG9jayBpcyBlbm91Z2gKCjIwMDktMTAtMTIgMjA6MDg6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBPdXRwdXQgZnJhbWVyYXRlIGlzIHVua25vd24KCjIwMDktMTAtMTIgMjA6MDY6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IFJlbW92ZSBsb2NhbCBzdGF0ZSB2YXJpYWJsZSBmcm9tIGluc3RhbmNlCgoyMDA5LTEwLTEyIDE5OjU3OjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUKCjIwMDktMTAtMTIgMTk6NTY6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBNYWtlIGNhcHMgYSBsb3Qgc3RyaWN0ZXIKCjIwMDktMTAtMTIgMTk6NTI6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBTZXQgZGVsdGFfdW5pdCBmbGFnIG9uIGludHJhIGZyYW1lcwoKMjAwOS0xMC0xMiAxOTo1MDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBJbml0aWFsaXplIGVuY29kZXIvZGVjb2RlcnMgaW4gc3RhdGUgY2hhbmdlIGFuZCBzZXRjYXBzIHdoZXJlIHBvc3NpYmxlCgoyMDA5LTEwLTEyIDE5OjM2OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEZpeCBlbGVtZW50IGRldGFpbHMKCjIwMDktMTAtMTIgMTk6MzE6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEhvbGQgZWxlbWVudCBsb2NrIHdoaWxlIGFjY2Vzc2luZyB0aGUgY2xvY2sKCjIwMDktMTAtMTIgMTk6Mjk6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFJlZmFjdG9yIHRjcCBoZWFkZXIgY3JlYXRpb24gdG8gbm90IG1ha2UgYSBzZXBhcmF0ZSBidWZmZXIKCjIwMDktMTAtMTIgMTk6MTg6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEZ1bmN0aW9uIGNhbid0IGZhaWwKCjIwMDktMTAtMTIgMTk6MTc6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogUmVtb3ZlIEMrKyBzdHlsZSBjb21tZW50cwoKMjAwOS0xMC0xMiAxOToxNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBVc2UgR1NUX0VMRU1FTlRfRVJST1Igd2hlbiByZXR1cm5pbmcgYSBmbG93IGVycm9yCgoyMDA5LTEwLTEyIDE4OjU0OjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IEZpeCBHU1RfTUlNXypfQ0xBU1MgbWFjcm9zCgoyMDA5LTEwLTEyIDE4OjQ3OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBXYXJuIGlmIHBhdXNlZC1tb2RlIGlzIHRvZ2dsZWQgd2hpbGUgcGxheWluZwoKMjAwOS0xMC0xMiAxODozOTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMDktMTAtMTIgMTg6MzY6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIG1pbWljOiBSZW5hbWUgZnVuY3Rpb25zL21hY3JvcyB0byBtYXRjaCBjbGFzcyBuYW1lcwoKMjAxMC0wNS0xMCAxODozNzo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IEFkZCBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTA1LTA3IDE4OjU2OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IFJlbW92ZSBzdHJlYW0tbG9jayBldmVudCBoYW5kbGluZwoKMjAxMC0wNS0wNyAxODo1NDo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2MgZm9yIHNpbXBsaWZpY2F0aW9uCgoyMDEwLTA1LTA3IDE4OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIHJ0cGR0bWZtdXggc3RyZWFtLWxvY2sgY29kZQoKMjAxMC0wNS0wNyAxODo0MDozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBDaGFuZ2UgdGVzdHMgdG8gbm90IHVzZSB0aGUgcHJpb3JpdHkgcGFkcyBpbnN0ZWFkIG9mIHRoZSBldmVudHMKCjIwMTAtMDUtMDYgMTk6NTE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwZHRtZm11eDogRHJvcCBidWZmZXJzIG9uIG5vbi1wcmlvcml0eSBzaW5rcyB3aGVuIHNvbWV0aGluZyBpcyBpbmNvbWluZyBvbiB0aGUgcHJpb3JpdHkgc2luawoKMjAxMC0wNS0wNiAxODoxMTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBwcmlvcml0eSBzaW5rIHBhZHMKCjIwMTAtMDUtMDcgMTc6MTU6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBDbGVhbnVwIGV2ZW50IGZ1bmN0aW9uCgoyMDEwLTA1LTA3IDE2OjQyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBBZ2dyZWdhdGUgaW5jb21pbmcgc2VnbWVudHMKCjIwMTAtMDUtMDYgMTk6MDk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNS0wNiAxODoxMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBTaW1wbGlmeSByZXF1ZXN0IHBhZCBjcmVhdGlvbgoKMjAxMC0wNi0wMiAxMjoxNjo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlbzogbWFrZSBwcmludGYgZm9ybWF0cyBwb3J0YWJsZQoKMjAxMC0wNi0wMiAxMTo0MToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBPcmMgcmVxdWlyZW1lbnQgdG8gMC40LjQuMQoKMjAxMC0wNi0wMiAxMTozMToyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNZXJnZSBicmFuY2ggJ2hhY2tpbmcnCgoyMDEwLTA1LTIyIDE4OjE0OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIHZlcmlmeS1maWVsZC1mbGFncyBwcm9wZXJ0eQoJICBXaGVuIGVuYWJsZWQsIGNoZWNrIHRoYXQgdGhlIHZpZGVvIG1hdGNoZXMgdGhlIGZpZWxkIGZsYWdzIG9uIHRoZQoJICBpbmNvbWluZyBidWZmZXJzLgoKMjAxMC0wNS0yMiAxMTozNjozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IHJlbW92ZSBvbGQgY29kZQoKMjAxMC0wNS0yMiAxMTozMDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCA0OjI6MiBmb3JtYXRzCgoyMDEwLTA1LTIyIDAwOjQ0OjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQ2hhbmdlIGZvcm1hdCB0YWJsZQoJICBBZGQgZm9ybWF0IG5hbWUsIHBoYXNlIHRhYmxlLgoKMjAxMC0wMy0wOSAxMjozMjo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCBtdWx0aXBsZSBwdWxsZG93biBmb3JtYXRzCgoyMDEwLTA1LTIxIDIzOjM5OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBoYW5kbGUgZGlmZmVyZW50IGZyYW1lIHNpemVzCgoyMDEwLTA1LTI0IDEyOjU1OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IChpbiB2cDgpIE1hcmsgZGlzY29udCBidWZmZXJzCgoyMDEwLTA2LTAyIDA1OjUxOjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogRml4IGZvcm1hdCBzdHJpbmcgd2FybmluZwoJICBGaXhlcyAjNjIwMzI0CgoyMDEwLTA2LTAxIDIzOjUwOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBjb2c6IHJlbW92ZSBvbGQgdGVzdHMKCjIwMTAtMDYtMDEgMjM6MzQ6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgb3JjIHRlc3RzIHRvIGNoZWNrIE1ha2VmaWxlCgoyMDEwLTA2LTAxIDE2OjU1OjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IHVzZSBjb21tb24vb3JjLm1hawoKMjAxMC0wNS0xNiAxMDoyNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvOiBGaXggc2VnZmF1bHQgb24gRU9TCgoyMDEwLTA1LTE0IDAxOjIxOjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm86IGZpeCBmb3IgYmFzZSB2aWRlbyB1cGRhdGVzCgoyMDEwLTA1LTE2IDEwOjE1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEZpeGVzIGZvciBiYXNlIHZpZGVvIGVuY29kZXIgY2hhbmdlcwoKMjAxMC0wNi0wMSAxNTo1NDo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBiYXNlIHZpZGVvIGZyb20gdnA4IHRvIGdzdC1saWJzCgoyMDEwLTA2LTAxIDIzOjQ5OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTdmODllNSB0byA0NzY4M2MxCgoyMDEwLTA2LTAxIDIyOjU1OjExIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQ3Y2EwNCB0byAxN2Y4OWU1CgoyMDEwLTA1LTI2IDA2OjUyOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBVc2UgVlBYX1BMQU5FXyogaW5zdGVhZCBvZiBQTEFORV8qCgoyMDEwLTA1LTI0IDExOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBBZGQgY29tcGF0aWxpYml0eSBkZWZpbmVzIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsaWJ2cHggdG9vCgoyMDEwLTA1LTIzIDA5OjI4OjEzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZGVjOiBzL0lNR19GTVRfSTQyMC9WUFhfSU1HX0ZNVF9JNDIwLwoJICBUaGlzIGNvcnJlc3BvbmRzIHRvIHVwc3RyZWFtIGxpYnZweCBjb21taXQgNmNkNGExMGUxNjcyMDNkMWRlYjc5YWJmNjBlZTcyNTk5ZTk3ODkxYgoKMjAxMC0wNS0yMiAxMjo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGEgbWF4aW11bSBrZXlmcmFtZSBkaXN0YW5jZSBvZiAwLCBpLmUuIGFsbCBmcmFtZXMgYXJlIGtleWZyYW1lcwoKMjAxMC0wNS0yMiAwOTowODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IFNlbmQgYW4gaW5pdGlhbCBORVdTRUdNRU5UIGV2ZW50CgoyMDEwLTA1LTIyIDA5OjAyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTAtMDUtMjIgMDg6NTY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogQWRkIHNpbXBsZSBJVkYgcGFyc2VyCgkgIFRoaXMgb25seSBzdXBwb3J0cyBWUDggc28gZmFyLgoJICBGaXhlcyBidWcgIzYxOTE1OC4KCjIwMTAtMDUtMjIgMDg6NDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTZXQgZGVjb2RlciBkZWFkbGluZSBmcm9tIHRoZSBRb1MgaW5mb3JtYXRpb24KCjIwMTAtMDYtMDEgMTA6MTg6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMTAtMDUtMzEgMDI6MTA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE5CgoyMDEwLTA1LTMxIDAyOjEwOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA1LTMxIDAxOjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkIHNvbWUgZGlzdGNsZWFuIHJ1bGVzIHRvIGZpeCBkaXN0Y2hlY2sKCSAgU3RvbGVuIGZyb20gZ3RrLWRvYy5tNCBhbmQgbm90IGZvdW5kIGluIGd0ay1kb2MtcGx1Z2luLm00LiBXZSBuZWVkCgkgIHRoZW0gYmVjYXVzZSB3ZSBkbyBoYXZlIGxpYnMvaW50ZXJmYWNlcyBzdHVmZiBhcyB3ZWxsIG5vdyAobmFtZWx5CgkgIEdzdFBob3RvZ3JhcGh5KS4KCjIwMTAtMDUtMzEgMDA6MzM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggYnVpbGQgb2YgZ3RrLWRvYyBzY2FubmVyCgoyMDEwLTA1LTI4IDE2OjM1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTW92ZSBkZWJ1ZyBvdXRwdXQgb25lIGxpbmUgYWJvdmUgd2hlcmUgdGhlIHBhY2tldCBpcyBzdGlsbCB2YWxpZAoKMjAxMC0wNS0yOCAxNTo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBpZ25vcmUgbm9uLWZyYW1lIHBhY2tldHMgZnJvbSB0aGUgZW5jb2RlcgoJICBGaXhlcyBidWcgIzYxOTkxNi4KCjIwMTAtMDUtMjEgMTQ6MDE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGFuZ2UgcHJvZmlsZSBhbmQgbGV2ZWwgc3RyaW5ncyB0byBzb21ldGhpbmcgbmljZXItbG9va2luZwoJICBUaGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHdoYXQgd2UgZG8gZWxzZXdoZXJlLCBldmVuIGlmIGl0IGRvZXNuJ3QKCSAgcmVzZW1ibGUgdGhlIG9mZmljYWwgYWJicmV2aWF0aW9ucyBleGFjdGx5LgoJICBTZWUgIzYxNjA3OC4KCjIwMTAtMDUtMjUgMTY6Mzc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwbHVnIGEgZmV3IG1lbW9yeSBsZWFrcwoJICBGaXhlcyAjNjE5NjE3LgoKMjAxMC0wNS0yNiAxNDoxMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4zIHByZS1yZWxlYXNlCgoyMDEwLTA1LTI2IDE0OjAzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2NhbWVyYWJpbi5wbmc6CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggZGlzdC9kaXN0Y2hlY2sgaXNzdWVzIHdpdGggY2FtZXJhYmluIGZpZ3VyZXMKCSAgTW92ZSBmaWd1cmVzIGludG8gZG9jcy9wbHVnaW5zIGFzIHdlbGwsIHRvIGF2b2lkIGlzc3VlcyB3aXRoCgkgIG1ha2UgZGlzdCBhbmQgbWFrZSBkaXN0Y2hlY2sgKG1ha2UgZGlzdGRpciB3aWxsIG5vdCBmaXJzdCBkZXNjZW5kCgkgIGludG8gY2hpbGQgZGlyZWN0b3JpZXMpLiBPdXQtb2Ytc291cmNlIGJ1aWxkIHNlZW1zIHRvIHN0aWxsIHdvcmsKCSAgYXMgd2VsbC4KCjIwMTAtMDUtMjYgMTI6MzY6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA1LTI2IDExOjU1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU3YjBkYiB0byBmZDdjYTA0CgoyMDEwLTA1LTA3IDE2OjQyOjEyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICBtcGxleDogYWRkIE1QTEVYX0xERkxBR1MgdmFyaWFibGUKCSAgU28gbWluZ3czMiB1c2VycyBjYW4gaGFjayBhcm91bmQgYSBjb21waWxlci9saW5rZXIgYnVnLgoJICBGaXhlcyAjNjE3MTQ1CgoyMDEwLTA1LTI1IDAwOjI3OjE3ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IGNyYXNoIGlmIGRvd25zdHJlYW0gaXMgdW5saWtlZAoJICBtcGVnX3BhY2tldGl6ZXJfZ2V0X2Jsb2NrKCkgaW4gc29tZSBjaXJjdW1zdGFuY2VzIChoZXJlOiBpZgoJICBkb3duc3RyZWFtIHdhcyB1bmxpbmtlZCkgcmV0dXJucyBhIGJsb2NrIGJ1dCBkb2VzIG5vdCBzZXQgdGhlCgkgIGJ1ZmZlciBjYXVzaW5nIG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKCkgdG8gY2F1c2UgaW52YWxpZCBtZW1vcnkKCSAgYWNjZXNzLgoJICBGaXhlcyAjNjE5NTAyLgoKMjAxMC0wNS0yNCAxNzo0MTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGdzdC1saWJzL2dzdC9hcHAvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIFJlbW92aW5nIHJlbWFpbmluZyBnc3RhcHAqCgkgIFRoZXJlIGFyZSBzb21lIHJlbWFpbmluZyBnc3RhcHAqIGxpdmluZyB1bmxpbmtlZCBmcm9tIHRoZSBidWlsZCBzY3JpcHRzLgoJICBSZW1vdmUgdGhlbS4KCjIwMTAtMDUtMjQgMTk6MjE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogRml4IHRlc3QgYnVpbGQKCSAgQWRkcyBtaXNzaW5nIC1iYWQgY2ZsYWdzIHRvIGNhbWVyYWJpbiB0ZXN0cy4KCjIwMTAtMDUtMjMgMTk6MTc6NDEgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIGxhbmd1YWdlIGNvZGUuCgkgIEZpeGVzICM2MTk0NDQuCgoyMDEwLTA1LTIxIDIwOjQ4OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiByZXNhbXBsZSBZVVYtPllVViBjb252ZXJzaW9ucwoJICBGaXhlcyBhIHNlZ2ZhdWx0IChidWcgIzYxODA0NCkuCgoyMDEwLTA0LTA4IDE2OjA1OjExICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IGNoYW5nZSBWQ0QgVVJJIGhhbmRsZXIgdG8gdGhlIERWRCBzY2hlbWUKCSAgVGhlIGN1cnJlbnQgVVJJIHBhcnNpbmcgY29kZSBkb2Vzbid0IGFsbG93IHNldHRpbmcgdGhlICJkZXZpY2UiCgkgIGZyb20gd2hpY2ggdGhlIFZDRCBzaG91bGQgYmUgcmVhZC4KCSAgVXNlIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyB0aGUgRFZEIFVSSSBoYW5kbGluZyBpbnN0ZWFkLCBzbyB0aGF0CgkgIGRldmljZXMgY2FuIGJlIHBhc3NlZCBpbiB0aGUgVVJJLCBhcyB3ZWxsIGFzIHRyYWNrIG51bWJlci4KCSAgVXAgdGhlIHJhbmsgb2YgdGhlIFZDRCBwbHVnaW4gc28gdGhhdCBpdCBjYW4gYmUgYXV0by1wbHVnZ2VkIGFuZAoJICB1c2VkIGJ5IFRvdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQwOTg2CgoyMDEwLTA1LTIyIDA3OjQ0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVGFrZSB0aGUgZnJhbWUgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVhcmxpZXN0IHRpbWUKCSAgVGhpcyBmb3JtdWxhIGlzIHVzZWQgaW4gbWFueSBvdGhlciBlbGVtZW50cyB0b28uCgkgIEZpeGVzIGJ1ZyAjNjE5MzE4LgoKMjAxMC0wNS0yMiAwNzozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IFFvUyB2YWx1ZXMgd2hlbiBuZWNlc3NhcnkKCjIwMTAtMDUtMjIgMDk6MzU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgR1NUX1ZJREVPX0NBUFNfWVVWKEk0MjApIGluc3RlYWQgb2YgaGFuZHdyaXR0ZW4gSTQyMCBjYXBzIGZvciB0aGUgcGFkIHRlbXBsYXRlCgkgIEZpeGVzIGJ1ZyAjNjE5MzQ0LgoKMjAxMC0wNS0yMSAyMDo1MzozNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGRyb3AgbGF0ZSBmcmFtZXMgYWZ0ZXIgZGVjb2RpbmcgdGhlbQoJICBUaGlzIHNhdmVzIGEgbWVtY3B5LCB3aGljaCBpcyBhbHdheXMgc29tZXRoaW5nLgoKMjAxMC0wNS0yMSAyMToyODoyOSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdGhyZWFkcyBwcm9wZXJ0eQoJICBJbmNyZWFzaW5nIGZyb20gMSB0byAyIHRocmVhZHMgb24gYW4gVGhpbmtwYWQgWDYwcyBkZWNyZWFzZWQgZW5jb2RlIHRpbWUKCSAgaW4gYSB0ZXN0IGZyb20gfjI0IHMgdG8gfjE5IHMsIHNvIHRoaXMgaXMgcXVpdGUgdXNlZnVsLgoJICBJZGVhbGx5IHdlIHNob3VsZCBsZXQgMCBiZSB0aGUgZGVmYXVsdCBhbmQgYXV0b21hdGljYWxseSBtYXRjaCB0aGUgbnVtYmVyCgkgIG9mIENQVSBjb3JlcyAob3Igc29tZXRoaW5nKS4KCjIwMTAtMDUtMjEgMTU6MTc6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGFkZCBtb2RlIHByb3BlcnR5IHRvIHN3aXRjaCBiZXR3ZWVuIENCUi9WQlIKCSAgQWx3YXlzIHVzaW5nIENCUiB3aGVuIGJpdHJhdGUgaXMgdXNlZCBpc24ndCB0aGF0IGdyZWF0LCBWQlIgbW9kZQoJICBjYW4gcHJvZHVjZSBtZWFuaW5nZnVsIHJlc3VsdHMgdG9vLgoKMjAxMC0wNS0yMSAxMDo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IE9ubHkgZW5hYmxlIHBvc3Rwcm9jZXNzaW5nIGlmIHRoZSBkZWNvZGVyIHN1cHBvcnRzIGl0CgoyMDEwLTA1LTIxIDA4OjIzOjU4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiB0eXBvOiBzL0hBVkVfVlA4X0RFQ09ERVIvSEFWRV9WUDhfRU5DT0RFUi8KCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMSAwODoxMzowNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogbW92ZSAjaWZkZWYgSEFWRV9WUDhfRU5DT0RFUi9ERUNPREVSCgkgIE90aGVyd2lzZSB3ZSdsbCB0cnkgaW5jbHVkaW5nIGUuZy4gPHZweC92cDhjeC5oPiB3aGljaCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnA4OiBsaW5rIHdpdGggLWxtIC1scHRocmVhZCB3aGVuIHRlc3RpbmcgZm9yIHZwOCBlbmNvZGVyL2RlY29kZXIKCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAyMDowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFdyaXRlIEdTdHJlYW1lciBlbGVtZW50IGFuZCB2ZXJzaW9uIGluIHRoZSB2b3JiaXNjb21tZW50IHZlbmRvciBzdHJpbmcKCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IE9ubHkgZW5hYmxlIHRoZSBlbmNvZGVyIG9yIGRlY29kZXIgaWYgaXQncyBhdmFpbGFibGUgaW4gbGlidnB4CgkgIEZpeGVzIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAxMDoxOTo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogZXhsY3VkZSBkZWMvZW5jIGJhc2VkIG9uIENPTkZJR19WUDhfREVDT0RFUi9FTkNPREVSCgkgIFRoaXMgbWF5IG5vdCBiZSB2ZXJ5IGF1dG90b29saXNoLCBidXQgd29ya3Mgd2l0aCBsaWJ2cHggaW4gdGhlIHN0YXRlCgkgIHRoYXQgbGlidnB4IGlzIGFjdHVhbGx5IGluLiBNb3ZlZCB0aGUgZGVidWcgaW5pdCB0byB0aGUgZWxlbWVudHMKCSAgdGhlbXNlbHZlcyB0byBtaW5pbWl6ZSBhbW91bnQgb2YgI2lmZGVmcwoKMjAxMC0wNS0yMCAxNTo1OTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBodG1sIGltYWdlIGxvY2F0aW9uIGZvciBvdXQtb2Ytc291cmNlIGJ1aWxkCgoyMDEwLTA1LTIwIDA5OjI0OjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBMaW1pdCBtYXgtbGF0ZW5jeSB0byAyNSB0byBtYXRjaCBsaWJ2cHgKCSAgRnJvbSBsaWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaDoKCSAgI2RlZmluZSBNQVhfTEFHX0JVRkZFUlMgKENPTkZJR19SRUFMVElNRV9PTkxZPyAxIDogMjUpCgkgIFdoaWxlIHdlIGRvbid0IG5lZWQgdG8gYmUgdGllZCB0byB3aGF0IGxpYnZweCBkb2VzIGludGVybmFsbHksIGl0CgkgIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmV0ZW5kIHRvIHN1cHBvcnQgbG9uZ2VyIGZyYW1lIGxhZ3MgdGhhbiBhcmUKCSAgYWN0dWFsbHkgcG9zc2libGUuCgoyMDEwLTA1LTIwIDA5OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSAgdnA4OiBVbmRlZiBIQVZFX0NPTkZJR19IIGJlZm9yZSBpbmNsdWRpbmcgbGlidnB4IGhlYWRlcnMKCSAgQSBwdWJsaWMgbGlidnB4IGhlYWRlciBpbmNsdWRlcyBwcml2YXRlIGhlYWRlcnMgaWYgdGhpcyBpcwoJICBkZWZpbmVkLCBjYXVzaW5nIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGJlY2F1c2UgdGhlIHByaXZhdGUgaGVhZGVycwoJICBhcmUgbm90IGluc3RhbGxlZCBvZiBjb3Vyc2UuCgoyMDEwLTA1LTIwIDA4OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU29tZSBtb3JlIG1pbm9yIGFkanVzdG1lbnRzIGZvciB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTkgMTc6MTI6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgU3BsaXQgb3V0IEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MgZnJvbSBHU1RfQ0ZMQUdTCgkgIE1vdmUgaW5jbHVkZSBkaXJlY3RpdmVzIGZvciBnc3QtbGlicyBpbnRvIEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MsCgkgIGFuZCBmaXggYWxsIHRoZSBNYWtlZmlsZXMgdGhhdCB1c2UgaXQuICBUaGlzIGlzIHNvIHRoYXQgYWxsIHRoZQoJICBpbmNsdWRlIGRpcmVjdG9yaWVzIGFyZSBhZGRlZCBpbiB0aGUgcHJvcGVyIG9yZGVyOiBmaXJzdCB0aGUKCSAgZGlyZWN0b3JpZXMgaW4gc3JjZGlyL2J1aWxkZGlyLCB0aGVuIGdzdC1wbHVnaW5zLWJhc2UgZGlycywgdGhlbgoJICBnc3RyZWFtZXIgZGlycy4gIElmIHRoZSBvcmRlciBpcyB3cm9uZywgaW5zdGFsbGVkIGhlYWRlcnMgbWF5IGJlCgkgIHVzZWQgaW5zdGVhZCBvZiBsb2NhbCBoZWFkZXJzIGFuZC9vciB1bmluc3RhbGxlZCBoZWFkZXJzIGZyb20gLWJhc2UuCgoyMDEwLTA1LTE5IDIzOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrCgoyMDEwLTA1LTE5IDIxOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRqdXN0IE9nZyBtYXBwaW5nIGZvciB0aGUgY2hhbmdlcwoKMjAxMC0wNS0xMiAxODo1MDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBWUDgKCjIwMTAtMDUtMTkgMTg6MTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBWUDggZGVjb2RlciBwb3N0IHByb2Nlc3NpbmcgZmVhdHVyZQoJICBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIG5vdy4KCjIwMTAtMDUtMTkgMTc6MTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZW5hbWUga2V5ZnJhbWUtaW50ZXJ2YWwgdG8gbWF4LWtleWZyYW1lLWRpc3RhbmNlCgkgIEFuZCB1c2UgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYnVmZmVyIHNpemVzIHVudGlsIHdlIGV4cG9zZSB0aGlzCgkgIHNvbWVob3cuCgoyMDEwLTA1LTE5IDE3OjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IEltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIGRlYnVnIG91dHB1dAoKMjAxMC0wNS0xOSAxNDo0Njo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFVzZSBjb3JyZWN0IHN0cmlkZXMgYW5kIHBsYW5lIG9mZnNldHMgZm9yIEdTdHJlYW1lcgoKMjAxMC0wNS0xOCAxNDo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEltcGxlbWVudCBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlCgoyMDEwLTA1LTE4IDE0OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IHNldHRpbmcgb2YgdGhlIGtleWZyYW1lIGZsYWcgb24gZW5jb2RlZCBmcmFtZXMKCjIwMTAtMDUtMTggMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBlbmNvZGVyIGluaXRpYWxpemF0aW9uIGZhaWxzCgoyMDEwLTA1LTE4IDE0OjI4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgZmFpbCBpZiBpbml0aWFsaXppbmcgdGhlIGRlY29kZXIgZmFpbHMKCjIwMTAtMDUtMTggMDI6NDQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgdGltZWJhc2UKCSAgQWxzbyBtaXNjIGNsZWFudXAuCgoyMDEwLTA1LTE2IDEwOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGRlY29kaW5nIG9mIGludmlzaWJsZSBmcmFtZXMKCjIwMTAtMDUtMTQgMTQ6MjY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgdGhlIGxhdGVuY3kgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVuY29kZXIKCjIwMTAtMDUtMTQgMTQ6MDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBzdHJlYW0gaW5mbyBiZWZvcmUgcGVla2luZyBhdCB0aGUgc3RyZWFtCgkgIE90aGVyd2lzZSBwZWVraW5nIHdpbGwgZmFpbCBhbmQgd2UnbGwgZ2V0IGludmFsaWQgdmFsdWVzCgoyMDEwLTA1LTE0IDExOjAxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogTWFrZSBzdXJlIHRvIHBhc3MgYSBrZXlmcmFtZSBhcyBmaXJzdCBmcmFtZSB0byB0aGUgZGVjb2RlciwgY29weSBvdXRwdXQgZnJhbWVzIG9ubHkgb25jZSBhbmQgcmVxdWlyZSB3aWR0aC9oZWlnaHQvZXRjIG9uIHRoZSBpbnB1dCBjYXBzCgoyMDEwLTA1LTE0IDEwOjMwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGludmlzaWJsZSBmcmFtZXMgYW5kIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xNCAwMToxNDo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCByZXNldCBhZnRlciBzZWVraW5nCgkgIEFsc28gcmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDEwLTA1LTEzIDIxOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IGZyYW1lIG51bWJlcnMgYXMgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDUtMTMgMjE6MTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbHdheXMgZ2V0IGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGVuY29kZXIKCjIwMTAtMDUtMTMgMjE6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaWxsIHRoZSBvbGRlc3QgcGVuZGluZyBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBuZXdlc3QKCjIwMTAtMDUtMTMgMjA6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IGRlbHRhIHVuaXQgZmxhZyBmb3Igbm9uLWtleWZyYW1lcwoKMjAxMC0wNS0xMyAwMTowNDowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IEFkZCBlbmNvZGVyL2RlY29kZXIKCjIwMTAtMDUtMTggMjE6MzI6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggd3JvbmcgdGltZXN0YW1wcyBpbiBzb21lIGNhc2VzIGFmdGVyIHNlZWtpbmcuCgkgIFJlc2V0IC0+bGFzdF9vdXRidWZfZHRzIG9uIGZsdXNoLXN0b3AuIEZpeGVzICM2MTkwNjQuCgoyMDEwLTA1LTE3IDE2OjI2OjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gcGFyc2luZyBhZGFwdGF0aW9uIGZpZWxkCgoyMDEwLTA1LTE3IDExOjUyOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJKiBleHQvcG9seXAvcGx1Z2luLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICBSZW1vdmUgdW51c2VkIHBvbHlwIGF1ZGlvIHBsdWdpbiBjb2RlCgkgIHBvbHlwYXVkaW8gd2FzIHJlbmFtZWQgdG8gcHVsc2VhdWRpbyBhZ2VzIGFnby4KCSAgRml4ZXMgIzYxODg2Ny4KCjIwMTAtMDUtMTUgMTU6Mzc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkOiBDaGVjayBmb3IgZHZkbmF2IGFuZCBkdmRyZWFkIGxpYnJhcmllcwoKMjAxMC0wNS0xNSAwMToxODo1MiArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRG9uJ3QgaW5zdGFsbCBjYW1lcmFiaW4gZXhhbXBsZXMKCjIwMTAtMDUtMTUgMDA6MTk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMiBwcmUtcmVsZWFzZQoKMjAxMC0wNS0xNCAxODozMTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIGRvY3M6IHJlbW92ZSBtb3JlIGNydWZ0IHJlbGF0ZWQgdG8gcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtb3ZlZCB0byAtZ29vZAoKMjAxMC0wNS0xNCAxODoyNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRkNjdiZDYgdG8gMzU3YjBkYgoKMjAxMC0wNS0xNCAxNjo1MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0wNS0xNCAwMTo1NTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgc2hhdmUgZmlsZXMgaW4gY29tbW9uIHRvICdjcnVmdCcgZmlsZXMKCjIwMTAtMDUtMTMgMTQ6NDI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBPbmx5IGNsb3NlIHRoZSBjb25uZWN0aW9uIGlmIGl0J3Mgb3BlbmVkCgoyMDEwLTA1LTEzIDE0OjQxOjA4ICswMjAwICBJdmFuIFpkZXJhZGlja2EgPGl2YW4uemRlcmFkaWNrYUBnbWFpbC5jb20+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IERvbid0IG9wZW4gYW4gaW5maW5pdGUgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRvIHRoZSBzZXJ2ZXIgYW5kIGNsb3NlIGNvbm5lY3Rpb25zCgkgIEZpeGVzIGJ1ZyAjNjE4NTI3LgoKMjAxMC0wNS0xMyAxMjo1NToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrc3JjOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHJlYWQgbmZyYW1lcwoJICBFcnJvciBvdXQgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gcmVhZCBhIGRpZmZlcmVudCBzaXplIHRoYXQgd2hhdCB3YXMgY29uZmlndXJlZCBhcwoJICB0aGUgamFjayBwZXJpb2Qgc2l6ZSBiZWNhdXNlIHRoYXQgd291bGQgbWVhbiBzb21ldGhpbmcgZWxzZSBpcyB3cm9uZy4KCSAgRml4ZXMgIzYxODQwOQoKMjAxMC0wNS0xMSAxNzo1NjozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGltcHJvdmUgcHJvY2Vzc19jYgoKMjAxMC0wNS0xMSAxMzo1Mjo1MSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8am9zaHVhLmRvZUB1cy5hcm15Lm1pbD4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkgIGZyZWkwcjogRml4IHNldHRpbmcgb2YgYm9vbGVhbiB2YWx1ZXMKCSAgU2V0dGluZyBib29sZWFuIHR5cGUgcGFyYW1ldGVycyBmcm9tIGdzdC1sYXVuY2ggZmFpbGVkIGJlY2F1c2Ugb2YgaW1wcm9wZXIgaGFuZGxpbmcgb2YgdHlwZSBjb252ZXJzaW9ucy4KCSAgRml4ZXMgYnVnICM2MTgzODguCgoyMDEwLTA1LTEyIDEzOjAwOjE2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBURFQgdGFibGUgaW4gbXBlZ3RzLgoJICBTb21lIHRhYmxlcyBpbiBNUEVHLVRTIGRvIG5vdCBoYXZlIGEgY3JjIGluIHRoZSBzcGVjLCBzbyBhbHNvIG1wZWd0c3BhcnNlCgkgIGlzIG5vdCBjYWxjdWxhdGluZyBjcmMgZm9yIHNlY3Rpb25zIHdpdGggdGFibGVfaWQgMHg3MCAtIDB4NzIgYmVjYXVzZSB0aGV5CgkgIGRvIG5vdCBoYXZlIGEgQ1JDIGluIHRoZSBzcGVjLiBTZWUgRU4zMDA0NjguIFBhcnNlIFRpbWUgYW5kIERhdGUgdGFibGUgYW5kCgkgIG91dHB1dCBidXMgbWVzc2FnZS4KCjIwMTAtMDUtMTEgMTY6MDM6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiByZW1vdmUgb3NzNCBzdHJpbmdzCgoyMDEwLTA1LTExIDE1OjMzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBSZW1vdmUgb3NzNCBwbHVnaW4KCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTQzMDUuCgoyMDEwLTA1LTExIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBSZW1vdmUgaW1hZ2VmcmVlemUgcGx1Z2luL2VsZW1lbnQuCgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjEzNzg2LgoKMjAxMC0wNS0xMSAxMzoxNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBkb24ndCBmYWlsIHRhZ3NjaGVja2luZyB0ZXN0IGlmIHF0ZGVtdXggaXMgbm90IGF2YWlsYWJsZSBvciB0b28gb2xkCgoyMDEwLTA1LTExIDEzOjA4OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIFJlbW92ZSBjYXBzc2V0dGVyIGVsZW1lbnQKCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTc3MzkuCgoyMDEwLTA1LTExIDEwOjA0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgR1RLKyAzLjAgYW5kIGlmIGl0J3Mgbm90IGF2YWlsYWJsZSBmb3IgR1RLKyAyLjAKCjIwMTAtMDUtMTEgMTA6MDE6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBzY2FsZXRlbXBvOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHVEsgc3ltYm9scyBpbiB0aGUgZGVtbwoKMjAxMC0wNS0wNyAxOToxNTozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IHRyeSB0byByZS1zZW5kIHRoZSBzYW1lIGV2ZW50IG1vcmUgdGhhbiBvbmNlCgoyMDEwLTA1LTA3IDIyOjUzOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IG1ha2UgdGhlIGludGVudGlvbiBvZiB0aGUgZWxlbWVudHMgbW9yZSBjbGVhcgoKMjAxMC0wNS0wNyAxMzo1NzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgUmV2ZXJ0ICJqaWZtdXg6IE1lcmdlIHhtcCBhbmQgdGFnc2V0dGVyIHRhZ3MuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRlNWM0MTIyMzQ5MDMxMjY0YmY0N2U2YWY5MzM4ZjhhZTAyMzZkNWYuCgkgIGppZm11eCBzaG91bGRuJ3QgYmUgYWJsZSB0byBoYW5kbGUgamlmIGFuZCBzaG91bGRuJ3QgZXhwZWN0CgkgIGFueSB4bXAgb24gaXRzIGRhdGEuIFNvLCBubyBuZWVkIHRvIGhhbmRsZSB0aGVtLgoKMjAxMC0wNS0wNyAxMjo0MjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBNZXJnZSB4bXAgYW5kIHRhZ3NldHRlciB0YWdzLgoJICBXaGVuIHRoZSBjdXJyZW50IGZpbGUgYWxyZWFkeSBoYXMgdGFncywgdGhleSBzaG91bGRuJ3QgYmUgaWdub3JlZCwKCSAgcGFyc2UgdGhlbSBhbmQgbWVyZ2Ugd2l0aCB0aGUgdGFnc2V0dGVyIG9uZXMuCgoyMDEwLTA1LTA3IDExOjA3OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFJlamVjdCBidWZmZXJzIHdpdGhvdXQgY2FwcwoJICBqaWZtdXggZXhwZWN0cyB3aG9sZSBqcGVnIHBpY3R1cmVzIGluIGJ1ZmZlcnMsIHNvIGl0IHNob3VsZAoJICByZWplY3QgYnVmZmVycyB3aXRob3V0IGNhcHMuCgoyMDEwLTA1LTA3IDEwOjU5OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEJlIHNhZmUgYW5kIGNoZWNrIGJ5dGV3cml0ZXIgcmV0dXJucwoJICBDaGVjayBHc3RCeXRlV3JpdGVyIHJldHVybnMgdG8ga25vdyB3aGVuIHJlY29tYmluaW5nIHRoZSBpbWFnZQoJICBmYWlsZWQgYW5kIGxvZyBhIHdhcm5pbmcuCgoyMDEwLTA1LTA3IDEwOjEzOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEF2b2lkIGFkZGluZyAyIHhtcCBwYWNrZXRzCgkgIGppZm11eCB3YXMgb25seSBhcHBlbmRpbmcgYSBuZXcgeG1wIHBhY2tldCB0byB0aGUgc3RyZWFtLAoJICBpdCBzaG91bGQgcmVwbGFjZSBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4KCjIwMTAtMDUtMDcgMTA6NTg6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZyZWV6ZSB0byBwbHVnaW4gZG9jcwoKMjAxMC0wNS0wNyAwODoxMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleGFtcGxlcy9tcHRzX3Rlc3QyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0c211eC9tcHRzX3Rlc3QyLmM6CgkgIG1wZWd0c211eDogTW92ZSBtdWx0aS1wcm9ncmFtIG11eGluZyBleGFtcGxlIGF0IGxlYXN0IHRvIHRoZSBjb3JyZWN0IGRpcmVjdG9yeQoJICBCdXQgaXQgZG9lc24ndCB3b3JrIG91dCBvZiB0aGUgYm94IGJlY2F1c2Ugb2YgaGFyZGNvZGVkIHBhdGhzLgoKMjAxMC0wNS0wNiAxMzo1MToyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1pYzogUHVzaCBvdXQgbmV3c2VnbWVudCBmcm9tIGN1cnJlbnQgdGltZXN0YW1wIGlmIHRoZSBpbmNvbWluZyB0cyBpcyB2YWxpZAoJICBQdXNoIG91dCBuZXdzZWdtZW50IGV2ZW50IHdpdGggdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBpbmNvbWluZyBidWZmZXIgaWYKCSAgdGhlIGluY29taW5nIGJ1ZmZlcnMgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcCBidXQgbm8gdmFsaWQgbmV3c2VnbWVudCBldmVudAoJICBoYXMgYmVlbiB0aHJvdWdoLgoKMjAxMC0wNS0wNiAyMjozODoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBcHBseSBjYXBzIHRvIGdlbmVyYXRlZCBidWZmZXJzCgkgIEF2b2lkIHRoZSBuZXcgd2FybmluZyBmcm9tIHRoZSBjb3JlIGFib3V0IG5vdCBiZWluZyBhYmxlIHRvIGFwcGx5IGNhcHMKCSAgdG8gTkFWIHBhY2tldCBidWZmZXJzLCB3aGVyZSByZXNpbmR2ZHNyYyBob2xkcyBhIHJlZi4KCjIwMTAtMDUtMDYgMTM6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wNS0wNiAwOTo1MToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IFVzZSB0aGUgZXNjYXBlZCBsb2NhdGlvbiBmb3IgdGhlIFJUU1AgcmVkaXJlY3QgbWVzc2FnZQoJICBnc3RfdXJpX2dldF9sb2NhdGlvbigpIHVuZXNjYXBlcyB0aGUgbG9jYXRpb24sIHdoaWNoIGNvdWxkIHJlc3VsdCBpbgoJICBhbiBpbnZhbGlkIFJUU1AgVVJJLgoKMjAxMC0wNS0wNiAwOTo0ODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IENoZWNrIFVSSSBmb3IgdmFsaWRpdHkgYW5kIHdvcmsgYXJvdW5kIFVSSSBwYXJzaW5nIGJ1Z3MgaW4gbGlibW1zCgkgIEZpeGVzIGJ1ZyAjNjE3NjUwLgoKMjAxMC0wNS0wNiAwODowODowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDUtMDUgMTI6MjM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgY29ycmVjdCBwYWQKCSAgVGhpcyBtYWtlcyB0aGUgc2luayBnZXRjYXBzIGZ1bmN0aW9uIGFjdHVhbGx5IHVzZWQgaW5zdGVhZCBvZiB1c2luZwoJICB0aGUgZml4ZWQgY2FwcyBmdW5jdGlvbiBmb3IgaXQuCgoyMDEwLTA1LTAxIDEyOjMxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBBZGQgbmV3IGNhbWVyYWJpbiB0ZXN0IGJpbmFyeSB0byAuZ2l0aWdub3JlCgoyMDEwLTA1LTAxIDE1OjAwOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJICB2ZHBhdTogZml4IHNtYWxsIHR5cG8KCjIwMTAtMDUtMDEgMTQ6NTg6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSAgdmRwYXU6IGFkZCBsZWZ0b3ZlciBnc3R2ZHAuaAoKMjAxMC0wNS0wMSAxNDo0NTowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IGNyYXNoZXIgb24gc2V0dGluZyBwcm9wZXJ0aWVzIGJlZm9yZSB3ZSdyZSBpbiBSRUFEWQoKMjAxMC0wNC0yOSAyMjo0Mzo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXU6IHJlbW92ZSBkZWJ1ZyBjb2RlCgoyMDEwLTA0LTI5IDIyOjI0OjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHNtYWxsIGFwaSBjbGVhbnVwCgkgIG1lcmdlIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF9hbGxvd2VkX1t2aWRlb3x5dXZdX2NhcHMgaW50bwoJICBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfYWxsb3dlZF9jYXBzCgoyMDEwLTA0LTIyIDEyOjU3OjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBzbWFsbCBmaXhlcwoKMjAxMC0wNC0yMiAxMjo1Mjo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogYWRkIGJhY2sgZ3N0dmRwYXUuYwoKMjAxMC0wMy0xNyAyMTowMjowNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgZ3N0X3ZkcF9pbml0IGZ1bmN0aW9uIHdoZXJlIHdlIHJlZ2lzdGVyIHR5cGVzCgoyMDEwLTAzLTE3IDIwOjU5OjA4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1OiBhZGQgYmV0dGVyIGVycm9yIGhhbmRsaW5nIHRvIEdzdFZkcE91dHB1dFNyY1BhZAoJICBnc3RfdmRwX291dHB1dF9zcmNfcGFkX3B1c2gsIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfYWxsb2NfYnVmZmVyIGFuZAoJICBnc3RfdmRwX291dHB1dF9zcmNfcGFkX2dldF9kZXZpY2Ugbm93IHRha2UgYSBHRXJyb3IgcGFyYW1ldGVyIHRvIGJlIGFibGUgdG8KCSAgc2lnbmFsIGVycm9ycyB0byB0aGUgY2FsbGVyCgoyMDA5LTExLTI4IDIzOjU4OjU3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1NyY1BhZChDbGFzcyk/IHByaXZhdGUKCjIwMDktMTEtMjggMjM6NTU6MDkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZvbGxvdyBHc3RWZHBWaWRlb1NyY1BhZCBjaGFuZ2VzCgoyMDA5LTExLTI4IDIzOjUyOjE1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogcmVtb3ZlIHRlbXBsYXRlLWNhcHMgcHJvcGVyeSBmb3JtIEdzdFZkcFZpZGVvU3JjUGFkCgkgIEdzdFZkcFZpZGVvU3JjUGFkIG5vdyB1c2UgdGhlIHRlbXBsYXRlIHByb3BlcnR5IG9mIEdzdFBhZCBpbnN0ZWFkLiBBbHNvIGNoYW5nZWQKCSAgdGhlIF9uZXcgZnVuY3Rpb24gdG8gYmUgbGlrZSBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlLgoKMjAxMC0wNS0wMSAwMToxNjo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgRml4IHdhcm5pbmdzIGluIGRpcmVjdGRyYXdzaW5rIGFuZCBkaXJlY3Rzb3VuZHNyYwoJICBGaXhlcyAjNjE3MzMxCgoyMDEwLTA0LTMwIDE5OjAzOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDEwLTA0LTI5IDE2OjMzOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGltcHJvdmUgYnVmZmVyIHNjYW5uaW5nCgkgIFNwZWNpZmljYWxseSwgd2hlbiBzY2FubmluZyBmb3IgZW50cm9weSBkYXRhIHNlZ21lbnQgbGVuZ3RoIGFuZCBuZWVkaW5nCgkgIG1vcmUgZGF0YSwgZG8gbm90IHJlc2NhbiBmcm9tIHN0YXJ0IG5leHQgdGltZSBhcm91bmQsIGJ1dCByZXN1bWUgYXQKCSAgbGFzdCBwb3NpdGlvbi4KCSAgU2VlIGFsc28gIzU4MzA0Ny4KCjIwMTAtMDQtMjcgMTA6NDg6MzIgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5AdHJpc3Rhbi1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrOiBpbXBsZW1lbnQgbXVsdGljaGFubmVsIHN1cHBvcnQgY29ycmVjdGx5IGZvciBqYWNrYXVkaW9zcmMKCSAgRml4ZXMgcGFydHMgb2YgYnVnICM2MTY1NDEuCgoyMDEwLTA0LTI5IDEzOjE4OjU4ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgIG9zczRzaW5rOiBpbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZSBhbmQgYWRkIG11dGUgYW5kIHZvbHVtZSBwcm9wZXJ0aWVzCgkgIE9TUzQgc3VwcG9ydHMgcGVyLXN0cmVhbSB2b2x1bWUgY29udHJvbCwgc28gZXhwb3NlIHRoaXMgdXNpbmcgdGhlIHJpZ2h0CgkgIEFQSSwgc28gdGhhdCBwbGF5YmluMiBhbmQgYXBwbGljYXRpb25zIGxpa2UgdG90ZW0gY2FuIG1ha2UgdXNlIG9mIGl0CgkgIChpbnN0ZWFkIG9mIHVzaW5nIGEgdm9sdW1lIGVsZW1lbnQgZm9yIHZvbHVtZSBjb250cm9sKS4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMjkgMDQ6NDI6MjEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyBmb3IgZ2NjIDQuNQoJICBEb25lIG9uIFdpbmRvd3MvTWluR1cuCgkgIEZpeGVzICM2MTcxNDYKCjIwMTAtMDQtMjcgMTE6MjE6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIGphY2s6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGFuZCBmaW5hbGl6ZSBtZXRob2RzCgoyMDEwLTA0LTI3IDEwOjU5OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNhcHMKCSAgQWRkIGRpc3Bvc2UgbWV0aG9kcyB0byBjbGVhciBjYXBzLgoKMjAxMC0wNC0yNyAxMDozNDoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTA0LTI2IDE1OjA2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsYWRzcGEsbHYyOiBkb24ndCBmYWlsIGluIHBsdWdpbl9pbml0IHdoZW4gaGF2aW5nIDAgZWxlbWVudHMKCSAgSWYgd2UgZmFpbCwgdGhlIHBsdWdpbiBzY2FubmVyIHdpbGwgYmxhY2tsaXN0IHVzLgoKMjAxMC0wNC0yMyAxNDo0MToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZjODU4NjcgdG8gNGQ2N2JkNgoKMjAxMC0wNC0yMCAxNjo1ODozMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBtZWFuaW5nZnVsIG5hbWVzIGZvciBxdWV1ZSBlbGVtZW50cyBpbnNpZGUgY2FtZXJhYmluCgoyMDEwLTA0LTIwIDE1OjM3OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWxzbyBzZXQgc2hvcnQgY29uZmlndXJhdGlvbiBkYXRhIGluIGNvZGVjX2RhdGEKCSAgVGhhdCBpcywgaGVhZGVyIGNvbmZpZ3VyYXRpb24gbWF5IHN0YXJ0IGF0IFZpZGVvIE9iamVjdCAoc3RhcnRjb2RlKSwKCSAgcmF0aGVyIHRoYW4gYXQgVmlzdWFsIE9iamVjdCBTZXF1ZW5jZSwgd2hpY2ggaXMgY2F0ZXJlZCBmb3IgYW5kIHBhcnNlZCwKCSAgc28gbGV0J3MgYWxzbyB0YWtlIGl0IGFzIGNvZGVjX2RhdGEgaWYgbm8gbW9yZSBhdmFpbGFibGUuCgkgIEZpeGVzIChyZW1haW5kZXIgb2YpICM1NzI1NTEuCgoyMDEwLTA0LTE5IDE5OjA0OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQXZvaWQgY3Jhc2hpbmcgd2hlbiBzZXR0aW5nIHpvb20gaW4gTlVMTAoJICBBdm9pZCBzZXR0aW5nIHpvb20gaW4gTlVMTCBzdGF0ZSBiZWNhdXNlIHRoZSBzb3VyY2UgaXMgbm90CgkgIHNldCB5ZXQgYW5kIHRoaXMgbGVhZHMgdG8gYSBjcmFzaC4gSXQgaXMgc2V0IG9uIFJFQURZID4gUEFVU0VECgkgIGFueXdheS4KCjIwMTAtMDQtMTggMTQ6NTE6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEV4cG9ydCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzIGZvciBNUEVHIDIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjA3OAoKMjAxMC0wNC0xNiAxOTo0NToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSAgcmVzaW5kdmRiaW46IFVzZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUyBpbnN0ZWFkIG9mIHNvbWUgaW50ZWdlcgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyA0LjUuCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgY29tbWl0IDVhNTFkYmQuCgoyMDEwLTA0LTE2IDE5OjQzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlbXV4OiBVc2UgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MgaW5zdGVhZCBvZiBzb21lIGludGVnZXIKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyB3aXRoIGdjYyA0LjUuCgoyMDEwLTA0LTE2IDE5OjQyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJldmVydCAibXBlZ3BzZGVtdXg6IFdvcmthcm91bmQgbmV3IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhMzMxMjI4ZWNjZmI4YzY2NDkzZmEzYzhjNDkzMzhjNzljZjQ2NDJjLgoKMjAxMC0wNC0xNiAxOTo0MTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJldmVydCAicmVzaW5kdmRiaW46IEFwcGx5IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyB3b3JrYXJvdW5kIHRvIHRoZSBtcGVncHNkZW11eCBjb3B5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1YjBmNzVkMWIzMTE5MzE2YjJkY2FmNWJmZjRkZmQyYmQ4MjRjYzEuCgoyMDEwLTA0LTE1IDIxOjQ0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IEFub3RoZXIgd29ya2Fyb3VuZCBmb3IgZW51bSB2YWx1ZXMgdGhhdCBhcmUgbm90IGFjdHVhbGx5IG1lbWJlciBvZiB0aGUgZW51bQoKMjAxMC0wNC0xNSAyMTo0MDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkYmluOiBBcHBseSBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcgd29ya2Fyb3VuZCB0byB0aGUgbXBlZ3BzZGVtdXggY29weQoJICBTYW1lIGFzIGEzMzEyMjhlY2NmYjhjNjY0OTNmYTNjOGM0OTMzOGM3OWNmNDY0MmMuCgoyMDEwLTA0LTE1IDIxOjM4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBJbml0aWFsaXplIHBvc3NpYmx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDQtMTUgMjE6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBY3R1YWxseSBjb21wYXJlIHRoZSBzdGF0ZSBhbmQgbm90IHRoZSBzdGF0ZSBjaGFuZ2UgcmV0dXJuIGZyb20gX2dldF9zdGF0ZSgpCgoyMDEwLTA0LTE1IDIxOjI2OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBXb3JrYXJvdW5kIG5ldyBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ2NjIDQuNSB3YXJucyB3aGVuIGNvbXBhcmluZyBzb21lIGludGVnZXIgd2l0aCBhbiBlbnVtIHZhbHVlLCBpbgoJICB0aGUgY2FzZSBvZiBHc3RGbG93UmV0dXJuIHRoaXMgaXMgdmFsaWQgdGhvdWdoLiBXZSBzaG91bGQgbGF0ZXIKCSAgYWRkIEdTVF9GTE9XX0NVU1RPTV9PSzEsIEdTVF9GTE9XX0NVU1RPTV9PSzIsIGV0Yy4gYWZ0ZXIgbmV3IGNvcmUKCSAgaXMgcmVsZWFzZWQuCgoyMDEwLTA0LTE1IDIwOjUwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgIGNkeGFwYXJzZTogQ29tcGFyZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBHU1RfU0VFS19UWVBFX1NFVAoKMjAxMC0wNC0xNSAwNzoyNDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRHJvcCAtV2Nhc3QtYWxpZ24KCSAgQ29tbWl0IG1lc3NhZ2UgY29waWVkIGZyb20gY29yZSdzIGNvbW1pdCBmcm9tIEJlbmphbWluIE90dGU6CgkgIDI0NmY1ZGJhOTZhNWI1MGJiNzQ2MjFhZjY3YjMwOTQyY2NhNzJhZjUKCSAgQXBwYXJlbnRseSBnY2Mgd2FybnMgdGhhdCBHc3RNaW5pT2JqZWN0IGlzIG5vdCBjYXN0YWJsZSB0bwoJICBHc3RFdmVudC9NZXNzYWdlL0J1ZmZlciBkdWUgdG8gdGhlbSBjb250YWluaW5nIDY0Yml0IHZhcmlhYmxlcywgZXZlbgoJICB0aG91Z2ggQVJNIGhhY2tlcnMgY2xhaW0gdGhhdCB0aG9zZSBvbmx5IG5lZWQgNGJ5dGUgYWxpZ25tZW50LiBBbmQgYXMKCSAgbG9uZyBhcyBnY2MgYmVoYXZlcyB0aGF0IHdheSwgdGhpcyB3YXJuaW5nIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4KCSAgU28gd2UnbGwgcmVtb3ZlIHRoZSB3YXJuaW5nIHVudGlsIHRoaXMgcHJvYmxlbSBpcyBmaXhlZC4KCSAgRml4ZXMgIzYxNTY5OAoKMjAxMC0wNC0xNSAxMzoyMDo0MiArMDMwMCAgQWRhbSBFbmRyb2RpIDxhZGFtLmVuZHJvZGlAYmx1bXNvZnQuZXU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJlc2V0IHNvZnR3YXJlIHpvb21pbmcgaWYgbm90IHNldCBieSB0aGUgcGhvdG8gaW50ZXJmYWNlCgkgIE90aGVyd2lzZSBib3RoIHNvZnR3YXJlICh2aWRlb3NjYWwrdmlkZW9jcm9wKSBhbmQgaGFyZHdhcmUgem9vbWluZyB3b3VsZCBiZSB1c2VkLgoKMjAxMC0wNC0xNCAxNjo0Mjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEZpeCB1cCBlbGVtZW50IGRldGFpbHMKCjIwMTAtMDQtMTQgMTY6MzI6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2Jhc2UuYzoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJICB0b29sczogQWRkIGVsZW1lbnQtbWFrZXIKCSAgQWRkIGEgc2NyaXB0IHRoYXQgY3JlYXRlcyBlbGVtZW50cyBiYXNlZCBvbiBhbnkgb2YgdGhlIEdTdHJlYW1lcgoJICBiYXNlIGNsYXNzZXMuICBJdCBpc24ndCB2ZXJ5IHVzZXIgZnJpZW5kbHkgYXQgdGhlIG1vbWVudCwgb25lCgkgIG5lZWRzIHRvIGVkaXQgdGhlIHNjcmlwdCB0byBtYWtlIGl0IHdvcmsgcHJvcGVybHkuICBFYWNoIGJhc2UgY2xhc3MKCSAgaGFzIGEgdGVtcGxhdGUgZmlsZSBkZXNjcmliaW5nIHdoYXQgdG8gcHV0IGludG8gdGhlIGNvbnN0cnVjdGVkCgkgIGVsZW1lbnQuICBFdmVudHVhbGx5LCB0aGVzZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIG1vdmVkIHRvIHJlc2lkZQoJICB3aXRoIHRoZSBiYXNlIGNsYXNzIHNvdXJjZSBhbmQgaW5zdGFsbGVkIHRvIGEgd2VsbC1rbm93biBkaXJlY3RvcnksCgkgIHdoZXJlIGFuIGluc3RhbGxlZCBzY3JpcHQgY291bGQgZmluZCB0aGVtLgoJICBUaGUgdGVtcGxhdGUgZmlsZXMgdXNlIHRoZSAuYyBlbmRpbmcgc28gZWRpdG9ycyBrbm93IHRoZXkgYXJlIEMKCSAgc291cmNlLCBidXQgZ3N0LWluZGVudCBkb2Vzbid0IGhhbmRsZSB0aGVtIGNvcnJlY3RseS4gIFNvIHRoZXkKCSAgbmVlZCB0byBiZSBjb21taXR0ZWQgd2l0aCAtbi4gIFVnaC4gIEknbGwgdHJ5IHRvIGZpZ3VyZSBvdXQgYSBmaXgKCSAgZm9yIHRoYXQgc29vbi4KCjIwMTAtMDQtMTMgMjA6MzI6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogQWRkIHZpZGVvLWNhcHR1cmUtd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZSBwcm9wZXJ0aWVzCgkgIEFkZHMgdmlkZW8tY2FwdHVyZS13aWR0aCwgdmlkZW8tY2FwdHVyZS1oZWlnaHQgYW5kCgkgIHZpZGVvLWNhcHR1cmUtZnJhbWVyYXRlIHByb3BlcnRpZXMgdG8gYWxsb3cgYXBwbGljYXRpb25zIHRvCgkgIGdldC9zZXQgdGhvc2UgdmFsdWVzLiBHZXR0aW5nIHdhcyBub3QgcG9zc2libGUgYmVmb3JlIHRoaXMgcGF0Y2gsCgkgIGFuZCBzZXR0aW5nIHdhcyBkb25lIHRocm91Z2ggdGhlIHNldC12aWRlby1yZXNvbHV0aW9uLWZwcwoJICBhY3Rpb24sIHdoaWNoIHNldHMgdGhlIHByb3BlcnRpZXMgYW5kIHByb21wdGx5IHJlc2V0cyB0aGUKCSAgdmlkZW8gc291cmNlIHRvIHVzZSB0aGVtLgoJICBGaXhlcyAjNjE0OTU4CgoyMDEwLTA0LTEzIDE4OjMzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBBZGRzIGltYWdlLWNhcHR1cmUtd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMKCSAgQWRkcyBpbWFnZS1jYXB0dXJlLXdpZHRoIGFuZCBpbWFnZS1jYXB0dXJlLWhlaWdodCBwcm9wZXJ0aWVzCgkgIHRvIGNhbWVyYWJpbiwgYWxsb3dpbmcgdGhlIHVzZXIgdG8gZ2V0L3NldCB0aGVtLiBHZXR0aW5nIHdhcwoJICBub3QgcG9zc2libGUgYmVmb3JlIGFuZCBzZXR0aW5nIHdhcyBkb25lIHRocm91Z2ggdGhlCgkgIHNldC1pbWFnZS1yZXNvbHV0aW9uIGFjdGlvbiwgd2hpY2ggc2hvdWxkbid0IG5vdyBqdXN0IHNldAoJICB0aGUgcHJvcGVydGllcy4KCSAgRml4ZXMgIzYxNDk1OAoKMjAxMC0wNC0xMyAxNTo1OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHBob3RvZ3JhcGh5OiBTcHJpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb3ZlciB0aGUgcHJvcGVydGllcwoJICBpbiBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIGluIGNhbWVyYWJpbgoKMjAxMC0wMy0wMiAxNDowNDo0NCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgYmxvY2stYWZ0ZXItY2FwdHVyZSBwcm9wZXJ0eSBmb3Igdmlld2ZpbmRlciBibG9ja2luZwoJICBBZGRzIGJsb2NrLWFmdGVyLWNhcHR1cmUgcHJvcGVydHkgdG8gYmxvY2sgcnVubmluZyB2aWV3ZmluZGVyIGFmdGVyIGNhcHR1cmluZy4KCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VmdWwgaWYgYXBwbGljYXRpb24gd2FudHMgdG8gZGlzcGxheSBjYXB0dXJlIHByZXZpZXcgYW5kIGF2b2lkCgkgIHJ1bm5pbmcgdmlld2ZpbmRlciBvbiBiYWNrZ3JvdW5kLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCjIwMTAtMDItMDkgMTQ6NTI6NDkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIHZpZXdmaW5kZXItZmlsdGVyIGFuZCBmaWx0ZXIgY2FwcyBwcm9wZXJ0aWVzCgkgIEFkZHMgc3VwcG9ydCBmb3Igc2V0dGluZyBmaWx0ZXItY2FwcyBhbmQgdmlld2ZpbmRlci1maWx0ZXIKCSAgcHJvcGVydGllcyBpbiB0aGUgZ3N0LWNhbWVyYWJpbi10ZXN0IGFwcGxpY2F0aW9uCgoyMDEwLTAxLTI2IDE1OjE4OjI0ICswMjAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIEdzdFBob3RvZ3JhcGh5OiBBZGQgZmxpY2tlciBhbmQgZm9jdXMgbW9kZSBzZXR0aW5ncyB0byBwaG90b2dyYXBoeSBBUEkKCSAgQWRkcyBmbGlja2VyIGFuZCBmb2N1cyBtb2RlIHNldHRpbmdzIHRvIHBob3RvZ3JhcGh5IEFQSSBhbmQgYWxzbwoJICBpbXBsZW1lbnQgaXQgaW4gY2FtZXJhYmluLgoKMjAwOS0xMS0yNiAxMjoxMjowNiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IGFkZCBnc3QtY2FtZXJhYmluLXRlc3QgY29tbWFuZCBsaW5lIHRlc3QgdG9vbAoJICBnc3QtY2FtZXJhYmluLXRlc3QgdG9vbCBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIHN0aWxsIGltYWdlcyBhbmQKCSAgdmlkZW8gY2xpcHMgdXNpbmcgY2FtZXJhYmluIGVsZW1lbnQuCgoyMDA5LTExLTE2IDE1OjAyOjAzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IGRvIG5vdCBzZXQgaW1hZ2ViaW4gc2lua3BhZCB0d2ljZQoJICBJZiB3ZSBhbHJlYWR5IGhhdmUgYSBzaW5rcGFkLCBkbyBub3QgZ2V0IGEgbmV3IG9uZQoKMjAwOS0xMS0xNiAxNToxMzozMSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB1bml0IHRlc3RzCgkgIEFkZCB0ZXN0aW5nIG9mIHNldHRpbmcgYW5kIGdldHRpbmcgb2YgY2FtZXJhYmluIHByb3BlcnR5IGVsZW1lbnRzIGFuZAoJICBhZGQgcG9zdC1wcm9jZXNzaW5nIGVsZW1lbnRzIHRvIHBpcGVsaW5lLgoKMjAwOS0xMS0xMyAxNjo0Mjo0NCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCB1bml0IHRlc3RzIGZvciBzZXR0aW5nIGRpZmZlcmVudCBmbGFncyB3aGVuIGNhcHR1cmluZwoJICBBZGRzIHNvbWUgdGVzdHMgdGhhdCB1c2UgZmxhZ3MgZm9yIGNhcHR1cmluZyB0byBhc3VyZSBpdCB3b3JrcwoJICB3aXRoIGZsYWdzIHNldCBvciBub3QuCgoyMDA5LTEwLTI4IDE3OjM3OjU2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHBhdXNlZCB2aWRlbyBjYXB0dXJlIGZpbGUgdmFsaWRpdHkgY2hlY2sgaW4gdW5pdCB0ZXN0CgkgIEFsc28gY2hlY2sgdGhhdCB0aGUgZmlsZSBjYXB0dXJlZCBpbiB0aGUgcGF1c2VkIGNhcHR1cmUgdW5pdCB0ZXN0IGlzCgkgIHBsYXlhYmxlLgoKMjAwOS0xMC0xOSAxNDozMTo1NCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgdmlld2ZpbmRlci1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSBjYWxsZWQgdmlld2ZpbmRlci1maWx0ZXIgdG8gY2FtZXJhYmluLgoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gYWRkIGEgZmlsdGVyIHRvIHByb2Nlc3MgdGhlIHZpZGVvCgkgIGZsb3cgcmlnaHQgYmVmb3JlIHRoZSB2aWV3ZmluZGVyIHNpbmsuCgkgIEFsc28gdXBkYXRlcyB0ZXN0IHRvIGNoZWNrIHByb3BlcnR5IGV4aXN0cy4KCjIwMDktMTAtMjEgMTg6MDI6MjcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCB2aWRlb3Rlc3RzcmMgcGF0dGVybiB0byB3aGl0ZSBpbiB1bml0IHRlc3QKCSAgTG93ZXIgY29tcGxleGl0eSBvZiBlbmNvZGluZyBhbmQgdmlkZW90ZXN0c3JjIHJlZHJhd2luZyBpbiBvcmRlcgoJICB0byBwcmV2ZW50IHVuaXQgdGVzdCB0aW1lb3V0cy4KCjIwMDktMTAtMTQgMTQ6MDE6MzQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcHJveHkgdmlkZW8gc291cmNlIHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0eSBub3RpZnkgc2lnbmFscwoJICBJZiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydGllcyBjaGFuZ2UgaW4gdmlkZW8gc291cmNlLCBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIGJ5IGVtaXR0aW5nIG5vdGlmeSBmb3IgcmVzcGVjdGl2ZSBjYW1lcmFiaW4gcHJvcGVydGllcy4KCjIwMDktMTAtMTQgMTQ6NDI6MDEgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBOZXcgdW5pdCB0ZXN0cwoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2FtZXJhYmluIHByb3BlcnRpZXMgc2V0dGluZyBhbmQgZ2V0dGluZywKCSAgYWRkcyBvbmUgZm9yIHZpZGVvIGNhcHR1cmluZyB3aXRoIHBhdXNlLgoJICBBbHNvIGRvZXMgc29tZSBjOTkgdmFyaWFibGUgZGVjbGFyYXRpb24gZml4ZXMuCgoyMDA5LTEwLTE0IDE0OjAxOjA1ICswMzAwICBTaGVuZ2h1YSBMaXUgPEVYVC1MaXUuc2hlbmdodWFAbm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHVuaXQgdGVzdCB0byBoYXZlIHRlc3Qgb24gcmVjb3JkaW5nIHNuYXBzaG90IHByZXZpZXcKCSAgQWRkcyBhIHNtYWxsIGNoZWNrIHRvIHZlcmlmeSB0aGF0IHRoZSBwcmV2aWV3IGltYWdlIG1lc3NhZ2UgaXMKCSAgYmVpbmcgc2VudCBvbiB2aWRlbyByZWNvcmRpbmcuCgoyMDA5LTA5LTIxIDE3OjQ3OjIwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBhZGQgYXBpIHRvIHF1ZXJ5IHN1cHBvcnRlZCBpbWFnZSBjYXB0dXJlIHJlc29sdXRpb24KCSAgQWRkcyBuZXcgcHJvcGVydHkgJ2ltYWdlLWNhcHR1cmUtc3VwcG9ydGVkLWNhcHMnIHRvIEdzdFBob3RvZ3JhcGh5CgkgIHRvIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQgaW1hZ2UgY2FwdHVyZSBjYXBzLgoJICBBbHNvIGltcGxlbWVudCBpdCBpbiBjYW1lcmFiaW4uCgoyMDA5LTA3LTAyIDE4OjAzOjU3ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlbmFtZSBmdW5jdGlvbiBhbmQgdmFyaWFibGUgbmFtZXMsIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIEdldCByaWQgb2YgdXNlcl8qIHByZWZpeCBpbnRlcm5hbGx5LCB1c2UgYXBwXyogaW5zdGVhZC4KCjIwMDktMDktMTYgMTU6MTE6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eQoJICBBZGQgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eSB0aGF0IGNhbiBiZSB1c2VkIHRvIGluamVjdCBhcHBsaWNhdGlvbgoJICBzcGVjaWZpYyBnc3RyZWFtZXIgZWxlbWVudCB0byBjYW1lcmFiaW4gcGlwZWxpbmUuIFRoZSB2aWRlby1zb3VyY2UtZmlsdGVyCgkgIGVsZW1lbnQgd2lsbCBwcm9jZXNzIGFsbCBmcmFtZXMgY29taW5nIGZyb20gdmlkZW8gc291cmNlLgoJICBPbmUgY291bGQgYWRkIGltYWdlIGFuYWx5emVycyB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0sCgkgIG9yIGFkZCBpbWFnZSBlbmhhbmNlcnMgdG8gaW1wcm92ZSBjYXB0dXJlIHF1YWxpdHksIGZvciBleGFtcGxlLgoKMjAxMC0wNC0xMiAxODowNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTAyLTE4IDE4OjE5OjUwICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHRyeSBhZGFwdGluZyBpbWFnZSBjYXB0dXJlIHJlc29sdXRpb24gaWYgbm8gc291cmNlLXJlc2l6ZSBmbGFnCgkgIElmIHNvdXJjZS1yZXNpemUgZmxhZyBpcyBkaXNhYmxlZCB0aGVuIHNldCByZXNvbHV0aW9uIHRvIGltYWdlIGNhcHR1cmUgY2FwcwoJICBhY2NvcmRpbmcgdG8gY2FwdHVyZSByZXNvbHV0aW9uIHZpZGVvIHNvdXJjZSBlbGVtZW50IHByb2R1Y2VzLiBPdGhlcndpc2Ugd2UKCSAgd3JpdGUgd3JvbmcgcmVzb2x1dGlvbiB0byBpbWFnZSBtZXRhZGF0YS4KCjIwMTAtMDEtMDUgMTU6MTM6MDIgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNhcHR1cmluZyBmbGFnIGhhbmRsaW5nIGFmdGVyIGltYWdlIGhhcyBiZWVuIGNhcHR1cmVkCgkgIE1ha2Ugc3VyZSBjYXB0dXJpbmcgZmxhZyBpcyB1bnNldCBhbmQgaW1hZ2UtY2FwdHVyZWQgbWVzc2FnZSBpcyBzZW50CgkgIGJlZm9yZSBzZW5kaW5nIGVvcyBldmVudCB0byBpbWFnZSBiaW4gYW5kIHNhdmluZyB0aGUgaW1hZ2UgdG8gYSBmaWxlLgoKMjAwOS0xMS0wNCAxMzoyNDoxMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggc2V0dGluZyBmaWx0ZXItY2FwcyBwcm9wZXJ0eSBpbiBOVUxMIHN0YXRlCgkgIFNwbGl0IF9zZXRfY2Fwc2ZpbHRlcl9jYXBzKCkgaW50byB0d28gcGFydHMgc28gdGhhdCB3ZSBjYW4gY2FsbCBvbmUgcGFydAoJICByZWdhcmRsZXNzIG9mIHRoZSBlbGVtZW50IHN0YXRlLgoKMjAwOS0wOS0xMSAwOTozODo1MSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIGltYWdlIGRvbmUgc2lnbmFsIGVtaXNzaW9uCgkgIFVzZSBnX2lkbGVfYWRkX2Z1bGwoKSB3aXRoIEdfUFJJT1JJVFlfSElHSCB0byBlbWl0IGltYWdlIGRvbmUgc2lnbmFsLAoJICBnX2lkbGVfYWRkKCkgaXMgbW9yZSBsaWtlbHkgdG8gc3RhcnZlIHdpdGggaGlnaGVyIHByaW9yaXR5IGV2ZW50cy4KCjIwMTAtMDQtMTIgMTI6NDI6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIC1XdW5kZWYgZmxhZwoJICBTYW1lIGZpeCBhcyBmb3IgIzYxNTE2MQoKMjAxMC0wNC0xMiAwOToxNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBDb3JyZWN0bHkgbGluayB0byB0aGUgbG9jYWwgbGliZ3N0dmRwLTAuMTAgYnkgdXNpbmcgdGhlIGxpYnRvb2wgYXJjaGl2ZQoKMjAxMC0wNC0wOSAwOToxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNhbWVyYWJpbjogZW5hYmxlIGNhbWVyYWJpbiB0ZXN0cwoJICBSZS1lbmFibGluZyBjYW1lcmFiaW4gdGVzdHMsIHRoZXkgYXJlIHBhc3NpbmcuCgoyMDEwLTA0LTA5IDExOjIyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmRmMDIzZCB0byBmYzg1ODY3CgoyMDEwLTA0LTA4IDEyOjAwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBGaXggY29tcGlsYXRpb24gZXJyb3Igb24gbWFjb3N4CgoyMDEwLTA0LTA4IDEwOjQ1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogOC1iaXQgUENNIGF1ZGlvIGNhcHMgZG9uJ3QgbmVlZCBhbiBlbmRpYW5uZXNzIGZpZWxkCgoyMDEwLTA0LTA4IDEwOjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogZG9uJ3QgaXRlcmF0ZSB0aGUgZm9ybWF0cyB0YWJsZSB0d2ljZSBmb3IgZWFjaCBlbnRyeQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgZm9ybWF0cyB0YWJsZSwgd2UgY2FuIGp1c3QgcGFzcyB0aGUgd2hvbGUKCSAgZW50cnkgdG8gb3VyIGhlbHBlciBmdW5jdGlvbiwgd2hpY2ggYXZvaWRzIGl0ZXJhdGluZyB0aGUgdGFibGUKCSAgYWdhaW4gdG8gZmluZCB0aGUgZW50cnkgc3RydWN0dXJlIGZyb20gdGhlIHBhc3NlZCBmb3JtYXQgaWQuCgoyMDEwLTAzLTMwIDExOjQzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogYWxzbyBhY2NlcHQgZm9ybWF0cyBub3QgbmF0aXZlbHkgc3VwcG9ydGVkCgkgIEFsc28gYWNjZXB0IGZvcm1hdHMgdGhhdCBhcmUgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZCBieSB0aGUKCSAgaGFyZHdhcmUsIE9TUzQgY2FuIGNvbnZlcnQgdGhlbSBpbnRlcm5hbGx5LiBMaXN0IHRoZSBuYXRpdmUKCSAgZm9ybWF0cyBmaXJzdCBpbiB0aGUgY2FwcyB0aG91Z2gsIHRvIGV4cHJlc3Mgb3VyIHByZWZlcmVuY2UKCSAgZm9yIHRoZSBuYXRpdmUgZm9ybWF0cy4gV2UgbmVlZCB0aGlzIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlCgkgIGNhc2UgcHJvcGVybHkgd2hlcmUgdGhlIGF1ZGlvIGhhcmR3YXJlIHN1cHBvcnRzIG9ubHkgZS5nLgoJICBsaXR0bGUgZW5kaWFuIFBDTSwgYnV0IHRoZSBob3N0IGlzIGJpZyBlbmRpYW4sIHNpbmNlIG1hbnkKCSAgYXVkaW8gZWxlbWVudHMgb25seSBzdXBwb3J0IG5hdGl2ZSBlbmRpYW5uZXNzIGFuZCBtYWtlIHRoZQoJICByZWFzb25hYmxlIGFzc3VtcHRpb24gdGhhdCBhbnkgYXVkaW9zaW5rIHdpbGwgYmUgYWJsZSB0bwoJICBoYW5kbGUgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgkgIEZpeGVzICM2MTQzMTcuCgoyMDEwLTA0LTA4IDA4OjQ4OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICBzb3VuZHRvdWNoOiB1c2UgJChMSUJNKSBpbiBNYWtlZmlsZS5hbSBpbnN0ZWFkIG9mIC1sbQoKMjAxMC0wNC0wOCAwMTo0MjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGZpeCBwcmludCBmb3JtYXQgaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNC0wOCAwMTo0MTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHBhc3MgY29uc3RhbnQgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcgdG8gcHJpbnRmCgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IG5vbi1zdHJpbmcgbGl0ZXJhbCBiZWluZyBwYXNzZWQgYXMKCSAgZmlyc3QgYXJndW1lbnQgdG8gcHJpbnQuCgoyMDEwLTAzLTI2IDE4OjU2OjQ5ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgZW1pdCBiaXRyYXRlIHRhZ3MgdG9vIGVhcmx5CgkgIFdlIHdhaXQgdG8gcGFyc2UgYSBtaW5pbXVtIG51bWJlciBvZiBmcmFtZXMgKDEwLCBhcmJpdHJhcmlseSkgYmVmb3JlCgkgIGVtaXRpbmcgYml0cmF0ZSB0YWdzIHNvIHRoYXQgb3VyIGVhcmx5IGVzdGltYXRlcyBhcmUgbm90IHdpbGRseQoJICBpbmFjY3VyYXRlIGZvciBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aCBhIHNpbGVuY2UuIElmIHRoZSBzdHJlYW0gZW5kcwoJICBiZWZvcmUgdGhhdCwgd2UganVzdCBlbWl0IHRoZSB0YWdzIGFueXdheS4KCSAgV2hpbGUgaXQgX3dvdWxkXyBiZSBuaWNlciB0byBiZSBzcGVjaWZ5IHRoZSB0aHJlc2hvbGQgdG8gc3RhcnQgcHVzaGluZwoJICB0aGUgdGFncyBpbiB0ZXJtcyBvZiBkdXJhdGlvbiwgdGhpcyB3b3VsZCBpbnRyb2R1Y2UgbW9yZSBjb21wbGV4aXR5IHRoYW4KCSAgdGhpcyBtZXJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ5OTEKCjIwMTAtMDQtMDcgMTE6MjI6NDMgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGZpeCBjcmFzaCB3aGVuIGNvbnZlcnRpbmcgdW5pdHMKCSAgeC95LXJlc29sdXRpb24gYXJlIGZyYWN0aW9ucywgc28gc2V0dGluZyB0aGVtIHVzaW5nIGZsb2F0IHZhbHVlcyBpcyBub3QKCSAgYSBnb29kIGlkZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NTc3NjU1CgoyMDEwLTA0LTA1IDEwOjMzOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBCbHVlUmF5IHN0eWxlIERUUwoJICBGaXhlcyBidWcgIzYxNDI1OS4KCjIwMTAtMDQtMDQgMjA6MjM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIHR3byBEVFMgSEQgc3RyZWFtIHR5cGVzCgkgIEZpeGVzIGJ1ZyAjNjE0MjU5LgoKMjAxMC0wNC0wMiAxOTo1MjoyNSArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEFkZGl0aW9uYWxseSB1c2UgdGhlIENSQyB0byBjaGVjayBpZiB0YWJsZXMgYXJlIGR1cGxpY2F0ZXMKCSAgVGhlIGN1cnJlbnQgY29kZSBqdXN0IHVzZXMgdGFibGUgaWQsIHN1YnRhYmxlIGV4dGVuc2lvbiBhbmQgdmVyc2lvbiBudW1iZXIgdG8KCSAgY2hlY2sgaWYgdGhlIHNlY3Rpb24gaGFzIGJlZW4gc2VlbiBiZWZvcmUuIEhvd2V2ZXIsIHRoaXMgY29tcGFyaXNvbiBpcyBub3QKCSAgc3VmZmljaWVudCwgY2F1c2luZyBhY3R1YWxseSBuZXcgdGFibGVzIGJlaW5nIGRpc21pc3NlZC4KCSAgRml4ZXMgYnVnICM2MTQ0NzkuCgoyMDEwLTA0LTAyIDE5OjQ4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29ycmVjdGx5IGNsZWFuIHVwIGludGVybmFsIHN0YXRlIGZvciByZXVzZQoJICBGaXhlcyBidWcgIzYxNDU5MS4KCjIwMTAtMDQtMDIgMTk6MTk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogTWFrZSBzdXJlIHRoYXQgdGhlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjE0MzQ5LgoKMjAxMC0wNC0wMiAxOTowOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFVzZSB1aW50IGluc3RlYWQgb2YgaW50IGZvciBmcmVxdWVuY3kgYW5kIHN5bWJvbC1yYXRlIHByb3BlcnRpZXMKCSAgVGhlIGtlcm5lbCBBUEkgc3BlY2lmaWVzIHRoZW0gYXMgdWludDMyIGFuZCBmcmVxdWVuY2llcy9zeW1ib2wtcmF0ZXMgZ3JlYXRlcgoJICB0aGFuIDJeMzEgYXJlIGFjdHVhbGx5IG5lZWRlZCBzb21ldGltZXMuCgkgIEZpeGVzIGJ1ZyAjNjE0NDc1LgoKMjAxMC0wMy0zMCAwMToxNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L01ha2VmaWxlLmFtOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBidWlsZCBwbHVnaW5zIGFuZCBleGFtcGxlcyBpbiBwYXJhbGxlbCB3aGVyZSBwb3NzaWJsZSwgaWYgbWFrZSAtak4gaXMgdXNlZAoKMjAxMC0wMy0zMCAwMToxNjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSBmb3Igc3RyaW5nIGNoYW5nZXMgYW5kIG5ldyBjb21tZW50CgoyMDEwLTAzLTMwIDAxOjE0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzCgkgIE5vdCB0aGF0IHRoYXQgd2lsbCBtYWtlIHRoZXNlIHN0cmluZ3MgbXVjaCBiZXR0ZXIuIEFsc28gcmVtb3ZlIGkxOG4KCSAgbWFya2VyIHdoZXJlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCjIwMTAtMDMtMjcgMDk6NDY6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiB1c2UgR1N0cmVhbWVyIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHRoZSBwbHVnaW4gaW5mbwoKMjAxMC0wMy0yOSAxNDo0OTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB3cml0aW5nIE5BTFUgcHJlZml4IGZvciBieXRlLXN0cmVhbSBvdXRwdXQgZm9ybWF0CgkgIFNwZWNpZmljYWxseSwgaW5wdXQgbWF5IGFscmVhZHkgYmUgaW4gYnl0ZS1zdHJlYW0gZm9ybWF0LCBzbyBzeW5jCgkgIGJ5dGVzIHNob3VsZCBub3QgYmUgbWlzaW50ZXJwcmV0ZWQgYXMgTkFMVSBzaXplLgoKMjAxMC0wMy0yOSAxMDowMDo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSAgb3BlbnNwYzogRml4IGJ1aWxkIHdhcm5pbmcKCSAgQWRkIGEgcHJvdG90eXBlIGZvciBnc3Rfc3BjX2RlY19nZXRfdHlwZQoKMjAxMC0wMy0yNiAxODo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IE9wdGlvbmFsbHkgY2hlY2sgdGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIHRvbyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBpcyBvcHRpb25hbCBiZWNhdXNlIGl0J3MgYSBxdWl0ZSBleHBlbnNpdmUgb3BlcmF0aW9uIGFuZCBpdCdzIHZlcnkKCSAgdW5saWtlbHkgdGhhdCBhIG5vbi1mcmFtZSBpcyBkZXRlY3RlZCBhcyBmcmFtZSBhZnRlciB0aGUgaGVhZGVyIENSQyBjaGVjawoJICBhbmQgY2hlY2tpbmcgYWxsIGJpdHMgZm9yIHZhbGlkIHZhbHVlcy4gVGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIGFyZQoJICBtYWlubHkgdXNlZnVsIHRvIGRldGVjdCBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGVuY29kZWQgcGF5bG9hZC4KCjIwMTAtMDMtMjYgMTg6NDI6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBDaGVjayB0aGUgQ1JDLTggb2YgdGhlIGhlYWRlcnMgYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgbWFrZXMgZmFsc2UtcG9zaXRpdmVzIGR1cmluZyBzZWVraW5nIG11Y2ggbGVzcyBsaWtlbHkgYW5kIGRldGVjdGlvbiBvZgoJICB0aGVtIG11Y2ggZmFzdGVyLgoKMjAxMC0wMy0yNiAxODoyMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNldCB0aGUgbGFzdCBzdG9wIHRvIHRoZSBidWZmZXIgc3RhcnR0aW1lIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkCgkgIC4uLmluc3RlYWQgb2Ygbm90IHNldHRpbmcgaXQgYXQgYWxsLgoKMjAxMC0wMy0yNiAxODoxOTowMCArMDEwMCAgSm9zaHVhIE0uIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2VuZCBORVdTRUdNRU5UIGV2ZW50IHdpdGggY29ycmVjdCBzdGFydCBhbmQgcG9zaXRpb24KCSAgSW5zdGVhZCBvZiB0YWtpbmcgdGhlIGxhc3Qgc3RvcCAod2hpY2ggY291bGQgYmUgYnVmZmVyIGVuZHRpbWUgaW5zdGVhZAoJICBvZiBzdGFydHRpbWUpIGFsd2F5cyB0YWtlIHRoZSBidWZmZXIgc3RhcnR0aW1lLgoJICBGaXhlcyBidWcgIzYxNDAxNi4KCjIwMTAtMDMtMjYgMTY6NDk6MDEgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggYnVmZmVyIHJlZmNvdW50IGlzc3VlCgkgIFdoZW4gY2FsbGVkIGZyb20gdGhlIEdTVF9GTEFDX1BBUlNFX1NUQVRFX0hFQURFUlMgY2FzZSwKCSAgZ3N0X2ZsYWNfcGFyc2VfaGFuZF9oZWFkZXJzKCkgZG9lcyBhIGdzdF9idWZmZXJfc2V0X2NhcHMoKSBvbiBhIGJ1ZmZlcgoJICB3aXRoIHJlZmNvdW50ID4gMS4gVGhpcyBjaGFuZ2UgaGFuZGxlcyB0aGlzIGNhc2UgYnkgbWFraW5nIHRoZSBidWZmZXIKCSAgbWV0YWRhdGFfV3JpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQwMzcKCjIwMTAtMDMtMjYgMTI6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIG1pc3Npbmcgc3BhY2UgdG8gZGVidWcgbWVzc2FnZQoKMjAxMC0wMy0yNiAwODo0MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IHVzZSBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgRml4ZXMgdGhlIGJ1aWxkLgoKMjAxMC0wMy0yNSAyMzo0ODowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgIGRpdng6IGFkZCBjb25zdCB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMjUgMjM6MzA6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIGJvb2xlYW4gcmV0dXJuIHRvIF9wcm9jZXNzCgkgIEF2b2lkIHRyeWluZyB0byBwdXNoIHJlc3VsdHMgaWYgcHJvY2Vzc2luZyBmYWlsZWQgYW55d2F5LgoKMjAxMC0wMy0yNSAyMzoyODoyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW1vdmUgdXNlbGVzcyBnX2Fzc2VydAoJICBnX21hbGxvYyBhbmQgY28gd291bGQgdGVybWluYXRlIHdoZW4gb3V0IG9mIG1lbW9yeS4gTm8gbmVlZCB0byBjaGVjayBhZnRlciBpdC4KCjIwMTAtMDMtMjUgMjM6MjQ6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIG1vcmUgbG9nZ2luZwoKMjAxMC0wMy0yNSAyMzoxMjozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZWdpc3RlciBmdW5jdGlvbiBwb2ludGVycyBqdXN0IG9uY2UKCSAgQXZvaWQgcmUtcmVnaXN0ZXJpbmcgdGhvc2UgZm9yIGVhY2ggd3JhcHBlZCBsYWRwc2EvbHYyIGVsZW1lbnQuCgoyMDEwLTAzLTI1IDIzOjA3OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCByYXRlIHRvIGNhcHMKCjIwMTAtMDMtMjUgMjM6MDQ6NDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVuYW1lIGxvZyBjYXRlZ29yeSB0byBiZSBsZXNzIGFtYmlnb3VzCgoyMDEwLTAzLTI1IDIyOjU5OjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgbHYyOiBhZGQgbW9yZSBleGFtcGxlcwoKMjAxMC0wMy0yNSAyMjo1ODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBpZiB3ZSB0ZWxsIHRoYXQgd2UgaGFuZGxlIGdhcCBmbGFncywgdGhlbiBkbyBzbwoKMjAxMC0wMy0yNSAyMjo1NTozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiB1c2UgZ2xpYiB0eXBlcwoKMjAxMC0wMy0yNSAyMjo1NDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBmaXggY2xhc3NpZmljYXRpb24KCjIwMTAtMDMtMjUgMjI6NTM6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogcmVmb3JtYXQgbWVzc2FnZSBkb2NzCgkgIFVzZSBhIGxpc3QgbGlrZSBpbiBvdGhlciBlbGVtZW50IGRvY3MgYXMgYW4gdW50d2Vha2VkIGRvY2Jvb2sgdGFibGUgbG9vayB1Z2x5LgoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjMgMTc6MzQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBOZXcgdGFncyB0ZXN0cwoJICBBZGRzIG5ldyB0YWdzIGNoZWNraW5nIHRlc3RzLgoKMjAxMC0wMy0yNSAwMDoyMDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTAzLTI0IDE4OjU0OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1NWNkNTE0IHRvIGMxZDA3ZGQKCjIwMTAtMDMtMjQgMTc6MDU6MTQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiBpbnB1dCBmb3JtYXQKCSAgRml4IGJ1ZyAjNjEzNzA4CgoyMDEwLTAzLTI0IDE2OjE1OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgZG9jczogYWRkIHBob3RvZ3JhcGh5IGlmYWNlIHRvIGRvY3MKCSAgV2Ugbm9ybWFseSBoYXZlIHNlcGFyYXRlIGxpYnMgZG9jcywgbm90IGRvbmUgYmVjYXN1ZSBvZiBsYXp5bmVzcyBoZXJlIHlldC4KCjIwMTAtMDMtMjQgMTY6MDU6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBhZGQgYmxhbmsgbGluZSB0byBmaXggZ2VuZXJhdGVkIHhtbAoKMjAxMC0wMy0yNCAxNTo1OTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBlbGVtZW50IG5hbWUgaW4gc2VjdGlvbiBkb2MgYmxvYgoKMjAxMC0wMy0yNCAxNTowNTo1MCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRGVmaW5lIFdPUkRTX0JJR0VORElBTiB0byBhdm9pZCB1bmRlZmluZWQgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNzk1CgoyMDEwLTAzLTI0IDEyOjE2OjA3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2djb25maWcgdG8gZGV0ZWN0IGR2ZG5hdgoJICBUaGUgcHJldmlvdXNseSB1c2VkIGR2ZG5hdi1jb25maWcgc2NyaXB0IHdhcyBicm9rZW4gaW4gYSBsb3Qgb2YgZGlzdHJvcy4KCjIwMTAtMDMtMjQgMDA6Mjc6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCB5ZXQgYW5vdGhlciBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIzIDE5OjU2OjQ4IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICBvc3g6IG1vcmUgY29tcGlsZXIgd2FybmluZyBmaXhlcwoJICBBdm9pZCBuZXcgd2FybmluZ3MuCgkgIEZpeGVzICM2MTM3NTguCgoyMDEwLTAzLTIzIDE0OjE1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgdGVzdHM6IGZhYWM6IEZpeCBidWlsZAoJICBGaXhlcyBidWlsZCBvZiBmYWFjIGR1ZSB0byBmdW5jdGlvbnMgbm90IGJlaW5nIHN0YXRpYyBub3IKCSAgaGF2aW5nIGJlaW5nIGRlY2xhcmVkIGluIGhlYWRlcnMuIChObyBwcmV2aW91cyBwcm90b3R5cGUgZXJyb3IpCgkgIFByb2JhYmx5IGR1ZSB0byBhZGRlZCAtV21pc3NpbmctcHJvdG90eXBlcwoKMjAxMC0wMy0yMyAxMToxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIzIDA5OjE0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSAgY29nOiB0b3VjaCBjb2cub3JjIHRvIGZvcmNlIHJlZ2VuZXJhdGlvbiBvZiBjb2dvcmMuW2NoXQoJICAuLiB3aXRoIG5ldyBNYWtlZmlsZS5hbSBydWxlcywgd2hpY2ggc2hvdWxkIGZpeCB0aGUgYnVpbGQKCSAgd2l0aG91dCB0aGUgbmVlZCB0byBkbyBhICdtYW51YWwnIG1ha2UgY2xlYW4gYWZ0ZXIgdXBkYXRpbmcuCgoyMDEwLTAzLTIzIDAxOjQxOjMxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXQ6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMyAwMTozMDo1NCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIzIDAxOjE1OjI3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSAtV3VuZGVmIGZvciBXaW5kb3dzCgkgIFdpbmRvd3MgaGVhZGVycyB0ZW5kIHRvIGNoZWNrIF9NU0NfVkVSIHVuY29uZHRpb25hbGx5IGluIHNvbWUgcGxhY2VzLAoJICBidXQgdXNlICNpZmRlZiBfTVNDX1ZFUiBpbiBvdGhlciBwbGFjZXMuCgoyMDEwLTAzLTIzIDAxOjE0OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhIGJ1bmNoIG9mIHdhcm5pbmcgZmxhZ3MKCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgYW55IHdhcm5pbmcKCjIwMTAtMDMtMjMgMDE6MTE6NDIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeGVzIGZvciAtV2FnZ3JlZ2F0ZS1yZXR1cm4KCSAgVGhlIGZsYWcgd2Fzbid0IGFkZGVkIGR1ZSB0byBsaWJleGlmIHVzaW5nIGFnZ3JlZ2F0ZSByZXR1cm4gdmFsdWVzLgoKMjAxMC0wMy0yMiAxODowMjozOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSAgaTE4bjogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYgZm9yIEVOQUJMRV9OTFMKCjIwMTAtMDMtMjIgMTg6MDE6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgaTE4bjogZml4IHRoZSBidWlsZAoJICBEb24ndCBpbmNsdWRlIGxvY2FsZS5oIHdoaWNoIHdlIGluY2x1ZGUgaW4gZ2V0dGV4dC5oIGlmIG5lZWRlZC4gR3VhcmQgdGhlCgkgIGluY2x1ZGUgbGlrZSB3ZSBkbyBpbiB0aGUgc2ltaWxsYXIgaGVhZGVycyBpbiBjb3JlLgoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTY6MjE6MzEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgQWRkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgZmxhZ3MKCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTY6MTM6MTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogUmVmYWN0b3IgY29kZSB0byBtYWtlIGl0IGxvb2sgbW9yZSBtb2Rlcm4KCSAgQSBzaWRlIGVmZmVjdCBpcyB0aGF0IGl0IHBhc3NlcyAtV2Zvcm1hdC1ub25saXRlcmFsIGFuZCBkb2Vzbid0IHJlYWQKCSAgaW52YWxpZCBtZW1vcnkgaW4gc29tZSBjYXNlcywgbGlrZSB3aGVuIHRoZSBtaXhlciB0cmFjayBjb250YWlucwoJICBhICUgc2lnbiBvciB0aGVyZSBpcyBhIG51bWJlciBidXQgbm90IGEga25vd24gbWl4ZXIgbmFtZS4KCjIwMTAtMDMtMjIgMTQ6MDk6MjQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXZvaWQgZ19xdWFya190b19zdHJpbmcgKGdfcXVhcmtfZnJvbV9zdHJpbmcgKCkpIG1hZG5lc3MKCSAgV2UgdG8gdGhlIHN0cmR1cCBpbnNpZGUgZ3N0X29zczRfbWl4ZXJfY29udHJvbF9nZXRfdHJhbnNsYXRlZF9uYW1lKCkKCSAgaW5zdGVhZCBvZiBpbiB0aGUgb25seSBjYWxsZXIuCgoyMDEwLTAzLTIyIDEzOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAyLTAyIDE1OjQ5OjI5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQYXJzZSBiaXRyYXRlIGFuZCBlbWl0IGFzIHRhZwoJICBUaGlzIHBhdGNoIHBpY2tzIHVwIHRoZSBiaXRyYXRlIGZvciB0aGUgc3RyZWFtIGZyb20gdGhlIE1QRUcgc2VxdWVuY2UKCSAgaGVhZGVyIGFuZCBlbWl0cyBpdCBhcyBhIHRhZyBvbiB0aGUgc291cmNlIHBhZC4KCSAgRml4ZXMgIzU5OTI5OC4KCjIwMTAtMDMtMjIgMTI6Mzg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBzb3VuZHRvdWNoOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZgoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjMwOjAxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGdzdC9uc2YvZm1vcGwuaDoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIEFkZCAtV3VuZGVmCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjAzOjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMTAtMDMtMjIgMTI6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIGZsYWcKCSAgYW5kIGZpeCB3YXJuaW5ncyBmcm9tIGl0CgoyMDEwLTAzLTIyIDA4OjQ3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjIgMDg6NDU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIzOjEwOjA4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkgIG9yYzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIzOjAwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGV4YW1wbGVzOiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjI6NDg6MTMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMjo0NjowMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJICBnc3QtY2FtZXJhOiBBZGQgYSBoZWFkZXIgZGVjbGFyaW5nIHRoZSBmdW5jdGlvbnMgZnJvbSB0aGUgdWkgZmlsZQoKMjAxMC0wMy0yMSAyMjoxMDo0NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJICB0ZXN0czogQWRkIGZpbGUgSSBmb3Jnb3QgdG8gY2hlY2sgaW4KCjIwMTAtMDMtMjEgMjI6MDk6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbW1wM2RlYzogZml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjUzOjQ0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBGaXggYWNtZW5jIGZvciB3YXJuaW5nIGZsYWdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkqIGdzdC9tdmUvbXZlYXVkaW9kZWMuYzoKCSogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIHN5cy9kdmIvY2FtLmM6CgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzc6MzcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSAgc2lyZW46IFJ1biBnc3QtaW5kZW50IHNjcmlwdAoJICBJbmNsdWRlcyBydW5uaW5nIGRvczJ1bml4IG9uIGRlY29kZXIuYwoKMjAxMC0wMy0yMSAyMToyOTo0NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogRml4IGthdGUgdGVzdAoJICBJdCB3YXMgZmFpbGluZyBkdWUgdG8gdGhlIG5ldyBidWZmZXJfbWV0YWRhdGFfd3JpdGFibGUgY2hlY2tzIGFkZGVkIHRvCgkgIHRoZSBjb3JlIHJlY2VudGx5LgoKMjAxMC0wMy0yMSAxODo1OTozMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IHJlbW92ZSB1bnVzZWQgZmlsZQoKMjAxMC0wMy0yMSAxNzo1NDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHMvR1NUX0NWUy9HU1RfR0lULwoKMjAxMC0wMy0xOSAxNjo0NzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJICBjb2c6IEdlbmVyYXRlIGNvcnJlY3QgWVVWLT5SR0IgdGFibGVzCgkgIEZpeGVzOiAjNjEzMzMyLgoKMjAxMC0wMy0xOSAxMToxMDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGRpc2FibGUgbG9vcCBhbmQgYXV0byBtdWx0aWNhc3Qgam9pbgoJICBEaXNhYmxlIGxvb3BiYWNrIG9mIHBhY2tldHMuCgkgIERpc2FibGUgYXV0b2pvaW4gb2YgbXVsdGljYXN0IGdyb3VwcyBpbiB0aGUgc2luayBiZWNhdXNlIHRoZSBzb3VyY2UgYWxyZWFkeQoJICBkb2VzIHRoYXQgb24gdGhlIHNoYXJlZCBzb2NrZXQuCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTE4IDE3OjExOjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlydHVhbGR1Yi9MSUNFTlNFOgoJKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5jOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmg6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkqIGdzdC92aXJ0dWFsZHViL3ZpcnR1YWxkdWIudmNwcm9qOgoJICB2aXJ0dWFsZHViOiBSZW1vdmUKCSAgVEhlIHBsdWdpbiBpcyBzbyBob3BlbGVzc2x5IG91dGRhdGVkLCBpdCdzIGp1c3Qgbm90IHdvcnRoIGtlZXBpbmcuCgoyMDEwLTAzLTE4IDE3OjA0OjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSogZXh0L3hpbmUvZ3N0eGluZS5oOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVjYXBzLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICBSZW1vdmUgeGluZSBwbHVnaW4gY29kZQoJICBUaGUgcGx1Z2luIGlzIHVubWFpbnRhaW5lZCAoZXZlbiB3b3JzZSB0aGFuIFhpbmUgOykpCgoyMDEwLTAzLTE4IDE2OjE3OjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSAgUmVtb3ZlIGdvYiBleGFtcGxlcwoJICBUaGV5IHdlcmUgb3V0ZGF0ZWQgYW5kIHdvdWxkbid0IGhhdmUgY29tcGlsZWQgYW55bW9yZS4KCjIwMTAtMDMtMTcgMTE6MzA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggb2ZmLWJ5LW9uZSBpbiA0NDQtPjQyMCBjb252ZXJzaW9uCgkgIEZpeGVzICM2MTMxNjAuCgoyMDEwLTAzLTE3IDE0OjI5OjMxICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IFVzZSAiKHBuZ19pbmZvcHApIE5VTEwiIGluc3RlYWQgb2YgcG5nX2luZm9wcF9OVUxMCgoyMDEwLTAzLTE3IDE0OjIzOjQxICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IFVzZSBwbmdfZ2V0X2lvX3B0cigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIGlvX3B0ciBkaXJlY3RseQoKMjAxMC0wMy0xNyAxNDoyMTo1MyArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvZzogQ2hlY2sgZm9yIGxpYnBuZyA+PSAxLjIgaW5zdGVhZCBvZiBsaWJwbmcxMgoKMjAxMC0wMy0xNiAyMzo0NjowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJICBkb2NzOiB0aGUgeGRnbWltZSBwbHVnaW4gd2FzIG1lcmdlZCBpbnRvIHR5cGVmaW5kZXJzCgoyMDEwLTAzLTE2IDIzOjQzOjAyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uLGR2ZDogYWxzbyB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIGhlcmUgZm9yIHN0YXRpYyBzdHJpbmdzCgoyMDEwLTAzLTE1IDEwOjEzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtaW5vciBtZW1vcnkgbGVhayBpbiBwcm9wZXJ0eSBnZXR0ZXIKCSAgRG9uJ3QgbGVhayB0aGUgc3RyaW5nIHJldHVybmVkIGJ5IGdfc3Ryam9pbnYoKS4gV2hpbGUgd2UncmUgYXQgaXQsCgkgIHVzZSBHU3RyaW5nIHRvIGFzc2VtYmxlIHRoZSBzdHJpbmcgdG8gYmUgcmV0dXJuZWQuCgoyMDEwLTAzLTE1IDA5OjI0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSB3aGVyZSBwb3NzaWJsZQoKMjAxMC0wMy0xNSAxMjoxNzozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogZGlzYWJsZSBjb2RlIHRoYXQgY2F1c2VzIGFuIG9yY2MgY3Jhc2gKCSAgUmV2ZXJ0IHRoaXMgYWZ0ZXIgb3JjIHJlbGVhc2UgYW5kIHZlcnNpb24gYnVtcC4KCjIwMTAtMDMtMTUgMTE6NTQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBPbmx5IHN0YXJ0IHRoZSB0YXNrIGFmdGVyIGEgc2VlayBpZiBhIGJ1ZmZlciB3YXMgcmVjZWl2ZWQgYWxyZWFkeQoKMjAxMC0wMy0xNSAwMTo0Njo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBjb21tZW50IG9uIHByZXZpb3VzIGJhZCBjb21taXQgbWVzc2FnZQoJICBUaGUgcmVjZW50IGNvbW1pdCAibG9nb2luc2VydCBjaGVja3BvaW50IEZJWE1FIiBzaG91bGQKCSAgYWN0dWFsbHkgcmVhZDogIEZpeCBsb2dvaW5zZXJ0IHZhcmlhYmxlIG5hbWVzLgoKMjAxMC0wMy0xNSAwMToyNjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogaW1wbGVtZW50IGNocm9tYS1zaXRlCgkgIERldGVybWluZSBjaHJvbWEgc2l0ZSBwb3NpdGlvbiBmcm9tIHRoZSBjYXBzIGFuZCB1c2UgaXQgd2hlbgoJICB1cHNhbXBsaW5nL2Rvd25zYW1wbGluZyBjaHJvbWEuCgoyMDEwLTAzLTE0IDE4OjU2OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IGltcGxlbWVudCBjb2xvci1tYXRyaXggaGFuZGxpbmcKCjIwMDktMTAtMDggMTU6MTg6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogbG9nb2luc2VydCBjaGVja3BvaW50IEZJWE1FCgoyMDA5LTEwLTMwIDE1OjM1OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBuX3RhcHMgdG8gY2hyb21hIHVwc2FtcGxpbmcKCjIwMTAtMDMtMTMgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0wMy0xMyAwNjowMzozMiArMDEwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVwZGF0ZSBjYXBzIHdoZW4gdGhlIHNlcXVlbmNlIGhlYWRlciBjaGFuZ2VzCgkgIEZpeGVzIGJ1ZyAjNjEyNjg3LgoKMjAxMC0wMy0xMiAxOTozMDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFjdGl2YXRlIHZpZGVvIGJpbiBiZWZvcmUgZmVlZGluZyBkYXRhIHRvIGl0CgkgIEZpeGVzICM2MTI2MTUuCgoyMDEwLTAzLTEyIDExOjI4OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogSW1wcm92ZW1lbnRzIGFuZCBuZXcgZ2VvLWxvY2F0aW9uIHRlc3RzCgkgIE1ha2VzIHNvbWUgaW1wcm92ZW1lbnRzIHRvIHRhZ3NjaGVja2luZy5jLCBtYWtpbmcgaXQgdXNlCgkgIGZha2VzcmMgaW5zdGVhZCBvZiB2aWRlb3Rlc3RzcmMgYW5kIGFsbG93aW5nIHRvIHNldCBpbnB1dAoJICBjYXBzIHNvIHRoYXQgbW9yZSBtdXhlcnMgY2FuIGJlIHVzZWQuIFByZXZpb3VzbHkgd2UgY291bGQKCSAgb25seSB1c2UgdGhvc2UgdGhhdCBhY2NlcHRlZCByYXcgdmlkZW8gY2Fwcy4KCSAgQWxzbyBhZGRzIHNvbWUgdGVzdHMgZm9yIGdlby1sb2NhdGlvbiB0YWdzCgoyMDEwLTAzLTEyIDEwOjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIHhtcCBvbiBtcDRtdXggYW5kIGdwcG11eCB0b28KCSAgRG8gbm90IHJlc3RyaWN0IHhtcCB0byBxdG11eCwgYnV0IHVzZSBpdCB0b28KCSAgb24gbXA0bXV4IGFuZCBncHBtdXgKCjIwMTAtMDMtMTIgMTM6NTk6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGUyNzJmNzEgdG8gNTVjZDUxNAoKMjAxMC0wMy0xMiAwOTo1Mjo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3ggMTAuNQoKMjAxMC0wMy0xMSAyMTozMjoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBhZGQgeG1wIHJlYWRpbmcgYW5kIHdyaXRpbmcgc3VwcG9ydAoJICBCdW1wIG5lZWRlZCBiYXNlIHZlcnNpb24gZm9yIG5ldyB4bXAgaGVscGVyIGxpYnJhcnkuIFVzZSB4bXAgaGVscGVycyBpbgoJICBqcGVncGFyc2UgYW5kIGppZm11eC4KCjIwMTAtMDMtMTIgMDg6MjM6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBtZXJnZSBtaXN0YWtlCgoyMDEwLTAyLTI4IDE5OjQxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSAgc2VnbWVudGNsaXA6IEFkZCBhdWRpby92aWRlbyBidWZmZXIgc2VnbWVudCBjbGlwIGVsZW1lbnRzCgkgIFRoZXNlIGVsZW1lbnRzIGNsaXAgdGhlIGF1ZGlvL3ZpZGVvIGJ1ZmZlcnMgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudAoJICBmb3IgdGhlIGNhc2Ugd2hlbiB0aGUgdXBzdHJlYW0gZWxlbWVudHMgZG9uJ3QgZG8gdGhpcyBjb3JyZWN0bHkuCgoyMDEwLTAyLTI4IDE2OjA4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHNvbWUgdW5pdCB0ZXN0cwoKMjAxMC0wMi0yOCAxNjowNDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCB1bmRlZmluZWQgZnJhbWVyYXRlIGluIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbgoKMjAxMC0wMi0yOCAxNTowMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIGFuZCBzZXQgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDItMjcgMTc6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRvIHRoZSBkb2NzCgoyMDEwLTAyLTI3IDE3OjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBBZGQgc3RpbGwgZnJhbWUgc3RyZWFtIGdlbmVyYXRvciBlbGVtZW50CgoyMDEwLTAzLTA1IDEzOjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGNoZWNrOiB0YWdzY2hlY2tpbmc6IHRlc3RzIGZvciB0YWdzIHNlcmlhbGl6YXRpb24gaW4gbXV4ZXJzCgkgIEFkZHMgYSBjaGVjayB1bml0IHRlc3QgdGhhdCBhaW1zIHRvIHRlc3QgdGFncyBzZXJpYWxpemF0aW9uCgkgIGFuZCBkZXNlcmlhbGl6YXRpb24gY29uc2lzdGVuY3kgKGluIG11eGVycykuIEl0IHByb3ZpZGVzIGEKCSAgYmFzaWMgZnVuY3Rpb24gdGhhdCBhbGxvd3Mgb25lIHRvIGVhc2lseSBzcGVjaWZ5IHRhZ3MsIGEKCSAgbXV4ZXIgYW5kIGEgZGVtdXhlciBhbmQgYSB0ZXN0IHdpbGwgYmUgZG9uZSB0byBjaGVjayBpZgoJICB0aGUgdGFncyBoYXZlIGJlZW4gY29uc2lzdGVudGx5IG11eGVkIGFuZCBkZW11eGVkCgoyMDEwLTAyLTIyIDE2OjQ1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHhtcCBzdXBwb3J0CgkgIEFkZHMgeG1wIG1ldGF0YWdzIGFkZGluZyB0byBxdG11eC4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAwOToyOTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IFJlbW92ZSBfWE1QX0dFT18qIHRhZ3MKCSAgUmVtb3ZlcyBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fQ09VTlRSWSwKCSAgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX0NJVFkgYW5kCgkgIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9TVUJMT0NBVElPTiBmcm9tIG1ldGFkYXRhJ3MKCSAgcHJpdmF0ZSB0YWdzIGFzIHRob3NlIGFyZSBub3cgcHJlc2VudCBhdCAtY29yZSB0YWdzLgoJICBGaXhlcyAjNjEyNDEwCgoyMDEwLTAzLTExIDE3OjE3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgV2UgbmVlZCB0byBwYXNzIChOVUxMKSByYXRoZXIgdGhhbiBOVUxMIGZvciBlbXB0eSBhcmd1bWVudHMuCgoyMDEwLTAzLTExIDE3OjU4OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTEwIDExOjUwOjQ3IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGZpeCBjb21waWxlIGVycm9yIHdpdGggdHJhY2UgbWFjcm8KCSAgTm90ZSB0aGF0IHRoaXMgb25lIGlzbid0IGEgcHJvYmxlbSB3aXRoIG5vcm1hbCB0cmFjZSBtYWNyb3MsIGJ1dCBjYXVzZXMgcHJvYmxlbXMgd2l0aAoJICBzb21lIHJlcGxhY2VtZW50IHRyYWNlIG1hY3JvcyB0aGF0IEkgdXNlLCB3aGljaCBleHBlY3QgdGhlIGZvcm1hdCBzdHJpbmcgdG8gYmUKCSAgYXBwZW5kYWJsZSAoaWUgImZvbyAiZm10IGluIHRoZSBtYWNybykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMTo0OToyMiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGZpeCB0cmFjZSBtYWNybyB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTA6MjY6MjcgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzo2ODk6IHdhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQgcmFuZ2Ugb2YgZGF0YSB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTA6MjM6MjMgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOjI2ODogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTEgMTE6MjE6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGY4YTdjOCB0byBlMjcyZjcxCgoyMDEwLTAzLTExIDExOjI5OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBjaGVjayBmb3IgTlVMTCB3aGVuIGNhbGxpbmcgZ19mcmVlLgoJICBnX2ZyZWUgZG9lcyB0aGUgY2hlY2sgYWxyZWFkeS4gQWxzbyBzbWFsbCBjb2RlIGxvZ2ljIGNsZWFudXAgYW5kIHdoaXRlc3BhY2UgZml4LgoKMjAxMC0wMy0xMSAxMToyODoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIG1ldGFkYXRhOiByZW1vdmUgZW1wdHkgc2V0dGVyL2dldHRlciB2bWV0aG9kIGltcGxlbWVudGF0aW9ucwoKMjAxMC0wMy0xMSAxMToxNDo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBpbmxjdWRlIHN0ZGxpYi5oIGZvciBhYnMoKQoKMjAxMC0wMi0xNyAxMzoxMToxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkgIG1ldGFkYXRhOiB1cGRhdGUgYnVnIHN0YXR1cwoKMjAwOS0wOS0wOCAwOToxMzowNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZWZhY3RvciBjcm9wcGluZyBhbmQgYWRhcHRpbmcgY2FwdHVyZWQgaW1hZ2VzCgoyMDA5LTA5LTEwIDEzOjQxOjQwICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IE5VTEwgLT4gUkVBRFkgc3RhdGUgY2hhbmdlIGZhaWx1cmUgaGFuZGxpbmcuCgkgIEluIHNvbWUgZXJyb3Igc2l0dWF0aW9ucyB0aGUgTlVMTCAtPiBSRUFEWSBzdGF0ZSBjaGFuZ2UgZmFpbGVkCgkgIGFuZCBjYW1lcmFiaW4gZWxlbWVudHMgd2VyZSBub3QgZGVzdHJveWVkLgoKMjAxMC0wMi0xNyAxMTo1MToyNiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgdXNlIGdzdF9idXNfcG9sbCgpIHdoZW4gY3JlYXRpbmcgcHJldmlldyBpbWFnZQoJICBBdm9pZCB1c2luZyBnc3RfYnVzX3BvbGwoKSBhcyB0aGUgZG9jcyByZWNvbW1lbmQuIFVzZQoJICBnc3RfYnVzX3RpbWVkX3BvcF9maWx0ZXJlZCgpIGluc3RlYWQuCgoyMDEwLTAzLTEwIDIxOjAxOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgdG8gY29tbW9uIHN1Ym1vZHVsZQoJICBUaGlzIGp1c3QgcmVwbGFjZXMgZXZlcnkgIiRFUlJPUl9DRkxBR1MiIHVzYWdlIHdpdGggYSB1c2FnZSBvZgoJICAiJFdBUk5JTkdfQ0ZMQUdTICRFUlJPUl9DRkxBR1MiIHRvIGdldCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCgkgIHByZXZpb3VzbHkuCgkgIEFjdHVhbGx5IHVzaW5nIHRoYXQgc2VwYXJhdGlvbiB3aWxsIGhhcHBlbiBsYXRlci4KCjIwMTAtMDMtMTAgMjE6NTI6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTcyMGE3ZCB0byBkZjhhN2M4CgoyMDEwLTAzLTEwIDIwOjQ0OjA3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDBiNmUwNzIgdG8gOTcyMGE3ZAoKMjAxMC0wMy0xMCAxNjoxMDowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3Y2M1ZWI0IHRvIDBiNmUwNzIKCjIwMTAtMDMtMTAgMTE6MzM6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIHRvIG1hdGNoIHJlY2VudCBjb21taXRzCgoyMDEwLTAzLTEwIDAxOjEwOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2FhNjViNSB0byA3Y2M1ZWI0CgoyMDA5LTEyLTA4IDE2OjM2OjE2IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NDogbGlzdCB2YWxpZCBpc28tc3BlZWRzIGluIGhlbHAgYW5kIHZhbGlkYXRlIHNwZWVkcyBpbiBzZXRfcHJvcGVydHkuCgoyMDA5LTEyLTA4IDE2OjA1OjE0IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NDogY2hlY2sgaXNvLXNwZWVkIHZhbHVlcyBpbiBzZXRfcHJvcGVydHksIGlnbm9yZSBpZiBpbnZhbGlkCgoyMDA5LTEyLTA4IDE1OjM3OjAzIC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIGRjMTM5NDogYWRkIGlzby1zcGVlZCBwcm9wZXJ0eQoJICBBZGQgaXNvLXNwZWVkIHByb3BlcnR5IHdoaWNoIGFsbG93cyBmb3IgaGlnaGVyIGJhbmR3aWR0aCBkYyB2aWRlby4KCSAgQXV0b21hdGljYWxseSBzZXQgdG8gYi1tb2RlIGFzIG5lZWRlZC4KCSAgRml4ZXMgIzYwMzc0NS4KCjIwMTAtMDMtMDkgMTk6NDg6NDQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBpbnB1dHNlbGVjdG9yOiBmaXggdGhlIExERkxBR1MKCjIwMTAtMDMtMDkgMjE6Mzg6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NGVjY2U3IHRvIDdhYTY1YjUKCjIwMTAtMDMtMDkgMjE6MjY6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogT25seSBlbmFibGUgZnJhbWVzdGF0cyBjb2RlIHdpdGggc2Nocm8gPj0gMS4wLjkKCjIwMTAtMDItMjggMTA6NDI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBvbmUgd2FzIHNldAoKMjAxMC0wMi0yNyAxOTowODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogUHJvdGVjdCBzZXQvZ2V0IHByb3BlcnR5IGFuZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzCgkgIFRoZSBmcmVpMHIgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgdGhlc2UgZnVuY3Rpb25zIG11c3Qgbm90IGJlIGNhbGxlZAoJICBvbiB0aGUgc2FtZSBpbnN0YW5jZSBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGF0IHRoZSBzYW1lIHRpbWUuIEFsbAoJICBvdGhlciBmdW5jdGlvbnMgYXJlIGd1YXJhbnRlZWQgdG8gYmUgdGhyZWFkc2FmZS4KCjIwMTAtMDItMjYgMTY6NDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2Ugc29tZSBtb3JlIHJ1bGVzIHNpbGVudCBpZiByZXF1ZXN0ZWQKCjIwMTAtMDItMjYgMTU6NDU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBhdXRvbWFrZSAxLjExIHNpbGVudCBydWxlcyBpbnN0ZWFkIG9mIHNoYXZlIGlmIGF2YWlsYWJsZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1c2Ugc29tZXRoaW5nIHRoYXQgaXMgc3RpbGwgbWFpbnRhaW5lZCBhbmQKCSAgYWxzbyBicmluZ3MgYmFjayBsaWJ0b29sIDEuNSBzdXBwb3J0LgoKMjAxMC0wMi0yNiAxNToyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgdGVzdCBmb3IgY29ycmVjdCBJNDIwIHJlbmRlcmluZwoKMjAxMC0wMy0wOSAxMjozMzozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBBZGQgZnJhbWUtc3RhdHMgbWVzc2FnZQoKMjAxMC0wMy0wOCAyMTowMDoyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgaW52dGVsZWNpbmUgZWxlbWVudAoJICBBdXRvbWF0aWMgaW52ZXJzZSB0ZWxlY2luZSBlbGVtZW50LiAgUmlnaHQgbm93LCBpdCBjbHVtc2lseSBhdHRlbXB0cwoJICB0byByZWFycmFuZ2UgdmlkZW8gZmllbGRzIGludG8gZnJhbWVzIHRoYXQgZG9uJ3QgaGF2ZSBjb21iaW5nIGVmZmVjdHMsCgkgIGFuZCBvbmx5IHdvcmtzIHdpdGggNjBpLzI0cCBjb250ZW50IGF0IDcyMHg0ODAuICBMYXRlciwgaXQgd2lsbCBoYW5kbGUKCSAgb3RoZXIgcHVsbGRvd24gdmFyaWF0aW9ucywgY2hhbmdlIGNhcHMgYW5kIHNtb290aCB0aW1lc3RhbXBzCgkgIGFwcHJvcHJpYXRlbHkuCgoyMDEwLTAzLTAxIDEzOjQ5OjM5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJICBhcGV4c2luazogVXNlICJhcGV4c2luayIgZm9yIHBsdWdpbiBuYW1lCgoyMDEwLTAzLTAxIDEzOjQ3OjMyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHdtbmM6IFVwZGF0ZSBkZXNjcmlwdGlvbgoKMjAxMC0wMy0wMSAxMzoyMjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBVcGRhdGUgcGx1Z2luIGRlc2NyaXB0aW9uCgoyMDEwLTAzLTAxIDEzOjE4OjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBuc2Y6IE5hbWUgdGhlIHBsdWdpbiBuc2YsIG5vdCBuc2ZkZWMKCSAgVGhlIHBsdWdpbiBpbiBnc3Ruc2Yuc28gc2hvdWxkIGJlIG5hbWVkIG5zZiwgbm90IG5zZmRlYy4KCjIwMTAtMDMtMDggMTI6MjM6NDggLTAzMDAgIFRpYWdvIEthdGNpcGlzIDx0aWFnb2thdGNpcGlzQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiByZW1vdmluZyB2ZXJ5IGFubm95aW5nIGdfcHJpbnQoKSBpbiBwaXRjaCBlbGVtZW50CgkgIEZpeGVzICM2MTIyMDguCgoyMDEwLTAzLTA5IDE3OjUwOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE4ID09PQoKMjAxMC0wMy0wNiAwMTo0OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE4CgoyMDEwLTAzLTA2IDAxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTAzIDIzOjQyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjIgMTk6Mzg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBSZW5hbWUgJ2F2Yy1zYW1wbGUnIHRvICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yMiAxOToyNDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJlcGxhY2UgJ2F2Yy1zYW1wbGUnIHdpdGggJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTI4IDIzOjE0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiByZW1vdmUgYml0cyB0aGF0IHJlZmVyIHRvIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQKCjIwMTAtMDItMjYgMTg6MDY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEcm9wIHRleHQgYnVmZmVycyBiZWZvcmUgdGhlIHNlZ21lbnQgc3RhcnQgYW5kIGNsaXAgcnVubmluZyB0aW1lIGVuZCB0byB0aGUgc2VnbWVudCBzdG9wCgoyMDEwLTAyLTI3IDExOjIzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQ29uc3VtZSB0ZXh0IGJ1ZmZlcnMgaWYgdGhleSdyZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG5leHQgNTAwbXMKCSAgSW5zdGVhZCBvZiBvbmx5IGNvbnN1bWluZyB0aGVtIGlmIHRoZXkncmUgdG8gYmUgZGlzcGxheSBub3cuIENvbnN1bWluZwoJICB0aGVtIHRoZW4gbWlnaHQgbWFrZSBmb2xsb3dpbmcgYnVmZmVycyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCB0bwoJICBiZSB0b28gbGF0ZS4KCjIwMTAtMDItMjYgMTE6NTA6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUYWtlIGxvY2sgYXJvdW5kIHVzZSBvZiAobm9uLXRocmVhZHNhZmUpIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDEwLTAyLTI0IDAyOjAzOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjMgMTg6MTY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBQcm90ZWN0IGxpYmFzcyBzdHJ1Y3R1cmVzIGZyb20gY29uY3VycmVudCBhY2Nlc3MgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCgkgIEZpeGVzIGJ1ZyAjNjA4NzUxLgoKMjAxMC0wMi0yMyAxNzoyODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgdG8gZml4IGNyb3NzIGNvbXBpbGF0aW9uCgoyMDEwLTAyLTIyIDE2OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogd3JpdGUgYWxsIHVkdGEgY2hpbGRyZW4gYXRvbXMKCSAgVURUQSBtaWdodCBoYXZlIE1FVEEgYW5kIG90aGVyIGNoaWxkcmVuIGF0b21zCgkgIHRvZ2V0aGVyLCB3cml0ZSB0aGVtIGFsbC4KCjIwMTAtMDItMjIgMTA6NDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIGludGVybmFsIHNpbmsgcGFkcyBsaXN0CgkgIER1ZSB0byBHc3RDb2xsZWN0UGFkcyBzaW5rIHBhZHMgbGlzdCBiZWluZyBub3QgcmVsaWFibHkKCSAgaXRlcmF0YWJsZSAod2hlbiBub3QgaW5zaWRlIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24pIHRoaXMKCSAgcGF0Y2ggYWRkcyBhIHNpbmsgcGFkcyBsaXN0IHRvIHF0bXV4IHRvIGJlIHVzZWQgd2hlbiBpdGVyYXRpbmcKCSAgc2luayBwYWRzIG9uIHJlc2V0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNjA5MDU1CgoyMDEwLTAyLTIxIDE5OjU3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICBmYWFkOiBmaXggTWFrZWZpbGUuYW0gc29tZSBtb3JlCgkgIEZBQURfQ0ZMQUdTIGFuZCBfTElCUyBzaG91bGQgYmUgYXQgdGhlIGVuZCwgYW5kIC1sZ3N0YXVkaW8tMC4xMAoJICBzaG91bGQgZ28gcmlnaHQgYWZ0ZXIgR1NUX1BMVUdJTlNfQkFTRV9MSUJTLgoKMjAxMC0wMi0xOSAxNToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgZmFhZDogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgQWxzbyBmaXggb3JkZXIgb2YgQ0ZMQUdTIGFuZCBMSUJTCgoyMDEwLTAyLTE5IDA4OjU4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMiBwcmUtcmVsZWFzZQoKMjAxMC0wMi0xOSAwODo1ODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ2VuZXJhdGVkIGNvZyBmaWxlcwoKMjAxMC0wMi0xOSAxMDozMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IE5VTEwgcmVmIGFuZCBlcnJvciBoYW5kbGluZyBpZiBubyB2aWRlbyBzaW5rIGlzIGZvdW5kCgkgIElmIG5vIHZpZGVvIHNpbmsgaXMgc2V0IGFuZCBhdXRvdmlkZW9zaW5rIGlzIG5vdCBhdmFpbGFibGUgZm9yIHNvbWUKCSAgcmVhc29uLCBwb3N0IGEgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyB3aGVuIGZhaWxpbmcgdG8KCSAgY2hhbmdlIHN0YXRlLCBhbmQgZG9uJ3QgdHJ5IHRvIGdzdF9vYmplY3RfcmVmKCkgTlVMTCBwb2ludGVycy4gRml4ZXMKCSAgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0IHdoZW4gZGlzdGNoZWNraW5nLgoKMjAwOS0xMi0xMCAxNjozMDoyNiAtMDUwMCAgU3RlcGhlbiBEZXBvb3RlciA8c3RlcGhlbmRAeGFuZHJvcy5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IGZpeCBjb21waWxlIGFnYWluc3QgZWFybGllciBDRUxUIHZlcnNpb25zCgkgIENoZWNrIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENFTFRfU0VUX0NPTVBMRVhJVFkgc3ltYm9sCgkgIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0LiBGaXhlcyBjb21waWxhdGlvbiBhZ2FpbnN0CgkgIGxpYmNlbHQgMC40LjAuCgkgIEZpeGVzICM2MDQzMTEuCgoyMDEwLTAyLTE3IDEyOjM0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZXR1cm4gb2Zmc2V0K2xlbmd0aCBmcm9tIF9nZXRfaW1hZ2VfbGVuZ3RoKCkuCgkgIF9maW5kX2VuZF9tYXJrZXIoKSBmaW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgbWFya2VyLiBFT0kgaGFzIGEgZml4ZWQgbGVuZ3RoIG9mIDIKCSAgYnl0ZXMgdGhhdCB3aGVyZSBtaXNzaW5nLiBGaXhlcyAjNjA4OTk4CgoyMDEwLTAyLTE3IDAxOjM0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgZmFhZCB1bml0IHRlc3QKCjIwMTAtMDItMTcgMDE6Mjk6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IGludmFsaWQgbWVtb3J5IGFjY2VzcwoJICBTZWUgYnVnICM2MDg5OTguCgoyMDEwLTAyLTE2IDIyOjIzOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCB1bml0IHRlc3QgdG8gYWN0dWFsbHkgY2hlY2sgZm9yIGV2ZXJ5dGhpbmcgdG8gd29yayBjb3JyZWN0bHkKCjIwMTAtMDItMTYgMjI6MjI6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiBubyBjb2RlYyBkYXRhIGlzIHNldCwgc3RpbGwgaW5pdGlhbGl6ZSB0aGUgYXNzIHRyYWNrCgoyMDEwLTAyLTE2IDIxOjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoJICBUaGlzIHJlbmRlcnMgYSB0ZXN0IHN0cmluZyBvbiB0b3Agb2YgYSByZWQgdmlkZW8gc3RyZWFtIGFuZCBjaGVja3MKCSAgaWYgdGhlIHRleHQgaXMgb25seSByZW5kZXJlZCBhdCB0aGUgY29ycmVjdCB0aW1lc3RhbXBzLgoKMjAxMC0wMi0xNiAyMDozODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBGaXggd2FybmluZyBtZXNzYWdlIHBhcnNpbmcKCjIwMTAtMDItMTYgMTY6NDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBndWFyZCBhZ2FpbnN0IGNvZGVjX2RhdGEgZmllbGQgd2l0aCBhIE5VTEwgYnVmZmVyIGluIGNhcHMKCSAgRml4ZXMgIzYwOTQ3OC4KCjIwMTAtMDItMTYgMTc6MTM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBwcmV2ZW50IGxlYWtpbmcgaGRsciBuYW1lCgoyMDEwLTAyLTE2IDE2OjI0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgQUxBQwoJICBGaXhlcyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNDoxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGJ1aWxkaW5nIHN0c2QgZW50cnkgJ3dhdmUnIGV4dGVuc2lvbgoKMjAxMC0wMi0xNiAxMDowMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIC5zcGVjIGZpbGU6IHNoYXBld2lwZSBhbmQgaXZvcmJpc2RlYyBoYXZlIGJlZW4gbW92ZWQgZWxzZXdoZXJlCgoyMDEwLTAyLTE2IDA5OjQ5OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZG9jczogdW5pZnkgZG9jIHN0eWxlCgkgIFVzZSBndGtkb2Mgc3ludGF4IGFuZCBhZGQgc2hvcnQgZGVzYyBmb3IgdGhlIGV4YW1wbGVzLgoKMjAxMC0wMi0xNSAyMzo0MzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVwIEdTVF9DWFhGTEFHUyBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IEMgc3BlY2lmaWMgZmxhZ3MgaW4gR1NUX0NYWEZMQUdTLCBzbyBiYXNlIGl0IG9uIHRoZQoJICBHU1RfQ0ZMQUdTIHRoYXQgb25seSBjb250YWlucyB0aGUgcGtnLWNvbmZpZyBDRkxBR1MgYnV0IG5vbmUgb2YKCSAgdGhlIEdTVF9PUFRJT05fQ0ZMQUdTLiBBbHNvLCB3ZSBvbmx5IG5lZWQgdGhlIGxvY2FsIGluY2x1ZGVzIG9uY2UuCgoyMDEwLTAyLTE1IDIzOjE3OjU3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFzZSBHU1RfQ1hYRkxBR1Mgb24gLS1jZmxhZ3MgZnJvbSBwa2ctY29uZmlnCgkgIHBrZy1jb25maWcgc2V0cyBHU1RfQ0ZMQUdTIGFuZCBHU1RfTElCUy4gV2UgbmVlZCB0byB1c2UgQ0ZMQUdTIGFzIGEgc3RhcnRpbmcKCSAgcG9pbnQgZm9yIGZvciBib3RoIEMgYW5kIENYWCBzZXR0aW5ncy4KCjIwMTAtMDItMTUgMTI6NTc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcHJpbnRmIGZvcm1hdCBhbmQgYSBmZXcgcmVmIGxlYWtzCgoyMDEwLTAyLTE1IDEyOjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2dzdC1pdm9yYmlzLm00OgoJICBidWlsZDogcmVtb3ZlIHNvbWVtIG1vcmUgaXZvcmJpcyBjcnVmdAoKMjAxMC0wMi0xNSAxMTo1NTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBNb3ZlZCAnaXZvcmJpcyhkZWMpJyBmcm9tIC1iYWQgdG8gLWJhc2UuCgkgIEZpeGVzICM2MDkwNjMuCgoyMDEwLTAyLTE1IDA5OjM2OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBGaXggZmllbGQgZXJyb3IuCgkgIFNwb3R0ZWQgYnkgQnVya2hhcmQgUGxhdW0KCjIwMTAtMDItMTUgMDE6MjY6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIGpwZWdwYXJzZSB1bml0IHRlc3QKCjIwMTAtMDItMTMgMTU6Mjg6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgZGF0YXVyaXNyYwoJICBSZXF1aXJlcyBmaXhlcyBmcm9tIGNvcmUgZ2l0LCBzbyBidW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gZ2l0IGFzIHdlbGwuCgoyMDEwLTAyLTE0IDIzOjE4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTZkYzc5MyB0byA0NGVjY2U3CgoyMDEwLTAyLTE0IDE1OjIyOjA1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSAgZXhhbXBsZXM6IENhbGwgZ3N0X2Vuc3VyZV9uYXRpdmVfd2luZG93KCkgZm9yIGdzdC1jYW1lcmEKCSAgRml4ZXMgc3B1cmlvdXMgU0VHVnMgZHVlIHRvIG11bHRpdGhyZWFkaW5nIGNvbmZsaWN0cyBpbgoJICBjbGllbnQtc2lkZS13aW5kb3cgR3RrIHZlcnNpb25zLgoKMjAxMC0wMi0xNCAxMzo0MzowNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IFVzZSBndGsgZnVuY3Rpb25zIGluc3RlYWQgb2YgbGliWDExIGZ1bmN0aW9ucyBpbiBjYW1lcmFiaW4KCSAgR2V0cyBhcm91bmQgdGhlIG5lZWQgdG8gbGluayB0byBsaWJYMTEgZGlyZWN0bHkgYW5kIHByb3ZpZGVzIHRoZSBzYW1lCgkgIGZ1bmN0aW9uYWxpdHkuCgkgIFRvIGJvb3N0LCBpdCdzIG1vcmUgcG9ydGFibGUsIHRvbyEKCjIwMTAtMDItMTQgMTM6NDE6NTcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogUHJvcGVybHkgbGluayB0byBsaWJtCgoyMDEwLTAyLTEzIDExOjAwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBBZGQgc2hhcGV3aXBlIGV4YW1wbGVzIGRpcmVjdG9yeSB0byBDUlVGVF9ESVJTCgoyMDEwLTAyLTEyIDExOjM1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkgIGRvY3M6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTEyIDExOjIxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIE1vdmVkICdzaGFwZXdpcGUnIGZyb20gLWJhZCB0byAtZ29vZAoJICBGaXhlcyBidWcgIzU4NDUzNi4KCjIwMTAtMDItMTEgMjE6NTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTExIDIwOjM3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIGZhYWQ6IGFkZCB1bml0IHRlc3QKCjIwMTAtMDItMTEgMjA6MjE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggZG9jdW1lbnRhdGlvbiB0eXBvCgoyMDEwLTAyLTExIDIwOjIxOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUKCSAgLi4uIGFuZCBtb3ZlIGFuZCBtb2RpZnkgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMC0wMi0xMCAyMzoyOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRyYWluIHN5bmMgcGVuZGluZyBmcmFtZXMgd2hlbiBhcHByb3ByaWF0ZQoKMjAxMC0wMi0xMCAyMzoxNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHNlbmQgdGFncyBleGFjdGx5IG9uY2Ugd2hlbiBpbml0J2VkCgoyMDEwLTAyLTEwIDIzOjE0OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3Igc29tZSBwYXJ0aWFsIHN0cmVhbSByZXNldAoKMjAxMC0wMi0xMCAyMjoxNDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGNvcnJlY3RseSBlc3RpbWF0ZSBhdmVyYWdlIGJwcwoJICBDb3VudCBjb25zdW1lZCBieXRlcyBhbmQgY29ycmVzcG9uZGluZyBkdXJhdGlvbiBhdG9taWNhbGx5LAoJICByYXRoZXIgdGhhbiBsZXR0aW5nIGJ5dGVjb3VudCBydW4gYWhlYWQgb2Ygd2hhdCBoYXMgYmVlbiBkZWNvZGVkLgoJICBGaXhlcyAjNDQwNDc2LgoKMjAxMC0wMi0xMCAyMTo0OTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGdpdmUgdXAgYWZ0ZXIgc29tZSBudW1iZXIgb2YgZGVjb2RpbmcgZmFpbHVyZXMKCjIwMTAtMDItMTAgMjE6Mzc6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IGRvIG5vdCBhdHRlbXB0IHRvIHN5bmMgaW5kZWZpbml0ZWx5CgoyMDEwLTAyLTEwIDIxOjEyOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiB1c2UgYWRhcHRlciByYXRoZXIgdGhhbiB0ZW1wb3JhcnkgYnVmZmVyCgoyMDEwLTAyLTEwIDE5OjE0OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogb2JqZWN0aWZ5IGRlYnVnIHN0YXRlbWVudHMgYW5kIGFkanVzdCBzb21lIGxldmVscwoKMjAxMC0wMi0xMCAxODo0NjoxNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHNyYyBjYXBzIChyZSluZWdvdGlhdGlvbiBhbmQgcmVmbG93IHNvbWUgZXJyb3IgZXhpdHMKCjIwMTAtMDItMDkgMjM6MzU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHJlbW92ZSBkZWZ1bmN0IGFuZCBvdGhlcndpc2Ugb2Jzb2xldGUgY29kZQoKMjAxMC0wMi0wOSAyMzoyNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHJlc2V0CgoyMDEwLTAyLTA5IDIyOjQ2OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiB1c2UgYW4gaW4gc3RydWN0IHNlZ21lbnQgcmF0aGVyIHRoYW4gYSBzZXBhcmF0ZWx5IGFsbG9jYXRlZCBvbmUKCjIwMTAtMDItMTAgMTA6NTI6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcmVzZXJ2ZSB0aGUgaW5wdXQgY29sb3IgdmFsdWVzIGluIGFsbCBjYXNlcwoKMjAxMC0wMi0xMCAxMDo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFNjYWxlIG1hc2sgYWxwaGEgdmFsdWVzIGJ5IHRoZSBzb3VyY2UgYWxwaGEgdmFsdWVzCgoyMDEwLTAyLTEwIDEwOjQyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IEFSR0IgcHJvY2Vzc2luZwoKMjAxMC0wMi0xMCAxMDozNDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBQcmludCBzb21lIG1vcmUgZGV0YWlscyBvbiBlcnJvci93YXJuaW5nIG1lc3NhZ2VzCgoyMDEwLTAyLTA5IDE1OjIwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE5ldmVyIGZsdXNoIG1vcmUgYnl0ZXMgdGhhbiBhdmFpbGFibGUKCSAgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIGlucHV0IGRvZXNuJ3QgY29udGFpbiBhbnkgTVBFRyBUUwoJICBkYXRhIGFuZCB0aGUgY29tcGxldGUgYWRhcHRlciBjb250ZW50IHNob3VsZCBiZSBza2lwcGVkLgoKMjAxMC0wMi0wOCAxMTo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogYXRvbXNyZWNvdmVyeTogRml4IGNvbXBpbGF0aW9uIHByb2JsZW0KCSAgRml4ZXMgYSBjb21waWxhdGlvbiBlcnJvciBkdWUgdG8gdW51c2VkIGZ1bmN0aW9uIHJlc3VsdC4KCjIwMTAtMDItMDggMDg6MjY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlL2FkZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MjA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBbHdheXMgaG9sZCB0aGUgbWFzayBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgR0NvbmQKCjIwMTAtMDItMDggMDg6MTk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBNb3ZlIGNoYWluIGZ1bmN0aW9uIGVycm9yIGNhc2VzIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIGFuZCBhZGQgdXNlZnVsIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoxMjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEZpeCByYWNlIGNvbmRpdGlvbiBkdXJpbmcgc2h1dGRvd24gdGhhdCBjYW4gbGVhZCB0byBhIGRlYWRsb2NrCgoyMDEwLTAyLTA4IDA4OjExOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRHJvcCBtYXNrIGJ1ZmZlciBvbiBGTFVTSCBldmVudHMKCjIwMTAtMDItMDggMDg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBVcGRhdGUgY29weXJpZ2h0IHllYXIKCjIwMTAtMDItMDggMDg6MDg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEb24ndCByZXNldCBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBBbHNvIHVzZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMuCgoyMDEwLTAyLTA3IDExOjA5OjQ1ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogZml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQwoJICBNU1ZDIGRvZXNuJ3QgbGlrZSAjaWYgI2Vsc2Ugd2l0aGluIHN0YXRlbWVudHMuCgkgIEZpeGVzICM2MDkyMTUuCgoyMDEwLTAxLTI2IDE3OjA4OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBkb24ndCBlc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzCgkgIERvbid0IGVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMsIGFzIHdlJ2xsIHNlbmQgdGhlIGJ1ZmZlciBhcwoJICB0ZXh0L3BsYWluIHJhdGhlciB0aGFuIHRleHQveC1wYW5nby1tYXJrdXA7IHRoaXMgYXZvaWRzIGUuZy4KCSAgcXVvdGVzIGZyb20gYXBwZWFyaW5nIGFzICZxdW90OyBpbiB0aGUgcmVuZGVyZWQgc3VidGl0bGVzLgoJICBTZWUgYnVnICM2MDA5MjkuCgoyMDEwLTAxLTI0IDExOjE0OjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IHJlbmFtZSB0aGUgdGlnZXIgb3ZlcmxheSBlbGVtZW50J3Mgc2luayBwYWQgdG8gJ3N1YnRpdGxlX3NpbmsnCgkgIEFzIHRoaXMgaXMgd2hhdCBwbGF5YmluMiBleHBlY3RzLiBTZWUgYnVnICM2MDA5MjkuCgoyMDEwLTAyLTA3IDEwOjE5OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSAganBlZ3BhcnNlOiBsb3dlciByYW5rIHRvIE5PTkUgc28gaXQgaXMgbm90IGF1dG9wbHVnZ2VkIGZvciBkZWNvZGluZwoJICBUaGlzIGVsZW1lbnQgaXMgdG9vIG5ldyBhbmQgdG9vIHVudGVzdGVkIHRvIGhhdmUgaXQgYXV0b3BsdWdnZWQuCgoyMDEwLTAyLTA1IDE3OjI1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0IHRlc3QKCSAgVGhlIHBhcnNlZCBidWZmZXJzIGhhdmUgYSBmcmFtZXJhdGUgb2YgMS8xLgoJICBGaXhlcyBidWcgIzYwODk5OC4KCjIwMTAtMDItMDUgMTA6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSAgbWV0YWRhdGE6IGFwcGVuZF9zb3J0ZWQgc2hvdWxkIHJlYWxseSBhcHBlbmQgc29ydGVkCgkgIC4uLiB3aGljaCBtZWFucyB0aGF0IGlkZW50aWNhbCBvZmZzZXRfb3JpZyBzaG91bGQgcHJlc2VydmUgdGhlIG9yZGVyCgkgIGluIHdoaWNoIHRoZXkgYXJlIGFwcGVuZGVkLgoKMjAxMC0wMi0wNSAxMDoxNjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJICBtZXRhZGF0YTogdXNlIGEgbm9uLURFRkFVTFQgcHJvcGVyIGRlYnVnIGNhdGVnb3J5IGluIGhlbHBlciBmaWxlcwoKMjAxMC0wMi0wNCAxOTo0NTo0MiArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IEZpeCBhIHBvdGVudGlhbCB1bnJlZiBvZiBhIE5VTEwgcG9pbnRlci4KCSAgQXQgZmlyc3QgaXRlcmF0aW9uIHdlIGRvbid0IGhhdmUgYW55IGNhY2hlZCBTUFMvUFBTIGJ1ZmZlciB0byBmcmVlLgoKMjAxMC0wMi0wMiAxMTo0MzoyMiAtMDUwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFkZCBQQVQvUE1UIGluIHN0cmVhbWhlYWRlcgoJICBUaGUgY2hlY2sgZm9yIFBBVC9QTVQgYnVmZmVycyB3YXMgc3VnZ2VzdGVkIGJ5CgkgIFphaGVlciBBYmJhcyBNZXJhbGkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDItMDMgMTM6MzE6MjIgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogYWRkIHBhdC1pbnRlcnZhbCBhbmQgcG10LWludGVydmFsIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMi0wMyAxMzo0MToyNyArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBmaXggUEFUL1BNVCBpbnNlcnRpb24gZnJlcXVlbmN5CgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgY29tcGFyaW5nIHRpbWVzdGFtcHMgd2l0aCBkaWZmZXJlbnQgY2xvY2suCgkgIExldCdzIHVzZSBvbmx5IHRoZSBjbG9jayBmb3IgUFRTIHZhbHVlcy4KCSAgQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGludGVydmFsLCB0byBhdm9pZCBjb25mdXNpb24uIEFuZCByZW1vdmUKCSAgZG9jdW1lbnRhdGlvbiBhYm91dCB2YWx1ZSAwLCB3aGljaCB3b24ndCB3b3JrIGxpa2UgZG9jdW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMS0yNyAxNjoyOTowMCArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtYXJraW5nIG5vbi1kZWx0YSB1bml0LCBpbmNsdWRpbmcgcHJlLXNlY3Rpb25zCgkgIFRoaXMgcGF0Y2ggYWRkcmVzcyB0aGUgaXNzdWUgb2JzZXJ2ZWQgd2l0aCBLRiB0aW1lc3RhbXBzCgkgIGFuZCBkZWx0YSBmbGFnLiBXaGVuIGEgc2VjdGlvbiBpcyBhcHBlbmRlZCBiZWZvcmUgdGhlIGtleWZyYW1lLAoJICBpdCBpcyBub3QgbWFya2VkIGFzIG5vbi1kZWx0YS4gSXQncyBwcmVmZXJhYmxlIHRvIG1hcmsgdGhlCgkgIGZpcnN0IGJ1ZmZlciBub24tZGVsdGEuCgkgIFRoaXMgcGF0Y2ggYWxzbyBzaW1wbGlmeSB0aGUgaW5pdGlhbCBwYXRjaCB3cml0dGVuIGJ5IHRob21hcywKCSAgc2luY2UgaXQgZG9lcyBub3QgY2x1dHRlciB0c211eC8gd2l0aCBhIGRlbHRhIGZsYWcgcGFzc2VkCgkgIGFyb3VuZCBvbmx5IGZvciBHU3RyZWFtZXIgY29udmVuaWVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDQ5MDgKCjIwMTAtMDItMDMgMTU6MDc6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJICBqcGVnZm9ybWF0OiBhZGQgYSBiYXNpYyBqaWZtdXhlcgoJICBUaGUgbmV3IGVsZW1lbnQgY2FuIGNob3AgYW5kIHJlYXNzZW1ibGUgdGhlIG1hcmtlcnMuIEkgaW1wbGVtZW50cyB0aGUgdGFnc2V0dGVyCgkgIGFuZCBmb3Igbm93IGNhbiBzZXJpYWxpemUgc29tZSB0YWdzIHRvIGpwZWcgY29tbWVudHMuCgoyMDA5LTEyLTEyIDE2OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiBBZGRzIG1vb3YgcmVjb3ZlcnkgZmVhdHVyZQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIHF0bXV4IHRoYXQgc2V0cyBhIHBhdGggdG8gYSBmaWxlIHRvIHdyaXRlCgkgIGFuZCB1cGRhdGUgZGF0YSBhYm91dCB0aGUgbW9vdiBhdG9tICh0aGF0IGlzIG5vdCB3cml0ZW4gdGlsbCB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlKS4gSWYgdGhlIHBpcGVsaW5lL2FwcCBjcmFzaGVzIGR1cmluZyBleGVjdXRpb24gaXQKCSAgbWlnaHQgYmUgcG9zc2libGUgdG8gcmVjb3ZlciB0aGUgbW92aWUgdXNpbmcgdGhlIHF0bW9vdnJlY292ZXIgZWxlbWVudC4KCSAgcXRtb292cmVjb3ZlciBpcyBhbiBlbGVtZW50IHRoYXQgaXMgYWxzbyBhIHBpcGVsaW5lLiBJdCBpcyBub3QKCSAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChpdCBoYXMgbm8gcGFkcykuIEl0IGlzIG1lcmVseQoJICBhIHRvb2wvdXRpbGl0YXJ5IHRvIHJlY292ZXIgdW5maW5pc2hlZCBxdG11eCBmaWxlcy4KCSAgRml4ZXMgIzYwMTU3NgoKMjAxMC0wMi0wMiAxMToyMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcKCSAgSGFuZGxlIG1vcmUgYXBwIG1ha2VyLiBQcmludCBhcHAgbWFya2VyIG5hbWVzIHRvIGRlYnVnIGxvZy4gUmVtZW1iZXIgbGFzdF9tYXJrZXIKCSAgd2hlbiBwYXJzaW5nIHRvIGF2b2lkIHJlcGFyc2luZyBmcm9tIHRoZSB2ZXJ5IGJlZ2luLgoKMjAxMC0wMi0wMiAxMjoyMzoyNCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkgIG1wZWd0c211eDogZ2VuZXJhdGUgU1BTL1BQUyBoZWFkZXIgb25jZSBhbmQgZml4IG92ZXJmbG93CgkgIFNvbWUgSDI2NCBwYWNrZXRzIGNhbiBiZSBhcyBzbWFsbCBhcyA1IGJ5dGVzIGZvciByZXBlYXRlZCBmcmFtZXMuCgkgIEluIHN1Y2ggYSBzaXR1YXRpb24gdGhlIG91dHB1dCBidWZmZXIgc2l6ZSB3YXMgbm90IGJpZyBlbm91Z2ggKDUqMikgdG8gZml0IHRoZQoJICBTUFMvUFBTIGhlYWRlciBhbmQgdGhlIHN0YXJ0IGNvZGVzLiBUaGlzIGNvcnJ1cHRzIHRoZSBFUyBzdHJlYW0uCgkgIFdlIG5vdyBnZW5lcmF0ZSB0aGUgU1BTL1BQUyBvbmx5IG9uY2Ugd2hpY2ggaXMgbXVjaCBtb3JlIG9wdGltYWwgYW5kIHdlIG5vdwoJICBrbm93IHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgdG8gY2FsY3VsYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNpemUgbW9yZSBzYWZlbHkuCgoyMDEwLTAyLTAyIDAxOjQ0OjIwICswMTAwICBHcmlnb3JpIEdvcm9uenkgPGdyZWdAYmxhY2tib3g+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGluc3RydWN0IGxpYmFzcyB0byB1c2UgbGlnaHQgYXV0b2hpbnRpbmcKCSAgRml4ZXMgYnVnICM2MDg3NTMuCgoyMDEwLTAyLTAyIDA4OjUzOjUzICswMTAwICBFcmljIEFwcGxlbWFuIDxlcmFwcGxlbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3Qgc2NhbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHJlY3Vyc2l2ZWx5IGZvciBmb250cwoJICBUaGlzIGNhbiB0YWtlIGEgdmVyeSBsb25nIHRpbWUgYW5kIGFsc28gbGliYXNzIHdpbGwgb3ZlcndyaXRlIGZpbGVzCgkgIGlmIHRoZXJlJ3MgYW4gZW1iZWRkZWQgZm9udCB3aXRoIHRoZSBzYW1lIGZpbGVuYW1lIGFzIGFuIGV4aXN0aW5nIGZpbGUuCgkgIEZpeGVzIGJ1ZyAjNTc1ODc4IGFuZCAjNjA4NzA2LgoKMjAxMC0wMi0wMSAxNjoyNjozNiAtMDgwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogZG9uJ3QgY3Jhc2ggb24gaW52YWxpZCBBTV9NRURJQV9UWVBFCgoyMDEwLTAxLTI3IDE5OjA2OjUzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZm9yIGZpeGVkLXNhbXBsZSBzaXplIHN0cmVhbXMgKFBDTSBhdWRpbywgZXRjKSBkb24ndCBhbGxvY2F0ZSBhbiBlbm9ybW91cyBidWZmZXIgdGhhdCB3ZSB0aGVuIHdvbid0IHVzZSBhdCBhbGwuCgoyMDEwLTAxLTI3IDE1OjM3OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG11eGluZyBhZHBjbSBjb3JyZWN0bHkuCgoyMDEwLTAxLTIyIDEzOjM2OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogU2V0IHRoZSBtZGlhIGhkbHIgbmFtZSBmaWVsZCB0byB3aGF0IHF1aWNrdGltZSB1c2VzLiBGaXggd3JpdGluZyBpdCBzaW5jZSBpdCdzIG5vdCBudWxsLXRlcm1pbmF0ZWQuIEltcHJvdmVzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGhhcmR3YXJlIHBsYXllcnMuCgoyMDEwLTAxLTIyIDEzOjMwOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5kaWFubmVzcyBpbiBnc3RyZWFtZXIgaXMgYW4gaW50LCBub3QgYm9vbGVhbi4KCjIwMTAtMDEtMTYgMTM6MTc6MDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwYXJzZSBtb3JlIGZvcm1zIG9mIGNvZGVjX2RhdGEKCjIwMTAtMDItMDEgMjI6Mzc6MzkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogY29kZSBjbGVhbnVwcwoJICBNb3JlIGxvZ2dpbmcgYW5kIGNvbW1lbnRzLiBSZW5hbWUgc29tZSB2YXJzIGZvciBjb25zaXN0ZW5jeS4gRnVsbHkgaW5pdCBwb3J0CgkgIHN0cnVjdC4KCjIwMTAtMDItMDEgMjI6MzI6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcixsdjIsbGFkc3BhOiBtb3ZlIHNhbXBsZS1yYXRlIHRvIGJhc2VjbGFzcwoJICBXZSBuZWVkIHRoZSBzYW1wbGUtcmF0ZSBpbiBiYXNlY2xhc3MgZm9yIHVwY29tbWluZyB0aW1lc3RhbXAgY2hhbmdlcy4KCjIwMTAtMDItMDEgMjI6MjQ6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNob3J0ZXIgZWxlbWVudCBuYW1lcwoJICBDdXQgb2ZmIHRoZSBwcm90b2NvbCBwYXJ0IGZyb20gdGhlIHVyaS4gQWxzbyBqdXN0IGdfU3RyZHVwLCBpbnN0ZWFkIG9mIHByaW50ZgoJICB0aGUgbmFtZS4KCjIwMTAtMDItMDEgMTc6NDY6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHByb3ZpZGUgYSBnZXRjYXBzIGZ1bmN0aW9uIGZvciBzcmMgcGFkIGFuZCBpbXByb3ZlIHNldGNhcHMKCSAgUHJldmlvdXNseSBqcGVncGFyc2Ugd2FzIGZhaWxpbmcgaW4gZGVjb2RlYmluIGFzIHRoZSBjYXBzIHdlIHdlcmUgc2V0dGluZyB3aGVyZSBub3QKCSAgc2V0dGluZyBhbGwgY2FwcyBmaWVsZHMuIFdlIG5lZWQgdGhlIG93biBnZXRjYXBzIGZ1bmN0aW9uIHRvIHJlcG9ydCB3aGF0IHdlIGFjdHVhbHkKCSAgYWNjZXB0LgoKMjAxMC0wMi0wMSAxNzoxNjoxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZXh0cmFjdCBjb21tZW50IGFuZCBwb3N0IGFzIG1ldGFkYXRhCgoyMDEwLTAyLTAxIDE1OjA0OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkgIGpwZWdmb3JtYXQ6IGNvZGUgY2xlYW51cHMKCSAgTW92ZSB0aGUganBlZyBtYXJrZXIgZGVmaW5lcyB0byBhIGhlYWRlciAodG8gYmUgdXNlZCBmb3IgamlmbXV4KS4gUmV3cml0ZSBzb21lCgkgIGNvbW1lbnRzLiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDEwLTAxLTMxIDIyOjIxOjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNpbXBpZnkgcHJvcGVydHkgcmVnaXN0cmF0aW9uCgkgIEF2b2lkIHR5cGUgY2hla2luZyBjYXN0cyBmb3IgZWFjaCBwcm9wZXJ0eS4gVXNlIGEgcnVubmluZyBpbmRleC4KCjIwMTAtMDEtMzEgMjI6MTY6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlIHRoZSBnc3QtY29udHJvbGxlciwgYWRkIHNvbWUgYmFzaWMgdGltZXN0YW1waW5nCgkgIEF0bGVhc3QgZm9yIEZYIHdlIG5vdyBoYXZlIHRpbWVzdGFtcHMgYW5kIGNhbiBzeW5jIHRoZSBjb250cm9sbGVyLiBTdGlsbCBuZWVkCgkgIHRpbWVzdGFtcHMgZm9yIHNvdXJjZXMuCgoyMDEwLTAxLTMxIDIyOjE0OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHNpbXBsaWZ5IHByb3BlcnR5IHJlZ2lzdHJhdGlvbgoJICBEb24ndCBkbyBjaGVja2luZyBjYXN0IGZvciBlYWNoIHBhcmFtZXRlci4gVXNlIGEgcnVubmluZyBpbmRleC4KCjIwMTAtMDEtMzEgMjI6MTM6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogdXNlIHBsdWdpbiBkZXBlbmRlbmN5IHJlZ2lzdHJ5IGFwaQoKMjAxMC0wMS0zMSAyMjoxMTo0MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBsb29rdXAgR1F1YXJrIGp1c3Qgb25jZSBpbnN0ZWFkIGZvciBlYWNoIHBsdWdpbisxCgoyMDEwLTAxLTMxIDIyOjA4OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGxvb2t1cCBHUXVhcmsganVzdCBvbmNlIGFuZCBub3QgZm9yIGVhY2ggcGx1Z2luKzEKCjIwMTAtMDEtMzEgMjI6MDc6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdGhlc2UgYXJlIG5vdCBndGstZG9jIGNvbW1lbnRzCgoyMDEwLTAxLTMxIDIyOjA1OjMwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsYWRzcGEvbHYyOiBsaW5rIGFuZCBpbml0IHRvIGdzdC1jb250cm9sbGVyCgoyMDEwLTAxLTMxIDE1OjUzOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IG5ldyBpcyBhIGMrKyBrZXl3b3JkLCBiZXR0ZXIgbG9nZ2luZwoJICBVc2UgcGFkIGluc3RlYWQgb2YgbmV3IGZvciB0aGUgcGFkIHZhci4gQWxzbyB1c2UgcGFkIGFzIG9iamVjdCBpbiB0byBkZWJ1ZwoJICBsb2dnaW5nLgoKMjAxMC0wMS0zMCAxNToxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE1ZDQ3YTYgdG8gOTZkYzc5MwoKMjAxMC0wMS0yOSAxMjoyNTowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IG1vdmUgcGx1Z2luIHBhcnQgdG8gc3BlcGFyYXRlIGZpbGUsIHNvIHRoYXQgd2UgY2FuIGFkZCB0aGUgamlmbXV4CgoyMDEwLTAxLTI5IDExOjM5OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBvZiB0aGUgcGx1Z2luIGRvY3MsIGFkZGluZyBuZXcgaW50cm9zcGVjdCBkYXRhCgoyMDA5LTA4LTE5IDEyOjIyOjMwICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IG5ldyBqcGVnIHBhcnNlciBlbGVtZW50LiBGSXhlcyAjNTgzMDk4CgkgIFBhcnNlIEpQRUcgaW1hZ2VzLCBleHRyYWN0cyBpdHMgbWV0YWRhdGEsIHNldCBjYXBzIGFuZAoJICBwYWNrZXRpemUgYW4gaW1hZ2UgcGVyIGJ1ZmZlci4KCjIwMTAtMDEtMjggMTU6MDA6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbi1leGFtcGxlOiBjbGVhbnVwcyBmb3IgbWFpbmxvb3AgYW5kIHN0YXRlLWNoYW5nZXMuIEZpeGVzICM2MDgwNDIKCSAgU3RhcnQgY2FtZXJhYmluIHZpYSBpZGxlIGhhbmRsZXIgdG8gaGF2ZSB0aGUgbWFpbmxvb3AgYWxyZWFkeSBydW5uaW5nLiBBdm9pZAoJICBzb21lIHVubmVjZXNzYXJ5IHN0YXRlIGNoYW5nZXMuIENsZWFudXAgdGhlIGJ1cyB1c2FnZSB3aGVuIHJlc3RhcnRpbmcuCgoyMDEwLTAxLTI4IDE0OjU3OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvZyBOVUxMIGNhcHMsIGFsc28gZG93bmdyYWRlIHRvIERFQlVHIGFzIGl0IGlzIHZlcnkgdmVyYm9zZQoJICBUaGlzIGRlYnVnIGxvZyBlbnRyeSB3YXMgYWxzbyBub3QgbWVudCB0byBiZSB1c2VkIGluIHRoZSBmYWlsdXJlIGNhc2UuCgoyMDEwLTAxLTI4IDAwOjA3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogYWRkIHN0YXJ0IGZ1bmN0aW9uIHNvIHdlIGNhbiBlcnJvciBvdXQgcHJvcGVybHkgaWYgbm8gdXJpIGlzIHNldAoJICBBbHNvIHNhdmUgYSBzZXQgVVJJIGFmdGVyIGl0IGhhcyBiZWVuIHBhcnNlZCBzdWNjZXNzZnVsbHksIHNvIHRoYXQgX2dldF91cmkoKQoJICBhY3R1YWxseSB3b3Jrcy4KCjIwMTAtMDEtMjcgMjM6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBkb24ndCBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiBzZXR0aW5nIHRoZSBVUkkgZmFpbGVkCgkgIFRoZXJlJ3MgYSBnYm9vbGVhbiByZXR1cm4gZm9yIHRoYXQsIGFuZCB0aGUgbWVzc2FnZXMgZG9uJ3QgcmVhbGx5CgkgIGFkZCBhbnl0aGluZyB1c2VmdWwuCgoyMDEwLTAxLTI3IDIzOjM5OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogbXVzdCByZWxlYXNlIHRoZSBvYmplY3QgbG9jayBiZWZvcmUgdXNpbmcgR1NUX0VMRU1FTlRfRVJST1IKCjIwMTAtMDEtMjcgMjM6MzQ6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogYWRkIG1vcmUgZGVidWcgYW5kIHJlbW92ZSAiXG4iIGZyb20gZGVidWcgbG9nZ2luZwoKMjAxMC0wMS0yNyAyMzoyOTo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBiZXR0ZXIgZ29iamVjdCBwcm9wZXJ0aWVzCgkgIFVzZSBsdjI6c3ltYm9sIGFzIGEgYmFzZSBmb3IgdGhlIHByb3BlcnR5IG5hbWUgYW5kIGx2MjpuYW1lIGZvciBuaWNrIGFuZCBibHVyYi4KCjIwMTAtMDEtMjYgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJICBxdG11eDogc3RyZWFtbGluZSBtb292IGRhdGEgbWVtb3J5IHN0b3JhZ2UKCSAgSW4gcGFydGljdWxhciwgdXNlIGFycmF5cyByYXRoZXIgdGhhbiAoZG91YmxlKSBsaW5rZWQgbGlzdHMuCgoyMDEwLTAxLTE0IDExOjUwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lIGJhc2VwYXJzZSBHVHlwZSBuYW1lIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cwoKMjAxMC0wMS0xNCAxMjowNjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBjb3JyZWN0IGgyNjRfcGFyc2UgcHJlZml4IGluIGZ1bmN0aW9uIG5hbWUKCjIwMTAtMDEtMjcgMTI6MDg6NDggKzAxMDAgIFZpbmNlbnQgR0VOSUVVWCA8dmdlbmlldXggYXQgZnJlZS5mcj4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZml4IGVsZW1lbnQgc2h1dGRvd24gb24gYmFkIHJlY2VwdGlvbgoJICBXaGVuIHdlIGhhdmUgYSBiYWQgcmVjZXB0aW9uLCBhdm9pZCBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AgYnkgc2V0dGluZyBhCgkgIHNodXRkb3duIGZsYWcgd2hlbiBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNjA3NzQ3CgoyMDEwLTAxLTI2IDEzOjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0yNSAxOTowNjo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBGaXggcGFja2V0IGxlbmd0aCBzZW1hbnRpY3MKCSAgRm9sbG93aW5nIHRoZSBlZDRkMDgxODllYTZlMTlhNTBlMDI5ZTYwZGE1MmQzNTgzYzM5ZmJiCgkgIGNvbW1pdCwgdGhpcyBvbmUgZml4ZXMgcnRwYXNmcGF5IHRvIHVzZSBwYWNrZXQgbGVuZ3RoCgkgIGFzIHRoZSBwYXlsb2FkZWQgZGF0YSBsZW5ndGgsIGJ1dCBhbHNvIGFjY2VwdGluZyBpdAoJICBhcyB0aGUgZnVsbCBwYWNrZXQgc2l6ZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoCgkgIG90aGVyIGltcGxlbWVudGF0aW9ucyBkdWUgdG8gdGhlIGxhY2sgb2YgY2xhcml0eSBvZiB0aGUKCSAgc3BlYyBpbiB0aGlzIHBhcnQuCgoyMDEwLTAxLTIxIDEwOjUxOjE2IC0wMzAwICBIw6Vrb24gU2tqZWx0ZW4gPHNramVsdGVuQHB2di5vcmc+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSAgYXNmbXV4OiBDb21wYXRpYmlsaXR5IHdpdGggV01TUCBpbiBXTVAKCSAgTWFrZXMgdGhlIGFzZm11eCBjb250ZW50IGNvbXBhdGlibGUgd2l0aCBXTVNQIGFuZCBkb2VzCgkgIHNvbWUgaGFja3MgdG8gbWFrZSBpdCBwbGF5YWJsZSBpbiBXTVAsIGl0IGRvZXNuJ3QgYWNjZXB0CgkgIGRhdGEgb2JqZWN0cyB3aXRoIDAgc2l6ZSBpbmRpY2F0aW5nIHRoYXQgd2UgZG9uJ3Qga25vdwoJICBpdHMgc2l6ZSwgdGhvdWdoIHRoZSBzcGVjIHNheXMgaXQgc2hvdWxkIGJlIHBvc3NpYmxlLgoJICBGaXhlcyAjNjA3NTU1CgoyMDEwLTAxLTI1IDIzOjA2OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW4tZXhhbXBsZTogcmVtb3ZlIG1hZW1vIGNvbW1lbnQgYW5kIGxvZyBmaWxlbmFtZQoJICBUaGUgbWFlbW8gZml4bWUgaXMgbm90IG5lZWRlZCBhbnltb3JlLiBMb2cgdGhlIGNob29zZW4gZmlsZW5hbWUgdG8gaGVscAoJICBwZW9wbGUgZmluZGluZyB0aGUgZmlsZXMuCgoyMDEwLTAxLTI1IDIzOjA0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluOiByZWYgZWxlbWVudCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluIHRvIHJlc3VycmVjdAoJICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3NlZCB0byBkaXNwb3NlIHRoZSBlbGVtZW50IGluIHRoZSBjYXNlIG9mIGZhaWx1cmUKCSAgYXMgdGhlIGNhbGxlciBpcyB1c2luZyB0aGUgZWxlbWVudHMgbmFtZSBpbiB0aGUgZXJyb3IgbWVzc2FnZS4gQWxzbyBhZGQKCSAgc29tZSBtb3JlIGlucHV0IHBhcmFtZXRlciBjaGVja3MgaW4gdGhlIGZvcm0gb2YgZ19yZXR1cm5fdmFsX2lmX2ZhaWwKCjIwMTAtMDEtMjUgMTI6MjE6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmV2ZXJ0ICJpbnB1dHNlbGVjdG9yOiBQcm90ZWN0IGdfb2JqZWN0X25vdGlmeSgpIHdpdGggdGhlIG9iamVjdCdzIG11dGV4IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDdlMDY3NjE1ZmZiNTYxNGYwNjhmNzc1M2MxMGRkZTk5YWZlNDljM2MsIGl0J3MgY2F1c2luZwoJICBkZWFkbG9ja3Mgd2l0aCBwbGF5YmluMi4KCjIwMTAtMDEtMjUgMTI6MTI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBSZW1vdmUgcm9sZSBhdHRyaWJ1dGUgZnJvbSBsaW5rcwoKMjAxMC0wMS0yNSAxMTo1NjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IEFkZCBkb2NzIGFuZCBpbnRlZ3JhdGUgaW50byBidWlsZCBzeXN0ZW0KCSAgRml4ZXMgYWdhaW4gYnVnICM1OTY4ODUuCgoyMDEwLTAxLTI1IDExOjEyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSAgZGF0YXVyaXNyYzogQWRkIGRhdGE6IFVSSSBzb3VyY2UgZWxlbWVudAoJICBUaGlzIGlzIHNsaWdodGx5IGJhc2VkIG9uIHRoZSBXZWJLaXQgZGF0YTogVVJJIHNvdXJjZQoJICBidXQgc3VwcG9ydHMgbW9yZSBwYXJ0cyBvZiBSRkMgMjM5Ny4KCSAgRml4ZXMgYnVnICM1OTY4ODUuCgoyMDEwLTAxLTI1IDA3OjQyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkgIGRhdGF1cmlzcmM6IEFkZCBkaXJlY3RvcnkgZm9yIGRhdGE6IFVSSSBzb3VyY2UKCjIwMTAtMDEtMjUgMTE6MzY6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogY3JlYXRlIHZhbGlkIGdvYmplY3QgcHJvcGVydHkgbmFtZXMuIEZpeGVzICM2MDI1MjgKCSAgV2UgY2Fubm90IHVzZSB0aGUgbmFtZXMgYXMgd2UgZ2V0IHRoZW0gZnJvbSBsdjIgZm9yIHRoZSBncGFyYW1zcGVjIG5hbWUsIG9ubHkKCSAgZm9yIG5pY2svYmx1cmIuIEFwcGx5IHNhbWUgYWxnb3JpdGhtcyBsaWtlIGVsc2V3aGVyZSAobGFkc3BhKSBmb3IgbmFtZS4KCjIwMTAtMDEtMjUgMTE6NDk6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZgoKMjAxMC0wMS0yNSAxMTo0ODoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZXZlcnQgIm14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjhjYTYyYjM2OWZjMWI3N2FkYWU4NWQ5ZDgwNTQ1N2ZlNGUzYjU2Mi4KCjIwMTAtMDEtMjIgMTc6NDU6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgbXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZgoKMjAxMC0wMS0yNCAyMDo1MzowMCArMDEwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFByb3RlY3QgZ19vYmplY3Rfbm90aWZ5KCkgd2l0aCB0aGUgb2JqZWN0J3MgbXV0ZXgKCSAgVGhpcyB3b3JrcyBhcm91bmQgdGhlIHRocmVhZCB1bnNhZmV0eSBvZiBnX29iamVjdF9ub3RpZnkoKQoJICBGaXhlcyBidWcgIzYwNzUxMy4KCjIwMTAtMDEtMjIgMTA6NDg6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggd2FybmluZ3MgdW5kZXIgT1MgWC4uCgoyMDEwLTAxLTIyIDEwOjQ2OjUxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgYnVpbGQgb3N4dmlkZW9zcmMgYW5kIHF0d3JhcHBlciBpbiBTbm93IExlb3BhcmQuCgkgIFF1aWNrVGltZSBpc24ndCBhdmFpbGFibGUgYW55bW9yZSBpbiBPUyBYIFNub3cgTGVvcGFyZC4KCjIwMTAtMDEtMjIgMDI6MjM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IHVzZSBzYW1lIG1lZGlhIHR5cGUgYXMgb3RoZXIgZWxlbWVudHMKCSAgZ2RrcGl4YnVmIGFuZCBvdXIgbmV3IHR5cGVmaW5kZXIgaW4gLWJhc2UgdXNlIGltYWdlL3gtcG9ydGFibGUtKi4KCjIwMTAtMDEtMjIgMDI6MjI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBtYWtlIGVsZW1lbnQgZGV0YWlscyBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlCgoyMDEwLTAxLTIyIDAyOjE5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IGFkZCBjb3B5cmlnaHQgbm90aWNlCgoyMDEwLTAxLTIyIDAyOjEwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkgIHBubTogbW92ZSB0eXBlZmluZGluZyBpbnRvIC1iYXNlCgoyMDEwLTAxLTExIDAxOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIHRlc3RzOiByZWZhY3RvciB3ZWlyZCBidXMgc3luYyBoYW5kbGVyIGNvZGUgaW4gY2FtZXJhYmluIGV4YW1wbGUKCjIwMTAtMDEtMjEgMTg6MTE6MzQgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGZsaXRlOiBidWlsZCBhbmQgZGlzdCBmbGl0ZSBwbHVnaW4KCSAgZml4aW5nICJtYWtlIGRpc3QiCgoyMDEwLTAxLTIxIDE1OjU4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBtZW1vcnkKCjIwMTAtMDEtMjAgMTM6MzA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgIFtjbGVhbnVwXSBWYXJpb3VzIHN0eWxlIGFuZCBjbGVhbnVwcwoJICBWYXJpb3VzIGZpeGVzIGZvciBndGstZG9jIHdhcm5pbmdzIGFuZCBtYWtpbmcgZnVuY3Rpb25zIHdpdGhvdXQKCSAgYXJndW1lbnRzIHRha2Ugdm9pZCBhcyBwYXJhbWV0ZXIuCgoyMDEwLTAxLTIwIDEzOjI5OjUyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIFtvc3M0XSBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgcmV0dXJuIHZhbHVlCgoyMDEwLTAxLTIwIDAwOjU0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU4Y2Y1YyB0byAxNWQ0N2E2CgoyMDEwLTAxLTE4IDEwOjU3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgIGNkeGFwYXJzZTogRml4IGJ1ZmZlciBsZWFrCgkgIEZpeGVzIGJ1ZyAjNjA3Mjg1LgoKMjAxMC0wMS0xNiAxNTozMjo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEZpeCBjaGFubmVsIGxheW91dAoJICBBZGp1c3RlZCB0aGUgY2hhbm5lbCBtYXBwaW5ncyB0byBhZ3JlZSB3aXRoIHRoZSBkZWZhdWx0IGNoYW5uZWwgbWFwcGluZ3MKCSAgaW4gdGhlIHNwZWMsIHdoaWNoIGlzIHByZXN1bWFibHkgd2hhdCBmYWFjIGlzIHVzaW5nLiAgRml4ZXMgIzYwNzEwNS4KCjIwMTAtMDEtMTYgMTU6MzI6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogaGFuZGxlIHNhbXBsZXNwZXJidWZmZXIKCjIwMTAtMDEtMTYgMTI6NDM6NDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IEFkZCBmbGl0ZXRlc3RzcmMKCSAgRmxpdGUgaXMgYSBzcGVlY2ggc3ludGhlc2l6ZXIgbGlicmFyeSAoQlNELWlzaCBsaWNlbnNlKS4gIFRoaXMgZWxlbWVudAoJICBuZWdvdGlhdGVzIGEgKHBvc3NpYmx5KSBtdWx0aWNoYW5uZWwgYXVkaW8gc3RyZWFtLCBhbmQgdGhlbiBjb250aW51YWxseQoJICBvdXRwdXRzIGJ1ZmZlcnMgbmFtaW5nIHRoZSBudW1iZXIgYW5kIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsLiAgSXQncwoJICBraW5kYSBjcmFwcHksIGJ1dCBJIG5lZWRlZCBpdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KCjIwMTAtMDEtMTYgMTc6MDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBNYWtlIHN1cmUgdGhhdCBwcm9wZXJ0eSBuYW1lcyBhbHdheXMgc3RhcnQgd2l0aCBhIGxldHRlcgoJICBPdGhlcndpc2UgR0xpYiB0aHJvd3MgYXNzZXJ0aW9ucwoKMjAxMC0wMS0xNiAxNjo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFJlcGxhY2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wcyBieSBpbnRlZ2VyIGFyaXRobWV0aWMKCjIwMTAtMDEtMTYgMTM6MDU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBPbmx5IGFjY2VwdCBzcGVjaWZpYyBjaGFubmVsIGxheW91dHMgYXMgcmVxdWlyZWQgYnkgQUFDCgkgIEZpeGVzIGJ1ZyAjNjA3MTA1LgoKMjAxMC0wMS0xNiAxMTo0MToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRml4IGJ1aWxkIGFuZCBzaWduYWwgY29ubmVjdGlvbiBmb3IgR3RrQnVpbGRlciBzdHVmZgoKMjAxMC0wMS0xNiAxMToyNjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIGdtb2R1bGUtZXhwb3J0LTIuMCBmb3IgR3RrQnVpbGRlcgoKMjAxMC0wMS0xNiAxMToyMzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGljbGVzOiBMaW5rIHdpdGggR1RLKwoKMjAxMC0wMS0xNiAxMToxNjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTIgZm9yIEd0a0J1aWxkZXIKCSAgR1RLKyAyLjEyIGlzIGFscmVhZHkgb2xkZXIgdGhhbiAyIHllYXJzIHNvIHRoaXMgc2hvdWxkbid0CgkgIGJlIGEgcHJvYmxlbSBmb3IgYW55Ym9keS4gQWxzbyBpdCdzIG9ubHkgdXNlZCBpbiBleGFtcGxlcy4KCjIwMTAtMDEtMTYgMDY6NTc6MjYgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLnVpOgoJICB0ZXN0czogUG9ydCBmcm9tIGxpYmdsYWRlIHRvIEd0a0J1aWxkZXIKCSAgRml4ZXMgYnVnICM2MDExMDguCgoyMDEwLTAxLTE1IDIxOjM0OjAyICswMTAwICBKdWxpZW4gTW91dHRlIDxkb2xwaHlAaW1hYy4obm9uZSk+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvbid0IHNldCBhbiBpbnZhbGlkIGZyYW1lcmF0ZS4KCSAgV2hlbiBmaXhlZF92b3BfcmF0ZSBpcyBub3Qgc2V0IHdlIGNhbiBub3Qgc2V0IGEgZnJhbWVyYXRlIGJhc2VkIG9uCgkgIHZvcF90aW1lX2luY3JlbWVudF9yZXNvbHV0aW9uIGFzIGl0IHdvdWxkIG1vc3QgbGlrZWx5IGJlIHdyb25nLgoJICBEb24ndCBzZXQgYW55IGZyYW1lcmF0ZSBvbiB0aGUgY2FwcyBpbiB0aGF0IGNhc2UuCgoyMDEwLTAxLTE0IDA4OjA5OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjdHVhbGx5IHVzZSBuZXcgY2FwcyBpbmZvIG9uIHJlbmVnb3RpYXRpb24KCSAgRm9sbG93aW5nIHRoZSBwcmV2aW91cyBxdG11eCBjb21taXQsIHRoaXMgcGF0Y2ggdHJpZXMKCSAgdG8gdXNlIHRoZSBuZXcgaW5mbyBhZGRlZCB0byB0aGUgY2FwcyB0byBmaWxsIHRoZSAndHJhaycKCSAgYXRvbSdzIGZpZWxkcyBhbmQgY2hpbGRyZW4gYXRvbXMuIFRoaXMgd2F5IHF0bXV4IHdpbGwKCSAgdXNlIHRoZSBsYXRlIGFkZGVkICdjb2RlY19kYXRhJyB3aGVuIGgyNjRwYXJzZSBhZGRzCgkgIGl0IGluIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmU6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMjM6MzM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gaXQgb25seSBhZGRzIGZpZWxkcwoJICBRdG11eCBjYW4gYWNjZXB0IGNhcHMgcmVuZWdvdGlhdGlvbiBpZiB0aGUgbmV3IGNhcHMgaXMgYQoJICBzdXBlcnNldCBvZiB0aGUgb2xkIG9uZSwgbWVhbmluZyB1cHN0cmVhbSBhZGRlZCBuZXcgaW5mbyB0bwoJICB0aGUgY2Fwcy4gVGhpcyBwYXRjaCBzdGlsbCBkb2Vzbid0IG1ha2UgcXRtdXggdXBkYXRlIGFueQoJICBhdG9tcyBpbmZvIGZyb20gdGhlIG5ldyBpbmZvLCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndAoJICByZWplY3QgdGhlIG5ldyBjYXBzIGFueW1vcmUuCgkgIEEgcGlwZWxpbmUgdGhhdCByZXByb2R1Y2VzIHRoaXMgdXNlIGNhc2UgaXM6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTQgMTI6NTk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCBhbmQgc2ltcGxpZnkgY29kZQoKMjAxMC0wMS0xNCAxMjo1NjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2Ugc3VyZSB0aGF0IHRoZSB2aWRlbyBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgdG8gaXQKCjIwMTAtMDEtMTQgMTI6NDc6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgYXBleHNpbms6IGNoYW5nZSB2b2x1bWUgcHJvcGVydHkgdG8gYSBkb3VibGUKCSAgQ2hhbmdlIHRoZSB2b2x1bWUgcHJvcGVydHkgZnJvbSBpbnQgdG8gYSBkb3VibGUgc28gdGhhdCBwbGF5YmluMiBjYW4gdXNlIGl0LgoJICBLZWVwIHRoZSB2b2x1bWUgaW50ZXJuYWxseSBhcyBhIHBlcmNlbnQgZm9yIG5vdyB3aXRoIHRoZSBkZWZhdWx0IDc1JSBtYXBwZWQgdG8KCSAgYSB2b2x1bWUgb2YgMS4wLgoJICBzb21lIGNsZWFudXBzLCBhZGQgc29tZSBGSVhNRSBhbmQgY29tbWVudHMuCgkgIEZpeGVzICM2MDY4NzgKCjIwMTAtMDEtMTMgMTk6MzA6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIHJlcXVlc3QgcGFkcyB1bmRlciB3aWRlciBjb25kaXRpb25zCgkgIEZpeGVzICM2MDY4NTkuCgoyMDEwLTAxLTEzIDEwOjM1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgYXZjLXNhbXBsZSBoMjY0CgkgIHF0bXV4IGFuZCBtcDRtdXggc2hvdWxkIG9ubHkgYWNjZXB0IGgyNjQgaW4gYXZjLXNhbXBsZQoJICBmb3JtYXQKCjIwMTAtMDEtMTMgMDk6NDI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBjYXBzCgkgIEFkZHMgdGhlIG5ldyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIGgyNjRwYXJzZSBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDEtMTMgMDA6Mzg6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgYnVpbGQ6IGluY2x1ZGUgY3J1ZnQubWFrIGFuZCBhZGQgcmVjZW50bHktbWVyZ2VkIHBsdWdpbnMgdG8gY3J1ZnQgbGlzdAoKMjAxMC0wMS0xMiAyMzo1MzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IHBvc3QgZXJyb3IgbWVzc2FnZSBpbiBhZGRpdGlvbiB0byByZWRpcmVjdCB3aGVuIGNvbm5lY3QgZmFpbHMKCSAgV2hlbiB3ZSBjYW4ndCBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIsIHdlIHNob3VsZCBzdGlsbCBwb3N0IGEgcHJvcGVyCgkgIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cywgc28gdGhhdCBhcHBsaWNhdGlvbnMgdGhhdCBkb24ndCBoYW5kbGUgdGhlCgkgIHJlZGlyZWN0IG1lc3NzYWdlIGdldCBhIHByb3BlciBlcnJvciBtZXNzYWdlIChhbmQgYSBoaW50IHRvIGxvb2sgZm9yCgkgIHRoZSByZWRpcmVjdCkuCgkgIEZpeGVzICM2MDY2MzYuCgoyMDEwLTAxLTEyIDE1OjQ1OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29ycmVjdGx5IHJld3JpdGUgYWxsIG5hbCBwcmVmaXhlcwoJICBXaGVuIGNvbnZlcnRpbmcgdG8gYnl0ZS1zdHJlYW0gZG8gbm90IGZvcmdldCB0byByZXdyaXRlCgkgIGFsbCBuYWwgcHJlZml4ZXMgaW5zdGVhZCBvZiBvbmx5IHRoZSBmaXJzdCBvbmUuCgoyMDEwLTAxLTEyIDE5OjMzOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogaW1wcm92ZSBmYWFjIGNvbmZpZ3VyYXRpb24KCSAgSW4gcGFydGljdWxhciwgYWxpZ24gY29uZmlndXJhdGlvbiBzb21lIG1vcmUgd2l0aCByZWZlcmVuY2UgYmluYXJ5IGZhYWMuCgkgIEZpeGVzICM2MDY3MjYuCgoyMDEwLTAxLTEyIDE0OjUxOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBGaXggbWlzdGFrZSBvbiBwcmV2aW91cyBjb21taXQKCSAgVXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlcyBhbmQgdmFyaWFibGUgZm9ybWF0IGluIHRoZSB3YXJuaW5nCgkgIG1lc3NhZ2UKCjIwMTAtMDEtMTIgMTg6NTU6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEluaXRpYWxpemUgdmFyaWFibGVzLgoJICBGaXhlcyBidWlsZCBvbiAkI0AqKCBtYWNvc3gKCjIwMTAtMDEtMTIgMTc6MDU6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBuZW9uaHR0cHNyYyB0byB0aGUgbGlzdCBvZiBlbGVtZW50cyBpZ25vcmVkIGZvciBzdGF0ZS1jaGFuZ2UKCSAgU2V0dGluZyBuZW9uaHR0cHNyYyB0byBQQVVTRUQvUExBWUlORyByZXF1aXJlcyBhIHJ1bm5pbmcgaHR0cCBzZXJ2ZXIgb24KCSAgbG9jYWxob3N0LgoKMjAxMC0wMS0xMiAwOTo1ODo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBjb2RlY19kYXRhIGlmIG91dHB1dCBpcyBieXRlc3RyZWFtCgkgIGNvZGVjX2RhdGEgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3JjIHBhZCBjYXBzIGlmIHRoZQoJICBvdXRwdXQgaXMgaW4gYnl0ZXN0cmVhbSBmb3JtYXQKCSAgRml4ZXMgIzYwNjY1NwoKMjAxMC0wMS0xMiAwOTozNToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRG8gbm90IGNyYXNoIG9uIG1pc2ludGVycHJldGVkIGgyNjQKCSAgQXZvaWQgY3Jhc2hpbmcgd2hlbiBieXRlc3RyZWFtIGgyNjQgaXMgaW50ZXJwcmV0ZWQgYXMgYXZjIGZvcm1hdAoJICBoMjY0CgkgIEZpeGVzICM2MDY2NTcKCjIwMTAtMDEtMTEgMjI6NDE6NTcgKzAzMDAgINDz8evg7SDI5uHz6+Dy7uIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgIHdpbjMyOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlLiBGaXggbXBlZ2RlbXV4IExJQkFERAoJICBCZWNhdXNlIGNvbmZpZy5oIGRlZmluZXMgX19NU1ZDUlRfVkVSU0lPTl9fLCB3aGljaCBzaG91bGQgYmUgZGVmaW5lZAoJICBiZWZvcmUgaW5jbHVzaW9uIG9mIGFueSBzeXN0ZW0gaGVhZGVyLgoJICBBbHNvIGZpeGVzIG1wZWdkZW11eCBNYWtlZmlsZS5hbSBMSUJBREQgdHlwby4KCSAgRml4ZXMgIzYwNjY2NQoKMjAxMC0wMS0xMiAwMDo0NjoyNyArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBwb3J0IHJmYnNyYyB0byBNaW5HVwoJICBGaXhlcyAjNjA2Njc3CgoyMDEwLTAxLTExIDEzOjIwOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgZm9yZ2V0IHRvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgb2ZmIGFhY3BhcnNlCgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTY6MDk6MzggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGluY2x1ZGUgPHdpbmRvd3MuaD4gaW50byBtc2FjbS5oIGNvbmZ0ZXN0CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMTEgMTA6MzQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgc3RyZWFtLWZvcm1hdD0nbm9uZScgYWFjCgkgIE9ubHkgYWNjZXB0IHJhdyBhYWMgc3RyZWFtcyAoc3RyZWFtLWZvcm1hdD1ub25lKSB0byBhdm9pZAoJICBnZW5lcmF0aW5nIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMTAtMDEtMTEgMDk6NDg6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBZGQgZm9ybWF0IHRvIG91dHB1dCBjYXBzCgkgIEFkZHMgJ3N0cmVhbS1mb3JtYXQnIHRvIG91dHB1dCBjYXBzIHRvIGluZm9ybSBpZiB0aGUgc3RyZWFtIGlzCgkgIGFkdHMgb3IgcmF3LiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIGZvciBtdXhlcnMgdG8gcmVqZWN0CgkgIGlucHV0IHN0cmVhbXMgb24gY2FwcyBpZiB0aGV5IGRvbid0IHN1cHBvcnQgYWR0cyBpbnN0ZWFkIG9mCgkgIGdlbmVyYXRpbmcgYSBpbnZhbGlkIGZpbGUuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMTAtMDEtMTEgMDE6MDI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogZml4IHVuYWxpZ25lZCBhY2Nlc3MgaW4gdGhpcyBjb3B5IG9mIG1wZWdkZW11eCBhcyB3ZWxsCgkgIFNlZSAjNjA2MzcxLgoKMjAxMC0wMS0xMSAwMDo1OTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmM6IHVzZSBleGlzdGluZyBtYWNyb3MgdG8gYXZvaWQgYWxpZ25tZW50IGlzc3VlcwoKMjAxMC0wMS0xMSAwMDo1Nzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiB1c2UgZXhpc3RpbmcgbWFjcm9zIHRvIGF2b2lkIGFsaWdubWVudCBpc3N1ZXMKCjIwMTAtMDEtMTEgMDA6MjQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogZml4IGFsaWdubWVudCBhbmQgZW5kaWFubmVzcyBpc3N1ZQoKMjAxMC0wMS0xMSAwMDoxNjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IHVzZSBHU1RfTUFLRV9GT1VSQ0MgdG8gY3JlYXRlIEZPVVJDQwoKMjAxMC0wMS0xMCAxMDowNjo1NSAtMDMwMCAgTGlucWlhbmcgUHUgPHB1bHEudXN0Y0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBhbGxpZ25tZW50IGlzc3VlCgkgIFVzZSBHU1RfUkVBRF9VSU5UMzJfQkUgaW5zdGVhZCBvZiBHVUlOVDMyX0ZST01fQkUgdG8KCSAgZml4IGludCBhbGxpZ25tZW50IGlzc3VlcyBvbiBBUk0KCSAgRml4ZXMgIzYwNjM3MQoKMjAxMC0wMS0wOCAxNjowNjozOCArMDAwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG9ubHkgdmlkZW8gY2FuIGhhdmUgbm9uLWRlbHRhLXVuaXQKCjIwMDktMTItMTggMTQ6MTQ6MTcgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbWFyayBkZWx0YS11bml0IG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgU2lnbmVkLW9mZi1ieTogTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTAxLTA3IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3B0aW1pemUgc3JjIGNhcHMgdXBkYXRpbmcKCjIwMTAtMDEtMDcgMTc6NDc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uCgkgIC4uLiBhbmQgYWxzbyByZW1vdmUgYSBzdXBlcmZsdW91cyBkdXBsaWNhdGUgZGVidWcgc3RhdGVtZW50LgoKMjAxMC0wMS0wNyAxNzo0MjoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgkgIFNwZWNpZmljYWxseSwgcHJvcGVybHkgbWFyayBhIGJ1ZmZlciAoTkFMVSBvciBBVSkgdG8gc3RhcnQgYSBmcmFtZSBvciBub3QuCgoyMDEwLTAxLTA2IDExOjIwOjA2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYXZvaWQgY3Jhc2ggaWYgdm9zIDwgNSBieXRlcy4KCjIwMDktMTItMTMgMTM6NTM6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDA5LTEyLTEzIDEzOjQ5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBsYW5ndWFnZSBleHRyYWN0aW9uCgkgIFRoZSBkZXNjcmlwdG9yIGNvbnRhaW5zIElTTyA2MzktMiBsYW5ndWFnZSBjb2RlcywgYnV0IHdlIHdhbnQKCSAgdHdvLWxldHRlciBJU08gNjM5LTEgY29kZXMgaW4gR1NUX1RBR19MQU5HVUFHRS4KCjIwMDktMTItMDUgMTg6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IG1ha2UgY2FtZXJhYmluIHRlc3QgYXBwbGljYXRpb24gaGFuZGxlIGVycm9ycyB3aGVuIHN0YXJ0aW5nIHVwCgkgIEluc3RlYWQgb2YgaGFuZ2luZyBmb3JldmVyIGluIGEgX2dldF9zdGF0ZSgpIGluIGNhc2UgYW4gZXJyb3Igb2NjdXJzIHdoZW4KCSAgc3RhcnRpbmcgdXAgY2FtZXJhYmluLCBiYWlsIG91dCBhbmQgcHJpbnQgYW4gZXJyb3IgbWVzc2FnZS4gQWxzbyByZW1vdmUKCSAgdW5uZWNlc3NhcnkgX2dldF9zdGF0ZSgpIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgcGlwZWxpbmUuCgoyMDEwLTAxLTA1IDE4OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBzb21lIG1pc3NpbmcgZG9jdW1lbnRhdGlvbiBwaWVjZXMKCjIwMTAtMDEtMDUgMTY6MTA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IGRvY3VtZW50YXRpb24gZml4CgoyMDEwLTAxLTA1IDE1OjA1OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTAtMDEtMDUgMTU6MDQ6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMDktMTItMjEgMTg6Mjk6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IChtdWx0aXBsZSBjaGFubmVsKSBmcmFtZSBwYXJzaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZGVjbGFyZSB1bnBhcnNlZCBpbnB1dCBhbmQgcGFyc2VkIG91dHB1dAoKMjAwOS0xMi0yMSAxODoxOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggc2Nhbm5pbmcgZm9yIG5leHQgc3luY3dvcmQKCjIwMDktMTItMjEgMTg6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3Qgc2VlayBoYW5kbGluZyBhbmQgbmV3c2VnbWVudCBzZW5kaW5nCgkgIFBlcmZvcm0gc2FuaXR5IGNoZWNrIG9uIHR5cGUgb2Ygc2VlaywgYW5kIG9ubHkgcGVyZm9ybSBvbmUgdGhhdCBpcwoJICBhcHByb3ByaWF0ZWx5IHN1cHBvcnRlZC4gIEFkanVzdCBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQKCSAgdG8gZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0aGF0IGlzIHNlbnQgZG93bnN0cmVhbS4KCjIwMDktMTItMjEgMTE6NTk6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciByZWZhY3RvciBjbGVhbnVwCgkgIEFsc28gYWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMDktMTItMTggMjE6MDU6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBsb2NhdGUgbmV4dCBzeW5jIGNvZGUgbW9yZSBlZmZpY2llbnRseQoKMjAwOS0xMi0xOCAyMTowNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIGhhbmRsaW5nIGxlZnRvdmVyIHBpZWNlcwoKMjAwOS0xMi0xOCAyMTowMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltcGxlbWVudCBsZWZ0b3ZlciBkcmFpbmluZyBpbiBwdWxsIG1vZGUKCjIwMDktMTItMTcgMTI6NDU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzZXQgX09GRlNFVCBhbmQgX09GRlNFVF9FTkQgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAwOS0xMi0xNyAxMjo0NDoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWMuYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAxMC0wMS0wNCAxMDoyMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBGaXggaW5kZW50aW9uCgoyMDA5LTEyLTI5IDE3OjI4OjA2ICswMjAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEFsbG93IDEtMiBjaGFubmVscyBmb3IgMTYgYW5kIDMyIGJpdCBkZXB0aHMsIG5vdCBvbmx5IGZvciA4IGJpdHMuCgkgIEZpeGVzIGJ1ZyAjNjA1NzIxLgoKMjAwOS0xMi0yOSAxNjowNzo1OSArMDIwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgIG1vZHBsdWc6IEFsbG93IDMyIGJpdCBkZXB0aCwgbW9kcGx1Z3MgbmF0aXZlIGZvcm1hdC4KCSAgRml4ZXMgYnVnICM2MDU3MjAuCgoyMDEwLTAxLTAyIDE3OjMzOjU3ICswMTAwICBBcm5hdWQgUGF0YXJkIDxhcm5hdWQucGF0YXJkQHJ0cC1uZXQub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIGVhYzMgaW4gUE1UCgkgIFdoZW4gdGhlIHN0cmVhbSB0eXBlIGlzIHNldCB0byBwcml2YXRlIGRhdGEsIGdzdC1tcGVndHNkZW11eCBpcyB0cnlpbmcgdG8gZmluZAoJICBhdWRpbyBkZXNjcmlwdG9ycyBpbiBQTVQgYW5kIGxvb2sgZm9yIEFDMyAodGFnIDB4NmEpIGJ1dCBkb2Vzbid0IGxvb2sgZm9yIEVBQzMKCSAgKHRhZyAweDdhKS4gSGFuZGxlIHRoaXMgY2FzZSB0b28uCgkgIEZpeGVzIGJ1ZyAjNjA1OTA0LgoKMjAwOS0xMi0zMCAyMTo1MDozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIGhhbmRsaW5nIGluIF91cGRhdGVfc3JjX2NhcHMuCgoyMDA5LTEyLTI4IDExOjM0OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsc28gYWRkIC5oIGZpbGUgY2hhbmdlcyB0byB1bmJyZWFrIHRoZSBidWlsZAoKMjAwOS0xMi0yNyAyMzo1MTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY29ycmVjdCBuYW1lcyBmcm9tIHRlbXBsYXRlIGZvciByZXF1ZXN0IHBhZHMKCSAgVGhlIHBhZHMgd2hlcmUgbmFtZXMgcGFkMCwgcGFkMSwgLi4uCgoyMDA5LTEyLTI3IDIzOjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vdmUgZXJyb3JzIF9uZXdfcGFkIHRvIHRoZSBlbmQKCjIwMDktMTItMjEgMTk6MTI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0N2NiMjNhIHRvIDE0Y2VjODkKCjIwMDktMTItMjEgMTM6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY2NlcHQgbm9uLXBhaXJlZCB1aW50IHRhZ3MKCSAgQWRkcyBzdXBwb3J0IGZvciB1bnBhaXJlZCB1bnNpZ25lZCBpbnRlcmdlciB0YWdzCgoyMDA5LTEyLTIxIDEyOjA1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRzIG5ldyB0YWdzCgkgIE1hcHMgbW9yZSB0YWdzIHRoYXQgYXJlIGFscmVhZHkgcG9zdGVkIGJ5IHF0ZGVtdXgKCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0xOCAxNjoxNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IG9ubHkgcmF3IG91dHB1dCBuZWVkcyBjb2RlY19kYXRhIGluIGNhcHMKCjIwMDktMTItMTggMTM6MzA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjaGVjayBmb3IgcmVtYWluaW5nIGRhdGEgd2hlbiBkcmFpbmluZyBpbiBwdXNoIG1vZGUKCjIwMDktMTItMTggMTM6MzA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcHVsbCBtb2RlIGNhY2hlIHNpemUgY29tcGFyaXNvbgoKMjAwOS0xMi0xOCAxMzowMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDktMTItMTcgMTE6MDQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IEludGVybmFsIHNpbmsgaW1wcm92ZW1lbnRzCgkgIERvZXMgc29tZSBnZW5lcmFsIGltcHJvdmVtZW50cyB3aXRoIHRoZSBpbnRlcm5hbCBzaW5rIGhhbmRsaW5nLgoJICAxKSBEbyBub3QgcmVtb3ZlIGFuZCByZS1hZGQgdGhlIGdob3N0cGFkIHdoZW4gY2hhbmdpbmcKCSAgaW50ZXJuYWwgc2luawoJICAyKSBPbmx5IGluc3RhbnRpYXRlIHRoZSBkZWZhdWx0IHNpbmsgd2hlbiBjaGFuZ2luZyBmcm9tIE5VTEwKCSAgdG8gUkVBRFkgaWYgdGhlcmUgaXMgbm8gb3RoZXIgYXZhaWxhYmxlCgkgIDMpIEF2b2lkIGNoYW5naW5nIHRoZSBpbnRlcm5hbCBzaW5rIGlmIG5vdCBvbiBOVUxMIHN0YXRlCgkgIEZpeGVzICM1OTg2ODIKCjIwMDktMTItMTcgMDc6NTQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IE1pbm9yIGZpeGVzCgkgIERvd25ncmFkZSBhIHdhcm5pbmcgbWVzc2FnZSB0byBkZWJ1Zy4gUmVtb3ZlIGFuCgkgIGFscmVhZHkgZml4ZWQgRklYTUUgYW5kIGFkZCBhIG5vdGUgYWJvdXQgKG5vdC0pdXNpbmcKCSAgZnBzZGlzcGxheXNpbmsgaW4gYXV0b3ZpZGVvc2luay4gQ2hhbmdlIHRoZSBjcmVhdGVkCgkgIGdob3N0cGFkIHRvIHVzZSB0aGUgbmFtZSAic2luayIgYXMgaXQgaXMgYWR2ZXJ0aXNlZCBpbgoJICB0aGUgcGFkIHRlbXBsYXRlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBzcGVjIGZpbGUgYW5kIGZpeCBhYzNwYXJzZXIgaGVhZGVyIGxpc3RpbmcgaW4gTWFrZWZpbGUuYW0KCjIwMDktMTItMTcgMDE6MDU6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB0cnkgdG8gZml4ICdtYWtlIGRpc3QnIHdoZW4gY29nIGlzIG5vdCBpbnN0YWxsZWQKCjIwMDktMTItMTYgMTg6MzI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCBzZXR0aW5nIHN5bmMgb24gY2hpbGQgYmluCgkgIFVzZSBHU1RfSVNfQklOIGluc3RlYWQgb2YgR19PQkpFQ1RfVFlQRSB0byBjaGVjayBpZiB0aGUKCSAgaW50ZXJuYWwgc2luayBpcyBhIGJpbi4gVXNpbmcgdGhlIGxhdGVyIHdvbid0IHdvcmsgd2hlbgoJICB0aGUgc2luayBpcyBub3QgYSBiaW4gZGlyZWN0bHkgKGJ1dCBpbmhlcml0cyBmcm9tIG9uZSwgbGlrZQoJICBhdXRvdmlkZW9zaW5rKS4KCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xNSAxMzowODowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogY2hlY2sgdGhlIHN5bmMgcHJvcGVydHkgZXhpc3RzIG9uIGVtYmVkZGVkIHNpbmsocykKCSAgRm9sbG93LXVwIG9uIDQxMTFkNjMyMWYxNDBlYjc3OTA2MjBhYjQyZTVjZjFkOTQxM2I1NmEsIHRoZSB2aWRlbwoJICBzaW5rKHMpIHVzZWQgYnkgZnBzZGlzcGxheXNpbmsgbWlnaHQgbm90IGhhdmUgdGhlIHN5bmMgcHJvcGVydHkuIFNvIHdlCgkgIGNoZWNrIGl0cyBleGlzdGVuY2UgdG8gYXZvaWQgd2FybmluZyBmcm9tIGdfb2JqZWN0X3NldCgpIGF0IHJ1bnRpbWUuCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTAgMjI6MjA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IG1vcmUgb2YgajJrCgkgIFJlYWRzIHRoZSBuZXcgY2FwcyBhZGRlZCB0byBxdGRlbXV4IGJ5IGNvbW1pdAoJICBjOTE3ZDY1ZTZkZjBiNWQ1ODVmOTA1YzdhZDc4YThhMGE0NGIyY2IwCgkgIGFuZCBhZGRzIGl0cyBjb3JyZXNwb25kaW5nIGF0b21zLgoJICBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgaW1hZ2UveC1qcGMgYXMgaXQgaXMgdGhlIHNhbWUKCSAgYXMgaW1hZ2UveC1qcDIsIGV4Y2VwdCB0aGF0IHRoZSBidWZmZXJzIG5lZWQgdG8gYmUKCSAgYm94ZWQgaW5zaWRlIGEganAyYyBpc29tIGJveCBiZWZvcmUgbXV4aW5nLiBUbyBzb2x2ZQoJICB0aGlzIHRoZSBRVFBhZHMgbm93IGhhdmUgYSBmdW5jdGlvbiB0aGF0IChpZgoJICBub3QgTlVMTCkgaXMgY2FsbGVkIHdoZW4gYSBidWZmZXIgaXMgY29sbGVjdGVkLiBUaGlzCgkgIGZ1bmN0aW9uIHJldHVybnMgYSByZXBsYWNlbWVudCB0byB0aGUgY3VycmVudCBjb2xsZWN0ZWQKCSAgYnVmZmVyLgoJICBGaXhlcyAjNTk4OTE2CgoyMDA5LTEyLTE0IDE2OjE2OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogVGFibGUgZ2VuZXJhdGlvbiB1dGlsaXR5IG5lZWRzIHRvIGxpbmsgdG8gLWxtIHRvbwoKMjAwOS0xMi0xNCAxNjowODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvY29nLm9yYzoKCSAgY29nOiBEb24ndCBidWlsZCBvcmNfbWVtY3B5KCkgYW5kIGRlcGVuZCBvbiBvcmMgPj0gMC40LjMgZm9yIG9yY19tZW1jcHkoKQoJICBJbiB0aGUgbGF0ZXN0IHJlbGVhc2UgdGhpcyBmdW5jdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQuCgoyMDA5LTEyLTEwIDE2OjUzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogTWFwcyAnY2xhc3NpZmljYXRpb24nIHRhZyBmb3IgM2dwcCBmaWxlcwoJICBBZGRzIHRoZSBtYXBwaW5nIG9mICdjbGFzc2lmaWNhdGlvbicgdGFncyB0byB3cml0aW5nIG9mCgkgICdjbHNmJyBhdG9tcyBmb3IgZ3BwbXV4LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoyMDA5LTEyLTEwIDIyOjQ5OjEzIC0wMzAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBleHBvc2UgdmlkZW8gc2luayB1c2luZyBhIHByb3BlcnR5CgkgIEV4cG9zZXMgdGhlIGludGVybmFsbHkgdXNlZCBzaW5rIGFzIHZpZGVvLXNpbmsgcHJvcGVydHkgYW5kCgkgIG1ha2VzIHRoZSBkZWZhdWx0IG9uZSB0byBiZSBhdXRvdmlkZW9zaW5rIGluc3RlYWQgb2YKCSAgdGhlIGhhcmRjb2RlZCB4dmltYWdlc2luawoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTExIDE2OjMyOjQ4IC0wODAwICBQZXRlciB2YW4gSGFyZGVuYmVyZyA8cHZoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogYWRkIG5ldyBhZHBjbSBlbmNvZGVyIGVsZW1lbnQuCgoyMDA5LTEyLTExIDEwOjI1OjE2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBhIGZvcm1hdCBzdHJpbmcgYXMgcmVwb3J0ZWQgb24gaXJjLgoKMjAwOS0xMi0xMCAxMDoxMDoxNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IG1ha2UgcG93ZXIgb2YgMiBtb3JlIGFjY3VyYXRlLgoKMjAwOS0xMi0xMCAxMjo1Njo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIHBhcmFtZXRlcnMgc2V0dGluZwoJICBBbHNvIGNvbnNpZGVyIFBQUyB3aGVuIHNlbGVjdGluZyBTUFMgdG8gcGljayBwYXJhbWV0ZXJzIGZyb20uCgkgIE9ubHkgdXBkYXRlIGNhcHMgd2hlbiBzZXR0aW5ncyBhY3R1YWxseSBjaGFuZ2VkLCBhbmQgd2hlbiB0aGVzZSBhcmUgdmFsaWQuCgoyMDA5LTEyLTA4IDE4OjU3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgaXZvcmJpczogYWxzbyBjYXRlciBmb3IgdHJhZGl0aW9uYWwgMTYtYml0IHdpZHRoIHNhbXBsZSBvdXRwdXQKCjIwMDktMTItMTAgMTA6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEb24ndCBkbyBwb2ludGVyIGRlcmVmZXJlbmNlcyBpbiB0aGUgcHJvY2Vzc2luZyBsb29wCgkgIExvd2VycyB0aGUgdGltZSB0YWtlbiB0aGVyZSBpbiBteSB0ZXN0Y2FzZSBmcm9tIDYuOTElIHRvIDYuMjAlCgkgIGFzIG1lYXN1cmVkIGJ5IGNhbGxncmluZC4KCjIwMDktMTEtMTggMTY6Mzg6MzMgKzAxMDAgIHVua25vd24gPGhhdmFyZC5ncmFmZkAuZXUudGFuZGJlcmcuaW50PgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgdGhlIGN1cnJlbnRfc3NyYyBmcm9tIHRoZSBjYXBzCgkgIEZpeGVzICM2MDQxMDEKCjIwMDktMTItMDkgMTQ6NDI6MjEgKzAxMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbGVhc2UgcGFkcyB3aGVuIGRpc3Bvc2luZwoJICBCZWNhdXNlIG9mIGFuIGFsbG9jYXRlZCBwcml2IChHc3RSVFBNdXhQYWRQcml2YXRlKSwgdGhlIGVsZW1lbnQgd2lsbAoJICBsZWFrIG1lbW9yeSBpZiBub3QgZ3N0X3J0cF9tdXhfcmVsZWFzZV9wYWQoKSBpcyBjYWxsZWQuIFRoaXMgd291bGQKCSAgcHJldmlvdXNseSBvbmx5IGhhcHBlbiBpZiByZWxlYXNlX3JlcXVlc3RfcGFkKCkgd2FzIGNhbGxlZCBleHBsaWNpdGx5LAoJICBzb210aGluZyB0aGF0IHNob3VsZCBub3QgYmUgbmVjY2VzYXJ5LgoJICBGaXhlcyAjNjA0MDk5CgoyMDA5LTEyLTA5IDEzOjQwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIGR0bWZtdXg6IG1ldGhvZCBuYW1lIGNsZWFudXBzCgoyMDA5LTEyLTA5IDA5OjU3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wbGVtZW50IHNyY3BhZCBxdWVyeSBmdW5jdGlvbiB0byBhbHdheXMgZm9yd2FyZCB0byB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0xMi0wOSAwOTo1NTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFByb3h5IGJ1ZmZlciBhbGxvY2F0aW9uIG9uIHZpZGVvIHNpbmtwYWQgdG8gdGhlIHNyY3BhZAoJICAuLi5hbmQgYWRkIGdldGNhcHMgZnVuY3Rpb24gdG8gdGhlIHZpZGVvIHNpbmtwYWQuCgoyMDA5LTEyLTA5IDA5OjUxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wbGVtZW50IHNyY3BhZCBldmVudCBmdW5jdGlvbnMgZm9yIHNlZWtpbmcgYW5kIGNvcnJlY3QgZXZlbnQgZm9yd2FyZGluZwoJICBDb3BpZWQgZnJvbSB0ZXh0b3ZlcmxheS4KCjIwMDktMTItMDggMTc6NTk6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGMrKyBjb21tZW50cyBhbmQgYWRkIHNvbWUgbW9yZSBjb21tZW50cy4KCjIwMDktMTItMDggMTc6NTU6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBpbWEgYWRwY20gc3VwcG9ydAoKMjAwOS0xMi0wOCAxNzo1NToxMyAtMDgwMCAgU3RlcGhlbiBNY05hbWFyYSA8c3RldmUubWNuYW1hcmFAdWx0cmEtc21sLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBkb24ndCBsZWFrIGZpbHRlcl9tZWRpYV9ldmVudAoKMjAwOS0xMS0yMyAxNjozNDo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBmb3IgcGFyc2luZwoKMjAwOS0xMC0yOSAxNToxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBleHRyYWN0IGFuZCB1c2Ugc29tZSBtb3JlIGRldGFpbHMgZm9yIEVuaGFuY2VkIEFjLTMgc3RyZWFtcwoKMjAwOS0xMC0yOSAxNToxODozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGN1c3RvbSBidWZmZXJmbGFnIGluZGljYXRlcyBub3QgdG8gY291bnQgZnJhbWUgaW4gc3RhdHMKCjIwMDktMTAtMjggMTQ6MDg6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAwOS0xMC0yOCAxNDowNzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbmZvcm0gYmFzZSBwYXJzZXIgb2YgZnJhbWUgZHVyYXRpb24KCjIwMDktMTAtMjcgMTY6MTY6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBzcmMgY2FwcyBzZXR0aW5ncwoKMjAwOS0xMS0yNyAxNzo1OTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYWMzcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICBNQVJHSU5BTCByYW5rIGZvciBub3c7IG1pZ2h0IHRha2Ugc29tZSB0aW1lIGZvciBzb21lICh1c2VmdWwpCgkgIGZyYW1lZD10cnVlL2ZhbHNlIHRvIGFwcGVhciBoZXJlIGFuZCB0aGVyZS4KCjIwMDktMTEtMjYgMTg6MzQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMS0yNiAxODoxNToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSAnYWFjcGFyc2UnIHBsdWdpbiB0byBnZW5lcmljICdhdWRpb3BhcnNlcnMnIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvcGx1Z2luLmM6CgkgIGFhY3BhcnNlOiBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uIGFuZCByZW5hbWUgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgYmVmb3JlIGFjY2Vzc2luZwoKMjAwOS0xMS0wNSAxNDozMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMC0yOSAxNToxOTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeHVwIGNvbW1lbnRzIHRvIEMtc3R5bGUKCjIwMDktMTAtMjkgMTY6MDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlc2V0IHBhc3N0aHJvdWdoIG1vZGUgdG8gZGVmYXVsdCAoZGlzYWJsZWQpIG9uIGFjdGl2YXRpb24KCjIwMDktMTAtMjkgMTU6MTY6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUKCjIwMDktMTAtMjggMTQ6MDY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogZml4L2VuaGFuY2UgRElTQ09OVCBtYXJraW5nCgkgIEluIHBhcnRpY3VsYXIsIGNvbnNpZGVyIERJU0NPTlQgPT0gIXN5bmMsIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBxdWVyeQoJICBzeW5jIHN0YXRlLCBhcyBpdCBtYXkgd2FudCB0byBwZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIGRlcGVuZGluZwoJICBvbiB3aGV0aGVyIHN5bmMgd2FzIGFjaGlldmVkIGVhcmxpZXIgb24uCgkgIEFsc28gYXJyYW5nZSBmb3Igc3ViY2xhc3MgdG8gcXVlcnkgd2hldGhlciBsZWZ0b3ZlciBkYXRhIGlzIGJlaW5nIGRyYWluZWQuCgoyMDA5LTExLTIzIDE1OjQ4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCB0aW1lc3RhbXAgaGFuZGxpbmcsIGFuZCBkZWZhdWx0IGNvbnZlcnNpb24KCSAgSW4gcGFydGljdWxhciwgKG9wdGlvbmFsbHkpIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggYSBub3Rpb24gb2YgZnJhbWVzIHBlciBzZWNvbmQKCSAgKGFuZCB0aGVyZWZvcmUgYWxzbyBmcmFtZSBkdXJhdGlvbikgYW5kIGhhdmUgaXQgdHJhY2sgZnJhbWUgYW5kIGJ5dGUgY291bnRzLgoJICBUaGlzIHdheSwgc3ViY2xhc3MgY2FuIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggZnBzIGFuZCBoYXZlIGl0IHByb3ZpZGUgZGVmYXVsdAoJICBidWZmZXIgdGltZSBtZXRhZGF0YSBhbmQgY29udmVyc2lvbnMsIHRob3VnaCBzdWJjbGFzcyBjYW4gc3RpbGwgaW5zdGFsbAoJICBjYWxsYmFja3MgdG8gaGFuZGxlIHN1Y2ggaXRzZWxmLgoKMjAwOS0xMC0yOCAxMjowMjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAwOS0xMC0yOCAxMjowMDowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlX2ZpeGVkX2NhcHMgZm9yIHNyYyBwYWQKCSAgQWZ0ZXIgYWxsLCBzdHJlYW0gaXMgYXMtaXMsIGFuZCB0aGVyZSBpcyBsaXR0bGUgbW9sZGluZyB0byBkb3duc3RyZWFtJ3MKCSAgdGFzdGUgdGhhdCBjYW4gYmUgZG9uZS4gIElmIHN1YmNsYXNzIGNhbiBhbmQgd2FudHMgdG8gZG8gc28sIGl0IGNhbgoJICBzdGlsbCBvdmVycmlkZSBhcyBzdWNoLgoKMjAwOS0xMi0wOCAxNDo0NjozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogQWRkIGRvY3MgYW5kIGludGVncmF0ZSBpbnRvIHRoZSBkb2NzIGJ1aWxkIHN5c3RlbQoKMjAwOS0xMi0wOCAxNDowNjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEZvciBzeW5jaHJvbml6aW5nIHRoZSB0ZXh0LCB0YWtlIHRoZSB2aWRlbyBydW5uaW5nIHRpbWUgb2YgdGhlIG5leHQgZnJhbWUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgbGliYXNzIGFscmVhZHkgaGFzIGFsbCB0ZXh0IGJ1ZmZlcnMgZm9yIHRoZSBuZXh0IGZyYW1lCgkgIGF0IHRoZSB0aW1lIHdoZW4gdGhlIG5leHQgZnJhbWUgaXMgcHJvY2Vzc2VkLiBXaXRob3V0IHRoaXMgdGV4dCBidWZmZXJzCgkgIG1pZ2h0IGJlIG9uZSBmcmFtZSBsYXRlIG9yIG5vdCBzaG93biBhdCBhbGwgaWYgdGhleSdyZSBvbmx5IHNob3duIGZvciBhCgkgIHNpbmdsZSBmcmFtZS4KCjIwMDktMTItMDggMTE6MjY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggSTQyMCBtb2RlIGFuZCBlbmFibGUgaXQKCjIwMDktMTItMDggMTE6MjU6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBsaWJhc3MgdmVyc2lvbnMKCjIwMDktMTItMDcgMTA6MjE6MzIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBzcGVsbCB0aGluZ3MgbW9yZSBiZXR0ZXJlci4KCjIwMDktMTItMDcgMTA6MDk6MTkgLTA4MDAgIFN0ZXBoZW4gTWNOYW1hcmEgPHN0ZXZlLm1jbmFtYXJhQHVsdHJhLXNtbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IGFkZCB2aXJ0dWFsIGRlc3RydWN0b3IgZm9yIGludGVybmFsIGhlbHBlciBjbGFzcy4KCjIwMDktMTItMDcgMTg6MzU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEb24ndCB1bnJlZiBidWZmZXJzIHR3aWNlCgoyMDA5LTEyLTA3IDE4OjMwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBlbWJlZGRlZCBmb250IHVzYWdlCgkgIEZvciB0aGlzIGFkZCBzb21lIG5ldyBtaW1ldHlwZXMgYW5kIGFsc28gY2hlY2sgdGhlIGZpbGVuYW1lIGV4dGVuc2lvbi4KCSAgRml4ZXMgYnVnICM2MDM5MzguCgoyMDA5LTEyLTA3IDE4OjAzOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRGlzYWJsZSBJNDIwIHN1cHBvcnQgZm9yIG5vdywgaXQgZG9lc24ndCB3b3JrIHJlbGlhYmxlIHlldAoKMjAwOS0xMi0wNyAxNzowNDowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEFkZCBzdXBwb3J0IGZvciBJNDIwCgoyMDA5LTEyLTA3IDE1OjMxOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogT3B0aW1pemUgYmxpdCBmdW5jdGlvbiBhbmQgYWRkIHN1cHBvcnQgZm9yIGFsbCBvdGhlciBub24tYWxwaGEgUkdCIGZvcm1hdHMKCSAgQWxzbyBtYWtlIHN1cmUgdG8gbm90IHdyaXRlIGJlaGluZCBhcnJheSBib3VuZHMuCgoyMDA5LTEyLTA3IDE0OjM1OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGF0dGFjaG1lbnQgdGFnIGhhbmRsaW5nIGFuZCBtb3ZlIGl0IGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbgoJICAuLi50byBwcmV2ZW50IGNvZGUgZHVwbGljYXRpb24uCgoyMDA5LTEyLTA3IDE0OjI2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVXBkYXRlIHRleHQgbGFzdCBzdG9wIGFmdGVyIGNoZWNraW5nIGlmIHRpbWVzdGFtcC9kdXJhdGlvbiBpcyB2YWxpZAoKMjAwOS0xMi0wNyAxNDoyMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIGFuIEFTUyB0cmFjayB3YXMgYWxsb2NhdGVkIGFscmVhZHkgb25seSBmZWVkIG5ldyBjb2RlY19kYXRhIHRvIGl0IGluc3RlYWQgb2YgcmVjcmVhdGluZwoKMjAwOS0xMi0wNyAxNDowNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IExvdHMgb2YgcmFuZG9tIGNsZWFudXAgYW5kIHNvbWUgbWlub3IgbWVtbGVhayBmaXhlcwoKMjAwOS0xMi0wNyAxMzo0MDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEV4dHJhY3QgZW1iZWRkZWQgZm9udHMgZnJvbSB0aGUgc3VidGl0bGUgc3RyZWFtcyBpZiByZXF1ZXN0ZWQKCjIwMDktMTItMDcgMTM6MjY6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEb24ndCBsZXQgbGliYXNzIHByaW50IHN0dWZmIG9uIHN0ZGVyciBidXQgcHJveHkgdGhlIG1lc3NhZ2VzIHRvIHRoZSBHU3RyZWFtZXIgZGVidWdnaW5nIHN5c3RlbQoKMjAwOS0xMi0wNSAxMToyNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgYXBleHNpbms6IGNsZWFuIHVwIGFuZCBmaXggY29uZmlndXJlIGxvZ2ljIGFuZCBNYWtlZmlsZS5hbQoJICBDaGVjayBmb3Igb3BlbnNzbCBhbmQgbGliY3J5cHRvIHVzaW5nIHBrZy1jb25maWcgYW5kIGRvbid0IGJ1aWxkIHRoZQoJICBwbHVnaW4gaWYgdGhvc2UgYXJlIG5vdCBhdmFpbGFibGUuIEFsc28sIGZpeCB0aGUgQ0ZMQUdTL0xJQlMgb3JkZXIKCSAgaW4gTWFrZWZpbGUuYW0gYW5kIHVzZSB0aGUgZGV0ZWN0ZWQgTElCUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nCgkgIC1sY3J5cHRvIGluIHRoZSBNYWtlZmlsZS5hbS4gU2hvdWxkIGZpeCAjNjAxNDE3LgoKMjAwOS0xMi0wMSAxNTowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg3YmY0MjggdG8gNDdjYjIzYQoKMjAwOS0xMi0wMSAxNDowOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCBBR19HU1RfUExBVEZPUk0gZm9yIEdTVF9FWFRSQV9NT0RVTEVfU1VGRklYCgkgIFRoaXMgaXMgdXNlZCBpbiB0aGUgZnJlaTByIHBsdWdpbiBhbHJlYWR5IGJ1dCBuZXZlciBkZWZpbmVkIGFueXdoZXJlLgoJICBGaXhlcyBidWcgIzYwMjUyNC4KCjIwMDktMTItMDEgMTQ6MTc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYTRjNzVjIHRvIDg3YmY0MjgKCjIwMDktMTEtMjcgMTg6NTU6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDUzYTI0ODUgdG8gZGE0Yzc1YwoKMjAwOS0xMS0yNyAxNDozODowNCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkgIGNhbWVyYWJpbjogcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnRpZXMuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWxseSkKCSAgQWRkZWQgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgaW1wbGVtZW50ZWQKCSAgdGhlbSBpbiBjYW1lcmFiaW4uIENoYW5nZWQgem9vbWluZyB0byBjaGVjayBpZiB2aWRlby1zb3VyY2UgaGFzCgkgIHpvb20gcHJvcGVydHkuCgoyMDA5LTAyLTIzIDIzOjE4OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBBZGQgcGtnY29uZmlnIGZpbGVzIGZvciBwaG90b2dyYXBoeSBpbnRlcmZhY2UgbGlicmFyeS4KCjIwMDktMTAtMjggMTI6NDc6MTkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFkZCBmbGFncyBwcm9wZXJ0eS4gRml4ZXMgIzU3MzM3MCAocGFydGlhbGx5KQoJICBBZGRzIGZsYWdzIHByb3BlcnR5IHRvIGVuYWJsZSBydW50aW1lIGNvbmZpZ3VyYXRpb24gb2YKCSAgY29udmVyc2lvbiBhbmQgc2NhbGluZyBlbGVtZW50cy4gQWxzbyBhZGRzIGZsYWcgZm9yIGRpc2FibGluZwoJICBhdWRpbyBjb21wbGV0ZWx5LgoKMjAwOS0xMC0yNyAxNjoyODoyNSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSB0aW1lb3ZlcmxheSBidWlsZC10aW1lIGRlZmluaXRpb24KCjIwMDktMTEtMjYgMTU6MzM6MzIgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBmaXggYnVpbGQKCjIwMDktMTEtMjUgMjE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBsYWNlIF9zY2FsZSB3aXRoIF9zY2FsZV9yb3VuZAoJICBVc2UgdGhlIHJvdW5kaW5nIHZlcnNpb24gZm9yIGltcHJvdmVkIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoJICBTbWFsbCB2YXJpYXRpb25zIGluIHRoZSBkdXJhdGlvbiB3aGVuIG11eGluZyBtaWdodCBsZWFkIHRvCgkgIGN1bXVsbGF0aXZlIHdyb25nIHRpbWVzdGFtcGluZyB3aGVuIGRlbXV4aW5nLgoJICBGaXhlcyAjNjAyOTM2CgoyMDA5LTExLTI0IDE2OjE2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcHMgZm9yIG11eGluZwoJICBUcnkgdG8gdXNlIHRpbWVzdGFtcHMgZXZlbiB3aGVuIHRoZSBzdHJlYW0gaGFzIG91dCBvZiBvcmRlcgoJICB0aW1lc3RhbXBzLCBvbmx5IGZhbGwgYmFjayB0byBkdXJhdGlvbnMgd2hlbiB3ZSBkZXRlY3QgYW4KCSAgb3V0IG9mIG9yZGVyIGJ1ZmZlci4gSW1wcm92ZXMgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgoyMDA5LTExLTI0IDE0OjM0OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgbWV0YWRhdGE6IGZpeCBjbGFzc2lmaWNhdGlvbgoKMjAwOS0xMS0xOCAxMTozODo1MCArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgTWF0ZXUgPHhxdWVyYWx0QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRXhwb3NlIGxhbmcgY29kZXMgaW4gcG10CgoyMDA5LTExLTIyIDE5OjMwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogb3B0aW9uYWwgdHJhbnNmb3JtaW5nIGZyb20gYnl0ZXN0cmVhbSB0byBzYW1wbGUgZm9ybWF0IChvciB2aWNlIHZlcnNhKQoKMjAwOS0xMS0yMCAxODozMTozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlZmFjdG9yIGEgYml0IGludG8gYSByZXNldCBmdW5jdGlvbgoKMjAwOS0xMS0yMCAxODo0OTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHByb3ZpZGUgdy9oIGZyb20gc3RyZWFtIGluIHNyYyBjYXBzIGlmIG5vdCBpbiBzaW5rIGNhcHMKCjIwMDktMTEtMDYgMTI6NTg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwYXJzZSBTUFMgc29tZSBtb3JlIChlLmcuIGZvciB3aWR0aC9oZWlnaHQpCgoyMDA5LTExLTIyIDE5OjM0OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogb3B0aW9uYWxseSBvdXRwdXQgQVVzIHJhdGhlciB0aGFuIE5BTFVzCgkgIFRoYXQgaXMsIEFjY2VzcyBVbml0cyAoZnJhbWVzL2ZpZWxkcykgaW5zdGVhZCBvZiAocG9zc2libHkpIHBhcnRzIHRoZXJlb2YuCgoyMDA5LTExLTIzIDEwOjMyOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogcmVtb3ZlIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmMKCjIwMDktMTEtMjMgMDk6MzU6MzAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBwcmUtcmVsZWFzZT0+Z2l0CgoyMDA5LTExLTIzIDA5OjE3OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJICB2ZHBhdTogRml4IGluY2x1ZGVzCgoyMDA5LTExLTIyIDIyOjU0OjI3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogY29udmVydCB0byAxLzEgcGl4ZWwtYXNwZWN0LXJhdGlvIGZvciByZ2IgdG9vCgoyMDA5LTExLTIyIDIyOjM0OjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBpbnRlcnNlY3QgYWxsb3dlZCBjYXBzIHdpdGggb3VyIHRlbXBsYXRlIGNhcHMKCjIwMDktMTEtMjIgMjI6MzE6MzggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXU6IGZpeCBnc3RfdmRwX1t2aWRlb3x5dXZdX3RvX291dHB1dF9jYXBzIHRvIGFsc28gYWRkIHJnYiBjYXBzCgoyMDA5LTExLTIyIDIyOjMwOjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiB1c2UgR3N0VmRwVmlkZW9TcmNQYWQKCjIwMDktMTEtMjIgMjI6Mjk6NTggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSAgdmRwYXU6IGFkZCBmdW5jdGlvbnMgdG8gR3N0VmRwT3V0cHV0QnVmZmVyIG5lZWRlZCBmb3IgcmdiIGRvd25sb2FkCgoyMDA5LTExLTIyIDIyOjI4OjE4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgR3N0UGFkIHN1YmNsYXNzIEdzdFZkcE91dHB1dFNyY1BhZAoJICBHc3RWZHBPdXRwdXRTcmNQYWQgaXMgYSBzdWJjbGFzcyBvZiBHc3RQYWQgdGhhdCBpcyB1c2VkIGZvciBwdXNoaW5nIG91dAoJICBHc3RWZHBPdXRwdXRCdWZmZXJzLiBJdCB0YWtlcyBjYXJlIG9mIGNhcHMgbmVnb3RpYXRpb24gYW5kIGNvbnZlcnNpb24gdG8KCSAgdmlkZW8veC1yYXctcmdiLgoKMjAwOS0xMS0yMiAyMjoyNDoxMiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgZ3N0dmRwdmlkZW9zcmNwYWQ6IGFkZCAidGVtcGxhdGUtY2FwcyIgcHJvcGVydHkKCSAgVGhlIHByb3BlcnR5IGxpbWl0cyB0aGUgYXZhaWxhYmxlIG91dHB1dCBjYXBzCgoyMDA5LTExLTIyIDIyOjE4OjU1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkgIGdzdHZkcHZpZGVvYnVmZmVyOiBmaXggdHlwbwoKMjAwOS0xMS0yMSAwMjo1MTozOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgZ3N0dmRwdmlkZW9zcmNwYWQ6IHJlcGxhY2UgZ2V0X3BhZF90ZW1wbGF0ZSgpIHdpdGggZ2V0X3RlbXBsYXRlX2NhcHMoKQoKMjAwOS0xMS0yMSAwMToxMDo1MCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgZ3N0dmRwdmlkZW9zcmNwYWQ6IGRvbid0IHJlY3JlYXRlIGNhcHMgaW4gZ2V0Y2FwcwoKMjAwOS0xMS0yMSAwMDoxMzo0NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgR3N0UGFkIHN1YmNsYXNzIEdzdFZkcFZpZGVvU3JjUGFkCgkgIEdzdFZkcFZpZGVvU3JjUGFkIHRha2VzIGNhcmUgb2YgY2FwcyBuZWdvdGlhdGlvbiBhbmQgY29udmVyc2lvbiBvZgoJICBHc3RWZHBWaWRlb0J1ZmZlcnMgdG8gdGhlIG5lZ290aWF0ZWQgb3V0cHV0IGZvcm1hdC4KCjIwMDktMTAtMjcgMjI6MDQ6MTAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiByZXdvcmsgcHJlc2VudGF0aW9uIGJsb2NraW5nIGEgYml0CgkgIGluc3RlYWQgb2YgYmxvY2tpbmcgdW50aWwgdGhlIHByZXZpb3VzIHN1cmZhY2UgaGFzIGJlZW4gZGlzcGxheWVkLCB3ZSBuZXcgb25seQoJICBhZGQgc3VyZmFjZXMgdG8gdGhlIHF1ZXVlIGlmIGl0J3MgaWRsZS4KCjIwMDktMTAtMjcgMjE6MTg6MDQgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHNwbGl0IHVwIGNoYWluIGZ1bmN0aW9uCgoyMDA5LTEwLTI3IDIwOjU3OjA1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBpbXBsZW1lbnQgYmFzaWMgcW9zIGhhbmRsaW5nCgoyMDA5LTEwLTE2IDAwOjE2OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgZGlzcGxheSBwcm9wZXJ0eQoKMjAwOS0xMC0wOCAyMzozODoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSAgdmRwYXU6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDA5LTEwLTA4IDIwOjI1OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXU6IHVzZSBsb2NhbCBsaWJnc3R2ZHAgaGVhZGVycwoKMjAwOS0xMC0wOCAyMDoyMzozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbW92ZSBub3cgdW5uZWVkZWQgdmRwYXV2aWRlb3l1diBhbmQgdmRwYXV5dXZ2aWRlbyBlbGVtZW50cwoKMjAwOS0xMC0wOCAyMDoxOTo1NyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIGRpc3BsYXkgcHJvcGVydHkKCjIwMDktMTAtMDggMjA6MTM6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGFkZCBkZWJ1ZyBvdXRwdXQKCjIwMDktMTAtMDggMjA6MTM6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy15dXYgaW5wdXQKCjIwMDktMTAtMDcgMTA6MjU6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBzcmNfZ2V0Y2FwcyBmdW5jCgkgIHRoaXMgd2F5IHdlIGNhbiByZXR1cm4gb25seSB0aGUgY2FwcyB3ZSByZWFsbHkgc3VwcG9ydCwgc2luY2Ugd2UncmUgYWJsZSB0byBxdWVyeSB2ZHBhdQoJICBhYm91dCBpdAoKMjAwOS0xMC0wNyAwMDoxMzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgc3VwcG9ydCBmb3IgbmVnb3RhdGlvbiBvZiB4LXJhdy15dXYgb3V0cHV0CgoyMDA5LTEwLTA0IDE5OjI3OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogY3JlYXRlIGEgbGliZ3N0dmRwIGxpYnJhcnkuCgkgIFRoZSBsaWJyYXJ5IGNvbnRhaW5zIEdzdFZkcERldmljZSBHc3RWZHBWaWRlb0J1ZmZlciBhbmQgR3N0VmRwT3V0cHV0QnVmZmVyLiBUaGUKCSAgbGlicmFyeSB3aWxsIChhcGFydCBmcm9tIHRoZSBwbHVnaW5zIGhlcmUpIGJlIHVzZWQgYnkgdGhlIHVwY29taW5nIGdzdC1mZm1wZWcKCSAgdmRwYXUgc3VwcG9ydC4KCjIwMDktMTAtMDMgMTQ6MzA6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGNoZWNrIGZvciBzaW5rIGVsZW1lbnQgcmV0dXJuaW5nIHdyb25nIGJ1ZmZlciB0eXBlCgoyMDA5LTEwLTAyIDAxOjA0OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogcmVtb3ZlIHVubmVlZGVkIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2FkZF9yZWZlcmVuY2UgZnVuY3Rpb24KCjIwMDktMDktMjQgMjI6MjY6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBsb25nbmFtZQoKMjAwOS0xMS0yMiAxOTozMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICBDbGVhbiB1cCBMREZMQUdTLCBMSUJTLCBDRkxBR1MKCSAgRml4IG9yZGVyLCBmaXggdmFyaWFibGVzIHRoYXQgZG9uJ3QgZXhpc3QsIGxpa2UgR1NUX0xJQlNfTElCUywKCSAgdXNlICQoTElCTSkgaW5zdGVhZCBvZiAtbG0sIGFuZCBtb3ZlIF9MSUJTIGZyb20gTERGTEFHUyB0byBMSUJBREQuCgkgIFNwb3R0ZWQgYnkgSGF2YXJkIEdyYWZmLgoKMjAwOS0xMS0yMiAxOTowMjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkgIGNvZzogaW5jbHVkZSBvdXIgb3duIF9zdGRpbnQuaCBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4KCjIwMDktMTEtMjAgMTE6MTM6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBpbmNsdWRlIG91ciBvd24gX3N0ZGludC5oIG5vdCBzdGRpbnQuaAoKMjAwOS0xMS0yMSAxNzozMTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgIHJlc2luZHZkOiBSZW1vdmUgbG9jYWwgYmFzZXNyYyBjb3B5CgkgIFVzZSB0aGUgcmVhbCB2ZXJzaW9uIG9mIGJhc2VzcmMgaW5zdGVhZCBvZiBhIGxvY2FsIGNvcHkgbm93IHRoYXQgaXQKCSAgc3VwcG9ydHMgdGhlIHNlYW1sZXNzIHNlZ21lbnQgZmVhdHVyZSB0aGF0IHJlc2luIG5lZWRzLgoKMjAwOS0xMS0yMCAxMzo0MToyNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHMvaWNsZXM6IG1ha2UgY29nIHRlc3QgcHJvZ3JhbSBkZXBlbmQgb24gVVNFX0NPRy4gRml4ZXMgYnVpbGQgd2l0aG91dCBvcmMuCgoyMDA5LTExLTIwIDIwOjU1OjE1ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBjb252ZXJ0IHNvbWUgcGFyYW1zIHRvIGNvbnN0cyBpbiBvcmMgY29kZQoKMjAwOS0xMS0yMCAxNzozMzoyMSArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncy4KCjIwMDktMTEtMjAgMTc6MzI6NDQgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYW1ycGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMS0yMCAxNzozMjoxMyArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTExLTIwIDEwOjMxOjQ3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVzZSBfc3RkaW50LmggZnJvbSBjb25maWd1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0yMCAxMzoxMzozNiArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgY29nOiBBZGQgb3JjIHRlc3QgY29kZSBmb3IgY29nCgkgIEFsc28gbG9vayBmb3IgY29nLm9yYyBzb3VyY2UgZmlsZSBpbiB0aGUgcmlnaHQgcGxhY2UuCgoyMDA5LTExLTE5IDIwOjMzOjA3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVcGRhdGUgZHRtZmRldGVjdCB0byBtYWtlIGl0IE1TVkMgZnJpZW5kbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0xOSAxODoyODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgkgIEFkZHMgYSBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgoyMDA5LTExLTE5IDIzOjAxOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNldCB0aGUgYXVkaW8tY2hhbm5lbCBwb3NpdGlvbnMgYWdhaW4sIGJ1dCBub3cgaW4gX3NldHVwCgkgIFJlYWRkIHRoZSBjb2RlIHRoYXQgd2FzIHJldmVydGVkIGZvciB0aGUgcmVsZWFzZS4gV2Ugbm93IHNldCBhdWRpby1jaGFubmVsCgkgIHBvc2l0aW9ucyBpZiBhbnkgb24gdGhlIHBhZCBjYXBzIGFuZCBub3Qgb24gdGhlIHRlbXBsYXRlcy4KCjIwMDktMTEtMTkgMjI6NTk6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVtb3ZlIGNvbW1lbnRlZCBvdXQgY29kZSB0aGF0IHdlIGRvbid0IG5lZWQgYW55bW9yZQoKMjAwOS0xMS0xNyAwMDozOTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IG1ha2Ugc3RhdGUtY2hhbmdlIHRlc3QgdGltZW91dCBsb25nZXIgaWYgd3JhcHBlcnMgYXJlIGVuYWJsZWQKCSAgV2hlbiBsYWRzcGEgfHwgbHYyIGFyZSBlbmFibGVkIG9uZSBjb3VsZCBxdWlja2x5IGdldCB0byA1MDAgZWxlbWVudHMuCgoyMDA5LTExLTE3IDAwOjM3OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSAgcmVhbGF1ZGlvZGVjOiByZWluZGVudCBhbmQgbWFrZSB2YWxncmluZCBoYXBweQoJICBUaGUgc3RhdGUtY2hhbmdlIHRlc3RzIHJlcG9ydGVkIGFjY2VzcyB0byB1bmluaXRpYWxpemVkIG1lbW9yeS4KCjIwMDktMTEtMTYgMjI6MDc6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogb25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgZm9yIGNoZWNraW5nIHByZS1jb25kaXRpb25zCgkgIGdfcmV0dXJuXyogY2FuIGJlIGRpc2FibGVkLiBTdGlsbCB3ZSB3YW50IHRvIGNoZWNrIGZvciBmYWlsZWQgaW5zdGFuY2UgY3JlYXRpb24uCgoyMDA5LTExLTE2IDIyOjA1OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IG9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIGZvciBjaGVja2luZyBwcmUtY29uZGl0aW9ucwoJICBnX3JldHVybl8qIGNhbiBiZSBkaXNhYmxlZC4gU3RpbGwgd2Ugd2FudCB0byBjaGVjayBmb3IgZmFpbGVkIGluc3RhbmNlIGNyZWF0aW9uLgoKMjAwOS0xMS0xNiAyMTo1MjozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiByZW1vdmUgbGVmdC1vdmVyIGNvbW1lbnQKCjIwMDktMTEtMTYgMjE6NTA6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogY2hhbmdlIF9zZXR1cCB0byBwYXNzIHdob2xlIGNhcHMgYW5kIG5vdCBqdXN0IHNhbXBsaW5nX3JhdGUKCSAgVGhpcyBhbGxvd3MgdG8gZ2V0IHJpZCBvZiB0aGUgc2FtcGxpbmdfcmF0ZSB2YXJpYWJsZSBpbiB0aGUgYmFzZS1jbGFzcy4gQWxzbyBub3cKCSAgc3ViY2xhc3NlcyBjYW4gbW9kaWZ5IHRoZSBjYXBzIHRvIGFjdHVhbHkgbmVnb3RpYXRlLiBUaGlzIGlzIG5lZWRlZCB0byBlLmcuIHNldAoJICBhdWRpby1jaGFubmVsIHBvc2l0aW9ucy4KCjIwMDktMTEtMTkgMTE6MzY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGRlYnVnIHN0YXRlbWVudAoKMjAwOS0xMS0xOSAxMToxNDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuc3VyZSB3cml0YWJsZSBidWZmZXIgbWV0YWRhdGEgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAwOS0xMS0xOSAxMDozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA3MDJmZTEgdG8gNTNhMjQ4NQoKMjAwOS0xMS0xOCAyMDowNjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGltcHJvdmluZyBkZWJ1ZyBtZXNzYWdlcwoJICBJbXByb3ZlcyBkZWJ1ZyBtZXNzYWdlcyBmb3IgYXNmbXV4CgoyMDA5LTEwLTI5IDA4OjM2OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBTVlEzCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIFNWUTMgY29udGVudC4gVXN1YWxseSB0aGlzIGZvcm1hdAoJICBoYXMgZGVjb2RlciBpbmZvIHRoYXQgbXVzdCBiZSBwYXNzZWQgaW4gdGhlICdzZXFoJyBmaWVsZAoJICBpbiB0aGUgY2Fwcy4gSXQgaXMgYWxzbyBnb29kIHRvIGFkZCB0aGUgZ2FtYSBhdG9tIHRvIG1ha2UKCSAgcXVpY2t0aW1lIG5vdCBjcmFzaC4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xOCAxODowMDozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGpwMmsuYzoKCSAganAyazogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIE1BUkdJTkFMCgoyMDA5LTExLTE4IDE4OjAwOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSAgZ3NtOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxODowMDowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3Yi5jOgoJICBhbXJ3YmVuYzogUmFpc2UgcmFuayB0byBTRUNPTkRBUlkKCjIwMDktMTEtMTggMTc6NTk6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkgIGRpcmFjOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gTUFSR0lOQUwKCSAgV2UnbGwgcHJlZmVyIHRvIHVzZSBzY2hyb2VkaW5nZXIgaWYgYXZhaWxhYmxlLCBidXQgaW4gY2FzZSBpdCdzIG5vdCBhdmFpbGFibGUKCSAgd2Ugc3RpbGwgaGF2ZSB0aGUgbGliZGlyYWMgb3B0aW9uCgoyMDA5LTExLTE4IDE3OjU4OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gU0VDT05EQVJZCgoyMDA5LTExLTE4IDE3OjU4OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTc6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJICBtdmU6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1NzoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogUmFpc2UgcmFuayB0byBQUklNQVJZCgoyMDA5LTExLTE4IDEzOjQxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUgcmVxdWlyZW1lbnRzIHRvIDAuMTAuMjUuMSBhcyB3ZWxsCgkgIE1ha2UgaW1wbGljaXQgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA5LTExLTE3IDE2OjMxOjA5ICswMTAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkgIHNpZ25hbHByb2Nlc3NvcjogVXNlIGNvcnJlY3QgQ0ZMQUdTIGZvciB0aGUgc2lnbmFscHJvY2Vzc29yIGhlYWRlcnMgaW4gTFYyL0xBRFNQQQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB0aGUgaGVhZGVycyBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcmUgdGFrZW4gYW5kIG5vdAoJICBhY2NpZGVudGlhbGx5IGluc3RhbGxlZCBzeXN0ZW0gaGVhZGVycyBpbiB0aGUgY2FzZSBvZiBidWlsZGRpciE9c3JjZGlyLgoJICBGaXhlcyBidWcgIzYwMjE2MS4KCjIwMDktMTEtMTggMDM6MDk6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICByZXNpbmR2ZCwgZHZkc3B1OiBVc2UgbmV3IHN0aWxsLWZyYW1lIEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCSAgUmVwbGFjZSB0aGUgY3VycmVudCBjdXN0b20gRFZEIHN0aWxsLWZyYW1lIGV2ZW50cyB3aXRoIG5ldyBldmVudAoJICBjcmVhdGlvbi9wYXJzaW5nIEFQSSBmcm9tIGxpYmdzdHZpZGVvLgoKMjAwOS0xMS0xOCAwMjoxNjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidW1wIGdzdC1wbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yNS4xCgoyMDA5LTExLTE4IDAyOjA0OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBSZXZlcnQgImFpZmY6IERpc2FibGUgYWlmZiBtdXhlciBmb3IgdGhpcyByZWxlYXNlLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3NDI2YmU3MGZmYjExM2YwMmUzNzQwN2VhOTg5ZTYwYjYzOGIyZjAwLgoJICBSZS1lbmFibGUgdGhlIGFpZmYgbXV4ZXIgbm93IHRoYXQgZ3N0LXBsdWdpbnMtYmFkIDAuMTAuMTcgaXMgb3V0CgkgIGFuZCB3ZSBjYW4gcmVseSBvbiBnc3QtcGx1Z2lucy1iYXNlIGZyb20gZ2l0LgoKMjAwOS0xMS0xNyAxNzoyNToxNCAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IGhhbmRsZSBzdHJlYW1zIHdpdGggZGlmZmVyZW50IHN0YXJ0IHRpbWVzCgkgIFByZXZlbnRzIGxvc2luZyBzeW5jIHdoZW4gcmVtdXhpbmcgc3RyZWFtcyB3aXRoIGRpZmZlcmVudAoJICBzdGFydCB0aW1lcy4gVGhlIHNtYWxsZXN0IHN0YXJ0IHRpbWUgaXMgc2VsZWN0ZWQgYXMKCSAgdGhlIGJhc2UgdGltZSBhbmQgYWxsIHRpbWVzdGFtcHMgYXJlIHN1YnRyYWN0ZWQKCSAgZnJvbSBpdCB0byBnZXQgdGhlIGFjdHVhbCB0aW1lIHRvIGJlIHVzZWQgd2hlbgoJICBtdXhpbmcgYW5kIGJ1aWxkaW5nIGluZGV4ZXMKCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0xNyAwOToyNjowNSAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCBsZWFrIGEgc3RyaW5nCgkgIEZyZWVzIGEgc3RyaW5nIGFmdGVyIHVzZS4gQWxzbyBkb2VzIHNvbWUgY29kZSBvcmdhbml6YXRpb24KCjIwMDktMTEtMTYgMTQ6NTc6NTMgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBkbyBub3QgYWRkIHNpemUgdG8gdGhlIHBvaW50ZXIgdmFyaWFibGUKCSAgRG8gbm90IHdyb25nbHkgYWRkIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIHRvIHRoZQoJICBwb2ludGVyIHRvIHRoZSBidWZmZXIgc2l6ZS4gSW5zdGVhZCwgY2hlY2sgdGhlIHJlc3VsdAoJICB0byBzZWUgaWYgdGhlIHNlcmlhbGl6YXRpb24gd2FzIG9rLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAiQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+IgoJICBGaXhlcyAjNjAyMTA2CgoyMDA5LTExLTA2IDEwOjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogaGFuZGxlICdsYXRlJyBzdHJlYW1zCgkgIFdoZW4gbXV4aW5nIHN0cmVhbXMsIHNvbWUgY2FuIHN0YXJ0IGxhdGVyIHRoYW4gb3RoZXJzLiBxdG11eAoJICBub3cgaGFuZGxlIHRoaXMgYnkgYWRkaW5nIGFuIGVtcHR5IGVkdHMgZW50cnkgd2l0aCB0aGUKCSAgZHVyYXRpb24gb2YgdGhlICdsYXRlbmVzcycgdG8gdGhlIHN0cmVhbSdzIHRyYWsuCgkgIEl0IHRvbGVyYXRlcyBhIHN0cmVhbSB0byBiZSB1cCB0byAwLjFzIGxhdGUuCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMDUgMjE6MzU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJICBxdG11eDogYWRkcyB0aGUgRURUUyBhbmQgRUxUUyBhdG9tcyB0byBhdG9tcy5jCgkgIFRoZXNlIGF0b21zIHdpbGwgYmUgdXNlZnVsIGZvciBzaWduYWxpbmcgc3RyZWFtcwoJICB0aGF0IHN0YXJ0IGxhdGVyIGluIHRoZSBmaWxlLiBBcyB3ZWxsIGZvciBhZGRpbmcKCSAgZWRpdCBsaXN0cyBpZiBuZWVkZWQgc29tZXRpbWUgbGF0ZXIuCgoyMDA5LTExLTE3IDE3OjU5OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogZGVjb2RlIGFkcGNtIHdpdGhvdXQgZXhwbGljaXQgbGVuZ3RoLCBhcyBmb3VuZCBpbiBxdC4KCjIwMDktMTEtMTUgMDM6MjE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRm9yd2FyZCB0aGUgc3RpbGwgZnJhbWUgZXZlbnQgZG93bnN0cmVhbQoJICBGb3J3YXJkIHN0aWxsLWZyYW1lIGV2ZW50cyBkb3duc3RyZWFtIHNvIGVsZW1lbnRzIGxpa2UgZGVpbnRlcmxhY2UKCSAgY2FuIHVzZSB0aGVtLgoKMjAwOS0xMS0xNCAwMDozMToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBHdWFyZCBhZ2FpbnN0IGEgZGl2aWRlLWJ5LXplcm8gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDAyNjMKCjIwMDktMTEtMTggMDE6NDY6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTcuMQoKMjAwOS0xMS0xNyAwMTo1Mzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjE3IHJlbGVhc2UgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xNyA9PT0KCjIwMDktMTEtMTcgMDE6MjU6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNwoKMjAwOS0xMS0xNyAwMToxMzozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTEtMTUgMjE6NDY6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3Qgc2V0IGNoYW5uZWwgcG9zaXRpb25zIGluIHRlbXBsYXRlLWNhcHMsIEZpeGVzICM2MDE3NzUKCSAgUmV2ZXJ0IHRoZSBjaGFuZ2VzIHRoYXQgYWRkZWQgYXVkaW8gcG9zaXRpb25zIHRvIHRlbXBsYXRlIGNhcHMuIFdlIGhhdmUgYW4gdW4tCgkgIGZvcnR1bmF0ZSBsaW1pdGF0aW9uIGluIGNvcmUgdGhhdCBkb2VzIG5vdCBhbGxvdyB0byBkbyBpdC4gS2VlcCBhIGZldyB0aGluZ3MKCSAgY29tbWVudGVkIG91dCwgc28gdGhhdCB0aGUgY2hhbm5lbCBwb3NpdGlvbiBjYW4gbGF0ZXIgb24gYmUgc2V0IGluIHNldGNhcHMuCgoyMDA5LTExLTEzIDAyOjE4OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2t5LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3YucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4zIHByZS1yZWxlYXNlCgoyMDA5LTExLTExIDEwOjU4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBQb3J0IHRvIDAuNyBBUEkKCSAgRml4ZXMgYnVnICM2MDA3MjQuCgoyMDA5LTExLTExIDEwOjU0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBNYWtlIGNlbHQgdmVyc2lvbiBjaGVja3MgYmV0dGVyIGV4dGVuc2libGUKCjIwMDktMTEtMDkgMTk6MjA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjIgcHJlLXJlbGVhc2UKCjIwMDktMTEtMDkgMTk6MDg6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IERpc2FibGUgYWlmZiBtdXhlciBmb3IgdGhpcyByZWxlYXNlLgoJICBUaGUgYWlmZiBtdXhlciByZWxpZXMgb24gR3N0Qnl0ZVdyaXRlciBBUEkgYWRkZWQgYWZ0ZXIgMC4xMC4yNS4gRGlzYWJsZQoJICBpdCBmb3IgdGhpcyByZWxlYXNlLgoJICBSZXZlcnQgdGhpcyBjb21taXQgYWZ0ZXIgZ3N0LXBsdWdpbnMtYmFkIDAuMTAuMTcKCjIwMDktMTEtMDkgMTQ6MTA6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkgIGFzZm11eDogVW5jb21tZW50IC0tZGlzYWJsZS1zdGF0aWMgZmxhZwoJICBGb3Igc29tZSByZWFzb24gdGhhdCBsaWJ0b29sIGZsYWdzIGxpbmUgdGhhdCBwcmV2ZW50cyBidWlsZGluZwoJICB0aGUgc3RhdGljIGxpYiB3YXMgY29tbWVudGVkIG91dC4gUmVwb3J0ZWQgYnkgTWFydCBSYXVkc2VwcCBvbiBJUkMuCgoyMDA5LTExLTA5IDExOjQ5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlcyBhbmQgZml4IGEgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBkZmQ1MWFhODJhOWUxYzk5MjQzNzUxODM3OTZlYWI3MGU1NzRhMjMxLgoKMjAwOS0xMS0wOSAxMTo0ODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBNYWtlIHN1cmUgdGhhdCBydW5uaW5nX3RpbWUtPnRpbWVzdGFtcCBjYWxjdWxhdGlvbiBuZXZlciBiZWNvbWVzIG5lZ2F0aXZlCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGYzNjUzODU0NTg1ODY0YTA5ZDM1ZTAzNzg1MzQwNzMzMmVhNjkwMWYuCgoyMDA5LTExLTA5IDExOjQ4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSB0aGUgc3RhcnQgdGltZSAoaS5lLiB0aW1lc3RhbXApIGFzIHRoZSBsYXN0IHN0b3AKCSAgVXNpbmcgdGhlIGVuZCB0aW1lIG1ha2VzIGl0IGltcG9zc2libGUgdG8gcmVwbGFjZSBidWZmZXJzLCB3aGljaCBpcwoJICBhIGJpZyBwcm9ibGVtIGZvciBzdWJ0aXRsZXMgdGhhdCBjb3VsZCBoYXZlIHZlcnkgbG9uZyBkdXJhdGlvbnMuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDI3MDM0YmU0NjExMjMxY2M1NWZhM2QzZTI1M2JhYTQwYzZiZmY0MWQuCgoyMDA5LTExLTA5IDExOjQ3OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IEltcHJvdmUgZGVidWdnaW5nCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDA5LTExLTA3IDEyOjI5OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEZpeCBrbGFzcyAocy9EZWNvZGVyL0VuY29kZXIvKQoKMjAwOS0xMS0wNiAxNTozMToyNiArMDEwMCAgQ2hyaXMgSGlsbHMgPGNoYXpAY2hhejYuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgc3VwcG9ydCBmb3IgRFZCLVQvRFZCLUMgd2l0aCBEVkIgQVBJIDMuMwoKMjAwOS0xMS0wNiAxMTo0NDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFRoZSB0ZXh0IGFuZCB2aWRlbyBkdXJhdGlvbiBzaG91bGQgb25seSBjb21wYXJlZCBhcyBydW5uaW5nIHRpbWUgdG9vCgkgIFRoZSBlbmQgdGltZXMgb2YgdGhlIHRleHQgYW5kIHZpZGVvIGJ1ZmZlcnMgY291bGQgYmUgZGlmZmVyZW50IHRoYW4KCSAgdGhlaXIgc3RhcnQgcnVubmluZyB0aW1lICsgZHVyYXRpb24gYmVjYXVzZSBvZiBkaWZmZXJlbnQgcmF0ZXMuCgoyMDA5LTExLTA2IDA5OjE2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogTG93ZXIgdGlnZXIncyByYW5rIHRvIE5PTkUgYWdhaW4KCSAgSXQncyBub3Qgd2VsbCB0ZXN0ZWQgeWV0IGFuZCBkb2Vzbid0IGhhbmRsZSBzZWdtZW50cyBhbmQgdGV4dC92aWRlbwoJICBzeW5jaHJvbml6YXRpb24gcHJvcGVybHkgeWV0LiBBdXRvcGx1Z2dpbmcgaXQgd2lsbCBjYXVzZSBmYWlsdXJlcy4KCjIwMDktMTEtMDYgMDc6MTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZXNldCBzZWdtZW50cyBvbiBGTFVTSF9TVE9QIGV2ZW50cwoKMjAwOS0xMS0wNSAxNzo0MTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZGVidWdnaW5nCgoyMDA5LTExLTA2IDAwOjQ2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBzb21lIGlmcyBmb3IgcHJvdGVjdGlvbgoJICBBZGRpbmcgc29tZXMgaWZzIHRvIHByb3RlY3QgYWdhaW5zdCB3YXJuaW5nIGNvbmRpdGlvbnMKCSAgdGhhdCBtaWdodCBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlbGVtZW50IGlzIG5vdCBzYW5lCgkgIEZpeGVzICM2MDA4OTUKCjIwMDktMTEtMDUgMTM6NDA6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwcm9wZXJseSB1cGRhdGUgbmV3IHNlZ21lbnRzCgkgIFNjYWxldGVtcG8gd2FzIG1pc3NpbmcgYW4gdXBkYXRlIG9mICdzdG9wJyBpbgoJICBuZXcgc2VnbWVudCBwYXJhbWV0ZXJzIHdoZW4gcHVzaGluZyBpdCBkb3duc3RyZWFtLAoJICB3aGljaCBjYXVzZWQgZmlsZXMgdG8gZW5kIGVhcmxpZXIgd2hlbiByYXRlIDwgMS4KCSAgRml4ZXMgIzU5OTkwMwoJICBCYXNlZCBvbiBwYXRjaCBieTogQmFzdGlhbiBIZWNodCA8aGVjaHRiQGdtYWlsLmNvbT4KCjIwMDktMTEtMDUgMjM6MTc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHRpbWlkaXR5OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIyOjAzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIG15dGh0djogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo1ODozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NTE6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDc6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRpcmVjdGZiOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBhbHNhc3BkaWZzaW5rOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDE3OjEzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVXBkYXRlIGxhc3Qgc3RvcCBmb3IgdGhlIHN1YnRpdGxlcwoKMjAwOS0xMS0wNSAxNzowNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFN5bmNocm9uaXplIHRleHQgYW5kIHZpZGVvIGJ5IHRha2luZyB0aGUgcnVubmluZyB0aW1lIGluc3RlYWQgb2YgdGhlIHN0cmVhbSB0aW1lCgoyMDA5LTExLTA1IDE2OjQ0OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogS2VlcCB0cmFjayBvZiB0aGUgc3VidGl0bGUgc2VnbWVudHMKCjIwMDktMTEtMDUgMTY6NDE6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiB0aGUgdmlkZW8gc2VnbWVudCBpcyBub3QgaW4gVElNRSBmb3JtYXQgZG9uJ3QgYWNjZXB0IGl0CgoyMDA5LTExLTA0IDIyOjUyOjE5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGR0bWZkZXRlY3Q6IEFkZCBkdG1mZGV0ZWN0cyB0byBwbHVnaW5zIGRvY3MKCjIwMDktMTEtMDQgMjI6MTk6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBBZGQgRFRNRiB0b25lIGRldGVjdG9yCgkgIEl0IGxvb2tzIGF0IHJhdyBhdWRpbyBkYXRhIGFuZCBlbWl0cyBtZXNzYWdlcyB3aGVuIERUTUYgaXMgZGV0ZWN0ZWQuCgkgIFRoZSBkdG1mIGRldGVjdG9yIGlzIHRoZSBzYW1lIEdvZXJ0emVsIGltcGxlbWVudGF0aW9uIHVzZWQgaW4gRnJlZVN3aXRjaAoJICBhbmQgQXN0ZXJpc2suIEl0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLgoKMjAwOS0xMS0wNSAxMzo1Mzo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJldmVydCAiaW5wdXRzZWxlY3RvcjogdXNlIGdldF9jYXBzX3JlZmZlZCgpIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ5ZWM0Zjc5NmEwZTNmODhhODUxNzA4NzgyYzg1M2JhZjRiMDU3MjQuCgkgIFdlIGNhbid0IHVzZSB0aGlzIG5ldyBmdW5jdGlvbiB5ZXQuCgoyMDA5LTExLTA1IDEzOjI5OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogdXNlIGdldF9jYXBzX3JlZmZlZCgpCgoyMDA5LTExLTA1IDEzOjE3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRHJvcCB0b28gbGF0ZSB0ZXh0IGJ1ZmZlciBpbW1lZGlhdGVseQoJICBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBkcm9wIGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgb3IgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4ndCBoYW5kbGUgdGhlbS4KCjIwMDktMTEtMDUgMTI6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggcmFjZSBjb25kaXRpb24gdGhhdCByZXN1bHRzIGluIGEgZGVhZGxvY2sgb24gc2h1dGRvd24KCjIwMDktMTEtMDQgMjI6MjE6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogUmVqZWN0IGVtcHR5IGNhcHMKCjIwMDktMTEtMDQgMjI6MjE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogVXNlIGxvZyBsZXZlbCBmb3IgcmVwZWF0ZWQgZGVidWcgbWVzc2FnZXMKCjIwMDktMTEtMDQgMjA6MDU6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogQWxsb3cgZm9yIGFueSBzYW1wbGVyYXRlCgoyMDA5LTExLTA0IDIzOjMyOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBwcmV2aW91cyBjb21taXQ6IGVuc3VyZSB3ZSB0YWtlIGEgcmVmIG9uIHRoZSBmZWF0dXJlcwoKMjAwOS0xMS0wNCAxNToyMTo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIHJlc2luZHZkLGF1dG9jb252ZXJ0OiBBdm9pZCBkZXBlbmRpbmcgb24gMC4xMC4yNiBBUEkKCSAgV2FpdCB1bnRpbCBhZnRlciB0aGUgbmV4dCByZWxlYXNlIHRvIGJ1bXAgdGhlIGNvcmUgcmVxdWlyZW1lbnQuCgkgIFVudGlsIHRoZW4sIGRvbid0IHVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9jb3B5IGFuZAoJICBnc3RfcGFkX3BlZXJfZ2V0X2NhcHNfcmVmZWQuCgoyMDA5LTExLTAyIDE3OjA2OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgb2xkIGNvZGUgYW5kIG9ic29sZXRlIGNvbW1lbnRzCgkgIFJlbW92ZSBzb21lIGRpc2FibGVkIGNvZGUgcGF0aHMgYW5kIG9ic29sZXRlIEZJWE1FIGNvbW1lbnRzCgoyMDA5LTEwLTE0IDE1OjQ3OjI3IC0wNDAwICBHYWJyaWVsIE1pbGxhaXJlIDxnYWJyaWVsLm1pbGxhaXJlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZGVjIDogY2hhaW5fcGFyc2VfZGF0YSA6IGNoZWNrIHZhbGlkaXR5IG9mIHRpbWVzdGFtcCwgY3JlYXRlIGEgbmV3IG9uZSBpZiBuZWVkZWQgY2VsdGVuYyA6IGRlZmF1bHQgZnJhbWVzaXplIGlzIDQ4MCAgICAgICAgICAgc2V0Y2FwcyA6IGdldHMgZnJhbWVzaXplIGFuZCBzZXQgY2FwcyAgICAgICAgICAgZW5jX2NoYWluIDogc2V0cyBmcmFtZXNpemUgaW4gY2FwcyAgICAgICAgICAgQWRkZWQgZnJhbWUtc2l6ZSB0byBzdGF0aWMgY2FwcyBvZiBhdWRpby94LWNlbHQgICAgICAgICAgIFJlcGxhY2VkIEdTVF9ERUJVR19PQkpFQ1QgYnkgR1NUX0xPR19PQkpFQ1QgaW4gZW5jX2NoYWluICAgICAgICAgICBzZXRjYXBzOiBnZXQgZnJhbWUtc2l6ZSBmcm9tIGludCBpbnN0ZWFkIG9mIHN0cmluZyAgICAgICAgICAgc2V0Y2FwczogdXNlIGRlZmF1bHQgdmFsdWUgZm9yIGZyYW1lLXNpemUKCjIwMDktMTEtMDQgMTc6MTM6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBGaXggcG9pbnRlci1kaWZmZXJlbmNlcyBwcmludG91dAoJICBUaGVyZSBpcyB1bmZvcnR1bmF0ZWx5IG5vIEdfKl9GT1JNQVQgY29udmVyc2lvbiBzcGVjaWZpZXIgZm9yIGRpZmZlcmVuY2VzIG9mCgkgIHBvaW50ZXJzIGluIGdsaWIsIGFuZCB3ZSBjYW4ndCByZWx5IGVpdGhlciBvbiBhbGwgcGxhdGZvcm1zIGJlaW5nIDY0Yml0LgoJICBTbyBsZXQncyBqdXN0IGNhc3QgdGhlIGRpZmZlcmVuY2UgdG8gYSBnaW50IGFuZCBiZSBkb25lIHdpdGggaXQuCgoyMDA5LTExLTA0IDEzOjU1OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IERvbid0IGNyZWF0ZSBiYWNrdXAgLnBvIGZpbGVzCgkgIEFzIHdlbGwgYXMgcHJldmVudGluZyBjcmVhdGlvbiBvZiB1c2VsZXNzIGJhY2t1cCBmaWxlcywgaXQgd29ya3MKCSAgYXJvdW5kIGEgYnVnIGluIGdldHRleHQgMC4xNyBvbiBPUy9YCgoyMDA5LTExLTA0IDE1OjU3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICBjZGF1ZGlvOiBmaXggcHJvcGVydGllcwoJICBGaXggcHJvcGVydGllcyBhbmQgYWxsb3cgc2V0dGluZyB0aGUgZGV2aWNlIHByb3BlcnR5LgoKMjAwOS0xMS0wNCAxMzoxMTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFJldHVybiBXUk9OR19TVEFURSBmcm9tIHRoZSBzdWJ0aXRsZSBjaGFpbiB3aGVuIGZsdXNoaW5nCgoyMDA5LTExLTA0IDEzOjA3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVW5sb2NrIGFuZCBmcmVlIGFueSBwZW5kaW5nIHN1YnRpdGxlIGJ1ZmZlcnMgb24gRkxVU0hfU1RBUlQKCjIwMDktMTEtMDQgMTI6NTA6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBTeW5jaHJvbml6ZSBzdWJ0aXRsZSBidWZmZXJzIHdpdGggdGhlIHZpZGVvCgkgIEZpeGVzIGJ1ZyAjNjAwNjYyLgoKMjAwOS0xMS0wNCAwMDoyMToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogYWxzbyBhZGQgaW5saW5lIHRvIHRoZSBwcm90byB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTExLTA0IDAwOjE5OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGluY2x1ZGUgcXVhbGl0eSBhbmQgY2hlY2sgY291bnQsIGZpeGVzICM2MDA0NjEKCSAgV2UgcmVwb3J0IHRoZSByZWxhdGl2ZSBxdWFsaXR5IGluIHRoZSBtZXNzYWdlIGFuZCB3ZSBhbHNvIHVzZSB0aGUgY2FjaGUgdG8gc2tpcAoJICBlYXJseSBkZXRlY3RzIGFuZCBkb3VibGVzLgoKMjAwOS0xMS0wMyAxODoxNDoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGdzdDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHJlc3VsdGluZyB1bnVzZWQgdmFyaWFibGVzCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDhjZDFiNTIwOWI2ODk0NGUxYmU1NmNhOGJiNjllNDZkNGFiYjdhMzQuCgoyMDA5LTExLTAzIDE4OjEyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSB0aGUgc2FtZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGZ1bmN0aW9uIGFzIGluIGdzdC1wbHVnaW5zLWJhc2UKCjIwMDktMTEtMDMgMTg6MTE6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmVtb3ZlIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIHRoZXkncmUgcG9pbnRsZXNzCgkgIFRoZXJlJ3Mgbm90IG11Y2ggcG9pbnQgaW4gdXNpbmcgR1NUX0RFQlVHX0ZVTkNQVFIgd2l0aCBHT2JqZWN0CgkgIHZpcnR1YWwgZnVuY3Rpb25zIHN1Y2ggYXMgZ2V0X3Byb3BlcnR5LCBzZXRfcHJvcGVyeSwgZmluYWxpemUgYW5kCgkgIGRpc3Bvc2UsIHNpbmNlIHRoZXknbGwgbmV2ZXIgYmUgdXNlZCBieSBhbnlvbmUgYW55d2F5LiBTYXZlcyBhCgkgIGZldyBieXRlcyBhbmQgcG9zc2libHkgYSBzaXh0ZWVudGggb2YgYSBwb2xhciBiZWFyLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA2ZjRjMWFjNTgzNDFlZTE4OTIyNWQzMTNkZGZlOWFlMjRhNjVjODhjLgoKMjAwOS0xMS0wMyAxODowOTo1NSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZW1vdmUgUm9uYWxkIEJ1bHRqZSBmcm9tIEF1dGhvcnMgZmllbGQKCSAgUmVwbGFjZWQgd2l0aCAiR1N0cmVhbWVyIG1haW50YWluZXJzCgkgIDxnc3RyZWFtZXItZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIgb3IganVzdCByZW1vdmVkLAoJICBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBvdGhlciBhdXRob3JzLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCAwZTliYzUxMjVhY2E1NDZkNzczZWQxMDAyZGY1NzNkZDhlMmRjMTM2LgoKMjAwOS0xMS0wMyAxODowODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHNldCBvdXRwdXQgY2FwcyBiZWZvcmUgcHVzaGluZwoJICBTZXQgdGhlIG91dHB1dCBjYXBzIG9uIHRoZSBzcmNwYWQgYmVmb3JlIHB1c2hpbmcgdGhlIGJ1ZmZlciBiZWNhdXNlIGVsc2UgY29yZQoJICB3aWxsIGRvIGEgcmF0aGVyIGV4cGVuc2l2ZSBjaGVjayB0byBzZWUgaWYgd2UgY2FuIGFjdHVhbGx5IGFjY2VwdCB0aG9zZSBjYXBzIG9uCgkgIHRoZSBzcmNwYWQuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGJkZmI0YjQ2ZDc0NmVmMjk4ZmNmNDQyNjA4NzljMzQyYWY0Y2FmYTMuCgoyMDA5LTExLTAzIDE4OjA2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogaW5zdGFsbCBhbiBhY2NlcHRjYXBzIGZ1bmN0aW9uCgkgIEluc3RhbGwgYSBjdXN0b20gYWNjZXB0Y2FwcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IGV4cGVuc2l2ZQoJICBjaGVjay4gV2UgYWNjZXB0IHdoYXRldmVyIGRvd25zdHJlYW0gYWNjZXB0cyBzbyB3ZSBwYXNzIGFsb25nIHRoZSBhY2NlcHRjYXBzCgkgIGNhbGwgdG8gdGhlIGRvd25zdHJlYW0gcGVlci4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgNWI3MmYyYWRmOTk2NzM5MDM2ZThkOWI1ZjkxMDA1NDU1ZDFmZmFjZS4KCjIwMDktMTEtMDMgMTU6MDg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBNYWtlIHN1cmUgdGhhdCB0aWdlciBpcyBub3QgYXV0b3BsdWdnZWQgYnkgZGVjb2RlYmluMgoJICBJdCdzIG5vdCByZWFsbHkgYSBkZWNvZGVyLi4uCgoyMDA5LTExLTAzIDE0OjUwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogQ2hhbmdlIHJhbmtzIG9mIGthdGVkZWMgYW5kIHRpZ2VyIHRvIFBSSU1BUlkgdG8gYmUgYXV0b3BsdWdnZWQKCjIwMDktMTEtMDMgMTQ6NDk6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBDaGFuZ2UgbmFtZSBvZiB0aGUgc3VidGl0bGUgc2luayB0ZW1wbGF0ZSBhbmQgY2xhc3NpZmljYXRpb24KCSAgVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHN1YnRpdGxlb3ZlcmxheSBjYW4gd29yayB3aXRoIHRpZ2VyLgoKMjAwOS0xMS0wMiAxMTozMzoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIHJlc2luZHZkOiBUYWtlIGEgY29weSBvZiB0aGUgcGFzc2VkIHBsdWdpbiBmZWF0dXJlcwoJICBDbGFyaWZ5IHRoZSBvd25lcnNoaXAgb2YgdGhlIGludGVybmFsIHBsdWdpbiBmZWF0dXJlIGxpc3QgYnkgbWFraW5nCgkgIGEgY29weSBvZiBhbnkgcGFzc2VkIGxpc3QuIEF2b2lkcyBjcmFzaGVzIHdoZW4gZnJlZWluZyBhIHBhc3NlZCBsaXN0LAoJICBvciBsZWFrcyBjYXVzZWQgYnkgbm90IGZyZWVpbmcgYW55IGludGVybmFsbHkgYnVpbHQgbGlzdC4KCjIwMDktMTEtMDIgMTA6MjA6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYW4gb3ZlcnNpZ2h0IGZyb20gdXBkYXRpbmcgdGhlIGNvcHkgb2YgYmFzZXNyYwoJICBQbHVnaW5zIG5lZWQgZ3N0LWkxOG4tcGx1Z2luLmgsIG5vdCBnc3QtaTE4bi1saWIuaAoKMjAwOS0xMS0wMSAxNTo1Njo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IHJlbW92ZSBwb2ludGxlc3MgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkKCjIwMDktMTEtMDEgMjM6MTc6MDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogVXNlIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpCgkgIFdoZW4gc3dpdGNoaW5nIHRvIGEgbmV3IHNlYW1sZXNzIHNlZ21lbnQsIHVzZSB0aGUgbmV3CgkgIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpIGZ1bmN0aW9uLCBiZWNhdXNlIGVsZW1lbnRzIGNhbid0CgkgIHNlbmQgdGhlbXNlbHZlcyBzZWVrIGV2ZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwOS0xMS0wMSAyMzoxNjoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgcmVzaW5kdmQ6IEFkZCBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKSB0byBHc3RCYXNlU3JjIGNvcHkKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHRoZSBpbnRlcm5hbCBjb3B5IG9mIEdzdEJhc2VTcmMgZm9yIHN0YXJ0aW5nIGEgbmV3CgkgIHNlYW1sZXNzIHNlZ21lbnQuCgoyMDA5LTExLTAxIDE5OjIxOjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuaDoKCSAgcmVzaW5kdmQ6IFVwZGF0ZSB0aGUgYmFzZSBzb3VyY2UgY29weQoJICBUaGlzIGJyZWFrcyBzZWFtbGVzcyBzZWdtZW50IHVwZGF0ZXMsIGNhdXNpbmcgZGVhZGxvY2tzLAoJICB0byBiZSBmaXhlZCBpbiBzdWJzZXF1ZW50IGNvbW1pdHMuCgoyMDA5LTExLTAyIDAyOjQ4OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBGaXggUEdTIHdpbmRvdyBwYXJzaW5nCgkgIEZpeCBhIHByb2JsZW0gaW50cm9kdWNlZCBpbiB0aGUgbGFzdCBQR1MgcGFyc2luZyBwYXRjaCBieSBza2lwcGluZwoJICB0aGUgd2luZG93IGNvdW50IGJ5dGUgYWZ0ZXIgcmVhZGluZyBpdC4KCjIwMDktMTEtMDEgMjA6NDI6NDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZjogZml4IGFpZmZwYXJzZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSBuYW1lCgkgIEZpeGVzIG1pc3Npbmcgc3ltYm9sIHdoZW4gY29tcGlsaW5nIHdpdGggZGVidWdnaW5nLCBzaW5jZSB0aGlzIGlzIG5vdyBpbiBzeW5jCgkgIHdpdGggdGhlIHBsdWdpbl9pbml0IGluIGFpZmYuYy4KCjIwMDktMTEtMDEgMjA6NDE6MDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IGluaXQgcGx1Z2luIGRlYnVnIGNhdGVnb3J5CgkgIEZpeGVzIGFzc2VydGlvbiAob3IgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgd2l0aCBESVNBQkxFX05MUykuCgoyMDA5LTEwLTMxIDE5OjQyOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBhZGQgYWlmZiBlbGVtZW50cyB0byBkb2NzCgoyMDA5LTEwLTMxIDE5OjM3OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGdyYXR1aXRpb3VzIGNsZWFuLXVwczogY2Fub25pY2FsaXNlIGZ1bmN0aW9uIG5hbWVzLCBzdHJ1Y3RzIGFuZCBkZWZpbmVzCgoyMDA5LTEwLTMxIDE3OjUwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBlbmFibGUgbmV3IGFpZmYgbXV4ZXIKCSAgRml4ZXMgIzU5ODc2MyBldmVuIG1vcmUuCgoyMDA5LTEwLTE3IDIyOjU4OjAzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSAgYWlmZjogYWRkIGJhc2ljIEFJRkYgbXV4ZXIKCSAgRml4ZXMgIzU5ODc2My4KCjIwMDktMTAtMzEgMTc6MjU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogcmVtb3ZlIHVudXNlZCBpbmNsdWRlcyBhbmQgZml4IGZsYWdzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgkgIEFsc28gcmVtb3ZlIEdTVF9QTFVHSU5TX0JBU0VfTElCUyBmcm9tIExJQkFERCBzaW5jZSB3ZSBkb24ndAoJICBuZWVkIHRvIGxpbmsgYWdhaW5zdCBhbnkgb2YgdGhlIC1iYXNlIGxpYnMgKHdlIGp1c3QgdXNlIGEgZGVmaW5lCgkgIGZyb20gdGhlIGdzdGF1ZGlvIGhlYWRlcnMpLgoKMjAwOS0xMC0zMSAxNzoyMDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIHBvL1BPVEZJTEVTLmluOgoJICBhaWZmOiByZW5hbWUgJ2FpZmZwYXJzZScgcGx1Z2luIHRvICdhaWZmJwoKMjAwOS0xMC0wOCAxOTowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZm11eCBsb2NraW5nCgoyMDA5LTA5LTI4IDE5OjU0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0IGZvciBydHBtdXgKCjIwMDktMDktMjggMTM6MzY6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgaWdub3JlIHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAwOS0xMC0yOSAxNjo0MjozNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBHU1RfUExVR0lOU19CQVNFX3tDRkxBR1MsTElCU30gZm9yIGNhbWVyYWJpbiB0ZXN0cy4KCjIwMDktMTAtMjkgMTY6MzQ6MjMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSAgb3N4dmlkZW9zcmM6IGNoYW5nZSBhIC5tIGZpbGUgY29udGFpbmluZyBvbmx5IEMgY29kZSB0byBhIC5jIGZpbGUuIE1ha2VzIGJ1aWxkaW5nIHRoaXMgZWFzaWVyLgoKMjAwOS0xMC0yNyAyMjowODo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3Qgc2VuZCBuZXctc2VnbWVudCB3aXRoIHN0YXJ0IHRpbWUgPT0gLTEKCSAgV2hlbiBzZW5kaW5nIG5ldy1zZWdtZW50IHRvIGEgc3RyZWFtLCBlbnN1cmUgdGhhdCB0aGVyZSBpcyBlaXRoZXIgYSB2YWxpZAoJICBQQ1IsIG9yIGVsc2Ugd2FpdCB1bnRpbCB0aGVyZSdzIGEgUFRTIG9uIHRoZSBzdHJlYW0gKGRyb3BwaW5nIHBhY2tldHMgaWYKCSAgbmVlZGVkKSBpbiBvcmRlciB0byBhdm9pZCBnZW5lcmF0aW5nIGFuIGludmxhaWQgbmV3LXNlZ21lbnRzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MTYxCgoyMDA5LTEwLTI4IDE2OjIyOjEzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXNlIHJhdyBhdWRpby92aWRlbyBpbiB1bml0IHRlc3RzCgkgIFJlbW92ZXMgZGVwZW5kZW5jeSB0byBvZ2cvdm9yYmlzL3RoZW9yYSB3aGVuIHJ1bm5pbmcgY2FtZXJhYmluCgkgIHVuaXQgdGVzdHMuCgoyMDA5LTEwLTI4IDE3OjM3OjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2sKCjIwMDktMTAtMjcgMTQ6MzE6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBnbGliIGRvZXNuJ3QgcmVsaWFibHkgbnVsbC10ZXJtaW5hdGUgd2lkZS1jaGFyYWN0ZXIgZW5jb2RpbmdzIGluIGdfY29udmVydCwgc28gd3JpdGUgdGhlIG51bGwtdGVybWluYXRvciBzZXBhcmF0ZWx5IGFuZCBleHBsaWNpdGx5LgoKMjAwOS0xMC0xOCAxNDoyMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBmaXggcGFkIGRpcmVjdGlvbiBmb3IgdW5ncm91cGVkIHBvcnRzCgkgIENsYXNzaWMgY29weSduJ3Bhc3RlIGJ1Zy4KCjIwMDktMTAtMjcgMTY6Mzc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBmaXggdGFnIHdyaXRpbmcgYnVnCgkgIGdfY29udmVydCBzZWVtcyB0byBhZGQgYSBzaW5nbGUgbnVsbCB0ZXJtaW5hdGluZyBieXRlIHRvCgkgIHRoZSBlbmQgb2YgdGhlIHN0cmluZywgZXZlbiB3aGVuIHRoZSBvdXRwdXQgaXMgVVRGMTYsIHdlCgkgIGZvcmNlIHRoZSBzZWNvbmQgMCBieXRlIHdoZW4gY29weWluZyB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBpc3N1ZSB3YXMgY2F1c2luZyByYW5kb20gY3Jhc2hlcyBiZWNhdXNlIGl0IHdhcwoJICBhc3N1bWVkIHRoYXQgdGhlIHN0cmluZyByZXN1bHRpbmcgZnJvbSBnX2NvbnZlcnQgaGFkCgkgIDIgZXh0cmEgYnl0ZXMsIGJ1dCBpdCBoYXMgb25seSBvbmUuCgoyMDA5LTEwLTI3IDExOjUxOjA1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgUmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBmcm9tIG5vbi1leGVjdXRhYmxlIGZpbGVzLgoKMjAwOS0xMC0yNyAwMDoyMjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGV4dHJhIG5ldy1zZWdtZW50IGluIHJzbnN0cmVhbXNlbGVjdG9yLiBTZW5kIGRpc2NvbnQuCgkgIEFsbCB0aGUgaW5wdXQgcGFkcyBmb3IgdGhlIHJlc2luIHN0cmVhbSBzZWxlY3RvcnMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsCgkgIGFuZCByZWNlaXZlL3NlbmQgdGhlIHNhbWUgc2VnbWVudCBpbmZvLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc2VuZCBhCgkgIHNlZ21lbnQgd2hlbiBzd2l0Y2hpbmcgYW5kIGFjdGl2YXRpbmcgYSBkaWZmZXJlbnQgcGFkLiBSZW1vdmluZyBpdCBtYWtlcwoJICBvbi10aGUtZmx5IGF1ZGlvIHRyYWNrIHN3aXRjaGluZyB3b3JrIHByb3Blcmx5LgoJICBBZnRlciBzd2l0Y2hpbmcgYXVkaW8gdHJhY2ssIG1hcmsgdGhlIG5leHQgYnVmZmVyIGRpc2NvbnQuCgoyMDA5LTEwLTI2IDIwOjU1OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEF2b2lkIGEgZGVhZGxvY2suIEltcHJvdmUgY2hhcHRlciBzZWVrLgoJICBBdm9pZCBhIHBvdGVudGlhbCBkZWFkbG9jayB0aGF0IGhhcHBlbnMgd2hlbiBhIGNhbGwgdG8KCSAgZ3N0X2Nsb2NrX2lkX3dhaXRfYXN5bmMoKSBpbW1lZGlhdGVseSBjYWxscyB0aGUgY2FsbGJhY2suCgkgIEltcHJvdmUgcHJldmlvdXMgY2hhcHRlciBzZWVraW5nIHNsaWdodGx5IGJ5IGF2b2lkaW5nICdzZWdtZW50CgkgIHN0YXJ0ICE9IC0xJyBhc3NlcnRpb25zIHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMgY2hhcHRlciBhbmQKCSAgdGhlIHNlZWsgdGhlcmVmb3JlIGZhaWxzLgoKMjAwOS0xMC0yNiAxMjoxOTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJlc2luZHZkOiBsb3dlciBhIGRlYnVnIG1lc3NhZ2UgdG8gbG9nIGxldmVsLgoKMjAwOS0xMC0yNiAxMTowMDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgYSBrZXlwcmVzcyBtYXBwaW5nIGZvciBzd2l0Y2hpbmcgYXVkaW8gdHJhY2sKCSAgRm9yIGRlYnVnZ2luZyBwdXJwb3NlcywgbWFrZSBrZXlzIDEtOCBzd2l0Y2ggYXVkaW8gdHJhY2suCgoyMDA5LTEwLTI0IDEyOjU0OjE5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFkZCBhIHNpbXBsZSB1bml0IHRlc3QKCSAgU2V0IHVwIGFuIGF1dG9jb252ZXJ0IHdpdGggMiBmYWN0b3JpZXMsIGFuZCBjaGVjayB0aGF0IGl0IGNhbiBzd2l0Y2gKCSAgYmV0d2VlbiB0aGVtIHdoZW4gdGhlIGNhcHMgY2hhbmdlLgoKMjAwOS0xMC0yNCAxNDoyOTozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogU2V0IHRoZSBuZXcgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBvbiBhdXRvY29udmVydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI0IDEyOjM4OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBTdXBwb3J0IGluc3RhbGxpbmcgaWRlbnRpdHkgYXMgdGhlIGluaXRpYWwgY2hpbGQKCSAgQWRkIHRoZSAnaW5pdGlhbC1pZGVudGl0eScgcHJvcGVydHksIHdoaWNoIGluc2VydHMgaWRlbnRpdHkgZm9yCgkgIGF0IHN0YXJ0dXAgZm9yIGV2ZW50IHBhc3NpbmcsIGFuZCByZXBsYWNlcyBpdCB3aXRoIGEgbmV3IGNoaWxkCgkgIHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciAoYW5kIGNhcHMpIGFjdHVhbGx5IGFycml2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjQgMTE6MTg6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IENhY2hlIGluY29taW5nIG5ldyBzZWdtZW50IGV2ZW50cyBhbmQgcHVzaCB0byBjaGlsZHJlbi4KCSAgQ2FjaGUgaW5jb21pbmcgbmV3LXNlZ21lbnQgaW5mby4KCSAgV2hlbiBpbnN0YWxsaW5nIGEgY2hpbGQgZWxlbWVudCwgaW5mb3JtIGl0IG9mIHRoZSBjdXJyZW50IHNlZ21lbnQgaW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNiAwMDo0MTo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgc29tZSBkZWJ1ZyBpbiBmYWN0b3J5IGNhcHMgaW50ZXJzZWN0aW9uCgoyMDA5LTEwLTI0IDExOjA1OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFNpbXBsZSBmaXhlcy4KCSAgRnJlZSB0aGUgcGx1Z2luIGZlYXR1cmUgbGlzdCBvbiBkaXNwb3NlLgoJICBPdXRwdXQgYSBkZWJ1ZyBtZXNzYWdlIHdoZW4gZG93bnN0cmVhbSByZXR1cm5zIGEgZmF0YWwgZmxvdyByZXN1bHQKCSAgRml4IGF3a3dhcmQgd29yZGluZyBpbiBhIGRlYnVnIHdhcm5pbmcuCgoyMDA5LTEwLTI0IDEwOjI3OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEdyYXR1aXRvdXNseSBtb3ZlIEdTVF9PQkpFQ1RfTE9DSyBpbnRvIGEgbWFjcm8KCSAgQ3JlYXRlIEdTVF9BVVRPQ09OVkVSVF9MT0NLL1VOTE9DSyBtYWNyb3MgdGhhdCAoZm9yIG5vdykganVzdCBjYWxsCgkgIEdTVF9PQkpFQ1RfTE9DSy4KCjIwMDktMTAtMTUgMTM6MzI6MzIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBkZWZpbml0aW9ucyBmb3IgZGVmYXVsdCB2YWx1ZXMKCSAgTWFrZXMgY2hhbmdpbmcgdGhlIGRlZmF1bHRzIGVhc2llciBhbmQgbW9yZSBmb29sLXByb29mIGluIHRoZSBmdXR1cmUuCgkgIEZpeGVzICM1OTg1NTIKCjIwMDktMTAtMTUgMTM6MTc6NDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IENoYW5nZSBkZWZhdWx0IEFBQyBQcm9maWxlIHRvIExvdyBDb21wbGV4aXR5IChMQykgYXMgdGhpcyBpcyBtb3JlIHdpZGVseSBzdXBwb3J0ZWQKCjIwMDktMTAtMTUgMTM6MTU6NDAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IENoYW5nZSB0aGUgcGFyYW1fc3BlYyBkZWZhdWx0IHZhbHVlIGZvciBhbGxvd2VkIGJsb2NrIHR5cGVzIHRvIG1hdGNoIHRoZSBnc3RfZmFhY19pbml0IHZhbHVlIG9mICdub3JtYWwnIGFzIHRoaXMgaXMgYmV0dGVyCgoyMDA5LTEwLTIwIDEwOjU3OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hlY2sgd2lkdGgvaGVpZ2h0IHJhbmdlCgkgIENoZWNrcyBpZiB0aGUgd2lkdGgvaGVpZ2h0IHRoYXQgYXJlIHRvIGJlIHNldCBvbiBzcmMgcGFkIGNhcHMKCSAgYXJlIHdpdGhpbiB2YWxpZCByYW5nZSBvZiBbMTYsNDA5Nl0KCjIwMDktMTAtMTYgMTA6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgZ3BwbXV4OiBBZGQgc3VwcG9ydCBmb3IgM2dyNgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjaHVuayBkdXJhdGlvbnMgdG8gYmUgYWJsZSB0byBhZGQgM2dyNgoJICBicmFuZCBpZiBpdCBpcyBhIGZhc3RzdGFydCBmaWxlIGFuZCB0aGUgbG9uZ2VzdCBjaHVuayBpcwoJICBzbWFsbGVyIHRoYW4gYSBzZWMuIEltcGxlbWVudGVkIGFjY29yZGluZyB0byAzZ3BwCgkgIFRTIDI2LjI0NCB2Ni40LjAgKDIwMDUtMDkpCgkgIEZpeGVzICM1ODQzNjEKCjIwMDktMTAtMTUgMjE6MTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHB1c2ggZnR5cCBsYXRlciAoaW4gZmFzdHN0YXJ0IG1vZGUpCgkgIEluIGZhc3RzdGFydCBtb2RlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgdGhlIGZ0eXAKCSAgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLiBXYWl0aW5nIGFuZCBzZW5kaW5nIGl0CgkgIG9ubHkgbGF0ZXIgKHdoZW4gdGhlIG1vb3YgYXRvbSBpcyByZWFkeSB0byBiZSBzZW50KSBwcm92aWRlcwoJICB1cyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSBhbmQgd2UgY2FuIGJldHRlcgoJICBzZWxlY3QgdGhlIGNvbXBhdGlibGUgYnJhbmRzLgoKMjAwOS0xMC0xNSAxNzo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEltcHJvdmUgZXJyb3IgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBnZXQgb3IgZXN0aW1hdGUgdGhlCgkgIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiBhIGJ1ZmZlcgoKMjAwOS0xMC0yNiAwMDo0MjoxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQ29tbWl0IGJ1bXBlZCB2ZXJzaW9uIG51bWJlcgoKMjAwOS0xMC0yNCAxNjozMToyNiAtMDQwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW46IGZpeCBidWlsZAoKMjAwOS0xMC0xOSAxNTo1NDoyOSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3IgZ3N0cmVhbWVyIGNvcmUgdW5pdCB0ZXN0IGZyYW1ld29yayB1cGRhdGUKCSAgU2V0IGNhbWVyYWJpbiBzdGF0ZSB0byBOVUxMIGluIHRoZSBlYWNoIHRlc3QgY2FzZSBlbmQuCgoyMDA5LTEwLTE5IDE0OjU0OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGFiYnJldmlhdGlvbnMgZnJvbSB0aGUgcHJvcGVydHkgbmFtZXMuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWx5KQoJICBBbHNvIHJlbmFtZSB0aGVpciB1c2UgaW4gdGVzdHMgYW5kIGV4YW1wbGVzLgoKMjAwOS0xMC0xNiAxMTo1MDoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSBnc3QtZ2xpYi1nZW4ubWFrIHRvIGZpeCB0aGUgZ2xpYiBidWlsZCBydWxlcy4KCSAgVGhlIGJ1aWxkIHJ1bGVzIGluIGdsaWItZ2VuLm1hayB3ZXJlIHVzaW5nIHBhdHRlcm4gcnVsZXMgaW4gYSBub24gc2F2ZSB3YXkuCgoyMDA5LTEwLTE2IDExOjIxOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBtb3JlCgoyMDA5LTEwLTE1IDE3OjQ1OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogc2V0IGNhbWVyYWJpbiB0byBSRUFEWSBiZWZvcmUgYWNjZXNzaW5nIHRoZSBlbGVtZW50cwoKMjAwOS0xMC0xNCAxNzo0Mjo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiB1c2UgR19ESVJfU0VQQVJBVE9SX1MgaW5zdGVhZCBvZiBoYXJkY29kZWQgc2xhc2hlcwoKMjAwOS0xMC0xNSAxNzoxNzo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNsZWFudXBzCgkgIEFsaWduIGVsZW1lbnQgaW5pdGlhbGlzYXRpb24uIFRoaXMgc2hvdWxkIGJlIHJlLXRob3VnaHQsIGdfb2JqZWN0X25ldyB6ZXJvcyB0aGluZ3MgYWxyZWFkeS4KCSAgSGFybW9uaXplIHRoZSBlbGVtZW50IGdldHRlcnMgZm9yIHRoZSBzcmMvc2lua3MgdG8gcmV0dXJuIHdoYXQgd2UgYWN0dWFseSB1c2UuCgoyMDA5LTEwLTE1IDE2OjQxOjEyICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogaW1wbGVtZW50IHZpZGVvIHByZXZpZXcgY3JlYXRpb24KCSAgQ29tcGxldGVzIHByZXZpZXcgY3JlYXRpb24gbWVjaGFuaXNtIHRvIGJlIGFibGUgdG8gcHJvdmlkZSBhIHByZXZpZXcKCSAgaW1hZ2UgZm9yIHZpZGVvIGNsaXBzIHRvby4KCjIwMDktMTAtMTUgMTY6MTU6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGNhbWVyYWJpbiBkZWZhdWx0IHNvdXJjZXMvc2lua3MgbGlrZSBpbiBwbGF5YmluMi4gRml4ZXMgIzU3NDQzNAoJICBUaGlzIHVzZXMgc2FtZSBhcHByb2FjaCBsaWtlIGluIHBsYXliaW4sIG5hbWVseSBjaGVja2luZyBmb3IgdXNlciBkZWZpbmVkCgkgIGVsZW1lbnQsIGF1dG97YXVkaW8sdmlkZW99e3Npbmssc3JjfSBhbmQgZmluYWxseSBERUZBVUxUX3tBVURJTyxWSURFT317U1JDLFNJTkt9CgkgIGRlZmluZXMgZnJvbSBjb25maWcuaC4KCjIwMDktMTAtMTUgMTU6NTk6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZG9uJ3QgcmVmZXJlbmNlIGZyZWVkIHBvaW50ZXIgd2hlbiBidWlsZGluZyBwb3J0bmFtZXMKCjIwMDktMTAtMDggMTU6MTg6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIGNvbG9yIG1hdHJpeCB0byBSR0ItPllDYkNyIGNvbnZlcnNpb24KCjIwMDktMTAtMDggMTQ6MzM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIGNvbG9yIG1hdHJpeCBzZWxlY3Rpb24gdG8gY29nY29sb3JzcGFjZQoJICBFdmVudHVhbGx5IGhvb2sgaXQgdXAgdG8gY2FwcyB2aWEgZ3N0dmlkZW8KCjIwMDktMTAtMDggMTM6MjQ6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nOiBJbXByb3ZlIFJHQjwtPllDYkNyIG1hdHJpeGluZwoJICBZQ2JDci0+UkdCIG5vdyBoYXMgYSAnYml0cycgc2V0dGluZywgd2hpY2ggY29udHJvbHMgdGhlIG51bWJlcgoJICBvZiBiaXRzIHVzZWQgZm9yIHRoZSBtYXRyaXggY29lZmZpY2llbnRzLiAgQ2hvaWNlcyBhcmUgNiBvciA4LgoJICA2IGlzIGxvdyBxdWFsaXR5LCBidXQgZmFzdGVyLgoJICBSR0ItPllDYkNyIG5vdyB3b3Jrcy4gIEFsd2F5cyB3b3JrcyBpbiA4IGJpdCwgc2luY2UgaXQncyB0aGUgc2FtZQoJICBzcGVlZCBhcyA2IGJpdC4KCjIwMDktMTAtMDggMTM6MjM6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBBWVVWIHVucGFja2luZwoKMjAwOS0xMC0wNyAxNjozMDoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogaGFja2luZyB0byBpbXByb3ZlIG1hdHJpeCBxdWFsaXR5CgoyMDA5LTEwLTI0IDIwOjMzOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFuZCBiYWNrIHRvIGRldmVsb3BtZW50IHdlIGdvCgo9PT0gcmVsZWFzZSAwLjEwLjE2ID09PQoKMjAwOS0xMC0yMyAyMzoxNjo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE2CgoyMDA5LTEwLTIzIDIzOjE1OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMC0yMyAxMTowMDo1MyArMDMwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIEZpeCBzdGFydC9zdG9wIHR5cG8KCjIwMDktMTAtMjMgMTA6NDg6MjUgKzAxMDAgIFRob21hcyBHcmVlbiA8dG9tNzg5OTlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gYnVpbGQgbmVvbmh0dHBzcmMgd2l0aCBsaWJuZW9uLTI5LngKCSAgRml4ZXMgIzU5OTMzMi4KCjIwMDktMTAtMjMgMTA6MTg6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVc2UgZ3VpbnQ2NCBpbnN0ZWFkIG9mIHVpbnQ2NF90LiBGaXhlcyAjNTk5MzU1CgoyMDA5LTEwLTIyIDE0OjAwOjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgUmV2ZXJ0ICJkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2siCgkgIGdzdC1wbHVnaW5zLWJhZCBpcyBzdGlsbCBmcm96ZW4gZm9yIGdlbmVyYWwgY29tbWl0cy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZTQxMzE5MjZmMjcyNmZlOGZlZTVjMzlkZDkzNTdmMTQ3NjRkMGNiLgoKMjAwOS0xMC0yMiAxNDoyNjozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrCgoyMDA5LTEwLTIyIDExOjQzOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWdwc211eDogc29tZSBtaW5vciBidWlsZCBmaXhlcwoJICBDTEZBR1MgLT4gQ0ZMQUdTLCBhbmQgZml4IG9yZGVyIG9mIHZhcmlhYmxlcyB3aGlsZSB3ZSdyZSBhdCBpdC4KCjIwMDktMTAtMjIgMDA6NTA6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVGFrZSB0aGUgb2JqZWN0IGxvY2sgZmV3ZXIgdGltZXMKCSAgV2hlbiBzdGFydGluZyB1cCBhbmQgY3JlYXRpbmcgdGhlIGxpc3Qgb2YgZWxlbWVudCBmYWN0b3JpZXMsIG9ubHkKCSAgdGFrZSB0aGUgb2JqZWN0IGxvY2sgdHdpY2UgaW5zdGVhZCBvZiAzIHRpbWVzLgoKMjAwOS0xMC0yMSAyMzowNjo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGVuIHB1c2hpbmcKCSAgV2hlbiBwdXNoaW5nIG91dCBjYWNoZWQgZXZlbnRzLCBkb24ndCBob2xkIHRoZSBvYmplY3QgbG9jay4gQXZvaWRzCgkgIGRlYWRsb2NrcyBzdGFydGluZyB1cCBEVkQgcGxheWJhY2suCgoyMDA5LTEwLTIyIDExOjEwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBmYWFjOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBGaXhlcyBidWcgIzU5OTI3Mi4KCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA5LTEwLTIxIDE3OjE0OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbGVhc2UgMC4xMC4xNQoKMjAwOS0xMC0yMSAxNjo1MTowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTAtMTYgMTQ6Mzc6MDIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBhY3R1YWxseSB3cml0ZSBpbWFnZSB0byBBUElDIHRhZy4KCjIwMDktMTAtMTYgMTI6MzA6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjQgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTYgMTE6NTM6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgZGlzdDogSW5jbHVkZSB2ZHBzaW5rLmggaW4gdGhlIHRhcmJhbGwgdG8gZml4IHRoZSBkaXN0LgoKMjAwOS0xMC0xNiAxMTowODowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBVc2UgZ3N0X2J1ZmZlcl9yZWYvdW5yZWYsIG5vdCBnc3Rfb2JqZWN0X3JlZi91bnJlZgoJICBwcm9wZXJseSBmaXhlczogIzU5ODI3NAoKMjAwOS0xMC0xNiAwMToyNjoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBVc2UgZ3N0X3BhZF9wZWVyX2FjY2VwdF9jYXBzIGluc3RlYWQgb2YgZ3N0X3BhZF9zZXRfY2Fwcy4KCSAgZ3N0X3BhZF9zZXRfY2FwcyBvbiB0aGUgaW50ZXJuYWwgc291cmNlIHBhZCBhbHdheXMgc3VjY2VlZHMsIGJlY2F1c2UKCSAgY2FwcyBwcm9wYWdhdGUgdG8gdGhlIHBlZXIgd2l0aCBidWZmZXJzLCBub3QgaW1tZWRpYXRlbHkuIFVzaW5nCgkgIGdzdF9wYWRfcGVlcl9hY2NlcHRfY2FwcyBwcm9wZXJseSBjaGVja3Mgd2hldGhlciB0aGUgYWN0dWFsCgkgIHN1Yi1lbGVtZW50IGNhbiBhY2NlcHQgY2FwcyB3aGVuIHRoZXkgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE2IDAxOjA5OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlLXNlbmQgYXVkaW8gc3RyZWFtIHNlbGVjdCBvbiByZS1jb25maWd1cmF0aW9uCgkgIFdoZW4gdGhlIGxheW91dCBvZiB0aGUgYXVkaW8gc3RyZWFtcyBjaGFuZ2VzLCByZS1zZW5kIHRoZSBjdXJyZW50CgkgIGF1ZGlvIHN0cmVhbSBzZWxlY3Rpb24gZXZlbnQsIGluIG9yZGVyIHRvIHRyaWdnZXIgc3dpdGNoaW5nIHRvIHRoZQoJICBuZXcgc3RyZWFtIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE2IDAwOjUwOjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhIHNtYWxsIGZsYXcgLSBpZiBhbnkgYXVkaW8gc3RyZWFtIGV4aXN0cywgdXNlIGl0CgkgIERvbid0IGNyZWF0ZSBhIGR1bW15IGF1ZGlvIHN0cmVhbSBpZiBvbmx5IG5vbi1BQzMgdHJhY2tzIGV4aXN0LgoKMjAwOS0xMC0xNiAxMDoxNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NWQxNTMwIHRvIDA3MDJmZTEKCjIwMDktMTAtMTUgMjM6NDg6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjMgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTQgMTE6MDY6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBkZWNvZGVyIHBhZCB0ZW1wbGF0ZSB0byBhbGxvdyBMUENNCgkgIFRoZSBwYWQgdGVtcGxhdGUgaW4gdGhlIG5ldyBzd2l0Y2hpbmcgZGVjb2RlciBpcyB0b28gcmVzdHJpY3RpdmUsCgkgIHByZXZlbnRpbmcgdGhlIExQQ00gZGVjb2RlciBmcm9tIGJlaW5nIHNlbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE0IDEwOjQxOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhM2UzY2U0IHRvIDg1ZDE1MzAKCjIwMDktMTAtMTMgMTM6MDU6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBEb24ndCBsZWFrIGEgcmVmZXJlbmNlIHRvIHRoZSBwYXJlbnQgaW4gcnNuYXVkaW9tdW5nZQoJICBEb24ndCBsZWFrIGEgcmVmZXJlbmNlIHRvIHRoZSBwYWQgcGFyZW50IGluIHRoZSBzaW5rIHBhZCBldmVudCBoYW5kbGVyCgkgIGluIHJzbmF1ZGlvbXVuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTgyNjMKCjIwMDktMTAtMTMgMTM6MDQ6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogRml4IHJlZmVyZW5jZSBsZWFrIG9uIGFsbCBpbnB1dCBidWZmZXJzIGluICdkdmQgbW9kZScKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODI3NAoKMjAwOS0xMC0xMyAxNjowMToyNiArMDIwMCAgUGV0ZXIgQ2hyaXN0b2ZmZXJzZW4gPGdub21lLWJ1Z3ppbGxhQHBseXQuZGs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQyOiBEb24ndCBsZWFrIGVsZW1lbnQgcmVmZXJlbmNlIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGJ1ZyAjNTk4MTM5LgoKMjAwOS0xMC0xMiAxNDoyNzo1NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xMiAxMjoyOTo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXhlcyB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTIgMDk6MDY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGVuc3VyZSBzZWd0b3RhbCBpcyBhdCBsZWFzdCAyCgkgIE5vdCBvbmx5IGFkanVzdCBidWZmZXItdGltZSBhbmQgYXZvaWQgc2VndG90YWw9MCwgYnV0IGluc3RlYWQgZW5zdXJlIHNlZ3RvdGFsIGlzCgkgIGF0bGVhc3QgMi4gRG8gc2FtZSBjaGFuZ2Ugb24gamFja3NyYy4gV2UgY291bGQgYWxzbyBjaGVjayB0aGUgbGF0ZW5jeSBhbmQgYnVmZmVyCgkgIHRpbWUgY29uZmlndXJlZCBieSB0aGUgY2xpZW50IGFuZCBhZGp1c3QgYnVmZmVyLXRpbWUgc28gdGhhdCB3ZSBnZXQgdG8gdGhlIHNhbWUKCSAgbnVtYmVyIG9mIHNlZ21lbnRzLgoKMjAwOS0xMC0xMiAwMDo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiBkb24ndCBjcmFzaCBpbiByaW5nYnVmZmVyIHdpdGggU0lHRlBFIG9uIHNtYWxsIGJ1ZmZlci10aW1lcwoJICBKYWNrIG92ZXJyaWRlcyB1c2VyLXNwZWNpZmllZCBsYXRlbmN5LXRpbWUgd2l0aCB0aGUgb25lIGl0IGdldHMgZnJvbSBqYWNrCgkgIGl0c2VsZi4gSXQgYWxzbyBuZWVkcyB0byBhZGp1c3QgYnVmZmVyLXRpbWUgc29tZXdoYXQgdG8gYXZvaWQgc2VndG90YWwgYmVpbmcgMAoKMjAwOS0xMC0xMSAyMjoxMDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogaW5pdCB2YXJpYWJsZXMKCSAgbWV0YWRhdGFtdXhfZXhpZl9nZXRfZXhpZl9mcm9tX3RhZygpIGRvZXMgbm90IG5lY2Nlc2FyaWx5IGluaXQgdGhlIHBhc3NlZAoJICB2YXJpYWJsZXMuCgoyMDA5LTEwLTAzIDIxOjM1OjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSB0aGUgdHlwZSBkZWZpbmUgbGlrZSBldmVyeXdoZXJlIGVsc2UKCjIwMDktMTAtMDMgMjE6MzE6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcnQ6IHJlZ2lzdGVyIGRlYnVnIGNhdGVnb3J5IGp1c3Qgb25jZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgdHJ5aW5nIHRvIHJlZ2lzdGVyIGl0IGZvciBldmVyeSBzdWJjbGFzcy4KCjIwMDktMTAtMTEgMTQ6MTA6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IGZpeGVzIHdhcm5pbmdzIG9uIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTQ6MDI6MjYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm9lZGluZ2VyOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo1Njo0MyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSAgbWV0YWRhdGE6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjUxOjU4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGZpeGVzIHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo0NjowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogZml4IHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzoxMzo1NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6MDc6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMjo1NjoyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MzU6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToyNzowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYW1ycGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjIyOjExICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MTQ6MTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW86IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTA5IDEzOjE4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGFzc3JlbmRlci9kdmRzcHU6IEluY3JlYXNlIHJhbmtzIHRvIFBSSU1BUlkKCjIwMDktMTAtMDkgMDk6MTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBJbmNsdWRlIFN1YlBpY3R1cmUgaW4gdGhlIGNsYXNzaWZpY2F0aW9uCgoyMDA5LTEwLTA5IDA5OjE4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBjbGFzc2lmaWNhdGlvbiBhIGJpdCBtb3JlIGFjY3VyYXRlCgkgIENoYW5nZSBmcm9tICJGaWx0ZXIvRWZmZWN0L1ZpZGVvIiB0byAiTWl4ZXIvVmlkZW8vT3ZlcmxheS9TdWJ0aXRsZSIKCjIwMDktMTAtMDggMTk6NTE6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogYWRkIHVuaXQgdGVzdAoKMjAwOS0xMC0wOCAxMTowMDo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOWZhNGYzIHRvIGEzZTNjZTQKCjIwMDktMTAtMDcgMTY6Mjk6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvOiByZW1vdmUgdW51c2VkIGluY2x1ZGUgb2YgbGlib2lsLmgKCjIwMDktMTAtMDcgMTU6NDM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogZG9uJ3QgY29weSB0cmFpbGluZyBOVUxMIG9mIHN0cmluZ3MgaW4geG1wIG1ldGFkYXRhCgkgIEFsc28gdXNlaW5nIGdfc3RyZHVwLCBmaXhlcyB0aGUgbWFsbG9jIDwtPiBnX2ZyZWUgbWlzbWF0Y2guCgoyMDA5LTEwLTA3IDE1OjI2OjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGJ1aWxkOiBmcHJpbnRmLCBzcHJpbnRmLCBzc2NhbmYgbmVlZCBzdGRpby5oCgoyMDA5LTA5LTE4IDE4OjQ1OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIG1pbWljIGVsZW1lbnRzCgoyMDA5LTA5LTE4IDE3OjQ3OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVtb3ZlIGludmFsaWQgdG9kbwoKMjAwOS0xMC0wNiAxODozNjoxNSArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IElnbm9yZSBlbXBoYXNpcyBvbi9vZmYgYnl0ZXMsIGFuZCBkbyBmYWxsYmFjayBzdHJpbmcgZW5jb2RpbmcuCgkgIEZvciBmYWxsYmFjaywgdHJ5IElTTyA4ODU5LTkgZW5jb2RpbmcgaWYgSVNPIDY2MzcgZmFpbGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBjYWxscy4KCjIwMDktMTAtMDUgMTc6MDQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogdmFyaW91cyBmaXhlcwoJICAtIFdvcmsgYXJvdW5kIEJhc2VFbmNvZGVyIGJ1ZyBub3QgdHJhY2tpbmcgZnJhbWUgaW5kZXggZWFybHkuCgkgIC0gRml4IGNvbnZlcnNpb24gb2YgVVlWWSwgWVVZMiwgQVlVViB0byBpbnRlcm5hbCBmb3JtYXQuCgoyMDA5LTEwLTA1IDE2OjE2OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogUmV2ZXJ0ICJDYWxsIEdzdEJhc2VWaWRlb0VuY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGMwODdiY2IwNzJkY2M5ODQ3YjExYzAwMTIzY2Y5M2M1ZTU0MWRjYi4KCSAgVGhlIHJldmVydGVkIGNvbW1pdCBjaGFuZ2VzIHRoZSBvcmRlciB0aGF0IHNldF9mb3JtYXQoKSBhbmQgc3RhcnQoKQoJICBhcmUgY2FsbGVkLCB3aGljaCBpcyBpbmNvcnJlY3QuICBUaGUgY29ycmVjdCBvcmRlciBpcyBzZXRfZm9ybWF0KCksCgkgIHN0YXJ0KCksIGhhbmRsZV9mcmFtZSgpLi4uLCBzdG9wKCkKCjIwMDktMTAtMDUgMTM6MzM6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGcmVlIGZyYW1lIHVzaW5nIHV0aWxpdHkgZnVuY3Rpb24KCjIwMDktMTAtMDUgMjE6MTE6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IEZpeCBjYXBzIHVubGlua2VkIG5lZ290aWF0aW9uCgkgIG1vdmUgY2FwcyByZWxhdGVkIGNvZGUgdG8gZ3N0X2RpcmFjX2VuY19zZXRfZm9ybWF0LCBhbmQKCSAgdXNlIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlIHRvIGdldCBhbGxvd2VkIGNhcHMgd2hlbiB0aGVyZSBpcwoJICBubyBwZWVyIHBhZC4KCjIwMDktMTAtMDUgMTk6NDk6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLCB1c2UgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGb3IgbmVnb3RpYXRpb24sIHVzZSB0aGUgc291cmNlIHBhZCBwYWQgdGVtcGxhdGUgd2hlbiBpdCBkb2Vzbid0CgkgIGhhdmUgYSBwZWVyLgoKMjAwOS0xMC0wNSAxNTo0Nzo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogRmFpbCBpZiBjYXBzIGRvbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUgZmllbGQKCSAgUmV0dXJuIGZhbHNlIGZyb20gdGhlIGNhcHMgcGFyc2luZyBmdW5jdGlvbiBpZiB0aGVyZSBpcyBubyBmcmFtZXJhdGUKCSAgZmllbGQgaW4gdGhlIHByb3ZpZGVkIGNhcHMKCjIwMDktMTAtMDUgMTE6MTU6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBXcml0ZSBVVEYtMTYgYnl0ZSBvcmRlciBtYXJrZXIgY29ycmVjdGx5LgoKMjAwOS0xMC0wNSAxNjozOTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBtb3ZlIGNhcHMgcmVsYXRlZCBjb2RlIHRvIGdzdF9zY2hyb19lbmNfc2V0X2Zvcm1hdC4KCjIwMDktMTAtMDUgMTU6Mjg6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3RrLXgxMSBleHBsaWNpdGx5LgoJICBGaXhlcyB0aGUgYnVpbGQgb24gT1NYIGlmIGd0aystcXVhcnR6IGlzIGluc3RhbGxlZC4KCjIwMDktMTAtMDUgMTU6MjY6MTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCBjb21waWxhdGlvbiB3YXJuaW5nIHdpdGggZ2NjLTQuMi4KCjIwMDktMTAtMDUgMTE6NDc6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIEFkZCBmYWFjIHRlc3QgYmluYXJ5IHRvIHRoZSBnaXQgaWdub3JlcwoKMjAwOS0xMC0wNSAxMTo0NzowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0NYWEZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHRvIHB1bGwgaW4gbG9jYWwgZ3N0LWxpYnMgaW5jbHVkZXMuCgkgIE1vdmUgdGhlIEdTVF9DWFhGTEFHUyBhbmQgR1NUX0NGTEFHUyB0byB0aGUgc3RhcnQgb2YgdGhlIGluY2x1ZGVzIHNldAoJICB0byBwdWxsIGluIHRoZSBsb2NhbCBnc3QtbGlicyBmcm9tIHRoZXJlIGZpcnN0LCBpbnN0ZWFkIG9mIGxpc3RpbmcKCSAgaXQgZXhwbGljaXRseS4KCjIwMDktMTAtMDUgMTE6MDI6MTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUyBhbmQgTERGTEFHUyBmb3IgZGlyYWMvc2Nocm9kaW5nZXIKCSAgSW5jbHVkZSB0aGUgbG9jYWwgaGVhZGVycyBhbmQgbGlicyBiZWZvcmUgb25lcyBvdXRzaWRlIHRoaXMKCSAgbW9kdWxlLgoKMjAwOS0xMC0wMiAxNjozNTowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgZGlyYWM6IGNvbnZlcnQgdG8gQmFzZVZpZGVvRW5jb2RlcgoKMjAwOS0wOS0yNyAxNDoyNTozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBoYWNraW5nCgkgIEFkZCBSR0IgdG8gWUNiQ3IgbWF0cml4aW5nCgkgIEFkZCB0aW55IGNvbG9yIG1hbmFnZW1lbnQgc3lzdGVtIChDTVMpIGZvciB2aWRlbwoJICBBZGQgcXVhbGl0eSBsZXZlbCBmb3IgY29sb3JzcGFjZQoKMjAwOS0wOS0yNSAxODoxNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IHJlc2V0IGNhY2hlIGluc3RlYWQgb2YgcmV0dXJuaW5nIE5VTEwKCSAgUmV0dXJuaW5nIE5VTEwgbWFrZXMgdGhpbmdzIGNyYXNoLiAgUmVzZXR0aW5nIHRoZSBjYWNoZQoJICBtYWtlcyB0aGluZ3MgcnVuIHNsb3cuICBTdGlsbCBhbiB1bmRlcmx5aW5nIGJ1ZyBzb21ld2hlcmUsCgkgIGJ1dCBub3QgY3JpdGljYWwuCgoyMDA5LTA5LTIzIDEzOjE3OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBIYW5kbGUgbG9va2FoZWFkLCBkaXNjb250CgoyMDA5LTEwLTAyIDE5OjA4OjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBidWlsZDogYWRkIG1pc3Npbmcgc3RkbGliIGluY2x1ZGUgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMC0wMiAxNDoyNTo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBBZGQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c2V0X3NpbmtfY2FwcyB2ZnVuYy4KCjIwMDktMTAtMDIgMTI6NDA6MDIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgQ2FsbCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uCgoyMDA5LTEwLTAxIDE2OjA2OjAyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIERvbid0IGlnbm9yZSB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzZXRfZm9ybWF0LgoKMjAwOS0xMC0wMSAxNjoxMjoxNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIEZpeCBzY2hyb2VuYyBmb3IgcmVmY291bnQgY2hhbmdlIGluIEdzdEJhc2VWaWRlb0VuY29kZXIuCgoyMDA5LTEwLTAxIDE1OjUwOjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIFVucmVmIGZyYW1lLT5zaW5rX2J1ZmZlciBpbiBnc3RfYmFzZV92aWRlb19lbmNvZGVyX2ZpbmlzaF9mcmFtZQoKMjAwOS0xMC0wMSAxNjoxMTo0NiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIE1ha2UgZ3N0X3NjaHJvX2VuY19oYW5kbGVfZnJhbWUgcmV0dXJuIEdzdEZsb3dSZXR1cm4uCgoyMDA5LTEwLTAxIDE2OjI2OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIE1ha2UgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6aGFuZGxlX2ZyYW1lIHJldHVybiBHc3RGbG93UmV0dXJuCgoyMDA5LTEwLTAxIDE2OjI0OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIENhbGwgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLgoKMjAwOS0xMC0wMiAxMjowNDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgRml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDktMTAtMDIgMTM6MDI6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBwb3N0IGEgbWVzc2FnZSBpbnN0ZWFkIG9mIHByaW50aW5nIHRoZSBjb2RlIHRvIHN0ZG91dAoJICBEb2NtZW50IHRoZSBtZXNzYWdlIGZvcm1hdCB0aGF0IHdlIHNlbnQuIEFkZCBhIHByb3BlcnR5IHRvIHR1cm4gbWVzc2FnZSBzZW5kaW5nIG9mZi4KCjIwMDktMTAtMDIgMTE6MjM6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2Mgc2NhbiBmaWxlcwoKMjAwOS0xMC0wMiAxMToyMjo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBjbGVhbnVwcwoJICBVc2Ugc3RhcnQvc3RvcCB0byBtYW5hZ2UgdGhlIGNhY2hlLiBGZXcgY29kZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA5LTEwLTAyIDExOjA5OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogYWRkIHpiYXIgcGx1Z2luCgoyMDA5LTEwLTAyIDEwOjM3OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHpiYXI6IGFkZCBuZXcgcGx1Z2luIHRvIHRoZSBidWlsZCBoZXJlIHRvbwoKMjAwOS0xMC0wMiAxMDozMjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczoga2VlcCBsaXN0IHNvcnRlZAoKMjAwOS0xMC0wMiAwNzo0NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIHN5c3RlbSwgemJhciBpcyBubyBkZXBlbmRlbmN5LWxlc3MgcGx1Z2luCgoyMDA5LTEwLTAxIDIzOjUxOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogd3JhcCB6YmFyIGxpYnJhcnkgYXMgYSBpbWFnZSBhbmFseXplcgoJICB6YmFyIGlzIGEgYmFyIGNvZGUgc2Nhbm5lciBsaWJyYXJ5LgoKMjAwOS0xMC0wMSAxNzoxOTo1NCArMDEwMCAgQ2hyaXN0aWFuIEYuSy4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcyBhbmQgcmVtb3ZlIGZpbGUgZnJvbSBNQU5JRkVTVCB3aGljaCBpc24ndCB0aGVyZSBhbnkgbG9uZ2VyCgoyMDA5LTA5LTAyIDE1OjI2OjE1ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGNoYW5nZSBYTVAgbG9jYXRpb24gdGFncyB0byBzdGFydCB3aXRoIGNhcGl0YWxzCgoyMDA5LTA4LTI1IDEwOjEwOjE1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBkZWFkbG9jayB3aGVuIGVycm9yIG9jY3VycyBhdCB2aWRlbyByZWNvcmRpbmcgc3RhcnR1cAoKMjAwOS0wOC0yNyAxNDozNToyNiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBoYW5kbGUgcHJldmlldy1jYXBzIG9ubHkgaW4gaW1hZ2UgbW9kZSBhbmQgb25seSB3aGVuIHRoZXkgY2hhbmdlCgkgIFRoaXMgcHJldmVudHMgY2FtZXJhYmluIHRvIGNyZWF0ZSBwcmV2aWV3IHBpcGVsaW5lIGV2ZXJ5IHRpbWUgd2hlbgoJICBhcHBsaWNhdGlvbiByZS1zZXRzIHRoZSBzYW1lIGNhcHMgYWdhaW4uCgoyMDA5LTA4LTI1IDA5OjM1OjA3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGRvbid0IHNlbmQgbXVsdGlwbGUgRU9TIGV2ZW50cyB0byB2aWRlbyBwaXBlbGluZQoKMjAwOS0wOC0yMiAxNzowOTozOSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGZpeCBzY2VuZSBtb2RlIHNldHRpbmcKCSAgQ2FtZXJhYmluIGNhY2hlcyBwaG90b2dyYXBoeSBzZXR0aW5ncywgYnV0IGl0IGRpZG4ndCB0YWtlIGludG8gYWNjb3VudAoJICB0aGF0IHNjZW5lIG1vZGUgc2V0dGluZyBtYXkgY2hhbmdlIG90aGVyIHNldHRpbmdzIGFzIHdlbGwuIFNvLCBjb25maWcKCSAgbmVlZHMgdG8gYmUgcmVhZCBiYWNrIGZyb20gZGV2aWNlIGFmdGVyIHNjZW5lIG1vZGUgaXMgc2V0LgoKMjAwOS0wOC0yMSAwOToxNDozMSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhbGxvdyBtb2RlIHBhcmFtZXRlciBzZXR0aW5nIGluIE5VTEwgc3RhdGUKCjIwMDktMDgtMjAgMTc6NTU6MjYgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWxsb3cgY2FwdHVyZSByZXNvbHV0aW9uIHRvIGJlIHNldCBpbiBOVUxMIHN0YXRlCgoyMDA5LTA5LTEwIDE1OjE2OjIzICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBpbWFnZSBxdWV1ZSBwYXJhbWV0ZXIgc2V0dGluZwoJICBDYW1lcmFiaW4gaW5jb3JyZWN0bHkgdXNlZCBHX0dVSU5UNjRfQ09OU1RBTlQgbWFjcm8gZm9yIHNldHRpbmcKCSAgIm1heC1zaXplLWJ1ZmZlcnMiIGFuZCAibWF4LXNpemUtYnl0ZXMiIHByb3BlcnRpZXMgaW4gaW1hZ2UgcXVldWUsCgkgIGV2ZW4gd2hlbiB0aGV5IGFyZW4ndCA2NGJpdCBpbnRlZ2Vycy4KCjIwMDktMDgtMTIgMTE6MTA6NTUgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHdhcm5pbmcgd2l0aCBnX29iamVjdF9nZXQgYW5kIGpvaW4gc2VwYXJhdGUgZ19vYmplY3Rfc2V0cyBpbnRvIG9uZQoKMjAwOS0wNy0zMSAxMTo1NzoxMiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXNldCBhY3RpdmUtcGFkIGluIG91dHB1dC1zZWxlY3RvciBhZnRlciBSRUFEWSBzdGF0ZQoJICBDYW1lcmFiaW4gc2V0cyBpdHNlbGYgdG8gUkVBRFkgc3RhdGUgZHVyaW5nIHJlc29sdXRpb24gY2hhbmdlLiBUaGlzCgkgIG9wZXJhdGlvbiBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgdG8gZm9yZ2V0IGl0cyBjdXJyZW50bHkgYWN0aXZlIHBhZCwKCSAgc28gaXQgbXVzdCBiZSBzZXQgYWdhaW4gYWZ0ZXIgc3RhdGUgY2hhbmdlLgoKMjAwOS0wNi0yOSAxNToyMzoyNSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCByZXNldCBjYXBzZmlsdGVycyBvciB6b29tIGlmIGVycm9yIG9jY3VycwoJICBJZiBhbiBlcnJvciBvY2N1cnMsIGFwcGxpY2F0aW9uIHNob3VsZCBzZXQgcGlwZWxpbmUgdG8gTlVMTCwgYW5kIHVwZGF0aW5nCgkgIHpvb20gY2FuIGFjdHVhbGx5IGJsb2NrIG1lc3NhZ2UgaGFuZGxpbmcgaWYgdmlkZW8gZGV2aWNlIGRyaXZlciBoYXMgZmFpbGVkCgkgIGFuZCB2aWRlbyBzcmMgZWxlbWVudCBzdXBwb3J0cyB6b29taW5nIHVzaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgU19DUk9QLgoKMjAwOS0xMC0wMSAxNzoxNzowMyArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogbGluayB3aXRoIGxpYm0KCjIwMDktMTAtMDEgMTU6MDk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZGJpbjogSWYgbm8gc3VpdGFibGUgYXVkaW8gZGVjb2RlciBpcyBmb3VuZCBwbGF5IHRoZSBEVkQgd2l0aG91dCBhdWRpbwoKMjAwOS0xMC0wMSAxNDo1NDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IEFsc28gcG9zdCBtaXNzaW5nIGVsZW1lbnQgbWVzc2FnZXMgaWYgYW55IG90aGVyIGVsZW1lbnQgaXMgbWlzc2luZwoKMjAwOS0xMC0wMSAxNDo1MjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogUG9zdCBtaXNzaW5nIGRlY29kZXIgbWVzc2FnZXMgaWYgb25lIGlzIG1pc3NpbmcKCSAgRm9yIHZpZGVvIHRoaXMgaXMgYW4gZXJyb3IsIGZvciBhdWRpbyBvbmx5IGEgd2FybmluZy4KCjIwMDktMTAtMDEgMTQ6NDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgdGhlIG5ldyB2aWRlbyBkZWNvZGVyCgkgIFRoaXMgbWFrZXMgcmVzaW5kdmRiaW4gd29yayB3aXRoIG90aGVyIE1QRUcgdmlkZW8gZGVjb2RlcnMgdGhhbgoJICBtcGVnMmRlYywgZm9yIGV4YW1wbGUgdGhlIEZGTVBFRyBvciBGbHVlbmRvIE1QRUcgZGVjb2RlcnMuCgoyMDA5LTEwLTAxIDE0OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5oOgoJICByZXNpbmR2ZGJpbjogUmVuYW1lIGZpbGVzCgoyMDA5LTEwLTAxIDE0OjM2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmRiaW46IFJlZmFjdG9yIGF1ZGlvIGRlY29kZXIgYW5kIGFkZCBhIChNUEVHKSB2aWRlbyBkZWNvZGVyCgoyMDA5LTEwLTAxIDEzOjI5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByc25hdWRpb2RlYzogR2V0IGRlc2lyZWQgc2luayBjYXBzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZQoKMjAwOS0xMC0wMSAxMDo1NDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IFVucHJlbXVsdGlwbHkgQ2Fpcm8ncyBBUkdCIHRvIG1hdGNoIEdTdHJlYW1lcidzCgoyMDA5LTA5LTI1IDEyOjIwOjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJICBUYWtlIG9mZnNldCBnYXBzIGludG8gYWNjb3VudC4KCSAgUHJldmVudHMgbWVhc3VyZWNvbGxlY3RvciBmcm9tIGNyYXNoaW5nIHdoZW4gZnJhbWUgbnVtYmVycyBhcmUgbm90IGNvbnNlY3V0aXZlLgoJICBGaXhlcyBidWcgIzU5NjI4NS4KCjIwMDktMDktMjkgMTU6NDc6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBmaXggZmxhZ3NfYXNfdWludCB0byBmbGFnc1tdCgoyMDA5LTA5LTMwIDE1OjQ3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogQ3JlYXRlIGV4dGVybmFsIHNyY3BhZHMgZnJvbSB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMDktMDktMjIgMTI6MTY6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEltcHJvdmUgUEdTIHBhcnNpbmcKCSAgSW1wcm92ZSAoc2xpZ2h0bHkpIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBQR1Mgc2V0LXdpbmRvdyBibG9ja3MKCSAgdG8gYXZvaWQgcHJpbnRpbmcgd2FybmluZ3MgYWJvdXQgdW51c2VkIGJ5dGVzIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlCgkgIHdpbmRvdyBkZWZpbml0aW9ucy4KCjIwMDktMDktMjIgMDE6MTY6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEZpeCByZW5kZXJpbmcgYW5kIGFkZCBndWFyZHMKCSAgRml4IHRoZSByZW5kZXJpbmcgd2hlbiB3ZSBoaXQgdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiB0aGUgZGlzcGxheQoJICBhcmVhLCBieSByZXNldHRpbmcgdG8gdGhlIGNvcnJlY3QgWCBjb29yZGluYXRlLCBhbmQgYWRkIHNvbWUgbW9yZQoJICBndWFyZHMgYWdhaW5zdCBiYWQgUEdTIGRhdGEuCgoyMDA5LTA5LTA4IDAwOjAxOjI4ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICB2aWRlb3NpZ25hbDogY2hhbmdlIHBhdHRlcm4gZGF0YSB0eXBlIHRvIHVpbnQ2NCwgYWRkIHByb3BlcnR5IGFuZCBtZXNzYWdlIGZpZWxkCgkgIEtlZXBzIHRoZSBvbGQgdWludCB0eXBlZCB2YWx1ZSBzdXBwb3J0IGZvciBjb21wYXRpYmlsaXR5LgoKMjAwOS0wOS0wNiAwNTozNjo0NiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhbGxvdyBwYXR0ZXJuLWNvdW50IHByb3BlcnR5IHRvIGJlIDAKCjIwMDktMDktMDQgMjI6NTA6MzQgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWRkIHN1cHBvcnQgZm9yIHBhY2tlZCBZVVYgZm9ybWF0cwoKMjAwOS0wOS0wNCAyMjozMDoyNyArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIHZpZGVvc2lnbmFsOiBhZGQgc3VwcG9ydCBmb3IgYWxsIHBsYW5hciBZVVYgZm9ybWF0cywgdXNpbmcgZ3N0dmlkZW8KCjIwMDktMDktMDYgMDI6NDQ6MDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWRkIGJvdW5kIGNoZWNrcwoKMjAwOS0wOS0wNCAxNjoyNTowNSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiByZW1vdmUgdW51c2VkIG1hY3JvcwoKMjAwOS0wOS0yNiAxNzoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFVzZSBnc3RfY2Fwc19jYW5faW50ZXJzZWN0KCkgYmVjYXVzZSBpdCdzIGZhc3RlcgoKMjAwOS0wOS0yNiAxNzoyMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJzbmF1ZGlvZGVjOiBVc2UgZ2hvc3QgcGFkcyBhbmQgYWx3YXlzIGZvcndhcmQgYXBwbGljYXRpb24veC1nc3QtZHZkIGV2ZW50cyBpbW1lZGlhdGVseQoJICBGaXhlcyBidWcgIzU4Mjc3OS4KCjIwMDktMDktMjYgMTc6MTk6MzIgKzAyMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcmVzaW5kdmRiaW46IFVzZSBhdXRvY29udmVydCBpbiByc25hdWRpb2RlYyBhbmQgYnVpbGQgYSBsaXN0IG9mIHBvc3NpYmxlIGRlY29kZXJzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4Mjc3OS4KCjIwMDktMDktMjUgMTY6NTQ6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogc3luYyBiYXNlcGFyc2UgY2hhbmdlCgoyMDA5LTA5LTI1IDE3OjAyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGZvcmVnbyAoYm9ndXMpIHBhcnNpbmcgb2YgYWxyZWFkeSBwYXJzZWQgKHJhdykgaW5wdXQKCjIwMDktMDktMjUgMTE6MDc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIG5ldyBzaW5nbGUgaXRlcmF0b3IgZm9yIHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWRzCgkgIFRoaXMgZml4ZXMgYSBkZWFkbG9jayBhbmQgcmVtb3ZlcyBzb21lIHVzZWxlc3MgY29kZS4KCjIwMDktMDktMjUgMTE6MDQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJzbnN0cmVhbXNlbGVjdG9yOiBVc2UgbmV3IHNpbmdsZSBvYmplY3QgaXRlcmF0b3IgZm9yIHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWRzCgkgIFRoaXMgcHJldmVudHMgYW4gdWdseSBkZWFkbG9jay4KCjIwMDktMDktMjUgMTA6NTA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIHJlc2luZHZkYmluOiBEb24ndCBibG9jayB0aGUgZXh0ZXJuYWwgZ2hvc3QgcGFkcyBidXQgb25seSB0aGVpciB0YXJnZXRzCgoyMDA5LTA5LTI0IDExOjI2OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogdXNlIEJVSUxUX1NPVVJDRVMgaW5zdGVhZCBvZiB0ZW1wIGxpYnJhcnkKCjIwMDktMDktMjMgMTI6MzI6NTQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgRml4IHdhcm5pbmdzIHdpdGggZ2NjIDQuMC4xLgoKMjAwOS0wOS0yMiAxMjoyNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbCBhZ2FpbgoKMjAwOS0wOS0yMiAxMzo0NDoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgUmV2ZXJ0ICJMVjIgcHJlc2V0IHN1cHBvcnQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM5NWY1OWNkMmRjMTI5ODk5YjM3ZmVjYWE1MmM4OWRiM2Q4YTVlZjguCgoyMDA5LTA5LTIyIDEzOjQzOjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBSZXZlcnQgIkZpeCBwcm9wZXJ0eSBpbmRleCB3aGVuIHNldHRpbmcgcHJlc2V0LiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwYTZiMjJiMTkxN2FmOGE4OWRiMTk4MWEwZjVkZjNkY2VlNzhiMWRkLgoKMjAwOS0wOS0yMiAxMzoyMzoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiBmaXggdGhlIGJ1aWxkCgkgIEFkZCBhIHVuaW5zdGFsbGVkIGNvbnZpbmllbmNlIGxpYnRvb2wgbGlicmFyeSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgc291cmNlcy4KCSAgQWRkIHRoYXQgYXMgYSBkZXBlbmRlbmN5IHRvIHRoZSBwbHVnaW4uCgoyMDA5LTA4LTE3IDE3OjIxOjQxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBGaXggcHJvcGVydHkgaW5kZXggd2hlbiBzZXR0aW5nIHByZXNldC4KCjIwMDktMDgtMTcgMTc6MDY6NDAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIExWMiBwcmVzZXQgc3VwcG9ydC4KCjIwMDktMDktMjIgMDg6MTE6MzYgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tOiBIYW5kbGUgQVNDSUkgZW5jb2RlZCBQTk0gZGF0YSB0aGF0IGlzIHNwbGl0IG92ZXIgbXVsdGlwbGUgYnVmZmVycwoJICBBbHNvOgoJICAtIHVucmVmIGJ1ZmZlcnMgYWZ0ZXIgZ3N0X2J1ZmZlcl9zcGFuCgkgIC0gZml4IHNjYW5uaW5nIG9mIGhlYWRlciBpZiBoZWFkZXIgZGF0YSBpcyBzcGxpdCBvdmVyIHNldmVyYWwgYnVmZmVycwoJICBGaXhlcyBidWcgIzU5NTcwMC4KCjIwMDktMDktMjEgMTE6MzM6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d0YWJsZXMuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJICBjb2c6IEFkZCBxdWFsaXR5IHNldHRpbmcgdG8gY29nc2NhbGUKCjIwMDktMDktMjEgMDk6MzU6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IChyZS0paW1wbGVtZW50IDEvMi80LXRhcCBzY2FsaW5nCgoyMDA5LTA5LTIxIDA5OjMwOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggdGhlIHZpcnR1YWwgZnJhbWUgbGluZSBjYWNoZQoKMjAwOS0wOS0yMSAwOTo0OToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IFZCUiByZXF1aXJlcyBjZWx0LTAuNi4wCgoyMDA5LTA5LTIxIDEyOjA2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogU3BlY2lmeSB0aGF0IHBzaSB0YWJsZSBpcyBzdGF0aWMgY29uc3QuCgkgIFRoaXMgYXZvaWRzIHJlLWFsbG9jYXRpbmcgaXQgZXZlcnkgc2luZ2xlIHRpbWUgd2UgZ28gaW50byBpdC4KCSAgUm91Z2hseSAxMCUgcGVyZm9ybWFuY2UgYm9vc3QgaW4gb3ZlcmFsbCB0c3BhcnNlIHByb2Nlc3NpbmcgdGltZS4KCjIwMDktMDktMjAgMTc6NTM6MjQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIFJldmVydCAibXBlZ3RzcGFyc2U6IHVzZSBmaXhlZCBzaXplIGFycmF5IHJhdGhlciB0aGFuIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWU3NWI2ZjM2NjY1MTI4ODdhZTUyNmYxNmExYWQ0MWJiZjI1MTdhYy4KCjIwMDktMDktMjAgMTU6MzA6NTkgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhcnNlOiB1c2UgZml4ZWQgc2l6ZSBhcnJheSByYXRoZXIgdGhhbiBkeW5hbWljYWxseSBhbGxvY2F0aW5nCgoyMDA5LTA5LTIwIDE1OjE4OjQ2ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiByZXBsYWNlIHN0cmVhbXMgaGFzaHRhYmxlIHdpdGggYW4gYXJyYXkgb2Ygc3RyZWFtcwoKMjAwOS0wOS0yMCAxNDowODo1MCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogdW5yZWYgY2FwcyBvbiBkaXNwb3NlLCByZXNldCBwYWNrZXQgc2l6ZSBvbiBfcmVzZXQKCjIwMDktMDktMjAgMTM6MTU6MTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IG1ha2Ugc3VyZSBwYWNrZXRzaXplIGlzIHNldCBvbiBjYXBzIG9mIGJ1ZmZlcnMKCjIwMDktMDktMjAgMTI6Mzg6MDAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhcnNlOiBkZXRlY3QgcGFja2V0c2l6ZSBhbmQgZG9uJ3QganVzdCBhc3N1bWUgMTg4IGJ5dGVzLgoKMjAwOS0wOS0xOSAxNDoxMDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogQWRkIGNvbXBsZXhpdHksIGNiciwgYW5kIG1heC1iaXRyYXRlIHByb3BlcnRpZXMKCjIwMDktMDktMTkgMTM6MzI6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dvcmMuYzoKCSogZXh0L2NvZy9jb2dvcmMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZzogYXV0b2dlbmVyYXRlIGNvZGUsIGNvbG9yc3BhY2UgaW1wcm92ZW1lbnRzCgoyMDA5LTA5LTE4IDIwOjI3OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSAvLyBjb21tZW50cwoKMjAwOS0wOS0xNiAyMDozOTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IERvbid0IHVzZSBHc3RJdGVyYXRvciwgZG8gY2hhbmdlIGRldGVjdGlvbiBvdXJzZWx2ZXMuCgkgIFVzaW5nIGEgR3N0SXRlcmF0b3IgaXMgc2xvdyBiZWNhdXNlIHdlIGhhdmUgdG8gY3JlYXRlL2Rlc3Ryb3kgdGhhdAoJICBpdGVyYXRvciBldmVyeSBzaW5nbGUgdGltZS4KCSAgV2UganVzdCBkbyB0aGUgdGhyZWFkc2FmZSBjb29raWUgY2hlY2sgYW5kIGxpc3QgaXRlcmF0aW9uIG91cnNlbHZlcy4KCjIwMDktMDktMTUgMjM6MTg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBBdm9pZCB0eXBlLWNoZWNraW5nIGNhc3RzIGluIHRpZ2h0IGxvb3BzCgoyMDA5LTA5LTE1IDIzOjEyOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE1ha2UgbmV4dF9wYWNrZXQoKSByZXR1cm4gYW4gZW51bS4KCSAgVGhpcyBhdm9pZHMgY2FsbGluZyBhbiBleHRyYSBnc3RfYWRhcHRlcl9hdmFpbGFibGUoKSBpbiBhIHRpZ2h0IGxvb3AuCgoyMDA5LTA5LTE1IDIzOjExOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogTW9yZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTUgMjA6NDk6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcHJlYWQgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTE1IDE5OjE2OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplcjogUmVnaXN0ZXIgYW5kIHVzZSBHUXVhcmsgZm9yIHN0cnVjdHVyZXMuCgoyMDA5LTA5LTE1IDE4OjU3OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEluaXRpYWxpemUgZGVidWdnaW5nIGluIF9nZXRfdHlwZQoJICBUaGVyZSdzIG5vIG5lZWQgZm9yIGFuIGV4dHJhIGZ1bmN0aW9uIHNpbmNlIGFsbCBkZWJ1Z2dpbiB3aWxsIHJlcXVpcmUKCSAgYSBNcGVnVFNQYWNrZXRpemVyIHdoaWNoIG1lYW5zIHRoYXQgdGhlIEdUeXBlIHdpbGwgYmUgY3JlYXRlZCwgdGhlcmVmb3JlCgkgIG1vdmUgdGhlIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uIHRoZXJlLgoKMjAwOS0wOS0xNSAyMzowOToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBtZW1zZXQgc3RydWN0dXJlIGluc3RlYWQgb2YgaW5kaXZpZHVhbGx5IHNldHRpbmcgZmllbGRzIHRvIDAKCjIwMDktMDktMTUgMjM6MDg6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIGdfcmV0dXJuX2lmX2ZhaWwKCSAgSXQncyBvdmVya2lsbCBmb3IgY29kZSBvbmx5IHVzZWQgYnkgb25lIGVsZW1lbnQuCgoyMDA5LTA5LTE1IDE5OjQ0OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplci9wYXJzZTogRG9uJ3QgdXNlIGdzdF9zdHJ1Y3R1cmVfdG9fc3RyaW5nKCkgZm9yIGRlYnVnZ2luZy4KCSAgVGhlcmUncyBHU1RfUFRSX0ZPUk1BVCBmb3IgdGhhdCwgYW5kIHRvbyBiYWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZQoJICBzdXBwb3J0IGZvciB0aGF0LiBJdCBqdXN0IGNvc3RzIHRvbyBtdWNoIGNwdS4KCjIwMDktMDktMTUgMTk6MDA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzcGFyc2UvLmdpdGlnbm9yZToKCSogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlbWFyc2hhbC5saXN0OgoJICBnc3Q6IFJlbW92ZSBkZWFkIG1wZWd0c3BhcnNlIGRpcmVjdG9yeS4KCSAgVGhpcyB3YXMgc2VyaW91c2x5IGNvbmZ1c2luZy4gQWxzbywgdGhlIGNvZGUgaXMgaW4gZ3N0L21wZWdkZW11eC8KCjIwMDktMDktMTggMTQ6MjU6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLmg6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGZpeGVzIHRvIG1ha2UgY29nIHdvcmsgaW5zaWRlIC1iYWQKCjIwMDktMDktMTggMTU6MDY6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBmaXggbGluZSBlbmRpbmdzCgoyMDA5LTA5LTE4IDE1OjA2OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogZml4IGRpc3RjaGVjawoKMjAwOS0wOS0xNyAxODoxNjozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBxdWlldCBkZWJ1Z2dpbmcgbWVzc2FnZSBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wOS0xNyAxODoxNToyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBLZWVwIHRyYWNrIG9mIGdyYW51bGUgb2Zmc2V0CgoyMDA5LTA4LTMxIDEwOjM2OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29nb3JjLmM6CgkqIGV4dC9jb2cvY29nb3JjLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIENvcHkgY29nIHBsdWdpbiBhbmQgdmlkZW8gbGlicmFyeSBmcm9tIGNvZyBwcm9qZWN0CgoyMDA5LTA5LTE3IDE2OjU0OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IEZpeCByZXN5bmMgYnVnIGR1ZSB0byBhZGFwdGVyIEFQSSBjaGFuZ2UKCSAgZ3N0X2FkYXB0ZXJfbWFza2VkX3NjYW5fdWludDMyKCkgY2hhbmdlZCBzbGlnaHRseSBmcm9tIHdoZW4KCSAgdGhpcyBlbGVtZW50IHdhcyBpbiBTY2hyb2VkaW5nZXIuICBPb3BzLgoKMjAwOS0wOS0xNyAxNjo1NzoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IGRlYnVnIGF0IG5ldyBzZWdtZW50IGV2ZW50cwoKMjAwOS0wOS0xNyAxNjo1NDoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFNldCBESVNDT05UIG9uIGJ1ZmZlcnMKCjIwMDktMDktMTcgMTA6NTA6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgYSB3YXJuaW5nCgoyMDA5LTA5LTE3IDEwOjQ5OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZG9uJ3QgbGltaXQgYml0IHJhdGUKCjIwMDktMDktMTcgMDk6Mzg6MDIgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogQWRkIEFTQ0lJIGRlY29kaW5nIHN1cHBvcnQKCSAgLi4uYW5kIG1ha2UgdGhlIEFTQ0lJIG91dHB1dCBvZiB0aGUgZW5jb2RlciBhIGJpdCBtb3JlIHByZXR0eS4KCSAgRml4ZXMgYnVnICM1OTU0MDkuCgoyMDA5LTA5LTE3IDA5OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5tOiBSZW1vdmUgdGhlIGV4cGVyaW1lbnRhbCBzdGF0dXMgZnJvbSB0aGUgcG5tIHBsdWdpbgoKMjAwOS0wOC0xNCAxODowODo1NiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgTW9yZSB0b2xlcmF0ZSBwb3J0IGdyb3VwIHN1cHBvcnQsIHBsdWdpbiBjbGVhbnVwLgoJICBHcmFjZWZ1bGx5IGhhbmRsZSBwbHVnaW5zIHdpdGggaWxsZWdhbCBncm91cHMgdGhhdCBjb250YWluIG5vIHN5bWJvbCBieQoJICB0cmVhdGluZyBwb3J0cyBpbiB0aGF0IGdyb3VwIG5vcm1hbGx5IChpLmUuIGFzIGlmIHRoZXkgd2VyZW4ndCBwYXJ0IG9mIGEKCSAgZ3JvdXApLiAgVGhlIHBvcnQgZ3JvdXBzIHNwZWMgbWFuZGF0ZXMgdGhhdCBncm91cHMgaGF2ZSBhIHZhbGlkIHVuaXF1ZQoJICBzeW1ib2wsIGJ1dCBwbHVnaW5zIGFyZW4ndCBwZXJmZWN0Li4uCgkgIE1ha2UgKGNvbmNlcHR1YWxseSkgc3RhdGljIHBsdWdpbiB2YXJpYWJsZXMgYWN0dWFsbHkgKEMpIHN0YXRpYywKCSAgYW5kIGNsZWFuIHVwIFNMVjIgcmVsYXRlZCB0aGluZ3Mgd2l0aCBhIEdDQyBzaGFyZWQgbGlicmFyeSBkZXN0cnVjdG9yLAoJICBpZiBHQ0MgaXMgaW4gdXNlLgoKMjAwOS0wOC0xMiAwMTowNzo1NyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgTWFrZSBtb25vIHdhcm5pbmcgdmlzaWJsZSBpbiBwdWJsaWMgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDgtMTIgMDE6MDM6MzIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIE11bHRpLWNoYW5uZWwgc3VwcG9ydCB3aXRoIGNoYW5uZWwgcG9zaXRpb25zLgoJICBUaGlzIHF1ZXJpZXMgcG9ydCByb2xlcyBmcm9tIHRoZSBMVjIgZGF0YSBhbmQgY29udmVydHMgaXQgaW50byBHU3RyZWFtZXIKCSAgY2hhbm5lbCBwb3NpdGlvbnMuICBUaGlzIHNob3VsZCBhbGxvdyBhbnkgdHlwZSBvZiBtdWx0aS1jaGFubmVsIHBsdWdpbgoJICAoaW5jbHVkaW5nIGJleW9uZCBzdGVyZW8sIGUuZy4gc3Vycm91bmQpIHRvIHdvcmsgZmluZSBpbiBHU3RyZWFtZXIsCgkgIGFuZCB3aXRoIGVsZW1lbnRzIHRoYXQgcmVxdWlyZSBjaGFubmVsIHBvc2l0aW9ucyB0byBiZSBleHBsaWNpdGx5IHN0YXRlZC4KCjIwMDktMDgtMTAgMjM6MTI6MjQgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBMVjIgZWxlbWVudC4KCjIwMDktMDgtMTAgMjM6MDQ6NDcgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIEZpeCB0eXBvIGluIExBRFNQQSBlbGVtZW50IGRvY3VtZW50YXRpb24uCgoyMDA5LTA3LTIxIDE1OjQ1OjA2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgU0xWMiBkZXBlbmRlbmN5IHRvIDAuNi42LgoKMjAwOS0wNy0xMCAyMTo1MjozMCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9jYWxmLWx2Mi1wb3J0LWdyb3Vwcy5wYXRjaDoKCSogZXh0L2x2Mi9zd2gtbHYyLXBvcnQtZ3JvdXBzLnBhdGNoOgoJICBBZGQgc3doIGFuZCBjYWxmIExWMiBwb3J0IGdyb3VwIHBhdGNoZXMuCgoyMDA5LTA3LTAzIDIwOjAwOjExIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBXb3JraW5nIG11bHRpLWNoYW5uZWwgcGFkcyBmb3IgTFYyIHBsdWdpbnMuCgoyMDA5LTA2LTI3IDAwOjI1OjM4IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBBbGxvY2F0ZSBhIHN0YXRpYyBwcmVkaWNhdGUgZm9yIHBnOmluR3JvdXAuCgoyMDA5LTA2LTI1IDE3OjI1OjUyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBPbmx5IGFsbG9jYXRlIGx2MjppblBsYWNlQnJva2VuIHByZWRpY2F0ZSBvbmNlLgoKMjAwOS0wNi0yNSAxNToxMDoyNCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgRWxpbWluYXRlIHVzZSBvZiBzdGF0aWMgbW9ubyBwYWQgdGVtcGxhdGUuCgoyMDA5LTA2LTI1IDE1OjA3OjA1IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBTZXBhcmF0ZSBwb3J0IGRpc2NvdmVyeSBmcm9tIHBhZCB0ZW1wbGF0ZSBjcmVhdGlvbi4KCSAgVGhpcyBmaXJzdCBjb3VudHMgcG9ydHMgKHVzaW5nIHRoZSBidWlsdGluIHNsdjIgZnVuY3Rpb25zIHRvIGRvIHNvCgkgIHJhdGhlciB0aGFuIG1hbnVhbGx5IGFzIGJlZm9yZSksIHRoZW4gY3JlYXRlcyBkZXNjcmlwdG9ycyBmb3IgZWFjaCBwb3J0CgkgIGFuZCBmaW5kcyBhbGwgcG9ydCBncm91cHMuICBPbmx5IHRoZW4gYXJlIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCAodG93YXJkcwoJICB1c2luZyBncm91cCBpbmZvcm1hdGlvbiBmb3IgY3JlYXRpbmcgbXVsdGktY2hhbm5lbCBwYWRzKS4KCjIwMDktMDYtMjUgMTI6MzQ6MDMgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFVzZSBzaWxseSBnbGliIHR5cGVzIDopLgoKMjAwOS0wNi0yMCAxOTo1MjoyNiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgUXVlcnkgYW5kIHN0b3JlIHBvcnQgZ3JvdXAgaW5mb3JtYXRpb24uCgkgIFJlcGxhY2UgcG9ydCBpbmRleCBhcnJheXMgd2l0aCBhIHN0cnVjdCBmb3IgaG9sZGluZyBtb3JlIGluZm9ybWF0aW9uCgkgIHRoYW4ganVzdCBpbmRpY2VzIChlLmcuIGdyb3VwcykuCgoyMDA5LTA1LTI1IDIyOjE1OjU2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBXb3JraW5nIGJhc2ljIExWMiBzaWduYWwgcHJvY2Vzc2luZy4KCSAgTFYyIHBsdWdpbnMsIHNob3J0IG9mIGFueSBzdXJwcmlzZXMsIHNob3VsZCB3b3JrIHdpdGggdGhlIHNhbWUgYmFzaWMKCSAgZnVuY3Rpb25hbGl0eSBhcyBMQURTUEEgcGx1Z2lucy4KCjIwMDktMDUtMjUgMjA6NDM6MTAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFNldCBjbGFzcyBpblBsYWNlQnJva2VuIHByb3BlcnR5LgoKMjAwOS0wOS0xNyAwOTo0MzozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgIGRvY3M6IGZpeCBleGFtcGxlIGFuZCBtZW50aW9uIGRpZmZlcmVuY2UgdG8gdm9yYmlzZGVjCgoyMDA5LTA5LTAyIDExOjExOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogRml4IGJvZ3VzIGNoZWNrIGJlZm9yZSB1bnJlZmZpbmcKCjIwMDktMDktMDEgMTk6NDg6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdmRwYXU6IEZpeCBwa2ctY29uZmlnIHRlc3QKCSAgSWYgdGhlIHBrZy1jb25maWcgY2hlY2sgZG9lc24ndCBzdWNjZWVkLCB0ZXN0IHdpdGggdGhlIG9sZCBtZXRob2QKCSAgaW5zdGVhZCBvZiBiYWlsaW5nIG91dCBvZiBjb25maWd1cmUgd2l0aCBhbiBlcnJvci4KCjIwMDktMDgtMjAgMDA6MTY6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGJldHRlcgoJICB0aGUgaW1wbGVtZW50YXRpb24gaXMgbm90IGVudGlyZWx5IGNvcnJlY3Qgc2luY2Ugd2UgYXNzdW1lIHRoYXQgdGhlIHNpbmsKCSAgZWxlbWVudCdzIHBpeGVsLWFzcGVjdC1yYXRpbyBpcyAxLzEKCjIwMDktMDgtMTkgMjI6NTI6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiByZW1vdmUgcGFyIGZyb20gY2FwcyBzaW5jZSB3ZSBkb24ndCBoYW5kbGUgaXQgeWV0CgoyMDA5LTA4LTE5IDIyOjQwOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZG9uJ3QgcmVtb3ZlIGludGVybGFjZWQgZmxhZyBpbiB2aWRlb190b19vdXRwdXRfY2FwcygpCgoyMDA5LTA4LTE5IDIyOjIzOjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgaW52ZXJzZS10ZWxlY2luZSBwcm9wZXJ0eQoKMjAwOS0wOC0xOSAyMjowMzoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IG5vaXNlLXJlZHVjdGlvbiBwcm9wZXJ0eSBnZXR0ZXIKCjIwMDktMDgtMTkgMjI6MDI6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzaGFycGVuaW5nIHByb3BlcnR5CgoyMDA5LTA4LTE3IDIzOjQyOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF92ZHBfZGV2aWNlX25ldyBmcm9tIGhlYWRlcgoKMjAwOS0wOC0xNyAyMzo0MjoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogZml4IGVycm9yIGhhbmRsaW5nIGlmIGdzdF92ZHBfZ2V0X2RldmljZSByZXR1cm5zIE5VTEwKCjIwMDktMDgtMTcgMjM6Mzk6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBhZGQgYmFjayB2ZHBhdXNpbmsgYW5kIHZkcGF1dmlkZW9wb3N0cHJvY2VzcwoKMjAwOS0wOC0xNyAyMzozOToxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJICB2ZHBkZXZpY2U6IGZpeCBlcnJvciBoYW5kbGluZyBhbmQgdGhyZWFkc2FmZXR5CgkgIHJldHVybiBOVUxMIGluY2FzZSBvZiBpbml0YWxpemF0aW9uIGVycm9ycyBhbmQgZ3VhcmQgaGFzaHRhYmxlIGFjY2VzcyB3aXRoIGEgbXV0ZXgKCjIwMDktMDctMTcgMjI6NTA6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGdldCBjb3JyZWN0IG51bWJlciBvZiBuZWVkZWQgZnJhbWVzIGlmIHdlJ3JlIGRvaW5nIG5vaXNlIHJlZHVjdGlvbgoKMjAwOS0wNy0xNyAyMjo0ODoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgaW5kZW50IGZpeAoKMjAwOS0wNy0xNSAyMDoxODozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4IGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgdXNhZ2UKCjIwMDktMDctMDQgMTk6NDg6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVwb3N0cHJvY2VzczogcmVtb3ZlIGJvb2xlYW4gbm9pc2UtcmVkdWN0aW9uIHByb3BlcnR5CgkgIFVzZSB0aGUgZmxvYXQgb25lIHRvIGRldGVybWluZSBpZiB3ZSBzaG91bGQgZW5hYmxlIG5vaXNlIHJlZHVjdGlvbiBvciBub3QKCjIwMDktMDctMDQgMTU6NDY6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3Igbm9pc2UgcmVkdWN0aW9uCgoyMDA5LTA3LTA0IDEzOjU5OjM2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciBkZWludGVybGFjaW5nCgkgIFRoZSBjb2RlIGlzIHJvdWdobHkgbW9kZWxlZCBhZnRlciB0aGUgZGVpbnRlcmxhY2UgcGx1Z2luCgoyMDA5LTA3LTAyIDE3OjExOjEwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiBhZGQgbXlzZWxmIHRvIGNvcHlyaWdodAoKMjAwOS0wNy0wMiAxNDowMToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogcy9nc3RfdmRwX3ZwcF9zZXRfY2Fwcy9nc3RfdmRwX3ZwcF9zaW5rX3NldGNhcHMKCjIwMDktMDctMDEgMjM6MTI6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIGluc3RlYWQgb2Ygb3VyIG93biB2ZXJzaW9uCgoyMDA5LTA3LTAxIDAwOjIwOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGFycmF5IHNpemVzCgoyMDA5LTA3LTAxIDAwOjEzOjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIE5VTEwgdGVybWluYXRpbmcgYXJyYXkKCjIwMDktMDYtMzAgMjM6NTU6MTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIG5ldyB2ZHBhdXNpbmsgYW5kIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyBlbGVtZW50cwoJICB2ZHBhdXNpbmsgaXMgYXMgdGhlIG5hbWUgaW1wbGllcyBhIHNpbmsgd2hpY2ggdGFrZXMgdmlkZS94LXZkcGF1LW91dHB1dCBidWZmZXJzCgkgIGFuZCBvdXRwdXRzIGl0IHRvIHRoZSBzY3JlZW4uCgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyBpcyBhbiBlbGVtZW50IHdoaWNoIHRha2VzIHZpZGVvL3gtdmRwYXUtdmlkZW8gYnVmZmVycyBhbmQKCSAgb3V0cHV0cyB2aWRlby94LXZkcGF1LW91dHB1dCBidWZmZXJzLiBUaGUgZWxlbWVudCBjYW4gYWxzbyBkbyB0aGluZ3MgbGlrZQoJICBkZWludGVybGFjaW5nIGFuZCBvdGhlciBwb3N0cHJvY2Vzc2luZyBidXQgdGhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LgoKMjAwOS0wNi0yOSAyMjo1MDo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdmRwYXU6IGNoZWNrIGZvciB2ZHBhdSB3aXRoIHBrZy1jb25maWcgZmlyc3QKCjIwMDktMDYtMjQgMTc6NTE6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgdmRwYXU6IHNwbGl0IGdzdF92ZHBfbXBlZ19kZWNfcmVzZXQgaW50byBzdGFydCBhbmQgc3RvcAoKMjAwOS0wNi0yNCAxMTozNjoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGRvbid0IHB1dCB0aGUgR3N0VmRwRGV2aWNlIGluIHRoZSBjYXBzCgoyMDA5LTA2LTIzIDIzOjAzOjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvWVVWIGltcGxlbWVudCBwYWRfYWxsb2MKCSAgYWxzbyBjaGFuZ2UgR3N0VmRwTXBlZ0RlYyBhbmQgR3N0VmRwWVVWVmlkZW8gdG8gbWFrZSB1c2Ugb2YgdGhpcwoKMjAwOS0wNi0yMyAxNzoyNjoyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgc3VwcG9ydCBmb3IgWVVZMgoKMjAwOS0wNi0yMyAxNzoxNjoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDA5LTA2LTIzIDE2OjU3OjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZmFjdG9yIG91dCBjb21tb24gY2FwcyBjYWxjdWxhdGlvbiBhbmQgcHV0IGl0IGluIGdzdHZkcHV0aWxzLltjaF0KCjIwMDktMDYtMjIgMjM6MjU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiByZWZhY3RvciBHc3RWZHBWaWRlb1lVViBhbmQgR3N0VmRwWVVWVmlkZW8KCjIwMDktMDYtMjIgMjI6MTc6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFlVVlZpZGVvIGluaGVyaXQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtCgoyMDA5LTA2LTIyIDExOjAwOjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIHZkcGF1OiBmaXh1cCBzb21lIGRlYnVnIHByaW50cwoKMjAwOS0wNi0yMiAxMDo1NzoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9ZVVYgaW5oZXJpdCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMDktMDktMTYgMDg6MjI6MTkgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IFN1cHBvcnQgQVNDSUkgZm9ybWF0IGZvciBlbmNvZGluZyBhbmQgaGFuZGxlIHVuc3VwcG9ydGVkIGZvcm1hdHMgYmV0dGVyIGluIHRoZSBkZWNvZGVyCgkgIEZpeGVzIGJ1ZyAjNTk1MjE1LgoKMjAwOS0wOS0xNSAyMzozMjowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBIYW5kbGUgYmFzZV90aW1lIHdoZW4gc2VuZGluZyBzZWdtZW50IHVwZGF0ZXMuCgkgIERvbid0IHNlbmQgYm9ndXMgbmV3IHNlZ21lbnQgdXBkYXRlIGV2ZW50cyB3aGVuIHRoZSBzdHJlYW0gZG9lc24ndAoJICBzdGFydCBhdCAwLiBGaXhlcyBicm9rZW4gc2Vla2luZyBpbiBzb21lIGZpbGVzLgoJICBGaXhlczogIzU5NDgxMgoKMjAwOS0wOC0xOCAxMzozNTo1OSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVndHNkZW11eCwgbXBlZ3RzcGFyc2U6IG1heCBzZWN0aW9uIGxlbmd0aCBpcyA0MDkzIG5vdCAxMDIxLgoKMjAwOS0wOC0xOCAwMTowODowMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBwYWQgZm9yIERWQiBTdWJ0aXRsaW5nIHBhZHMKCjIwMDktMDktMTMgMTk6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBVc2UgY29ycmVjdCByb3dzdHJpZGUgZm9yIDggYml0IGdyYXlzY2FsZSB0b28KCjIwMDktMDktMTMgMTk6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBDb3JyZWN0bHkgY29udmVydCBmcm9tL3RvIEdTdHJlYW1lciByb3dzdHJpZGUKCjIwMDktMDktMTMgMTk6MTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBGaXggY2FwcwoJICA4IGJpdCBncmF5c2NhbGUgY2FwcyBoYXZlIG5vIGVuZGlhbm5lc3MgZmllbGQgYW5kIHRoZSBjYXBzIG5hbWUKCSAgb2YgR1NUX1ZJREVPX0NBUFNfUkdCIGlzIHN0aWxsICJ2aWRlby94LXJhdy1yZ2IiIGFuZCBub3QgR1NUX1ZJREVPX0NBUFNfUkdCLgoKMjAwOS0wOS0xMyAxOToxMzoyNCArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tOiBMb3RzIG9mIGJ1Z2ZpeGVzCgkgICgxKSBGaXggZXhhbXBsZXMuCgkgICgyKSBBZGQgc3VwcG9ydCBmb3IgZ3JheSBpbWFnZXMuCgkgICgzKSBSZW1vdmUgInVzZV9maXhlZF9jYXBzIiB3aGljaCBkb2Vzbid0IHNlZW0gdG8gYmUgdXNlZnVsLgoJICAoNCkgRG8gcHJvcGVyIG5lZ290aWF0aW9uIGluIHRoZSBlbmNvZGVyLgoJICAoNSkgRml4IG1lbWxlYWsgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gaW4gdGhlIGVuY29kZXIuCgkgICg2KSBLZWVwIGEgbGluayB0byB0aGUgc3JjIHBhZCBpbiB0aGUgZW5jb2RlciBub3cgdGhhdCB3ZSBuZWVkIGl0IG1vcmUgb2Z0ZW4uCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzE2NDg3MC4KCjIwMDktMDktMTIgMTg6NTc6MDUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIEZpeCBmYWN0b3J5IGluZm9ybWF0aW9uIGZvciBoMjY0cGFyc2UsIGFkZCBtaXNzaW5nIFZpZGVvCgoyMDA5LTA5LTExIDE0OjM4OjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRml4IGFuIG9mZi1ieS04IGJ1ZyBpbiBwYXJzaW5nIHRoZSBBSUZGIGRhdGEgc2l6ZS4KCSAgVGhpcyBsZWQgdG8gb3ZlcnJlYWRpbmcgYnkgOCBieXRlcywgZ2l2aW5nIGFuIGF1ZGlibGUgZ2xpdGNoIGF0IHRoZSBlbmQgb2YKCSAgYSBmaWxlIChleGNlcHQgd2hlbiB0aGUgZmlsZSBkaWRuJ3QgaGF2ZSBhIHRyYWlsaW5nIGNodW5rIG9mIHNvbWUgc29ydCkuCgoyMDA5LTA5LTA4IDIwOjUyOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXNlIEdTVF9USU1FX0ZPUk1BVCBpbiBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA5LTA4IDA5OjIwOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVzZXQgc3RyZWFtLT5sYXN0X3RpbWUgd2hlbiBmbHVzaGluZy4KCSAgVGhpcyBmaXhlcyBuYWl2ZSBzZWVraW5nIGEgdGlueSBiaXQgKGJ5IGJhc2ljYWxseSBoaW50aW5nIGF0IF9kYXRhX2NiCgkgIHRoYXQgaXQgc2hvdWxkbid0IGV4cGVjdCB0aGUgaW5jb21pbmcgYnVmZmVycyB0byBiZSB0aGUgb25lcyBqdXN0IGFmdGVyCgkgIHRoZSBwcmV2aW91cyBvbmVzKS4KCSAgV2l0aG91dCB0aGlzLCBzZWVraW5nIGJ5IG1vcmUgdGhhbiAxMG1pbnMgZm9yd2FyZCB3b3VsZCBqdXN0IGVuZCB1cCBpbiBhbgoJICBlbmRsZXNzIGxvb3AuCgoyMDA5LTA5LTA4IDA5OjE4OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3ByaW5rbGUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zLgoKMjAwOS0wOS0xMCAxMjoxMjoyNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFdoZW4gd3JpdGluZyBpZDN2Mi4zLCBkbyBub3QgdXNlIFVURi04LgoJICBVVEYtOCBpcyBvbmx5IHBlcm1pdHRlZCBpbiB2Mi40LiBTbyBpbnN0ZWFkIHVzZSBJU08tODg1OS0xIGZvciBhc2NpaS1vbmx5CgkgIHN0cmluZ3MsIGFuZCBVVEYxNiBvdGhlcndpc2UuIEFsc28sIGRvIG5vdCBudWxsIHRlcm1pbmF0ZSBzdHJpbmdzIGluIHRleHQKCSAgZnJhbWVzLCBleGNlcHQgd2hlcmUgcmVxdWlyZWQuIFRoZXNlIHR3byBhbGxvdyB3aW5kb3dzIG1lZGlhIHBsYXllciB0byBwbGF5CgkgIChhbmQgY29ycmVjdGx5IHJlYWQgdGFncykgZmlsZXMgY3JlYXRlZCBieSBpZDNtdXguCgoyMDA5LTA3LTIzIDE2OjEzOjI4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogY29tcGxldGUgaW1hIGFkcGNtIHN1cHBvcnQuCgoyMDA5LTA3LTIzIDExOjU5OjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogY2hlY2twb2ludCBmb3IgaW5jb21wbGV0ZSBJTUEgQURQQ00gc3VwcG9ydC4KCjIwMDktMDktMTAgMTI6MDI6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBGaXggZm9ybWF0IHN0cmluZ3MgYW5kIGluY2x1ZGUgY29ycmVjdCBpMThuIGhlYWRlcgoKMjAwOS0wOS0xMCAxMTo1ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IEZpeCBpbmRlbnRpb24sIGxpbmUgZW5kaW5ncyBhbmQgdXNlIExSTidzIHJlYWwgbmFtZQoKMjAwOS0wOS0wOSAxOToxNDoyNyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogSW5pdGlhbCB2ZXJzaW9uIG9mIHZpZGVvbWVhc3VyZSBwbHVnaW4KCSAgVGhpcyBwbHVnaW4gY29udGFpbnMgZWxlbWVudHMgZm9yIGNhbGN1bGF0aW5nIG1ldHJpY3Mgb2YgdmlkZW8gc3RyZWFtcywgaW50ZW5kZWQgZm9yIG9iamVjdGl2ZSB2aWRlbyBjb2RlYyBjb21wYXJpc29uLgoJICBBdCB0aGUgbW9tZW50IG9ubHkgU1NJTSBtZXRyaWMgaXMgaW1wbGVtZW50ZWQgKHdoeSB3b3VsZCB5b3UgbmVlZCBhbnl0aGluZyBlbHNlIGFueXdheT8pLgoJICBBbHNvIGNvbnRhaW5zIGEgaGVscGVyIHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IgZWxlbWVudCB0aGF0IGNvbGxlY3RzIG1lYXN1cmVtZW50IGV2ZW50cyBhbmQgb3V0cHV0cyB0aGVtIGludG8gYSBmaWxlICh0byBiZSB1c2VkIHdpdGggZ3N0LWxhdW5jaCkuCgkgIE90aGVyIG1ldHJpY3MgbWF5IGJlIGltcGxlbWVudGVkIGluIHRoZSBmdXR1cmUgYWxvbmcgd2l0aCBhIGJhc2UgY2xhc3MgZm9yIGFsbCBtZWFzdXJlcnMuCgkgIEZpeGVzIGJ1ZyAjNTk0MzIxLgoKMjAwOS0wOS0xMCAwODo1NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBubTogTWFyayBQTk0gcGx1Z2luIGFzIGV4cGVyaW1lbnRhbCBiZWNhdXNlIGl0IGRvZXNuJ3Qgd29yayB3ZWxsIHlldAoKMjAwOS0wOS0xMCAwODo1Mzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IFBhcnRpYWxseSBmaXggbmVnb3RpYXRpb24gaXNzdWVzIGFuZCByZWZjb3VudCBsZWFrcwoKMjAwOS0wOS0xMCAwODo0ODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCBuZWdvdGlhdGlvbiBpc3N1ZXMgYW5kIHJlZmNvdW50IGxlYWtzCgoyMDA5LTA5LTEwIDA4OjI5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkgIHBubTogRml4IHR5cGVmaW5kZXIgY2FwcwoKMjAwOS0wOS0xMCAwODoyMzoyMiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBBZGQgUE5NIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMKCSAgRml4ZXMgYnVnICMxNjQ4NzAuCgoyMDA5LTA5LTEwIDA3OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkgIHNpZ25hbHByb2Nlc3NvcjogRml4IHZhcmlvdXMgYnVpbGQvZGlzdCBpc3N1ZXMKCSAgSW5zdGFsbCB0aGUgaGVhZGVycywgdmVyc2lvbiB0aGUgbGlicmFyeSB3aXRoIEBHU1RfTUFKT1JNSU5PUkAsCgkgIGFkZCBhbGwgcmVxdWlyZWQgbGlicmFyaWVzIHRvIF9MSUJBREQgaW5zdGVhZCBvZiBfTERGTEFHUywKCSAgYW5kIGFkZCBHU1RfKl9MREZMQUdTIHRvIF9MREZMQUdTLgoJICBGaXhlcyBidWcgIzU5NDcxNS4KCjIwMDktMDktMDkgMTQ6MzQ6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogY2FjaGUgZGV2aWNlIGNhcHMKCjIwMDktMDktMDkgMTI6NDE6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93dmlkZW9zcmM6IHVzZSBJRW51bU1lZGlhVHlwZXMgd2hlbiBJQU1TdHJlYW1Db25maWcgaXMgbm90IHVzYWJsZQoJICBGb3Igc29tZSBkZXZpY2UgZHJpdmVycyBJQU1TdHJlYW1Db25maWcgaXMgbm90IHN1cHBvcnRlZC4KCSAgQnV0IEVudW1NZWRpYXR5cGVzIGRvZXMgbm90IHByb3ZpZGUgcmFuZ2Ugc2l6ZSBhbmQgZnJhbWVyYXRlLgoKMjAwOS0wOS0wNiAxMTo1MDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTA5LTA4IDIyOjI0OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cyBmb3IgZGlzY3JlcGFuY3kgY2FzZXMgYW5kIHBsdWcgbWVtbGVhawoKMjAwOS0wOS0wNiAxMTo0OToxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHNwcmlua2xlIHNvbWUgbW9yZSBHXyhVTilMSUtFTFkKCjIwMDktMDktMDYgMTE6NDQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBlbmZvcmNlIHN5bmMgYmV0d2VlbiB3cmFwcGVyIHZpZXcgb2YgZGF0YSBhbmQgZW5jb2RlciByZXR1cm5lZCBkYXRhCgoyMDA5LTA5LTA1IDIxOjM1OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZhYWMgdG8gZG9jdW1lbnRhdGlvbgoKMjAwOS0wOS0wNSAyMTozNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCjIwMDktMDgtMzEgMTk6MzE6NTcgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogbWFrZSBHU1RfRk9STUFUX1RJTUUgdGhlIGRlZmF1bHQgc2VnbWVudCBmb3JtYXQKCjIwMDktMDgtMzEgMTk6MzM6NTAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzIGJ1ZyAjNTk0Mjc4LgoKMjAwOS0wOS0wOCAxNToxNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdXNhZ2Ugb2YgX19hbHdheXNfaW5saW5lX18gYXR0cmlidXRlCgkgIFRoaXMgYXR0cmlidXRlIGNhbid0IGJlIHVzZWQgZm9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBiZWNhdXNlCgkgIGl0IG5lZWRzIHRoZSBmdW5jdGlvbiBib2R5LiBJbnN0ZWFkIG9mIGEgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZgoJICBmdW5jdGlvbnMsIG1vdmUgdGhlIGZ1bmN0aW9uIGl0c2VsZiBhYm92ZSBpdCdzIGZpcnN0IHVzZS4KCSAgRml4ZXMgYnVnICM1OTQ0ODkgYW5kIGNvbXBpbGF0aW9uIHdpdGggZ2NjIDQuMyBhbmQgZWFybGllci4KCjIwMDktMDktMDcgMTc6MzM6MTUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJhc3MgPSAwLjkuNgoJICBGaXhlcyBidWcgIzU5NDM4Mi4KCjIwMDktMDktMDcgMTk6MDg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggYXNwZWN0LXJhdGlvIHBhcnNpbmcgaW4gVk8KCjIwMDktMDktMDcgMTY6MjA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhbHNvIGNvbnNpZGVyIHVzZXJfZGF0YSBwaWVjZXMgd2hlbiBwYXJzaW5nIFZPKFMpCgoyMDA5LTA5LTA3IDE2OjQ0OjUyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUwoKMjAwOS0wOS0wNyAxNTo0NDoxNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVwZ3JhZGUgZnJvemVuIGJ1aWxkIHRvIHZzOQoKMjAwOS0wOS0wNyAxNToyMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogaW5kZW50IGRzaG93c3Jjd3JhcHBlci5jcHAKCjIwMDktMDktMDcgMTU6MTI6NTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBSZXZlcnQgImRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVudXNlZCBleHRlcm4gQyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkM2M4OGQ2MzdkN2U3ZDYwZjE0MzdjY2QzZGZjMjNiMzdlMmEzMjBlLgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSB0aGUgZW50cnkgcG9pbnQgaXNuJ3QgZm91bmQgYmVjYXVzZSBvZgoJICBDKysgYnVpbGQuCgoyMDA5LTA5LTA3IDEwOjU5OjUzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogaW5kZW50CgoyMDA5LTA5LTA3IDEwOjUxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNvbnZlcnQgbGluZSBlbmRlZCBjaGFyYWN0ZXJzIHRvIExGCgoyMDA5LTA5LTA3IDEwOjM4OjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdW51c2VkIGV4dGVybiBDCgoyMDA5LTA5LTA3IDEwOjMxOjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IGdvIGJhY2sgdG8gcHJldmlvdXMgbW9kZQoKMjAwOS0wOS0wNSAxMDoyMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAwYTg1OWUgdG8gMTlmYTRmMwoKMjAwOS0wOS0wNCAxOToxNzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpL3RpbWlkaXR5OiBBZGQgYXVkaW8vcmlmZi1taWRpIHRvIHRoZSBzcmMgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMDktMDktMDQgMTc6MzI6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBmaXggc2V0dGluZyBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkCgkgIEFsc28gc2V0IHRoZSBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkIHdoZW4gdGhlIGlucHV0IGJ1ZmZlcnMgZG9uJ3QgaGF2ZSBjYXBzLgoKMjAwOS0wOS0wNCAxNzoyNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IGNsZWFudXBzIGFuZCBmaXggc2Vla2luZwoJICBSZW1vdmUgdGltZV9wZXJfZnJhbWUsIGl0J3MgdG9vIGluYWNjdXJhdGUuCgkgIEZpeCBjb252ZXJ0IGZvciAtMSB2YWx1ZXMuCgkgIFVzZSBzY2FsaW5nIHRvIGNvbnZlcnQgc2FtcGxlcyB0byB0aW1lLgoJICBGaXggc2VnbWVudCBoYW5kbGluZy4KCSAgRml4IHNlZWtpbmcuCgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgKG5vdCB5ZXQgZW5hYmxlZCkKCSAgUHJvdGVjdCB0aGUgV2lsZE1pZGkgbGlicmFyeSB3aXRoIHRoZSBvYmplY3QgbG9jayB0byBhdm9pZCByYWNlcyB3aGVuIGNoYW5naW5nCgkgIHByb3BlcnRpZXMuCgkgIEZpeCBvZmZzZXRzIG9uIG91dHB1dCBidWZmZXJzLCBmb3IgcmF3IGF1ZGlvIHRoZSBvZmZzZXQgY29udGFpbnMgdGhlIHNhbXBsZQoJICBwb3NpdGlvbiBub3QgYnl0ZSBwb3NpdGlvbi4KCSAgQWRkIGJldHRlciBESVNDT05UIGhhbmRsaW5nLgoJICBGaXhlcyAjNTE5MDAxCgoyMDA5LTA5LTA0IDE2OjI5OjUzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IG1vdmUgVklERU9fU1RSRUFNX0NPTkZJR19DQVBTIHRvIEdzdENhcHR1cmVQaW5NZWRpYVR5cGUKCjIwMDktMDktMDQgMTQ6MTE6MzMgKzAxMDAgIGNocmlzdGlhbiBzY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOS0wNCAxNDoxMDo1NSArMDEwMCAgY2hyaXN0aWFuIHNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDktMDQgMTM6MTM6MzkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBoYW5kbGUgYWxsIHJlZGlyZWN0aW9uIGh0dHAgc3RhdHVzIGNvZGVzCgoyMDA5LTA5LTA0IDEyOjUzOjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogaW4gc2Vla2luZyB1c2UgYSBmYWN0b3IgZm9yIFNDUiBpbnRlcnBvbGF0aW9uCgkgIEZpeGVzIHNlZWtpbmcgb24gY2xpcHMgd2hlcmUgUFRTIGFyZSB1bmFsaWduZGVkIHdpdGggU0NSLgoKMjAwOS0wOS0wNCAxMjo0MDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgc2lyZW5kZWM6IHJld3JpdGUgc2lyZW5kZWMKCSAgQWRkIHNldGNhcHMgYW5kIGV2ZW50IGZ1bmN0aW9ucy4KCSAgQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgdG8gY2xlYW4gdmFyaWFibGVzLgoJICBVc2UgYWRhcHRlci4KCSAgQWRkIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEFkZCBESVNDT05UIGhhbmRsaW5nLgoKMjAwOS0wOS0wNCAxMjo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbmVuYzogY2xlYW51cHMKCjIwMDktMDktMDQgMTI6MzU6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHNldCBzcGVjaWZpYyBjYXBzIGZvciBscGNtIGluIHByaXZhdGUgc3RyZWFtCgkgIEluIHRoZSBjbGlwcyB0aGF0IEkndmUgZm91bmQgdGhvc2Ugc3RyZWFtcywgdGhlIGxwY20gaGVhZGVyIGlzCgkgIGRpZmZlcmVudCB0aGFuIHRoZSBEVkQgY2FzZS4KCSAgVGhlbiB0aGUgZGVjb2RlciBuZWVkIHRvIGtub3cgdGhpcyBpbiBvcmRlciB0byBiZSBhYmxlIHBhcnNlIGl0LgoKMjAwOS0wOS0wNCAxMjozMDoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBhZGRlZCBhdXRvZGV0ZWN0IG9mIHBhY2tldCBzaXplIGFuZCByZW1vdmVkIG0ydHMgbW9kZSBwcm9wZXJ0eQoKMjAwOS0wOS0wNCAxMjowODo0NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vY2FwQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDktMDQgMTI6MDg6MDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IG1vdmUgZGVmYXVsdCB2aWRlbyBjYXBzIGludG8gR3N0Q2FwdHVyZVBpbk1lZGlhVHlwZQoKMjAwOS0wOS0wNCAxMjowMjoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHNvbWUgbW9yZSBoYW5kbGluZyBvZiBWQzEgYW5kIEVBQzMKCSAgSWYgdGhlIFBNVCBoYXZlIHRoZSByZWdpc3RlciBkZXNjcmlwdG9yIEhETVYgYXNzdW1lIEVBQzMKCSAgRm9yIFZDMSBtYWtlIHRoZSBjb2RlIG1vcmUgYWxpZ25lZCB0byBSUDIyNy4KCjIwMDktMDctMTYgMTA6MDY6MzYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIFRyeSB0byBmaXQgc3VidGl0bGVzIHdpdGhpbiB0aGUgdmlkZW8gZnJhbWUgd2hlbiB0aGV5J3JlIHRvbyBsYXJnZQoKMjAwOS0wOS0wMSAyMTozMDozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBTZXQgdGhlIEdTdHJlYW1lciB0aW1lc3RhbXAgYWNjb3JkaW5nIHRvIHRoZSBwY2FwIHRpbWVzdGFtcHMKCjIwMDktMDktMDMgMTk6MDQ6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBmaXggZXZlbnRzIGFuZCBjYXBzCgkgIEFkZCBhbiBldmVudCBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgYWRhcHRlci4KCSAgQWRkIGEgc2V0Y2FwcyBmdW5jdGlvbiB0byBjb25maWd1cmUgY2FwcyBvbiB0aGUgc3JjcGFkLiBSZW1vdmUgdGhlIGluc3RhbmNlCgkgIHZhcmlhYmxlIGZvciB0aGUgY2Fwcy4KCjIwMDktMDktMDMgMTg6NDM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBmaXggdGltZXN0YW1waW5nCgkgIEhhbmRsZSBESVNDT05UIGFuZCByZXNldCBhZGFwdGVyLgoJICBjb2RlIGNsZWFudXBzLgoJICBQdXQgdGltZXN0YW1wcyBhbmQgZGlzY29udCBmbGFncyBvbiBvdXRwdXQgYnVmZmVycy4KCSAgRml4IGVycm9yIGhhbmRsaW5nLgoJICBSZW1vdmUgYm9ndXMgb2JqZWN0IGxvY2tzLCBpdCdzIGFsbCBwcm90ZWN0ZWQgYnkgdGhlIFNUUkVBTV9MT0NLLgoKMjAwOS0wOS0wMyAxNzo0OTo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogZmFjdG9yaXplIGRzaG93IGZvcm1hdCB0byBnc3QgY2FwcyBjb252ZXJzaW9uCgoyMDA5LTA5LTAzIDE3OjIwOjQ3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIGNwbHVzcGx1cyBjb25kaXRpb24KCjIwMDktMDktMDMgMTc6MTI6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IGZhY3Rvcml6ZSBkc2hvdyB2aWRlbyBmb3JtYXQgcGFyc2luZwoKMjAwOS0wOS0wMyAxNTo0NTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJZiBzdHJlYW0gdHlwZSBpcyBBQzMgYW5kIG5vIEVBQzMgZGVzY3JpcHRvciBpcyBmb3VuZCBhc3N1bWUgQUMzCgoyMDA5LTA5LTAzIDE1OjQwOjE0ICswMjAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBFQUMzIGhhbmRsaW5nIGFjY29yZGluZyBzb21lIEFUU0Mgc3BlY3MuCgkgIEZpeGVzIGJ1ZyAjNTk0MDMwLgoKMjAwOS0wOS0wMyAwMDoyODoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IG1vdmUgeGRnIHR5cGVmaW5kZXIgdG8gdGhlIG90aGVyIHR5cGVmaW5kZXJzIGluIC1iYXNlCgkgIFJlbW92ZSB0aGUgeGRnbWltZSBwbHVnaW4gd2hpY2ggbm93IGJhcmVseSBjb250YWlucyBhbnkgY29kZSBhdCBhbGwKCSAgYW5kIG1vdmUgdGhlIGZ1bmN0aW9uYWxpdHkgaW50byBnc3QtcGx1Z2lucy1iYXNlIG5leHQgdG8gdGhlIG90aGVyCgkgIHR5cGVmaW5kZXJzLgoKMjAwOS0wOS0wMiAxMzozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVnc211eCwgbXBlZ3BzbXV4OiBmaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgd2l0aCB0aGUgZGVidWdnaW5nIHN5c3RlbSBpbiBjb3JlIGRpc2FibGVkCgoyMDA5LTA5LTAxIDEyOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN0cmVhbSB0eXBlIDB4ODEgaXMgbm9ybWFsIEFDMywgbm90IEVBQzMKCSAgTm90IHN1cmUgd2hhdCB0aGUgc3RyZWFtIHR5cGUgZm9yIEVBQzMgaXMgdGhvdWdoLgoJICBGaXhlcyBidWcgIzU5MzA1OS4KCjIwMDktMDgtMzAgMjM6MDc6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWZhY3RvciBzbGlnaHRseSBhbmQgcmVtb3ZlIHN1cGVyZmx1b3VzIGNvZGUKCjIwMDktMDgtMzAgMjM6MDY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmcmVzaGVuIHVwIGNhcHMgbmVnb3RpYXRpb24KCSAgUGVyZm9ybSBzaW5rIGFuZCBzcmMgY2FwcyBuZWdvdGlhdGlvbiBkdXJpbmcgY2FwcyBuZWdvdGF0aW9uLAoJICBhbmQgYWxzbyBjYXRlciBmb3IgcmUtbmVnb3RpYXRpb24uCgoyMDA5LTA4LTMwIDIzOjAwOjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiByZXdyaXRlIGRhdGEgY2FjaGluZyBhbmQgdGltZXN0YW1wIGhhbmRsaW5nCgkgIEFsc28gZml4ZXMgIzU5MzM0OC4KCjIwMDktMDgtMzEgMTg6NTU6NTIgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEEgbGl0dGxlIGNsZWFuIHVwLgoJICBSZW9yZGVyIHRoZSBsaXN0IG9mIEFNX0NPTkRJVElPTkFMKClzIHVzZWQgd2hlbiAtLWRpc2FibGUtZXh0ZXJuYWwgaXMKCSAgc3BlY2lmaWVkIHRvIG1hdGNoIHRoZSBhY3R1YWwgb3JkZXIgb2YgdGhlIHBsdWctaW5zIGVhcmxpZXIgaW4gdGhlIGZpbGUuCgoyMDA5LTA4LTMxIDE4OjQ5OjE2ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbGxvdyAtLWRpc2FibGUtZXh0ZXJuYWwgdG8gYmUgc3BlY2lmaWVkIGFnYWluLgoKMjAwOS0wOC0zMSAxODo0Nzo0NCArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWxsb3cgLS1kaXNhYmxlLWthdGUgdG8gYWN0dWFsbHkgYmUgc3BlY2lmaWVkLgoKMjAwOS0wOC0zMSAxODo0MTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogY2xlYW51cCBlcnJvciBoYW5kbGVyCgoyMDA5LTA4LTMxIDE4OjM0OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmcmVlIHRoZSBhZGFwdGVyCgoyMDA5LTA4LTMxIDE4OjMyOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBjbGVhbnVwcwoKMjAwOS0wOC0zMSAxODoyMTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogYWxsb3cgZm9yIHB1c2ggbW9kZSBvcGVyYXRpb24KCSAgRml4ZXMgIzU4NjkyOQoKMjAwOS0wOC0zMSAxODoyMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IHVzZSBzdGF0ZSBtYWNoaW5lCgkgIFVzZSBhIHN0YXRlIG1hY2hpbmUgdG8ga2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBzdGF0ZS4KCSAgQWRkIGNoYWluIGZ1bmN0aW9uIGFuZCBldmVudCBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZC4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDA5LTA4LTMxIDE3OjM4OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiByZW1vdmUgdXNlbGVzcyBmdW5jdGlvbiBjYWxscwoKMjAwOS0wOC0zMSAxNzozMzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IHNldCBjYXBzIG9uIHBhZAoJICBTZXQgdGhlIGNhcHMgb24gdGhlIHBhZCBhbmQgdXNlIHRob3NlIGNhcHMgaW5zdGVhZCBvZiBrZWVwaW5nIGEgc2VwYXJhdGUgY2FwcwoJICBwb2ludGVyIGFyb3VuZC4KCSAgRml4IHNvbWUgd2hpdGVzcGFjZS4KCjIwMDktMDgtMzEgMTc6Mjc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCB3aGl0ZXNwYWNlCgoyMDA5LTA4LTMxIDE2OjA3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJICBrYXRlOiBmaXggdHlwbyBpbiBNYWtlZmlsZS5hbQoJICBHU1RfUExVR0lOX0JBU0VfTElCUyBzaG91bGQgYmUgR1NUX1BMVUdJTlNfQkFTRV9MSUJTLiBGaXhlcyAjNTkzNjgzLgoKMjAwOS0wOC0zMSAxMzozMToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyBmb3IgZ2l0IHZlcnNpb24KCjIwMDktMDgtMzEgMTM6MTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgR3N0QWRhcHRlciBpcyBub3QgYSBHc3RPYmplY3QgYW5kIHNob3VsZCBiZSBmcmVlZCB3aXRoIGdfb2JqZWN0X3VucmVmKCkKCjIwMDktMDgtMzEgMTM6MDA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgYW4gb2xkLWZhc2hpb25lZCBhcnJheSBpbnN0ZWFkIG9mIEdQdHJBcnJheSBmb3IgbXV4LT5wcm9ncmFtcwoJICBVc2luZyBHUHRyQXJyYXkgZm9yIGEgZml4ZWQtc2l6ZWQgYXJyYXkgaXMgYSBiaXQgcG9pbnRsZXNzIGFuZCBtYWtlcwoJICBmb3IgdWdseSBjb2RlLgoKMjAwOS0wOC0zMSAxMDo0ODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5oOgoJICBtcGVncHNtdXg6IEFkZCBtaXNzaW5nIGZpbGVzIHRvIGZpeCBjb21waWxhdGlvbgoJICBGaXhlcyBidWcgIzU5MzYyNS4KCjIwMDktMDgtMTAgMDE6MTQ6MTkgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZXhhbXBsZXMvbXB0c190ZXN0Mi5jOgoJICBtcGVndHNtdXg6IFRlc3QgcHJvZ3JhbSBvZiBtcHRzIHN1cHBvcnQgaXMgYWRkZWQKCjIwMDktMDctMjIgMjA6Mjc6MzYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBNaW5vciBmaXhlcwoKMjAwOS0wNy0yMiAyMDoyNTo0MiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG11eC0+cHJvZ3JhbXM6IHVzZSBHUHJ0QXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkKCjIwMDktMDctMTEgMTk6Mjk6NTMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtcGVndHNtdXhfY29sbGVjdGVkKCk6IGNhbGN1bGF0ZSBQQ1IgZm9yIHByb2dyYW1zCgoyMDA5LTA3LTExIDE5OjE1OjEyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW1zKCk6IGNyZWF0ZSBtdWx0aSBzdHJlYW1zCgoyMDA5LTA3LTExIDE5OjEzOjIzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogTXBldFRzUGFkRGF0YTogYWRkIHByb2dfaWQgYW5kIHJlZiB0byBpdHMgcHJvZ3JhbQoKMjAwOS0wNy0xMSAxOTowOToxNyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IEV4dGVuZCBtdXgtPnByb2dyYW0gdG8gYSBHQXJyYXkgcHJvZ3JhbXMKCjIwMDktMDctMTEgMTc6NDQ6NTQgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBBZGQgbmV3IHByb3BlcnR5IHByb2ctbWFwIHRvIHRoZSBtdXhlcgoKMjAwOS0wOC0xOCAxMjoxNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZyZWUgdGhlIFBQUyBidWZmZXJzIHRvbwoKMjAwOS0wOC0xNyAxODowMzowMCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbXB1dGUgdGltZXN0YW1wCgoyMDA5LTA4LTE3IDE3OjU4OjQ2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVjb2duaXplIG1vcmUgdHlwZXMgb2YgTkFMCgkgIEFsc28gcmVjb2duaXplcyBOQUxzIGNhcnJ5aW5nIFZDTCAoaS5lLiB2aXNpYmxlIHBpY3R1cmVzKS4gV2UKCSAgdHlwaWNhbGx5IG9ubHkgY29tcHV0ZSB0aW1lc3RhbXBzIGZvciBzdWNoIE5BTHMKCjIwMDktMDgtMTcgMTc6NTY6MjYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBwYXJzZXIgaW5pdCAmIGZpbmFsaXplCgoyMDA5LTA4LTE3IDE3OjUzOjQzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIHNsaWNlIGhlYWRlcgoKMjAwOS0wOC0xNyAxNzo1MzoxMSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUkKCjIwMDktMDgtMTcgMTc6NTI6NDcgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJOiBwaWN0dXJlIHRpbWluZyBpbmZvCgoyMDA5LTA4LTE3IDE3OjUyOjEyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSTogYnVmZmVyaW5nIHBlcmlvZAoKMjAwOS0wOC0xNyAxNzo1MTozNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBQUFMKCjIwMDktMDgtMTcgMTc6NTE6MTAgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU1BTCgoyMDA5LTA4LTE3IDE3OjUwOjMzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU1BTOiBkZWNvZGUgdnVpIHBhcmFtcwoKMjAwOS0wOC0xNyAxNzo1MDowMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNQUzogZGVjb2RlIGhyZCBwYXJhbXMKCjIwMDktMDgtMTcgMTc6NDQ6MzggKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBzbGljZSBoZWFkZXIgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjQzOjUxICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgU0VJIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzo0MjowNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFBQUyBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6Mzg6NTkgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBTUFMgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTExIDEyOjAwOjEwICswMjAwICBMaW4gWWFuZyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9iaXRzLmg6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IEFkZCBNUEVHIFBTIG11eGVyCgoyMDA5LTA4LTEzIDE2OjQ1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2ZzogQWRkIFJTVkcgU1ZHIGRlY29kZXIgcGx1Z2luCgkgIFRoaXMgc3VwcG9ydHMKCSAgLSBkZWNvZGluZyBzaW5nbGUgU1ZHIGltYWdlcyBhbmQgYSBzdHJlYW0gb2YgU1ZHIGltYWdlcyB3aXRoIGEgZ2l2ZW4gZnJhbWVyYXRlCgkgIC0gbG9zc2xlc3Mgc2NhbGluZyBvZiBTVkcgaW1hZ2VzCgkgIC0gQVJHQiBvdXRwdXQKCjIwMDktMDgtMzEgMDk6MTE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYmFzcyA+PSAwLjkuNyBhbmQgZml4IGFzcGVjdCByYXRpbyBzZXR0aW5nCgkgIEZpeGVzIGJ1ZyAjNTc1MjYxLgoKMjAwOS0wOC0zMCAyMjoyMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFVuY29uZGl0aW9uYWxseSB1c2UgR0xpYiAyLjE2IEFQSQoKMjAwOS0wOC0zMCAyMjoxNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50Lmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuaDoKCSAgeGRnbWltZTogQWx3YXlzIHVzZSBHTGliIGluc3RlYWQgb2YgeGRnbWltZQoJICBOb3cgdGhhdCB3ZSBkZXBlbmQgb24gR0xpYiAyLjE2IHdlIGNhbiBhcyB3ZWxsIHVzZSBpdCdzCgkgIGludGVybmFsIGNvcHkgb2YgdGhlIHhkZ21pbWUgaW5zdGVhZCBvZiBvdXIgb3duLgoKMjAwOS0wOC0zMCAyMjoxMzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFVuY29uZGl0aW9uYWxseSB1c2UgR0xpYiAyLjE2IEFQSQoKMjAwOS0wOC0xOSAxNzoxODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcnNuc3RyZWFtc2VsZWN0b3I6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTc6MDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0zMCAyMzozODo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTQuMQoKPT09IHJlbGVhc2UgMC4xMC4xNCA9PT0KCjIwMDktMDgtMzAgMDA6MjQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gdG8gYSB2ZXJzaW9uIHRoYXQgaW5jbHVkZXMgYSBmaXhlZCBtYW5nbGUtdG1wbC5weQoJICBXaGljaCBpcyBuZWVkZWQgdG8gYnVpbGQgdGhlIHBsdWdpbiBkb2NzIGZvciB0aGUgZnJlaTByIHBsdWdpbiAoYW5kCgkgIHdhcyBpbmNsdWRlZCBpbiB0aGUgMC4xMC4xNCByZWxlYXNlIHRhcmJhbGwpLgoKMjAwOS0wOC0yOSAxOTozNTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTQKCjIwMDktMDgtMjkgMTk6MDI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wOC0yNiAwMToyMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy41IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI2IDAxOjE4OjAwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdGRyYXcsIGRpcmVjdHNvdW5kOiB1bmlmeSBDRkxBR1MgYW5kIGZpeCBjb25maWd1cmUgY2hlY2tzIGZvciBEaXJlY3RYLWJhc2VkIHBsdWdpbnMKCSAgT25lIHNldCBvZiBDRkxBR1MgZm9yIGFsbCBEaXJlY3RYLWJhc2VkIHBsdWdpbnMuIENvcnJlY3QgaGVhZGVyL2xpYnJhcnkKCSAgY2hlY2tzIGZvciBEaXJlY3RYLWJhc2VkLXBsdWdpbnMuIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYW5kIGxhYmVsIGluCgkgIGRpcmVjdHNvdW5kc3JjLgoJICBGaXhlcyAjNTkzMDY4LgoKMjAwOS0wOC0yNiAwMDoyNjo0MiArMDEwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCByaWdodCBPRkZTRVQgYW5kIE9GRlNFVF9FTkQgb24gaGVhZGVyIGJ1ZmZlcnMgdG8gbWFrZSBvZ2dtdXggaGFwcHkKCSAgV2l0aG91dCB0aGlzIG9nZ211eCB3aWxsIGp1c3Qga2VlcCBidWZmZXJpbmcgb3V0cHV0IHBhZ2VzIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM1OTMwMjQuCgoyMDA5LTA4LTI1IDIzOjQ0OjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZCwgcmF3cGFyc2U6IGZpeCBMREZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIGxpYnMKCSAgRml4ZXMgIzU5MzA2My4KCjIwMDktMDgtMjQgMjA6MDY6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuNCBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNCAxODoxNjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IHVzZSBkaWZmZXJlbnQgZWxlbWVudCBHVHlwZSBuYW1lIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggcHJldmlvdXMgcGx1Z2luCgkgIFVzZSBhIGRpZmZlcmVudCBHVHlwZSBuYW1lIGZvciB0aGUgZWxlbWVudCB0byBhdm9pZCAnY2Fubm90IHJlZ2lzdGVyIGV4aXN0aW5nIHR5cGUnCgkgIHdhcm5pbmdzIHdoZW4gcnVubmluZyAnbWFrZSBjaGVjaycgaW4gdGhlIHVucGFja2VkIHRhcmJhbGwgd2l0aCB0aGUgb2xkIGFtcndiIHBsdWdpbgoJICBhbHNvIGluc3RhbGxlZCBhcyBzeXN0ZW0gcGx1Z2luIHVuZGVyIHRoZSBvbGQgbmFtZSAoaXQgdXNlZCB0byBiZSBjYWxsZWQgJ2FtcndyYicKCSAgYW5kIG5vdyBpdCdzICdhbXJ3YmVuYycpLgoKMjAwOS0wOC0yNCAxNDozNzoyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVzZSBvZiBkZWZhdWx0IGRlYnVnIGNhdGVnb3J5IGFuZCBiZXR0ZXIgZHNob3cgZXJyb3JzIHJlYWRhYmlsaXR5CgoyMDA5LTA4LTIxIDAxOjE3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogZml4IHRlc3Qtb3NzNCB0byB0cmVhdCBhbiBlbXB0eSBkZXZpY2UgbmFtZSB0aGUgc2FtZSBhcyBhIE5VTEwgbmFtZQoKMjAwOS0wOC0xOCAxNTo0ODowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFdyaXRlIEZPVVJDQyBhcyAzMmJpdAoKMjAwOS0wOC0xNSAxNzo1NDo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIHJlbW92ZSBhIGJ1bmNoIG9mIGp1bmsgZnJvbSBSRVFVSVJFTUVOVFMKCjIwMDktMDgtMTQgMjA6MjA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMyBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xNCAxNDoxMDoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGlzYWJsZSBhc3MgcGx1Z2luIGZvciBsaWJhc3MgPj0gMC45LjcgYmVjYXVzZSBvZiBBUEkgY2hhbmdlcwoJICBTZWUgIzU3NTI2MS4KCjIwMDktMDgtMTIgMTg6MzM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBEbyBub3QgbWVzcyB1cCBHc3RDb2xsZWN0RGF0YSBsaXN0CgkgIGFzZm11eCB3YXMgbWVzc2luZyB1cCB3aXRoIHRoZSBHc3RDb2xsZWN0RGF0YSBsaXN0IG9mIGl0cwoJICBHc3RDb2xsZWN0UGFkcyB3aGVuIHNvcnRpbmcgdGhlIGxpc3QgaW5wbGFjZS4gVGhpcyBwYXRjaCBtYWtlcwoJICBpdCBjb3B5IHRoZSBsaXN0IGJlZm9yZSBzb3J0aW5nIGl0LCBsZWF2aW5nIHRoZSBHc3RDb2xsZWN0UGFkcwoJICBsaXN0IGFzIGlzLiBGaXhlcyAjNTkxNjEwCgoyMDA5LTA4LTEyIDEyOjIzOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVU0UgR1NUX1dSSVRFXypfTEUgbWFjcm9zCgoyMDA5LTA4LTEyIDEyOjIxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZWZ1c2UgdG8gZ28gcGxheWluZyBpbiBwYXVzZWQtbW9kZSB3aXRob3V0IGNsb2NrCgkgIE9ubHkgdHJ5IHRvIHVzZSB0aGUgY2xvY2sgaW4gaWYgcGF1c2VkLW1vZGUgaXMgc2V0IGFuZCByZWZ1c2UgdG8gZ28gcGxheWluZwoJICBpbiBwYXVzZWQtbW9kZSB3aXRob3V0IGl0LgoJICBGaXhlcyBidWcgIzU5MTUzOAoKMjAwOS0wOC0xMSAxNjo0Mjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBFbXB0eSBldmVudCBxdWV1ZSBvbiBmaW5hbGl6ZQoKMjAwOS0wOC0xMSAxNjozOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFVzZSBHU2xpY2UgZm9yIGludGVybmFsIGV2ZW50IHN0cnVjdHVyZXMKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMiAxMDoyODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBibGFja2xpc3QgZm9yIGdlbmVyaWMgc3RhdGVzIHRlc3QsIGFuZCBkZW1vdGUgdG8gR1NUX1JBTktfTk9ORQoJICBUaGVzZSBlbGVtZW50cyBhcmUgbm90IGZpdCBmb3IgYXV0b3BsdWdnaW5nLCBzbyBkZW1vdGluZyB0byBSQU5LX05PTkUuCgkgIEFsc28gYmxhY2tsaXN0aW5nIGZvciBnZW5lcmljIHN0YXRlcyB0ZXN0LCBzaW5jZSBmaXhpbmcgdGhlc2UgZWxlbWVudHMKCSAgdXAgdG8gZG8gc29tZSBtaW5pbWFsIGVycm9yIGhhbmRsaW5nIHNlZW1zIHRvIGJlIGEgYml0IG1vcmUgd29yay4KCSAgUGFydGlhbGx5IGZpeGVzICM1OTE1MzguCgoyMDA5LTA4LTExIDE4OjAxOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjIgcHJlLXJlbGVhc2UuCgoyMDA5LTA4LTExIDE1OjI3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBBZGQgbXlzZWxmIHRvIE1BSU5UQUlORVJTIGZpbGUgYW5kIHVwZGF0ZSBXaW0ncyBlLW1haWwuCgoyMDA5LTA4LTExIDE0OjE3OjMyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA5LTA4LTExIDEyOjQyOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlZW5jOiBlcnJvciBvdXQgaWYgY2F0ZWdvcnkgaGFzIG5vdCBiZWVuIHNldCBhbmQgY2hlY2sgZm9yIG9idmlvdXNseSB3cm9uZyB2YWx1ZXMKCjIwMDktMDgtMTEgMDI6NDY6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cG1hbmFnZXIvLmdpdGlnbm9yZToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIE1vdmUgcnRwbWFuYWdlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgoyMDA5LTA4LTExIDA5OjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBhc2ZtdXggdW5pdCB0ZXN0IGJpbmFyeQoKMjAwOS0wOC0xMSAwOTowMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBkaXNhYmxlIHVuaXQgdGVzdHMgdGhhdCBhcmUgZmxha3kgb3IgZG9uJ3Qgd29yayB3aXRoIGNvcmUgZ2l0CgkgIGNhbWVyYWJpbiB0ZXN0IHNlZW1zIHRvIHRpbWUgb3V0IHdpdGggY29yZSBnaXQsIHNvIGRpc2FibGluZyBiZWNhdXNlCgkgIGNoYW5jZXMgYXJlIHRoZSBwcm9ibGVtIGlzIGluIHRoZSB0ZXN0IGFuZCB0aGUgY29yZSBnaXQgc3R1ZmYgd2lsbAoJICBiZSByZWxlYXNlZCBiZWZvcmUgd2UgY2FuIGZpeCB0aGUgY29kZSBpbiB0aGUgdGVzdC4KCSAgbmVvbmh0dHBzcmMgdW5pdCB0ZXN0IGlzIGEgYml0IGZsYWt5LCBpdCB0ZW5kcyB0byBmYWlsIHRoZSBmaXJzdAoJICB0aW1lIHdoZW4gY2FsbGVkICh0aGUgaG9zdC91cmwgaXQgY2hlY2tzIGZvciBzZWVtcyB0byBiZSBkb3duIGFzCgkgIHdlbGwvYW55d2F5KS4KCjIwMDktMDgtMTAgMjI6MTY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBSZW1vdmUgZXhlY3V0ZSBmbGFncyBmcm9tIHNvdXJjZSBmaWxlcwoKMjAwOS0wOC0wOSAwMjowNDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb24KCSAgVG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwOS0wOC0xMCAxNjozNTozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNhbiBsaXN0IG1vcmUgdGhhbiAxIGRldmljZQoJICBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIGNvZGUgbm93IHdvcmtzOgoJICB2ZWN0b3I8c3RyaW5nPiBnZXRWaWRlb0RldmljZU5hbWVzKCkKCSAgewoJICB2ZWN0b3I8c3RyaW5nPiBsX25hbWU7CgkgIHN0cmluZyBwcm9wZXJ0eTsKCSAgR3N0RWxlbWVudCogdmlkZW9kZXZpY2VzcmMgPSBjcmVhdGVfZWxlbWVudCgiZHNob3d2aWRlb3NyYyIsICJ2aWRlb2RldmljZXNyYyIpOwoJICBHc3RQcm9wZXJ0eVByb2JlKiBwcm9iZSA9IEdTVF9QUk9QRVJUWV9QUk9CRSAodmlkZW9kZXZpY2VzcmMpOwoJICBHVmFsdWVBcnJheSogdmEgPSBnc3RfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlc19uYW1lIChwcm9iZSwgImRldmljZS1uYW1lIik7CgkgIGlmICh2YSkKCSAgewoJICBmb3Ioc2l6ZV90IGk9MDsgaSA8IHZhLT5uX3ZhbHVlczsgKytpKQoJICB7CgkgIEdWYWx1ZSogdiA9IGdfdmFsdWVfYXJyYXlfZ2V0X250aCh2YSwgaSk7CgkgIHN0cmluZyBuYW1lKGdfdmFsdWVfZ2V0X3N0cmluZyh2KSk7CgkgIGxfbmFtZS5wdXNoX2JhY2sobmFtZSk7CgkgIH0KCSAgfQoJICBpZiAodmlkZW9kZXZpY2VzcmMpCgkgIGdzdF9vYmplY3RfdW5yZWYoR1NUX09CSkVDVCAodmlkZW9kZXZpY2VzcmMpKTsKCSAgcmV0dXJuIGxfbmFtZTsKCSAgfQoKMjAwOS0wOC0xMCAxNjoxNzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBoYW5kbGVzIGRldmljZS1uYW1lIHByb3BlcnR5CgoyMDA5LTA4LTEwIDE2OjAzOjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGEgbWVkaWEgdHlwZQoKMjAwOS0wOC0xMCAxNDozMjowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vY2FwQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDgtMTAgMTM6MjE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBzcGM6IGZpeCB0eXBvIGluIE1ha2VmaWxlLmFtIGFuZCBidWlsZCB0aGUgcmlnaHQgcGx1Z2luIChzcGMgbm90IGdtZSkKCjIwMDktMDgtMTAgMTQ6MjM6MTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IGNhbiB1c2Ugb3RoZXIgdmlkZW8gc2l6ZXMgYW5kIGZyYW1lcmF0ZXMgdGhhbiB0aGUgZGVmYXVsdHMKCSAgRXZlbiBpZiB0aGUgZGV2aWNlIGNvdWxkIGNhcHR1cmUgc2V2ZXJhbCB2aWRlbyBzaXplcyBhdCBzZXZlcmFsIGZyYW1lcmF0ZXMsCgkgIHdpdGhvdXQgdGhpcyBjb21taXQsIGl0IHdhcyBvbmx5IHBvc3NpYmxlIHRvIHVzZSBvbmUgdmlkZW8gc2l6ZSBhbmQKCSAgb25lIGZyYW1lcmF0ZTogdGhlIGRlZmF1bHQgZGlyZWN0c2hvdyB2YWx1ZXMuCgoyMDA5LTA4LTEwIDExOjQwOjEzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBkaXJlY3Rzb3VuZHNyYzogYWRkIHZzOCBwcm9qZWN0CgoyMDA5LTA4LTEwIDExOjM2OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogTEYgYW5kIGluZGVudAoKMjAwOS0wOC0wOSAxNToyMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBDYWNoZSBldmVudHMgYW5kIHNlbmQgdGhlbSBkb3duc3RyZWFtIG9uY2UgYW4gZWxlbWVudCB3YXMgc2VsZWN0ZWQKCjIwMDktMDgtMDkgMTQ6NTU6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogU21hbGwgY2xlYW51cHMKCjIwMDktMDgtMDkgMTI6MjU6MDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCBjcmFzaCB3aGVuIGV4cG9zaW5nIGluIEdTVF9TVEFURV9SRUFEWQoJICBGaXhlcyBidWcgIzU0MTk2Mi4KCjIwMDktMDgtMDggMjI6MTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgYW5zd2VyIHRoZSBTRUVLSU5HIHF1ZXJ5IGlmIHdlIGRvbid0IGtub3cgdGhlIGFuc3dlciB5ZXQKCSAgQSBiaXRyYXRlIT0tMSBpcyByZXF1aXJlZCBmb3Igc2Vla2luZyBidXQgdGhlIGJpdHJhdGUgaXMgb25seSBjYWxjdWxhdGVkCgkgIGFmdGVyIHRoZSBzZWNvbmQgUENSIHdhcyByZWFkLgoJICBGaXhlcyBidWcgIzU5MDQ0Ni4KCjIwMDktMDgtMDggMjE6MjA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBMb3dlciByYW5rIHRvIFNFQ09OREFSWSB0byBtYWtlIHRoZSBnbWUgcGx1Z2luIHRoZSBkZWZhdWx0CgoyMDA5LTA4LTA4IDIxOjE3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IEFkZCB0aGUgT3BlblNQQyBzcGMgcGx1Z2luIGFnYWluCgkgIFRoZSBnbWUgcGx1Z2luIG9ic29sZXRlcyBpdCBidXQgaXQgbWlnaHQgc3RpbGwgYmUgdXNlZnVsCgkgIGZvciB1c2VycyB0aGF0IGRvbid0IGhhdmUgZ21lIHlldCBvciBwcmVmZXIgb3BlbnNwYyBmb3Igc29tZSByZWFzb24uCgoyMDA5LTA4LTA4IDEyOjIwOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGU6IHNvbWUgbWlub3IgY2xlYW4tdXBzCgkgIFByaW50IGZsb3cgcmV0dXJuIGFzIHN0cmluZyBpbiBsb2cgbWVzc2FnZTsgaWYgd2UgY2hlY2sgdGhlIHJldHVybgoJICB2YWx1ZSBvZiBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSB3ZSBzaG91bGQgdXNlIHRoZSBfdHJ5KCkgZnVuY3Rpb24KCSAgdGhhdCBtaWdodCBhY3R1YWxseSByZXR1cm4gTlVMTC4gUG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nCgkgIEdTVF9GTE9XX0VSUk9SLiBVc2UgcG9ydGFibGUgR0xpYiBtYWNyb3MgdG8gcHJpbnQgNjQtYml0IGludGVnZXJzLgoJICBEb24ndCB1c2UgMExMLCB0aGF0J3MgYWxzbyBub3QgcG9ydGFibGUgKGFuZCB1bm5lZWRlZCBoZXJlKS4KCjIwMDktMDgtMDggMTA6MzA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogT25seSBwcm92aWRlIHZlcnkgZnVuZGFtZW50YWwgY2FwcyBpbiB0aGUgcGFkIHRlbXBsYXRlCgkgIFdlIGNhbid0IGVhc2lseSBrbm93IHdoaWNoIGNhcHMgd2lsbCBjYW4gYmUgdXNlZCBiZWNhdXNlIHdlIHJlbHkgb24KCSAgbGliZ3N0dmlkZW8ncyBzdXBwb3J0IGZvciB2aWRlbyBmb3JtYXRzLgoKMjAwOS0wOC0wOCAxMDoyNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBTbWFsbCBjbGVhbnVwcyBhbmQgaW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDgtMDggMDg6Mjc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogU21hbGwgY2xlYW51cHMKCjIwMDktMDgtMDggMDc6NTk6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogVXNlIGxpYmdzdHZpZGVvIGZvciBldmVyeXRoaW5nIGluc3RlYWQgb2Ygb3VyIG93biBjYWxjdWxhdGlvbnMKCSAgQWxzbyBtYWtlIFJHQiB1c2FnZSBlYXNpZXIgYnkgcHJvdmlkaW5nIHhSR0IsIFJHQngsIGV0Yy4gZm9ybWF0cwoJICBpbnN0ZWFkIG9mIHJlcXVpcmluZyB0byBzZXQgcmVkX21hc2sgYW5kIGZyaWVuZHMuCgoyMDA5LTA4LTA3IDE5OjEyOjI2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggYSBtZW1vcnkgbGVhawoKMjAwOS0wOC0wNyAxOTowMDoyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGRlZCBWQzEsIEVBQzMgYW5kIExQQ00gcmVsYXRlZCB0byBibHVlcmF5L2hkbXYKCjIwMDktMDgtMDcgMTg6MzU6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBhZGRlZCBjYXBzIGZvciBBQUMgYW5kIGZpeGVkIHBsYXliYWNrIG9mIGEgY2xpcCB3aXRoIExQQ00KCjIwMDktMDgtMDcgMTg6MTc6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiBpbXByb3ZlZCBkZW11eGVyIHBlcmZvcm1hbmNlCgkgIEluY3JlYXNlZCBwZXJmb3JtYW5jZSBkb2luZyBwdWxsX3JhbmdlIGluIGJsb2NrcyBvZiAzMktiIGluc3RlYWQgb2YgNEtiLgoJICBDYWNoaW5nIHRoZSB2YWx1ZSBvZiBnc3RfYWRhcHRlcl9hdmFpbGFibGUgaW5zdGVhZCBvZiBjYWxsaW5nIGl0IDMgdGltZXMuCgkgIEFkZGVkIHNvbWUgY29tbWVudHMgd2l0aCB0aGUgaGVhZGVyIGRlc2NyaXB0aW9ucy4KCSAgUGVlayBlbm91Z2ggZGF0YSB0byBhdm9pZCBhIGNvcm5lciBjYXNlIHdoZXJlIGNvdWxkIGJlIHJlYWRlZCBkYXRhIG91dHNpZGUKCSAgdGhlIGJ1ZmZlci4KCSAgU3BlZWQgdXAgc29tZSBtb3JlIGlubGluaW5nIHNvbWUgZnVuY3Rpb25zIGFuZCBrZWVwaW5nIGFub3RoZXIgc3RyZWFtIHBvaW50ZXIKCSAgbGlzdCB0byBiZSB1c2VkIGFzIGl0ZXJhdG9yLgoJICBTcHJpbmtsZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MgYWNjcm9zcyB0aGUgY29kZS4KCSAgSGFuZGxpbmcgdGhlIHNlZWtpbmcgd2l0aCBmbHVzaCBpbiBwdWxsIG1vZGUgaW4gdGhlIHByb3BlciB3YXkuCgoyMDA5LTA4LTA3IDE0OjQxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZWRlYzogVXNlIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBtYW55IGJ1ZmZlciBqb2lucwoJICBUaGlzIHJlZHVjZXMgdGhlIG51bWJlciBvZiByZWFsbG9jYXRpb25zIGFuZCBtZW1jcHlzIGRyYXN0aWNhbGx5LgoJICBBbHNvIGZyZWUgdGhlIGlucHV0IGRhdGEgYXMgc29vbiBhcyBpdCdzIGNvbXBsZXRlIGFuZCBwYXNzZWQgdG8gR01FCgkgIGFzIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlLgoKMjAwOS0wOC0wNyAxMzowNzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBkcmFpbmluZwoKMjAwOS0wOC0wNyAxMzowNjoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCjIwMDktMDgtMDcgMTM6MDQ6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzeW5jIGJhc2VwYXJzZSAoc29tZSBtb3JlKQoKMjAwOS0wOC0wNyAwOToyMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWVkZWM6IEFkZCBjYXBzIGZvciBhbGwgc3VwcG9ydGVkIGZpbGUgZm9ybWF0cyB0byB0aGUgc3JjcGFkIHRlbXBsYXRlCgoyMDA5LTA4LTA3IDA3OjIzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRG9uJ3QgYWRkIGVtcHR5IHN0cmluZyB0YWdzCgoyMDA5LTA4LTA3IDA3OjAxOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRml4IGNhcHMgbmFtZSBhZ2FpbgoKMjAwOS0wOC0wNyAwNjo1OTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWU6IFJlbmFtZSBldmVyeXRoaW5nIGZyb20gU1BDIHRvIEdNRQoKMjAwOS0wOC0wNyAwNjo1OTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IFJlYWxseSByZW1vdmUgb2xkIFNQQyBjb2RlCgoyMDA5LTA4LTA3IDA2OjU2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nbWUvdGFnLmM6CgkqIGV4dC9nbWUvdGFnLmg6CgkgIGdtZTogVXNlIGdtZSBmb3IgdGFncyBhbmQgZHVyYXRpb24gcGFyc2luZwoKMjAwOS0wOC0wNyAwNjo0MTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dtZS90YWcuYzoKCSogZXh0L2dtZS90YWcuaDoKCSAgc3BjOiBSZW5hbWUgU1BDIHBsdWdpbiB0byBHTUUKCSAgYXMgcHJlcGFyYXRpb24gZm9yIGVuYWJsaW5nIHN1cHBvcnQgZm9yIG5vbi1TUEMgZ2FtaW5nIGNvbnNvbGUgc291bmQgZmlsZXMuCgoyMDA5LTA4LTA2IDIxOjQyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwY2RlYzogRm9yd2FyZCBhbGwgdW5rbm93biBzcmMgZXZlbnRzIHVwc3RyZWFtIGFuZCBkb24ndCByZXN0cmljdCB0byBTUEMKCjIwMDktMDgtMDYgMTk6MjY6MjEgKzAyMDAgIHJpYyA8Y3N4bmp1IGF0IHNvZ291LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGF2b2lkIGJ1ZmZlciBsZWFrIG9uIGJhZCBzZXFudW0KCSAgRml4ZXMgIzU5MDc5NwoKMjAwOS0wOC0wNSAwOTozNjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdbcHRdc2RlbXV4OiBGaXggU0VFS0lORyBxdWVyeQoJICBTZW5kIHRoZSBCWVRFUyBiYXNlZCBxdWVyeSBkb3duc3RyZWFtLCBub3QgdGhlIG9yaWduYWwgb25lLgoKMjAwOS0wOC0wNCAxMjo1ODozNSArMDIwMCAgSmFuIFVyYmFuc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXF1aXJlIGVuZGlhbm5lc3MgZmllbGQgZm9yIDggYml0IHJhdyBhdWRpbwoJICBGaXhlcyBidWcgIzU5MDM2MC4KCjIwMDktMDgtMDQgMTA6MTg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IE1ha2UgdGhlIFNQQyBwbHVnaW4gd29yayB3aXRoIHRoZSBsYXRlc3QgbGliZ21lIHJlbGVhc2UKCSAgZ21lX2VuYWJsZV9hY2N1cmFjeSgpIHdhcyBhZGRlZCBpbiBTVk4gdHJ1bmsgYW5kIGlzIG5vdCB5ZXQKCSAgaW4gYW55IHJlbGVhc2UuCgoyMDA5LTA4LTA0IDEwOjA2OjU0ICswMjAwICBNaWNoYWVsIFB5bmUgPG1weW5lQGtkZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIHNwYzogVXNlIHRoZSBwb3J0YWJsZSBsaWJnbWUgaW5zdGVhZCBvZiB4ODYtb25seSBPcGVuU1BDIGxpYnJhcnkKCSAgVGhpcyB3aWxsIGxhdGVyIGFsbG93IHVzIHRvIHBsYXkgb3RoZXIgZ2FtaW5nIGNvbnNvbGUgZmlsZXMKCSAgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IGxpYmdtZS4KCSAgRml4ZXMgYnVnICM1NzY4MDAuCgoyMDA5LTA2LTEyIDE3OjIyOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZW1vdmUgaW50ZXJuYWwgYml0cmVhZGVyIGFuZCBieXRlcmVhZGVyIG5vdyB0aGF0IHRoZXNlIGFyZSBpbiBsaWJnc3RiYXNlCgoyMDA5LTA3LTMxIDExOjI3OjAzICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IGNoZWNrIGZvciBwZW5kaW5nIHNyY3BhZCBpbiBfZ2V0X3Byb3BlcnR5KCkKCSAgSWYgdGhlcmUgaXMgYSBwZW5kaW5nIHNyY3BhZCwgcmV0dXJuIGl0IGluc3RlYWQgb2YgYWN0aXZlIHNyY3BhZAoJICBpbiBnc3Rfb3V0cHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSgpIGZ1bmN0aW9uLgoKMjAwOS0wNy0zMCAxNDoxNzo1OSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgY2FtZXJhc3JjIHRvIFJFQURZIHN0YXRlIGluc3RlYWQgb2YgUEFVU0VEIHdoZW4gYWNxdWlyaW5nIGFsbG93ZWQgY2FwcwoKMjAwOS0wNy0zMSAwNzoxNjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggaW5kZW50aW9uCgoyMDA5LTA3LTMxIDAyOjA1OjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGRpcmVjdGRyYXc6IEltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICBGaXhlcyBidWcgIzU5MDIwOC4KCjIwMDktMDctMzEgMDA6MTk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IHNldCBwYWRkaW5nIGZpZWxkIHRvIDAgb24gcnRwIGFzZiBwYWNrZXRzCgkgIFRoZSBBU0YgUlRQIHNwZWMgZGVtYW5kcyB0aGF0IHBhY2tldHMgaGF2ZSB0aGVpciBwYWRkaW5nIHJlbW92ZWQKCSAgYW5kIHRoZSBwYWRkaW5nIHNpemUgZmllbGQgc2V0IHRvIDAgZm9yIHBhY2tldHMgd2hlbiBwdXRpbmcgdGhlbQoJICBpbnNpZGUgdGhlIFJUUCBwYWNrZXRzCgoyMDA5LTA3LTMwIDAwOjE5OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogU2V0IHZpZGVvIHN0cmVhbSBzZWVrYWJsZSBwcm9wZXJ0eSB0byB0cnVlCgkgIFZpZGVvIHN0cmVhbSBhbHdheXMgaGF2ZSBpbmRleGVzLCBzbyB0aGV5IGFyZSBhbGwgc2Vla2FibGUKCjIwMDktMDctMzAgMDA6MTI6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBSZW1vdmluZyB1c2VsZXNzIFRPRE9zCgkgIEFmdGVyIHRlc3RpbmcgaW4gd2luZG93cyBhbmQgbGludXgsIHRoaXMgYXVkaW8gY29ycmVjdGlvbiBmaWVsZAoJICBtYWRlIG5vIGRpZmZlcmVuY2Ugc28gZmFyLiBBbGwgZXhhbXBsZSBmaWxlcyBJIGdvdCBvbmx5IGhhZAoJICB6ZXJvZXMgaW4gdGhpcyBmaWVsZAoKMjAwOS0wNy0zMCAwMDowNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IEZpeGVzIHZpZGVvIHN0cmVhbSBwcm9wZXJ0aWVzIG9iamVjdAoJICBGaXhlcyBzdHJlYW0gcHJvcGVydGllcyBvYmplY3QgY3JlYXRpb24gZm9yIHZpZGVvIGNvbnRlbnQKCjIwMDktMDctMjkgMTk6MDc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBhY2NlcHQgcGFkIHJlcXVlc3RzIGEgbGl0dGxlIGxvbmdlcgoJICBhc2ZtdXggbm93IHN0YXJ0IHJlamVjdGluZyBwYWQgcmVxdWVzdHMgYWZ0ZXIgaXQgcHVzaGVzIHRoZSBmaXJzdAoJICBidWZmZXIsIGJlZm9yZSB0aGlzLCBpdCB3YXMgcmVqZWN0aW5nIGFmdGVyIGdvaW5nIHRvIHBhdXNlZAoKMjAwOS0wNy0yOSAxODo0NDoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGFkZHMgc3VwcG9ydCB0byB2Yy0xIHN0cmVhbXMKCjIwMDktMDctMjkgMTc6MjM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGVtcHR5IGZpbmFsaXplCgoyMDA5LTA3LTI5IDE2OjAyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggbWFjcm8gbmFtZQoKMjAwOS0wNy0yOSAxNTozNTowMyArMDIwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCBEaXJlY3RTb3VuZCBzb3VyY2UgcGx1Z2luCgkgIEZpeGVzIGJ1ZyAjMzQ0MTI5LgoKMjAwOS0wNy0yOCAyMjo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRmlyc3QgYmFzaWMgY2hlY2sgdW5pdCB0ZXN0cwoJICBBZGRzIHNpbXBsZSBhc2ZtdXggdW5pdCB0ZXN0cywgdGhhdCB0ZXN0IHBhZCBjcmVhdGlvbiBhbmQgcHVzaGluZyBhCgkgIHNpbmdsZSBidWZmZXIgdGhyb3VnaCB0aGVtCgoyMDA5LTA3LTI4IDIxOjM3OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogRm9yY2luZyBwYWQgbmFtZXMgdG8gYmUgdmlkZW9fJTAyZCBhbmQgYXVkaW9fJTAyZCBsaWtlCgoyMDA5LTA3LTI4IDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWxsb3cgZm9yIE5VTEwgY2FwcyBvbiBidWZmZXJzCgkgIEFkZCB0aGUgTlVMTCBjYXBzIGNoZWNrIHdoZXJlIGl0IG1hdHRlcnMgYW5kIGFsc28gY292ZXIgYW5vdGhlciBjYXNlIG9mCgkgIHBvdGVudGlhbCBOVUxMIGNhcHMuCgkgIEZpeGVzICM1OTAwMzAKCjIwMDktMDctMjggMTE6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEluY29taW5nIGJ1ZmZlcnMgZG8gbm90IGFsd2F5cyBoYXZlIGNhcHMKCjIwMDktMDctMjcgMTQ6MDM6NTkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBwaG90byBpZmFjZSBzZXR0ZXIgZnVuY3Rpb25zIHJldHVybiBUUlVFIHdoZW4gdXNlZCBpbiBOVUxMIHN0YXRlCgkgIFdlIGNhY2hlIHRoZSB2YWx1ZXMgYW5kIGFwcGx5IHRoZW4gd2hlbiBwb3NzaWJsZS4KCjIwMDktMDctMjcgMDg6MjU6MzcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvIG5vdCBwdXQgdmlkZW8gcGlwZWxpbmUgaW50byBSRUFEWSB3aGVuIHN0YXJ0IHJlY29yZGluZyBjYW1lcmFiaW46IHJlbWVtYmVyIHByb2JlIElEcyBhbmQgZGlzY29ubmVjdCB0aGVtIHdoZW4gZGVzdHJveWluZyBwaXBlbGluZXMKCjIwMDktMDctMjcgMTk6NTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBGaXggY29tcGlsYXRpb24KCjIwMDktMDctMjcgMTk6NTU6MjcgKzAyMDAgIElhZ28gVG9yYWwgPGl0b3JhbEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkqIGV4dC9hbXJ3YmVuYy9Hc3RBbXJ3YkVuYy5wcnM6CgkqIGV4dC9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL1JFQURNRToKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuaDoKCSAgYW1yd2I6IFJlbW92ZSBBTVItV0IgcGFyc2VyIGFuZCBkZWNvZGVyIGFuZCByZW5hbWUgZW5jb2RlciBwbHVnaW4gZnJvbSBhbXJ3YiB0byBhbXJ3YmVuYwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODQ4OTAuCgoyMDA5LTA3LTI3IDE1OjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBkb2luZyBsaXAtc3luYyBpbiBCWUUKCSAgV2hlbiB3ZSBnZXQgYSBCWUUgcGFja2V0LCBkb24ndCBkbyBsaXAtc3luYyB3aXRoIHRoZSBTUiBpbnNpZGUgYmVjYXVzZSBzb21lCgkgIHNlbmRlcnMgaGF2ZSB0cm91YmxlIGNvbnN0cnVjdGluZyB2YWxpZCBTUiBwYWNrZXRzIGFmdGVyIEJZRS4KCjIwMDktMDctMjcgMTU6MzM6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czcvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIGRpcmVjdGRyYXdzaW5rOiB1cGRhdGUgdnM4IGJ1aWxkCgkgIGFsc28gcmVtb3ZlIGRpcmVjdGRyYXdzaW5rIGZyb20gdnM2IGFuZCB2czcgYnVpbGQKCjIwMDktMDctMjcgMTQ6NTI6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdXNlIG9mIElHc3REc2hvd0ludGVyZmFjZQoKMjAwOS0wNy0yNyAxMzoxNzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCBkbyBsaXAtc3luYyBhZnRlciBhIEJZRQoJICBBZnRlciBhIEJZRSBwYWNrZXQgZnJvbSBhIHNvdXJjZSwgc3RvcCBmb3J3YXJkaW5nIHRoZSBTUiBwYWNrZXRzIGZvciBsaXAtc3luYwoJICB0byBydHBiaW4uIFNvbWUgc2VuZGVycyBkb24ndCB1cGRhdGUgdGhlaXIgU1IgcGFja2V0cyBjb3JyZWN0bHkgYWZ0ZXIgc2VuZGluZyBhCgkgIEJZRSBhbmQgdGhlbiB3ZSBicmVhayBsaXAtc3luYy4gV2UgcHJlZmVyIHRvIGxldCB0aGUgaml0dGVyYnVmZmVycyBkcmFpbiB3aXRoCgkgIHRoZSBjdXJyZW50IGxpcC1zeW5jIGluc3RlYWQuCgoyMDA5LTA3LTI3IDEyOjQzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IG9ubHkgcmVjb25zaWRlciBvbmNlIGZvciBCWUUKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIHNvdXJjZXMgb2YgYSBCWUUgcGFja2V0LCBkb24ndCBzaWduYWwgYSByZWNvbnNpZGVyYXRpb24gZm9yCgkgIGVhY2ggb2YgdGhlbSBidXQgc2lnbmFsIGFmdGVyIHdlIGhhbmRsZWQgYWxsIHNvdXJjZXMuCgoyMDA5LTA3LTI1IDEyOjE5OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogYnJlYWsgdXAgbWFjcm9zIGludG8gbXVsdGlwbGUgbGluZXMKCjIwMDktMDctMjQgMjE6NTQ6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZXBvcnRpbmcKCSAgU2VlICM1MjU3NDMuCgoyMDA5LTA3LTI0IDE0OjUyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSAgYXNmbXV4OiBBZGRzIG5ldyBwbHVnaW4gYXNmbXV4CgkgIEFkZHMgdGhlIGJyYW5kIG5ldyBhc2ZtdXggcGx1Z2luLCBjb250YWluaW5nIDMgZWxlbWVudHM6CgkgIGFzZm11eCwgcnRwYXNmcGF5IGFuZCBhc2ZwYXJzZS4gVGhpcyBwbHVnaW4gd2FzIGRldmVsb3BlZAoJICBhcyBhIEdTb0MgMjAwOSBwcm9qZWN0LCB3aXRoIERhdmlkIFNjaGxlZWYgYXMgdGhlIG1lbnRvciBhbmQKCSAgVGhpYWdvIFNhbnRvcyBhcyB0aGUgc3R1ZGVudC4KCjIwMDktMDctMjQgMDg6MjU6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogRml4IHRoZSBkaXN0Y2hlY2sgYWZ0ZXIgZHNob3dzcmN3cmFwcGVyIHJlYXJyYW5nZW1lbnRzCgkgIFJlbW92ZSBvbGQgZmlsZXMgZnJvbSB0aGUgd2luMzIgbWFuaWZlc3QsIGFuZCBhZGQgdGhlIG5ldyBvbmUuCgoyMDA5LTA3LTI0IDA3OjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICBtdXNlcGFja2RlYzogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjQgMDE6MDA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUmV2ZXJ0ICJkb2NzOiBmaXggZG9jcyBidWlsZCBhZ2FpbiIKCSAgSXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIgYWZ0ZXIgU3RlZmFuJ3MgdXBkYXRlcyBpbiB0aGUgY29tbW9uIG1vZHVsZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwOWM1NTBhMTcyYTJjOGE3NmYwYjQ4ZjJmOGNlMTEwNzA1OThmNjZjLgoKMjAwOS0wNy0yNCAwMDo0Mjo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZWRhYWVlIHRvIDk0Zjk1ZTMKCjIwMDktMDctMjMgMTc6NTc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGRvY3MgYnVpbGQgYWdhaW4KCSAgVGhlcmUgaXMgbm8gZWxlbWVudCBjYWxsZWQgJ2xhZHNwYScsIHNvIHRoZXJlIHdvbid0IGJlIGEgLWRldGFpbHMKCSAgZmlsZSBmb3IgaXQuCgoyMDA5LTA3LTIzIDA5OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBSZW1vdmUgc29tZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGNvZGUKCSAgQWxzbyB3ZSBhbHdheXMgcmVxdWlyZSBsaWJvaWwgc28gdXNlIGl0IHVuY29uZGl0aW9uYWxseS4KCjIwMDktMDctMjMgMDk6NTI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEltcGxlbWVudCBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZHMKCjIwMDktMDctMjAgMjI6MTM6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBMb2NrIGVsZW1lbnQgYmVmb3JlIHVubG9ja2luZwoKMjAwOS0wNy0yMCAyMjowODo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IEZpeCBsZWFrcwoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSB0byBub3QgbGVhayB0aGUgcGFkIHRlbXBsYXRlCgkgIEFsc28gcHJvcGVybHkgY2hhaW4gdXAgdGhlIGZpbmFsaXplIHRvIHRoZSBwYXJlbnQKCjIwMDktMDctMjAgMjI6MDg6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUKCSAgUHJldmVudHMgbGVhayBmb3VuZCBieSB2YWxncmluZAoKMjAwOS0wNy0yMCAyMTo1Mjo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVucmVmIGNsb2NraWQKCjIwMDktMDctMjAgMTQ6MDA6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCBvdmVyd3JpdGUgdmFsaWQgdGltZXN0YW1wcwoKMjAwOS0wNy0yMCAxMzo0NTo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFJldmVydCAibWltZGVjOiBJZ25vcmUgdGhlIHRpbWVzdGFtcHMgaW5zaWRlIHRoZSBidWZmZXJzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVlMDUxZmE5OGFlZWJkY2UyZWNhNmIzMjFlYzE5MjllNmY4ZmRmNjEuCgoyMDA5LTA3LTIxIDE1OjMzOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZyZWUgY29uZmxpY3RpbmcgYWRkcmVzc2VzIG9uIGZpbmFsaXplCgoyMDA5LTA3LTIxIDE1OjMxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UKCSAgRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGEgd2VhayByZWYsCgkgIHdoaWNoIGlzIG5vdCB0aHJlYWQgc2FmZS4gQWxzbywgbG9jayB0aGUgY29udGVudCBvZiB0aGUgcGFkIHByaXZhdGUgdXNpbmcgdGhlIGVsZW1lbnQncwoJICBvYmplY3QgbG9jay4KCjIwMDktMDctMjIgMTQ6MTk6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBJZ25vcmUgZXJyb3JzIHB1c2hpbmcgb3V0IG5ldyBzZWdtZW50cwoJICBUaGUgZm9sbG93aW5nIGJ1ZmZlciBwdXNoIHdpbGwgcmV0dXJuIG1vcmUgdmFsdWFibGUgaW5mb3JtYXRpb24uCgoyMDA5LTA3LTIyIDE4OjAxOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgZG9jczogYWRkIGRvY3MgZm9yIGxhZHNwYSBhbmQgdXBkYXRlIHBsdWdpbiBkb2NzCgkgIEFkZCBhbHNvIGluc3BlY3QgZmlsZXMgZm9yIGx2MiBhbmQgZnJlaTByIChubyBkb2NzIHlldCkuCgoyMDA5LTA3LTIyIDE3OjA1OjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogbW9yZSBwZXJmLXRlc3QgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgZXhtYXBsZXMuIEFkZCB2aWRlby13aWR0aC9oZWlnaHQuIFVzZSBwcm9wZXIgYXBpIGZvcgoJICBzZXR0aW5nIHN0aWxsIGltYWdlIHJlc29sdXRpb24uIEZpeCBzdG9wcGluZyByYW5kb20gdGVzdHMgb24gYmluLXN0YXRlLWNoYW5nZXMuCgkgIFJlbW92ZSB0aGUgbWVtZHVwIGluIHNuYXBzaG90IGFnYWluLCBhcyBpdHMgbm90IG5lZWRlZCAocGl4YnVmIGdvZXMgb3V0IG9mCgkgIHNjb3BlIHdpdGggdGhlIGJ1ZmZlcikuCgoyMDA5LTA3LTIyIDExOjQ1OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIGRzaG93c3Jjd3JhcHBlcjogdXBkYXRlIE1ha2VmaWxlLmFtIGZvciBzb3VyY2UgZmlsZSByZW5hbWVzIGFzIHdlbGwKCjIwMDktMDctMjEgMTM6Mzc6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBkb2NzOiBhZGQgcGNhcHBhcnNlIHRvIGRvY3MKCjIwMDktMDctMjIgMTI6MzQ6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogZG8gbm90IHJlbW92ZSBhIHJhbmdlIG9mIGxlbmd0aCAwCgoyMDA5LTA3LTIyIDEyOjI0OjQ2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd2F1ZGlvc3JjOiBjb252ZXJ0cyBjb2RlIHRvIEMrKwoKMjAwOS0wNy0yMiAxMTowMTo0OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3d2aWRlb3NyYzogY29udmVydHMgY29kZSB0byBDKysKCjIwMDktMDctMjIgMDA6MzM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgYWRkIGEgYmFzZV90aW1lPT0tMSB0byBzZWdtZW50IHBvc2l0aW9ucwoJICBGaXhlcyBhc3NlcnRpb24gYWJvdXQgbmV3c2VnbWVudCB3aXRoIHN0YXJ0PS0xLgoKMjAwOS0wNy0yMSAxNzo0ODozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzbWFsbCBzcGVlZHVwIGluIHNvZnR3YXJlIHpvb20KCSAgRm9yY2UgY3JvcCBvbiBldmVuIHBpeGVsIHBvc2l0aW9uIHRvIGF2b2lkIHNsb3dwYXRoIGluIGNyb3AgJiBzY2FsZS4KCjIwMDktMDctMjEgMTY6NDg6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiB3ZSBuZWVkIHRvIGNvcHkgdGhlIGRhdGEgaW4gdGhlIGV4YW1wbGUKCSAgZ2RrX3BpeGJ1Zl9uZXdfZnJvbV9kYXRhIGRvZXMgbm90IGNvcHkgdGhlIGRhdGEuCgoyMDA5LTA3LTIxIDExOjI4OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJICBtYWtlOiByZW1vdmUgd2hpdGVzcGFjZSBhZnRlciB0cmFpbGluZyBiYWNrc2xhc2gKCjIwMDktMDctMjEgMTI6NDI6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkgIGthdGU6IGZpeCB0aW1lIGNvbnZlcnNpb24gZnJvbSBEVkQgc3R5bGUgdGltZXN0YW1wcy4KCjIwMDktMDctMjEgMTM6NTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjEgMTM6Mzk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNTg4OTQ0LgoKMjAwOS0wNy0yMSAxMzozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODg5NDQuCgoyMDA5LTA3LTIxIDEzOjE3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZyZWUgdGhlIFBNVCBiZWZvcmUgc2V0dGluZyBhIG5ldyBvbmUKCjIwMDktMDctMjEgMTM6MTQ6MDAgKzAyMDAgIE1pa2FlbCBNYWdudXNzb24gPG1pa21hQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IFJlbW92ZSBvbGQgUEVTIFBJRHMgd2hlbiByZWNlaXZpbmcgUEFUIHRhYmxlcwoJICBGaXhlcyBidWcgIzU4MzQ3MC4KCjIwMDktMDctMjEgMTE6MTA6NDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogZml4IHJlbGF0aXZlIHBhdGgKCjIwMDktMDctMjEgMTA6NDk6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBzdGFydCByZWZhY3RvcmluZyBvZiBkc2hvd3NyY3dyYXBwZXIKCSAgLXJlbW92ZSBnc3QtbGlicy9nc3QvZHNob3cKCSAgLWZha2Vzb3VyY2UgaXMgbW92ZWQgZnJvbSBnc3QtbGlicy9nc3QvZHNob3cgdG8gc3lzL2RzaG93c3Jjd3JhcHBlcgoJICAtc29tZSBtaW5vciBjaGFuZ2VzIChDL0MrKyBjaGVjayBhbmQgaW5jbHVkZXMpIHRvIG1ha2UgdGhlIHBsdWdpbgoJICBjb21waWxlIGFnYWluLgoKMjAwOS0wNy0yMSAwMTowNjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1c2UgbmV3IEdTVF9UQUdfU1VCSVRMRV9DT0RFQyB0YWcgaW5zdGVhZCBvZiBHU1RfVEFHX0NPREVDCgoyMDA5LTA3LTIxIDAwOjU0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlZGVjOiBvbmx5IHB1dCBwcmltYXJ5IGxhbmd1YWdlIHRhZyBpbiBHU1RfVEFHX0xBTkdVQUdFCgkgIE9ubHkgcHV0IHByaW1hcnkgbGFuZ3VhZ2UgaW50byBHU1RfVEFHX0xBTkdVQUdFLCBhbmQgY29udmVydCB0byBsb3dlciBjYXNlLAoJICBpZS4gb25seSB1c2UgImVuIiBvZiAiZW5fR0IiLiBUaGlzIGlzIHBlciBvdXIgdGFnIGRvY3VtZW50YXRpb24gYW5kIGhlbmNlCgkgIHdoYXQgYXBwcyBleHBlY3QuIEFsc28gYWRkIGV4YW1wbGUgdG8ga2F0ZWVuYyBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBzbyBwZW9wbGUKCSAga25vdyBhIGxhbmd1YWdlIGNvZGUgaXMgd2FudGVkIGhlcmUuCgoyMDA5LTA3LTIxIDAwOjA0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogYWRkIGNvbW1lbnQgd2h5IHdlIGRvbnQnIHN1cHBvcnQgYXBwbGljYXRpb24veC1rYXRlIGhlcmUgZm9yIG5vdwoKMjAwOS0wNy0yMCAxMzo1NDo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9SRUFETUU6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSAga2F0ZWRlYzogY3JlYXRlIFNQVSBmb3JtYXQgaW1hZ2VzIGZyb20gc3VpdGFibGUgYmFja2dyb3VuZCBpbWFnZXMKCSAgTWFrZSBrYXRlZGVjIGZhYnJpY2F0ZSBkdmQtc3R5bGUgc3VicGljdHVyZXMgZm9yIHN1YnRpdGxlIG92ZXJsYXkKCSAgYml0bWFwcywgZm9yIGVhc2llciBwbGF5YmluMiBpbnRlZ3JhdGlvbiAoIzU4ODYzOCkuCgoyMDA5LTA3LTIwIDE2OjI0OjIzICswMTAwICBvZ2cuay5vZ2cuayA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcwoJICBNYWtlcyAnbWFrZSBjaGVjay12YWxncmluZCcgd29yayBmb3IgdGhlIGthdGUgdW5pdCB0ZXN0ICgjNTI1NzQzKQoKMjAwOS0wNy0yMCAxNjozOTo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGFkZCBjb2RlIGluIHRlc3QgdG8gc3RvcmUgc25hcHNob3RzIGZvciBtYW51YWwgdmVyaWZpY2F0aW9uCgkgIFVzZSBnZGtfcGl4YnVmIHRvIHNhdmUgdGhlIGltYWdlIGluIHBlcmYtdGVzdC4gQWxzbyByZW1vdmUgc29tZSBvYnNvbHV0ZQoJICBjb21tZW50ZWQgb3V0IGNvZGUuCgoyMDA5LTA3LTIwIDE2OjI0OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBsb2cgZm9ybWF0cyBpbiBwcmV2aWV3IGltYWdlIGNvbnZlcnNpb24KCjIwMDktMDctMjAgMTY6MjE6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFzc2lnbm1lbnQKCSAgUmVzdWx0IGlzIG5vdCBuZWVkZWQgaGVyZSwgYnV0IHZhcmlhYmxlIGlzIHVzZWQgbGF0ZXIgb24uIEFsc28gcmVtb3ZlIGRvdWJsZSBuZXcKCSAgbGluZXMgaW4gZnVuY3Rpb24uCgoyMDA5LTA3LTIwIDE2OjIwOjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogY2hlY2sgcXVlcnkgcmV0dXJuIHJlc3VsdCBiZWZvcmUgdXNpbmcgaXQKCjIwMDktMDctMjAgMTY6MTk6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGRlcmVmZXJlbmNlIHRoZSBwb2ludGVyIGJlZm9yZSB0aGUgdmFsaWRpdHkgY2hlY2sKCjIwMDktMDctMjAgMTA6MTc6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIHBlcmYgdGVzdCByb2J1c3RuZXNzIGFuZCBhZGQgY29tbWVudHMKCjIwMDktMDctMjAgMTI6MjU6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IGFsc28gcmVjb2duaXNlIHRoZSBuZXcgcmVjb21tZW5kZWQgJ1NVQicgY2F0ZWdvcnkKCSAgTW92ZSB0aGUgY2hlY2sgZm9yICdzaW1wbGUnIHN1YnRpdGxlcyBjYXRlZ29yeSB0byBhIHNlcGFyYXRlIHJvdXRpbmUKCSAgYW5kIGFkZCBpbiB0aGUgbmV3IHJlY29tbWVuZGVkIFNVQiBjYXRlZ29yeSAoIzUyNTc0MykuCgoyMDA5LTA3LTIwIDExOjQxOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkgIGthdGVlbmM6IGtlZXAgYml0bWFwL3BhbGV0dGUvcmVnaW9uIGFyb3VuZCB3aGVuIG9uIHRoZSBzcG90IGVuY29kaW5nIGlzIG5vdCBwb3NzaWJsZSBkdWUgdG8gYW4gdW5rbm93biBlbmQgdGltZQoJICBGaXhlcyB2YWxncmluZCB1bml0aWFsaXplZCB2YWx1ZSByZXBvcnQuIFNlZSAjNTI1NzQzLgoKMjAwOS0wNy0xOSAyMzo0NTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkgIGRvY3M6IGFkZCBpbnNwZWN0IGluZm8gZm9yIGthdGUgcGx1Z2luCgkgIFNob3VsZCBmaXggdGhlIGRvY3MgYnVpbGQuCgoyMDA5LTA3LTE5IDIzOjM1OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogYWRkIHNvbWUgRklYTUVzCgoyMDA5LTA3LTE5IDIzOjMyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZWRlYzogZGVtb3RlIHRvIEdTVF9SQU5LX05PTkUgZm9yIG5vdwoJICBUaGVyZSBhcmUgc3RpbGwgc29tZSBhdXRvcGx1Z2dpbmcgaXNzdWVzIHRvIHNvcnQgb3V0LCBhbmQgaXQgbmVlZHMKCSAgc29tZSB0ZXN0aW5nLgoKMjAwOS0wNy0xOSAyMzoyOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2tzOiBhZGQga2F0ZSB1bml0IHRlc3RzIHRvIHZhbGdyaW5kIGJsYWNrbGlzdCBmb3Igbm93CgkgIEFuZCBhZGQgY2hlY2sgYmluYXJ5IHRvIGlnbm9yZSBsaXN0LgoKMjAwOS0wNy0xOSAyMzoxNjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFrZSBzdXJlIHRvIGZyZWUgc29tZSBtb3JlIHN0dWZmCgoyMDA5LTA3LTE5IDIyOjI5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBmaXggdXAgZm9yIGFkZGl0aW9uYWwgc3VidGl0bGUveC1rYXRlIG1lZGlhIHR5cGUKCjIwMDktMDctMTMgMjI6Mzg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiByZW1vdmUgbG9jYWwga2F0ZSB0eXBlZmluZGVyLCB1c2UgdGhlIG9uZSBpbiAtYmFzZQoKMjAwOS0wNy0xMCAxODo0NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogY2hhbmdlIG1lZGlhIHR5cGUgdG8gc3VidGl0bGUveC1rYXRlIGFuZCB1cGRhdGUgZGVmaW5lIGFjY29yZGluZ2x5CgoyMDA5LTAyLTE1IDE4OjM1OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL1JFQURNRToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgYWRkIG5ldyBLYXRlIHBsdWdpbiwgZm9yIEthdGUgb3ZlcmxheSBzdHJlYW1zCgkgIGthdGVkZWM6IEthdGUgZGVjb2RlciAodGV4dCBvbmx5KQoJICBrYXRlZW5jOiBLYXRlIGVuY29kZXIgKHRleHQgYW5kIERWRCBTUFUgb25seSkKCSAga2F0ZXRhZzogS2F0ZSB0YWdnZXIKCSAga2F0ZXBhcnNlOiBLYXRlIHBhcnNlcgoJICB0aWdlcjogS2F0ZSByZW5kZXJlciB1c2luZyB0aGUgVGlnZXIgcmVuZGVyaW5nIGxpYnJhcnkKCSAgRml4ZXMgIzUyNTc0My4KCjIwMDktMDctMTkgMTU6Mzc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICByZWFsOiBkaWZmZXJlbnRpYXRlIGJldHdlZW4gJ21vZHVsZSBkb2VzIG5vdCBleGlzdCcgYW5kIGdlbnVpbmUgbW9kdWxlIG9wZW5pbmcgZXJyb3JzCgkgIERvbid0IGxvZyBhIEdTVF9FUlJPUiBpZiBvbmUgb2YgdGhlIGNvZGVjIG1vZHVsZXMgd2Ugd2VyZSBsb29raW5nIGZvcgoJICBkb2Vzbid0IGV4aXN0LiBUaGF0J3Mgbm90IGEgZ2VudWluZSBlcnJvciwgYnV0IHNvbWV3aGF0IGV4cGVjdGVkLgoKMjAwOS0wNy0xOCAwODo0MzozNyArMDIwMCAgTWF0aWpzIHZhbiBadWlqbGVuIDxNYXRpanMudmFuLlp1aWpsZW5AeHM0YWxsLm5sPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggaW50ZWdlciBvdmVyZmxvdwoJICBUaGlzIGJyZWFrcyBwbGF5YmFjayBvZiBmaWxlcyA+NCBHQiBhcyB0aGUgb2Zmc2V0IHdhcwoJICBhIGd1aW50IGJlZm9yZS4gQ2hhbmdpbmcgaXQgdG8gYSBndWludDY0IGZpeGVzIHRoaXMuCgoyMDA5LTA3LTE3IDE1OjQ3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiByZXNldCBzdGF0ZSBpZiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gcmVzZXQKCSAgVGhlIGNvbmRpdGlvbiB3YXMgd3JvbmcgYW5kIGFzIHN1Y2ggdGhlIGVsZW1lbnQgd2FzIHdyaXRpbmcgdGhlIHNhbWUgdGFncyBvbiBzdWJzZXF1ZW50CgkgIGltYWdlcyBpZiByZXVzZWQuCgoyMDA5LTA3LTE3IDE1OjQ1OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVzZSBnc3RfY2Fwc19yZXBsYWNlIGluc3RlYWQgb2Ygc2VwYXJhdGUgY2FsbHMKCSAgVGhpcyBmaXhlcyBzZXR0aW5nIHNuYXBzaG90IGNhcHMgYmFjayB0byBOVUxMIGFsc28uCgoyMDA5LTA3LTE3IDE1OjM4OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogaW1wbGVtbmV0IHR3byBtb3JlIHRlc3RzCgkgIEFkZCB0ZXN0cyBmb3IgdmlkZW9yZWNvcmRpbmcgc3RhcnR1cCBhbmQgY2FwdHVyZSBzdGFydHVwIGRlbGF5LgoKMjAwOS0wNy0xNyAwOTozNjoxNSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIGNvbXBvbmVudCB0YWcgdG8gdGhlIHZpZGVvIGNvbXBvbmVudCBzdHJ1Y3R1cmUgaW4gZWl0CgoyMDA5LTA3LTE2IDE3OjI3OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogRG9uJ3QgcHJldGVuZCB0byBiZSBNTDIwIGlmIHBhdXNlZAoKMjAwOS0wNy0xNiAxNjowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogSWdub3JlIHRoZSB0aW1lc3RhbXBzIGluc2lkZSB0aGUgYnVmZmVycwoKMjAwOS0wNy0xNiAxNTo0Mzo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IHRyeSB0byBwYXJzZSB0aGUgaGVhZGVyIGJlZm9yZSBkcm9wcGluZyB0aGUgcGF1c2VkIGZyYW1lcwoKMjAwOS0wNy0xNiAxNTo0MzoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFByaW50IHRoZSBpbmNvbWluZyBmb3VyY2Mgb24gZXJyb3JzCgoyMDA5LTA2LTE5IDIwOjEzOjUzICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgSW5jcmVhc2VkIHRoZSBsZW5ndGggb2YgdGltZSBmb3IgdHVuaW5nIGluIGdzdGR2YnNyYy5jLgoJICBTb21lIGRldmljZXMgdGFrZSBhIHdoaWxlIHRvIHR1bmUgYW5kIDUwMG1zIHdhcyB0b28gc2hvcnQgdG8gZGV0ZWN0CgkgIHN1Y2Nlc3NmdWwgdHVuaW5nLiAgQXMgd2VsbCBhcyB3YWl0aW5nIGZvciA1IHNlY29uZHMgZWFjaCAxMDBtcyB0aGUKCSAgc3RhdHVzIGlzIGNoZWNrZWQgYW5kIHRoZSBsb29wIGlzIGJyb2tlbiBvdXQgb2Ygd2hlbiB0dW5pbmcgaGFzIHN1Y2VlZGVkLgoKMjAwOS0wNy0xNiAxOTo0OToyNiArMDIwMCAgQWxla3NleSBZdWxpbiA8dWxpbkB0dXQuYnk+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCB1c2UgUElEcyA+IE1QRUdUU19NQVhfUElECgkgIFRoZSBtcGVndHNkZW11eCBzdHJlYW1zIGFycmF5IG9ubHkgaGFzIE1QRUdUU19NQVhfUElEIGVudHJpZXMKCSAgYW5kIGFjY2Vzc2luZyBvbmUgYWZ0ZXJ3YXJkcyB3aWxsIHJlc3VsdCBpbiBjcmFzaGVzLgoJICBGaXhlcyBidWcgIzU3NTY3Mi4KCjIwMDktMDctMTYgMTg6MTQ6MTggKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBBZGQgbW9yZSBkZWJ1ZyBvdXRwdXQgdG8gbWV0YWRhdGFtdXgKCjIwMDktMDctMTYgMTI6MDM6MzIgKzAyMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIHBlc2ZpbHRlcjogUGVybWl0IHVuYm91bmRlZCBwYWNrZXRzIGZvciAweGZkIChleHRlbmRlZCBzdHJlYW0gaWQpLgoJICBBZGRlZCBwYXJzaW5nIG9mIFBFUyBleHRlbnNpb24gcmVsYXRlZCBkYXRhLgoJICBGaXhlcyBzb21lIFZDMSByZWxhdGVkIGlzc3Vlcy4KCjIwMDktMDctMTYgMTM6NTU6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXR0ZW1wdCB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgkgIERvbid0IHN0b3JlIGEgY29uc3QgZ2NoYXIgKiBpbiBhIG5vbi1jb25zdCBnY2hhciAqIGxvY2FsIHZhci4KCSAgQWxzbywgbWFrZSB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGZ1bmN0aW9uIHN0YXRpYyBzaW5jZSBpdCdzIG9ubHkKCSAgdXNlZCBpbiB0aGUgb25lIGZpbGUuCgoyMDA5LTA3LTE1IDE4OjEwOjA0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBDYXN0IHNvbWUgZGVidWcgc3RyaW5nIHBhcmFtZXRlcnMgc28gdGhhdCB0aGV5IGRvbid0IGNhdXNlIG1pc21hdGNoZWQKCSAgdHlwZSB3YXJuaW5ncy4KCjIwMDktMDctMTUgMTY6MTc6MzUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBGaXggYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgdXNlLgoKMjAwOS0wNi0xMCAxOToyMToyMSArMDEwMCAgR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEVuaGFuY2VtZW50cyB0byB0aGUgbWl4ZXIgYW5kIGF1ZGlvIG91dHB1dAoJICBDb2RlIGNsZWFudXBzLCBnZW5lcmFsIGltcHJvdmVtZW50cywgc3VwcG9ydCBmb3IgdGhlCgkgIG5ldyBtaXhlciBmbGFncyBpbiBsYXRlc3QgZ3N0LXBsdWdpbnMtYmFzZS4KCSAgRml4ZXM6ICM1ODQyNTIKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDctMTUgMTg6Mjc6MzkgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBjb21wb25lbnQgdGFnIHRvIHN0cnVjdHVyZSBmb3IgY29tcG9uZW50IG1lc3NhZ2UKCjIwMDktMDctMTUgMTc6NDQ6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IHVzZSBub25idWZmZXJlZCBpbyB0byBzYXZlIG1lbWNvcGllcwoJICBXZSB3cml0ZSBsYXJnZSBibG9ja3MgYW55d2F5LCBzbyBubyBleHRyYSBidWZmZXJpbmcgcGxlYXNlLiBBbHNvIHVzZSBvbmUKCSAgZ19vYmplY3Rfc2V0IHRvIHNldCBtdWx0aXBsZSBwcm9wZXJ0aWVzIG9uIHNhbWUgb2JqZWN0LgoKMjAwOS0wNy0xNSAxMjoyMDoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9UT0RPOgoJICBjYW1lcmFiaW46IHRyYWNrIHRvZG8gaXRlbXMKCjIwMDktMDctMTUgMTE6MTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbGVhdmUgaW1hZ2UvdmlkZW8gYmluIGluIHJlYWR5IHdoZW4gY2hhbmdpbmcgbW9kZQoKMjAwOS0wNy0xNCAxNDoxMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYW1ycGFyc2U6IFN5bmMgYmFzZXBhcnNlIGNoYW5nZXMKCjIwMDktMDctMTQgMTQ6MDg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBBZGQgZnVuY3Rpb24gZm9yIHRoZSBiYXNlcGFyc2Ugc3ViY2xhc3MgdG8gcHVzaCBidWZmZXJzIGRvd25zdHJlYW0KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2UgZ3JhY2VmdWxseSB3aGVyZSB0aGUgc3ViY2xhc3MgZGVjaWRlcyB0byBkcm9wCgkgIHRoZSBmaXJzdCBidWZmZXJzIGFuZCBoYXMgbm8gY2FwcyBzZXQgeWV0LiBJdCdzIHN0aWxsIHJlcXVpcmVkIHRvCgkgIGhhdmUgdmFsaWQgY2FwcyBzZXQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIHNob3VsZCBiZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDktMDctMTQgMTQ6MDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzZWVrIGV2ZW50IGxlYWtpbmcKCjIwMDktMDctMTQgMTA6NDQ6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgbWV0YWRhdGE6IGZpeCBjb3B5J24ncGFzdGUgaW4gdGFnIGRlc2NyaXB0aW9uCgoyMDA5LTA3LTEzIDE4OjA0OjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm86IEFkZCBlbnVtIHR5cGVzIGZvciBzY2hyb2VkaW5nZXIgc2V0dGluZ3MKCjIwMDktMDYtMzAgMTY6MzE6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBlbXB0eSBsYW5ndWFnZSBjb2RlIHN0cmluZ3MKCSAgSWdub3JlIGVtcHR5IGxhbmd1YWdlIGNvZGVzIG9uIHNvbWUgcG9vcmx5IGNvZGVkIERWRHMsIHJhdGhlciB0aGFuCgkgIHNldHRpbmcgZW1wdHkgc3RyaW5ncyBpbnRvIG91ciBvdXRnb2luZyB0YWdsaXN0LgoKMjAwOS0wNy0xMyAxMjoyNDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ODQ1YjYzIHRvIGZlZGFhZWUKCjIwMDktMDctMTAgMjE6NDI6MTkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBPbmx5IGVuYWJsZSBwYXVzZWQgbW9kZSBpZiB0aGUgcHJvcGVydHkgaXMgdHJ1ZQoKMjAwOS0wNy0xMCAxMzowMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgIGl2b3JiaXM6IGV4dHJhY3Qgdm9yYmlzIGNvbW1lbnRzCgkgIEZpeGVzICM1NzU4MTguCgoyMDA5LTA3LTA4IDE3OjU5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIEJHUkEgc3VwcG9ydCBmb3IgdmlkZW8gaW4vb3V0cHV0CgoyMDA5LTA3LTA4IDE1OjI2OjA3ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IGRvdWJsZSBmcmVlCgkgIFRoZSBoYXNoIHRhYmxlIGFscmVhZHkgbWFrZXMgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaXMgY29ycmVjdGx5CgkgIGZyZWUnZCB3aGVuIGVsZW1lbnRzIGFyZSByZW1vdmVkLgoJICBGaXhlcyBidWcgIzU4NzgxOS4KCjIwMDktMDctMDggMTA6MTY6MTkgKzAxMDAgIE1pZ3VlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBjb21wb25lbnQgdGFnCgoyMDA5LTA3LTA4IDEwOjExOjUyICswMTAwICBNaWd1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBjYXJvdXNlbCBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCjIwMDktMDctMDcgMTU6Mjg6MDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIHBhcnNpbmcgb2YgZGF0YSBicm9hZGNhc3QgZGVzY3JpcHRvcnMKCjIwMDktMDctMDcgMjA6Mjg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBiYXNldmlkZW86IExpbmsgd2l0aCBsaWJnc3R2aWRlbyBmb3Igc29tZSB1c2VkIGZ1bmN0aW9ucwoKMjAwOS0wNy0wNyAxOToxODoxNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogU2VuZCBwYXVzZSBmcmFtZXMgd2hlbiBwYXVzZWQKCjIwMDktMDctMDcgMTk6MTU6NDIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBJZ25vcmUgcGF1c2UgZnJhbWVzCgoyMDA5LTA3LTA3IDE4OjI3OjM2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUHV0IGtleWZyYW1lL3BhdXNlZCBmbGFncyBpbiB0Y3AgaGVhZGVyCgoyMDA5LTA3LTA3IDE4OjE4OjA2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUHV0IHRpbWVzdGFtcCBvbiB0aGUgaGVhZGVyIGJ1ZmZlcgoKMjAwOS0wNy0wNyAxODoyMjo1NCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogUmV0aW1lc3RhbXAgdG8gdGhlIHJ1bm5pbmcgdGltZQoKMjAwOS0wNy0wNiAxNzoxNzoyMiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogU2F2ZSB0aGUgc2VnbWVudAoKMjAwOS0wNy0wNiAxNjoyNDo1OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogQWRkIHByb3BlcnR5IGZvciB0aGUgcGF1c2VkIG1vZGUKCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW8sIHNjaHJvZWRpbmdlcjogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgoyMDA5LTA3LTAyIDE1OjU4OjAwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggc2R0IHBhcnNpbmcuCgkgIGZpeCBwYXJzaW5nIG9mIGV2ZXJ5dGhpbmcgZm9yIGVhY2ggc2VydmljZSBmcm9tIGVpdCBzY2hlZHVsZSBmbGFnIG9uIGFuZCBhbHNvCgkgIGFkZCBhIHJ1bm5pbmctc3RhdHVzIHBhcmFtZXRlciB0byB0aGUgYnVzIG1lc3NhZ2Ugc3RydWN0dXJlLgoKMjAwOS0wNy0wMiAxMToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVvIGlucHV0L291dHB1dAoKMjAwOS0wNy0wMSAxMDo1NToxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogbW92ZSBmcm9tIC1iYXNlCgkgIEFsc28gbW92ZSBzY2hyb2VkaW5nZXIgcGx1Z2luLiAgVGhpcyBjcmVhdGVzIGEgbmV3IGxpYnJhcnksCgkgIGdzdGJhc2V2aWRlby0wLjEwLCB3aGljaCB3aWxsIHByb2JhYmx5IGJlIG1lcmdlZCBiYWNrIGludG8KCSAgZ3N0dmlkZW8tMC4xMCB3aGVuIHRoaXMgaXMgbW92ZWQgYmFjayB0byAtYmFzZS4KCjIwMDktMDctMDEgMTI6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwYmluOiB1c2UgbmV3IG1ldGhvZCBmb3IgbmV0YWRkcmVzcyB0byBzdHJpbmcKCjIwMDktMDYtMjkgMTc6MjQ6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdDogQWRkIGx2MiBwbHVnaW4gdG8gdGhlIGRpc3QKCjIwMDktMDYtMjkgMTY6Mzc6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBkaXN0OiBBZGQgdGhlIGNhbWVyYWJpbiBleGFtcGxlcyBzdWJkaXJlY3RvcnkgdG8gdGhlIGRpc3QKCjIwMDktMDYtMjkgMTg6NDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gYmV0dGVyIGNsZWFudXAgb2YgdGhlIHNyYyBnaG9zdHBhZHMKCSAgQ29ubmVjdCB0byB0aGUgcGFkLXJlbW92ZWQgc2lnbmFsIG9mIHRoZSBwdGRlbXV4IGVsZW1lbnRzIHNvIHRoYXQgd2UgcmVtb3ZlIHRoZQoJICBnaG9zdHBhZHMgZm9yIHRoZW0uIEZpeGVzIGNsZWFudXAgd2hlbiBnb2luZyB0byBOVUxMIGFzIHdlbGwgYXMgd2hlbiByZWxlYXNpbmcKCSAgdGhlIHNpbmtwYWRzLgoJICBGaXhlcyAjNTYxNzUyCgoyMDA5LTA2LTI5IDE3OjQ4OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogcmVtb3ZlIG9sZCBlbGVtZW50CgoyMDA5LTA1LTI4IDE5OjA4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgYSBjb21tZW50CgoyMDA5LTA2LTI5IDE2OjM3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMjkgMTY6MjE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5IHRoYXQgdGFrZXMgR3N0U3RydWN0dXJlCgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTAyIDE3OjQ2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cGJpbjogcmVtb3ZlZCBvbGQgZ3N0cnRwY2xpZW50CgoyMDA5LTA2LTI5IDEyOjIzOjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YSBhdCBnbWFpbC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGw6IG9ubHkgaW5jbHVkZSBzeXMvdGltZS5oIHdoZW4gd2UgaGF2ZSBpdAoJICBGaXhlcyAjNTg2OTU2CgoyMDA5LTA2LTI5IDEyOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBDb3JyZWN0bHkgY2xlYW4gdXAgZWxlbWVudHMgdG8gYmUgcmV1c2FibGUgYW5kIG5vdCBsZWFrIG1lbW9yeQoKMjAwOS0wNi0yOSAxMTo1OToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJICBmcmVpMHI6IEluIHRoZSBmaWx0ZXIgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1Njo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogSW4gdGhlIG1peGVyIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTQ6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBJbiB0aGUgc3JjIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTA6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBVc2UgZml4ZWQgY2FwcyBvbiB0aGUgZmlsdGVyIHBhZHMKCSAgVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHdlIGhhdmUgdG8gY3JlYXRlIGEgbmV3IGZyZWkwcgoJICBpbnN0YW5jZSBmb3IgYW55IGNhcHMgY2hhbmdlcyBhbmQgdGhlIGluc3RhbmNlcyBjYW4gaGF2ZSBoaXN0b3J5LgoJICBKdXN0IGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIGR1cmluZyBwbGF5YmFjayBjYW4gcmVzdWx0IGluIGJhZCBvdXRwdXQKCSAgcmlnaHQgYWZ0ZXIgdGhlIGNhcHMgY2hhbmdlLgoKMjAwOS0wNi0yNyAwOTo1MTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFNldCB0aGUgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVjdGx5CgoyMDA5LTA2LTI2IDE4OjM1OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY2xlYW51cHMKCSAgRG93bmdyYWRlIGEgV0FSTklORyB0byBJTkZPLiBVc2UgYSBiaXQgbW9yZSBjb21wYWN0IGNvZGUuIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgoyMDA5LTA2LTI2IDE4OjM0OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGp1c3QgcmVmIGNhcHMsIHdlIGRvbid0IG5lZWQgYSB3cml0YWJsZSBjb3B5CgoyMDA5LTA2LTI2IDE4OjMzOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gcmVmIGFuZCB1bnJlZiB0aGlzIHRlbXBvcmFyaWx5CgoyMDA5LTA2LTI2IDE4OjMyOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgc2lua19jYXBzIGlmIHRoZXkgd291bGQgYmUgYW55LWNhcHMKCjIwMDktMDYtMjYgMTg6MzE6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBwcmV2aWV3IGltYWdlcwoKMjAwOS0wNi0yNiAxODozMDowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHZpZXdmaW5kZXItY2FwcwoKMjAwOS0wNi0yNiAxNjowNzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IG1ha2Ugc2hvdDJzaG90IHRlc3QgbW9yZSByZWxpYWJsZQoJICBXZSBjYW4gb25seSB0cmlnZ2VyIG5leHQgc2hvdCAoaW4gdGhlIHRlc3QpIHdoZW4gY3VycmVudCBpcyBjYXB0dXJlZCBhbmQgc2F2ZWQuCgoyMDA5LTA2LTI2IDEzOjEwOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogaW5zZXJ0IGEgZmV3IGJsYW5rIGxpbmVzIGZvciByZWFkYWJpbGl0eQoKMjAwOS0wNi0yNiAxMzowOToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBtZXNzYWdlcyBhbmQgZWxlbWVudCByZWZzIGluIHByZXZpZXcKCjIwMDktMDYtMjYgMTU6MTA6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicuIENoZWNrIGZvciBhdXRvbWFrZS0xLjFbMDFdCgkgIENoZWNrIGZvciBtb3JlIGF1dG9tYWtlIGNvbW1hbmQgdmFyaWFudHMuIFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicKCSAgZm9yIHBvcnRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjQyOjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4MTAwMzAgdG8gNTg0NWI2MwoKMjAwOS0wNi0yNiAwOTozMDoyMiArMDEwMCAgQ2hhbmd3b28gUnl1IDxjd3J5dUBkZWJpYW4ub3JnPgoKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgZnJlZXplOiBkb24ndCBidWlsZCBwbHVnaW4gc3RhdGljIGxpYgoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgbGlrZSB3ZSBkbyBmb3Igb3RoZXIgcGx1Z2lucy4KCSAgRml4ZXMgIzU4NzAyMy4KCjIwMDktMDYtMjUgMTI6MzE6MzIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGZwcmludGYuCgoyMDA5LTA1LTMwIDExOjE4OjIxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgQWRkIExWMiBxdWljayBzdGFydCBSRUFETUUuCgoyMDA5LTA2LTI1IDE5OjIzOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayByZXF1ZXN0cGFkcwoJICBSZXF1ZXN0cGFkcyBuZWVkIHRvIGJlIHJlbGVhc2VkIGFuZCB1bnJlZmZlZC4gQWRkIGEgY29tbWVudCBpbiBvbmUgY2FzZSB3aGVyZQoJICB3ZSBpbnRlbnRpb25hbHkgZG9uJ3QgdW5yZWYuCgoyMDA5LTA2LTI1IDE5OjIxOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogc3luYyBmaXJzdCB0ZXN0IG1vcmUgc2FmZWx5CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfc3RhdGUoKSB0byB3YWl0IGZvciBQTEFZSU5HLCBVc2UgdGhlIGJ1cy1oYW5kbGVyCgkgIGluc3RlYWRlciBhbmQgYXN5bmNocm9ub3VzbHkgc2NoZWR1bGUgbmV4dCB0ZXN0LgoKMjAwOS0wNi0yNSAxNjo0MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBpbXBvcnQgZWxlbWVudCBpbnRvIC1iYWQKCjIwMDktMDYtMjUgMDg6Mzg6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA2LTI1IDA4OjM4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wNi0yNCAxODo1NjoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGFkZCB0YXJnZXQtdGltZXMgb3B0aW9uIHRvIHNwZWNpZnkgdGVzdCB0aW1lcwoJICBIYXZlIHNvbWUgcmVhc29uYWJsZSBkZWZhdWx0IHRpbWVzLiBBZGQgYSBjb21tYW5kbGluZSBvcHRpb24gdG8gb3ZlcnJpZGUKCSAgZGVmYXVsdHMuIEludGVycHJldCB0YXJnZXQtdGltZT0wIGFzIHNraXAtdGVzdC4KCjIwMDktMDYtMjMgMTM6MDE6NTIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYnVmZmVyLWFsbG9jIHN1cHBvcnQgZml4ZXMgdG8gaW1hZ2UgYW5kIHZpZGVvIGJpbiBoYW5kbGluZwoJICBLZWVwIGltYWdlIGJpbiBpbiBQQVVTRUQgc3RhdGUgaW4gaW1hZ2UgbW9kZSBleGNlcHQgd2hlbiBwcm9jZXNzaW5nL3NhdmluZyAoUExBWUlORy9SRUFEWSkuCgkgIENoYW5nZSBvdXRwdXQtc2VsZWN0b3IgdG8gdmlldyBmaW5kZXIgYmVmb3JlIHNldHRpbmcgdmlkZW8gYmluIHRvIFJFQURZLgoJICBGaXggZmlsZW5hbWUgc2VudCB3aXRoIGltZy1kb25lIHNpZ25hbC4KCjIwMDktMDYtMjMgMTM6MDE6MTMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IGZpeCBzZXR0aW5nIG11dGUgd2hlbiB2aWRlbyBiaW4gZWxlbWVudHMgaGF2ZW4ndCBiZWVuIGNyZWF0ZWQKCjIwMDktMDYtMTYgMTg6MTI6MjkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGltYWdlIGJpbiB0byBQQVVTRUQgd2hlbiBzdGFydGluZyBjYXB0dXJlCgkgIFNldCBpbWFnZSBiaW4gdG8gUEFVU0VEIGFsc28gd2hlbiBzdGFydGluZyBjYXB0dXJlIHVzaW5nIHBob3RvZ3JhcGh5CgkgIGludGVyZmFjZS4KCjIwMDktMDQtMjEgMTA6NTU6MzYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbGVhdmUgdjRsMmNhbXNyYyAiY2FwdHVyZS1tb2RlIiBhcyB2aWRlbyBtb2RlIHdoZW4gcGF1c2luZwoKMjAwOS0wNi0yNCAxNToxNDozMyArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzYmI1MWIgdG8gZjgxMDAzMAoKMjAwOS0wNi0yMiAwMzo1NToyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IE1vdmUgSTQyMC9ZVjEyIHRvIHRoZSBmcm9udCBvZiB0aGUgY2Fwcy4gQWRkIGRlYnVnLgoJICBNYWtlIEk0MjAvWVYxMiBjYXBzIGJlIHByZWZlcnJlZCB3aGVuIGRvd25sb2FkaW5nIHRvIFlVViBidWZmZXJzLAoJICB3aGVuIHBvc3NpYmxlLCBieSBsaXN0aW5nIHRoZW0gZmlyc3QgaW4gdGhlIHNldCBvZiBvdXRwdXQgY2Fwcy4KCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIGNhcHMgc2VsZWN0aW9uIGNvZGUuCgoyMDA5LTA2LTIzIDE4OjAxOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogYWxzbyBhbGxvdyB2aWRlby9tcGVnIG9uIG91dHB1dCBjYXBzLiAgRml4ZXMgIzM3Nzc4NC4KCjIwMDktMDYtMjMgMTg6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBDb3JyZWN0bHkgaGFuZGxlIDAvMSBmcHMKCjIwMDktMDYtMjIgMjM6NTA6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlICQodG9wX2J1aWxkZGlyKSBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGhzCgoyMDA5LTA2LTIyIDIzOjQ5OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGFkZCBsb2NhbCBpbmNsdWRlIGRpciB0byBDRkxBR1MKCjIwMDktMDQtMjggMjM6MjQ6NDUgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgV29ya2luZyBMVjIgcGx1Z2luIGRpc2NvdmVyeS4KCSAgLSBTZXBhcmF0ZSBnc3RzaWduYWxwcm9jZXNzb3IgaW50byBhIHNlcGFyYXRlIGxpYnJhcnkgKG5vdCBzdXJlIGlmIHRoaXMKCSAgaXMgaW4gdGhlIHJpZ2h0IHBsYWNlLCBidXQgaXQgd29ya3MgZm9yIG5vdyBhbnl3YXkpCgkgIC0gQ3JlYXRlIExWMiBlbGVtZW50IGJhc2VkIG9uIExBRFNQQSBlbGVtZW50LCBwb3J0IG1vc3QgZGlzY292ZXJ5CgkgIGZ1bmN0aW9uYWxpdHkKCjIwMDktMDMtMjkgMTM6MzE6MjEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkgIEZpeCBpbmNvbnNpc3RlbnQgc3R5bGUgKHRyaXZpYWwgdGVzdCBjb21taXQpLgoKMjAwOS0wMy0yOSAxMzoyMzowMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgY29uZmlndXJlIGNoZWNrIGZvciBTTFYyLgoKMjAwOS0wNi0yMiAyMjowMToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZGVidWcgbG9nIG9ubHkgY2hhbmdlCgoyMDA5LTA2LTIyIDE4OjM1OjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBtYXAgbW9yZSB0YWdzIGFuZCBmaXggcmVhZGluZyBvZiB4bXAgdGFncwoJICBSZWdpc3RlciB4bXAgc2NoZW1hcyBmb3IgcGhvdG9zaG9wIGFuZCBpcHRjLiBNYXAgYSBmZXcgbG9jYXRpb24gdGFncyB0aGVyZS4KCSAgQWRkIG1vcmUgZGMgdGFncy4gRml4IHJlYWRpbmcgeG1wIHRhZyBieSBpdGVyYXRpb24gb3ZlciBrbm93biBzY2hlbWFzLiBBZGQKCSAgc29tZSBtb3JlIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTA2LTE2IDE3OjEyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBtb3JlIGNsZWFudXAgaW4gdGVzdHMKCSAgQWRkIG1vcmUgZGVidWcgbG9nZ2luZy4gUmVtb3ZlIHVudXNlZCBtdXRleCBhbmQgY29uZC4KCjIwMDktMDYtMTIgMTQ6MjY6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjcnVmdCByZW1vdmFsIGFuZCBkZWJ1ZyBsb2dzCgkgIFJlbW92ZSB1bnVzZWQgY29kZS4gQWRkIGxvdHMgb2YgZGVidWcgbG9naW5nLiBDaGFuZ2UgY29tbWVudHMgZm9yIGxvY2FsCgkgIGZ1bmN0aW9ucyB0byBub3QgdXNlIC8qKiBndGstZG9jIHN0YXJ0IHN0eWxlLgoKMjAwOS0wNi0xMiAxMDo0MDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5nbGFkZToKCSAgY2FtZXJhYmluOiBhZGQgY2FtZXJhYmluIGV4YW1wbGVzCgkgIGdzdC1jYW1lcmEgaXMgYSBndGstdGVzdCBhcHAgdG8gcGxheSB3aXRoIHRoZSBpbWFnZWNhcHR1cmUgYW5kIHZpZGVvcmVjb3JkaW5nLgoJICBnc3QtY2FtZXJhLXBlcmYgaXMgYSB0b29sIHRvIHJ1biB2YXJpb3VzIHNjZW5hcmlvcyBhbmQgdGFrZSB0aW1lIG1lYXNzdXJlbWVudHMKCSAgKGUuZy4gc2hvdC10by1zaG90KS4gQWxzbyBzb3J0IHRoZSBvdXRwdXQgZmlsZXMgaW4gY29uZmlndXJlLmFjIGEgYml0IHRvIGJlCgkgIGluIGFscGhhYmV0aWNhbCBvcmRlci4KCjIwMDktMDYtMTAgMTE6MTU6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGZpeCBjb252ZXJzaW9uIG9mIGdlbyBjb29yZGluYXRlcwoJICBDb29yZGluYXRlIGNvbnZlcnNpb24gaGFzIGJlZW4gdmVyaWZpZWQgd2l0aCBleGl2MiBhbmQgc29tZSB3ZWJwYWdlcy4KCSAgTWludXRlcyB3aGVyIHRvdGFsbHkgb2ZmIGFuZCBzZWNvbmRzIHdlcmUgbm90IHVzZWQgYXQgYWxsLgoKMjAwOS0wNi0yMiAxMToxOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGV0ZWN0IGFuZCBmaXggZm9yIGJhZCBOQUxVIHNpemVzCgkgIHdoZW4gaW4gQVZDIG1vZGUgYSBuYWx1IHNpemUgc2VlbXMgaW52YWxpZCwgYXNzdW1lIHRoZSBOQUxVIGhhcyB0aGUgc2l6ZSBvZiB0aGUKCSAgYXZhaWxhYmxlIGRhdGEgaW5zdGVhZCBvZiBsb29waW5nIGZvcmV2ZXIuCgkgIEZpeGVzICM1ODYzNTQKCjIwMDktMDYtMTkgMjE6MjA6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAwOS0wNi0xOCAxNzowNjoyMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBWRFBBVTogRml4IGJ1aWxkIGZsYWdzIHRvIHB1bGwgaW4gZ3N0LXBsdWdpbnMtYmFzZSBsaWJzCgoyMDA5LTA2LTE1IDE4OjMzOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IFJlZmFjdG9yIHRoZSBlcnJvciBwYXRoIHRvIGEgY29tbW9uIG91dHB1dCwgYW5kIGZpeCBhIGxlYWsuCgkgIERvbid0IGxlYWsgdGhlIGlucHV0IGJ1ZmZlciBvbiBlcnJvcnMuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA5LTA2LTE1IDE4OjI5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICBWRFBBVTogRml4IHVwIGNhcHMgaW4gdmRwYXVtcGVnZGVjLiBSZW1vdmUgZXh0cmEgc2VtaWNvbG9uCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGNhcHMgZm9yIHRoZSBWRFBBVSBtcGVnIGRlY29kZXIgKGNocm9tYV90eXBlLT5jaHJvbWEtdHlwZSkKCSAgYW5kIHVzZSB0aGUgR1NUX1ZEUF9WSURFT19DQVBTIGZvciB0aGUgcGFkIHRlbXBsYXRlLgoJICBSZW1vdmUgYSBzdHJheSBzZW1pY29sb24uCgoyMDA5LTA2LTEyIDE2OjM5OjM5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgVkRQQVU6IEVuaGFuY2UgdGhlIGNvbmZpZ3VyZSB0ZXN0cwoJICBDaGVjayBmb3IgdGhlIFZEUEFVIGhlYWRlcnMgaW4gL3Vzci9pbmNsdWRlL252aWRpYSBhcyB0aGV5IGFyZSBvbiBzb21lCgkgIHBsYXRmb3JtcyAoRmVkb3JhL3JwbWZ1c2lvbikuIEFsc28gY2hlY2sgdGhhdCB0aGUgbGlidmRwYXUgbGlicmFyeSBpcwoJICBhdmFpbGFibGUuCgoyMDA5LTA2LTA5IDIzOjE0OjI2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZml4ZWQgc3JjIGNhcHMKCjIwMDktMDYtMDggMTQ6MzU6MjkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IGRyb3AgYWxsIGZyYW1lcyBiZWZvcmUgYSBHT1Agd2hlbiB3ZSBzZWVrCgoyMDA5LTA2LTA4IDE0OjE1OjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA2LTA3IDIzOjQ2OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcy9JU19WRFBBVS9JU19WRFAKCjIwMDktMDYtMDcgMDE6MjU6MDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNlbmQgbmV3c2VnbWVudCBldmVudCBpZiBvbmx5IHRoZSByYXRlIGhhcyBiZWVuIHVwZGF0ZWQKCjIwMDktMDYtMDcgMDE6MTI6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBtdXRleCB0byBwcm90ZWN0IG1wZWdfZGVjLT5zZWVraW5nIGZyb20gY29uY3VycmVudCBhY2Nlc3MKCjIwMDktMDYtMDcgMDA6NTU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBnc3RfcGFkX2dldF9wYXJlbnQgZm9yIHRocmVhZHNhZmV0eQoKMjAwOS0wNi0wNiAyMToyNzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZnVydGhlciB3b3JrIG9uIHNlZWtpbmcKCjIwMDktMDYtMDUgMjM6MTE6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wNi0wNSAyMjoyODowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIG9uIG5vbiBJX0ZSQU1FJ3MKCjIwMDktMDYtMDUgMjE6NDg6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgZ3N0dmRwbXBlZ2RlY29kZXIuW2NoXSB0byBnc3R2ZHBtcGVnZGVjLltjaF0KCjIwMDktMDYtMDUgMjE6NDY6MDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgR3N0VmRwTXBlZ0RlY29kZXIgdG8gR3N0VmRwTXBlZ0RlYwoKMjAwOS0wNi0wNSAyMTo0MjozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBwYXNzIGJ1ZmZlciBzaXplIGRpcmVjdGx5IHRvIGdzdF92ZHBfbXBlZ19kZWNvZGVyX2RlY29kZQoKMjAwOS0wNi0wNSAyMToxODo0NyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXAKCjIwMDktMDYtMDUgMjE6MTY6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogY2FsY3VsYXRlIGJ5dGVyYXRlIGZyb20gdGhlIHNpemUgb2YgdGhlIGluY29taW5nIGRhdGEKCjIwMDktMDYtMDUgMTk6MDg6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBwcmludCBmcmFtZV9uciBpbiBkZWJ1ZyBwcmludAoKMjAwOS0wNi0wNSAxODoyODoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGludGVybGFjZWQgZml4ZXMKCjIwMDktMDYtMDUgMTg6MTg6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBvbmx5IHNldCBiYXNlIGR1cmF0aW9uIG9uY2UKCjIwMDktMDYtMDUgMTc6NTM6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBzZW5kIHRoZSBFVkVOVF9ORVdTRUdNRU5UIGRvd25zdHJlYW0gaWYgd2UncmUgc2Vla2luZwoKMjAwOS0wNi0wNSAxNzo0Mzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBpbXBsZW1lbnQgc2Vla2luZwoKMjAwOS0wNi0wNSAxMTo1NDoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNoYW5nZSBhIEdTVF9ERUJVRyB0byBHU1RfV0FSTklORwoKMjAwOS0wNi0wNSAxMTo1MjozMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW51c2VkIGJyb2tlbl9nb3AgZmllbGQKCjIwMDktMDYtMDUgMTE6NTE6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgbmV3IGdzdF92ZHBfbXBlZ19kZWNvZGVyX2ZsdXNoIGZvciBmbHVzaGluZyB0aGUgZGVjb2RlcgoKMjAwOS0wNi0wNSAxMToyNDozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBHU0VfREVCVUdfRlVOQ1BUUgoKMjAwOS0wNi0wNSAxMToyMDo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGRyb3AgZGlzY29udCBidWZmZXJzCgoyMDA5LTA2LTA1IDExOjE3OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIEdTVF9RVUVSWV9QT1NJVElPTiBhbmQgR1NUX1FVRVJZX0RVUkFUSU9OCgoyMDA5LTA2LTA0IDIxOjE3OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogY2FsY3VsYXRlIGNvcnJlY3QgZHVyYXRpb24gZnJvbSBkYXRhIGluIE1QRUdfUEFDS0VUX0VYVF9QSUNUVVJFX0NPRElORwoKMjAwOS0wNi0wNCAxOTozMDowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBmaXggc28gdGhhdCB0aGUgZmlyc3QgZnJhbWUgaW4gYSByYXcgbXBlZ3ZpZGVvIHN0cmVhbSBnZXQgdGltZXN0YW1wIDAKCjIwMDktMDYtMDQgMTk6MTc6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdnBkYXVtcGVnZGVjOiByZW1vdmUgdXNlbGVzcyBHc3RWZHBEZWNvZGVyIGJhc2VjbGFzcwoKMjAwOS0wNi0wNCAxODoxMTowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIEdzdEJpdFJlYWRlciB0byBwYXJzZSBiaXRzdHJlYW0KCjIwMDktMDUtMDYgMjM6MDc6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogY2hhbmdlIGVsZW1lbnQgcmFuayBmb3IgdGVzdGluZyBwdXJwb3NlcwoJICBzZXQgbXBlZ3ZpZGVvcGFyc2UgcmFuayB0byBwcmltYXJ5IGFuZCB2ZHBhdW1wZWdkZWMgdG8gcHJpbWFyeSAtIDEgdG8gZ2V0IHZkcGF1bXBlZ2RlYwoJICBjb3JyZWN0bHkgcGx1Z2dlZCBpbnRvIHBsYXliaW4KCjIwMDktMDUtMDUgMjM6MTk6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogYWRkIGRlYnVnIG9uIEdzdFZkcERldmljZSBkZXN0cm95CgoyMDA5LTA1LTA1IDIzOjEzOjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY29kZSBjbGVhbnVwCgoyMDA5LTA1LTA1IDIzOjA4OjUxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubnVzZWQgR3N0VmRwQkZyYW1lIHN0cnVjdAoKMjAwOS0wNS0wNSAyMzowNzowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4IHNtYWxsIHR5cG8gaW4gZGVidWcgcHJpbnQKCjIwMDktMDUtMDUgMTg6NTQ6MzEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHRpbWVzdGFtcGluZyBvZiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTA1LTA1IDE4OjQ1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgYWRkIGZvcndhcmRfcmVmZXJlbmNlIGlmIHRoZSBmcmFtZSBpcyBhbiBJX0ZSQU1FCgoyMDA5LTA1LTA1IDE4OjM3OjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoKMjAwOS0wNS0wNSAxNzozMDozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWVkZWQgbG9ja2luZyBzaW5jZSB3ZSBrbm93IGRvIFN0YXRlQ2hhbmdlIGNvcnJlY3RseQoKMjAwOS0wNS0wNSAxNzoyODoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgcy9HU1RfVFlQRV9WRFBBVS9HU1RfVFlQRV9WRFAvZwoKMjAwOS0wNS0wNSAxNzoyMDoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcy9HU1RfVFlQRV9WRFBBVS9HU1RfVFlQRV9WRFAvZwoKMjAwOS0wNS0wNSAxNzoxNTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHN0YXRlIGNoYW5nZQoKMjAwOS0wNS0wNSAxNjoyOToyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGluaXQgInZkcGF1ZGV2aWNlIiBkZWJ1ZyBjYXRvZWdvcnkgaW4gZ3N0X3ZkcF9nZXRfZGV2aWNlCgoyMDA5LTA1LTA1IDA4OjExOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaG9sZCB0aGUgbG9jayBpbiBjaGFuZ2Vfc3RhdGUKCjIwMDktMDUtMDMgMjE6NTI6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiB0aGUgQl9GUkFNRSBkZWNvZGluZyB3YXMgY29tcGxldGVseSB3cm9uZywgZml4IGl0CgkgIHRoZSBidWZmZXJzIGRvbid0IGNvbWUgaW4gb3V0cHV0IG9yZGVyIHNvIGZpeCB0aGUgZGVjb2RlciB0byBoYW5kbGUgdGhpcwoJICBhZGQgbmV3IGdzdF92ZHBfdmlkZW9fYnVmZmVyX2FkZF9yZWZlcmVuY2UgbWV0aG9kIHRvIEdzdFZkcFZpZGVvQnVmZmVyIHRvIGJlIGFibGUgdG8ga2VlcAoJICBidWZmZXJzIGFsaXZlLiBJZS4gYSBCX0ZSQU1FIG5lZWQgdG8gaGF2ZSBib3RoIHRoZSBmb3J3YXJkIHJlZmVyZW5jZSBhbmQgdGhlIGJhY2t3YXJkCgkgIHJlZmVyZW5jZSBhbGl2ZSBkdXJpbmcgaXQncyBsaWZldGltZS4KCSAgYWRkIG11dGV4IHRvIHByb3RlY3QgZm9yIHRocmVhZHNhZmV0eSBpc3N1ZXMgd2hlbiB3ZSByZXNldCB0aGUgZGVjb2RlciBpbiBGTFVTSF9TVE9QCgoyMDA5LTA0LTMwIDIxOjU4OjAxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IGZ1bGxfcGVsX2ZvcndhcmRfdmVjdG9yIHRvIDAgd2hlbiBwaWNfdHlwZSA9PSBQX0ZSQU1FCgoyMDA5LTA0LTI3IDIxOjMwOjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZHJvcCBmcmFtZXMgaWYgd2UgaGF2ZW4ndCBnb3QgYW4gSV9GUkFNRSB5ZXQKCjIwMDktMDQtMjcgMjA6NTc6MTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBzZXQgdmRwYXV2aWRlb3l1diBhbmQgdmRwYXV5dXZ2aWRlbyB0byBHU1RfUkFOS19QUklNQVJZCgoyMDA5LTA0LTI3IDIwOjUwOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZGVzdHJveSB0aGUgVmRwRGVjb2RlciBhbmQgcmVzZXQgdGhlIGRlY29kZXIgb24gc3RhdGUgY2hhbmdlCgoyMDA5LTA0LTI3IDIwOjQ1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogZml4IGVycm9yIHdoZXJlIHdlIGZvcmdvdCB0byBwYXNzIGEgdHJhaWxpbmcgTlVMTCB0byBnX29iamVjdF9uZXcKCjIwMDktMDQtMjcgMjA6MjE6NDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBjbG9zZSBkaXNwbGF5IG9uIGZpbmFsaXplCgoyMDA5LTA0LTI3IDIwOjE4OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGZpeGVzCgkgIGluaXQgY3JlYXRlIEdzdFZkcERldmljZSBvbiBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRCBpbnN0ZWFkIG9mIG9uCgkgIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UTyBSRUFEWQoJICBhZGQgYmFjayBpbmNyZW1lbnRpbmcgb2YgZnJhbWVfbnIKCjIwMDktMDQtMjcgMjA6MTU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiB1c2UgZ19vbmNlX2luaXRfZW50ZXIgaW5zdGVhZCBvZiBnX29uY2UKCjIwMDktMDQtMjcgMTg6MzQ6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBpZiBhdmFpbGFibGUgdXNlIGluY29taW5nIGJ1ZmZlciB0aW1lc3RhbXAgYXMgb3V0cHV0IHRpbWVzdGFtcAoKMjAwOS0wNC0yNyAxNToxMjoyNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNsZWFyIHRoZSBhZGFwdGVyIHdoZW4gd2UgcmVzZXQgdGhlIGRlY29kZXIKCjIwMDktMDQtMjYgMjM6MjU6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZml4dXAgcmVuYW1pbmcKCSAgdGhlIHJlbmFtZSB3b3JrIGRvbmUgaW4gY29tbWl0IDI0Y2Y4NGQwNmIyZjRiMmVkZWMzMzgzYjE5ODQ0MWEwNzgyOTYxOGIgZGlkbid0CgkgIGluY2x1ZGUgdHlwZWNhc3RzLiBUaGlzIGNvbW1pdCBmaXhlcyB0aGlzLgoKMjAwOS0wNC0yNiAyMzoyMDozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlc2V0IGRlY29kZXIgb24gR1NUX0VWRU5UX0ZMVVNIX1NUT1AKCjIwMDktMDQtMjYgMjI6MDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZXNldCBkZWNvZGVyIHdoZW4gd2UgZ2V0IGEgZGlzY29udCBidWZmZXIKCjIwMDktMDQtMjYgMjA6NDA6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgIk1QRUdfUEFDS0VUX0VYVF9QSUNUVVJFX0NPRElORyIgZGVidWcgc3RhdGVtZW50CgoyMDA5LTA0LTIyIDIzOjM1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIGJyb2tlbl9nb3AgZmllbGQKCjIwMDktMDQtMjIgMjE6MDQ6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBjb252ZXJ0IGFsbCBtYW51YWwgcGFyc2luZyB0byB1c2UgcmVhZF9iaXRzIGluc3RlYWQKCjIwMDktMDQtMjIgMjA6Mjg6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWRlZCBnc3RfYnVmZmVyX3JlZiBhbmQgdGhlIGFjY29tcGFueWluZyBnc3RfYnVmZmVyX3VucmVmCgoyMDA5LTA0LTIyIDIwOjI1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgZXJyb3Igd2hlcmUgd2Ugc2V0IGZvcndhcmRfcmVmZXJlbmNlIGluc3RlYWQgb2YgYmFja3dhcmRfcmVmZXJlbmNlCgoyMDA5LTA0LTE2IDIzOjQzOjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgbXVsdGlwbGUgQl9GUkFNRXMgaW4gYSByb3cKCjIwMDktMDQtMTYgMjI6MzA6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBtb3JlIEJfRlJBTUUgd29yawoKMjAwOS0wNC0xNiAyMjowNjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBpbml0YWwgc3VwcG9ydCBhdCBoYW5kbGluZyBCX0ZSQU1FUwoKMjAwOS0wNC0xNSAyMzo0OTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIEdzdEZsb3dSZXR1cm4gcHJvcGFnYXRpb24gYSBiaXQKCjIwMDktMDQtMTUgMjM6Mzg6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IHBhcnNlIFBJQ1RVUkVfQ09ESU5HX0VYVEVOU0lPTiBhbHRlcm5hdGVfc2NhbiBiaXQKCjIwMDktMDQtMTUgMjM6MzE6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgcXVhbnRtYXRyaXggZXh0ZW5zaW9uIHBhcnNpbmcKCjIwMDktMDQtMTUgMTg6MTc6NTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjb3JyZWN0IHNvbWUgZGVmYXVsdCB2YWx1ZXMKCSAgbXBlZzEgbm93IGdpdmUgbmVhcmx5IGNvcnJlY3Qgb3V0cHV0IDopCgoyMDA5LTA0LTE1IDE3OjUyOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbW92ZSB1bnVzZWQgc2xpY2UgZmllbGQKCjIwMDktMDQtMTQgMjM6NDc6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHJlbmFtZSAidmlkZW8vdmRwYXUtdmlkZW8iIGNhcHMgdG8gInZpZGVvL3gtdmRwYXUtdmlkZW8iCgoyMDA5LTA0LTE0IDIxOjA3OjMyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSAic2lsZW50IiBwcm9wZXJ0eSBmcm9tIEdzdFZkcERlY29kZXIKCjIwMDktMDQtMTQgMjE6MDU6NDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogZG9uJ3Qgc2V0IGVsZW1lbnQgZGV0YWlscyBpbiBHc3RWZHBEZWNvZGVyCgoyMDA5LTA0LTE0IDIxOjA0OjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVuYW1lIHRvICJ2ZHBhdW1wZWdkZWMiCgoyMDA5LTA0LTE0IDE5OjA4OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW1vdmUgdW5uZWNlc2FyeSB3YW50X3NsaWNlIGZpZWxkCgoyMDA5LTA0LTEzIDIyOjIxOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogc21hbGwgY29zbWV0aWNhbCBmaXgKCjIwMDktMDQtMTMgMjI6MTk6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbmFtZSBhbGwgZmlsZXMgYW5kIG9iamVjdHMgZnJvbSBWZHBhdSB0byBWZHAKCjIwMDktMDQtMTMgMjE6MjM6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogZGVjb2RlIHNsaWNlcyB3aGVuIHdlIGdldCB0aGUgbmV4dCBwaWN0dXJlIGhlYWRlci4gTVBFRzIgbm93IGtpbmRvZiB3b3Jrcy4KCjIwMDktMDQtMTMgMjE6MTE6NTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXU6IHNtYWxsIGltcHJvdmVtZW50IHRvIG1wZWcgZGVjb2RlcgoKMjAwOS0wNC0xMyAyMDowNDoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVtb3ZlIHVudXNlZCAic2lsZW50IiBwcm9wZXJ0aWVzCgoyMDA5LTA0LTEzIDE5OjM2OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSAgdmRwYXU6IGltcGxlbWVudCBHc3RWZHBhdVZpZGVvQnVmZmVyIC0+IEk0MjAgY29udmVyc2lvbgoKMjAwOS0wNC0wOSAxNjo1NDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJICB2ZHBhdTogbW92ZSBkZWZpbml0aW9uIG9mIHRoZSBWZHBDaHJvbWFUeXBlIGFycmF5IGFuZCB0aGUgVmRwYXVGb3JtYXRzIHRvIGdzdGRldmljZS5oCgoyMDA5LTA0LTA3IDIxOjUxOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGZpeAoJICBzZXQgdmRwX2luZm8uZm9yd2FyZF9yZWZlcmVuY2UgdG8gVkRQX0lOVkFMSUQgaGFuZGxlIHdoZW4gdW5yZWZmaW5nIHRoZSBvbGQKCSAgYnVmZmVyCgoyMDA5LTA0LTA3IDIwOjQ2OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJICB2ZHBhdTogYWRkIG5ldyBHc3RWZHBhdVlVVlZpZGVvIGVsZW1lbnQKCSAgdGhlIEdzdFZkcGF1WVVWVmlkZW8gZWxlbWVudCB0YWtlcyByYXcgWVVWIHZpZGVvIGFuZCBvdXRwdXRzCgkgIEdzdFZkcGF1VmlkZW9CdWZmZXJzCgoyMDA5LTA0LTA0IDIyOjQ1OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSAgdmRwYXU6IFZpZGVvWVVWIHVucmVmIGJ1ZmZlciBpbiBjaGFpbiBzbyB0aGF0IHdlIGRvbid0IGxlYWsgdGhlbSBNcGVnRGVjb2RlciBwYXJzZSBzZXF1ZW5jZSBoZWFkZXJzCgoyMDA5LTA0LTA0IDIyOjA1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogcmVtb3ZlIHNvbWUgdW5uZWRlZCBpbmNsdWRlcwoKMjAwOS0wNC0wNCAyMjowMzoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSAgdmRwYXU6IG1vdmUgcGx1Z2luIGRlZmluaXRpb24gdG8gYSBuZXcgZ3N0dmRwYXUuYyBmaWxlIGZpeCB1cCBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDA5LTA0LTA0IDIwOjUzOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSAgdmRwYXU6IGFkZCBuZXcgR3N0VmRwYXVWaWRlb1lVViBlbGVtZW50CgkgIEdzdFZkcGF1RGVjb2RlciBub3cgcHVzaGVzIEdzdFZkcGF1VmlkZW9CdWZmZXJzIGluc3RlYWQgb2YgZG9pbmcKCSAgVmRwU3VyZmFjZSAtPiBZVVYgY29udmVyc2lvbi4gVG8gZ2V0IFlVViBkYXRhIHlvdSBub3cgcHV0IGluIGEgR3N0VmRwYXVWaWRlb1lVVgoJICBlbGVtZW50IHdoaWNoIHRha2VzIEdzdFZkcGF1VmlkZW9CdWZmZXJzIGFuZCBvdXRwdXRzIFlVViBkYXRhLgoKMjAwOS0wNC0wMyAxNzo1OTowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnQgZml4CgoyMDA5LTA0LTAzIDE3OjU4OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkgIHZkcGF1OiByZW1vdmUgb2Jvc29sZXRlIEZJWE1FIGFuZCBzb21lIGRlYnVnIHByaW50cyBmcm9tIGdzdHZkcGF1ZGV2aWNlLmMKCjIwMDktMDQtMDMgMTc6NTM6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSAgdmRwYXU6IGNvbW1pdCByZW5hbWUgb2YgZ3N0LXZkcGF1LWRldmljZS5oIHRvIGdzdHZkcGF1ZGV2aWNlLmgKCjIwMDktMDQtMDMgMTc6NTI6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5jOgoJICB2ZHBhdTogcmVtb3ZlIGdzdC12ZHBhdS1kZXZpY2UuYwoKMjAwOS0wNC0wMyAxNzo1MToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSAgdmRwYXU6IHJlbmFtZSBnc3QtdmRwYXUtZGV2aWNlLltjaF0gdG8gZ3N0dmRwYXVkZXZpY2UuW2NoXQoKMjAwOS0wNC0wMSAyMTo0Mjo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogY2hhbmdlIGFsbCByZWZlcmVuY2VzIG9mICJnc3RfdmRwYXVkZWNvZGVyKiIgdG8gImdzdF92ZHBhdV9kZWNvZGVyIgoKMjAwOS0wNC0wMSAyMTo0MDoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IG1ha2UgdGhlIGRlY29kZXIgY2xlYW4gdXAgYWZ0ZXIgaXRzZWxmCgoyMDA5LTA0LTAxIDIxOjI2OjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogcmVtb3ZlIGV4dHJhIFwgZnJvbSBNYWtlZmlsZS5hbQoKMjAwOS0wNC0wMSAyMToxOToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgZ3N0dmRwYXVkZXZpY2UgZm9yIGFic3RyYWN0aW5nIHZkcGF1IGluaXRhbGl6YXRpb24KCjIwMDktMDMtMzEgMjI6NTQ6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIGNvbW1lbnQKCjIwMDktMDMtMzEgMjI6NTM6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBNUEVHMSBkZWNvZGluZyBrbm93IGdpdmVzIHJlY29nbml6YWJsZSBvdXRwdXQKCjIwMDktMDMtMjkgMTU6Mjg6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogY3JlYXRlIFZkcERlY29kZXIgaW4gc2V0X2NhcHMgYWRkIG1vcmUgZnVuY3Rpb25zIGZvciBwYXJzaW5nIG1wZWcKCjIwMDktMDMtMjcgMTc6MTE6MDQgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IHN0b3JlIHZkcGF1IGZ1bmN0aW9uIHBvaW50ZXJzIGluIGEgbG9jYWwgc3RydWN0dXJlCgoyMDA5LTAzLTI3IDE2OjU1OjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGV4dHJhY3QgbXBlZzIgcHJvZmlsZSBmcm9tIGNvZGVjX2RhdGEKCjIwMDktMDMtMjYgMjE6MDQ6NDggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGV4dHJhY3QgbXBlZyB2ZXJzaW9uCgoyMDA5LTAzLTI1IDIwOjQxOjQ2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGFkZCB2ZXJzaW9uIHNwZWNpZmljYXRpb24gdG8gbXBlZ2RlY29kZXIgY2FwcwoKMjAwOS0wMy0yNSAyMDozODoyNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGZvY3VzIG9uIG1wZWcgaW5zdGVhZCBvZiBoMjY0CgoyMDA5LTAzLTI1IDE5OjU5OjA2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogcm91Z2ggdHJ5IGF0IGltcGxlbWVudGluZyBwdXNoaW5mIG9mIFlWMTIgYnVmZmVycwoKMjAwOS0wMy0yNCAyMjoyNjo1NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50CgoyMDA5LTAzLTIzIDIxOjM2OjU1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogaW5pdCB2ZHBhdSBpbiBHU1RfU1RBVEVfQ0hBTkdFX05VTExfVE9fUkVBRFkgYWRkIGdzdF92ZHBhdWRlY29kZXJfcHVzaF92aWRlb19zdXJmYWNlIHRvIHZkcGF1ZGVjb2Rlci5oCgoyMDA5LTAzLTIzIDIwOjQ3OjAwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgc3R1YnMgZm9yIHB1c2hpbmcgVmRwVmlkZW9TdXJmYWNlcyB0byB0aGUgc3JjIHBhZAoKMjAwOS0wMy0yMSAyMjowNjoxMiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkgIHZkcGF1OiB1cGRhdGUgVmRwYXVIMjY0RGVjb2RlciBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDA5LTAzLTIwIDIxOjI2OjExICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogY2hhbmdsZSBnc3R2ZHBhdWRlY29kZXIuYyBjbGFzc2lmaWNhdGlvbgoKMjAwOS0wMy0yMCAyMToyNDo0MCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogaW1wbGVtZW50IGRvd25zdHJlYW0gY2FwcyBuZWdvdGlhdGlvbgoKMjAwOS0wMy0xNSAyMToyMzozNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudGF0aW9uIGZpeAoKMjAwOS0wMy0xNSAyMToyMTo0OSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgYmFzaWMgYmFzZSBjbGFzcyBmb3IgdmRwYXUgZGVjb2RlcnMKCjIwMDktMDMtMTQgMTA6NDM6MjggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBhZGQgbmV3IHZkcGF1IGRpcmVjdG9yeQoKMjAwOS0wNi0xOSAxOTowOToxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rby5zdWJhc2ljIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIEFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGJ1ZmZlci1saXN0cy4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGVzdGluZyB0aGF0IHRoZSBidWZmZXItbGlzdCBwYXNzZWQgdGhyb3VnaCBydHBiaW4uCgkgIGZpeGVzICM1ODU4MzkKCjIwMDktMDYtMTggMTI6MTM6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBRElGOiBkbyBub3Qgc2VuZCBib2d1cyB0aW1lc3RhbXBzLCBsZWF2ZSB0byBkb3duc3RyZWFtIChkZWNvZGVyKQoKMjAwOS0wNi0xMSAxNTo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogb25seSB1c2UgKDY0LWJpdCkgZXh0ZW5kZWQgKG1kYXQpIGF0b20gc2l6ZSBpZiBuZWVkZWQuICBGaXhlcyAjNTg1MzE5LgoKMjAwOS0wNi0xMCAxNDo0NjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBkZWZhdWx0IG1vdmllIHRpbWVzY2FsZSB0byBtaWNyb3NlY29uZCB1bml0cwoKMjAwOS0wNi0xMCAxMzoyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGNvbXByZXNzL29wdGltaXplIHN0c2Mgd3JpdGluZwoKMjAwOS0wNi0xMCAxMjo0Mjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDNHUCBzdHlsZSB0YWdnaW5nIChhbmQgcmVmYWN0b3IgYXBwcm9wcmlhdGVseSkKCjIwMDktMDYtMDEgMjM6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eCAoYW5kIHZhcmlhbnRzKTogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpby4gIEZpeGVzICM1ODQzNTguCgoyMDA5LTA2LTE5IDE3OjA0OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIEZpeCBwcmV2aW91cyBjb21taXQgc28gdGhhdCB0aGluZ3Mgc3RpbGwgd29yayB3aXRoIGRlYnVnIGxvZ3MgZW5hYmxlZAoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA5LTA2LTE2IDIxOjM0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBNYWtlIHBsdWdpbiBzY2FubmluZyBtb3JlIHJvYnVzdAoKMjAwOS0wNi0xNiAyMToyNzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE1ha2Ugc3VyZSB0byBvbmx5IHJlZ2lzdGVyIHBsdWdpbnMgdGhhdCBoYXZlIHZhbGlkIHByb3BlcnQgdHlwZXMKCjIwMDktMDYtMTYgMTk6NDI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IFJlbW92ZSBjdXN0b20gZ2V0X3VuaXRfc2l6ZSBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIGlzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgZGVmYXVsdCBvbmUgZnJvbSBHc3RWaWRlb0ZpbHRlcgoKMjAwOS0wNi0xNSAxNzowNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IEZpeCB0aGUga2xhc3Mgb2YgdGhlIGZpbHRlciBlbGVtZW50cwoKMjAwOS0wNi0xNCAxOTo0MToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRnJlZSB0eXBlIG5hbWVzCgoyMDA5LTA2LTE0IDE5OjM1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBVbnJlZiB0aGUgR3N0Q29sbGVjdFBhZHMgaW5zdGFuY2Ugb24gZmluYWxpemUKCjIwMDktMDYtMTQgMTk6Mjc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBEb24ndCBhbGxvdyBjYXBzIGNoYW5nZXMgaW4gUExBWUlORy9QQVVTRUQKCSAgTW9zdCBmcmVpMHIgc291cmNlIHBsdWdpbnMgZ2VuZXJhdGUgb3V0cHV0IGJhc2VkIG9uCgkgIHByZXZpb3VzIG91dHB1dCBhbmQgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2Ugb24gY2FwcwoJICBjaGFuZ2VzIHdpbGwgbGV0IHRoZSBvdXRwdXQgc3RhcnQgYXQgMCBhZ2Fpbi4KCjIwMDktMDYtMTQgMTk6MjE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkgIGZyZWlyMDogQWRkIHN1cHBvcnQgZm9yIGZyZWkwciBtaXhlciBwbHVnaW5zCgoyMDA5LTA2LTEzIDEwOjA2OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRGVzdHJveSB0aGUgZjByX2luc3RhbmNlX3QgaW4gc3RvcCgpCgoyMDA5LTA2LTEyIDIyOjA0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogQWRkIHRoZSBmcmVpMHIgcGx1Z2luIHR5cGUgdG8gdGhlIGVsZW1lbnQgbmFtZQoJICBUaGlzIG1ha2VzIGl0IGVhc2llciB0byBkaXN0aW5ndWlzaCBnZW5lcmF0b3JzIGZyb20gZmlsdGVycywgZXRjCgoyMDA5LTA2LTEyIDIyOjAwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogQWRkIHN1cHBvcnQgZm9yIGZyZWkwciBzb3VyY2UvZ2VuZXJhdG9yIHBsdWdpbnMKCjIwMDktMDYtMTIgMTU6MTM6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBBbGxvdyB0aGUgY29tcGxldGUgZG91YmxlIHJhbmdlIGZvciBkb3VibGUgcHJvcGVydGllcwoJICBUaGUgc3BlYyByZXN0cmljdHMgaXQgdG8gWzAsMV0gYnV0IHNvbWUgcGx1Z2lucyBhcmUgdXNpbmcgdGhlCgkgIGNvbXBsZXRlIGRvdWJsZSByYW5nZS4KCjIwMDktMDYtMTIgMTU6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBVc2UgYmV0dGVyIHByb3BlcnR5IG5pY2tzCgoyMDA5LTA2LTEyIDE0OjU5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSAgZnJlaTByOiBGaXJzdCB2ZXJzaW9uIG9mIGEgZnJlaTByIHdyYXBwZXIgcGx1Z2luCgkgIEN1cnJlbnRseSB0aGlzIG9ubHkgc3VwcG9ydHMgZnJlaTByIGZpbHRlcnMuCgoyMDA5LTA2LTE0IDIwOjAwOjUxICswMjAwICBNYXhpbWlsaWFuIEjDtmduZXIgPHBibWF4aUBob2VnbmVycy5kZT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRXhwbGljaXRlbHkgY2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gZml4IGEgc2VnZmF1bHQKCSAgRml4ZXMgYnVnICM1ODU2NjAuCgoyMDA5LTA2LTA5IDE5OjE0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE4OjQ1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJveHkgcXVlcmllcyBvbiB0aGUgdmlkZW8gcGFkcyB0byB0aGUgY29ycmVjdCBwZWVycwoKMjAwOS0wNi0wOSAxODozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByb3h5IGJ1ZmZlcmFsbG9jIG9uIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTA2LTA5IDE4OjI1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogVHJ5IHRvIHdvcmsgaW5wbGFjZSBpZiBwb3NzaWJsZQoJICBUaGlzIHNhdmVzIG9uZSBuZXcsIGxhcmdlIGFsbG9jYXRpb24gcGVyIGZyYW1lIGZvciB0aGUKCSAgbW9zdCBjYXNlcy4KCjIwMDktMDYtMTYgMTg6NDY6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHN0cmF5IHNlbWljb2xvbnMgdGhhdCBtZXNzIHVwIGlmIHN0YXRlbWVudAoKMjAwOS0wNi0xMSAxMzo0MjoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IEJ1bXAgY29tbW9uIHRvIGNvcnJlY3QgdXBsb2FkLWRvYy5tYWssIGZpeCBhIGNvbW1lbnQgaW4gdGhlIGRvYyBNYWtlZmlsZQoKMjAwOS0wNi0xOCAyMDozMzowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMy4xCgoyMDA5LTA2LTE4IDA4OjUzOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuMTMgcmVsZWFzZSBlbnRyeSB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjEzID09PQoKMjAwOS0wNi0xOCAwODoyOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTMKCjIwMDktMDYtMTcgMjE6NTY6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNi0xNiAxNzowOToyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IHJlc2V0IGZpbGVuYW1lIGFmdGVyIGNhcHR1cmUgdG8gYXZvaWQgcmFjeSB3aGVuIGNhcHR1cmluZyBhZ2FpbgoJICBJZiB3ZSBkb24ndCByZXNldCB0aGUgZmlsZW5hbWUgd2UgY2Fubm90IGNoZWNrIGlmIHdlIHN0aWxsIGV4cGVjdCB0aGUgZmlsZW5hbWUKCSAgZm9yIGEgc3Vic2VxdWVudCBjYXB0dXJlIHBhc3MuIFRoZSBpbWFnZWJpbiB3b3VsZCBnb29kIHRvIHBhdXNlZCBhbmQgd2Ugc2V0IHRoZQoJICBmaWxlbmFtZSBpbiB0aGF0IHN0YXRlLiBUaGlzIHRyaWdlcnMgYW4gZXJyb3ItbWVzc2FnZSBhbmQgd291bGQgY2FwdHVyZSB0byB0aGUKCSAgb2xkIGZpbGVuYW1lLgoKMjAwOS0wNi0xMiAxMDoyOToyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFudXBzIGluIHRoZSB0ZXN0cwoJICBTcHJpbmtsZSBtb3JlIGxvZ2dpbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZm9sbG93LiBTcGVjaWZ5IGEgbG93IGZyYW1lcmF0ZSBhbmQKCSAgY2FwdHVyZSByZXNvbHV0aW9uIHRvIGF2b2lkIHRlc3RzIHRpbWluZyBvdXQuIE1ha2UgdGhlIHNpbmtzIHN5bmMgdG8gdGVzdCBjbG9zZXIKCSAgdG8gcmVhbGl0eS4gRml4IE1ha2VmaWxlIHRvIHVzZSB1bmluc3RhbGxlZCBpbnRlcmZhY2UuCgoyMDA5LTA2LTEyIDEwOjI2OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGltYWdlYmluIHRvIFBBVVNFRCBvbiBjYXB0dXJlIGFuZCBkZWxheWVkIGZpbGVuYW1lIHNldHRpbmcKCSAgV2UgbmVlZCB0byBzZXQgaW1hZ2ViaW4gdG8gUEFVU0VEIHRvIG5vdCBmYWlsIHRoZSBidWZmZXJhbGxvYy4gV2UgYWxzbyBuZWVkIHRvCgkgIGtlZXAgdGhlIGZpbGVzaW5rcyBzdGF0ZSBsb2NrZWQgdW50aWwgd2UgaGF2ZSB0aGUgZmlsZW5hbWUgZm9yIHRoZSBydW4uCgoyMDA5LTA2LTEyIDEwOjE0OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IGRvIHRoZSBwYWRfYWxsb2MgZm9yIHRoZSBwYWQgdGhhdCBpcyBwZW5kaW5nIGFuZCBoYXZlIGEgZmFsbGJhY2sKCSAgV2Ugc2hvdWxkIGRvIHRoZSBwYWRfYWxsb2MgZm9yIHRoZSBwZW5kaW5nIHBhZCBpZiBhbnksIGFzIHdlIHdpbGwgc3dpdGNoIHRvIHRoYXQKCSAgcGFkIG9uIG5leHQgX2NoYWluKCkgY2FsbC4gQWxzbyBkbyBhIGZhbGxiYWNrIGFsbG9jLCBpZiB0aGVyZSBpcyBubyBvdXRwdXQgeWV0IHRvCgkgIG5vdCBmYWlsIHN0YXRlIHRyYW5zaXRpb25zIGluIGR5bmFtaWMgcGlwZWxpbmVzLgoKMjAwOS0wNi0xMSAxNjowMDozNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQnVtcCB3aW4zMiBjb25maWcuaCB2ZXJzaW9uIG51bWJlciB0b28KCjIwMDktMDYtMDUgMjI6NDM6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTIuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNi0wNiAyMToyODoyNyArMDQwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBBZGRlZCBiYXNlIGxpYnMgdG8gZGVidWcgdXRpbHMgbWFrZWZpbGUKCSAgRml4ZXMgIzU4NTAxNQoKMjAwOS0wNi0wNyAxMDo1NTo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICB0ZXN0cy9tZXRhZGF0YTogRG9uJ3QgdHJ5IHRhZ3Mgd2UgY2FuJ3QgaGFuZGxlLiBGaXhlcyAjNTg0OTQ1CgoyMDA5LTA2LTA2IDE5OjI4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJICBoZHZwYXJzZTogTGluayBhZ2FpbnN0IGxpYm0gYmVjYXVzZSB3ZSB1c2UgcG93KCkuCgoyMDA5LTA2LTA2IDEzOjUzOjA0ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRG9uJ3QgYnVpbGQgdGhlIG14ZiBleGFtcGxlIGlmIEdUSyBpc24ndCBwcmVzZW50LgoKMjAwOS0wNi0wNiAxMzoxNzo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIGFwZXhzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgRml4IGNvbXBpbGUgd2FybmluZ3Mgb24gc29sYXJpcyBmcm9tIGJ6ZXJvIG5vdCBiZWluZyBkZWNsYXJlZCAodXNlCgkgIG1lbXNldCBpbnN0ZWFkKSwgYW5kIHN0cmljdC1hbGlhc2luZyB3YXJuaW5ncyAodXNlIGEgdGVtcG9yYXJ5CgkgIHZhcmlhYmxlKS4KCjIwMDktMDYtMDYgMDI6MzU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBpbml0IGdlbnJlIGZpZWxkIGluIElEM3YxIHRhZyB0byBhbiBpbnZhbGlkIG51bWJlcgoJICBTbyB0aGF0IGl0IGlzIG5vdCBpbnRlcnByZXRlZCBhcyAnQmx1ZXMnIGlmIG5vIGdlbnJlIGlzIHRvIGJlIHdyaXR0ZW4uCgoyMDA5LTA2LTA2IDAxOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkgIGlkM211eDogZG9uJ3Qgd3JpdGUgSUQzdjEgdGFnIHVudGlsIHNwZWNpZmljYWxseSBpbnN0cnVjdGVkIHRvIGRvIHNvCgkgIElEM3YxIHRhZ3MgYXJlIG9uZSBvZiB0aGUgbW9zdCBicm9rZW4gYW5kIGlsbC1kZXNpZ25lZCB0aGluZ3MgdGhhdAoJICBleGlzdCBvbiB0aGlzIHBsYW5ldC4gTGV0J3Mgbm90IHdyaXRlIHRoZW0gYnkgZGVmYXVsdC4KCjIwMDktMDYtMDYgMDA6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBkb24ndCB3cml0ZSBlbXB0eSBJRDN2MSB0YWcKCjIwMDktMDYtMDYgMDA6Mzk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM3RhZzogcmVuYW1lIG5ldyBpZDN0YWcgZWxlbWVudCB0byBpZDNtdXggcmVwbGFjaW5nIHRoZSBvbmUgcmVtb3ZlZCBmcm9tIC11Z2x5CgoyMDA5LTA2LTA1IDIzOjUyOjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgbnNmOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBTb2xhcmlzLgoJICBBIFNFQygpIG1hY3JvIGFscmVhZHkgZXhpc3RzIG9uIFNvbGFyaXMsIGNhdXNpbmcgd2FybmluZ3MgYWJvdXQKCSAgcmVkZWZpbmluZyBpdC4KCjIwMDktMDYtMDUgMjI6MjA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEZpeCB0aGUgYnVpbGQgb24gQ29tbWFuZGVyIFRoYXl0YW4ncyBTMTBTUAoKMjAwOS0wNi0wNSAxOTo1MzowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBJZ25vcmUgc2hhcGV3aXBlIHVuaXQgdGVzdCBiaW5hcnkKCjIwMDktMDYtMDUgMTk6MzI6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlZCAneDI2NGVuYycgZnJvbSAtYmFkIHRvIC11Z2x5CgoyMDA5LTA2LTA1IDIxOjE3OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBmaXggbGluayBvcmRlcgoJICBNb3ZlIGxvY2FsIHZlcnNpb24gdXAgaW4gdGhlIGxpbmsgb3JkZXIuCgoyMDA5LTA2LTA1IDIwOjIyOjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBFbWl0IGEgR1NUX01FU1NBR0VfRUxFTUVOVCB3aXRoIHNvbWUgZ29vZG5lc3MgaW4gaXQuCgoyMDA5LTA2LTA1IDEwOjQ5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBZGQgbWV0aG9kcyB0byBnZXQgbmFtZXMgb2YgdmFyaW91cyB2YWx1ZXMuCgoyMDA5LTA2LTA1IDEwOjQ4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggSERWIHByaXZhdGUgc3RyZWFtIGRlZmluaXRpb24vY2Fwcy4KCjIwMDktMDYtMDUgMTA6NDc6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IFJld3JpdGUgZnJvbSBzY3JhdGNoLiBIYW5kbGUgYm90aCBoZHYtYSBhbmQgaGR2LXYKCSAgVGhpcyB0aW1lIHdlIGFuYWx5emUgYSBsb3QgbW9yZSBpbmZvcm1hdGlvbi4KCSAgU3RpbGwgbmVlZCB0byByZS1hZGQgdGhlIG1lc3NhZ2UgZW1pc3Npb24uCgoyMDA5LTA2LTA1IDE2OjQ4OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBjb3JyZWN0IGZyYW1lc2l6ZSByYW5nZQoJICBBIENFTFQgZnJhbWVzaXplIGNhbiBiZSBiZXR3ZWVuIDY0IGFuZCA1MTIgc2FtcGxlcy4KCSAgRml4IGEgdHlwbyBpbiB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMDktMDUtMjcgMTE6MzM6MDEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHByZXZpZXcgaW1hZ2Ugc2VuZGluZyBvcHRpbWl6YXRpb24KCSAgKiBkZWNvdXBsZSBpbWFnZSBjYXB0dXJpbmcgZnJvbSBpbWFnZSBwb3N0LXByb2Nlc3NpbmcgYW5kIGVuY29kaW5nCgkgICogcG9zdCBpbWFnZS1jYXB0dXJlZCBtZXNzYWdlIGFmdGVyIGltYWdlIGlzIGNhcHR1cmVkCgkgICogcG9zdCBwcmV2aWV3LWltYWdlIG1lc3NhZ2Ugd2l0aCBzbmFwc2hvdCBvZiBjYXB0dXJlZCBpbWFnZQoKMjAwOS0wNS0xOSAxNjo1ODozNiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvc2UgcG9zdCBwcm9jZXNzaW5nIGVsZW1lbnQgaW4gZmlyc3QgcmVzZXQKCjIwMDktMDUtMTIgMTI6NDk6MzMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBhZGQgZGVidWcgaW5jbHVkaW5nIGRvdCBncmFwaCB3cml0aW5nCgoyMDA5LTA1LTA1IDE0OjE5OjQ2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVuYmxvY2sgaWYgZXJyb3Igb2NjdXJzIGR1cmluZyBjYXB0dXJlCgoyMDA5LTA1LTA0IDEwOjMzOjE4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogaWdub3JlIG5pZ2h0IG1vZGUgaGFuZGxpbmcgaWYgYWxyZWFkeSBpbiBuaWdodCBtb2RlCgoyMDA5LTA1LTA0IDEwOjMyOjEwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHN0b3Agb25nb2luZyBjYXB0dXJlIGlmIGNoYW5naW5nIHJlc29sdXRpb24KCjIwMDktMDQtMjMgMTg6MTU6NDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBsaW1pdCB0aGUgc2l6ZSBvZiB2aWRlbyBiaW4gcXVldWUgbGVhZGluZyB0byB2aWV3IGZpbmRlcgoJICBXZSBkb24ndCB3YW50IHRvIHNob3cgb2xkIGJ1ZmZlcnMgaW4gdmlldyBmaW5kZXIuCgoyMDA5LTA0LTIyIDEyOjI5OjE0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuaDoKCSAgY2FtZXJhYmluOiBkb24ndCBwcm94eSBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlCgkgIERlZmF1bHQgdmlldyBmaW5kZXIgc2luayBpbiBjYW1lcmFiaW4gaXMgYXV0b3ZpZGVvc2luayB3aGljaCBkb2Vzbid0CgkgIHN1cHBvcnQgeG92ZXJsYXkgaWZhY2UuIElmIGFwcGxpY2F0aW9uIGRlY2lkZXMgdG8gdXNlIGFub3RoZXIgc2luawoJICB0aGF0IHN1cHBvcnRzIHhvdmVybGF5LCB0aGVuIGl0IGNhbiB1c2UgdGhlIGludGVyZmFjZSBkaXJlY3RseS4KCjIwMDktMDQtMjAgMTc6MDY6MTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBhbGxvdyBjb25maWd1cmluZyBwaG90b2dyYXBoeSBzZXR0aW5ncyB3aGVuIGluIE5VTEwgc3RhdGUKCSAgQ2FjaGUgdGhlIHBob3RvZ3JhcGh5IHNldHRpbmdzIGlmIHNldCBpbiBOVUxMIHN0YXRlIGFuZCBhcHBseSB0aGVtIGxhdGVyCgoyMDA5LTA0LTIwIDE3OjA1OjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIGZ1bmN0aW9ucyB0byBzZXQvZ2V0IGFsbCBzZXR0aW5ncyB3aXRoIG9uZSBjYWxsCgoyMDA5LTAzLTA5IDE4OjAwOjQ1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNyb3Agc3RpbGwgaW1hZ2UgY2FwdHVyZSBmcmFtZSBpZiBuZWNlc3NhcnkKCSAgSWYgaW5jb21pbmcgc3RpbGwgaW1hZ2UgY2FwdHVyZSBmcmFtZSBhc3BlY3QgcmF0aW8gZGlmZmVycyBmcm9tIGFzcGVjdAoJICByYXRpbyB0aGF0IGFwcGxpY2F0aW9uIHJlcXVlc3RlZCwgdGhlbiBhcHBseSBjcm9wIHRvIHRoZSBmcmFtZS4KCjIwMDktMDYtMDUgMTA6MjU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkgIGRvY3M6IGFkZCBpbnNwZWN0IGZpbGVzIGZvciBuZXcgcGx1Z2lucwoKMjAwOS0wNi0wNSAxMDoxNjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgIGRvY3M6IGZpeCBidWlsZCBvZiBwbHVnaW4gZG9jcyBieSB1cGRhdGluZyBpbnNwZWN0IHRlbXBsYXRlcwoJICBUaGUgeG1sIGluc3BlY3QgZGF0YSBvZiB0aGUgZGVidWd1dGlsc2JhZCBwbHVnaW4gZGlkbid0IGNvbnRhaW4gdGhlCgkgIGRhdGEgZm9yIHRoZSBmcHNkaXNwbGF5c2luayBlbGVtZW50IChzb21lb25lIHByb2JhYmx5IHJhbiAnbWFrZSB1ZHBhdGUnCgkgIGluIGRvY3MvcGx1Z2lucyB3aXRoIHRoZSBvbGQgbGliZ3N0ZnBzZGlzcGxheXNpbmsuc28gZnJvbSBiZWZvcmUgdGhlCgkgIHJlbmFtZSBzdGlsbCBhcm91bmQpLgoKMjAwOS0wNi0wNSAxMDozNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMveG1sL2VsZW1lbnQtZnBzZGlzcGxheXNpbmstZGV0YWlscy54bWw6CgkgIFJldmVydCAiZG9jczogYWRkIGRvYyBmaWxlIGZybyBuZXcgcGx1Z2luIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAzOWVmM2ViMDcyNTU1YjdjYTM4ZmMzNTFjYTM4NmJiNjgwY2NjY2MuCgkgIFdlIGRvbid0IHRyYWNrIHRoZSBzdHVmZiBpbiB4bWwvIGluIGdpdC4KCjIwMDktMDYtMDUgMTE6MTg6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy94bWwvZWxlbWVudC1mcHNkaXNwbGF5c2luay1kZXRhaWxzLnhtbDoKCSAgZG9jczogYWRkIGRvYyBmaWxlIGZybyBuZXcgcGx1Z2luCgoyMDA5LTA2LTAxIDE2OjMxOjQyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiBzZXJpYWxpemUgc2V0dGluZyBhbmQgYWN0dWFsIGNoYW5naW5nIG9mIG5ldyBhY3RpdmUgcGFkCgoyMDA5LTA1LTA0IDEyOjI5OjU0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiB1bnJlZiBsYXRlc3QgYnVmZmVyIGFsc28gd2hlbiByZXNlbmRpbmcgaGFzIGJlZW4gZGlzYWJsZWQKCjIwMDktMDQtMTYgMTc6MzI6MDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IGtlZXAgcmVmIHRvIGJ1ZmZlciBmb3IgcmVzZW5kaW5nIG9ubHkgaWYgZXhwbGljaXRseSByZXF1ZXN0ZWQKCjIwMDktMDYtMDQgMTk6MDg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBkb24ndCBsZWFrIHBhZHMgaW4gaXRlcmF0b3IKCjIwMDktMDYtMDQgMTY6Mjk6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgbXBlZ2RlbXV4OiBBZGQgYSBHU1RfTUVNRFVNUCBsaW5lIGluIHRoZSBkZXNjcmlwdG9yIHBhcnNpbmcKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZWUgZGVzY3JpcHRvciBjb250ZW50cyBpbiB0aGUgZGVidWcgb3V0cHV0CgkgIChHU1RfREVCVUc9bXBlZ3RzZGVzYzo5KSwgYW5kIHJlbW92ZSBhIHN0cmF5IHNlbWktY29sb24uCgoyMDA5LTA2LTA0IDE2OjExOjE2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCBwYXNzaW5nIHRoZSBjdXN0b20gR1NUX0ZMT1dfTkVFRF9NT1JFX0RBVEEgdXBzdHJlYW0KCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX05FRURfTU9SRV9EQVRBIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uIGF0IHRoZSBlbmQKCSAgb2YgZmlsZXMuCgoyMDA5LTA2LTA0IDA4OjU2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IE5vdGlmeSB3aGVuIHRoZSB0YWdzIHByb3BlcnR5IG9mIHRoZSBzZWxlY3RvciBzaW5rcGFkcyBjaGFuZ2VzCgkgIEZpcnN0IHBhcnQgb2YgYnVnICM1ODQ2ODYuCgoyMDA5LTA2LTA0IDA4OjU2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEluY3JlYXNlIHRpbWVvdXQgb2YgdGhlIHVuaXQgdGVzdAoKMjAwOS0wNi0wMyAyMzozNTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wNi0wMiAxMTozNjowMSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB0d28gbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDA5LTA2LTAyIDExOjIzOjM3ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBkdmRzcHU6IGFkZCBtaXNzaW5nIGhlYWRlciB0byBNYWtlZmlsZS5hbTogZ3N0c3B1LWNvbW1vbi5oCgoyMDA5LTA2LTAyIDAxOjA5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgZGlyYWM6IHVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBjKysgY29tcGlsZXJzCgkgIEZpeGVzIGNvbXBpbGVyIG1lc3NhZ2UgYWJvdXQgcGFzc2luZyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudAoJICB0byB0aGUgQysrIGNvbXBpbGVyLgoKMjAwOS0wNi0wMSAxNTo1MzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzYW1wbGUgcmF0ZSBleHRyYWN0aW9uIGZyb20gY29kZWMgZGF0YQoJICBJbiBvbmUgY2FzZSB3ZSBleHRyYWN0ZWQgdGhlIHNhbXBsZSByYXRlIGluZGV4IGZyb20gdGhlIGNvZGVjIGRhdGEKCSAgYW5kIHNhdmVkIGl0IGFzIHNhbXBsZSByYXRlIHJhdGhlciB0aGFuIGdldHRpbmcgdGhlIHJlYWwgc2FtcGxlCgkgIHJhdGUgZnJvbSB0aGUgdGFibGUuIEZpeCB0aGF0LCBhbmQgYWxzbyBtYWtlIHN1cmUgd2UgZG9uJ3QgYWNjZXNzCgkgIG5vbi1leGlzdGFudCB0YWJsZSBlbnRyaWVzIGJ5IGFkZGluZyBhIHNtYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0CgkgIGd1YXJkcyBhZ2FpbnN0IG91dC1vZi1ib3VuZHMgYWNjZXNzIGluIGNhc2Ugb2YgaW52YWxpZCBpbnB1dCBkYXRhLgoKMjAwOS0wNi0wMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogcmVtb3ZlIGJvZ3VzIGdzdF9wYWRfZml4YXRlX2NhcHMoKSBjYWxscwoKMjAwOS0wNi0wMSAxMzo1NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIG9mIEdzdEJhc2VQYXJzZTo6c2V0X3NpbmtfY2FwcygpCgkgIGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2FwcygpIHByZXN1bWFibHkgc2hvdWxkIGZhaWwgaWYgdGhlIHN1YmNsYXNzCgkgIHJldHVybnMgRkFMU0UgZnJvbSBpdHMgOjpzZXRfc2lua19jYXBzKCkgZnVuY3Rpb24uCgoyMDA5LTA2LTAxIDEzOjQ3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvbid0IHRyeSB0byBHU1RfTE9HIGFuIGFscmVhZHktZnJlZWQgY2FwcyBzdHJpbmcKCSAgVGhlIHByb3BlciB3YXkgdG8gbG9nIGNhcHMgaXMgdmlhIEdTVF9QVFJfRk9STUFUIGFueXdheS4KCjIwMDktMDYtMDEgMTM6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gb3V0cHV0IGNhcHMsIGFuZCBrZWVwIGNvZGVjX2RhdGEKCSAgQ3JlYXRlIG91dHB1dCBjYXBzIGZyb20gaW5wdXQgY2Fwcywgc28gd2UgbWFpbnRhaW4gYW55IGZpZWxkcyB3ZQoJICBtaWdodCBnZXQgb24gdGhlIGlucHV0IGNhcHMsIHN1Y2ggYXMgY29kZWNfZGF0YSBvciByYXRlIGFuZCBjaGFubmVscy4KCSAgU2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiB3ZSBkb24ndCBoYXZlIGlucHV0IGNhcHMKCSAgb3IgdGhleSBkb24ndCBjb250YWluIHN1Y2ggZmllbGRzLiBXZSBkbyB0aGlzIHBhcnRseSBiZWNhdXNlIHdlIGNhbiwKCSAgYnV0IGFsc28gYmVjYXVzZSBzb21lIG11eGVycyBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFRhZ3JlYWRiaW4gd2lsbAoJICBhbHNvIGJlIGhhcHB5IGFib3V0IHRoaXMuCgoyMDA5LTA2LTAxIDIyOjQyOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBlbmhhbmNlIGZ0eXAgYnJhbmQgaGV1cmlzdGljLiAgRml4ZXMgIzU4NDM2MC4KCjIwMDktMDYtMDEgMjE6MjQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggc29tZSBpc3N1ZXMgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhlIG5ldyB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCB1bml0IHRlc3QgZm9yIHNoYXBld2lwZQoKMjAwOS0wNS0zMSAyMTozMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDUtMzEgMjA6MjQ6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogaW5jbHVkZSBnbGliLmggYmVmb3JlIGNoZWNraW5nIGlmIEdfT1NfV0lOMzIgaXMgZGVmaW5lZAoKMjAwOS0wNS0zMSAyMDoyMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IHNoYXBld2lwZSBleGFtcGxlIGJpbmFyeQoKMjAwOS0wNS0zMSAxODoyMzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogU2V0dGluZyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgcGlja2VkIHVwIGJ5IHBsYXliaW4yLgoKMjAwOS0wNS0zMSAxODoyMzowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRW1pdCBhcHBsaWNhdGlvbiBtZXNzYWdlIHdpdGggdGhlIHBhcnNlZCBpbmZvcm1hdGlvbi4KCjIwMDktMDUtMzEgMTQ6MTU6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJICBoZHZwYXJzZTogTmV3IGVsZW1lbnQgZm9yIHBhcnNpbmcgcHJpdmF0ZS9oZHYtYTEgc3RyZWFtcy4KCjIwMDktMDUtMjkgMjE6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGp1c3QgYm9yZGVyIHRvIHN0aWxsIGhhdmUgZXZlcnl0aGluZyB0cmFuc3BhcmVudCBhdCAxLjAgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDA5LTA1LTI5IDE2OjU1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IERpdmlkZSB0aGUgYm9yZGVyIHZhbHVlIGJ5IHR3bywgb3RoZXJ3aXNlIHdlIHVzZSBhIHR3aWNlIGEgd2lkZSBib3JkZXIKCjIwMDktMDUtMjkgMTY6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogQWRkIGJvcmRlciBwcm9wZXJ0eSB0byBhbGxvdyBzbW9vdGggYm9yZGVycwoJICAuLi5hbmQgdXNlIGEgYm9yZGVyIG9mIDAuMDEgaW4gdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgoyMDA5LTA1LTI5IDE1OjQ0OjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggYm9ndXMgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSBhY2Nlc3MKCSAgVHlwbyBpbiB0aGUgcHJldmlvdXMgY29tbWl0CgoyMDA5LTA1LTI5IDE1OjAxOjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVc2UgdGhlIElTTyA2MzkgbGFuZ3VhZ2UgY29kZSBkZXNjcmlwdG9yIHRvIHNlbmQgdGFncy4KCSAgSWYgdGhlcmUgaXMgYW4gSVNPIDYzOSBsYW5ndWFnZSBkZXNjcmlwdG9yIGZvciBhIHN0cmVhbSwgc2VuZCBhIGxhbmd1YWdlCgkgIGNvZGUgdGFnIHNvIHRoYXQgcGxheWVycyBjYW4gc2hvdyBhIG1lYW5pbmdmdWwgbGFuZ3VhZ2UgZm9yIHRoZSBhdWRpbyBhbmQKCSAgc3VidGl0bGUgc3RyZWFtcy4KCjIwMDktMDUtMjkgMTY6MDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJICBzaGFwZXdpcGU6IEZpeCBNYWtlZmlsZSBvZiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOSAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBhIHNpbXBsZSBzaGFwZXdpcGUgdHJhbnNpdGlvbiBmaWx0ZXIgJiBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI4IDE3OjM3OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUcmFuc2Zvcm0gdGhlIHJpZ2h0IHNlc3Npb24gc2RlcyBtZXNzYWdlCgkgIEZpeGVzICM1ODQxNjUKCjIwMDktMDUtMjggMTc6MzM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBBZGQgc3NyYyB0byBhcHBsaWNhdGlvbi94LXJ0cC1zb3VyY2Utc2RlcyBzdHJ1Y3R1cmUKCjIwMDktMDUtMjggMjM6MTI6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogYWRkIHN1cHBvcnQgZm9yIEEtTGF3IGFuZCDCtS1MYXcKCjIwMDktMDUtMjggMjM6MDg6MTcgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBnc3RzcHU6IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIEZpeCBzb21lIHdhcm5pbmdzIGZvciBmb3JtYXQgc3RyaW5nIGFyZ3MgYW5kIHVuaW5pdGlhbGl6ZWQgdmFycyBvbiBPUy9YCgkgIEZpeGVzOiAjNTg0MTY0CgkgIFNpZ25lZC1vZmYtYnk6IEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCjIwMDktMDUtMjggMTM6NTY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBkaWZmZXJlbnQgc3RzZCBhdG9tIHR5cGUgZm9yIEgyNjMgZm9yIElTTyBhbmQgUVQgdmFyaWFudHMKCSAgRml4ZXMgIzU4NDExNC4KCjIwMDktMDUtMjggMTM6MDc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBmaXggZGV0ZWN0aW9uIG9mIGxpYnNvdW5kdG91Y2ggPj0gMS40CgoyMDA5LTA1LTI4IDEzOjA5OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IGNvbnNpZGVyIGhlYWRlciBzaXplIGluIGJ5dGUgPC0+IHRpbWUgY29udmVyc2lvbnMKCjIwMDktMDUtMjYgMTk6NDM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGRlYnVnIGNhdGVnb3J5CgoyMDA5LTA1LTI4IDEwOjM4OjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgc2VsZWN0b3I6IHJlbW92ZSBub3QgbmVlZGVkIGluc3RhbmNlIHZhciAocHJldmlvdXMgY29tbWl0KS4KCjIwMDktMDUtMTEgMTY6MTI6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IHdoZW4gc3RvcHBpbmcgcGxheWJhY2ssIGRvIG9uZSBtb3JlIGN5Y2xlIHRvIGZsdXNoIHRoZSBwb3J0LiBGaXhlcyAjNTgyMTY3CgkgIFRoZSBnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSgpIGZsYWdzIHRoZSBwb3J0IGFzIGRlYWN0aXZhdGluZyBhbmQgdXNlcwoJICBhIEdDb25kIHRvIHdhaXQgdW50aWwgdGhlIGphY2tfcHJvY2Vzc19jYigpIGhhcyBydW4gb25jZSBtb3JlIGFuZCBjbGVhcmVkIHRoZQoJICBmbGFnLiBUaGlzIHdheSB0aGUgY2xpZW50IHplcm8ncyB0aGUgYnVmZmVyLiBUaGlzIGhhcHBlbnMgaWYgb25lIG1hbnlhbGx5IGdvCgkgIHRvIFBBVVNFRCBhbmQgdGhlbiB0byBSRUFEWSwgd2hpbGUgbGV0aW5nIHRoZSBtYWlubG9vcCBydW4gaW5iZXR3ZWVuLgoKMjAwOS0wNS0yOCAxMDoxMjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICBvdXRwdXRzZWxlY3RvcjogaW1wbGVtZW50IHBhZF9hbGxvYyBvbiBhY3RpdmUgcGFkLgoKMjAwOS0wNS0yNyAyMjo1NDo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ3JlYXRlIGFsbCB0aGUgYXVkaW8gc3RyZWFtcyBvZiBhbGwgZm9ybWF0cwoJICBFbmFibGUgY3JlYXRpb24gb2YgdGhlIGRlbXV4ZXIgcGFkcyBmb3IgYWxsIGF1ZGlvIHN0cmVhbXMsIGV2ZW4gdHlwZXMgd2UKCSAgZG9uJ3QgeWV0IHN1cHBvcnQuIFRoaXMgbWVhbnMgdGhhdCB1bnN1cHBvcnRlZCB0eXBlcyAoTFBDTSwgRFRTKSBhcmUgb3V0cHV0LAoJICBidXQgbm90IGxpbmtlZCB0byBhbnl0aGluZyB5ZXQuIElmIG9ubHkgdW5zdXBwb3J0ZWQgc3RyZWFtcyBhcmUgYXZhaWxhYmxlLAoJICB0aGUgdXNlciBoZWFycyBzaWxlbmNlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBwaXBlbGluZSBub3QgcHJlLXJvbGwgY29ycmVjdGx5LgoJICBUaGlzIGlzIGEgcHJlcmVxdWlzaXRlIGZvciBob29raW5nIHVwIHRoZSBhdXRvbWF0aWMgZGVjb2RlciBzd2l0Y2hpbmcuCgoyMDA5LTA1LTI3IDExOjAzOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiB0aGUgbmV0d29yayBhZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIKCSAgQnJpbmcgdGhlIG5ldHdvcmsgYWRkcmVzcyBpbiBuZXRvd2tyIGJ5dGUgb3JkZXIgdG8gdGhlIGhvc3Qgb3JkZXIuCgoyMDA5LTA1LTI3IDAwOjUxOjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZ3N0c3B1OiBDb252ZXJ0IGdfd2FybmluZ3MgdG8gR1NUX0VSUk9SLCBhbmQgZml4IGZvcm1hdCBzcGVjaWZpZXJzCgkgIFVzZSBHX0dTU0laRV9GT1JNQVQgZm9yIHByaW50aW5nIHBvaW50ZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHNob3VsZCB3b3JrIG9uCgkgIGJvdGggMzItYml0IGFuZCA2NC1iaXQgc3lzdGVtcy4KCSAgVXNlIEdTVF9FUlJPUiBpbnN0ZWFkIG9mIGdfd2FybmluZyBmb3IgcHJpbnRpbmcgbWVzc2FnZXMgYWJvdXQgdW5rbm93bgoJICBwYWNrZXQgY29udGVudHMuCgoyMDA5LTA1LTI3IDAwOjQ3OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGdzdHNwdTogRml4IGEgbmFzdHkgcmVncmVzc2lvbiwgd2l0aCBEVkRzIHJhbmRvbWx5IGNyYXNoaW5nCgkgIFVzZSB0aGUgbG9jYWwgd3JhcHBlciBmdW5jdGlvbiB3aGVuIGNsZWFyaW5nIHRoZSBjb21wb3NpdGluZyBidWZmZXJzIHRvCgkgIGVuc3VyZSB0aGUgY29ycmVjdCBwb3J0aW9uIGlzIGJlaW5nIGNsZWFyZWQuCgoyMDA5LTA1LTI2IDE5OjM4OjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBMUENNIHN0cmVhbXMgYXJlIG9ubHkgZnJvbSAweGEwIHRvIDB4YWYuCgkgIEZpeCB0aGUgc2FtZSBidWcgYXMgdGhlIHByZXZpb3VzIGNvbW1pdCwgYnV0IGluIHJlc2luZHZkJ3MgY29weSBvZgoJICBtcGVnZGVtdXguCgoyMDA5LTA1LTI2IDE4OjQ3OjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IE9ubHkgdHJlYXQgc3RyZWFtcyBmcm9tIDB4YTAgdG8gMHhhZiBhcyBMUENNLCBub3QgMHhhMC4uMHhiZgoJICBEb24ndCB0cmVhdCBzb21lIHN0cmVhbXMgKFByaXZhdGUgU3RyZWFtIDIpIGFzIExQQ00gd2hlbiB0aGV5J3JlIG5vdC4gRml4ZXMKCSAgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCBoYXZlIHByaXZhdGUgc3RyZWFtcyBpbiB0aGVtIG5vdyB0aGF0IHRoZSBQRVMgZmlsdGVyCgkgIGVtaXRzIHN1Y2ggcGFja2V0cy4KCjIwMDktMDUtMjYgMTg6NDM6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogZml4IHByaW50ZiBmb3JtYXRzIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTA1LTI2IDE3OjE5OjM1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYjExZDEgdG8gYzU3MjcyMQoKMjAwOS0wNS0yMyAyMzoxOTowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBnc3RzcHU6IEltcGxlbWVudCBQR1MgcmVuZGVyaW5nIGFuZCBhbHBoYSBibGVuZGluZwoJICBSZWZhY3RvciB0aGUgRFZEIHN1YnBpY3R1cmUgY29tcG9zaXRpbmcsIHN3aXRjaGluZyBpdCB0byA4LWJpdCBhbHBoYQoJICBjYWxjdWxhdGlvbnMuIFJldXNlIHNvbWUgb2YgdGhlIHJlc3VsdGluZyBjb2RlIHRvIGltcGxlbWVudCBQR1MKCSAgc3VicGljdHVyZSBibGVuZGluZy4KCSAgSW1wbGVtZW50IHBhcnNpbmcgYW5kIGNvbGxlY3Rpbmcgb2YgY29tcG9zaXRpb24gb2JqZWN0cyBwcm9wZXJseSwgYnV0CgkgIGFzc3VtaW5nIGEgc2luZ2xlIGFjdGl2ZSB3aW5kb3cgYW5kIGNvbG91ciBwYWxldHRlIGZvciBub3cuIEkgbmVlZCBtb3JlCgkgIFBHUyBzYW1wbGVzLgoKMjAwOS0wNS0yMiAxMToxMzo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IE1vdmUgYSBidW5jaCBvZiB2b2JzdWIgc3BlY2lmaWMgbG9naWMgdG8gYSBzZXBhcmF0ZSBmaWxlLgoJICBTdGFydCBzZXBhcmF0aW5nIG91dCB0aGUgdm9ic3ViIGxvZ2ljIGluIHByZXBhcmF0aW9uIGZvciBjcmVhdGluZwoJICBzZXBhcmF0ZSByZW5kZXJlciBvYmplY3RzIGZvciBlYWNoIHN1YnBpY3R1cmUgZm9ybWF0LgoKMjAwOS0wNS0yMiAxMToxMjo1MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogQWRkIGNvcHlyaWdodCBoZWFkZXIgYW5kIGluY2x1ZGVzIHRvIHRoZSBQR1MgaGFuZGxlcgoKMjAwOS0wNS0yMiAxMDoxNTo0NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogTWFrZSB0aGUgUEdTIGR1bXBpbmcgbGVzcyB2ZXJib3NlCgoyMDA5LTA1LTIxIDIzOjQ1OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IENvbGxlY3QgZW50aXJlIFBHUyBwYWNrZXRzIGFuZCBxdWV1ZSBhcyBldmVudHMKCSAgQ29sbGVjdCBmcmFnbWVudGVkIFBHUyBwYWNrZXRzIGFuZCBzdWJtaXQgYXMgY29tcGxldGUgZXZlbnRzIGZvcgoJICBwcm9jZXNzaW5nIGF0IHRoZSBjb3JyZWN0IG1vbWVudC4KCjIwMDktMDUtMjAgMDg6NTU6NDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSAgZHZkc3B1OiBBZGQgc2ltcGxlIFBHUyBoYW5kbGVyIHRoYXQgZHVtcHMgdGhlIHBhY2tldCBpbmZvCgkgIEFkZCBzZXRjYXBzIGxvZ2ljIG9uIHRoZSBzdWJwaWN0dXJlIHNpbmsgcGFkIGZvciBjb25maWd1cmluZwoJICB3aGljaCBzdWJwaWN0dXJlIGZvcm1hdCBpcyBhcnJpdmluZy4KCSAgQWRkIHRoZSBmaXJzdCBwaWVjZSBvZiBQR1Mgc3VicGljdHVyZSBoYW5kbGluZyBieSBkdW1waW5nIHRoZSBzdHJlYW0KCSAgY29udGVudHMgb3V0IHRvIHRoZSB0ZXJtaW5hbCBhcyB0aGUgcGFja2V0cyBhcnJpdmUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGZvciBvdXIgc3VicGljdHVyZSBwYWNrZXRzIHR3aWNlLAoJICBvbmNlIGlzIGVub3VnaC4KCjIwMDktMDUtMjEgMTU6MjI6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWRkIGEgc2ltcGxlIGRlZmF1bHQgY29sb3VyIHRhYmxlLgoJICBXaGVuIHdlJ3JlIG5vdCBwcm92aWRlZCB3aXRoIGEgcGFsZXR0ZSBpbiBhZHZhbmNlLCBkcmF3IHdpdGggYSBncmV5CgkgIGNvbG91ciBvciB0d28sIGluc3RlYWQgb2YgWVVWIGdyZWVuLgoKMjAwOS0wNS0yMSAxMToxMzo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3BhcnNlIHN0cmVhbSBmaWxsaW5nLgoJICBGaXJzdCBzdGFiIGF0IHNlbmRpbmcgbmV3LXNlZ21lbnQgZXZlbnRzIHRvIGVmZmVjdCBzcGFyc2Ugc3RyZWFtCgkgIHVwZGF0ZXMuCgoyMDA5LTA1LTIxIDAwOjQxOjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHN1Yi1waWN0dXJlIHN0cmVhbXMgZm91bmQgaW4gZmlsZXMuCgkgIE91dHB1dCBzdWJwaWN0dXJlIHN0cmVhbXMgd2hlbiB0aGV5IGFyZSBmb3VuZCBvbiB0aGUgcHJpdmF0ZSBzdHJlYW0gSUQuCgkgIERvbid0IHN0cmlwIG9mZiB0aGUgZmlyc3QgYnl0ZSBvZiBzdWNoIHBhY2tldHMgd2hlbiBwdXNoaW5nLgoKMjAwOS0wNS0yMCAwODo1MDozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtYXBwaW5nIGZvciBEVkQgYW5kIEJsdXJheSBzdWJwaWN0dXJlIHN0cmVhbXMuCgkgIEFkZCBvdXRwdXQgc3VicGljdHVyZSBwYWRzIGZvciBEVkQgKHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUpIGFuZCBCbHVyYXkgUEdTCgkgIChzdWJwaWN0dXJlL3gtcGdzKSBzdHJlYW1zLiBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlIGZyb20KCSAgdGhlIFBFUyBmaWx0ZXIuCgoyMDA5LTA1LTI1IDAwOjI1OjA3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBGaXggc3VicGljdHVyZSB0aW1pbmcgaW4gc29tZSBjYXNlcwoJICBNYWtlIHN1cmUgd2Ugc2VuZCBldmVudHMgdG8gYWxsIHBhZHMuIFVubWFyayB0aGUgbm90bGlua2VkIGZsYWcgb24KCSAgZnJlc2hseSBzZWxlY3RlZCBwYWRzIHRvIGVuc3VyZSB0aGV5IGdldCBkYXRhLgoKMjAwOS0wNS0yMiAxNDowMjozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogVHJ5IGEgZGlmZmVyZW50IGFwcHJvYWNoIHRvIHNlZ21lbnQgZmlsbGluZy4KCSAgUmVzdG9yZSB0aGUgb2xkIHNlZ21lbnQgdXBkYXRlIGJlaGF2aW91ciwgYW5kIGluc3RlYWQgZXh0ZW5kIHRoZQoJICBjbG9zZSBzZWdtZW50IHN0b3AgdGltZSBpZiB0aGUgU0NSIChsYXN0X3N0b3ApIG92ZXJydW5zIHRoZSBjYWxjdWxhdGVkCgkgIHN0b3AgcG9zaXRpb24uCgoyMDA5LTA1LTIxIDExOjEwOjEzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBNaW5vciBjaGFuZ2UgdG8gaW5saW5lIGEgZnVuY3Rpb24gaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDUtMjAgMTk6MzE6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzdGF0ZXM6IElnbm9yZSB0aGUgY2FtZXJhYmluIGZvciB0aGUgc3RhdGVzIHRlc3QKCSAgSXQgYWNjZXNzZXMgdGhlIHZpZGVvIGRldmljZSwgd2hpY2ggaXNuJ3QgZ2VuZXJhbGx5IGRlc2lyYWJsZSBmb3IgdGhlCgkgIHN0YXRlIHRlc3QuCgoyMDA5LTA1LTIyIDEzOjA3OjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IERvbid0IGFjY2lkZW50YWxseSBsb3NlIHRoZSBjb2xvdXIgcGFsZXR0ZSB3aGVuIGZsdXNoaW5nIHRoZSBTUFUKCSAgRml4ZXMgcmFjeSBzdGFydHVwIG9uIERWRHMgd2hlcmUgaXQgc29tZXRpbWVzIGdldHMgZW50aXJlbHkgdGhlIHdyb25nIHNldAoJICBvZiBjb2xvdXJzIGluIHRoZSBtZW51cyBhbmQgc3VidGl0bGVzLgoKMjAwOS0wNS0yNiAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGJ5dGVzd2FwIHRoZSBwb3J0IGZyb20gR3N0TmV0QWRkcmVzcwoJICBTaW5jZSB0aGUgcG9ydCBpbiBHc3ROZXRBZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIgd2UgbWlnaHQgbmVlZCB0byBieXRlc3dhcCBpdAoJICBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBzb3VyY2Ugc3RhdGlzdGljcy4KCjIwMDktMDUtMTEgMTk6MzA6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERpcmVjdGx5IHVzZSBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcigpLgoKMjAwOS0wNS0yNSAxNjoyNzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRG9uJ3QgcGVlayB0aGUgYWRhcHRlciBpZiB3ZSBkb24ndCBoYXZlIGVub3VnaCBkYXRhLgoKMjAwOS0wNS0yNSAxNjoyNTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRG9uJ3Qgc2tpcCBwcml2YXRlIHN0cmVhbXMgUEVTIGJ1dCBwdXNoIHRoZW0gb3V0LgoJICBUaGUgb25lIHRoaW5nIHdlICpETyogbmVlZCB0byBkbyBmb3IgdGhvc2Ugc3RyZWFtcyBpcyB0byBza2lwIGFsbAoJICB0aGUgUFRTL0RUUy9TY3JhbWJsaW5nL0RTTS9leHRlbnNpb24vLi4uIGhhbmRsaW5nLgoKMjAwOS0wNS0yNSAxNToyMTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IElnbm9yZSBOVUxMIHBhY2tldHMgYXMgZWFybHkgYXMgcG9zc2libGUuCgkgIFRoaXMgYXZvaWRzOgoJICAqIGNyZWF0aW5nIGEgTXBlZ1RTU3RyZWFtIHN0cnVjdHVyZSBmb3Igbm90aGluZwoJICAqIHByb2Nlc3NpbmcgcGFja2V0IGRhdGEgZm9yIG5vdGhpbmcKCjIwMDktMDUtMjUgMTU6MjE6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtYXBwaW5nIGZvciBIRFYgcHJpdmF0ZSBzdHJlYW1zCgoyMDA5LTA1LTI1IDE3OjI0OjMyICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXMuaGFzc2VsbWFubiBhdCBnbXguZGU+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cDogYWRkIHByb3BlcnR5IHRvIHN1cHBvcnQgU1MgY2VyaWZpY2F0ZXMKCSAgQWRkIGEgcHJvcGVydHkgdG8gc3VwcG9ydCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMgaW4gbmVvbmh0dHBzcmMuIFRoaXMgcHJvcGVydHkKCSAgaXMgRkFMU0UgYnkgZGVmYXVsdC4KCSAgRml4ZXMgIzUxMTA5NwoKMjAwOS0wNS0yNSAxMzo0NjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSBwdGRlbXV4IGdob3N0cGFkcwoKMjAwOS0wNS0yNSAxMzozMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJlY2VpdmUgcnRwYmluIHVuaXQgdGVzdAoKMjAwOS0wNS0yNSAxMToxODo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICB4MjY0ZW5jOiBhZGQgbXVsdGlwYXNzLWNhY2hlLWZpbGUgcHJvcGVydHkKCSAgRml4ZXMgIzU4MzYyNwoKMjAwOS0wNS0yMyAxMzoxMToyOCArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDUtMjIgMTY6NTY6NTIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBBZGQgbmV3IHBsdWdpbiBmb3IgbXMtYWRwY20gZGVjb2RpbmcuCgoyMDA5LTA1LTIwIDE2OjQ2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERldGVjdCBpbnRlcmxhY2VkIGNvbnRlbnQgYW5kIHNldCBpdCBvbiBvdXRnb2luZyBjYXBzLgoJICBJIGFsc28gYWRkZWQgdGhlIHBhcnNpbmcgb2YgYWxsIHRoZSBvdGhlciBiaXRzIGluIHRoZSBzZXF1ZW5jZSBleHRlbnNpb24KCSAgaGVhZGVyIGluIGNhc2Ugd2UgbmVlZCBpdCBsYXRlci4KCjIwMDktMDUtMjIgMTY6NDE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgdG8gbmV3IHNpZ25hbCB0byByZW1vdmUgU1NSQyBwYWRzCgoyMDA5LTA1LTIyIDE2OjM1OjIwICswMjAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHNzcmNkZW11eDogZW1pdCBzaWduYWwgd2hlbiBwYWRzIGFyZSByZW1vdmVkCgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIGNsZWFyIGFuIFNTUkMgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgcmVtb3ZlZCBzc3JjLgoJICBTZWUgIzU1NDgzOQoKMjAwOS0wNS0yMiAxNTo0NToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBvdXIgZ2hvc3RwYWRzIGluc3RlYWQgb2YgaXRzIHRhcmdldAoJICBTaW5jZSB3ZSBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBnaG9zdHBhZHMsIHdlIGNhbiB1c2UgdGhlbSB0byB0cmFjayBzZXNzaW9ucy4KCSAgVGhpcyBhdm9pZCB1cyBoYXZpbmcgdG8gbWVzcyB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIGdob3N0cGFkLgoKMjAwOS0wNS0yMiAxNTozNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogbW9yZSBydHBiaW4gY2hlY2tzCgoyMDA5LTA1LTIyIDE1OjM2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG9uJ3Qgd2FybiB3aGVuIGdldHRpbmcgcmVxdWVzdCBwYWRzIHR3aWNlCgkgIEFsbG93IGdldHRpbmcgdGhlIHJlcXVlc3QgcGFkcyBtdWx0aXBsZSB0aW1lcywganVzdCByZXR1cm4gdGhlIHByZXZpb3VzbHkKCSAgY3JlYXRlZCBwYWRzLgoKMjAwOS0wNS0yMiAxMzo0NzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFkZCBSVFAgYW5kIFJUQ1Agc291cmNlIGFkZHJlc3MKCSAgQWRkIHRoZSBSVFAgYW5kIFJUQ1Agc2VuZGVyIGFkZHJlc3NlcyBpbiB0aGUgc3RhdHMgc3RydWN0dXJlLgoKMjAwOS0wNS0yMiAxMzo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmV1c2Ugc291cmNlIGNvZGUgZm9yIFNERVMKCSAgUmV1c2UgdGhlIFJUUFNvdXJjZSBvYmplY3QgcHJvcGVydHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAwOS0wNS0yMiAxMzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIG1vcmUgcnRwYmluIHRlc3RzCgoyMDA5LTA1LTIyIDEyOjIzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGFuIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHNvbWUgbW9yZSBzdHVmZiB0byAuZ2l0aWdub3JlCgoyMDA5LTA1LTIyIDEyOjIwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHRhcmdldCBzdGF0ZSBvbiBuZXcgZWxlbWVudHMKCSAgU2V0IHRoZSBzdGF0ZSBvbiBuZXdseSBhZGRlZCBlbGVtZW50cyB0byB0aGUgc3RhdGUgb2YgdGhlIHBhcmVudC4KCSAgQWRkIHNvbWUgZGVidWcgaW5mbyBhbmQgZG8gc29tZSBjbGVhbnVwcwoKMjAwOS0wNS0yMiAxMTo1OToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVucmVmIHJlcXVlc3RzIHBhZHMgYWZ0ZXIgcmVsZWFzaW5nCgoyMDA5LTA1LTIxIDE2OjAwOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbWxlYWtzIGFuZCByZWZjb3VudHMKCSAgVXNlIGNvcnJlY3QgY29uc3RhbnRzIGZvciBQSURfdHlwZSBzbyB0aGF0IHdlIGNsZWFyIHRoZSByaWdodCBmaWx0ZXIuCgkgIHByb3ZpZGVfY2xvY2sgbXVzdCByZXR1cm4gYSByZWYgdG8gYSBjbG9jay4KCjIwMDktMDUtMjIgMDk6NTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IG1vdmUgLVduby1wb3J0YWJpbGl0eSBmb3IgYXV0b21ha2UgdG8gY29uZmlndXJlLmFjCgoyMDA5LTA1LTIyIDA5OjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogY2Fub25pY2FsaXNlIGZ1bmN0aW9uIG5hbWVzCgoyMDA5LTA1LTIyIDA5OjUxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIGlkM3RhZzogY2hhbmdlIEdUeXBlIHRvIEdzdElkM1RhZyBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGlkM3RhZyBwbHVnaW4gaW4gLXVnbHkKCjIwMDktMDUtMjIgMDE6Mjk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlIGNvbmZpZy5oCgoyMDA5LTA1LTIyIDAxOjI3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIGlkM3RhZzogcmVnaXN0ZXIgR1R5cGUgb2YgdGhlIGJhc2UgY2xhc3Mgd2l0aCBhIGxlc3MgZ2VuZXJpYyBuYW1lCgkgIC4uIHNvIHdlIGNhbiBlYXNpbHkgbW92ZSB0aGUgYmFzZSBjbGFzcyBpbnRvIC1iYXNlIGxhdGVyIHdpdGhvdXQKCSAgY2F1c2luZyBHVHlwZSBuYW1lIGNvbmZsaWN0cy4KCjIwMDktMDUtMjIgMDE6MDQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBtNC9nc3QtZmlvbnJlYWQubTQ6CgkgIG00OiBmaXggJ3N1c3BpY2lvdXMgY2FjaGUgdmFsdWUgaWQnIHdhcm5pbmdzIGluIGdzdC1maW9ucmVhZC5tNAoJICBBbmQgdXBkYXRlIGNvbW1vbiB0byBwdWxsIGluIGEgcmVsYXRlZCBmaXggZnJvbSB0aGVyZS4KCjIwMDktMDUtMjIgMDE6NDM6NTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgdGhlIHN0cmVhbXMKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTY6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEtlZXAgamIgc2lnbmFscyBoYW5kbGVyCgkgIEtlZXAgdGhlIHNpZ25hbCBoYW5kbGVycyBzbyB0aGV5IGNhbiBiZSBkaXNjb25uZWN0ZWQgYXQgcmVsZWFzZSB0aW1lCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjEyOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIHRoZSByaWdodCBsb2NrIGZvciB0aGUgc2Vzc2lvbnMKCSAgVXNlIHRoZSByaWdodCBsb2NrIHdoZW4gaXRlcmF0aW5nIHRoZSBzZXNzaW9ucy4KCjIwMDktMDUtMjIgMDE6MDM6NTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZyZWUgc2Vzc2lvbiBpZiByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkCgkgIEZyZWUgdGhlIHNlc3Npb24gd2hlbiBhbGwgdGhlIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vzc2lvbiBsaXN0IGluIGZyZWVfc2Vzc2lvbiBhcyBpdCBpcyBjYWxsZWQgZnJvbSBhIGZvcmVhY2gKCSAgb24gdGhhdCBsaXN0LgoJICBTZXQgdGhlIHN0YXRlIG9mIHRoZSB1cHN0cmVhbSBlbGVtZW50IHRvIE5VTEwgZmlyc3QuCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjUxOjUzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsYXNpbmcgb2YgdGhlIHJ0cCByZWN2IHBhZAoKMjAwOS0wNS0yMiAwMDo0NDo1MSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydHAgc2VuZCBwYWRzCgoyMDA5LTA1LTIyIDAwOjM0OjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzZSBvZiB0aGUgcmVjdiBydGNwIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDoxNjoxOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydGNwIHNyYyBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMTggMjM6Mzg6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogUmVjb25jaWxlIGVsZW1lbnQgY29kZSB3aXRoIGE1MmRlYyBjaGFuZ2VzCgkgIFJlLXdvcmsgdGhlIGR0c2RlYyBlbGVtZW50IGNvZGUgdG8gdW5pZnkgaXQgd2l0aCBjaGFuZ2VzIG1hZGUgaXQgYTUyZGVjLAoJICBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgcmV2ZXJzZSBwbGF5YmFjayBhbmQgZHluYW1pYyBjaGFubmVsIG5lZ290aWF0aW9uCgkgIG9uIHRoZSBzb3VyY2UgcGFkLgoKMjAwOS0wNS0yMSAyMTozNTozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIHRoZSB3aW4zMiBjb25maWcuaAoKMjAwOS0wNS0xOCAyMzoyMTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogcmV3b3JrIFJUQ1Agc2VuZGluZyBhbmQgUlRQIHJlY2VpdmluZwoJICBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggbXVsdGlhc3QsIGNyZWF0ZSB0aGUgdWRwIHNyYyBhbmQgc2luayBlbGVtZW50cyBwb2ludGluZwoJICB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3Nlcy4gV2hlbiB3ZSBhcmUgZG9pbmcgdW5pY2FzdCwgcmVjZWl2ZSBkYXRhIG9uIHRoZSBsb2NhbAoJICBwb3J0cyBhbmQgZG9uJ3Qgc2VuZCBSVENQIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVyZSB3ZSBoYXZlIHRvIHNlbmQgaXQuCgkgIEZpeGVzICM1ODMxODgKCjIwMDktMDUtMjEgMTM6MTU6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDN0YWc6IEFkZCBuZXcgaWQzIHRhZ2dpbmcgcGx1Z2luLCBzdXBwb3J0cyB2MSwgdjIuMywgYW5kIHYyLjQuCgkgIEJ5IGRlZmF1bHQsIGRvZXMgdjEgYW5kIHYyLjMsIGJ1dCB0aGVyZSBhcmUgcHJvcGVydGllcyB0byBzZWxlY3QuCgkgIFdpbGwgaG9wZWZ1bGx5IHJlcGxhY2UgaWQzbXV4LCBpZDN2Mm11eCwgaW4gdGhlIG5vdC10b28tZGlzdGFudCBmdXR1cmUuCgoyMDA5LTA1LTIxIDIxOjAyOjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjEyLjEKCj09PSByZWxlYXNlIDAuMTAuMTIgPT09CgoyMDA5LTA1LTIwIDIyOjMxOjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMgoKMjAwOS0wNS0yMCAyMDo0NDoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDUtMjAgMTc6MTA6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IGZyYW1lX2xheW91dCBmb3Igbm9uLWludGVybGFjZWQgZm9ybWF0cy4gRml4ZXMgIzU4MzMzNwoKMjAwOS0wNS0xNiAwMTo1ODozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTEuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xNiAwMTo1MzoxNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBBZGQgZGlyZWN0ZHJhdyBwcm9qZWN0IGZpbGVzIHRvIHRoZSB3aW4zMiBtYW5pZmVzdAoKMjAwOS0wNS0xNiAwMToxNDoyMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBNb3ZlZCAnZGlyZWN0ZHJhdycgZnJvbSAtZ29vZCB0byAtYmFkCgoyMDA3LTA2LTE1IDA5OjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHdpbjMyL3ZzNi86IE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZQoJICBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5IG90aGVyd2lzZS4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA5LTAyLTI3IDIwOjQwOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gZGlyZWN0ZHJhd3Npbms6IEZpeCB0eXBlIG1pc21hdGNoZXMKCSAgRml4ZXMgYnVnICM1NzMzNDMuCgoyMDA5LTAxLTI5IDExOjA3OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBSZW1vdmUgdmVyc2lvbiBudW1iZXJzIGZyb20gYSBmZXcgZ3N0LWxhdW5jaCBleGFtcGxlcy4KCSAgVGhlIG1ham9yaXR5IG9mIHRoZSBleGFtcGxlcyBkb2Ugbm90IHVzZSAtMC4xMCBhbmQgdGhpcyB3aWxsIGFsc28gaGVscCB1cyB0byBtYWludGFpbiB0aGUgZG9jcy4KCjIwMDktMDEtMjkgMTA6MTA6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHBsdWdpbnMgKHN5cykuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBGaXggZXhhbXBsZXMuCgoyMDA4LTExLTA0IDEyOjI4OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCjIwMDgtMDgtMjEgMjE6NTY6MTkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsCgkgIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIEZpeCB0d28gbW9yZSBidWZmZXIgcmVmIGxlYWtzLgoKMjAwOC0wOC0yMSAxNToyODowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZpeCBidWZmZXIgcmVmIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEZpeCBidWZmZXIgcmVmIGxlYWsuCgoyMDA4LTA1LTA3IDE1OjMzOjUyICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOiBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOgoJICBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSUQgaGFzIGFscmVhZHkgYmVlbgoJICBzZXQgYWZ0ZXIgY3JlYXRpbmcgdGhlIGNsaXBwZXIuCgoyMDA4LTA1LTA3IDE1OjI4OjA2ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6IEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bAoJICBJRGlyZWN0RHJhd1N1cmZhY2U3X0xvY2soKSBjYWxsLgoJICBJZiBzdXJmYWNlIGlzIGxvc3QsIHJldHVybiBHU1RfRkxPV19PSy4KCjIwMDgtMDUtMDcgMTU6MTk6NDcgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgV25kUHJvYywgZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgSW1wcm92ZWQgV2luZG93cyBtZXNzYWdlIGxvb3AgYW5kIGZpeGVkIHdpbmRvdyBkZXN0cnVjdGlvbiBpc3N1ZS4KCSAgV2hlbiB0aGUgd2luZG93IHdoaWNoIERpcmVjdERyYXcgaXMgcmVuZGVyaW5nIHRvIGlzIGRlc3Ryb3llZCwgdGhlCgkgIHJlbmRlci9zaG93X2ZyYW1lIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTU6MDk6MTAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6IEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6CgkgIEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgaXMgbm93CgkgIHJlbGVhc2VkIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTQ6NTY6MjIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCBzbyB0aGF0IGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jIHVzZXMgdGhlIHJpZ2h0CgkgIHdpZHRoL2hlaWdodC4KCSAgRXNwZWNpYWxseSB3aGVuIGxvb2tpbmcgdGhyb3VnaCB0aGUgcG9vbCBvZiBidWZmZXJzLCBtYWtlIHN1cmUgdGhhdAoJICB0aGUgd2lkdGgvaGVpZ2h0IG9mIGNhcHMgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBhbHJlYWR5IG5lZ290aWF0ZWQKCSAgZGltZW5zaW9ucy4KCSAgRm9yIGV4YW1wbGUgaWYgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQgY2FwcyBpcyByZXF1ZXN0ZWQsIGkuZS4KCSAgaGlnaGVyIHJlc29sdXRpb24sIHRoZSBjYWxsZXIgd291bGQgZ2V0IGEgYnVmZmVyIHdpdGggdGhlIG9sZAoJICBkaW1lbnNpb25zIGFuZCB0aHVzIGNvcnJ1cHQgdGhlIGhlYXAuCgoyMDA4LTA1LTA3IDE0OjQzOjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCSAgVGhlIHJpZ2h0IGZpeCB0aGlzIHRpbWUuCgoyMDA4LTA1LTA3IDE0OjM5OjQ1ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIFJldmVydGluZyBwcmV2aW91cyBjb21taXQsIGl0IGhhZCBpdCBhbGwgbWl4ZWQgdXAsIHdhcyBmb3IgYSBkaWZmZXJlbnQKCSAgcGF0Y2ggKG1ham9yIGF1dG9tYXRpb24gc2NyZXctdXApLiBTb3JyeSEKCjIwMDgtMDUtMDcgMTM6NDg6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wMi0xMiAxMjoyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kZHJhd3N1cmZhY2VfY2xhc3NfaW5pdCksIChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZmluYWxpemUpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoKMjAwOC0wMS0wNyAxNjo0MTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgoyMDA4LTAxLTA1IDIxOjIwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0wNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfd2luZG93X2lkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19kcmF3X2JvcmRlcnMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKTogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIKCSAgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoYW5jZSB0bwoJICB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBwcmVwYXJlLXh3aW5kb3ctaWQgYnVzIG1lc3NhZ2UuIERyYXcKCSAgYmxhY2sgYm9yZGVycyB3aGVuIGtlZXBpbmcgYXNwZWN0IHJhdGlvLiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCSAgb3VyCgkgIHJlbmRlcmluZyB3aW5kb3cgZGlzYXBwZWFycyAoY2xvc2VkIG9yIGVycm9ycykgbGlrZSBvdGhlciBzaW5rcwoJICBkby4gVmFyaW91cyA4MCBjb2x1bW5zIGZpeGVzLCBpbXByb3ZlIHN0YXRlIGNoYW5nZSBvcmRlci4gVGhhdAoJICBlbGVtZW50IGNvdWxkIG5lZWQgc29tZSBtb3JlIGxvdmUuCgoyMDA3LTA5LTIyIDA4OjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoKMjAwNy0wNi0xNCAxMjoxNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgW01PVkVEIEZST00gR09PRF0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDktMDUtMTUgMTA6NDU6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBGaXggcmVzZXR0aW5nIG9mIHRoZSBzaW5rIGluIE5VTEwKCSAgUmVzZXQgdGhlIGZwc2Rpc3BsYXlzaW5rIGluIE5VTEwgYnkgcmVtb3ZpbmcgdGhlIHRleHRvdmVybGF5IGlmIHdlCgkgIGNyZWF0ZWQgaXQuCgkgIEZpeGVzOiAjNTgyNjMzCgoyMDA5LTA1LTE2IDAwOjE3OjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBNb3ZlZCAneTRtZW5jJyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTUgMTg6MjQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBhZGQgTWFrZXZhcnMgbWFnaWMgc28gd2UgZG9uJ3QgZ2V0IGxpbmUgbnVtYmVycyBpbiAqLnBvIGZpbGVzCgkgIFRoaXMgYXZvaWRzIHRoZSBudW1iZXIgb25lIHJlYXNvbiBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiAqLnBvCgkgIGZpbGVzIGFuZCBhbmQgbWFrZXMgdGhpbmdzIGxlc3MgYW5ub3lpbmcgd2hlbiB3b3JraW5nIHdpdGggZ2l0IChvcgoJICBhbnkgb3RoZXIgVkNTIGZvciB0aGF0IG1hdHRlcikuCgoyMDA5LTA1LTE1IDAxOjU0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBbcXRtdXhdIEZpeGVzIHNlZ2ZhdWx0IHdoZW4gYWRkaW5nIGEgYmxvYiBhcyBmaXJzdCB0YWcuCgkgIE1vdmVzIHRhZ3MgZGF0YSBpbml0aWFsaXphdGlvbiB0byB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBhcHBlbmRzCgkgIHRoZSB0YWdzIHRvIHRoZSBsaXN0LiBGaXhlcyAjNTgyNzAyCgkgIEFsc28gZml4ZXMgc29tZSBzdHlsZSBjYXVnaHQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCjIwMDktMDUtMTQgMjE6MjA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBVc2UgYSBSVyBsb2NrIHRvIHByb3RlY3QgbWV0YWRhdGEgYW5kIGFkZCBhbGwgcGFkcyBhdCBvbmNlIHdpdGhvdXQgYSBsb2NrIGhlbGQKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSwgYW1vbmcgb3RoZXIgdGhpbmdzLCB0byBkbyBhIHF1ZXJ5IGluIHRoZQoJICBwYWQtYWRkZWQgY2FsbGJhY2suCgkgIEZpeGVzIGJ1ZyAjNTgyNjU2LgoKMjAwOS0wNS0xNCAxMDozNDowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggdGhlIGFyZ3VtZW50IG9yZGVyIGluIGEgZGVidWcgc3RhdGVtZW50CgkgIE1ha2UgdGhlIGRlYnVnIHN0YXRlbWVudCBjb3JyZWN0bHkgc2hvdyB0aGUgJ29sZCcgYW5kICduZXcnIGJ1dHRvbgoJICBjb29yZGluYXRlcywgaW5zdGVhZCBvZiB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4KCjIwMDktMDUtMTQgMDk6NTM6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogTWFrZSBzZWdtZW50IHVwZGF0ZXMgbGVzcyBhZ2dyZXNzaXZlLgoJICBXaGVuIHVwZGF0aW5nIGEgcGFkLCBzZW5kIHRoZSB1cGRhdGUgdG8gaGFsZiBhIHNlY29uZCBiZWhpbmQgdGhlIFNDUiwKCSAgd2hpY2ggYXZvaWRzIGV2ZXIgdXBkYXRpbmcgdGhlIHN0YXJ0IHRpbWUgZm9yIGEgcGFkIHRvIGJleW9uZCB0aGUgZW5kIG9mCgkgIHRoZSBjZWxsLiBBbHNvLCByZW1lbWJlciB0aGUgbGFzdCBhY3R1YWwgbmV3LXNlZ21lbnQgc3RhcnQgdGltZSBmb3IgZWFjaAoJICBwYWQsIGFuZCB1c2UgaXQgd2hlbiBjbG9zaW5nIHRoZSBzZWdtZW50LgoKMjAwOS0wNS0xMyAxMjo0Nzo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZXdvcmsgYnV0dG9uIGhpZ2hsaWdodCBjYWxjdWxhdGlvbiBzbGlnaHRseQoJICBXaGVuIHRoZSBjdXJyZW50IGJ1dHRvbiBudW1iZXIgaXMgaGlnaGVyIHRoYW4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUKCSAgYnV0dG9ucywgc3dpdGNoIHRvIHRoZSBoaWdoZXN0IG51bWJlcmVkIGJ1dHRvbiByYXRoZXIgdGhhbiB0aGUgbG93ZXN0LgoJICBBbHNvLCBkb24ndCB0aHJvdyBlcnJvcnMgd2hlbiB3ZSBmYWlsIHRvIHJldHJpZXZlIHNvbWUgYnV0dG9uIGluZm8KCSAgZnJvbSBsaWJkdmRuYXYsIGp1c3QgcmVzZXQgdGhlIGhpZ2hsaWdodC4KCjIwMDktMDUtMTIgMjM6NDI6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgY29tbWFuZHMtY2hhbmdlZCBvbiBidXR0b24gY2hhbmdlIGFuZCBoYW5kbGUgY29tbWFuZHMgcXVlcnkKCSAgU2VuZCB0aGUgY29tbWFuZHMtY2hhbmdlZCBuYXZpZ2F0aW9uIG1lc3NhZ2Ugd2hlbiB0aGUgc2V0IG9mIGF2YWlsYWJsZQoJICBEVkQgbWVudSBidXR0b24gYWN0aW9ucyBjaGFuZ2VzLCBhbmQgaGFuZGxlIHRoZSBjb21tYW5kcyBuYXZpZ2F0aW9uCgkgIHF1ZXJ5IHNvIHRoYXQgKGUuZy4pIFRvdGVtIGNhbiBrbm93IGFib3V0IHRoZSBhdmFpbGFibGUgbmF2aWdhdGlvbgoJICBjb21tYW5kcy4KCjIwMDktMDUtMTQgMDg6NDI6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IGEgbGVhayBvZiB0aGUgRFZEIHRpdGxlIHN0cmluZwoKMjAwOS0wNS0xNCAxMDo1NTozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBQdXNoIHVwZGF0ZSBmcmFtZSwgaWYgYW55LCB3aGVuIGVudGVyaW5nIHN0aWxscy4KCSAgV2hlbiBlbnRlcmluZyBhIHN0aWxsIGZyYW1lIGdlbmVyYXRlcyBhbiB1cGRhdGVkIGJ1ZmZlciwgbWFrZSBzdXJlCgkgIHRvIHB1c2ggaXQgb3V0LCBvdGhlcndpc2Ugd2UgbWF5IG5vdCBwdXQgYSBmcmFtZSBvbnNjcmVlbiB3aXRoIGEKCSAgcmVuZGVyZWQgYnV0dG9uLCBjYXVzaW5nIHJhY2luZXNzIGFzIHRvIHdoZXRoZXIgYnV0dG9ucyBnZXQgZHJhd24KCSAgb3Igbm90IHdoZW4ganVtcGluZyBiYWNrIHRvIHRoZSBtZW51IG9uIHNvbWUgZGlzY3MuCgoyMDA5LTA1LTEzIDEwOjI5OjM2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBGaXggcmFjaW5lc3MgaW4gcnNuZHZkYmluIHdoZW4gaW5pdGlhbGx5IGNyZWF0aW5nIHBhZHMKCSAgUHJvdGVjdCBwYWQgZXhwb3N1cmUgd2l0aCBhIHByZXJvbGwgbG9jayB0byBhdm9pZCBzaXR1YXRpb25zCgkgIHdoZXJlIG5vLW1vcmUtcGFkcyBpcyBmaXJlZCBtb3JlIHRoYW4gb25jZSwgb3IgZmlyZWQganVzdCBiZWZvcmUKCSAgdGhlIGxhc3QgcGFkIGlzIGFjdHVhbGx5IGFkZGVkLgoKMjAwOS0wNS0xMyAxNzo1NTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogY2hhbmdlIG15IGVtYWlsCgkgIGNoYW5nZSBteSBlbWFpbCB0byBzb21ldGhpbmcgbW9yZSBjdXJyZW50CgkgIFNlZSAjNTgwNzgzCgoyMDA5LTA1LTEzIDE3OjU0OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBkb24ndCBzdHJpcCB0aW1lc3RhbXBzCgkgIEZpeGVzICM1ODI0ODMKCjIwMDktMDUtMTMgMTA6NDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZ3N0L2RlaW50ZXJsYWNlLy5naXRpZ25vcmU6CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2RlaW50ZXJsYWNlLnZjcHJvajoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBNb3ZlZCAnZGVpbnRlcmxhY2UyJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgQW5kIHJlbW92ZSBvbGQgZGVpbnRlcmxhY2UgcGx1Z2luIGFzIGRlaW50ZXJsYWNlMiB3aWxsCgkgIGJlIGNhbGxlZCBkZWludGVybGFjZSBpbiAtZ29vZC4KCjIwMDktMDUtMTIgMjE6NTA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIE1vdmVkICdmbHYnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xMiAwMDo1MDowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTEuMiBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xMSAxNzo1MDo0MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBNb2RpZnkgdGhlIHNlZ21lbnQgdXBkYXRlIGxvZ2ljCgkgIFNlbmQgc2VnbWVudCB1cGRhdGVzIHRvIHRoZSBhdWRpbyBhbmQgc3VicGljdHVyZSBwYWRzIG1vcmUgZnJlcXVlbnRseSwKCSAgYnV0IGxlc3Mgb2Z0ZW4gdG8gdGhlIHZpZGVvIHBhZCwgd2hlcmUgdGltZXN0YW1wcyBhcHBlYXIgbGVzcyBvZnRlbi4KCSAgVGhpcyBoZWxwcyB3aXRoIGdhcCBmaWxsaW5nIG9uIHNvbWUgRFZEcy4KCjIwMDktMDUtMTEgMTY6MDk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBJbmNyZWFzZSB0aGUgYW1vdW50IG9mIGZpbGxlciBhdWRpbyBnZW5lcmF0ZWQKCSAgV2hlbiBjcmVhdGluZyBhIGZpbGxlciBhdWRpbyBidWZmZXIgaW4gcnNuYXVkaW9tdW5nZSwgZ2VuZXJhdGUKCSAgYSBiaXQgbW9yZSwgYXMgYXVkaW8gc2lua3MgZG9uJ3Qgc2VlbSB0byBwcmVyb2xsIG90aGVyd2lzZS4gVGhpcwoJICBuZWVkcyBhIGJldHRlciBhbGdvcml0aG0gaW4gZ2VuZXJhbCwgdG8gaW50ZWxsaWdlbnRseSBmaWxsIHRoZQoJICBnYXAsIHJhdGhlciB0aGFuIGhhcmQtY29kaW5nIGEgdmFsdWUuCgoyMDA5LTA1LTExIDE0OjE3OjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBNYW5hZ2UgdGltZWQgc3RpbGwgc2VxdWVuY2VzIGJldHRlcgoJICBNYWtlIHRpbWVkIHN0aWxsIGZyYW1lcyB3b3JrIGJldHRlciBieSBleHRlbmRpbmcgdGhlIGN1cnJlbnQgc2VnbWVudAoJICB3aGVuIG5lZWRlZCwgYW5kIHJlc3RhcnRpbmcgdGhlIHN0aWxsIHNlcXVlbmNlIHdpdGggdGhlIGNvcnJlY3QKCSAgcmVtYWluaW5nIGR1cmF0aW9uIHdoZW4gdGhlIHdhaXQgaXQgaW50ZXJydXB0ZWQgYnkgYWN0aXZhdGlvbiBvZiBhCgkgIGhpZ2hsaWdodCBOQVYgcGFja2V0LgoKMjAwOS0wNS0xMSAxMTowNjowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENoYW5nZSB0aGUgYXVkaW9tdW5nZSBkZWJ1ZyBvdXRwdXQuCgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2hvdyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VnbWVudCBldmVudHMgcGFzc2luZyB0aHJvdWdoLAoJICBldmVuIHdoZW4gcHJlLXJvbGwgYXVkaW8gYnVmZmVycyBhcmVuJ3QgZ29pbmcgdG8gYmUgbmVlZGVkLgoKMjAwOS0wNS0xMSAxMTowNDoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBNYWtlIHRoZSBkZWJ1Z2dpbmcgb3V0cHV0IGEgYml0IGNsZWFyZXIuCgkgIERpc3BsYXkgbW9yZSBpbmZvIGFib3V0IGN1c3RvbSBEVkQgZXZlbnRzIGluIHRoZSBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDktMDUtMDggMTc6NDI6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWx3YXlzIHB1c2ggYSBmcmFtZSBhdCB0aGUgc3RhcnQgb2YgYSBzdGlsbCBmcmFtZSwgYW5kIGZpeCBhIGxlYWsuCgkgIE1ha2Ugc3VyZSB0byBwdXNoIHRoZSBmcmFtZSBmb3IgYSBzdGlsbCBmcmFtZSwgd2l0aCBkaXNjb250ID0gdHJ1ZSBhbmQKCSAgdGltZXN0YW1wPW5vbmUsIHNvIHRoYXQgaXQgZ2V0cyBkaXNwbGF5ZWQgYnkgdGhlIHNpbmsuIEFsc28sIGRvbid0IGxlYWsKCSAgZWFjaCByZW5kZXJlZCB2aWRlbyBmcmFtZSBkdXJpbmcgc3RpbGwgbWVudXMuCgoyMDA5LTA1LTA4IDE3OjQwOjQ4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSAgZHZkc3B1OiBBZGQgYSBndWFyZCB3aGVuIHdlIGRvbid0IGhhdmUgYW55IHN1YnBpY3R1cmUgYnVmZmVyIHRvIHJlbmRlcgoKMjAwOS0wNS0wOCAxNjoyOToyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IFJlbmFtZSB0aGUgYXVkaW8gbXVuZ2VyIGRlYnVnIGNhdGVnb3J5CgkgIFJlbmFtZSBhIGRlYnVnIGNhdGVnb3J5OiByc25fYXVkaW9tdW5nZSAtPiByc25hdWRpb211bmdlLgoKMjAwOS0wNS0wOCAxNjoyNzozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBFbnN1cmUgd2Ugc2VuZCBhIHRpdGxlIHRhZyBpbiB0aGUgZmlyc3QgcGxheSBzZWN0aW9uLgoKMjAwOS0wNS0wOCAxNjowNjowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTaW1wbGlmeSBzb21lIHN0dWZmLiBSZW1vdmUgYW4gdW5uZWNlc3NhcnkgTE9HIG1lc3NhZ2UuCgkgIFNraXAgYXR0ZW1wdGluZyB0byBzY2hlZHVsZSBhIG5hdiBibG9jayB1bmxlc3Mgd2UncmUgaW4gUExBWUlORy4gVGFrZSBhIGxvY2sKCSAgc2xpZ2h0bHkgbGF0ZXIsIHdoZW4gd2UgYWN0dWFsbHkgbmVlZCBpdC4gUmVtb3ZlIGEgbm9pc3kgTE9HIG1lc3NhZ2UuCgoyMDA5LTA1LTA4IDE0OjIzOjQ4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBwZXItbWVudSBkZXNjcmlwdGlvbiBmcm9tIHRoZSBUSVRMRSB0YWcKCSAgVGhlIHBhcnQgbnVtYmVyIHJlcG9ydGVkIHdoaWxlIGluIGEgbWVudSBkb2Vzbid0IHJlZmxlY3QgdGhlIHNlbGVjdGVkCgkgIG1lbnUsIHNvIGl0J3MgcG9pbnRsZXNzIHRvIHVzZSBpdCB0byByZXBvcnQgd2hpY2ggbWVudSB3ZSdyZSBpbiAoQXVkaW8sCgkgIEFuZ2xlIGV0YykuIEp1c3QgcmVwb3J0ICJEVkQgTWVudSIgaW4gdGhlIHRpdGxlIHRhZyBpbnN0ZWFkLgoKMjAwOS0wNS0wOCAxNDoyMDozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCB0aXRsZSBpbmZvIG1lc3NhZ2Ugd2hlbiBjdXJyZW50IGFuZ2xlIGlzIHN3aXRjaGVkLgoJICBNYWtlIHN1cmUgd2Ugc2VuZCBhbiB1cGRhdGUgdGl0bGUgdGFnIHdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgb3IgYXZhaWxhYmxlCgkgIGFuZ2xlcyBjaGFuZ2VzLgoKMjAwOS0wNS0wOCAxMDo0MzoyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogSW1wbGVtZW50IG5hdmlnYXRpb24gY29tbWFuZCBjaGFuZ2UgbWVzc2FnZSBhbmQgcXVlcnkKCSAgU2VuZCBtZXNzYWdlcyB3aGVuIHRoZSBhdmFpbGFibGUgRFZEIG5hdmlnYXRpb24gY29tbWFuZHMgY2hhbmdlcywgYW5kCgkgIGhhbmRsZSBuYXZpZ2F0aW9uIGNvbW1hbmRzIGFuZCBhbmdsZXMgcXVlcmllcy4KCjIwMDktMDUtMTEgMTY6NTk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFByb3RlY3QgYml0cmF0ZSBlc3RpbWF0aW9uIGFnYWluc3QgYm9ndXMgdmFsdWVzLgoJICBJZiB0aGUgZXN0aW1hdGVkIGJpdHJhdGUgaXMgbG93ZXIgdGhhbiAxODggYnl0ZXMsIHRoZXJlJ3MgbW9zdCBsaWtlbHkKCSAgc29tZXRoaW5nIGNvbXBsZXRlbHkgd3Jvbmcgd2l0aCB0aGUgdHdvIHNhbXBsZXMuIElmIHRoYXQgaGFwcGVucywKCSAgZm9yY2UgcmVjYWxjdWxhdGlvbi4KCSAgVXNlIGd1aW50NjQgZm9yIG9ic2VydmF0aW9uIFBDUiwgSSBzYXcgY2FzZXMgd2hlcmUgaXQgd291bGQgb3ZlcmZsb3cuCgoyMDA5LTA1LTExIDE2OjU4OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogT25seSB0YWtlIFBDUiBmcm9tIHRoZSBhY3RpdmUgc3RyZWFtIGZvciBiaXRyYXRlIGVzdGltYXRpb24uCgoyMDA5LTA1LTExIDE2OjQwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQ2hhbmdlIGRlYnVnZ2luZyBsZXZlbHMgZm9yIHZlcnkgZnJlcXVlbnQgbWVzc2FnZXMuCgkgIFRoaXMgYWxsb3dzIGRlYnVnZ2luZyB3aXRoIG1wZWd0c2RlbXV4OjQgd2hpbGUgYmVpbmcgYWJsZSB0byB0cmFjayB3aGF0J3MKCSAgZ29pbmcgb24gKGFuZCBhdm9pZCB0YWtpbmcgdXAgYXMgbXVjaCBjcHUgZm9yIGRlYnVnZ2luZyBhcyBmb3IgdGhlIGFjdHVhbAoJICBkZW11eGluZyBwcm9jZXNzKS4KCjIwMDktMDUtMDkgMDk6NTc6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBSZXZlcnQgaW5kZW50YXRpb24gYW5kIGNvbW1lbnQgaGVhZGVyIGZpbGUuCgkgIE9uZSBzaG91bGRuJ3QgcnVuIGdzdC1pbmRlbnQgb24gLmggZmlsZXMsIGluIHRoaXMgY2FzZSBpdCB3YXMgdW4tYmVhdXRpZnlpbmcKCSAgdGhlIGluZGVudGF0aW9uIDopCgoyMDA5LTA1LTEwIDIxOjIxOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IEFkZCBNUEVHLTQgcGFydCAyIHRvIHN1cHBvcnRlZCBmb3JtYXRzLiAgRml4ZXMgIzU4MTU5My4KCjIwMDktMDUtMTAgMTc6MTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmYWFkOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciB0aGUgRkFBRCB2ZXJzaW9uCgkgIFRoZSBwcmV2aW91cyB2ZXJzaW9uIG1hdGNoZWQgdGhpbmdzIGxpa2UgMjk3IGZvcgoJICB2ZXJzaW9uIDIuNywgZXRjIHdoaWNoIGNvdWxkIGJlIGFkZGVkIHRvIHRoZSBmaWxlCgkgIGJ5IG90aGVyIGhlYWRlcnMuCgkgIEZpeGVzIGJ1ZyAjNTgyMDc0LgoKMjAwOS0wNS0xMCAxMToxNzoxNyArMDIwMCAgTWFyYy1BbmRyZSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgUnVuIGxpYnRvb2xpemUgYmVmb3JlIGFjbG9jYWwKCSAgVGhpcyB1bmJyZWFrcyB0aGUgYnVpbGQgaW4gc29tZSBjYXNlcy4gRml4ZXMgYnVnICM1ODIwMjEKCjIwMDktMDUtMTAgMTA6NDA6MzYgKzAyMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBUaGlzIHdpbGwgYWx3YXlzIGJlIHNldCB0byBzb21ldGhpbmcgYnV0IGdjYyBkaWRuJ3QgZGV0ZWN0CgkgIHRoaXMuIEZpeGVzIGJ1ZyAjNTgyMDEzLgoKMjAwOS0wNS0wOSAyMzo0NzozOSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkgIFJlbW92ZSB3cm9uZyBzdHVmZiBmcm9tIHByZXNldCBmaWxlCgoyMDA5LTA1LTA5IDE1OjQ4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogV3JpdGUgbWV0YWRhdGEgaXRlbXMgaW4gcmVmZXJlbmNlIG9yZGVyCgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBtZXRhZGF0YSBpdGVtcyBhcmUgYWx3YXlzIHdyaXR0ZW4KCSAgaW4gdGhlIHNhbWUgb3JkZXIgYW5kIHRoYXQgZmlyc3QgY29tZXMgdGhlIHByZWZhY2UsCgkgIHRoZW4gdGhlIGlkZW50aWZpY2F0aW9uIGxpbmtlZCBmcm9tIHRoZSBwcmVmYWNlLCAuLi4KCSAgU29tZSBkZW11eGVycyBjYW4ndCBoYW5kbGUgZmlsZXMgd2hlcmUgdGhlIG1ldGFkYXRhCgkgIGl0ZW1zIGFyZSBpbiByYW5kb20gb3JkZXIuCgoyMDA5LTA1LTA5IDE1OjQ4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IEVPUyBsb2dpYyBhZ2FpbgoKMjAwOS0wNS0wOSAxNTo0ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IHVucmVmIE5VTEwgYnVmZmVycyBpZiBwdXNoaW5nIGEgYnVmZmVyIGFmdGVyIHRoZSBmaXJzdCBmYWlsZWQKCjIwMDktMDUtMDkgMTI6NDI6MjUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJICBBZGQgYSBtb3JlIHJlcHJlc2VudGF0aXZlIGV4YW1wbGUgcHJlc2V0IGZpbGUgZm9yIHgyNjQKCjIwMDktMDUtMDggMTg6MjQ6MjggKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBpbml0aWFsIG5haXZlIHNlZWtpbmcgc3VwcG9ydCBhbmQgZml4IGR1cmF0aW9uIHF1ZXJ5LgoJICBTeW5jIGZyb20gZ3N0LWZsdWVuZG8tbXBlZ2RlbXV4IGFuZCBoYXZlIHNlZWtpbmcvZHVyYXRpb24gcXVlcnkKCSAgaW1wcm92ZW1lbnRzIGluLiBObyBzdXBwb3J0IGhvd2V2ZXIgZm9yIHdyYXBwZWQgYXJvdW5kIHBjcnMgZXRjLiBidXQgYQoJICBzdGFydCBub25ldGhlbGVzcy4KCSAgQWxzbyBmaXggaW5kZW50YXRpb24gaXNzdWVzLgoKMjAwOS0wNS0wOCAxNjozODoyNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIENvbW1lbnQgb3V0IHByZXNldCBub3QgaW4geWV0CgoyMDA5LTA1LTA4IDE1OjM5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGEgZGlzYWJsZWQgbW9kZSBmb3IgcGFzc3Rocm91Z2ggb3BlcmF0aW9uCgkgIEFsc28gYWxsb3cgdG8gY2hhbmdlIHRoZSBtb2RlIGluIFBBVVNFRCBhbmQgUExBWUlORyBieSB1cGRhdGluZwoJICB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDUtMDcgMTc6MzQ6MzYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA1LTA3IDEzOjEyOjM0ICswMjAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBzY2FsZXRlbXBvOiBEb24ndCByZXF1aXJlIGdjb25mYXVkaW9zaW5rIGluIHRoZSBkZW1vCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAwOS0wNS0wNiAyMTo0ODozMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBvcGVuIGFsbCBWVFMgaWZvIGF0IHRoZSBzdGFydAoJICBMb2FkIGVhY2ggVlRTIGlmbyB0aGUgZmlyc3QgdGltZSB0aGUgZGlzYyBlbnRlcnMgdGhhdCBWVFMsCgkgIHJhdGhlciB0aGFuIHNjYW5uaW5nIHRoZW0gYWxsIGF0IHRoZSBzdGFydC4KCjIwMDktMDUtMDYgMjE6MTk6MTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgYSB0aXRsZSB0YWcgd2hlbiB3ZSBjaGFuZ2UgY2hhcHRlci9tZW51L2FuZ2xlCgkgIEFsbG93IGFwcHMgbGlrZSBUb3RlbSB0byBkaXNwbGF5IGEgbmljZXIgdGl0bGUgdGhhdCByZWZsZWN0cyB0aGUgY3VycmVudAoJICBwb3NpdGlvbiBvbiB0aGUgZGlzYy4KCjIwMDktMDUtMDUgMTM6MTg6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBoaWdobGlnaHQtcmVzZXQgbWVzc2FnZXMgd2hlbiBub3QgbmVlZGVkCgkgIEZpeCBhIHNtYWxsIGJ1ZyB0aGF0IHJlc3VsdHMgaW4gdGhlIFNQVSBoaWdobGlnaHQgYmVpbmcgcmVzZXQgbW9yZSBvZnRlbgoJICB0aGFuIGlzIG5lY2Vzc2FyeSAtIGllLCBjbGVhcmluZyBpdCB3aGVuIGl0J3MgYWxyZWFkeSBjbGVhcmVkLgoKMjAwOS0wNS0wNSAxMzoxNDo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogc2VuZCBhbmdsZXMtY2hhbmdlZCBtZXNzYWdlcyB3aGVuIGFwcHJvcHJpYXRlCgkgIFdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgY2hhbmdlcywgb3IgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgYW5nbGVzIGNoYW5nZXMsCgkgIHNlbmQgYW4gYW5nbGVzLWNoYW5nZWQgbWVzc2FnZSB0byBsZXQgdGhlIGFwcCBrbm93LgoKMjAwOS0wNS0wNSAxMTozNDoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYWtlIHRoZSBuZXh0L3ByZXYgYW5nbGUgc3dpdGNoaW5nIGN5Y2xlIGF0IHRoZSBlbmRzCgkgIFdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgaXMgMSBhbmQgcHJldl9hbmdsZSBpcyByZXF1ZXN0ZWQsIGxvb3AgdG8gdGhlCgkgIG1heGltdW0gYW5nbGUgYW5kIHZpY2UgdmVyc2EgZm9yIG5leHRfYW5nbGUKCjIwMDktMDUtMDUgMTY6NTQ6MzkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG9uJ3QgbGVhayB0aGUgY29uZmlnIGRhdGEKCSAgQ2xlYXIgdGhlIGNvbmZpZyBkYXRhIHdoZW4gZ29pbmcgdG8gUkVBRFkgb3Igd2hlbiBkaXNwb3NlZC4KCSAgRml4ZXMgIzU4MTQyNwoKMjAwOS0wNS0wNSAxNjo0ODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRyb3AgdW5leHBlY3RlZCBSVENQIHBhY2tldHMKCSAgV2UgdXN1YWxseSBvbmx5IGdldCBTUiBwYWNrZXRzIGluIG91ciBjaGFpbiBmdW5jdGlvbiBidXQgaWYgYW4gaW52YWxpZCBwYWNrZXQKCSAgY29udGFpbnMgdGhlIFNSIHBhY2tldCBhZnRlciB0aGUgUlIgcGFja2V0LCB3ZSBtdXN0IG5vdCBmYWlsIGJ1dCBzaW1wbHkgaWdub3JlCgkgIHRoZSBtYWxmb3JtZWQgcGFja2V0LgoJICBGaXhlcyAjNTgxMzc1CgoyMDA5LTA1LTA0IDIyOjA5OjA1ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBSZW1lbWJlciBwaWRzIHRoYXQgYXJlIG1lYW50IHRvIGJlIHN0cmVhbSBwaWRzLgoJICBGaXhlcyAjNTY5NzgxCgoyMDA5LTA1LTA0IDEyOjM3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IEltcGxlbWVudCBQcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZDogSW1wbGVtZW50IFByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wMyAxNzo0Mjo0NCArMDEwMCAgVmluY2VudCBHZW5pZXV4IDxtdXRleEBydW5ib3guY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBJZ25vcmUgc3VidGFibGUgZXh0ZW5zaW9uIHdoZW4gcGFyc2luZyBQQVQKCSAgRml4ZXMgIzU2OTY3My4KCjIwMDktMDUtMDMgMTc6MjE6MjIgKzAxMDAgIFZpbmNlbnQgR2VuaWV1eCA8bXV0ZXhAcnVuYm94LmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogbWFrZSBzYWZlIGNoYW5naW5nIHRoZSBwcm9ncmFtLW51bWJlcnMgcHJvcGVydHkgZHluYW1pY2FsbHkKCSAgRml4ZXMgIzU2OTQzNy4KCjIwMDktMDUtMDMgMTQ6Mjg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBleHRlbmQgQmFzZVNyYyBxdWVyeSBoYW5kbGluZyByYXRoZXIgdGhhbiBvdmVycmlkaW5nCgoyMDA5LTA0LTI3IDIyOjM5OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCAocmVncmVzc2lvbiBpbikgbmV3c2VnbWVudCBoYW5kbGluZwoJICAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpLiAgRml4ZXMgIzU4MDEzMy4KCjIwMDktMDUtMDIgMTI6MjM6MDMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBwZXMgZmlsdGVyIHBpZCByZXNldHRpbmcKCjIwMDktMDUtMDEgMDI6MjY6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBjb3NtZXRpYyBmaXggdG8gaGVhZGVyIHN0cnVjdHVyZSB0byBtYWtlIGd0ay1kb2MgaGFwcHkKCjIwMDktMDUtMDEgMTQ6MjU6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkb2NzOiBtYWtlIGZwc2Rpc3BsYXlzaW5rIHNob3cgdXAgaW4gdGhlIGRvY3MKCjIwMDktMDUtMDEgMDI6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IG1vdmUgcHJpdmF0ZSBzdHJ1Y3QgaW50byBwbHVnaW4gc3RydWN0IGFuZCB1c2UgR3N0IG5hbWVzcGFjZQoKMjAwOS0wNS0wMSAwMTo1OTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiByZW5hbWUgcGx1Z2luIChub3QgZWxlbWVudCkgdG8gZGVidWd1dGlsc2JhZAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gYWRkIGZ1cnRoZXIgdXRpbHMgaGVyZSB3aXRob3V0IGNyZWF0aW5nIHlldCBhbm90aGVyIHBsdWdpbi4KCjIwMDktMDUtMDEgMTQ6Mjg6MjMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVuc2V0IHBpZCBmaWx0ZXJzIGNvcnJlY3RseQoKMjAwOS0wNC0zMCAxNDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGNoYW5nZXMgY2FwcyBvZiBzcmMgcGFkcyB0byB2aWRlby9xdWlja3RpbWUsIHZhcmlhbnQ9c29tZXRoaW5nCgkgIFRha2UgYSBsb29rIGF0IGJ1ZyAjNTgwMDA1IGZvciBmdXJ0aGVyIGluZm8uCgoyMDA5LTA0LTMwIDE3OjI5OjM1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDQtMzAgMTc6Mjg6NDcgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIG5ldyBwcmVzZXRzIGZpbGUKCjIwMDktMDQtMzAgMTc6MDg6NTIgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwOTAxLgoKMjAwOS0wNC0zMCAxNDoyMDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGRvIHNvbWUgYmFzaWMgY2xpcHBpbmcKCSAgQWRkIHNvbWUgYmFzaWMgY2xpcHBpbmcgb2YgdGhlIHN1YnRpdGxlIHJlZ2lvbiB3aGVuIHRoZSBzdWJ0aXRsZSBpcyBiaWdnZXIgdGhhbgoJICB0aGUgaW1hZ2Ugd2Ugc2hvdWxkIHB1dCBpdCBvbi4KCjIwMDktMDQtMzAgMTQ6MTg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGRvbid0IEVPUyB3aGVuIHRoZSBzdWJ0aXRsZSBnb3QgRU9TCgkgIERvbid0IGZvcndhcmQgdGhlIEVPUyBvbiB0aGUgc3VidGl0bGUgcGFkIGFzIHRoZSB2aWRlbyBtaWdodCBzdGlsbCBiZSBydW5uaW5nLgoKMjAwOS0wNC0zMCAxMzo0NTozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogY29kZSBjbGVhbnVwIGFuZCBwbHVnIG92ZXJsYXkgYXMgbmVlZGVkCgkgIFBsdWdnaW4gdGhlIHRleHQtb3ZlbGF5IGNhdXNlcyBzb21lIHNsb3dkb3ducyBhbmQgbWlnaHQgbmVlZCBhIGNvbG9yc3BhY2UKCSAgY29udmVydGVyLiBXZSBub3cgb25seSBjaGVjayB0aGUgdGV4dC1vdmVybGF5IHByb3BlcnR5IHdobmUgZ29pbnQgdG8gcmVhZHkgYW5kCgkgIHBsdWcgb3IgdW5wbHVnIHRoZSB0ZXh0LW92ZXJsYXkgYXQgdGhhdCB0aW1lLiBJZiB0aGUgcHJvcGVydHkgY2hhbmdlcyBkdXJpbmcKCSAgcGxheWluZywgaXRzIG5vdCBzd2l0Y2hlZCBpbW1lZGlhdGVseS4KCjIwMDktMDQtMzAgMDA6MDY6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICB4MjY0ZW5jOiBhZGQgcHJlc2V0IHN1cHBvcnQKCSAgQWRkIHByZXNldCBpZmFjZSBhbmQgYSAoZHVtbXkpIHByZXNldCBmaWxlIGFzIGEgc3RhcnRpbmcgcG9pbnQuCgoyMDA5LTA0LTI2IDIxOjI2OjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENvbnZlcnQgc29tZSBnX3ByaW50IHRvIEdTVF9MT0dfT0JKRUNUIGFuZCBmcmllbmRzLCByZW1vdmUgc29tZSBvdGhlcnMKCSAgVHJpbSBkb3duIHRoZSBnX3ByaW50IHZlcmJvc2l0eS4KCjIwMDktMDQtMjYgMjE6Mjk6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIERWREZBU1RTVEFSVCBlbnYgdmFyIHRvIG1ha2luZyBzb21lIHRlc3RpbmcgZWFzaWVyCgoyMDA5LTA0LTI0IDE0OjA4OjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcmVkdW5kYW50IG1vZHVsbyBvcGVyYXRpb24gaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDQtMjQgMTQ6MDc6MzAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYXAgYXVkaW8gYW5kIHN1YnBpY3R1cmUgbG9naWNhbCBzdHJlYW1zIHRvIHBoeXNpY2FsLgoJICBUaGUgbG9naWNhbCBhdWRpbyBhbmQgc3VicGljdHVyZSBzdHJlYW0gbnVtYmVyIGRvZXNuJ3QgYWx3YXlzIGNvcnJlc3BvbmQKCSAgd2l0aCB0aGUgcGh5c2ljYWwgc3Vic3RyZWFtIGl0IGlzIGNvbWluZyBmcm9tLiBXaGVuIGNvbmZpZ3VyaW5nIHRoZSBkZW11eGVyCgkgIHBhZHMsIHVzZSB0aGUgbWFwcGluZyB0YWJsZSBwcm92aWRlZCBpbiBlYWNoIFBHQyB0byBnZXQgdGhlIGxheW91dCBhbmQKCSAgZW5zdXJlIHRoZSBkZW11eGVyIGNyZWF0ZXMgdGhlIGNvcnJlY3QgcGFkcy4KCjIwMDktMDQtMjkgMTg6NTI6MjAgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA3ODYuCgoyMDA5LTA0LTI5IDE2OjU3OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgeDI2NGVuYzogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBvbiBwcm9maWxlCgoyMDA5LTA0LTI5IDEzOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBTZXQvcmVxdWlyZSB0aGUgZnJhbWVkL3BhcnNlZCBmaWVsZHMgb2YgdGhlIGF1ZGlvL21wZWcgY2FwcyB0byBUUlVFCgoyMDA5LTA0LTI5IDEzOjE2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogQWx3YXlzIHdyaXRlIGF0IGxlYXN0IHRoZSBtaW5pbWFsIHRhZ3MgYW5kIHdyaXRlIHRoZSBQQVIgYXMgdGFncwoKMjAwOS0wNC0yOSAxMzowMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc29tZSB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgdGFnCgoyMDA5LTA0LTI5IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBGaXggcGFyc2luZyBvZiB0YWdzIGFuZCBhZGQgbmV3IG1hcHBpbmdzCgkgIFdlIHNob3VsZG4ndCByZWdpc3RlciBhIG5ldyBHc3RUYWcgZm9yIGV2ZXJ5IHVua25vd24gdGFnCgkgIHdlIGZpbmQgYXMgdGhpcyBtaWdodCBsZWFkIHRvIGNvbmZsaWN0cyBhbmQgYWxzbyB0aG9zZQoJICB0YWdzIGFyZSBlc3NlbnRpYWxseSB1bmtub3duLgoJICBBZGQgbWFwcGluZ3MgZm9yIHNvbWUga25vd24gdGFncyBhbmQgYWxzbyBjb252ZXJ0IHN0cmluZwoJICBkYXRlcyB0byBHRGF0ZSwgYXMgZm91bmQgaW4gbWFueSBGTFYgZmlsZXMuCgoyMDA5LTA0LTI4IDE2OjEwOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlamVjdCB3cm9uZyBjYXBzCgoyMDA5LTA0LTI4IDE2OjAzOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI4IDE1OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgkgIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI3IDExOjA5OjA4ICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogbWFrZSBXQVJOSU5HIGludG8gTE9HCgkgIFNpbmNlIG5laXRoZXIgcnRwbWFuYWdlciBub3IgYW55IG9mIHRoZSBwYXlsb2FkZXJzIHByb3Blcmx5IGltcGxlbWVudAoJICBwYWQgYWxsb2NhdGlvbiwgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgcnRwbWFuYWdlciB0byBpbmZvcm0gZG93bnN0cmVhbSBlbGVtZW50cwoJICBvZiB0aGUgbmV3IFNTUkMgaWYgdGhlcmUgaXMgYW4gU1NSQyBjb2xsaXNpb24uIFNvIHRoZSB3YXJuaW5nIGlzIGVtaXR0ZWQgYWxsIHRoZQoJICB0aW1lIGFuZCBpdCBpcyBjb25mdXNpbmcuCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTE6MDY6MDEgKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBub3RpZnkgd2hlbiBTU1JDIGNoYW5nZXMKCSAgRW1pdCBhIGdfb2JqZWN0X25vdGlmeSB3aGVuIHRoZSBTU1JjIGNoYW5nZXMgYmVjYXVzZSBvZiBhIGNvbGxpc2lvbi4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMDowNDo1MSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICBBZGQgbmV3IHBsdWdpbiB0byBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIGhlYWRlciB0byBnc3QvZGNjcC9NYWtlZmlsZS5hbQoKMjAwOS0wNC0yNSAwMDo0NDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0cyBiaW5hcmllcwoKMjAwOS0wNC0yNSAwMDo0Mjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IGRpc3QgbGliZ3N0ZHNob3cuZGVmIGJ5IGFkZGluZyBpdCB0byB3aW4zMi9NQU5JRkVTVAoJICBGaXhlcyAjNTc4NTYzLgoKMjAwOS0wNC0yNCAxODo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBDaGFuZ2VzIHNyYyBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtaXNvLW1wNAoJICBGaXhlcyAjNTgwMDA1CgoyMDA5LTA0LTI0IDE2OjAxOjQ0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBDb21taXQgdGhlIHdpbjMyIGNvbmZpZyB3aXRoIGJ1bXBlZCB2ZXJzaW9uIG51bWJlci4KCSAgU2hvdWxkIGhhdmUgY29tbWl0dGVkIHRoaXMgd2hlbiBJIHVuZnJvemUgdGhlIGJ1aWxkIGxhc3QgdGltZSwgc29ycnkuCgoyMDA5LTA0LTI0IDE0OjUxOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGV4Y2x1ZGUgcnNuZHZkYmluIGZyb20gdGhlIHN0YXRlcyB0ZXN0CgoyMDA5LTA0LTI0IDE1OjQyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IGZpeCBjb25maWd1cmUgdG8gdXNlIHByb3BlciBzaGVsbCBzeW50YXguIGZpeGVzICM1ODAwOTEKCjIwMDktMDQtMjMgMTc6MzM6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogRml4IGNvbXBpbGF0aW9uIG9uIG5ld2VyIGxpYlNvdW5kVG91Y2gKCSAgTmV3ZXIgbGlic291bmR0b3VjaCByZXF1aXJlcyB0aGF0IHdlIGluY2x1ZGUgYW4gZXh0cmEgaGVhZGVyIHRoYXQgd2Fzbid0CgkgIHByZXZpb3VzbHkgcmVxdWlyZWQsIHNvIGRlZmluZSBIQVZFX1NPVU5EVE9VQ0hfMV80IGZvciBuZXdlciBidWlsZHMgc28gdGhhdCBpdAoJICBnZXRzIGluY2x1ZGVkLgoKMjAwOS0wNC0yMCAxMTozODowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogbW9yZSBjbGVhbnVwcwoJICBVc2Ugbm9ybWFsIGdzdC1kZWZpbmVzIGluIFBMVUdJTl9ERUZJTkUuIFNob3J0ZW4gX3N0YXJ0L3N0b3AgbWV0aG9kIG5hbWVzLgoJICBNb3JlIGlkZWFzLiBNb3ZlIGRlYnVnIGNhdGVnb3J5LWluaXQgZG93biB0byBwbHVnaW4taW5pdC4KCjIwMDktMDQtMjAgMDk6NTE6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHVzZSBhIG5pY2VyIGZvbnQgZmFtaWx5CgoyMDA5LTA0LTIwIDEwOjI0OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiB2YXJpb3VzIGNsZWFudXBzLCBkb2NzIGFuZCBjb21tZW50cwoJICBSZW1vdmUgdW51c2VkIGJhc2VfaW5pdC4gQWRkIGJhc2ljIGRvYyBibG9iLiBSZXVzZSBxdWVyeSBvYmplY3QuIFJlbmFtZQoJICB2YXJpYWJsZXMgZm9yIGNsYXJpdHkuIEFkZCBjb21tZW50cyBhbmQgVG9Eb3MuCgoyMDA5LTA0LTIwIDA5OjQ5OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiByZW1vdmUgaWZhY2UgcHJveHkKCSAgV2hlbiB3ZSBnZXQgYnVzIG1lc3NhZ2VzIGZvciBzZXR0aW5nIHRoZSB4aWQsIHdlIGhhdmUgdGhlIHJlYWwgc2luayBlbGVtZW50CgkgIGluc3RhbmNlIGFzIG1lc3NhZ2Vfc3JjLiBObyBuZWVkIHRvIHByb3h5IHRoZSB4b3ZlcmxheSBpZmFjZSB0aGVyZWZvcmUKCSAgKGF1dG92aWRlb3NpbmsgZG9lcyBub3QgZG8gaXQgZWl0aGVyKS4gQWxzbyB3ZSBkb24ndCBuZWVkIHRvIHJld3JpdGUgdGhlCgkgIG1lc3NhZ2Ugc3JjIG9mIGFsbCBtZXNzYWdlcyBmcm9tIHRoYXQgc2luay4KCjIwMDktMDQtMjMgMTE6MDQ6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0LXNlbGVjdG9yOiBGb3J3YXJkIHNlZ21lbnQgZXZlbnRzIGZvciB0aGUgYWN0aXZlIHBhZCBpbW1lZGlhdGVseS4KCSAgV2hlbiBhIHNlZ21lbnQgZXZlbnQgaXMgcmVjZWl2ZWQgb24gdGhlIGFjdGl2ZSBwYWQsIGZvcndhcmQgaXQgZG93bnN0cmVhbQoJICBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIGRlZmVycmluZyBpdCB1bnRpbCB0aGUgbmV4dCBkYXRhIGJ1ZmZlciBhcnJpdmVzLiBUaGlzCgkgIGZpeGVzIHByb2JsZW1zIHdpdGggc2VnbWVudCB1cGRhdGVzIG5ldmVyIGJlaW5nIHNlbnQgZG93bnN0cmVhbSwgbGlrZSB0aG9zZQoJICBuZWVkZWQgZm9yIHNwYXJzZSBzdHJlYW1zLCBvciBmb3IgY2xvc2luZyBwcmV2aW91c2x5IG9wZW5lZCBzZWdtZW50cy4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBEVkQgbWVudXMgd2l0aCBhIHN0aWxsIHZpZGVvIGZyYW1lIGFuZCBhbiBhdWRpbyB0cmFjaywKCSAgZm9yIGV4YW1wbGUuCgkgIEZpeGVzOiAjNTc3ODQzCgoyMDA5LTA0LTIyIDE4OjAxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB3YXJuaW5nCgoyMDA5LTA0LTIwIDIwOjAwOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBkaWZmZXJlbnQgY2FwcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0CgoyMDA5LTA0LTIyIDE2OjI1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE9ubHkgZnJlZSBwYWQgcHJpdmF0ZSB3aGVuIHBhZCBpcyBkaXNwb3NlZAoKMjAwOS0wNC0yMiAxOTo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIGZsdm11eCBhbmQgZmx2ZGVtdXgKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNzM3LgoKMjAwOS0wNC0yMiAxOTo0NTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGY6IE1hcmsgbW9zdCBmaWVsZHMgb2YgdGhlIGluc3RhbmNlIHN0cnVjdCBhcyBwcml2YXRlCgoyMDA5LTA0LTIyIDE5OjQzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNC0yMiAxOToyNDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZwc2Rpc3BsYXlzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmOiBBZGQgZG9jdW1lbnRhdGlvbiB0byBteGZtdXggYW5kIHVwZGF0ZSB0aGUgZG9jcwoKMjAwOS0wMy0xOSAxNTozNzoxNyAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IFVzZSBjb3JyZWN0IGhlYWRlciBmaWxlCgkgIG1vZHBsdWcncyBzbmRmaWxlLmggY29uZmxpY3RzIHdpdGggbGlic25kZmlsZSdzIHNuZGZpbGUuaCwgc28KCSAgd2UnbGwgYWNjZXNzIGl0IGRpcmVjdGx5IHVzaW5nIG1vZHBsdWcvc25kZmlsZS5oLiAgRml4ZXMgIzU3Mzg0OQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTU6Mjk6MDQgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBtNC9nc3Qtc2RsLm00OgoJICBzZGw6IFVzZSBTREwgc3RhdGljLWxpYnMgZm9yIGNvbmZ0ZXN0CgkgIEZpeGVzOiAjNTczODQ3LiAgVGhpcyBmaXhlcyBidWlsZGluZyB3aXRoIFNETCBvbiBXaW5kb3dzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTQ6NTU6MjYgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogR2V0IG51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHdpbjMyCgkgIEZpeGVzICM1NzM4NDguCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNDo0OToxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IEFkZCBwa2djb25maWcgY2hlY2sgZm9yIHNvdW5kdG91Y2gtMS40CgkgIEZpeGVzICM1NzM4NDYuCgoyMDA5LTAyLTI2IDE0OjE4OjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgQWRkIGludGVybGFjZWQgc3VwcG9ydCB0byB2aWRlb3BhcnNlCgkgIEFkZCBhIHZpcnR1YWwgbWV0aG9kIGluIHJhd3BhcnNlIHRvIHNldCBidWZmZXIgZmxhZ3MuICBUaGlzIGRvZXNuJ3QKCSAgdXNlIEFQSSBmcm9tIHVucmVsZWFzZWQgLWJhc2UsIHNpbmNlIGl0IGRlZmluZXMgR1NUX1ZJREVPX0JVRkZFUl9URkYKCSAgaWYgaXQncyBub3QgZGVmaW5lZCB5ZXQuCgoyMDA5LTA0LTIxIDIyOjEzOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzOTQxZWEgdG8gNmFiMTFkMQoKMjAwOS0wNC0yMSAxMzoyNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdydHBtdXgtZml4ZXMnCgoyMDA5LTA0LTIxIDE2OjQ4OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBJZiB0aGUgY29ubmVjdGlvbiBmYWlscywgZW1pdCBhIHJlZGlyZWN0aW9uIG1zZyB0byB0aGUgcnRzcCBlcXVpdmFsZW50LgoJICBUaGlzIHNob3VsZCBoZWxwIGZpeCB0aGUgaXNzdWUgd2l0aCBXaW5kb3dzIE1lZGlhIFNlcnZlciB1c2luZyBydHNwLi4uIGJ1dAoJICBzdGlsbCBkZWNsYXJpbmcgdGhlIHN0cmVhbSB3aXRoIG1tczovLwoKMjAwOS0wNC0yMSAxNjowODo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogT25seSBlcnJvciBvdXQgYXQgRU9TIHB1c2ggZmFpbHVyZSBpZiB3ZSBkb24ndCBoYXZlIGFueSBzdHJlYW1zLgoJICBUaGlzIHNob3VsZCByZW1vdmUgdGhlIGJvZ3VzIGVycm9yIG1lc3NhZ2VzIHdoaWxlIHN0aWxsIGtlZXBpbmcgdGhlIG9yaWdpbmFsCgkgIGludGVudCBvZiB0aGlzLCB3aGljaCBpcyB0byBpbmZvcm0gdGhlIHBpcGVsaW5lL2FwcGxpY2F0aW9uL3VzZXIgdGhhdCB3ZQoJICBjb3VsZCBub3QgZmluZCBhbnkgdmFsaWQgc3RyZWFtcy4KCSAgVGhlcmUgYXJlIG1hbnkgcmVhc29ucyB3aHkgcHVzaGluZyBhbiBldmVudCBjYW4gZmFpbCwgYW5kIG5vdCBhbGwgb2YgdGhlbSBhcmUKCSAgYmVjYXVzZSB0aGVyZSdzIG5vIGxpbmsgZG93bnN0cmVhbSAoaXQgY291bGQgYmUgYmVjYXVzZSBpdCB3YXMgYmxvY2tlZCwgb3IKCSAgZmx1c2hpbmcpLgoKMjAwOS0wNC0xMCAxOToyNDoyNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBoYWNrIHNwZWNpZmljIGZvciBpdHZoZAoJICBpdHZoZCBtYXNrcyBpdHMgaDI2NCB2aWRlbyBzdHJlYW0gYXMgYSBwcml2YXRlIHN0cmVhbSBtYWtpbmcgaXQgaGFyZGVyIGZvcgoJICBvdGhlciBzZXQgdG9wIGJveGVzIHRvIGRlY29kZS4gdGhpcyBjaGVja3MgZm9yIHNwZWNpZmljIHByb2dyYW0gbnVtYmVyLCB2aWRlbwoJICBwaWQgYW5kIHN0cmVhbSB0eXBlIGNvbWJpbmF0aW9uIGJlZm9yZSBkZWNsYXJpbmcgaXQgYXMgaDI2NC4KCjIwMDktMDQtMTAgMTk6MDY6NTUgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGRldGVjdCBBQzMgc3RyZWFtcyBpbiBQTVQgdGFibGUKCSAgYWRkICdoYXMtYWMzJyBib29sZWFuIHRvIHBtdCBidXMgbWVzc2FnZQoKMjAwOS0wNC0xMCAwMToxNjozMCArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgaXR2IGhkIGhhY2sKCjIwMDktMDQtMTAgMDE6MTE6MDEgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGhhY2sgZm9yIGl0dmhkIHNpZCB0byBkZXRlY3QgbXBlZzEgYXMgaDI2NAoKMjAwOS0wNC0yMCAxODo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgdXNlbGVzcyBjYXBzIG1hbmdsaW5nCgoyMDA5LTA0LTIwIDE4OjM2OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSB2YXJpYWJsZSBmb3IgbW9yZSBjbGFyaXR5CgoyMDA5LTA0LTIwIDE3OjQzOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgR1NUX0JPSUxFUlBMQVRFCgoyMDA5LTA0LTIwIDE3OjQyOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG8gdGhlIGluY2x1ZGVzIGxvY2FsbHkKCjIwMDktMDQtMjAgMTY6MzQ6MzAgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkgIHBhdGNoIG92ZXIgbG9naWMgZXJyb3JzIGluIG9zeHZpZGVvc3JjCgkgIGFwcGxlJ3MgY29tcGlsZXIgY2FycHMsIHdpdGggcmVhc29uLCBhYm91dCBzb21lIGNvbnN0cnVjdHMgaW4gb3N4dmlkZW9zcmMuYwoJICBmaXggdGhlbS4KCSAgYWxzbyBpdCBzZWVtcyB0aGF0IGZvciBzb21lIHJlYXNvbiB0aGlzIHJlcXVpcmVkIGEgZ3N0LWluZGVudCBydW4uIHdoZWUKCjIwMDktMDQtMjAgMTM6MDk6NDYgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBhZGQgb3N4dmlkZW9zcmMKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbTogQXV0b2NvbmZpc2NhdGlvbi4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4ubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzogQWRkIG9zeHZpZGVvc3JjLiBTaG91bGQgZml4ICMxNTM2ODQuCgkgIFBhdGNoLWJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICBQYXRjaC1ieTogQWxpIFNhYmlsIDxhbGkuc2FiaWxAdGFuZGJlcmcuY29tPgoJICBQYXRjaC1ieTogQmFycmFjdWRhIE5ldHdvcmtzIDxqdXN0aW5AYWZmaW5peC5jb20+CgoyMDA5LTA0LTE5IDE3OjE4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgaW50ZXJsYWNpbmcgYXV0b2RldGVjdGlvbiBvciB0byBlbmZvcmUgZGVpbnRlcmxhY2luZwoJICBGb3IgdGhpcyBhZGQgYSAibW9kZSIgcHJvcGVydHkgdGhhdCBkZWZhdWx0cyB0byAiaW50ZXJsYWNlZCIgZm9yIG5vdyBhcwoJICBtb3N0IGRlY29kZXJzL2RlbXV4ZXJzIGRvbid0IHByb3Blcmx5IHNldCB0aGUgImludGVybGFjZWQiIGZpZWxkIG9uIHRoZQoJICBjYXBzIHlldC4KCSAgSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gImF1dG8iIHRoZSBlbGVtZW50IHdpbGwgd29yayBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHVubGVzcyB0aGUgY2FwcyBjb250YWluIHRoZSAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDA5LTA0LTE4IDIzOjQyOjU3ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbGVhayBvZiBHU1RfVFlQRV9MSVNUIGd2YWx1ZQoKMjAwOS0wNC0xOCAxMzowOToyMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBsZWFrIGluIHNyY19wYWRfcXVlcnkKCjIwMDktMDQtMTcgMTY6MTY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGpvaW4gdGhlIFJUQ1AgdGhyZWFkCgkgIEF2b2lkIGEgY2FzZSB3aGVyZSBhIGpvaW5hYmxlIHRocmVhZCB3b3VsZCBiZSBsZWZ0IHVuam9pbmVkLCB3aGljaCBsZWFrZWQgdGhlCgkgIHRocmVhZCBzdHJ1Y3R1cmUuCgkgIEZpeGVzICM1NzczMTguCgoyMDA5LTA0LTE3IDE1OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogVXNlIEdTVF8oREVCVUd8V0FSTklOR3xFUlJPUilfT0JKRUNUIGluc3RlYWQgb2YgdGhlIG5vbi1PQkpFQ1Qgb25lcwoKMjAwOS0wNC0xNyAxNTozOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IFJlc2V0IGhpc3RvcnkgaWYgRElTQ09OVCBpcyBzZXQgb24gdGhlIGluY29taW5nIGJ1ZmZlcgoKMjAwOS0wNC0xNyAxNTozOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEZpeCB0aW1lc3RhbXBzIGZvciBidWZmZXJzIHdpdGggUkZGIGZsYWcgc2V0CgoyMDA5LTA0LTE2IDIyOjE0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBQcm9wZXJseSBoYW5kbGUgdGhlIG5ldyBpbnRlcmxhY2VkIHN1cHBvcnQgZnJvbSBsaWJnc3R2aWRlbyBmb3IgKGRlKW11eGluZwoKMjAwOS0wNC0xNiAxNzo0MTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2UyOiBSZW5hbWUgbGluZV9sZW5ndGggdG8gcm93X3N0cmlkZSBhbmQgcmVtb3ZlIG91dHB1dF9zdHJpZGUKCjIwMDktMDQtMTYgMTU6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgUkZGIGFuZCBPTkVGSUVMRCBidWZmZXIgZmxhZ3MKCjIwMDktMDQtMTYgMTg6MzY6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBhZGQgYSBpbml0aWFsIHBvcnQgb2YgYSBzaW5rIHdpdGggZnBzIGRpc3BsYXkKCSAgVGhpcyBub3cgd29ya3Mgd2l0aCBhIGV2ZW50IHByb2JlLiBOZWVkcyBzb21lIGV4dHJhIHdvcmsuCgoyMDA5LTAzLTA5IDE4OjIyOjI4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFuIHVwIGFuZCBmaXggYXNzZXJ0aW9uIGZhaWwgd2hlbiBzZXR0aW5nIHpvb20gaW4gTlVMTCBzdGF0ZQoKMjAwOS0wMy0wOSAxODozMTowNyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZm9ybWF0IG1hdGNoaW5nIHdoZW4gZGV0ZWN0aW5nIGFsbG93ZWQgZnJhbWUgcmF0ZQoKMjAwOS0wMy0wOSAxODoyNTo0OCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb3NlIHBlbmRpbmcgc3RhdGUgd2hlbiBjaGFuZ2luZyByZXNvbHV0aW9uCgoyMDA5LTAyLTI3IDE3OjEyOjM4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNoYW5nZSBpbWctZG9uZSBzaWduYWwgcGFyYW1ldGVyIGZyb20gR1N0cmluZyogdG8gY29uc3QgZ2NoYXIqCgkgIERvbid0IGFsbG93IHNldHRpbmcgZmlsZW5hbWUgdmlhIGltZy1kb25lIHNpZ25hbCBwYXJhbWV0ZXIgYnV0IGZvcmNlIGFwcAoJICB1c2UgZmlsZW5hbWUgcHJvcGVydHkuIERvbid0IHN0b3AgY2FwdHVyZSB3aGVuIHNldHRpbmcgZmlsZW5hbWUgcHJvcGVydHkuCgkgIFVwZGF0ZSBjaGVjayB1bml0IHRlc3QgYmFzZWQgb24gdGhlIGNoYW5nZS4KCjIwMDktMDQtMTUgMTM6MjM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUnMKCjIwMDktMDQtMTUgMTM6MTU6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIGxvY2tlZCBwYWQgb24gcmVsZWFzZV9wYWQKCSAgUmVsZWFzZSB0aGUgc3BlY2lhbCBwYWQgaWYgdGhlIHBhZCBpcyByZW1vdmVkIGZyb20gdGhlIG11eGVyLgoKMjAwOS0wNC0xNSAxMzowOToyNyAtMDQwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2Ugc3BlY2lhbCBvbiBwYWQgZGlzcG9zZQoJICBGaXhlcyAjNTc3NjkwCgoyMDA5LTA0LTE1IDE4OjE0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJldmVudCBvdmVyZmxvdyBpbiBFT1MgZXN0aW1hdGlvbgoJICBVc2UgYSBndWludDY0IGluc3RlYWQgb2YgYSBndWludCB0byBob2xkIGEgNjRiaXQgdmFsdWUgdG8gcHJldmVudCBjb21wbGV0ZWx5CgkgIGJvZ3VlcyBFT1MgZXN0aW1hdGlvbiB2YWx1ZXMgZHVlIHRvIG92ZXJmbG93cy4KCjIwMDktMDQtMTUgMTc6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogd2Ugc2hvdWxkIG5vdCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlIGEgY2xvY2suCgoyMDA5LTA0LTE1IDE3OjI4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW9yZSBlc3RpbWF0ZWQgRU9TIGZpeGVzCgkgIERvIG1vcmUgYWNjdXJhdGUgRU9TIGVzdGltYXRlIGFuZCBndWFyZCBhZ2FpbnN0IGJhY2t3YXJkIHRpbWVzdGFtcHMuCgoyMDA5LTA0LTE1IDE3OjI1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBNYWtlIHN1cmUgd2UgcmVsZWFzZSB0aGUgaml0dGVyYnVmZmVyIGxvY2sgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEKCSAgYmVjYXVzZSBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAwOS0wNC0xNSAxNTo0Njo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBkZWludGVybGFjZTI6IE1vdmUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgdG8gYSBmdW5jdGlvbiBwYXJhbWV0ZXIKCjIwMDktMDQtMTUgMTU6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIHRoZSBmaWVsZCBvcmRlcgoKMjAwOS0wNC0xNSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEFkZCBzdXBwb3J0IGZvciBZVllVIGNvbG9yc3BhY2UKCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBZVVkyIHdpdGgganVzdCBDciBhbmQgQ2Igc3dhcHBlZC4gQXMKCSAgd2UgZG9uJ3QgbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIHdoZW4gZGVpbnRlcmxhY2luZwoJICB0aGlzIHdvcmtzLgoKMjAwOS0wNC0xMyAxMzozMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFNtYWxsIGNsZWFudXAKCjIwMDktMDQtMTAgMTg6MDA6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWM6IGZpeCBjb21waWxhdGlvbiB3aXRoIHRoZSBkZWJ1Z2dpbmcgc3lzdGVtIGRpc2FibGVkCgkgIE9uZSBHU1RfREVCVUdfQ0FURUdPUllfSU5JVCBzaG91bGQgYmUgZW5vdWdoIGFueXdheS4KCSAgRml4ZXMgIzU3ODU2MiAoc3BvdHRlZCBieSBEYXZpZCBIb3l0KS4KCjIwMDktMDQtMDkgMjM6NTM6MzkgKzAyMDAgIEphbmluIEtvbGVuYyA8amFuaW4ua29sZW5jIGF0IG1hcmFuZC5zaT4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICB4MjY0ZW5jOiBhZGQgZm9yY2Uga2V5ZnJhbWUgZXZlbnQgaGFuZGxpbmcKCSAgVXNlIHRoZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQgdG8gZm9yY2UgYSBrZXlmcmFtZS4KCSAgRml4ZXMgIzU3ODExMi4KCjIwMDktMDQtMDggMTE6NTI6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBhY21lbmMsIGFjbW1wM2RlYywgc2RwOiBsaW5rIHRvIGFsbCByZXF1aXJlcyBsaWJyYXJpZXMgb24gd2luMzIuCgkgIEFkZCB3aW5zb2NrIGZvciB3aW5kb3dzIChmb3Igc2RwKS4gTGluayB0byBhbGwgdGhlIHBsdWdpbnMtYmFzZQoJICBsaWJzIHdlIGluZGlyZWN0bHkgdXNlIGZvciBhY21tZW5jIGFuZCBhY21tcDNkZWMuCgoyMDA5LTA0LTA3IDE1OjUwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGlmIG14Zm11eCAhIG14ZmRlbXV4IHBpcGVsaW5lcyBhcmUgd29ya2luZyB3aXRob3V0IGVycm9ycwoKMjAwOS0wNC0wNyAxNTo0OTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgaW52YWxpZCBidWZmZXIgb2Zmc2V0cywgaW5zdGVhZCBhc3N1bWUgb2Zmc2V0ID09IDAKCjIwMDktMDQtMDcgMTU6NDU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBjb21wYXJpc29uCgoyMDA5LTA0LTA3IDE1OjE5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIFVzZSBVTCBkYXRhYmFzZSBmb3IgYWxsIG1ldGFkYXRhIFVMcwoKMjAwOS0wNC0wNyAwNDo1MzowMiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzbGlnaHRseSBicm9rZW4gYnVmZmVyLWluLXNlZ21lbnQgY2hlY2sgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKQoKMjAwOS0wNC0wNSAwMzo1MDoxOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBwdXNoIG1vZGUgc2Vla2luZyAoYWFjcGFyc2UsIGFtcnBhcnNlKQoJICBTZW5kaW5nIHRoZSBmbHVzaC1zdGFydCBldmVudCBmb3J3YXJkIGJlZm9yZSB0YWtpbmcgdGhlIHN0cmVhbSBsb2NrIGFjdHVhbGx5CgkgIHdvcmtzLCBpbiBjb250cmFzdCB0byBkZWFkbG9ja2luZyBpbiBkb3duc3RyZWFtIHByZXJvbGxfd2FpdCAoaHVuayAxKS4KCSAgQWZ0ZXIgdGhhdCB3ZSBnZXQgdGhlIGNoYWluIGZ1bmN0aW9uIGJlaW5nIHN0dWNrIGluIGEgYnVzeSBsb29wLiBUaGlzIGlzIGZpeGVkCgkgIGJ5IHVwZGF0aW5nIHRoZSBtaW5pbXVtIGZyYW1lIHNpemUgaW5zaWRlIHRoZSBzeW5jaHJvbml6YXRpb24gbG9vcCBiZWNhdXNlIHRoZQoJICBzdWJjbGFzcyBhc2tzIGZvciBtb3JlIGRhdGEgaW4gdGhpcyB3YXkgKGh1bmsgMikuCgkgIEZpbmFsbHksIHRoaXMgbGVhZHMgdG8gYSB2ZXJ5IHByb2JhYmxlIGNyYXNoIGJlY2F1c2UgdGhlIHN1YmNsYXNzIGNhbiBmaW5kIGEKCSAgdmFsaWQgZnJhbWUgd2l0aCBhIHNpemUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGRhdGEgaW4gdGhlCgkgIGFkYXB0ZXIuIFRoaXMgbWFrZXMgdGhlIHN1YnNlcXVlbnQgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgY2FsbCByZXR1cm4gTlVMTCwKCSAgd2hpY2ggaXMgbm90IGV4cGVjdGVkIChodW5rIDMpLgoKMjAwOS0wNC0wNCAyMToxOToxMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQwZWE4OWUgdG8gYjM5NDFlYQoKMjAwOS0wNC0wNCAxNzo1MTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IGZpeCBzb21lIHJlZmNvdW50IG1pc3Rha2VzIGFuZCBkbyBzb21lIGNsZWFuaW5nIHVwCgkgIE5vIG5lZWQgdG8gdW5yZWYgYnVmZmVycyBpZiBwYWRfcHVzaCByZXR1cm5zIHNvbWV0aGluZyBub24tRkxPV19PSy4KCSAgSW4gZmFjdCwgdGhpcyB3aWxsIGNhdXNlIGFzc2VydGlvbnMgb3IgY3Jhc2hlcy4gSG93ZXZlciwgd2UgZG8gbmVlZAoJICB0byB1bnJlZiB0aGUgaW5wdXQgYnVmZmVyIHdoZW5ldmVyIHdlIGRvbid0IHBhc3MgaXQgZG93bnN0cmVhbS4gQWxzbywKCSAgYSBub24tT0sgZmxvdyByZXR1cm4gaXMgbm90IGFuIGVycm9yLCBzbyBkb24ndCBwb3N0IGVycm9yIG1lc3NhZ2VzIG9uCgkgIHRoZSBidXMgLSB0aGUgcGlwZWxpbmUgbWF5IGp1c3QgYmUgc2h1dHRpbmcgZG93bi4gTWlzY2VsbGFuZW91cyBvdGhlcgoJICBjbGVhbi11cHMgYW5kIGNyYWNrIHJlbW92YWwuIFBsZW50eSBvZiB3b3JrIGxlZnQgZm9yIHRob3NlIHdobyBmZWVsCgkgIGxpa2UgaXQuCgoyMDA5LTA0LTA0IDE0OjU0OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOGIzZDkxIHRvIGQwZWE4OWUKCjIwMDktMDQtMDMgMjM6MTA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBkdmRuYXYgdmVyc2lvbiBjaGVjawoJICBGaXhlcyAjNTc3ODY0LiBUaGlzIHRpbWUgZm9yIHJlYWwuCgoyMDA5LTA0LTAzIDE3OjU1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiByZXF1aXJlIGxpYmR2ZG5hdiA+PSA0LjEuMiBmb3IgZHZkbmF2X2dldF9jdXJyZW50X3RpbWUoKQoJICBGaXhlcyAjNTc3ODY0LgoKMjAwOS0wNC0wMyAxMDoyOTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBtaXNjOiBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIyLjEKCjIwMDktMDQtMDEgMTc6NDE6NDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU2VuZCBib3RoIHRoZSBsb2dpY2FsIGFuZCBwaHlzaWNhbCBzdWJzdHJlYW0gSUQgaW4gdGhlIHN0cmVhbSBjaGFuZ2UuCgkgIFdoZW4gc2VuZGluZyB0aGUgc3RyZWFtIGNoYW5nZSBtZXNzYWdlKHMpIHRvIHRoZSBkZW11eGVyLCBhbHNvIGluY2x1ZGUgdGhlCgkgIGxvZ2ljYWwgc3RyZWFtIGlkIGFsb25nIHdpdGggdGhlIHBoeXNpY2FsIElELCBzbyB0aGF0IHRoZSBkZW11eGVyIGNhbiByZW1hcAoJICBsb2dpY2FsLT5waHlzaWNhbCBNUEVHIHN0cmVhbSBJRC4KCjIwMDktMDQtMDEgMDI6MjM6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogVXNlIG5ldyBHc3ROYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkuCgkgIEhhbmRsZSB0aGUgbmV3IERWRCBjb21tYW5kcywgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIGNvbW1hbmRzIGZyb20gYSBwbGF5ZXIKCSAgdG8gY2hhbmdlIGFuZ2xlLCBqdW1wIHRvIG1lbnVzIGV0Yy4gVXNlIHRoZSBuZXcgR3N0TmF2aWdhdGlvbiBldmVudCBwYXJzaW5nCgkgIGZ1bmN0aW9ucywgaW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBzdHVmZi4KCSAgU2VuZCBHc3ROYXZpZ2F0aW9uIG5vdGlmaWNhdGlvbiBtZXNzYWdlcyB3aGVuIHRoZSBtb3VzZSBlbnRlcnMgYSBidXR0b24KCSAgb3IgbGVhdmVzIGl0LCBzbyBVSSBjYW4gdHVybiB0aGUgbW91c2UgY3Vyc29yIHRvIGEgaGFuZCBpY29uLgoKMjAwOS0wMy0zMCAwMTowNzo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogU3dpdGNoIHRvIHVzaW5nIGEgaGFyZC1jb2RlZCBtcGVnMmRlYywgYW5kIGNoYW5nZSBwYWQgYmxvY2tpbmcgYSBiaXQuCgkgIENoYW5nZSB0aGUgcGFkIGJsb2NraW5nIGJlaGF2aW91ciBkdXJpbmcgc3RhcnR1cCwgYW5kIHVzZSBhIGhhcmQtY29kZWQgbXBlZzJkZWMgKGZvciB0aGUgbW9tZW50KSwgaW4gb3JkZXIgdG8gbWFrZSB0aGluZ3Mgd29yayB3aXRoIHBsYXliaW4yLgoKMjAwOS0wMy0yNSAxMjozMToxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgbmV3bGluZSB0byBkZWJ1ZyBnX3ByaW50IHN0YXRlbWVudAoKMjAwOS0wMy0yNSAwMjoyMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYWtlIGhpZ2hsaWdodHMgd29yayB3aGVuIGp1bXBpbmcgaW50byBtZW51cwoJICBNYWtlIHRoZSBoaWdobGlnaHRzIHJlLWFwcGVhciBjb3JyZWN0bHkgd2hlbiBqdW1waW5nIGJhY2sgaW50byBtZW51cwoJICBieSBtYWtpbmcgc3VyZSB0byBzZXQgdGhlIGZsdXNoaW5nX3NlZWsgZmxhZyBmb3IgdXNlci1hY3Rpb24gaW5pdGlhdGVkCgkgIHNlZWtzLgoJICBGaWRkbGUgc29tZSBkZWJ1ZyByZWxhdGVkIHRvIHRyYWNraW5nIGRvd24gdGhlIGlzc3VlLgoKMjAwOS0wMy0yNSAwMToyMToyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTdXBwb3J0IG11bHRpYW5nbGUgdGl0bGVzLgoJICBBZGQgYSB3b3JrYXJvdW5kIGZvciBhbiBhcHBhcmVudCBsaWJkdmRuYXYgYnVnIHdoZXJlIGl0IGxvc2VzIG5hdiBwYWNrZXRzCgkgIGR1cmluZyBtdWx0aWFuZ2xlIHRpdGxlcywgYW5kIGFkZCBzb21lIGtleXByZXNzIGJpbmRpbmdzIHRvIHN3aXRjaCB0aGUgYW5nbGUuCgoyMDA5LTAzLTE4IDA5OjM1OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IEFkZCBiYWNrIGluIHN1cHBvcnQgZm9yIHVzaW5nIGhhcmRjb2RlZCBhNTJkZWMKCjIwMDktMDMtMTYgMjA6MzE6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IEFkZCBzb21lIGRlYnVnIHdoZW4gY3JlYXRpbmcgdGhlIG91dHB1dCBwYWRzIGluIHRoZSBkZW11eGVyCgoyMDA5LTAzLTEwIDEwOjM5OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcmVzaW5kdmQ6IE1vcmUgaGFja2luZyBvbiB0aGUgYXVkaW8gZGVjb2Rlci4KCjIwMDktMDMtMDUgMDA6MDQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogVHJpbSBiYWNrIHRoZSBnX3ByaW50IGRlYnVnIC0gY29udmVydCB0byBHU1RfREVCVUcgYW5kIEdTVF9MT0cKCjIwMDktMDMtMDQgMTY6MTY6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkOiBFeHRlbmQgdGhlIFJlc2luIGF1ZGlvIGRlY29kZXIgZWxlbWVudCwgYW5kIHN3aXRjaCByc25kdmRiaW4gdG8gdXNlIGl0CgoyMDA5LTAyLTI3IDEwOjE4OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmQ6IEZpcnN0IHBhcnQgb2YgdGhlIHJlLXBsdWdnaW5nIGF1ZGlvIGRlY29kZXIKCjIwMDktMDItMjcgMDk6NDI6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogcmVtb3ZlIHVudXNlZCBjb2RlIHBhdGggZnJvbSB0aGUgYmluCgoyMDA5LTAyLTI2IDAwOjI5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IEluZGVudCBzb21lIHRoaW5ncwoKMjAwOS0wMi0yNiAwMDoyNzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgcmVzaW5kdmQ6IFN3aXRjaCBHU1RfQk9JTEVSUExBVEUgdG8gR19ERUZJTkVfVFlQRSBmb3Igbm8gcmVhbCByZWFzb24uCgoyMDA5LTAzLTI0IDAxOjAyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBBZGQgZmFzdHN0YXJ0LCBhbmQgd29yayBhcm91bmQgc29tZSBtdWx0aS1hbmdsZSBpc3N1ZXMKCSAgQWRkIGEgJ2Zhc3Qtc3RhcnQnIHByb3BlcnR5IHRvIHRoZSByc25kdmRzcmMgZWxlbWVudCwgdGhhdCBhdHRlbXB0cyB0bwoJICBqdW1wIGRpcmVjdGx5IHRvIHRoZSBEVkQgbWVudSB3aGVuIHN0YXJ0aW5nLiBEb2Vzbid0IHdvcmsgY29ycmVjdGx5IG9uIGFsbAoJICB0aXRsZXMgeWV0LgoJICBBZGQgd29ya2Fyb3VuZHMgZm9yIGlzc3VlcyB3aXRoIG11bHRpcGxlIGFuZ2xlcyBpbiBsaWJkdmRuYXY6IFVzZSBhIGhldXJpc3RpYwoJICB0byBhdm9pZCBkZXRlY3RpbmcgZGlzY29udGludWl0aWVzIGR1cmluZyBtdWx0aXBsZS1hbmdsZSB0aXRsZXMsIGl0IHNlZW1zCgkgIGNhdXNlZCBieSBsaWJkdmRuYXYgbG9zaW5nIHNvbWUgTkFWIHBhY2tldHMgaW4gbXVsdGlhbmdsZSB0aXRsZXMuIEZpeAoJICBzZWVraW5nIGluIG11bHRpLWFuZ2xlIHRpdGxlcyBieSBhbGlnbmluZyBvdXIgc2VjdG9yIGNhbGN1bGF0aW9uIGxvZ2ljCgkgIHdpdGggbGliZHZkbmF2J3MuIEFsc28sIHVzZSBsaWJkdmRuYXYncyBkdmRuYXZfZ2V0X2N1cnJlbnRfdGltZSgpIG1ldGhvZAoJICB0byBkZXRlcm1pbmUgdGhlIGxvZ2ljYWwgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgY2VsbCB3aGVuIGl0IGNoYW5nZXMsIGFzIHRoZQoJICBjZWxsX3N0YXJ0IHZhbHVlIGluIHRoZSBjZWxsX2NoYW5nZSBldmVudCBwcm92aWRlcyBhIG51bWJlciB0aGF0IGRvZXNuJ3QKCSAgY29tcGVuc2F0ZSBmb3IgYW5nbGUgY2VsbCBibG9ja3MuCgoyMDA5LTAzLTIxIDE5OjA0OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNtYWxsIGRlYnVnIG91dHB1dCBjaGFuZ2UgaW4gdGhlIHNvdXJjZSBlbGVtZW50CgoyMDA5LTA0LTAxIDAyOjI1OjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkZCBzb21lIGRlYnVnCgkgIEFkZCBhIGxpdHRsZSBiaXQgb2YgZXh0cmEgZGVidWcuIFdyYXAgYSBoYXJkY29kZWQgI2lmIDAgaW50byBhIGRlZmluZSBpbnN0ZWFkLgoKMjAwOS0wNC0wMiAxMzowNToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAyZW5jOiBVbnJlZiBwZWVyIGNhcHMgYWZ0ZXIgdXNhZ2UgdG8gZml4IGEgbWVtb3J5IGxlYWsKCjIwMDktMDQtMDIgMTI6NDY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCB1bml0IHRlc3RzCgoyMDA5LTA0LTAxIDE1OjQ1OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogZml4IG5lZ290aWF0aW9uIHNvIHRoYXQgdXBzdHJlYW0gY2FuIGFjdHVhbGx5IGZpeGF0ZSB0byBkb3duc3RyZWFtJ3MgcmF0ZQoJICBJZiBvbmUgc2lkZSBoYXMgYSBwcmVmZXJlbmNlIGZvciBhIHBhcnRpY3VsYXIgc2FtcGxlIHJhdGUgb3Igc2V0IG9mIHNhbXBsZSByYXRlcywgd2UKCSAgc2hvdWxkIGhvbm91ciB0aGlzIGluIHRoZSBjYXBzIHdlIGFkdmVydGlzZSBhbmQgdHJhbnNmb3JtIHRvIGFuZCBmcm9tLCBzbyB0aGF0IGVsZW1lbnRzCgkgIGFjdHVhbGx5IGtub3cgYWJvdXQgdGhlIG90aGVyIHNpZGUncyBzYW1wbGUgcmF0ZSBwcmVmZXJlbmNlIGFuZCBjYW4gbmVnb3RpYXRlIHRvIGl0CgkgIGlmIHN1cHBvcnRlZC4gQWxzbyBhZGQgdW5pdCB0ZXN0IGZvciB0aGlzLgoKMjAwOS0wMy0zMSAxNjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEZWxheSBuZXdzZWdtZW50IGFzIGxvbmcgYXMgcG9zc2libGUuCgkgIElmIG5ld3NlZ21lbnQgaXMgc2VudCAodG9vKSBlYXJseSwgY2FwcyBtYXkgbm90IHlldCBiZSBmaXhlZC9zZXQsCgkgIGFuZCBkb3duc3RyZWFtIG1heSBub3QgaGF2ZSBiZWVuIGxpbmtlZC4KCjIwMDktMDMtMzAgMjE6NTc6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IGZpeCBiaXRyYXRlIHByb3BlcnR5IHNldHRpbmdzCgkgIEFsaWduIGJpdHJhdGUgcHJvcGVydHkgaW50ZXJwcmV0YXRpb24gd2l0aCB1c3VhbCBtcGVnMmVuYyBiZWhhdmlvdXIuCgkgIEZpeGVzICM1NzU3MzYuCgoyMDA5LTAzLTI3IDIxOjM5OjA1ICswMDAwICBBbGFuIEZhbGxvb24gPGFmYWxsb29uQGx1bWVuZXJhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBtYWtlIC0tZGlzYWJsZS1leHRlcm5hbCB3b3JrIGFnYWluCgoyMDA5LTAzLTI3IDE5OjM3OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAganAya2RlYzogaW1wbGVtZW50IGJhc2ljIFFvUwoJICBEb24ndCB0cnkgdG8gZGVjb2RlIGZyYW1lcyB0aGF0IGFyZSBnb2luZyB0byBiZSBsYXRlIGFueXdheS4KCjIwMDktMDMtMjcgMTc6NDQ6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBhZGQgb25fbnB0X3N0b3Agc2lnbmFsCgkgIEFkZCB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIHJ0cGJpbiBhbmQgcnRwaml0dGVyYnVmZmVyIHRvIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gdGhhdCB0aGUgTlBUIHN0b3AgcG9zaXRpb24gaGFzIGJlZW4gcmVhY2hlZC4KCjIwMDktMDMtMjcgMTE6MjA6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IHJlc2V0IHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUmVzZXQgdGhlIGxhc3QtYnVmZmVyLCB0aGUgcGVuZGluZyBwYWQgYW5kIHRoZSBzZWdtZW50IHdoZW4gZ29pbmcgdG8gdGhlIFJFQURZCgkgIHN0YXRlLgoJICBGaXhlcyAjNTc2NzEyLgoKMjAwOS0wMy0yNSAyMToyNDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCByZXVzaW5nIGVsZW1lbnQKCSAgU3RhdGUgY2hhbmdlIHRvIFJFQURZIGFuZCB0aGVuIGJhY2sgdG8gUEFVU0VEIHNob3VsZCBzdGlsbCBwcm92aWRlCgkgIHRoZSBwcm9wZXIgc3RydWN0dXJlcyBhcyBhcmUgb3RoZXJ3aXNlIGZyZXNobHkgYXZhaWxhYmxlIGZvbGxvd2luZwoJICBhIHJlcXVlc3RfbmV3X3BhZC4KCSAgUG9pbnRlZCBvdXQgYnkgVGhpYWdvIFNhbnRvcy4KCjIwMDktMDMtMjYgMjA6Mjg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEZpeCBjb21waWxhdGlvbiBhbmQgY29tcGlsZXIgZXJyb3JzIHdpdGggR0xpYiA8IDIuMTYuMAoKMjAwOS0wMy0yNiAxNDoyNjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogRml4ICJjYXN0IHRvIHBvaW50ZXIgdHlwZSBvZiBkaWZmZXJlbnQgc2l6ZSIgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMy0yNiAxMzoyNDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogUmVuYW1lIGZvcmdvdHRlbiBmdW5jdGlvbiB0byBmaXggdW5yZXNvbHZlZCBzeW1ib2xzIGVycm9yCgoyMDA5LTAzLTI2IDEzOjIwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZjogVXNlIG14Zl91e2wsdWlkfV9pc19lcXVhbCgpIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgbWVtY21wKCkKCjIwMDktMDMtMjYgMTM6MTE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGY6IERpZmZlcmVudGlhdGUgYmV0d2VlbiBVTCBhbmQgVVVJRAoKMjAwOS0wMy0yNiAxMjo0NjoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkgIG14ZjogU291cmNlIGZpbGVzIGFuZCAjaW5jbHVkZSBjbGVhbnVwCgoyMDA5LTAzLTI2IDEyOjEwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogVXNlIEdJT3MgZ19jb250ZW50X3R5cGVfZ3Vlc3MoKSBpZiBwb3NzaWJsZQoKMjAwOS0wMy0yNiAxMTo1MTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkgIG14ZjogVXNlIHRoZSBVTCBkYXRhYmFzZSBmb3Igc29tZSBtb3JlIFVMcwoKMjAwOS0wMy0yNiAxMTo0Mjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUmVtb3ZlIHNvbWUgR0xpYiA8IDIuMTQgY29tcGF0aWJpbGl0eSBzdHVmZgoKMjAwOS0wMy0yNiAxMTozNzoyOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbTogUG9ydCB0byBNaW5HVwoJICBGaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MzM6NTAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSAgeGRnbWltZTogTGluayB3aXRoIHdpbnNvY2sgbGlicmFyeSB0byBmaXggYnVpbGQgd2l0aCBNaW5HVwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjMyOjA4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgIGRjY3A6IFBvcnQgRENDUCBwbHVnaW4gdG8gTWluR1cKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMToyMzozMCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRjY3A6IERpc2FibGUgdGhlIGRjY3AgcGx1Z2luIGlmIG5vIHB0aHJlYWQgc3VwcG9ydCBpcyBhdmFpbGFibGUKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAwODoxMzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ214Zm11eCcKCjIwMDktMDMtMjYgMDg6MTI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IENsZWFudXAKCjIwMDktMDMtMjYgMDg6MTE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IEZpeCBoYW5kbGluZyBvZiBidWZmZXJzIHdpdGggbW9yZSB0aGFuIG9uZSBlZGl0IHVuaXQgYW5kIEVPUyBoYW5kbGluZwoKMjAwOS0wMy0yNSAyMzowNDoxMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgbGFkc3BhOiBjb21tZW50IHNpZ25hbHByb2Nlc3NvciBjbGFzcyBtb3JlIGFuZCBkbyBtaW5vciBjb2RlIGNsZWFudXBzCgoyMDA5LTAzLTI1IDEyOjQwOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlID49IDAuMTAuMjIuMSBmb3IgJXUgcGFkIHRlbXBsYXRlIHN1cHBvcnQKCjIwMDktMDMtMjQgMTU6MjM6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBzZWxlY3RvcjogbWVyZ2UgdGhlIHRhZ3MKCSAgTWVyZ2UgdGhlIHRhZ3MgcmVjZWl2ZWQgb24gdGhlIGlucHV0LXNlbGVjdG9yIHNpbmtwYWRzIGluc3RlYWQgb2Ygb25seSBrZWVwaW5nCgkgIHRoZSBsYXN0IG9uZSB3ZSBzYXcuCgoyMDA5LTAzLTIzIDE5OjMzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBORVdTOgoJICBGaXggdmVyc2lvbiBudW1iZXIgaW4gdGhlIE5FV1MgZmlsZQoKMjAwOS0wMy0xOSAwMToxNzoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJ1c3lsb29wIHdoZW4gc2Vla2luZy4gRml4ZXMgIzU3NTM4OAoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGFmdGVyIGEgZGlzY29udCwgc2V0X21pbl9mcmFtZV9zaXplKDEwMjQpIGlzIGNhbGxlZCB3aGVuCgkgIGRldGVjdF9zdHJlYW0gcmV0dXJucyBGQUxTRS4gSG93ZXZlciwgZGV0ZWN0X3N0cmVhbSBjYWxscyBjaGVja19hZHRzX2ZyYW1lCgkgIHdoaWNoIHNldHMgdGhlIGZyYW1lIHNpemUgb24gaXRzIG93biB0byBzb21ldGhpbmcgbGFyZ2VyIHRoYW4gMTAyNC4gVGhpcyBpcyB0aGUKCSAgc2FtZSBzaXR1YXRpb24gYXMgaW4gdGhlIGJlZ2lubmluZywgc28gdGhlIGJhc2UgY2xhc3MgZW5kcyB1cCBjYWxsaW5nCgkgIGNoZWNrX3ZhbGlkX2ZyYW1lIGluIGFuIGVuZGxlc3MgbG9vcC4KCjIwMDktMDMtMTkgMDA6MzI6NDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlZmFjdG9yIGNoZWNrX3ZhbGlkX2ZyYW1lIHRvIGV4cG9zZSBicm9rZW4gY29kZQoJICBKdXN0IG1vdmluZyBjb2RlIGFyb3VuZCBhbmQgcmVtb3ZpbmcgYW4gdW5oZWxwZnVsL21pc2xlYWRpbmcgY29tbWVudC4KCjIwMDktMDMtMjMgMTE6MTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBpbmNsdWRlcyBmb3IgbHNlZWsKCSAgLS0KCjIwMDktMDMtMjAgMTQ6MjA6MTYgKzAxMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHdpbjMyOiBmaXggc2Vla2luZyBpbiBsYXJnZSBmaWxlcwoJICBVc2UgX2xzZWVraTY0KCkgb24gV2luZG93cyB0byBzZWVrIGluIGxhcmdlIGZpbGVzLgoJICBGaXhlcyAjNTc2MDIxLgoKMjAwOS0wMy0xNiAxMToyMTowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgbmV3IGNvbm5lY3Rpb24gbW9kZQoJICBBZGQgYSBuZXcgY29ubmVjdGlvbiBtb2RlIHRvIGphY2tzcmMgYW5kIGphY2tzaW5rLiBJbiB0aGlzIG5ldyBhdXRvLWZvcmNlCgkgIGNvbm5lY3Rpb24gbW9kZSBqYWNrIHdpbGwgY3JlYXRlIGFzIG1hbnkgcG9ydHMgYXMgcmVxdWVzdGVkL25lZWRlZCBpbiB0aGUKCSAgcGlwZWxpbmUgYW5kIHdpbGwgdGhlbiBjb25uZWN0IGFzIG1hbnkgcGh5c2ljYWwgcG9ydHMgYXMgcG9zc2libGUsIHBvc3NpYmx5CgkgIGxlYXZpbmcgc29tZSBwb3J0cyB1bmNvbm5lY3RlZC4KCSAgQWxzbyBnZXQgcmlkIG9mIHNvbWUgbGVmdG92ZXIgZ19wcmludC4KCSAgRml4ZXMgIzU3NTI4NC4KCjIwMDktMDMtMjMgMTU6MDY6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBteGY6IE1vdmUgc29tZSBzdGF0aWMgY29uc3QgdmFyaWFibGVzIGludG8gZnVuY3Rpb25zCgoyMDA5LTAzLTEzIDE5OjQyOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGJ1aWxkIHdpdGggY2VsdCAwLjUuCgoyMDA5LTAzLTIyIDIwOjE0OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMS4xCgoyMDA5LTAzLTIwIDE1OjU1OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlZW5hYmxlIG1ldGFkYXRhIHRlc3QKCjIwMDktMDMtMjAgMTU6MzM6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogcmVlbmFibGUgdGVzdAoKMjAwOS0wMy0yMCAxNToxODowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgbWV0ZGF0YTogbW9yZSBsb2dnaW5nIGFuZCBjb2RlIGNsZWFudXBzCgkgIFNwcmlua2xlIG1vcmUgZGVidWcgbG9nIHN0YXRlbWVudHMgaW50byB0aGUgY29kZS4gTW92ZSBzb21lIHJlcGVhZGVkIHN0cmluZwoJICBjb25zdGFudCBpbnRvIGhlYWRlciBmaWxlcyBhbmQgdXNlIHNpemVvZiBpbnN0ZWFkIG9mIG1hbnVhbGx5IGNvdW50ZWQgYnl0ZXMuIEFkZAoJICBjb21tZW50cy4KCjIwMDktMDMtMjAgMTU6MTQ6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSAgbWV0YWRhdGE6IGZpeCBtdXhpbmcgamZpZmxlc3MganBlZy4gRml4ZXMgIzU3NDQwMQoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB0byBiZSBtdXhlZCBqcGVnIGhhcyBubyBqZmlmLCBhcyB3ZSBjYW4gZWFzaWx5CgkgIGFkZCBpdC4KCjIwMDktMDMtMjAgMTU6MTA6MjIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgbWV0YWRhdGE6IGZpeCBpbmNsdWRlIGd1YXJkcwoKMjAwOS0wMy0yMCAxNTowNDoxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiByZXdvcmsgZG9jIGNvbW1lbnQKCjIwMDktMDMtMDkgMjM6NDM6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW06IG5vIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zCgoyMDA5LTAzLTIyIDE1OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IGVycm9yIGhhbmRsaW5nCgoyMDA5LTAzLTIyIDE1OjUxOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBGaXggc29tZSBtZW1vcnkgbGVha3MsIGltcHJvdmUgZGVidWdnaW5nIGFuZCBoYW5kbGUgZXJyb3JzIGJldHRlcgoKMjAwOS0wMy0yMiAxNTozNTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IEFkZCBhbiBlcnJvciBzdGF0ZSBmcm9tIHdoaWNoIHdlIHJldHVybiBpbW1lZGlhdGVseQoJICBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOS0wMy0xOSAyMDo0MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZjogT3B0aW1pemUgbXhmX3VsX2lzX3N1YmNsYXNzKCkgYSBiaXQKCjIwMDktMDMtMTkgMTQ6MzA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIG14ZjogU3RhcnQgaW1wbGVtZW50aW5nIGEgY2VudHJhbCBVTCBkYXRhYmFzZSBhbmQgYWRkIHNvbWUgaGVscGVyIGZ1bmN0aW9ucyBhbmQgdXNlIHRoZW0KCjIwMDktMDMtMTcgMTQ6Mjc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm11eDogTWFrZSBzdXJlIHRvIGluY2x1ZGUgYSBwaWN0dXJlIGluIHRoZSBlZGl0IHVuaXRzIHdoZW4gbXV4aW5nIE1QRUcyL01QRUc0CgoyMDA5LTAzLTE3IDE0OjIzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogUmVtb3ZlIGFjY2lkZW50aWFsbHkgY29tbWl0dGVkIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCjIwMDktMDMtMTYgMTc6NDk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgc3Vic2FtcGxlZCBZVVYgZm9ybWF0cwoKMjAwOS0wMy0xNiAxNzoyMjoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBVc2UgY29ycmVjdCB3aWR0aC9oZWlnaHQgZm9yIHN0cmlkZSBjb252ZXJzaW9ucwoKMjAwOS0wMy0xNiAxNzoxODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogSW1wbGVtZW50IHN0cmlkZSB0cmFuc2Zvcm1hdGlvbnMgZm9yIHJhdyB2aWRlbyBjb250ZW50IGZvciBtdXhpbmcgYW5kIGRlbXV4aW5nCgoyMDA5LTAzLTE2IDE1OjM3OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFNpbXBsaWZ5IGNhcHMgc2VsZWN0aW9uIGJ5IHVzaW5nIGEgbG9va3VwIHRhYmxlCgoyMDA5LTAzLTE2IDEyOjQ4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmbXV4OiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IHBpY3R1cmUgZXNzZW5jZQoKMjAwOS0wMy0xNiAxMjoxNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IE9ubHkgYWRkIGFuIGVzc2VuY2UgY29udGFpbmVyIFVMIG9uY2UgdG8gdGhlIHBhcnRpdGlvbiBhbmQgcHJlZmFjZQoKMjAwOS0wMy0xNiAxMjowNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQVlVViBhbmQgdjMwOCBZVVYgY29sb3JzcGFjZXMKCjIwMDktMDMtMTYgMTE6MDA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm11eDogVXNlIHRoZSBjb3JyZWN0IGVkaXQgcmF0ZSBpbnN0ZWFkIG9mIGVzdGltYXRpbmcgaXQgZnJvbSB0aGUgZmlyc3QgYnVmZmVyIGR1cmF0aW9uCgoyMDA5LTAzLTE1IDE1OjI3OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEVycm9yIG91dCBkaXJlY3RseSBpZiBwdXNoaW5nIGEgcGFja2V0IGRvd25zdHJlYW0gZmFpbGVkCgoyMDA5LTAzLTE1IDE1OjI3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIERWL0RJRiBtdXhpbmcgYW5kIGFkZCBmcmFtZXJhdGUsIGV0YyB0byB0aGUgY2FwcyB3aGVuIGRlbXV4aW5nIERWL0RJRiBjb250ZW50CgoyMDA5LTAzLTE1IDE1OjI3OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogQWRkIHNvbWUgZGVidWdnaW5nIGFuZCBlcnJvciBvdXQgb24gaW52YWxpZCBpbnB1dCBkYXRhCgoyMDA5LTAzLTE0IDE5OjU5OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDMtMTEgMTk6Mzg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUEVHIGF1ZGlvIGFuZCB2aWRlbwoKMjAwOS0wMy0xMSAxOTozODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IFVzZSBjb3JyZWN0IGNhcHMgdHlwZSBmb3IgQUMzIGF1ZGlvIChhdWRpby94LWFjMyBpbnN0ZWFkIG9mIGF1ZGlvL2FjMykKCjIwMDktMDMtMTEgMTk6MzQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgSlBFRzIwMDAgY29kZSBzdHJlYW1zCgoyMDA5LTAzLTExIDE5OjMzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBWQy0zIChha2EgRE54SEQpIHZpZGVvCgoyMDA5LTAzLTExIDE5OjMzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgQS1MYXcgYXVkaW8KCjIwMDktMDMtMTEgMTk6MzM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgYXVkaW8KCjIwMDktMDMtMTEgMTk6MzI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJKiBnc3QvbXhmL214ZndyaXRlLmg6CgkgIG14ZjogQWRkIE1YRiBtdXhlcgoJICBUaGlzIG11eGVyIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIE9QMWEgYW5kIGlzCgkgIHByb2JhYmx5IG5vdCB5ZXQgMTAwJSBjb21wbHlpbmcgdG8gdGhlIHN0YW5kYXJkcy4KCjIwMDktMDMtMTEgMTk6MzA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEFkZCB3aWR0aC9oZWlnaHQvZm91cmNjIHRvIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKPT09IHJlbGVhc2UgMC4xMC4xMSA9PT0KCjIwMDktMDMtMjEgMDE6MDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjExCgoyMDA5LTAzLTIwIDIzOjM3OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMy0yMCAyMzozMToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjOiBBZGQgcGFyX24gYW5kIHBhcl9kIHRvIHRoZSBvYmplY3Qgc3RydWN0dXJlIHRvIGZpeCBjb21waWxhdGlvbgoKMjAwOS0wMy0xOCAxMjozMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuNi41IHByZS1yZWxlYXNlCgoyMDA5LTAzLTE4IDEwOjM1OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZpeCBidWlsZCBvbiBHTGliIDwgMi4xNiBzb21lIG1vcmUKCjIwMDktMDMtMTggMDA6MDI6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xMC40IHByZS1yZWxlYXNlCgoyMDA5LTAzLTE2IDE3OjI5OjE2ICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUmVwbGFjZSBnX2hhc2hfdGFibGVfZ2V0X3ZhbHVlcyB3aXRoIGNvZGUgd29ya2luZyB3aXRoIGdsaWIgMi42LgoJICBGaXhlcyAjNTc1NTY1CgoyMDA5LTAzLTEzIDE2OjMxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMC4zIHByZS1yZWxlYXNlCgoyMDA5LTAzLTEzIDE2OjE2OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9maS5wbzoKCSogcG8vaWQucG86CgkqIHBvL3B0X0JSLnBvOgoJICBwbzogVXBkYXRlIHBvIGZpbGVzIGZyb20gdXBzdHJlYW0KCjIwMDktMDMtMTMgMTY6MDg6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL3RyLnBvOgoJICBwbzogQWRkIFR1cmtpc2ggdHJhbnNsYXRpb24KCjIwMDktMDMtMTIgMjM6NTQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBtYWtlIHhkZyB0eXBlZmluZGVyIG1vcmUgY29uc2VydmF0aXZlCgkgIFRoZSB3aG9sZSByYWlzb24gZCdldHJlIG9mIHRoaXMgdHlwZWZpbmRlciBpcyB0byBoZWxwIGF2b2lkIGZhbHNlCgkgIHBvc2l0aXZlcyB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBvdXIgbWFpbiB0eXBlZmluZGVyIGluCgkgIC1iYXNlLiBJdHMgdGFzayBpcyBub3QgcmVhbGx5IHRvIHR5cGVmaW5kIGF1ZGlvL3ZpZGVvIGZpbGVzLCBldmVuCgkgIGxlc3Mgc28gZ2l2ZW4gdGhhdCBpdCBkZXRlY3RzICpNSU1FKiB0eXBlcywgbm90IEdTdHJlYW1lciBtZWRpYQoJICB0eXBlcy4gVGhlcmVmb3JlLCBpZiB0aGlzIHR5cGVmaW5kZXIgZGV0ZWN0cyBhbiBhdWRpbyBvciB2aWRlbwoJICB0eXBlLCBkb24ndCBldmVuIHN1Z2dlc3QgaXQgLSBvdXIgb3duIHR5cGVmaW5kZXJzIGFyZSBob3BlZnVsbHkKCSAgYmV0dGVyIGF0IHRoaXMgYW5kIGRldGVjdCB0aGUgcmlnaHQgdHlwZSBvZiB0eXBlIG9uIHRvcCBvZiB0aGF0LAoJICBhbmQgZXZlbiBpZiB0aGV5J3JlIG5vdCB3ZSByZWFsbHkgd2FudCB0byBrbm93IGFib3V0IGl0IGFuZCBmaXgKCSAgaXQuIEZpeGVzICM1NzUxNTcuCgoyMDA5LTAzLTEzIDE1OjU5OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IHJldHVybiBGQUxTRSBvbiBzZWVrIGV2ZW50cwoJICBTaWxlbnRseSBpZ25vcmUgdGhlIHNlZWsgZXZlbnQgaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0UuCgoyMDA5LTAzLTEzIDEwOjA3OjE4ICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogd29ya2Fyb3VuZCB0byBmaXggcGxheWJhY2sgb2YgY2VydGFpbiBtYWxmb3JtZWQgY2xpcHMKCSAgQWRkZWQgYSB3b3JrYXJyb3VuZCB0byBwZXJtaXQgcGxheSBjZXJ0YWluIG1hbGZvcm1lZCBjbGlwcyB3aGVyZSBmaXJzdAoJICBTQ1IgaXMgZ3JlYXRlciB0aGFuIGxhc3QgU0NSLiBGaXhlcyBidWcgIzQ1NDIyOAoKMjAwOS0wMy0xMiAyMDoxMzoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRGlzYWJsaW5nIG1ldGFkYXRhIHVuaXQgdGVzdCB1bnRpbCAjNTc0NDAxIGlzIGZpeGVkLgoKMjAwOS0wMy0xMiAxNzo1MzozNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBzb21lIG1vcmUgcGx1Z2lucyB0aGUgc3BlYyBmaWxlCgoyMDA5LTAzLTExIDEzOjA0OjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBwbHVnaW5zCgoyMDA5LTAzLTEwIDE1OjEyOjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMoKQoKMjAwOS0wMy0xMCAyMToxODoyMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXhlZCBhIGJ1ZyBpbiB0aGUgVFMgc2Nhbm5lci4gRml4ZXMgIzU3NDAwOQoKMjAwOS0wMy0xMCAwMDoyMjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEwLjIgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTAgMDA6MTA6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgTW92ZWQgdHdvbGFtZSBmcm9tIEJhZCB0byBVZ2x5CgoyMDA5LTAzLTA5IDIzOjEzOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDcwMzIxNjMgdG8gZjhiM2Q5MQoKMjAwOS0wMy0wOCAxMjowNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZmYTczOGQgdG8gNzAzMjE2MwoKMjAwOS0wMy0wOCAxMToyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmMTNlNGUgdG8gZmZhNzM4ZAoKMjAwOS0wMy0wNyAxMTo0NjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjNzQ1NmIgdG8gM2YxM2U0ZQoKMjAwOS0wMy0wNyAxMDo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3YzgzZjIgdG8gM2M3NDU2YgoKMjAwOS0wMy0wNiAyMjozNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTWFrZSB0aGUgdGVzdHMgcGFzcyB3aGVuIHRoZSBjYW1lcmFiaW4gY2FuJ3QgaW5pdGlhbGlzZS4KCSAgVGhlIGNhbWVyYWJpbiB0ZXN0cyB3ZXJlIHRocm93aW5nIGdsaWIgZXJyb3JzIGFuZCBoYW5naW5nIHdoZW4KCSAgZ3N0LXBsdWdpbnMtZ29vZCBlbGVtZW50cyAoanBlZ2VuYywgdmlkZW9jcm9wKSBjYW4ndCBmb3VuZC4KCjIwMDktMDMtMDYgMjE6MTQ6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1pc2M6IElnbm9yZSB0aGUgY2FtZXJhYmluIGJpbmFyeSBpbiB0aGUgY2hlY2svZWxlbWVudHMgc3ViZGlyCgoyMDA5LTAzLTA2IDE5OjIyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IFBhcnRseSBmaXggZGlzdGNoZWNrCgkgIERvbid0IGRpc3QgdGhlIGdlbmVyYXRlZCBtYXJzaGFsLmggaGVhZGVyIGJ5IHB1dHRpbmcgaXQgaW4gdGhlIGhlYWRlcnMKCSAgbGlzdC4KCjIwMDktMDMtMDcgMDA6MjA6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogY2hhbmdlICdxJyBiYWNrIHRvICdqcGVnZW5jJyAobXkga2V5Ym9hcmQgaGF0ZXMgbWUpCgoyMDA5LTAzLTA2IDIzOjM0OjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGNsZWFudXAsIGZpeCB0aGUgdGVzdCwgYWRkIGNvbW1lbnRzCgkgIEZpcnN0IGRvIG5vdCBidWlsZCB0aGUgcGx1Z2luLCBpZiB3ZSBoYXZlIG5vbmUgb2YgdGhlIGJhY2tlbmQsIGFzIGl0IHdvbid0IHdvcmsKCSAgdGhlbi4gRml4IHRoZSBtaW5pb2JqZWN0X3VucmVmIGVycm9yIGluIHRoZSB0ZXN0LiBTcHJpbmtsZSBhIGZpcnN0IGhhbmRmdWwgb2YKCSAgZGVidWcgbG9ncyBpbnRvIHRoZSBlbGVtZW50IGNvZGUuCgoyMDA5LTAzLTA2IDIwOjAyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBGaXggbWVtb3J5IGxlYWsgaW4gdGhlIHVuaXQgdGVzdCBieSB1bnJlZmZpbmcgdGhlIGNhcHMKCjIwMDktMDMtMDYgMTc6NDY6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBTdG9yZSBhbmQgdXNlIHRoZSBzZXFudW0gb2YgdGhlIGN1cnJlbnRseSBydW5uaW5nIHNlZ21lbnQgZXZlcnl3aGVyZQoKMjAwOS0wMy0wNiAxNzoyNDowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRG9uJ3QgZXZlbiB0cnkgdG8gc2VyaWFsaXplIERNIGZyYW1ld29ya3MgYXMgaXQgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gdW50aWwgdGhpcyBpcyBmaW5pc2hlZAoKMjAwOS0wMy0wNiAxMjo0Mjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVXNlIHRoZSBwdWJsaWMgaGVhZGVycyBpZiBmYWFkMiA+PSAyLjcuIEZpeGVzICM1NzMzNjkKCSAgU2luY2UgZmFhZDItMi43LCB0aGUgcHVibGljIGZ1bmN0aW9uIHByb3RvdHlwZXMgYXJlIGluIHN5bmMgd2l0aCB0aGUKCSAgYWN0dWFsIGZ1bmN0aW9uIHByb3RvdHlwZXMgdXNlZCBpbnRlcm5hbGx5IGluIGxpYmZhYWQuCgoyMDA5LTAzLTA2IDExOjA4OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBmaXggY29tcGlsYXRpb24gd2hlbiBMUkRGIGlzIG1pc3NpbmcKCSAgLS0KCjIwMDktMDMtMDUgMjI6NTU6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiByZW1vdmUgLWxkbCBhcyB3ZSBub3cgdXNlIGdsaWJzIGdtb2R1bGUuCgoyMDA5LTAzLTA1IDIyOjM3OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogYWRkIGluaXRpYWwgbGlibHJkZiBzdXBwb3J0LgoJICBHZXQgY2xhc3NpZmljYXRpb24gZnJvbSByZGYgbWV0YWRhdGEuCgoyMDA5LTAzLTA1IDIyOjA0OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBmaXggcmVxdWlyZWQgdmVyc2lvbgoJICBXaXRoIHRoaXMgdmVyc2lvbiBpdCBidWlsZHMgb24gb3BlbnN1c2UgMTEuMS4KCjIwMDktMDMtMDUgMTQ6NDA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IERvbid0IHVzZSBOVUxMIEdzdFN0cnVjdHVyZXMgdG8gcHJldmVudCB3YXJuaW5ncwoJICBDdXJyZW50bHkgc2VyaWFsaXppbmcgb2YgRE0gRnJhbWV3b3JrcyBpcyBub3Qgc3VwcG9ydGVkCgkgIHlldCBieSBETVMxIGFuZCB3aWxsIGdpdmUgdXMgTlVMTC4KCjIwMDktMDMtMDQgMjE6MzA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIHBob3RvZ3JhcGh5OiBkZWNsYXJlIGludGVyZmFjZSBhcyB1bnN0YWJsZSBBUEkgYnkgbWVhbnMgb2YgYSB3YXJuaW5nCgkgIEFwcGxpY2F0aW9uIGRldmVsb3BlcnMgd29uJ3Qga25vdyByaWdodCBhd2F5IHdoaWNoIG1vZHVsZSBhbiBpbnRlcmZhY2UgY29tZXMgZnJvbSwKCSAgYW5kIG1heSBhc3N1bWUgdGhhdCBpdCBpcyBjb3ZlcmVkIGJ5IHRoZSB1c3VhbCBHU3RyZWFtZXIgQVBJIGd1YXJhbnRlZXMsIHNvIG1ha2UKCSAgaXQgYXMgY2xlYXIgYXMgcG9zc2libGUgdGhhdCB0aGlzIHBhcnRpY3VsYXIgQVBJIGlzIHN0aWxsIHN1YmplY3QgdG8gY2hhbmdlCgkgIChzaG91bGQgaGF2ZSBkb25lIHRoYXQgd2l0aCBvdGhlciBsaWJyYXJpZXMgaW4gLWJhZCBiZWZvcmUgdG9vIHJlYWxseSkuCgoyMDA5LTAzLTA0IDIwOjM3OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkZXRlY3QgZmFhZCdzIG1pbm9yIHZlcnNpb24gYW5kIGRlZmluZSBGQUFEMl9NSU5PUl9WRVJTSU9OIGluIGNvbmZpZy5oCgoyMDA5LTAzLTA0IDE2OjQ2OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIHZhbHZlOiByZW5hbWUgcGx1Z2luIGZpbGUgZnJvbSBsaWJmc3ZhbHZlLiogdG8gbGliZ3N0dmFsdmUuKgoJICBJZiB5b3UncmUgcnVubmluZyB0aGluZ3MgdW5pbnN0YWxsZWQsIHlvdSBtaWdodCBuZWVkIHRvIG1hbnVhbGx5CgkgIHJlbW92ZSB0aGUgcmVnaXN0cnkgdG8gZ2V0IHRoZSBwbHVnaW4ncyBmZWF0dXJlcyB0byBzaG93IHVwCgkgIGNvcnJlY3RseS4gQWxzbywgeW91IHByb2JhYmx5IHdhbnQgdG8gZG8gYSBtYWtlIGNsZWFuIHRvIGdldCByaWQKCSAgb2YgdGhlIG9sZCBwbHVnaW4gZmlsZS4KCjIwMDktMDMtMDQgMTk6NTA6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIGdzcmVhbDogYnJpbmcgZG93biB0aGUgcmFuayBvZiB0aGUgcmVhbCBkZWNvZGVycyB0byBNQVJHSU5BTC4KCSAgQmFzaWNhbGx5LCBhdCB0aGlzIHBvaW50LCB0aGUgZmZtcGVnIGVxdWl2YWxlbnQgZGVjb2RlcnMgcGVyZm9ybSB3YXkKCSAgYmV0dGVyLCBzbyB3ZSdsbCBtYWtlIHRoZSBmZm1wZWcgZXF1aXZhbGVudHMgUFJJTUFSWSBhbmQgdGhlc2UKCSAgTUFSR0lOQUwuCgoyMDA5LTAzLTA0IDE4OjQyOjE1ICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBtYWtlIHNvbWUgZG9jcyB1cCB0byBkYXRlCgoyMDA5LTAzLTA0IDE4OjE2OjMxICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiByZXNldCBzeW5jX2x1dF9sZW4gdG8gMCBvbiBSRUFEWSB0byBOVUxMCgoyMDA5LTAzLTA0IDE1OjMwOjA0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDMtMDQgMTU6Mjg6NDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IGFkZCBmaWd1cmVzIHN1YmRpcmVjdG9yeSB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogYWRkIG14ZiBzdWJkaXJlY3RvcnkgZ3N0LXBsdWdpbnMuc3BlYy5pbjogYWRkIG5ldyBwbHVnaW5zCgoyMDA5LTAzLTA0IDE2OjE1OjU3ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogZ3N0LXBsdWdpbnMtYmFkLnN1cHAgbmVlZHMgdG8gYmUgZGlzdHJpYnV0ZWQuCgoyMDA5LTAzLTA0IDE1OjA1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogYWRkIExJQkRJUi9sYWRzcGEgdG8gc2VhcmNoIHBhdGggYW5kIG1ha2UgcGF0aCBtb3JlIHBvcnRhYmxlCgkgIFVzZSBnbGliIGRlZmluZXMgZm9yIHNlYXJjaHBhdGggc2VwYXJhdG9ycy4gRmlsdGVyIHNlYXJjaHBhdGggdG8gYXZvaWQgc2Nhbm5pbmcKCSAgcGF0aCBlbnRyaWVzIHR3aWNlLiBGaXggdGhlIHJldHVybiBpbiBsYWRzcGFfcGx1Z2luX2RpcmVjdG9yeV9zZWFyY2ggdG8gcmV0dXJuCgkgIHdoZXRlciB3ZSBmb3VuZCBhIHBsdWdpbi4KCjIwMDktMDMtMDQgMTQ6MzQ6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvbG9hZC5jOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkgIGxhZHNwYTogcmV3cml0ZSB0aGUgZGlyZWN0b3J5IHNjYW5uaW5nLCBmaXhlcyBmaXJzdCBwYXJ0IG9mICM1NzMzNzAKCSAgTW92ZSB0aGUgdHdvIGZ1bmN0aW9uIGZyb20gc2VhcmNoLmMgaW50byBnc3RsYWRzcGEuYyBhbmQgbWFrZSB0aGVtIHN0YXRpYy4KCSAgUmVtb3ZlIG5vbiBuZWVkZWQgYXJndW1lbnRzIGZyb20gZnVuY3Rpb24gcHJvdG90eXBlcy4gVXNlIGdsaWIgYXBpIGZvcgoJICBzaW1wbGljaXR5IGFuZCBwb3J0YWJpbGl0eS4KCjIwMDktMDMtMDQgMTE6MTQ6MTggKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSBnaW50OCBpbnN0ZWFkIG9mIGludDhfdAoJICBVc2UgZ2ludDggaW5zdGVhZCBvZiBpbnQ4X3QgdG8gZml4IGNvbXBpbGF0aW9uLgoJICBGaXhlcyAjNTczODUxLgoKMjAwOS0wMy0wNCAxMTowNzo1MiArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogVXNlIEdfQllURV9PUkRFUiB0byBmaXggV2luZG93cyBjb21waWxlCgkgIGdzdGdzbWRlYyByZWxpZXMgb24gQllURV9PUkRFUiwgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzLiBVc2UKCSAgR19CWVRFX09SREVSIGluc3RlYWQuCgkgIEZpeGVzICM1NzM4NTAuCgoyMDA5LTAzLTAzIDE0OjMwOjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBBZGQgRG9jIGZvciBtaW1pYyBwbHVnaW4KCjIwMDktMDMtMDMgMTQ6MDM6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgTW92ZSBtaW1pYyB0byAtYmFkCgoyMDA5LTAzLTAzIDE0OjIwOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBSZS1pbmRlbnQgdG8gR1NUIHN0eWxlCgoyMDA4LTA3LTI1IDIyOjQ3OjI2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBvdXRwdXQgYSBuZXdzZWdtZW50IGlmIHRoZSBpbmNvbWluZyBuZXdzZWdtZW50IGlzbnQgYSB0aW1lIHNlZ21lbnQKCSAgMjAwODA3MjUyMjQ3MjYtM2UyZGMtZjgyYjk5M2MwZmJmZThiZDQ4N2QyZjE5NjJmZWMxZDBiNjU2NGViYy5negoKMjAwOC0wNy0yNSAyMjoyNjo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgbWVtYmVyIHZhcmlhYmxlcwoJICAyMDA4MDcyNTIyMjY0OC0zZTJkYy0yNDY0OTc4MmEzOTQ2MmM3YzNmZWY5ZDYyNzBiM2RiNGM0YWNlMWJiLmd6CgoyMDA4LTA3LTI1IDIyOjI0OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgb3V0IHRoZSByaWdodCBzZWdtZW50IGFuZCB1c2Ugc3RvcmVkIHRpbWVzdGFtcHMgZGlyZWN0bHkKCSAgMjAwODA3MjUyMjI0NDgtM2UyZGMtZTExOWJmMDllZGUxY2YxODc1ODFkNTkxNzZjOGIzNWJhZmI3MzFhZS5negoKMjAwOC0wNy0yNSAxOTo0ODozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTa2lwIG5vbi1rZXlmcmFtZXMgYmVmb3JlIHdlIGdldCBhIGtleWZyYW1lCgkgIDIwMDgwNzI1MTk0ODMzLTNlMmRjLTU4M2RmNTdjOGViY2U0YjE0OWEwMTc2OGVkN2QzNzM3MTM2YTIwOGYuZ3oKCjIwMDgtMDctMjUgMTk6MzM6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSWdub3JlIHVwc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnRzIGluIG1pbWRlYwoJICAyMDA4MDcyNTE5MzM1OC0zZTJkYy03YzBmMjIzODZlMDIwOGE0NWVhZTljMWQ3ZWI2MmU4NmY2MWQxNGJhLmd6CgoyMDA4LTA3LTI1IDE5OjI1OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVtaXQgdGhlIHJpZ2h0IHRpbWVzdGFtcCBpbiB0aGUgbmV3c2VnbWVudCBldmVudAoJICAyMDA4MDcyNTE5MjUzMC0zZTJkYy1hM2NjMGNlNzNmY2ExODFjYWVlMzIzZDY5OWQ4NTc2ZGY5MTZlOGQzLmd6CgoyMDA4LTA3LTI1IDE5OjA4OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHZpZGVvL3gtbWltaWMgYXMgdGhlIGNhcHMgdHlwZQoJICAyMDA4MDcyNTE5MDg0OS0zZTJkYy0zOGU0YWNjOWQ0YWQ4MjMxZWQyMmY2Y2M0ZDdkOGMyYThiNTY2OGU5Lmd6CgoyMDA4LTA3LTA0IDIyOjA3OjEzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHByb3BlciBsb2NraW5nIHRvIG1pbWVuYwoJICAyMDA4MDcwNDIyMDcxMy0zZTJkYy02YTIyZDFhNDIzNzE2ZThiODRiYzNiZGE5OTg2YTFiNGZmMGMwZDM3Lmd6CgoyMDA4LTA3LTA0IDIyOjAzOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGltcGxlbWVudGF0aW9uIG9mIGdldGNhcHMgZnJvbSBtaW1kZWMKCSAgMjAwODA3MDQyMjAzMTgtM2UyZGMtZDgxYmM1OWIyMzA4YzVhZDBkMzE0NDAzMGM1NjUwMjk1ZTk5ZjNjNi5negoKMjAwOC0wNy0wNCAyMjowMjo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwcm9wZXIgbG9ja2luZyB0byBtaW1kZWMKCSAgMjAwODA3MDQyMjAyNDMtM2UyZGMtNzFjMTU3ZDgyOTk5ZGZiNDFiZDYyYjQwNjRiMTg4N2FiMjJlODRjMS5negoKMjAwOC0wNy0wNCAyMTo1OTozNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgbGVhawoJICAyMDA4MDcwNDIxNTkzNi0zZTJkYy0yMmQ5OTJmOThjOTkzMWYwNjI2NjJmYzA1ZjFjZTY1YmM5N2Y2MTlhLmd6CgoyMDA4LTA3LTA0IDIxOjU1OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IHRoZSBnc3QgdGltZXN0YW1wIGlmIHRoZSB0aW1lIGRpZmZlcmVudCBpcyB0b28gbGFyZ2UKCSAgMjAwODA3MDQyMTU1NTAtM2UyZGMtNzZlYjNmNjAwZjJiOTc3ZTkxNmY3ZTFmNjU0NTI5ZGRhZmYwNmFjOS5negoKMjAwOC0wNy0wNCAyMTo1MjowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBmaXJzdCBidWZmZXIgYXMgdGhlIGJhc2UKCSAgMjAwODA3MDQyMTUyMDgtM2UyZGMtNTgyMjc3MWYyNjk0ZGVkYTRhN2NkNWNkZDNjMzhhYjllZmY3ZmEyZC5negoKMjAwOC0wNy0wNCAyMTo0OTozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTdG9yZSB0aGUgdGltZXN0YW1wIGluIHRoZSBoZWFkZXIKCSAgMjAwODA3MDQyMTQ5MzUtM2UyZGMtOTBlYzczZGYzMjI1YjQxYmFhNjgxYWI2OTFmYjhiZDQ3ZTE3Yzc4MC5negoKMjAwOC0wNy0wNCAyMToxOTo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZS1pbmRlbnQgbWltZGVjCgkgIDIwMDgwNzA0MjExOTQzLTNlMmRjLWRlZjFlMGRhY2M0YTQ1ZmUyYjRhZmRjYjkwM2ExMzI4Yzk1MTE3YWMuZ3oKCjIwMDgtMDctMDQgMjE6MTU6MTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2ltcGxpZnkgbmV3c2VnbWVudCBjb2RlCgkgIDIwMDgwNzA0MjExNTExLTNlMmRjLWI5OGQxZTViMzFjMjNlYjc5MTIxOTdmOTM2NGEzMTU2MGQwOTJjNjMuZ3oKCjIwMDgtMDctMDQgMjA6NTA6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBtaW1pYyBwbHVnaW5zIHRvIEdTVF9CT0lMRVJQTEFURQoJICAyMDA4MDcwNDIwNTAxMC0zZTJkYy1kYTQxZTU2ODVhYjljZWI2NzU1NWQ0OTkxMjU0MzJjZDEyZDU1MDVkLmd6CgoyMDA4LTA3LTA0IDIwOjQxOjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBpbiBtaW1pYyBwbHVnaW4KCSAgMjAwODA3MDQyMDQxMTItM2UyZGMtMWFiNGI5MTNkNThmYWEwNTg3NDJiMDFlMDgzZjdkZWJkNjg3N2JiMy5negoKMjAwOC0wNy0wNCAyMDoyOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb25mbGljdHMKCSAgMjAwODA3MDQyMDI5NDEtM2UyZGMtN2Y1YTM4ODQ1Yjc5N2UxMmQ2NzI1NTE0NjZlNjM1ZDQ4NGNiNjc2My5negoKMjAwNy0xMS0xMCAwNToxNzoxNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbWltaWMgZW5jIGNoYWluIGZ1bmN0aW9uLCByZXR1cm4gcmVzIGZvciBjaGFpbigpLCBnZXQgdGhlIHBhcmVudCBlbGVtZW50IHdpdGggdGhlIHByb3BlciBhY2Nlc3NvciBmdW5jdGlvbiwgdXNlIHRoZSBfT0JKRUNUIGRlYnVnZ2luZyBtYWNyb3MKCSAgMjAwNzExMTAwNTE3MTctM2UyZGMtNDcyNmZjZDE5Y2MzZDExMjFhNGUxMzI3NmE0MWY1Zjg2ZGMxYzliMS5negoKMjAwNy0xMS0xMCAwNToxNDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBfc2V0X2NhcHMgZnVuY3Rpb24gb2YgbWltaWMgZW5jIG1vcmUgcm9idXN0CgkgIDIwMDcxMTEwMDUxNDI3LTNlMmRjLTM4MWE3MWYyY2JmZGJmNTA4ZTk0MWI2NzJlOTA1OGM4MmZhYmNlMjQuZ3oKCjIwMDctMTEtMTAgMDU6MTQ6MDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHRoZSBnc3QgMC45LjEgaWZkZWYKCSAgMjAwNzExMTAwNTE0MDEtM2UyZGMtMWYwNzFkNzMyZDY0NTczODg5OTc3NDA1OTk1NjkyZDk0YjEwYTBkNi5negoKMjAwNy0xMS0xMCAwNToxMDozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGNhcHMgZ3N0IDAuMTAgY29tcGxpYW50CgkgIDIwMDcxMTEwMDUxMDM1LTNlMmRjLWY3MDI0YmQzZWNmYjY3OTRmZThkMDlkY2IxMDBiYTBiNDc4M2RmNWQuZ3oKCjIwMDctMTEtMTAgMDU6MDk6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50IGluc3RlYWQgb2YgcmVmZmluZyB0aGUgcGFyZW50IGNsYXNzIGRpcmVjdGx5CgkgIDIwMDcxMTEwMDUwOTUwLTNlMmRjLTZkMTRkZGQ2YWUzY2VlZWFhNGU2NDFiN2IwOTYxM2U0NDI5MjdmOTIuZ3oKCjIwMDctMTEtMTAgMDU6MDg6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGZyYW1lc2l6ZSBwcm9wZXJ0aWVzIG9uIHRoZSBtaW1pYyBlbmNvZGVyCgkgIDIwMDcxMTEwMDUwODUyLTNlMmRjLWNiODE2NWMwNzNiZmE5ODE3OTBkYzkxNjkzZmQxYzQ4M2VhN2I2ZWEuZ3oKCjIwMDctMTEtMTAgMDU6MDc6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHRoZSBfT0JKRUNUIGRlYnVnIG1hY3JvcwoJICAyMDA3MTExMDA1MDc1My0zZTJkYy01NjBkMjJhODZlZWExMTA4ZjE3NDZkMDEyMzc0NGQzMzgxMmU5NGM5Lmd6CgoyMDA3LTExLTEwIDA1OjAzOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgaW5zdGVhZCBvZiBsb29raW5nIGludG8gdGhlIEdzdE9iamVjdCBkaXJlY3RseQoJICAyMDA3MTExMDA1MDM1MS0zZTJkYy02MzZmN2Q3NzM3NDk0ZjgxMDA0N2E4ZWU2OTI3Y2RlMDYwYmI0YjRiLmd6CgoyMDA3LTExLTEwIDA1OjAyOjMyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldHVybiBiYWNrIHJlc3VsdCBvZiBwYWQgcHVzaAoJICAyMDA3MTExMDA1MDIzMi0zZTJkYy00YTA4MGQ5Nzk2M2NkOGFiNmQ1MjhjNDAxMmQxNDM1M2MxY2ZlOTdiLmd6CgoyMDA3LTExLTEwIDA0OjExOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT2xlJ3MgcG9ydCB0byBnc3QgMC4xMAoJICAyMDA3MTExMDA0MTEyNS0zZTJkYy1lMjk5NGMzYmJlMTU3OGQ5OGU0ZjcwN2JkMTBmMjRmYWJmOTQyYzJiLmd6CgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMDItMTEgMjI6MjQ6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW1pdCB0aW1lc3RhbXAgZGlmZiBpbiBjYXNlIG9mIGEganVtcCBpbiB0aGUgdGltZXN0YW1wcwoJICAyMDA4MDIxMTIyMjQzMS00ZjBmNi03MjZmYzY2NDAzMDgxNTMzMzcxZjc3NTk1NGFhYjRjN2I4ZmRjNjQzLmd6CgoyMDA4LTAyLTA2IDAzOjE2OjU0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBiYWNrIHRvIDMwIGZwcyBpbiBjYXBzCgkgIDIwMDgwMjA2MDMxNjU0LTRmMGY2LWQ4MTk3ZTUzODg4OTA2ODA1MDQxZTY1NTJjMGRkNzc0YzU1ZTllODkuZ3oKCjIwMDgtMDItMDYgMDM6MDk6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHRpbWVzdGFtcHMgaW4gZ3N0IGJ1ZmZlcnMgc2VudCBieSBnc3RtaW1pYwoJICAyMDA4MDIwNjAzMDk0Ny00ZjBmNi05ZGM3ZDliMWE5MmE3MTdjNzFiMWU0OTBhNTU5MWYwZTJmZmUwZGFkLmd6CgoyMDA4LTAyLTA2IDAyOjAzOjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGZyYW1lcmF0ZSB0eXBlIGluIGNhcHMgZm9yIGdzdG1pbWljIGVsZW1lbnQKCSAgMjAwODAyMDYwMjAzMzUtNGYwZjYtMGQ5ZTEzNjAzOWFkNmI3Yjg0OTgyYmRhYzI0MmEwNTlkNTBmYmI2Ni5negoKMjAwNi0wMy0yNCAyMDoxNjoxOSArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlZCBjb3VwbGUgb2YgY29tcGlsYXRpb24gaXNzdWVzCgkgIDIwMDYwMzI0MjAxNjE5LTI0MjViLWJmMzM5OTI2ZjUzM2FhNGVmZWNlODU1ZmJiZTk0ZTU5YzdiYjk1NWYuZ3oKCjIwMDYtMDMtMjQgMTk6NTc6MjAgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsbHMgdG8gZ3N0X3BhZF9nZXRfcGFyZW50IHJlZiB0aGUgb2JqZWN0IHNvIGl0IG5lZWRzIHRvIGJlIHVucmVmZmVkIDwgaGV4YTAwQGdtYWlsLmNvbQoJICAyMDA2MDMyNDE5NTcyMC0yNDI1Yi0xNzkyOGJlMzRlZTY3ZjcxZWZiYWY2MmRlNzZkZWJhOWFkMTNmMGYyLmd6CgoyMDA2LTAyLTE0IDIxOjAwOjI3ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlcGFyYXRlZCBFUlJPUl9DRkxBR1MgZnJvbSBHU1RfQ0ZMQUdTCgkgIDIwMDYwMjE0MjEwMDI3LTI0MjViLTFmOWU2ZWQ1OTFjMDhlNTkwN2QwMmVmN2VhOWE4Y2Y2MmJmMjk4NDAuZ3oKCjIwMDUtMTAtMjQgMTU6Mzc6NDggKzAwMDAgIFBoaWxpcHBlIEtoYWxhZiA8YnVyZ2VyIGF0IHNwZWVkeSBkb3Qgb3JnPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2hvdWxkIG5vdCBiZSBkb25lIGluIGRpc3Bvc2UsIG1vdmluZyB0byBmaW5hbGl6ZQoJICAyMDA1MTAyNDE1Mzc0OC0wNTQ1OS05NjI1ZmVjMDU1NDdjNTM1YmY1ZjNjNjZhZWJiYTg0ODYxYjU0OWFhLmd6CgoyMDA1LTA3LTE2IDE5OjUwOjIxICswMDAwICBQaGlsaXBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvLmdpdC1kYXJjcy1kaXI6CgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcG9ydCBmcm9tIENWUyB0byBkYXJjcwoKMjAwOS0wMy0wMyAxNDozMjozOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgcnRwbXV4OiBJZ25vcmUgcnRwbXV4IGdldF90eXBlIGZ1bmN0aW9uIGZvciBkb2NzCgoyMDA5LTAzLTAzIDE5OjA4OjI4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbWVtbGVhawoJICBGaXggbWVtbGVhayBpbiBtcGVndHNfcGFja2V0aXplcl9jbGVhciB3aGVyZSBNcGVnVFNQYWNrZXRpemVyU3RyZWFtIGlzCgkgIG5vdCBmcmVlZCBwcm9wZXJseSB3aGVuIHVzaW5nIGZvcmVhY2hfc3RyZWFtX2NsZWFyIGZ1bmN0aW9uLgoKMjAwOS0wMy0wMyAxODoyODoxMCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBkeW5hbWljYWxseSBhZGp1c3QgdGhlIHN5bmMgTFVUIHRhYmxlCgkgIE1ha2UgdGhlIHN5bmMgTFVUIHRhYmxlIGFkanVzdGVkIGR5bmFtaWNhbGx5IGFjY29yZGluZyB0byB0aGUgc2l6ZQoJICBvZiBzY2FubmVkIGRhdGEuIEZpeGVzIGRlbXV4aW5nIGJ1ZmZlcnMgb2YgYW55IHNpemUuCgoyMDA5LTAyLTI1IDIxOjA1OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBJbXBvcnQgZnNzZWxlY3RvciBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IGFzIGF1dG9jb252ZXJ0CgkgIGZzc2VsZWN0b3IgaXMgdG9vIGNsb3NlIHRvIHNlbGVjdG9yLCBzbyBpbXBvcnQgaXMgYXMgYXV0b2NvbnZlcnQuIE5vdCBpbXBvcnRpbmcKCSAgdGhlIGhpc3RvcnkgYmVjYXVzZSB0aGUgZGlyZWN0b3J5IGlzIGFsc28gY2FsbGVkIGdzdC9zZWxlY3RvciBhbmQgaXQgZmFpbHMuCgoyMDA5LTAzLTAyIDEwOjU3OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBhIGJpdCBtb3JlIHZlcmJvc2UgaW4gb3VyIGRlYnVnIG1lc3NhZ2Ugd2hlbiBmYWlsaW5nIHRvIHJlbmVnb3RpYXRlCgoyMDA5LTAzLTAyIDE3OjAwOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmZGVtdXg6IFVzZSBhcnJheXMgaW5zdGVhZCBvZiBsaXN0cyBmb3IgdGhlIG1ldGFkYXRhIHJlZ2lzdHJpZXMKCjIwMDktMDMtMDIgMTY6Mjk6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBSZWR1Y2UgcHJvYmFiaWxpdHkgdG8gUE9TU0lCTEUKCjIwMDktMDMtMDIgMTY6Mjc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBBZGQgbG9ja2luZyB0byB0aGUgeGRnX21pbWVfKiBjYWxscyBhcyBpdCdzIG5vdCB0aHJlYWQtc2FmZQoKMjAwOS0wMy0wMSAyMDoxODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkgIHhkZ21pbWU6IFVzZSBnX3BhdHRlcm5fbWF0Y2hfc2ltcGxlKCkgaW5zdGVhZCBvZiBmbm1hdGNoKCkgZm9yIFdpbjMyIGNvbXBhdGliaWxpdHkKCjIwMDktMDMtMDEgMjA6MTM6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJICB4ZGdtaW1lOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDMtMDEgMjA6MTI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSAgeGRnbWltZTogRG9uJ3Qgd2FybiBpZiB3ZSBoYXZlIG5vIE1NQVAgc3VwcG9ydAoKMjAwOS0wMy0wMSAyMDoxMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJICB4ZGdtaW1lOiBVc2UgZ19udG9oW2xzXSBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiBmdW5jdGlvbnMgZm9yIFdpbjMyIGNvbXBhdGliaWxpdHkKCjIwMDktMDMtMDEgMjA6MDk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSAgeGRnbWltZTogVXNlIEdfQllURV9PUkRFUiBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gTElUVExFX0VORElBTiB0byBiZSBkZWZpbmVkCgoyMDA5LTAzLTAxIDIwOjAyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogRG9uJ3QgY29tcGlsZSB1bnVzZWQgY29kZSBmcm9tIGxvYWQuYwoKMjAwOS0wMi0yOCAyMzo0NzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIHJlYWxkZWM6IHVzZSBnc3RfcGx1Z2luX2FkZF9kZXBlbmRlbmN5KCkKCjIwMDktMDItMjggMTU6MjM6MDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzeW5jd29yZC4obm9uZSk+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBhY21lbmM6IGZpeCB3aGl0ZXNwYWNlCgkgIENvbnZlcnQgdG8gdW5peCBuZXdsaW5lcywgYW5kIHJlaW5kZW50IGluIHNvbWUgYnJva2VuIHBsYWNlcy4KCjIwMDktMDItMjggMjA6NDI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBtZW1vcnkgbGVhawoJICBnc3Rfc3RydWN0dXJlX2lkX3NldCgpIHdpbGwgY29weSBHc3RTdHJ1Y3R1cmVzIGluc3RlYWQgb2YgdGFraW5nCgkgIHRoZSBvd25lcnNoaXAuCgoyMDA5LTAyLTI4IDIwOjM5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IFN0b3JlIHRoZSBtZXRhZGF0YSB0eXBlIElEIGluc2lkZSB0aGUgY2xhc3Mgc3RydWN0dXJlCgoyMDA5LTAyLTI4IDE5OjQxOjEwICswMTAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVndHNkZW11eDogRml4IG1lbW9yeSBsZWFrcyB3aGVuIFBVU0kgaXMgbWlzc2VkIGR1ZSB0byBwYWNrZXQgbG9zcwoJICBGaXhlcyBidWcgIzU3MzI4OC4KCjIwMDktMDItMjggMTE6NDM6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbnNmL2Ztb3BsLmM6CgkgIG5zZjogRG9uJ3Qgd3JpdGUgZnVydGhlciB0aGFuIHRoZSBsaW1pdHMgb2YgdGhlIHRhYmxlIChzaXplIGlzIDc1LCBhcyBkZWZpbmVkIGluIHRoZSBoZWFkZXIpCgkgIGdjYyA0LjMuMyBmb3VuZCB0aGlzIG9uZSwgSSdtIGltcHJlc3NlZC4KCjIwMDktMDItMjggMTA6Mjk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGY6IERvbid0IHVzZSBHTGliIDIuMTYgQVBJIHVuY29uZGl0aW9uYWxseSBpbiB0aGUgZXhhbXBsZQoKMjAwOS0wMi0yNyAyMDo0MzoyNSArMDEwMCAgQW5kcnplaiBQb2xhdHnFhHNraSA8YXBvbGF0eW5za2lAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IEZpeCBicmlnaHRuZXNzIGNhbGN1bGF0aW9uIHRvIG5vdCBvbmx5IHVzZSB0aGUgZmlyc3Qgcm93c3RyaWRlCgkgIEZpeGVzIGJ1ZyAjNTczMzkxLgoKMjAwOS0wMi0yNyAxMTozNjo1OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBjb3JyZWN0IHZhbHVlcyBmb3IgY2hlY2tpbmcgVk8gc3RhcnRjb2RlLgoJICBGaXggY29tcGlsZXIgd2FybmluZyBkdWUgdG8gY29uZGl0aW9uIGFsd2F5cyBiZWluZyB0cnVlIC0gc2luY2Ugd2UncmUKCSAgb25seSBsb29raW5nIGF0IHRoZSBmaW5hbCBieXRlIG9mIHRoZSBzdGFydGNvZGUgKG5vdCB0aGUgbGVhZGluZwoJICAweDAwMDAwMSksIG9ubHkgY2hlY2sgZm9yIDwgMHgxZiwgbm90IDwgMHgxMWYKCjIwMDktMDItMjcgMjA6MjE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBVc2UgZW1wdHkgY2FwcyBmb3IgcmVnaXN0ZXJpbmcgdGhlIHR5cGVmaW5kZXJzIHdpdGggb2xkIGNvcmUgdmVyc2lvbnMKCSAgY29yZSBiZWZvcmUgMC4xMC4yMi4xIHByb2R1Y2VkIGFzc2VydGlvbnMgd2hlbiBzdG9yaW5nIHR5cGVmaW5kIGZhY3RvcmllcwoJICB3aXRoIE5VTEwgY2FwcyBpbiB0aGUgcmVnaXN0cnkuCgoyMDA5LTAyLTI2IDE1OjQwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgbW9yZSBmb3JtYXRzCgkgIFdlIG9ubHkgbmVlZCBhIFZpZGVvIE9iamVjdCBTdGFydCBjb2RlIGJlZm9yZSB3ZSBjYW4gc3RhcnQgcHVzaGluZyBvdXQgZGF0YS4KCSAgU2VhcmNoIGZvciB0aGlzIGNvZGUgYWxzbyBpbnN0ZWFkIG9mIG9ubHkgbG9va2luZyBmb3IgVk9TIGFuZCBWT1AuCgkgIEZpeGVzICM1NzI1NTEuCgoyMDA5LTAyLTI3IDEyOjAzOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJ3dvcmsnCgoyMDA5LTAyLTI3IDExOjU2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgZG9jczogSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMDktMDItMjcgMTE6NTU6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBNb3ZlIGRlZmluZSBpbnRvIHRoZSBDIGZpbGUgc28gaXQgZG9lc24ndCBzaG93IHVwIGluIHRoZSBkb2NzCgoyMDA5LTAyLTI3IDExOjU0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJICBkb2NzOiBFbnJvbGwgZGlyYWMgcGx1Z2luIGludG8gdGhlIGRvY3MKCjIwMDktMDItMjcgMTE6Mzk6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBBZGQgc29tZSBiYXNpYyBkb2NzIHRvIHRoZSBwbHVnaW4KCjIwMDktMDItMjcgMTA6MTY6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJICBhcGV4c2luazogVXNlIGEgdW5pb24gdG8gYXZvaWQgdHlwZS1wdW5uaW5nIHN0cmljdCBhbGlhc2luZyBjb21waWxlciB3YXJuaW5nLgoKMjAwOS0wMi0yNyAxMjozNToxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXdvcmsgc2lnbmFsaW5nIGFuZCB0ZXN0cwoJICBSZXZlcnQgdGhlIEdTdHJpbmcgY2hhbmdlLiBUaGVyZSBhcmUgbm8gbWFyc2hhbGxlcnMgZm9yIGl0LiBBIGJldHRlciBjaGFuZ2UgaXMKCSAgbm93IGRlc2NyaWJlZCBpbiBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzMzNzAuCgkgIFRlc3Qgc2hvdWxkIHdvcmsgYWdhaW4uCgoyMDA5LTAyLTI3IDExOjI0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnQgbGFzdCBjaGFuZ2UgYW5kIHByb3Blcmx5IGZpeAoJICBCYXNlcGFyc2UgaW50ZXJuYWx5IGJyZWFrcyB0aGUgc2VtYW50aWNzIG9mIGEgX2NoYWluIGZ1bmN0aW9uIGJ5IGNhbGxpbmcgaXQgd2l0aAoJICBidWZmZXI9PU5VTEwuIFRoZSByZXNvbiBJIGJlbGl2ZWQgaXQgd2FzIG9rYXkgdG8gcmVtb3ZlIGl0IHdhcyB0aGF0IHRoZXJlIGlzCgkgIGFsc28gYW4gdW5jaGVja2VkIGFjY2VzcyB0byBidWZmZXIgbGF0ZXIgaW4gX2NoYWluLiBBY3R1YWxseSB0aGF0IGNvZGUgaXMgd3JvbmcsCgkgIGFzIGl0IG1vc3QgcHJvYmFibHkgd2FudHMgdG8gc2V0IGRpc2NvbnQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlci4KCjIwMDktMDItMjcgMTE6MDY6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSAgcXR3cmFwcGVyOiBPbmx5IHVzZSBfZHVtcF9tZW0oKSBpZiByZXF1ZXN0ZWQuCgoyMDA5LTAyLTI2IDEyOjQ4OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEFkZCB2MjEwIGZvcm1hdAoKMjAwOS0wMi0yNiAxMjo0NzoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBGaXggaW5jb3JyZWN0ICJwaXhlbF9hc3BlY3RfcmF0aW8iIGluIGNhcHMKCSAgU2hvdWxkIGJlICJwaXhlbC1hc3BlY3QtcmF0aW8iLgoKMjAwOS0wMi0yNiAxODo0NjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmOiBBZGQgZXhhbXBsZSBhcHBsaWNhdGlvbiB0byBvdXRwdXQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdHJlZSBpbnRvIGEgR3RrVHJlZVZpZXcKCjIwMDktMDItMjYgMTM6MTA6MjkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwYmluOiBEb24ndCBmb3J3YXJkIHJldmMgZXZlbnRzIHRvIHNlbmRlcgoJICBEb24ndCBzZW5kIGV2ZW50cyBmcm9tIHRoZSByZWNlaXZlciB0byB0aGUgc2VuZGVyIHNpZGUuCgkgIEZpeGVzICM1NzI5MDAuCgoyMDA5LTAyLTI2IDExOjAyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgY2hlY2tzIGZvciBidWZmZXI9PU5VTEwKCSAgQWNjb3JkaWZuIHRvIGRvY3MgZm9yIEdzdFBhZENoYWluRnVuY3Rpb24gYnVmZmVyIGNhbm5vdCBiZSBOVUxMLiBJZiB3ZSB3b3VsZAoJICBsZWF2ZSB0aGUgY2hlY2ssIHdlIHdvdWxkIGFsc28gbmVlZCBtb3JlIHN1Y2ggY2hlY2sgYmVsb3cuCgoyMDA5LTAyLTI1IDE1OjA2OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IFVwZGF0ZSBzaGF2ZSBpbml0IHN0YXRlbWVudCBmb3IgY2hhbmdlcyBpbiBjb21tb24uIEJ1bXAgY29tbW9uLgoKMjAwOS0wMi0yNSAxNToyNDoxMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgdGVzdHM6IGFkZCBhIHRpbWVvdXQgb2YgNSBzbGlnaHRseSBhYm92ZSB0aGUgZGVmYXVsdAoKMjAwOS0wMi0yNSAxNToxNzoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaW5jcmVhc2UgdGltZW91dCBhbmQgbG93ZXIgdmlkZW8gcmVjb3JkaW5nIGxlbmd0aAoJICBUaGUgdmlkZW8gd2FzIHJlY29yZGVkIGZvciB0b28gbG9uZyBmb3IgdGhlIHRlc3QgdGltZW91dHMuIEFsc28gdGhlIHZlcmlmaWNhdGlvbgoJICBzdWl0ZSBkaWQgbm90IGhhZCBjdXN0b20gdGltb3V0cyBhdCBhbGwuIEFsc28gc3BsaXQgdGhlIHZlcmlmaWNhdGlvbiBmb3IgaW1hZ2VzCgkgIGFuZCB2aWRlbyB0byBnZXQgYmV0dGVyIHJlcG9ydGluZy4KCjIwMDktMDItMjUgMTE6MzI6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWNmOGM5YiB0byBhNmNlNWM2CgoyMDA5LTAyLTI1IDEyOjM0OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBkY2NwIHBsdWdpbnMuCgkgIFVubGVzcyBvbmUgcnVucyBhIHZlcnkgcmVjZW50IGtlcm5lbCwgdGhleSBjYW4gZWFzaWx5IGxvY2t1cCB0aGUgd2hvbGUgc3lzdGVtLgoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMjUgMTE6MzQ6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvbid0IGlnbm9yZSBHc3RGbG93UmV0dXJuIHZhbHVlcwoJICBkb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBwdWxsX3JhbmdlIGJlY2F1c2Ugd2Ugb25seSBnZXQgYSB2YWxpZCBub24tTlVMTAoJICBidWZmZXIgd2hlbiB0aGUgcmV0dXJuIHZhbHVlIGlzIEdTVF9GTE9XX09LLiBBdm9pZHMgYSBjcmFzaCB3aGVuIHRoZSBwaXBlbGluZSBpcwoJICBzaHV0dGluZyBkb3duLgoKMjAwOS0wMi0yNSAxMTo0MTozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBzaWduYWwgbWFyc2hhbGxlciBhbmQgZG9jcwoJICBVc2UgR1N0cmluZyBpbnN0ZWFkIG9mIEdQb2ludGVyIGZvciB0aGUgbWFyc2hhbGxlciBhcyB0aGlzIGlzIHdoYXQgdGhlIGNhbGxiYWNrIHVzZXMuCgkgIFNsaWdodGx5IHJlZm9ybWF0IGRvY3MuCgoyMDA5LTAyLTI1IDExOjM4OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL2NhbWVyYWJpbi5kb3Q6CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL2NhbWVyYWJpbi5wbmc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIHRvIGFkZCBjYW1lcmFiaW4gYW5kIGl0cyBmaWd1cmUKCjIwMDktMDItMjUgMTE6MDA6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGdldCByaWQgb2YgLy8gY29tbWVudCBhbmQgZXhwbGFpbgoKMjAwOS0wMi0yNSAxMDo0NjoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIGNoZWNrIHVuaXQgdGVzdAoJICBVc2UgcGxheWJpbjIgZm9yIHZhbGlkYXRpb24uIFVzZSB0bXBfZGlyIGZvciBjYXB0dXJpbmcuIFdhaXQgd2l0aCBnX2NvbmQgZm9yCgkgIGJ1cnN0IGNhcHR1cmUgZmluaXNoLiBDbGVhbnVwIHNvbWUgZ19vYmplY3Rfc2V0LiBBZGQgc29tZSBsb2dnaW5nIHRvIGVhc2UKCSAgdHJhY2luZy4KCjIwMDktMDItMjUgMTA6NDU6MTkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdW5ibG9jayBjb3JyZWN0IHBhZCBpbiByZXNldCwgc3VwcG9ydCBmYWtlc2luayBhcyB2aWV3IGZpbmRlcgoKMjAwOS0wMi0yNCAxNjozNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgIFJlbW92ZSB0ZXN0cy9leGFtcGxlcy9hcHAgYXMgaXQgd2FzIG1vdmVkIHRvIC1iYXNlIGEgbG9uZyB0aW1lIGFnbwoKMjAwOS0wMi0yNCAxNjozMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgTW92ZSBleGFtcGxlcyBkaXJlY3RvcnkgdG8gdGVzdHMvZXhhbXBsZXMgYXMgaW4gZXZlcnkgb3RoZXIgR1N0cmVhbWVyIG1vZHVsZQoKMjAwOS0wMi0yNCAxNjoyMToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogVXNlIG5ldyBEQ0EgZnVuY3Rpb25zL2NvbnN0YW50cyBhcyBub3QgYWxsIGRpc3Ryb3MgcGFja2FnZSB0aGUgY29tcGF0IGR0cy5oCgkgIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdlIGRlZmluZSB0aGUgRENBIGZ1bmN0aW9ucy9jb25zdGFudHMgdG8gdGhlCgkgIG9sZCBEVFMgZnVuY3Rpb25zL2NvbnN0YW50cyBpZiB3ZSdyZSBidWlsZGluZyBhZ2FpbnN0IGxpYmR0cy4KCjIwMDktMDItMjQgMTU6MjY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50Lmg6CgkgIHhkZ21pbWU6IEFkZCBuZXcgdHlwZWZpbmRlciBiYXNlZCBvbiB4ZGdtaW1lCgkgIFRoaXMgdHlwZWZpbmRlciBpcyBtb3N0bHkgdXNlZnVsIHRvIGZpbHRlciBvdXQgYW55IGZhbHNlIHBvc2l0aXZlcwoJICBieSB0aGUgb3RoZXIgdHlwZWZpbmRlcnMgbGlrZSB0aGUgdXN1YWwgV29yZCBkb2N1bWVudCBtaXNkZXRlY3RlZCBhcwoJICBNUDMgZmlsZS4KCjIwMDktMDItMjQgMTM6Mzc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBkdHM6IFByZWZlciBsaWJkY2Egb3ZlciBsaWJkdHMgYXMgaXQncyB0aGUgc3VjY2Vzc29yCgoyMDA5LTAyLTIzIDE2OjAyOjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMi0yMyAxNToyNTowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMi0yMCAxMjowODowNCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBBZGQgYXNwZWN0IHJhdGlvIGNhcHNmaWx0ZXIgZm9yIHZpZXcgZmluZGVyCgkgIElmIGRlYWxpbmcgd2l0aCBsYXJnZXIgZnJhbWUgc2l6ZXMgdGhhbiB2aWV3IGZpbmRlciBzaW5rIGVsZW1lbnQKCSAgYWNjZXB0cyB0aGVuIG1haW50YWluIGFzcGVjdCByYXRpbyB3aGVuIHNjYWxpbmcgZnJhbWVzIHRvIGZpdC4KCjIwMDktMDItMjAgMTI6MDc6MzMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2NhbGUgaW5jb21pbmcgZnJhbWVzIGlmIHRoZWlyIHNpemUgZG9lcyBub3QgbWF0Y2ggcmVxdWVzdGVkIHNpemUKCSAgSWYgY2FwdHVyZSBwcmVwYXJhdGlvbiBpbiB2aWRlb3NyYyByZXN1bHRzIGluIGZyYW1lIHNpemUgZGlmZmVyZW50CgkgIGZyb20gcmVxdWVzdGVkIHNpemUsIHRoZW4gd2UgbmVlZCB0byBzY2FsZSB0aGVtLgoKMjAwOS0wMi0yMCAxMjowMzowMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG8gaWZhY2U6IEFkZCBjYXBzIG9iamVjdCB0byBwcmVwYXJhdGlvbiBBUEkgZm9yIHJlcXVlc3RlZCBhbmQgYWN0dWFsIGNhcHR1cmUgZm9ybWF0CgkgIEFsbG93IHJlcXVlc3Rpbmcgb2YgY2VydGFpbiBmb3JtYXQgd2l0aCBwcmVwYXJlX2Zvcl9jYXB0dXJlKCkgYW5kIHJldHVybgoJICB0aGUgYWN0dWFsIGZvcm1hdCBpbiBHc3RQaG90b0NhcHR1cmVQcmVwYXJlZCBjYWxsYmFjay4KCjIwMDktMDItMjMgMTE6NDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IEFkZCBzb3VuZHRvdWNoJ3MgLWxCUE0gdG8gX0xJQlMsIG5vdCBfQ0ZMQUdTCgoyMDA5LTAyLTIyIDIyOjAwOjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgZGNjcDogRml4ICJub24tdm9pZCB3aXRob3V0IHJldHVybiB2YWx1ZSIgY29tcGlsYXRpb24gaXNzdWUuCgoyMDA5LTAyLTIyIDE5OjE3OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIERldGVjdCBsaWJzb3VuZHRvdWNoIDEuNCBhbmQgaGlnaGVyLgoJICBJbiBsaWJzb3VuZHRvdWNoIDEuNCwgbGliQlBNIGFwcGVhcnMgdG8gaGF2ZSBiZWVuIHN1YnN1bWVkIGludG8KCSAgbGliU291bmRUb3VjaCwgYW5kIGludG8gdGhlIHNvdW5kdG91Y2ggbmFtZXNwYWNlLgoKMjAwOS0wMi0yMiAxODoxMjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVzZSBzaGF2ZSBmb3IgdGhlIGJ1aWxkIG91dHB1dAoKMjAwOS0wMi0yMiAxODo0MTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY29tcGlsYXRpb24gb24gV2luZG93cyB3aXRoIFZpc3VhbCBTdHVkaW8KCSAgV2luZG93cyBkb2Vzbid0IGhhdmUgc3RyY2FzZWNtcCBzbyB3ZSBzaG91bGQgdXNlCgkgIGdfYXNjaWlfc3RyY2FzZWNtcCBoZXJlIGluc3RlYWQuCgkgIEFsc28gV2luZG93cyBkb2Vzbid0IGhhdmUgc3lzL3RpbWUuaCBzbyB3ZSBmaXJzdAoJICBuZWVkIHRvIGNoZWNrIGlmIGl0IGFjdHVhbGx5IGV4aXN0cyBhbmQgaWYgbm90CgkgIHdlIHNob3VsZCBub3QgaW5jbHVkZSBpdC4KCSAgRml4ZXMgYnVnICM1NzIzMTUuCgoyMDA5LTAyLTIyIDE1OjU4OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVkN2M5Y2MgdG8gOWNmOGM5YgoKMjAwOS0wMi0yMiAxNDo1ODozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRG9uJ3QgdXNlIHZvaWQgKiBwb2ludGVyIGFyaXRobWV0aWMKCjIwMDktMDItMjIgMTM6MTc6NTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5nCgoyMDA5LTAyLTIxIDExOjEzOjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODBjNjI3ZCB0byA1ZDdjOWNjCgoyMDA5LTAyLTEwIDE3OjAyOjI0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgTW92ZWQgcnRwbXV4IGZyb20gZ3N0LXAtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0NTo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxOToxMToxNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvY3VtZW50IHJ0cCBtdXhlciBhIGJpdAoKMjAwOS0wMi0yMCAxMzozMDo0OSAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHNpZ25hbHMgYmVmb3JlIHN0cmVhbSBsb2NrIGFuZCBhZnRlciB1bmxvY2tpbmcKCjIwMDktMDItMTggMjA6MTg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMZXQgc3NyYyB0aHJvdWdoIGdldGNhcHMKCjIwMDktMDItMTggMTk6NTg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgaGF2ZV9iYXNlIHRvIGhhdmVfdHNfYmFzZQoKMjAwOS0wMi0xOCAxODoxNDo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3RlY3QgdGhlIHNlcW51bSB3aXRoIG9iamVjdCBsb2NrIGluIHJ0cG11eAoKMjAwOS0wMi0xOCAxODowNzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgc2lua190c19iYXNlCgoyMDA5LTAyLTE4IDE1OjIwOjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSGF2ZSBnZXRjYXBzIHRvIGZvcmNlIHRoZSBzYW1lIGNsb2NrcmF0ZSBvbiBhbGwgcGFkcwoKMjAwOS0wMi0xOCAxNzowNToxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFZhbGlkYXRlIFJUUCBkYXRhIGluIFJUUCBNdXgKCjIwMDktMDItMTggMTQ6MTY6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGNsb2NrLXJhdGUgcHJvcGVydHkKCjIwMDktMDItMTggMTM6NTY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSBsb2NraW5nIGluIHJ0cGR0bWZtdXgKCjIwMDktMDItMTggMTM6MzI6NTYgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6NTU6MjIgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXBkYXRlIHNlcW51bSBiYXNlIGluIHJ0cCBtdXhlcgoJICBXaXRoIGhlbHAgZnJvbSBXaW0KCjIwMDgtMTItMDEgMTc6NTQ6NTggLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBzb21lIG1vcmUgbGVha3MKCjIwMDgtMTItMDEgMTc6NDg6MjkgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBsZWFrCgoyMDA4LTA5LTI5IDE1OjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdW5yZWYgY2FwcyB3ZSBkb24ndCBrbm93ICh0aGFua3MgV2ltKQoKMjAwOC0wOC0xMiAxMjo0ODowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBwZXItYnVmZmVyIGRlYnVnIGF0IGxldmVsIExPRwoKMjAwOC0wOC0xMiAxMjo0NzoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZGVidWcgcHJpbnQgYWNjdXJhdGUKCjIwMDgtMDgtMTIgMTI6NDY6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgb3VyIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCjIwMDgtMDgtMTIgMTI6NDY6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1iYXNlIHN0b3JlZCBmcm9tIHRoZSBsYXN0IHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6NDE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTdG9yZSB0aGUgY2xvY2stYmFzZSBvbiBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjMwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhZHByaXZhdGUgdG8gdGhlIHJlcXVlc3QgcGFkcwoKMjAwOC0wOC0xMiAxMjoyMzozMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgd2hpdGVzcGFjZSBpbiBnc3RydHBtdXgKCjIwMDgtMDgtMTEgMjE6MjA6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGluZGVudGF0aW9uIG1vcmUgY29ycmVjdAoKMjAwOC0wOC0xMSAyMTowNTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0eXBvCgoyMDA4LTA4LTExIDIxOjAzOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHNlcW51bS1iYXNlIGFuZCBjbG9jay1iYXNlIGluIGNhcHMgZnJvbSBydHBtdXhlcgoKMjAwNy0wOC0xNSAxMzo1MDozOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwODE1MTM1MDM4LWYzZjFlLTljN2E1NDkwYTUyNWM2ZTg3NTNjYjFiOGMwMzM1NGRmOTkxMzJiNWMuZ3oKCjIwMDctMDgtMjMgMjE6MjI6MjUgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN5bmMgaml0dGVyYnVmZmVyIHdpdGggQ1ZTIC1iYWQKCSAgMjAwNzA4MjMyMTIyMjUtMjQyNWItMGZlNjliZjcyNTM5Njc4ZGRhNDVkNjE1YTA5ZjFjYmY1MDJjYzcxYS5negoKMjAwNy0wOC0yMCAxODo1MDozMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtaXNzaW5nIGNvbW1lbnQKCSAgMjAwNzA4MjAxODUwMzItNGYwZjYtMGFiNjdiNmFjNDBkZDRlMzVhOGZlNTNmM2NiNmRhZmY2NWNlNDNiOS5negoKMjAwNy0wNy0xMiAxOTo1MzozNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBidWZmZXIgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgaW50byBpdAoJICAyMDA3MDcxMjE5NTMzNi0zZTJkYy05MWE1ZmI3OTdjZmE0OTE5ZDRlMmY5YTcyOGM2ZDZmYmQzYjgzZDkzLmd6CgoyMDA3LTA3LTA2IDIwOjI0OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgcGFkcyBhY3RpdmUgd2hlbiBhZGRpbmcgdGhlbSB0byBhIHBvdGVudGlhbGx5IHJ1bm5pbmcgZWxlbWVudAoJICAyMDA3MDcwNjIwMjQ1OS0zZTJkYy1hMzczMWY4ODU3MjU1OTRkZWYwYTdiZTk5N2ZjN2IzYTczOWVlOTY3Lmd6CgoyMDA3LTA2LTA3IDEyOjAxOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbXVsdGlwbGUgcmVmIGxlYWtzIChwYXRjaGVzIGJ5IFNQIEdMRSkKCSAgMjAwNzA2MDcxMjAxMjEtM2UyZGMtMDYxZTllZjdhNDdiMWI4NGZhOGY4MDkyZjRiOGJjYzBlNmRiOGM4Yy5negoKMjAwNy0wNS0yOCAxNToyNTowNSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHNlbmQgZXZlbnQgdG8gYWxsIHNyYyBwYWRzCgkgIDIwMDcwNTI4MTUyNTA1LWYzZjFlLTAzOTIxNmM3M2RjOTNmNjRjNDk5NjJjNzdhMDI1M2NiOWNmZWM0ZDMuZ3oKCjIwMDctMDUtMjggMTI6Mzc6NDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBwcmludCBhIHdhcm5pbmcgaWYgcmVjZWl2ZSBhbiBlcnJvciBpdGVyYXRpbmcgc2lua3BhZHMKCSAgMjAwNzA1MjgxMjM3NDktZjNmMWUtNGMxZWIzZjUxMWI1NjEwMTQzNjEwYTY1YTk0ZDExN2YyYzNkMjU4MC5negoKMjAwNy0wNS0yOCAxMjoyODowOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYWwgd2l0aCBhbGwgdGhlIGdzdF9pdGVyYXRvcl9uZXh0KCkgcmV0dXJuIHZhbHVlcwoJICAyMDA3MDUyODEyMjgwOC1mM2YxZS1kMzAxNjQ0YzNiZTc2MzNlYzZkYzVlMjg1OTZlOTM0NmQyZGE2YTUwLmd6CgoyMDA3LTA1LTI1IDEyOjMxOjE2ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV0dXJuIGNvcnJlY3QgdmFsdWUgZnJvbSB0aGUgZXZlbnQgaGFuZGxlcgoJICAyMDA3MDUyNTEyMzExNi1mM2YxZS0xMzFiMzdiNWY0NTIxNjE4ZmUyZjEzMjA0MDlhNDdlNjViMzVhZDJkLmd6CgoyMDA3LTA1LTI1IDEwOjI3OjA5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVmlsbGUncyBvcmlnaW5hbCBwYXRjaCB0byBmaXggdGhlIHRyYXZlcnNhbCBvZiBkdG1mIGV2ZW50CgkgIDIwMDcwNTI1MTAyNzA5LWYzZjFlLTZjNDFkMWVmOTM0MDY4YTRmNGU4MTBlN2U5ODFiNDIwMDc1YjBjOTguZ3oKCjIwMDctMDMtMjkgMTM6NTI6NTAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCB0aGUgY29ycmVjdCB0cy1vZmZzZXQgb24gdGhlIGdldF9wcm9wIHZhbHVlCgkgIDIwMDcwMzI5MTM1MjUwLTY1MDM1LWE0M2UyMjJkOTFkNTdjMGE2MWNiMzI4NzU4NmFhYTI5YWJmNzg2NzQuZ3oKCjIwMDctMDMtMjkgMTM6NTI6MjMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yaXplIHN0YXRlX2NoYW5nZQoJICAyMDA3MDMyOTEzNTIyMy02NTAzNS0yM2EwMTA3YjJlMzk3NzEwZjAzNWM2ZTg4Y2MwZTQ5YjY1YmI0ZDVkLmd6CgoyMDA3LTAzLTI5IDEzOjM2OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBzZXQgU1NSQyBvbiB0aGUgcGFja2V0cwoJICAyMDA3MDMyOTEzMzYyMi02NTAzNS0xYmU2ZTBhYTg1YTcxMzg5ZjdkMjU3YjljZDNlMTNhNzNkNmI3NDViLmd6CgoyMDA3LTAzLTI5IDEzOjE5OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb2RlIGNsZWFuLXVwIGFuZCBtb3JlIGRlYnVnIG91dHB1dAoJICAyMDA3MDMyOTEzMTkzNi02NTAzNS05ZDQ5OWUyMDllMGQ3YTQwOWMzYWEwZDEwNDA3NzhiYWJmMDc2MTc5Lmd6CgoyMDA3LTAzLTI4IDExOjIyOjE5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2Ugb3duIGNsb2NrLWJhc2UKCSAgMjAwNzAzMjgxMTIyMTktNjUwMzUtMWJhNWZlZmJjNjUwNTllOWIwYzg2MDUyOGEzMTA2MmNlYjZhNzMzMS5negoKMjAwNy0wMy0yMyAxNjozMTozOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBhY2NlcHQgUlRQIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lIGNsb2NrLXJhdGUKCSAgMjAwNzAzMjMxNjMxMzktNjUwMzUtZmMwYjE3YjBiOGE3YTA0MWY0ODk5NGM0ZjI2ZTk2NTY4MTY4YmY5NS5negoKMjAwNy0wMy0yMiAxNjoxNTo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgbW9yZSBjb2RlLWNsZWFudXBzCgkgIDIwMDcwMzIyMTYxNTUyLTY1MDM1LWJkYTk2MTY1ZTE0NmI0ZjFkNWZlYTFjYzk1NzZhN2FiM2FiZWJjOWUuZ3oKCjIwMDctMDMtMjIgMTU6NDI6NTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJldHVybiBuZXdwYWQgaW5zdGVhZCBvZiBOVUxMIGFuZCB3YXJuIGlmIGZhaWxlZCB0byBjcmVhdGUgYSBwYWQKCSAgMjAwNzAzMjIxNTQyNTEtNjUwMzUtY2RiNjY1MWU2MWMyZWIwMjA1Y2M4YzI0NjkzYjQzZjk4YTJkYTcxOC5negoKMjAwNy0wMy0yMiAxMjo0MTozMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3JpemUgdGhlIFJUUE11eCBjb2RlCgkgIDIwMDcwMzIyMTI0MTMyLTY1MDM1LTBhMzI3ODE0NzU0NmUzM2Y2ODcwOTdhNDNiNzc1YjNmNmFhOTlmOTMuZ3oKCjIwMDctMDMtMjIgMTI6MTQ6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIG1vcmUgZG9jIGZpeGluZwoJICAyMDA3MDMyMjEyMTQ1My02NTAzNS0xMmQ2MDIyNzIyMTdiNTFiZDk3ZGY0ZTU3OTAwMjRjMzk5NjIyZGQzLmd6CgoyMDA3LTAzLTIyIDExOjMyOjI4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW9yZSBSZWZhY3RvcmluZwoJICAyMDA3MDMyMjExMzIyOC02NTAzNS1iYWUzNGE3OTU5OWU3ZGU1MjkzZWQ3N2IwMjIzNjFjY2ZmODIyYmI5Lmd6CgoyMDA3LTAzLTIyIDExOjMxOjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW9yZSBkb2N1bWVudGF0aW9uCgkgIDIwMDcwMzIyMTEzMTU0LTY1MDM1LTYyNDg1MDU0MWE1YjVmYzNkZjIzMTIwNGJlNWE4M2QwNzIzOWRiMjguZ3oKCjIwMDctMDMtMjEgMTY6MzM6MTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3RvciB0aGUgZXZlbnQgaGFuZGxlciBmdW5jdGlvbgoJICAyMDA3MDMyMTE2MzMxMS02NTAzNS05ODdlN2YyNWQxYWI1MzM1Yjc5ZjQ0YjI3N2FiZjE1ZTRlMzdkMzE3Lmd6CgoyMDA3LTAzLTIxIDE0OjUyOjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIFJUUERUTUZNdXggZWxlbWVudAoJICAyMDA3MDMyMTE0NTI0NC02NTAzNS05YTAxMzkwYjBkZWUzMzk4ZTUzMTk5YTFmYTFkOTM1MjAwNGYzMzhlLmd6CgoyMDA3LTAzLTIxIDEyOjMxOjQ5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgRFRNRi1zcGVjaWZpYyBjb2RlIGZyb20gUlRQIG11eGVyIGFuZCBtYWtlIGl0IGV4dGVuZGFibGUKCSAgMjAwNzAzMjExMjMxNDktNjUwMzUtYjhhOGY1NWZmNzhlZWQ4Y2JiMDA0MmU4Mjc4ODVlZGZjNTQzODI0Mi5negoKMjAwNy0wMy0yMCAxMjowNToyNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IG1vcmUgaGVscGZ1bCBkZXNjcmlwdGlvbgoJICAyMDA3MDMyMDEyMDUyNC02NTAzNS1kYjI3YTdjZjYzMDdiNTExYWViM2Q5OTZkMjZlNzkwZTM2N2E3YmFkLmd6CgoyMDA3LTAzLTE2IDE1OjE2OjQxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmUgdGhlIChjb21tZW50ZWQtb3V0KSBjb2RlIGZvciBibG9ja2luZyB0aGUgcGFkcwoJICAyMDA3MDMxNjE1MTY0MS02NTAzNS0wMTIzYWYzODc5NTFmODg1OTQ3OTdjNzIyZTg4MmNmZTcwMjQwYWZmLmd6CgoyMDA3LTAzLTE2IDEzOjE0OjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEcm9wIGJ1ZmZlcnMgaW5zdGVhZCBvZiBibG9ja2luZyB0aGUgc2lua3BhZHMKCSAgMjAwNzAzMTYxMzE0NDQtNjUwMzUtOWMxMzQ1YWQ5NjEwODg4MWY0NTVkNGI1NWE3ZjYyM2NkMzAyZDBlZC5negoKMjAwNy0wMy0xNCAxNzoxNjoxOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IHN0cmVhbSBsb2NraW5nLCBuZWVkZWQgZm9yIERUTUYKCSAgMjAwNzAzMTQxNzE2MTgtNjUwMzUtZTRkMjRiMTYwNmNlMGEzZTJlNzM5ZjAxODMzZjYxZTRkNzU1NWVhYy5negoKMjAwNy0wMy0xNCAxMDoyMDo1OCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdXNlIEdTVF8qX09CSkVDVCBpbnN0ZWFkIG9mIGdfKgoJICAyMDA3MDMxNDEwMjA1OC02NTAzNS1lMjQ0Mjg4OGYyZTNlNWEzYTc2NTlhZDc5NTRhNGZiYTM0NzQ5Y2UyLmd6CgoyMDA3LTAzLTE0IDEwOjE4OjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBObyBuZWVkIHRvIG1hbmFnZSBwYWRzLCBwYXJlbnQgZG9lcyB0aGF0IGZvciB1cwoJICAyMDA3MDMxNDEwMTg1NC02NTAzNS1lZjVmNGFiZGUyMjcxMDJhMTEyODgzNWFiMzI1OTA1ZWFlNGMzNzI2Lmd6CgoyMDA3LTAzLTE0IDA5OjAzOjU4ICswMDAwICB6ZWVuaXhAZ21haWwuY29tIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHQgaGVhZGVyCgkgIDIwMDcwMzE0MDkwMzU4LWQwMTRhLTNhNmQzZWVlYWFmNWNiOGNhM2JjYTZhMzNlOTlhNTUxZjU5OGJkNDguZ3oKCjIwMDctMDMtMDcgMDg6NTM6MDcgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBvZiBSVFAgbXV4ZXIKCSAgMjAwNzAzMDcwODUzMDctNjUwMzUtODMzNDAyNDEzZjk5Y2IzZjhiZTQ4ODNlOTJiYWQ0Yzg3MjI1MTBjOS5negoKMjAwOS0wMi0yMCAxODoxNjowMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBEb2N1bWVudCBydHBkdG1mZGVwYXkgYSBiaXQKCjIwMDktMDItMjAgMTc6NDE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSAgTW92ZWQgZHRtZiBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDA6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIEZpeCB1cCBkb2N1bWVudGF0aW9uIGJsb2JzIFNHTUwKCjIwMDktMDItMjAgMTc6Mzc6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xOCAxMzozMDo0NCAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgZGlyZWN0aXZlCgoyMDA4LTEyLTA0IDIxOjIxOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWF4aW11bSBkdXJhdGlvbiB0byBhIFJUUCBEVE1GIGV2ZW50CgoyMDA4LTEyLTA0IDIxOjExOjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcHJvdmUgdGhlIG1pbmltdW0gcXVhbnRhIHRvIG1ha2UgaXQgaW1wb3NzaWJsZSBmb3IgdGhlIGR1cmF0aW9uIHRvIGZhbGwgZG93biB0byAwCgoyMDA4LTEyLTAxIDE4OjMxOjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWluaW11bSBzaXplIG9mIGEgc291bmQgcXVhbnRhIGluIHRoZSBkdG1mIGRlcGF5bG9hZGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzozNzoxMCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gd2llcmQgY2FzdGluZyBvZiB0aGUgdm9sdW1lIHRvIG1ha2UgTVNWQyBoYXBweQoKMjAwOC0xMC0xNSAxNjoyMTo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSAiZXZlbnQtdHlwZSIgZmllbGQgd2hlbiBzcGVjaWZ5aW5nIGR0bWYgZXZlbnRzCgoyMDA4LTA3LTIyIDIxOjM5OjM4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnX2RlYnVncwoJICAyMDA4MDcyMjIxMzkzOC0zZTJkYy00NGE4MmQwMTdmZTY2ZjMxMTIzMDFjNDEwYWEwYjU0M2RlNjE1NmFkLmd6CgoyMDA4LTA2LTEzIDIzOjU3OjIzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgcmF0ZSBmcm9tIHRoZSBwZWVycyBjYXBzIGlmIHBvc3NpYmxlCgkgIDIwMDgwNjEzMjM1NzIzLTNlMmRjLTE1NjkwZWU0MjcwOGM1MzllMWJlMTJlMjBlMDc2YTU2MTNmYWVhOTYuZ3oKCjIwMDgtMDYtMTMgMjM6NDE6NDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgdGhlIHNhbXBsZSByYXRlIGluIGR0bWZzcmMgaW50byBhIHZhcmlhYmxlCgkgIDIwMDgwNjEzMjM0MTQ0LTNlMmRjLWU2MDA3MDk0M2JlYzgyOWI3MDNiODgyMWM3YWE0MzUxYTAyZGVlYmUuZ3oKCjIwMDgtMDYtMTMgMjM6MzA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stcmF0ZSBmcm9tIHRoZSBjYXBzIGluIHJ0cGR0bWZzcmMKCSAgMjAwODA2MTMyMzMwMDYtM2UyZGMtYTdkNGU5MTg2NDNmNGY4YzFiYjJjYzI2Nzg1NThjNjU0MDI1OTIwZS5negoKMjAwOC0wNC0yOCAyMjoyMjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0NDoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggYnl0ZSBvcmRlcmluZyBpc3N1ZXMgd2l0aCBkdG1mc3JjIGFuZCBydHBkdG1mZGVwYXkuLiB1c2Ugb2YgR19TVFJJTkdJRlkgdG8gYXZvaWQgZXJyb3Igb24gTVNWQwoJICAyMDA4MDQxMjIzNDQxOC00ZjBmNi00ODI4ZDE2MTNkZmNkNTY0YWZkMjM2ZGZjOGZiNTdhMjk5MDkyZjgzLmd6CgoyMDA4LTAzLTIwIDE5OjE0OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMgYWdhaW4sIHBlciBzbWN2J3MgYWR2aWNlLi4KCSAgMjAwODAzMjAxOTE0MzgtNGYwZjYtNjcxYzlkYjVkOTk2YTQ2MDFkZjAxN2NlYWI0YWY2ZDE2NDY5Yzk2Ni5negoKMjAwOC0wMy0xOSAyMToxNzozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGNsZWFyIHRoYXQgZHRtZnNyYyBhbHNvIHRha2VzIG5hbWVkIGV2ZW50cyBhcyBpbnB1dAoJICAyMDA4MDMxOTIxMTczMS0zZTJkYy0yNmM3MjlmNmRjOGRiMjdlNzFjZjZiMjI2NDZhODE1MzBkYmY4NjJmLmd6CgoyMDA4LTAzLTIwIDE4OjQ4OjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWJ1ZyBtZXNzYWdlIG1hZGUgaW50byBlcnJvcnMgYmVjYXVzZSB0aGF0J3Mgd2hhdCB0aGV5IGFyZS4uLgoJICAyMDA4MDMyMDE4NDg0MS00ZjBmNi04YTJkMjgzMjk3YjAyNzEzZGFkZTBhZTRhY2FhNWY2ZTBmNjdlYWNlLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbiB1bnVzZWQgc3R1ZmYuLi4KCSAgMjAwODAzMjAxODM5MzctNGYwZjYtYmNiODQxY2RjMDdmOWU5Njc3NTEyZjRiNTBiNGI2NTlhNThjNjc4My5negoKMjAwOC0wMy0yMCAxODozOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzCgkgIDIwMDgwMzIwMTgzOTEyLTRmMGY2LTY4OTM2NWQ1YTQwNjYzMmUzZDA4OGZhYzc0ZTRmYjZmOGE0ZWIwZWEuZ3oKCjIwMDgtMDMtMjAgMDE6MTM6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgc3VwcG9ydCBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDExMzAxLTRmMGY2LWQzNmE1ZDI0YmUyMDMzNmUzNmM0Nzk2ZDc1NDc2YzliNWVlMWE3ZTEuZ3oKCjIwMDgtMDMtMTkgMTk6MzI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW5jb2RpbmcgbmFtZSBoYXMgdG8gYmUgdXBwZXItY2FzZQoJICAyMDA4MDMxOTE5MzI1MS0zZTJkYy0xNTgxYjMzYmU5YjQ4NmUzNWVjNDk0ODAwOTY3N2NjZDVmZmRjMDk4Lmd6CgoyMDA4LTAzLTIwIDAwOjUxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgbmVjZXNzYXJ5IGZpbGVzIGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMDUxNDctNGYwZjYtNTUwZmUyMmY3MDE1MmYzYWFiM2RjZDdhNmIwMmNiZjgxZTg5MjMyZC5negoKMjAwOC0wMy0yMCAwMDo1MDo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0eXBvcwoJICAyMDA4MDMyMDAwNTA0MS00ZjBmNi05ZDIyZmE1ZDE1NWUzNWI2MDVlYTg1YjFmZDllNzE5N2E4ODJhMWYwLmd6CgoyMDA4LTAyLTE2IDEzOjQxOjQwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkdG1mc3JjOiBDb3JyZWN0bHkgc2V0IHRoZSBlbmRpYW5lc3MgaW4gdGhlIGNhcHMgdG8gdGhlIG1hY2hpbmVzIGVuZGlhbmVzcwoJICAyMDA4MDIxNjEzNDE0MC05M2I5YS00MGEzYTlkN2FjMTY3OWM1ZTBkZmQyNGE2YjkxZTRhYmE2Y2M2NDk2Lmd6CgoyMDA3LTA5LTE3IDE3OjUyOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlYXJjaCZSZXBsYWNlIG9vcHMKCSAgMjAwNzA5MTcxNzUyMzMtM2UyZGMtNTdmNTc5YzRiODkwOTkzZjQ5ZmE4ZTllNjQ3MGEzZWI3OWQyYjkyMi5negoKMjAwNy0wOS0xNyAxNzo1MTozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBldmVudHMgZG9udCB5ZXQgYmVsb25nIGluIHRoZSBjYXBzCgkgIDIwMDcwOTE3MTc1MTMzLTNlMmRjLWZkMWQ4M2I3ODI2Yjg5ODExMGZjNTcxYWU3YzM0NDBmMTg4NzQzNGQuZ3oKCjIwMDctMDktMTcgMTY6MDg6MjAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGF0Y2ggdG8gbWFrZSBpdCB3b3JrIHdpdGggbWFlbW8gZHNwIHNvdXJjZXMgdGhhdCBwYXlsb2FkIGluY29ycmVjdGx5CgkgIDIwMDcwOTE3MTYwODIwLTNlMmRjLTA2YjFiMWQxYjA5MThiMzBkYWJlYTVhMDcxNGNiNzMyYjNiOGQ4ZGQuZ3oKCjIwMDctMDktMTcgMDQ6MjY6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPb3BzLCBzZXQgdG8gbm8gcHJlcm9sbCB3aGVuIHBsYXlpbmctPnBhdXNlZCB0b28KCSAgMjAwNzA5MTcwNDI2NDktM2UyZGMtOTRhZGI2YWEwNjE3ZTgxNWE2ZTIzMzIzMmRhYmI0YmJjNDhkYzgyYy5negoKMjAwNy0wOS0xNyAwMDozNjo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBsZXRlIHBvcnQgdG8gYmFzZXNyYwoJICAyMDA3MDkxNzAwMzY1NC0zZTJkYy1kYjBmODRkYWJkOWRkMWFjOTI5YTA0NjE4NjViOGFhYThlZjkxYTc3Lmd6CgoyMDA3LTA5LTE3IDAwOjI0OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNhcHMgbmVnb3RpYXRpb24gZnVuY3Rpb24KCSAgMjAwNzA5MTcwMDI0MTItM2UyZGMtY2EyNjY4MTZlOTYyOTc0NmU5MDgzYzViYjhiN2Y3M2I5NGE5YjJiMC5negoKMjAwNy0wOS0xNyAwMDoxNjo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBmcmVlIG5vbi1zdGFydCBldmVudHMKCSAgMjAwNzA5MTcwMDE2NTktM2UyZGMtYTU3MTc3N2UzZWNmYjkwOTg5Zjg3NDEyZjU1NGFhMTBhMzFjYzJjYS5negoKMjAwNy0wOS0xNyAwMDoxNTo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW50ZXJ2YWwgYW5kIHBhY2tldF9yZWR1bmRhbmN5IGludG8gdWludAoJICAyMDA3MDkxNzAwMTU1Mi0zZTJkYy02MDAzMmU1NDdiMzY2OWI4NzMxN2M5ODFkOTg1YzE1NmFhYjkxYjQwLmd6CgoyMDA3LTA5LTE2IDE5OjQ0OjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgcnRwIGR0bWYgc3JjIHVzZSBiYXNlc3JjCgkgIDIwMDcwOTE2MTk0NDA4LTNlMmRjLTczNDAwMDEzMGRjZTI0MzRhMDE0YWNmODQzZDY0MWZmMGU2MGFhNWEuZ3oKCjIwMDctMDktMTYgMTk6NDE6MDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkdG1mIHNyYyBjb2RlIG5pY2VyCgkgIDIwMDcwOTE2MTk0MTAxLTNlMmRjLWE4YmU4YzUwOWM2NTQwMGQxZDM5NjJkYTAyZTY3ZDE1ZDIwNTQzMTYuZ3oKCjIwMDctMDktMTYgMTk6NDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGRpcmVjdG9yeQoJICAyMDA3MDkxNjE5NDA1Mi0zZTJkYy00NGQ3ZjRjYjJmMjIwNzYxYjY1ZTJiOWI2Y2VjNGIzYzZmOGJlN2M1Lmd6CgoyMDA3LTA5LTE0IDA0OjIwOjQyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IHN0b3BwaW5nIGluIGEgbmljZSB0aHJlYWQgc2FmZSB3YXkKCSAgMjAwNzA5MTQwNDIwNDItM2UyZGMtMWZlMjU3ZmY0YjcyYWNhNGIwZWI1ZjI4NWExNDY1MGI4ZGYyNjhjMy5negoKMjAwNy0wOS0xNCAwNDoxODozNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ2V0X3RpbWVzIChXaW0gc2F5cyBpdHMgb25seSBnb29kIGZvciByZWFsbHkgZmFrZSBzb3VyY2VzKQoJICAyMDA3MDkxNDA0MTgzNC0zZTJkYy1mZmY0ZDVkYTJhMTQ1ZjE5ZTdiNjEwYTEwMjdkMmM0ZDRiYzVlYWUwLmd6CgoyMDA3LTA5LTEzIDIxOjIxOjQ1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdXNpbmcgdGhlIHVubG9jayBtZXRob2Qgb2YgYmFzZXNyYwoJICAyMDA3MDkxMzIxMjE0NS00ZjBmNi0wZTQzOGE2ODFiZjE2NTFjMGNjMGQ4ZmEzMjY5YWVkM2YxNjY4YjZiLmd6CgoyMDA3LTA5LTEzIDIxOjEyOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDkxMzIxMTIyNi00ZjBmNi1iYzMyYjU4MjhmYzhlMDMyM2M4YTZlZWU3NzlhMzgxNDVhYWNkNTkzLmd6CgoyMDA3LTA5LTEzIDIwOjQ2OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgZGVidWdzCgkgIDIwMDcwOTEzMjA0NjE0LTRmMGY2LTY4YzJhNjlhZTdhMWVmY2E2ZTEzYzExNmRiYWQ3ZjliNjg2ZjAyNDIuZ3oKCjIwMDctMDktMTMgMTk6MjA6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHN1cmUgdG8gdW5sb2NrIHRoZSB0aHJlYWQgd2hlbiBnb2luZyB0byByZWFkeSBhbmQgdG8gZmx1c2ggdGhlIHF1ZXVlIHdoZW4gbW92aW5nIHRvIHBhdXNlZCBvciBwbGF5aW5nCgkgIDIwMDcwOTEzMTkyMDUzLTRmMGY2LTc2YzM5MjUzODBkMWEzMDk4ODI4NjE3MDUzNWE2NWRlYTY0YTU1ODMuZ3oKCjIwMDctMDktMTMgMTc6NTU6MjAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5nZWQgZHRtZnNyYyBpbnRvIGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVNyYwoJICAyMDA3MDkxMzE3NTUyMC00ZjBmNi0xNmNhNGJmOTM2OTAwNzJmM2U4MzZkMWM4YTViNTJjZjdhNDIxOTE2Lmd6CgoyMDA3LTA5LTA0IDIyOjU3OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGFub3RoZXIgZml4IGZvciBhIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9uCgkgIDIwMDcwOTA0MjI1NzUzLTRmMGY2LTViYThjNDI2MGMwMDJiYjI3ZWI5OGU5ZmFiYTNjMTU3OTkzNTdiNTcuZ3oKCjIwMDctMDktMDQgMjE6NTI6MjQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNvbW1lbnQgdG8gZXhwbGFpbiBwdXNoIGJhY2sKCSAgMjAwNzA5MDQyMTUyMjQtM2UyZGMtZDkyYWMxZjQwM2RjZjU3MTU0NmE3YzUzZjE4ODA5Zjg0MGVlYTUxZC5negoKMjAwNy0wOS0wNCAyMDo1NTowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGRvIHRoZSBsb2NraW5nIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIGNsb2NrIHVuc2NoZWR1bGluZwoJICAyMDA3MDkwNDIwNTUwOS0zZTJkYy1kYTE5OTAwYjUxYWY2YWVkYjY1NDdmNGYzOTJiZWY0ZDEwNjFkZWMyLmd6CgoyMDA3LTA5LTAxIDAwOjAzOjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VwcywgSSBkaWQgaXQgYWdhaW4uLi4KCSAgMjAwNzA5MDEwMDAzMjQtNGYwZjYtM2Q4YjQ2NjkxZWU1MjA1MzdiMDZjNTExYTVlNzMyZjViODEyYjg0NC5negoKMjAwNy0wOC0zMSAyMzo1NDoyOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIHNvcnJ5Li4gRFRNRiwgbm90IFJUUF9EVE1GIGZvciB0aGlzIGZpbGUuLi4KCSAgMjAwNzA4MzEyMzU0MjgtNGYwZjYtMDBiNjA2YmZiNDg5MmU0ZjIxN2M0NDBiNjExY2M3OTRhYjBkZTU1YS5negoKMjAwNy0wOC0zMSAyMzo0NDoxMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVzIHRoZSBkZWFkbG9jayB3aGVuIHBhdXNpbmcgdGhlIGR0bWZzcmMgYW5kIHJ0cGR0bWZzcmMuIEhhZCB0byBwdXNoIHNvbWV0aGluZyBvbiB0aGUgYXN5bmMgcXVldWUgdG8gcmVsZWFzZSB0aGUgYmxvY2tpbmcgYXN5bmNfcXVldWVfcG9wKCkuIFRoYW5rcyB0byBPbGl2aWVyIGZvciB0aGUgc29sdXRpb24uCgkgIDIwMDcwODMxMjM0NDEzLTRmMGY2LTc5M2NmMzVmYzQzNjM2ZTcyNzUyNThjYzcwNjNmYzA2OGY1ZWZhMGEuZ3oKCjIwMDctMDgtMjggMjI6MTU6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbG9ja0lEIHdoZW4gd2FpdGluZyBmb3IgYnVmZmVyIGlzIG5vdyB1bnNjaGVkdWxlZCB3aGVuIHN0b3BwaW5nIHRoZSB0YXNrLiBWYXJpb3VzIGZpeGVzIHRvIGF2b2lkIGJ1Z3MgKHRoYW5rcyB0byAtV2FsbCAtV2Vycm9yKS4gRml4ZXMgdG8gYWxsb3cgdGhlIG1lcmdlIG9mIHRoZSBicmFuY2guCgkgIDIwMDcwODI4MjIxNTM0LTRmMGY2LWIwZDZhNGZlNDhjNGUyYTE2YjlmZjY5Y2IzMTAwODdjOTcwY2U0OGUuZ3oKCjIwMDctMDgtMjggMTc6MTU6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuZWQgdXAgdGhlIGNvZGUgYSBiaXQsIG5vIHVzZSBvZiBHU1RfKiBhbmQgcmV0dXJuIHZhbHVlIHZlcmlmaWNhdGlvbiBmcm9tIGdzdF8qCgkgIDIwMDcwODI4MTcxNTQ2LTRmMGY2LWJkZWI0YjFiN2Y5OWY5NDY0YWFiZTVjNDNiZDRhNGQyMDI1MjYyYjYuZ3oKCjIwMDctMDgtMjcgMTk6NTY6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb3Zlcmx5IGxvbmcgbGluZXMgYW5kIHRhYnMKCSAgMjAwNzA4MjcxOTU2MTAtM2UyZGMtMzk2YTNmYTAxZTE2ZjE4NGU0MTA5YzcxZmUyZGViNmU1MTZiZGYwZC5negoKMjAwNy0wOC0yNyAxOToyNjoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdW50YWJiaWZpZWQgZHRtZnNyYwoJICAyMDA3MDgyNzE5MjYxOC00ZjBmNi03N2Q2ODA3MDQ2NGYxYjVmOWE0NmNiNmVlYzJkOTIyMzQwMTQzYzA0Lmd6CgoyMDA3LTA4LTI3IDE3OjI0OjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IFJUUCB0aW1lc3RhbXBzIGJ5IHNlbmRpbmcgYSBuZXdfc2VnbWVudCBldmVudCB0byB0aGUgcGF5bG9hZGVyCgkgIDIwMDcwODI3MTcyNDI0LTRmMGY2LWQyMDkwN2UzZDQzNmQ1MGJmZTc0ZWI0ZmMzZDJkNmQ3YjZiNmRiYzUuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBCZXR0ZXIgaGFuZGxpbmcgb2YgcGFja2V0cywgd2Ugc2VuZCB0aGUgc2FtZSBkdXJhdGlvbiBmb3IgYWxsIHBhY2tldHMgdG8gYXZvaWQgaHVnZSBwYWNrZXRzIHdoZW4gbWluIGR1cmF0aW9uIGRlZmluZXMgYXJlIG1vZGlmaWVkLgoJICAyMDA3MDgyNzE3MjMzOS00ZjBmNi1jYzkzMzA0NDM3ZWEzNzZmZmY2NDU4Yzc0YzQ2YzE5ZjY5MjBkMzI5Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdpbmcgbWluaW11bSB2YWx1ZXMgdG8gd29yayBiZXR0ZXIgb24gc29tZSBnYXRld2F5cwoJICAyMDA3MDgyNzE3MjMyMi00ZjBmNi01YmYyYmZmYTU5YTgyNDQ1MzhkY2VkNzk1ZmE3ZDc2NDk0NTJjYTkxLmd6CgoyMDA3LTA4LTIyIDIwOjE2OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIERUTUYgdG9uZSBnZW5lcmF0b3Igbm93IHJlc3BlY3RzIHRoZSB2b2x1bWUgYXJndW1lbnQgcGFzc2VkIGluIHRoZSBldmVudAoJICAyMDA3MDgyMjIwMTY1My00ZjBmNi04YjdmZjg3NDAwNmUxMWY1YTc0ZDBmZDkxZTVhOWE0M2NkMDgyYWRhLmd6CgoyMDA3LTA4LTIyIDE4OjAxOjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZG9uJ3Qga25vdyB3aHkgSSBkaWQgdGhhdC4uLgoJICAyMDA3MDgyMjE4MDEzMy00ZjBmNi02YTczODJmNmM3ZDM2MzBmOTFkYTM4NGUxOTA0NzYzYzdlYTZmYTFhLmd6CgoyMDA3LTA4LTIyIDE3OjU1OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0ZWQgdGhlIGV2ZW50IHF1ZXVlIHdvcmsgZnJvbSBkdG1mc3JjIHRvIHJ0cGR0bWZzcmMKCSAgQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBydHBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoCgkgIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMjE3NTUzMy00ZjBmNi1mMjc0MTRjNDA2ZjFmN2IwMGM5YTkwODRhOTg4Y2YzYTc5MzBmZTVjLmd6CgoyMDA3LTA4LTIyIDE3OjU0OjQ0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VjaCwgcHJpbnRpbmcgd2l0aCBhcmd1bWVudHMgYnV0IHdpdGhvdXQgJXMuLiB0aGF0IG1hZGUgaXQgc2VnZmF1bHQgYSBmZXcgdGltZXMuLi4KCSAgMjAwNzA4MjIxNzU0NDQtNGYwZjYtNDQ1ZWE2Y2U3YTk2NjhkMDRjZjk5OWFmNzcyYTUwNGVjNzRmYjY3YS5negoKMjAwNy0wOC0yMiAxNzo1MToyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBldmVudCB0byBkdG1mc3JjIHN0cnVjdHVyZSBzaW5jZSB3ZSBoYXZlIG9ubHkgb25lIGV2ZW50IGF0IGEgdGltZSwgc28gbGV0J3Mga2VlcCBpdCBzdG9yZWQgaW4gdGhlIGR0bWZzcmMgc3RydWN0CgkgIDIwMDcwODIyMTc1MTI2LTRmMGY2LTUzYmNkYTJiZDhhZThjNTZkMjllNjJlNjlhYzE5YTMwZTA4YWQzNTAuZ3oKCjIwMDctMDgtMjAgMjA6Mzg6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaCB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjAyMDM4MjYtNGYwZjYtNzUwYTIyYjYxMmE1ZTQ5NWU3Njc2NjY5MzQ0NjVjMzRmZTMyMDc0Yi5negoKMjAwNy0wOC0yMCAxODo0ODo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGR0bWZzcmMsIGEgRFRNRiBUb25lIEdlbmVyYXRvciwgYW5kIG1hZGUgaXQgcGFydCBvZiB0aGUgJ2R0bWYnIHBsdWdpbi4KCSAgMjAwNzA4MjAxODQ4NTItNGYwZjYtYTBkODVlNjc3MDgyOTBhZWJhZmE4OWFiNzlkM2NlZGQ1ODE1YjYyMC5negoKMjAwNy0wOC0yMCAxODo0ODowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCBydHBkdG1mIHRvIGR0bWYgZGlyZWN0b3J5CgkgIDIwMDcwODIwMTg0ODAwLTRmMGY2LWZhMzNlYTk3NDUxMDE2MWRlOGM5OTUxYzM5MDg3YWYzNjEzYjY1YTQuZ3oKCjIwMDctMDctMTIgMTk6NTc6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIGFsbCBwYWNrZXQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCwgaW5jbHVkaW5nIHRoZSBsYXN0IG9uZQoJICAyMDA3MDcxMjE5NTcxNS0zZTJkYy02ODQ4YzcwYTdmMDEzN2M5MWZhODgyYThlZmI2ZGJmODM4OTFhZTEzLmd6CgoyMDA3LTA3LTEyIDE5OjU1OjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBub24temVybyBkdXJhdGlvbiBpbiBmaXJzdCBwYWNrZXQgYW5kIHB1dCBhIG1pbmltdW0gZHVyYXRpb24gb2YgNTBtcwoJICAyMDA3MDcxMjE5NTUyOC0zZTJkYy1kNDZlZGVhYWI4NGZiNTVlNzQ4NDJiZGNmNGY4NzkyZGZjZGIwNDU3Lmd6CgoyMDA3LTA3LTEyIDE2OjIzOjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wIG9uIGR0bWYgcGFja2V0cwoJICAyMDA3MDcxMjE2MjMyOC0zZTJkYy05OGMxMzAzZjRhNTJiODkxY2U1OWJmODhlMDdkMjlmNGUyZGZjOTc0Lmd6CgoyMDA3LTA3LTExIDE1OjUyOjAyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2V0IG1hcmtlciBvbiB2ZXJ5IGZpcnN0IHBhY2tldCBvZiBhbiBldmVudAoJICAyMDA3MDcxMTE1NTIwMi0zZTJkYy1mN2VhM2FiZDJjYjBjYTI5MzdlYTQ1MDhlNmUzMDFiYWFhNmUyMTU0Lmd6CgoyMDA3LTA3LTExIDE1OjUxOjU3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgb24gcGFja2V0IHN0YXJ0IHRpbWUKCSAgMjAwNzA3MTExNTUxNTctM2UyZGMtZWUwZTlmYzEzZDM1Mjk2NTkzMDA1MjY3YTI0MTdkZDY1ZTc5MGQyOS5negoKMjAwNy0wNy0xMSAxNTo1MDo1NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSVFAgdGltZXN0YW1wIGlzIHRoZSB0aW1lIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGR0bWYgZXZlbnQKCSAgMjAwNzA3MTExNTUwNTYtM2UyZGMtY2I1Y2RhNzNmYmY3ZGYxYzU0NWNiMDMyMWIwZTMzOTkxNGM1ODk3Zi5negoKMjAwNy0wNC0yNCAyMDowMjo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSA4MCBjb2x1bW4gaXMgZW5vdWdoIGZvciBldmVyeW9uZQoJICAyMDA3MDQyNDIwMDI1Mi0zZTJkYy1kMWJjMTcyNjZhZmZmMjU5OTEyOWEyNWQ0NDMzODA2MjM3MmY3ZWEzLmd6CgoyMDA3LTA0LTI0IDE5OjMxOjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHJlZHVuZGFuY3kgYW5kIGludGVydmFsIHByb3BlcnRpZXMgdG8gcnRwZHRtZnNyYyAocGF0Y2ggYnkgU1AgR0xFIDxzcGdsZWdsZUB5YWhvby5mcj4pCgkgIDIwMDcwNDI0MTkzMTU1LTNlMmRjLTY2Njg4MDAxZTdiNTI5YzQ2ZjEwODYzM2NkOTUyMDM0N2MzYzhjM2UuZ3oKCjIwMDctMDUtMDQgMTk6NTI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZW5kIGR0bWYgaWYgdGhlIG1ldGhvZCBpcyB1bnNwZWNpZmllZCBvciBpcyAxCgkgIDIwMDcwNTA0MTk1MjUxLTNlMmRjLWI5NWI0YjhlOGRhZDg3OTYyY2YzOWVjMmVlNjdiNmYxYjYxOWU5YmQuZ3oKCjIwMDctMDMtMDggMjI6MzU6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkb2N1bWVudGF0aW9uIGNvbnNpc3RlbnQgd2l0aCBpdHNlbGYKCSAgMjAwNzAzMDgyMjM1NTktM2UyZGMtY2MyMGZlNTcxMzcwYmM1MWJmOTYzY2MzZGYxYjhhYjRhM2RkYzIwYi5negoKMjAwNy0wNC0xMiAyMDowNDozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBzZWdtZW50IHRvIGNhbGN1bGF0ZSBkdG1mc3JjIHJ0cCB0aW1lc3RhbXAKCSAgMjAwNzA0MTIyMDA0MzUtM2UyZGMtYjVjYzI2YjEyYjZlOGI4OWYxMzFmZDI3ZjBlNDYyNzc0NmU4NTY5Ny5negoKMjAwNy0wNC0wMiAxMjo0NjozNSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbi11cCBhbmQgcmVmYWN0b3JpemUgZHRtZnNyYyBjb2RlCgkgIDIwMDcwNDAyMTI0NjM1LTY1MDM1LTNkMTMyNDQ0NjFjMWRkMWZjYzk2Yjc0MTI0YWQ3YTc0ZDJmZjAxNDQuZ3oKCjIwMDctMDMtMzAgMTU6NDM6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29vcHMsIGxpdHRsZSB0eXBvCgkgIDIwMDcwMzMwMTU0MzAzLTNlMmRjLTlmNmVkY2RlMjRkMzBjYWVhOGVhODc2YjI0YTNhNjgwZDQwYjJlYTEuZ3oKCjIwMDctMDMtMzAgMDA6MTc6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGdlbmVyYXRlIHRoZSBwcm9wZXIgcnRwIHRpbWVzdGFtcHMgaW4gc3luYyB3aXRoIHRoZSBsaXZlIHNvdXJjZQoJICAyMDA3MDMzMDAwMTcwMC0zZTJkYy1iYmY5NTRlNGVkZWMwNjE1YzRlZWU2MDNmYmM2YWI4YTdkODk0MzZmLmd6CgoyMDA3LTAzLTI5IDExOjQyOjU3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEluY3JlbWVudCB0aGUgdHMgYWZ0ZXIgc2V0dGluZyB0aGUgYnVmZmVyJ3MgdHMKCSAgMjAwNzAzMjkxMTQyNTctNjUwMzUtYzg2ODZhYjRjZTIwYjFmMzZmM2RhYzEyMDQ4NWFkZTVjZDkwYWFjOS5negoKMjAwNy0wMy0yOSAxMDozOTo0NiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxjdWxhdGUgdGhlIHJ0cCB0cyBiZWZvcmUgZ3N0IHRzIGdldCBpbmNyZW1lbnRlZAoJICAyMDA3MDMyOTEwMzk0Ni02NTAzNS1mNzRlM2EwMTQwYzU3ZTk0MTQ0NGJiODM3ZDYwNTNhZDFjM2NmNTY3Lmd6CgoyMDA3LTAzLTI5IDEwOjM5OjA0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgY29kZS1jbGVhbnVwCgkgIDIwMDcwMzI5MTAzOTA0LTY1MDM1LWRiMDhjYzdjMzA5OGI2MGE1NTZkMzgwOWRlOTEyY2QwZTFhNTQ1YzEuZ3oKCjIwMDctMDMtMjkgMTA6Mzg6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW5pdGlhbGl6ZSB0aGUgR3N0U2VnbWVudCBhdCB0aGUgcmlnaHQgdGltZQoJICAyMDA3MDMyOTEwMzgyNC02NTAzNS05YWIzYTBhMDNjNWY5MzI5Y2Q0NjI1YWU2NTY3YzJjMWZkNGE3M2Q4Lmd6CgoyMDA3LTAzLTI2IDEwOjU3OjEyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGwgc2V0X2NhcHMgd2hlbiB3ZSBoYXZlIGFsbCB0aGUgcGFyYW1zCgkgIDIwMDcwMzI2MTA1NzEyLTY1MDM1LTNlM2RmY2UwYjUwZDYxZWFmZGE4NDZiZWUwYTZkNjZjMzU0MWM2ZWQuZ3oKCjIwMDctMDMtMjMgMTY6Mjk6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IGNhcHMgb24gdGhlIGJ1ZmZlciBiZWZvcmUgcHVzaGluZyBpdAoJICAyMDA3MDMyMzE2MjkyMi02NTAzNS05ZTRiZTU0NDljNzljMGE0NTk5NjVlZTA3YWRiNGE4MTQzYzRjMWQ1Lmd6CgoyMDA3LTAzLTE0IDE3OjE3OjU2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcXVlc3QgZm9yIHN0cmVhbSBsb2NrIHdoZW4gZ2VuZXJhdGluZyBEVE1GIHBhY2tldHMKCSAgMjAwNzAzMTQxNzE3NTYtNjUwMzUtMGI0OTdkZmFjMjAzZmY0ZjU3OTUyNTQ4NWQ1ODA0ZTVmNTA5M2IzZi5negoKMjAwNy0wMy0wNyAxMTo0MTowOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb3JyZWN0IGNhcHMgcHJpbnRvdXQKCSAgMjAwNzAzMDcxMTQxMDktNjUwMzUtMTI0MjAyODg0OTE4YTljOGE4MDMwODBkNjk2NzIzNDUzOWQyNGI5Ny5negoKMjAwNy0wMi0xNiAxMjowNjowNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZG9jLXNlY3Rpb24gY29tbWVudHMKCSAgMjAwNzAyMTYxMjA2MDYtNjUwMzUtNmU3ZDI4NzIxZGMwODcyZjNmNTViYTdjY2Q0ZmVkM2Q2NmY4MTc1Zi5negoKMjAwNy0wMi0xNSAxMzo0ODo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb3B5cmlnaHRzCgkgIDIwMDcwMjE1MTM0ODUzLTY1MDM1LTUwZmU1ZjhlOTk5YWU4NmExZTNiYTBkYmRlY2U0OTExZWI5ZGNjYTAuZ3oKCjIwMDctMDItMTUgMTM6MzU6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTm8gbmVlZCB0byBoYW5kbGUgZG93bnN0cmVhbSBldmVudHMKCSAgMjAwNzAyMTUxMzM1MzYtNjUwMzUtNjQ4Yjc5MWQ0MDRiZjA2OTAwYmQyNjk4ZDkyNTExN2M4OTc0M2RiOS5negoKMjAwNy0wMi0xNSAxMjoyNjo1NSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBdHRlbXB0IHRvIGNvcnJlY3QgZXZlbnQgaGFuZGxpbmcKCSAgMjAwNzAyMTUxMjI2NTUtNjUwMzUtNDcwNzBkOWEyOGMwOGQ5MzUzYjA0ZDJkOTMwMWUyOWI3ZWU3MmI4My5negoKMjAwNy0wMi0xNSAxMDoyNjoyOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgcGF1c2VfdGFzayBpbnN0ZWFkIG9mIHN0b3BfdGFzayB0byBhdm9pZCBhbnkgcG9zc2libGUgZGVhZGxvY2tzCgkgIDIwMDcwMjE1MTAyNjI5LTY1MDM1LWE0OGM3NzM2NjFlMzg1YTkxZTAyMmUwYWMxZGEwODYyYzQyMDZmODUuZ3oKCjIwMDctMDItMTUgMTA6MTA6MzAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgY29ycmVjdCBzZXEgYW5kIHRpbWVzdGFtcHMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAyMTUxMDEwMzAtNjUwMzUtNzE0NmEzYzRhOGQwZmVhYjUxM2QxM2EyMDdiMmNkYzVkZTMxMWYwMy5negoKMjAwNy0wMi0xNCAxMzo1NTowMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0aGUgY29weXJpZ2h0IG5vdGljZQoJICAyMDA3MDIxNDEzNTUwMS02NTAzNS1lOTA3NTNiMWY2NTI1ZjdiOWMwYWMyZWI3ZTQwY2VmN2NhNjczZTY4Lmd6CgoyMDA3LTAyLTE0IDEzOjEzOjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvcnRwZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgUlRQIERUTUYgZXZlbnQgcGFja2V0IGdlbmVyYXRvciBlbGVtZW50IGFuZCB0ZXN0IGFwcCBmb3IgaXQKCSAgMjAwNzAyMTQxMzEzNTItNjUwMzUtM2MxNGExMDQ3YzNjZDY2OTZmM2E3MTZhNjJiMjFkM2Y0YjlkYTYyYi5negoKMjAwOS0wMS0zMCAwOTowMzo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFjdHVhbGx5IHNldHRpbmcgdXAgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBob29rCgoyMDA5LTAyLTIxIDE3OjQ1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFkZCByZWFkLW9ubHkgcHJvcGVydHkgdG8gZ2V0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhCgoyMDA5LTAyLTIxIDE3OjQwOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogQWRkIE1QRUcgdmlkZW8gYml0cmF0ZSB0byB0aGUgdGFncyBpZiBhdmFpbGFibGUKCjIwMDktMDItMjEgMTc6Mzg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogUG9zdCBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRyZWUgYXMgdGFnIG9uIHRoZSBidXMKCSAgVGhpcyB3aWxsIGxhdGVyIGJlIHVzZWQgdG8ga2VlcCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB3aGVuCgkgIHJlbXV4aW5nIGFuIE1YRiBmaWxlIGFuZCBjYW4gYWxzbyBiZSB1c2VkIGluIFBpdGl2aSBmb3IgZXhhbXBsZQoJICB0byBrbm93IHRoZSBmaWxlIHN0cnVjdHVyZSBhbmQgdG8gc2VsZWN0IHdoYXQgc2hvdWxkIGJlIHVzZWQKCSAgYW5kIHBsYXllZC4KCjIwMDktMDItMjEgMTY6MDk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmRlbXV4OiBGaXggY2FsY3VsYXRpb24gb2YgQUVTMyBiaXRyYXRlIHRhZwoKMjAwOS0wMi0yMSAxNjowNTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBteGZkZW11eDogQWRkIGhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IE1YRnJhY3Rpb24gdG8gZ2RvdWJsZSBhbmQgdXNlIGl0CgoyMDA5LTAyLTIxIDE2OjAwOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZmRlbXV4OiBPbmx5IHN0b3JlIHRoZSBtYWluIGRlc2NyaXB0b3IgaW4gc291cmNlIHBhY2thZ2VzCgkgIEZvciB0aGUgdHJhY2tzIHdlIHN0aWxsIHJlc29sdmUgdGhlIGRlc2NyaXB0b3JzIGJ1dCB0aGUKCSAgc291cmNlIHBhY2thZ2Ugb25seSBjb250YWlucyB0aGUgZGVzY3JpcHRvciBpdCByZWFsbHkgcmVmZXJlbmNlcwoJICBpbnN0ZWFkIG9mIGFsbCBzdWJkZXNjcmlwdG9ycyBvZiBtdWx0aXBsZSBkZXNjcmlwdG9ycy4KCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgbGF0ZXIgdG8gc2VyaWFsaXplIHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhCgkgIGFnYWluLgoKMjAwOS0wMi0xNyAxNzozNzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTZXQgZnJlZSdkIG1lbW9yeSB0byBOVUxMIHRvIHByZXZlbnQgYSBkb3VibGUgZnJlZSBsYXRlciBpbiBzb21lIGNhc2VzCgoyMDA5LTAyLTE1IDA5OjUxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBnZW5lcmljIG1ldGFkYXRhIHBhcnNlcnMgZm9yIHVua25vd24gbWV0YWRhdGEsIHRoZSByZXN1bHRzIGFyZSB1c2VsZXNzIGFueXdheQoKMjAwOS0wMi0xOSAxMTozNjo0NSArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogcy9mbHV0cy9tcGVndHMKCSAgQ2hhbmdlIGFsbCBkZWZpbml0aW9ucyBmcm9tIGZsdXRzIHRvIG1wZWd0cy4KCjIwMDktMDItMTAgMTg6NTg6NDAgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGRvYyBpbmZyYXN0cnVjdHVyZSB0byB2YWx2ZQoKMjAwOS0wMi0xMCAxODo1Mjo1NCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBEb2N1bWVudCB0aGUgR3N0VmFsdmUKCjIwMDktMDItMTAgMTg6MDM6MjYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSAgTW92ZWQgdmFsdmUgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTEwIDE3OjU3OjE2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgUmVuYW1lIGZzdmFsdmUgdG8gdmFsdmUKCjIwMDktMDItMTAgMTc6NTU6NDcgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgUmUtaW5kZW50IHZhbHZlIGluIGdzdCBzdHlsZQoKMjAwOC0xMi0xMyAwMDozMTo0NSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJZ25vcmUgZXJyb3JzIGlmIGRyb3BwaW5nIGlzIHNldCB0byB0cnVlCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMTAgMTc6MDA6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGdldGNhcHMgcHJveHlpbmcgdG8gdGhlIHZhbHZlCgoyMDA4LTA4LTIwIDE0OjExOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWJhc2UgdmFsdmUgb250byBnc3RlbGVtZW50IGluc3RlYWQgb2YgYmFzZXRyYW5zZm9ybQoKMjAwOC0wOC0xOSAxODo0OTo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXZlcnQgIkZpeCByZWZjb3VudGluZyBpc3N1ZXMgaW4gcHJlcGFyZV9vdXRwdXRfYnVmZmVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1ZGQ0NjBmMGEzYTljNDg4MmU2MzhjODYyMDhmNzRlZjYyYzM0NjAuCgoyMDA4LTA4LTA1IDExOjMwOjU3ICswMDAwICBzam9lcmRAbHVvbi5uZXQgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHJlZmNvdW50aW5nIGlzc3VlcyBpbiBwcmVwYXJlX291dHB1dF9idWZmZXIKCSAgMjAwODA4MDUxMTMwNTctYmUwZjItOWRjMjcwNzgxZjBhMGYyMWM2MTZlZDExZGJkMWYxOThmZDFiMzI2ZS5negoKMjAwOC0wNC0wOSAxNjozMjoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgZGlzcG9zZSBtZXRob2QgaW4gdmFsdmUKCSAgMjAwODA0MDkxNjMyMjEtM2UyZGMtOTJjY2IyZGI4NzRlNDZlMGQ5MmMxNTUyMDU3N2MxYmUwZTJiYzYxNy5negoKMjAwNy0xMi0xOSAyMDozMjozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbnQgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbGUgY2FsbGluZyBiYXNlIGFsbG9jIGZ1bmN0aW9uCgkgIDIwMDcxMjE5MjAzMjMwLTNlMmRjLTY1MTkxNzVkOGQ4MTQ5NjUxNWIyZDkwNjBhYzMxNjY1MDU2MGY2OTEuZ3oKCjIwMDctMTItMTkgMjA6MzI6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHRoZSBESVNDT05UIGZsYWcgYWZ0ZXIgZHJvcHBpbmcgYnVmZmVycwoJICAyMDA3MTIxOTIwMzIxOC0zZTJkYy1iYzVmMDNkODhmZjU4MzcwNDBiOTIxNGRlMDE2Y2MxNDI3NzZkZmMyLmd6CgoyMDA3LTEyLTE5IDAwOjU3OjM5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBkbyB0aGUgYWxsb2NfYnVmZmVyIGZ1bmN0aW9uIGluIHRoZSB2YWx2ZQoJICAyMDA3MTIxOTAwNTczOS0zZTJkYy0yYTBmZGZhMmYzOGYwM2FiNDc5MWZlNWM0YWI4NWU4NzkwMTEzNjgzLmd6CgoyMDA3LTExLTIxIDIwOjA4OjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZXQgcGFzc3Rocm91Z2ggdG8gVFJVRSBvbiBuZXdlciB2ZXJzaW9ucyBvZiBnc3QKCSAgMjAwNzExMjEyMDA4NTgtM2UyZGMtYjE2Y2RlYWJiYzNjMDU2MmM2ZmM3YjExYjliOTc5MmM5MTBmNTY5ZS5negoKMjAwNy0xMS0yMSAxODoxNzoyOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBhcmUgbWlub3IsIG5vdCBtYWpvcgoJICAyMDA3MTEyMTE4MTcyOS0zZTJkYy1hNTk5N2MzYjdmNWM4Njk2NjM3MDk2OTcxNGZhY2Y4ZWUyNDI2NTlkLmd6CgoyMDA3LTEwLTI2IDIyOjM3OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgdmFsdmUgZWxlbWVudCB3b3JrIHdpdGggZ3N0IDwgMC4xMC4xMwoJICAyMDA3MTAyNjIyMzc0OS0zZTJkYy0xOGY2ODVhNGU0NWZiZGNlNjc3YWM3Nzc1ODY4NzZmYzcxOWQ3MjIyLmd6CgoyMDA3LTEwLTI0IDIyOjQyOjQ2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgdmFsdmUgdG8gZnN2YWx2ZQoJICAyMDA3MTAyNDIyNDI0Ni0zZTJkYy1jNTQyMTZhZjJlZjBlZjNmMWEyMjA2ZDcyM2U4N2JlMmEyM2FiOGVkLmd6CgoyMDA3LTEwLTI0IDIyOjQxOjQ3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgdmFsdmUgZWxlbWVudAoJICAyMDA3MTAyNDIyNDE0Ny0zZTJkYy1mMjhhYjBjMDczZTI4Mzg5NGI2NWMyMmM0ZjQ0Mzk3Yzg5N2RlYzAxLmd6CgoyMDA5LTAyLTEwIDE5OjIwOjI2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gdG8gdGhlIHNpcmVuIGVuYy9kZWMgcGx1Z2lucwoKMjAwOS0wMi0xMCAxOToyMDoxOSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBSZS1pbmRlbnQgdGhlIHNpcmVuIHN0dWZmIHRvIGJlIGdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxNzoyOTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJICBNb3ZlZCBzaXJlbiBmcm9tIGdzdC1wLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMTAgMTc6MjM6MzggKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSAgTW92ZSBzaXJlbiBydHAgcGF5L2RlcGF5ICB0byBnb29kCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTAtMDUgMjI6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHVuZGVyc2NvcmUgdG8gbWFrZSB0aGUgZW5jb2RlciBsaWtlIHRoZSBkZWNvZGVyCgoyMDA4LTEwLTA1IDIyOjAxOjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBvZmZzZXQgdG8gb3V0X29mZnNldCB0byBtYWtlIGl0cyBtZWFuaW5nIGNsZWFyZXIKCjIwMDgtMTAtMDUgMjI6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hlY2sgdGhlIHNpemUgb2YgdGhlIGlucHV0IGJ1ZmZlciwgbm90IHRoZSBvdXRwdXQgYnVmZmVyCgoyMDA4LTA5LTE2IDE1OjQwOjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByZXNlcnZlIHRpbWVzdGFtcAoKMjAwOC0wNy0wNCAyMjoyMTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjaGVja3MsIGRvY3VtZW50IGxvY2tpbmcKCSAgMjAwODA3MDQyMjIxMDMtM2UyZGMtNDdhN2Y0OWM0MTRmOThhMTg4ZmZjNDJiMDcxODlkYWY1MTQ3NDgzYi5negoKMjAwOC0wNy0wNCAyMjoxNzo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtYWtlIHNpcmVuZW5jIHRocmVhZCBzYWZlCgkgIDIwMDgwNzA0MjIxNzQzLTNlMmRjLWY5M2RhODY0MzhmNzUzZTE0YmUyNTE2NmFlZTQ1Zjg4MDJmN2QxMDAuZ3oKCjIwMDgtMDctMDQgMjA6MTg6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVwbGFjZSB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbiBzaXJlbmVuYwoJICAyMDA4MDcwNDIwMTgzMC0zZTJkYy04ZjNlNDAxYWFhNTk0YzhjYzU4NTNiNzNmNDFjYTVjYjA0N2VlMmQzLmd6CgoyMDA4LTA3LTA0IDIwOjE3OjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IHNpcmVuZGVjIHRvIEdzdGVsZW1lbnQKCSAgMjAwODA3MDQyMDE3NDQtM2UyZGMtOTliZjdiODZlNDJkYTM2M2Q4YzgyNjQ0OWQ4NGI0Mzc1MTU3MmQ1ZS5negoKMjAwOC0wNy0wNCAyMDowNDo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbGVhc2UgcmVmIGF0IHRoZSBlbmQgb2YgY2hhaW4KCSAgMjAwODA3MDQyMDA0NTQtM2UyZGMtMzg2ZjI2ODU4ODJhNzRkMDFjZTUwM2Y5MTM5NmVhMzc1MDZkYmU4My5negoKMjAwOC0wNy0wNCAyMDowMzoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNhbGwgdG8gcGVla19wYXJlbnQKCSAgMjAwODA3MDQyMDAzMTUtM2UyZGMtNmIzMGVmZDJkMzJiNmNhOTY2MDlmNGJkYzBjM2UyODZmNDQ0MTc0Ni5negoKMjAwOC0wNy0wNCAyMDowMDoyOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgR3N0U2lyZW5FbmMgdXNlIEdTVF8qX09CSkVDVCBhcHByb3ByaWF0ZWx5CgkgIDIwMDgwNzA0MjAwMDI5LTNlMmRjLWY2OGZkYWFhODkyOTAzOWZkODQxM2ZmMGJmOGZmNTE0ZjZlNGZiZTEuZ3oKCjIwMDgtMDctMDQgMTk6NTE6MDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBzaXJlbmVuYyB0byBnc3RlbGVtZW50CgkgIDIwMDgwNzA0MTk1MTAyLTNlMmRjLWNkNzY4NzUxMmFjNTYwZmFhZjE1ZjUzZTFlMjYyZDE4NzRhMzZjZGYuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQzOjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZWQgZGVidWcgb3V0cHV0CgkgIDIwMDgwNDEyMjM0MzI1LTRmMGY2LTM2Yjk0NmE3Y2EzYWI0ZTU4MDI5MTdiODkzMGYwMzZjNTBhOTNhMjkuZ3oKCjIwMDgtMDQtMTAgMjM6NDM6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPdXBzLCB0eXBvCgkgIDIwMDgwNDEwMjM0MzI4LTRmMGY2LTk2MmUzNzVlNzhkYTA1ZWFiNTI4OTJhNTdkMzIyNmZkZDJmZmM4NmQuZ3oKCjIwMDgtMDQtMTAgMDc6MDE6MTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmg6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW5fY29uc3RzLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC9zaXJlbi9zaXJlbjcuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIFNpcmVuIGVuY29kZXIvZGVjb2Rlci9wYXlsb2FkZXIvZGVwYXlsb2FkZXIKCSAgMjAwODA0MTAwNzAxMTYtNGYwZjYtNzJmZmJkYmIyNjJmMDdiZmFiZDFlNDY5OTczYTAxYjMzNTliZWU0NS5negoKMjAwOS0wMi0xMCAxODo0NjowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBBZGQgbGl2ZWFkZGVyIHRvIHRoZSBkb2NzCgoyMDA5LTAyLTEwIDE4OjM4OjExICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBEb2N1bWVudCB0aGUgbGl2ZWFkZGVyCgoyMDA5LTAyLTEwIDE2OjE4OjMyICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBNb3ZlZCBsaXZlYWRkZXIgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgkgIFJlLWluZGVudCBsaXZlYWRkZXIgaW4gZ3N0IHN0eWxlIGFuZCBhZGQgaXQgdG8gY29uZmlndXJlCgoyMDA4LTEyLTEzIDAwOjA5OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGxvZyBmb3IgbWVzc2FnZSB0aGF0cyBvbiBldmVyeSBidWZmZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMDgtMjcgMTc6MTY6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbGl2ZWFkZGVyIDogSGFuZGxlIGppdHRlciBpbiBpbmNvbWluZyBidWZmZXJzCgkgIEluY29taW5nIGJ1ZmZlcnMgKGVzcGVjaWFsbHkgdGhvc2UgZnJvbSBhbiBSVFAgY29ubmVjdGlvbikgbWlnaHQgaGF2ZSBzbGlnaHQgdGltZXN0YW1wIGppdHRlci4gVGhpcyBpcyBub3JtYWxseSBoYW5kbGVkIGJ5IGF1ZGlvc2luayAoYWNjZXB0aW5nIHVwIHRvIDUwMG1zIG9mIGppdHRlcikuCgkgIEhlcmUgd2UgYWNjZXB0IGEgbWF4aW11bSBqaXR0ZXIgb2YgMTBtcy4gSWYgYSBidWZmZXIgaXMgd2l0aGluIDEwbXMgb2YgdGhlIGV4cGVjdGVkIHRpbWUsIHdlIGNvcnJlY3QgaXRzIHRpbWVzdGFtcC4KCjIwMDgtMDctMDQgMTg6NTc6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBoYW5kbGluZyBvZiBwb3NpdGlvbiBxdWVyeSB0byBsaXZlYWRkZXIKCSAgMjAwODA3MDQxODU3MjEtM2UyZGMtN2E2ODdlMzQ2ZTc0YjQ0ZmE4NDdjNWU1YjZlYjY0YzNlMDk0OTc2NC5negoKMjAwOC0wNS0yMSAxNzoyMDowNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVwbGFjZSBDOTkgbGxhYnMgd2l0aCBDODkgY29kZQoJICAyMDA4MDUyMTE3MjAwNS0zZTJkYy04ZTYzN2QxZGFhMGUyN2NjMmVkYWUxZmRmZDBkYmYyMzg5NmZiNWJjLmd6CgoyMDA4LTA1LTE1IDAxOjIyOjU3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCB2YXJzIGJlZm9yZSByZXN0YXJ0aW5nIHRocmVhZCBvbiBmbHVzaCBzdG9wCgkgIDIwMDgwNTE1MDEyMjU3LTNlMmRjLWUzNTIxNzUyY2YzZWFmMmI4NzY3ZjRjNjIwZWFkZmMyNGE4ZThlMzEuZ3oKCjIwMDgtMDUtMTUgMDE6MjI6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBmaXJzdCB2ZXJzaW9uIG9mIHNlZWtpbmcKCSAgMjAwODA1MTUwMTIyMjctM2UyZGMtN2Y1M2Y3OGQxYzNkZmRjZGI2ZTdhZDUzZTZjN2YxNmQ1ZTk5OGEwNS5negoKMjAwOC0wNS0xNSAwMToyMTo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGR1cmF0aW9uIHF1ZXJ5IGZyb20gYWRkZXIKCSAgMjAwODA1MTUwMTIxNDItM2UyZGMtMjc2ODE5OTE4M2JmYjlkNTY5YmUxMzg5ZTM4MmJlZGMwMmUzZTk1ZS5negoKMjAwOC0wNS0xNSAwMDowMjoxNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZSBmbHVzaCBzdG9wIGluc2lkZSB3aGVyZSBpdCBiZWxvbmdzCgkgIDIwMDgwNTE1MDAwMjE0LTNlMmRjLWNkYTVjZGRkMWVhZDVjNDhhNTU0ZTllOWJjNzVhZTY4NDM3YmNkZmIuZ3oKCjIwMDgtMDUtMTQgMjM6NDk6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEhhdmUgdGhlIGxpdmVhZGRlciByZW1lbWJlciBpZiBpdHMgcGxheWluZyBvciBub3QKCSAgMjAwODA1MTQyMzQ5NDgtM2UyZGMtOTA2NGEyN2E1NGFlZjU5ODQ0NGFhNmFkNjQ2MzM0NTk3OTEyMDgyOC5negoKMjAwOC0wNS0xNCAyMzo0OToxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHVzaCBvdXQgYnVmZmVyIGlmIHdlJ3JlIG5vdCBwbGF5aW5nIHdoaWxlIHRoZXJlIGlzIG5vIGNsb2NrCgkgIDIwMDgwNTE0MjM0OTEwLTNlMmRjLTEwOTZlYjdkYzNmYWRhMTlhZmM4MWRjZDUzNmQ5ZWRjODIxZDBkYTkuZ3oKCjIwMDgtMDUtMTQgMjM6MjY6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEVtcHR5IHRoZSBxdWV1ZSBvbiBmbHVzaCBzdGFydAoJICAyMDA4MDUxNDIzMjY0My0zZTJkYy01YTNmNTJhM2ZkMzc3MTE2NGRlYTk1YmQxNDQxMGQ3NmI0ZmNlMmFhLmd6CgoyMDA4LTA1LTE0IDIzOjE3OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCBwYWQgcHJpdmF0ZSBvbiBmbHVzaCBzdG9wCgkgIDIwMDgwNTE0MjMxNzUyLTNlMmRjLTExM2ZlYzJmYWFmYzJkYzExYzFlYWE4MThjYjQ4OGI3MWU2MDFmOWIuZ3oKCjIwMDgtMDUtMTQgMjM6MTY6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBhc3MgcGFkIGFzIHBhZCB0byByZXNldF9wYWRfcHJpdmF0ZQoJICAyMDA4MDUxNDIzMTY0My0zZTJkYy0wMDY5NjBiOWNkYzNjZThlMWY4OTBkYzZkMTk0Nzc4Y2JjN2M5NzM2Lmd6CgoyMDA4LTA1LTAyIDE5OjEwOjA0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcmludCBkZWJ1ZyBtZXNzYWdlIGlmIHdlIHJldHVybiBub24tb2sgZnJvbSBjaGFpbgoJICAyMDA4MDUwMjE5MTAwNC0zZTJkYy1mMWY3MjM3YzA2YzExNThjZjI3ZTI5ZDMyYTY5ZGUwNmY3MTEyNTA2Lmd6CgoyMDA4LTA1LTAyIDE5OjA5OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCByZXR1cm4gRU9TIGlmIHdlIGhhdmUgbm8gcGFkcwoJICAyMDA4MDUwMjE5MDk1NC0zZTJkYy00MTM1MTIyNWU5MDllNmQwODM3YTZhNjBlMTg3ZDMzYWIxODZhZDc2Lmd6CgoyMDA4LTA1LTAxIDIwOjMxOjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGVjayB0aGF0IHRoZSBmb3JtYXQgaXMgTk9UIHRpbWUKCSAgMjAwODA1MDEyMDMxNTQtM2UyZGMtNzgwZTQ2YjFmMGZlNzZhNjZlMmQ3OWEyZWI4NWQ3NjRmZjVmMTgyZi5negoKMjAwOC0wNC0yOCAyMjoxNzozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdXNlIGdfcXVldWVfY2xlYXIoKQoJICAyMDA4MDQyODIyMTczNy0zZTJkYy1iYjhlNDc0ODc1MWMyOWUwODU3MzEzYTA5Zjg1MDY3YWIxMmMzZmU0Lmd6CgoyMDA4LTA1LTAxIDIwOjA5OjQwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQYWQgcHVzaCBldmVudCBhZnRlciB0aGUgbG9jayBoYXMgYmVlbiB1bmxvY2tlZAoJICAyMDA4MDUwMTIwMDk0MC0zZTJkYy1hZTVmZWM1Zjc5ZjMyNzc3YmJhNjQ5ZDBkNzAwZDQ5ZjdiZWRmZjQwLmd6CgoyMDA4LTA1LTAxIDE4OjI1OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDcmVhdGUgZ2VuZXJpYyBzZWdtZW50IGlzIG5vbmUgcmVjZWl2ZWQgYW5kIHJlZnVzZSBub24tdGltZSBzZWdtZW50cwoJICAyMDA4MDUwMTE4MjU1NC0zZTJkYy1hY2U1Y2EwMDA0MTQ0MjhkNmQ5NDQ3OGFkYzU5MjdjOWY5MTk3NWRmLmd6CgoyMDA4LTA0LTI5IDE0OjA4OjAyICswMDAwICBTaW1vbiBNY1ZpdHRpZSA8c2ltb24ubWN2aXR0aWVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiAoZGlkIGFueW9uZSB0ZXN0IHRoaXM/ISkKCSAgMjAwODA0MjkxNDA4MDItNTNlZWUtNDFmZGI0MzkxZWRkYjEyNWI3ZTM0MDE5NDI3Y2ZhNWRjOGFmZDZjMC5negoKMjAwOC0wNC0yOSAwMDozNjowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSb2J1c3RuZXNzIGNoZWNrLCBtYWtlIHN1cmUgdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eSBiZWZvcmUgdXNpbmcgdGhlIGhlYWQgZWxlbWVudAoJICAyMDA4MDQyOTAwMzYwMC00ZjBmNi03MDhjNjU0YjY1ODEyY2FlYjM2MTIyNDhkYmUwYjJlNjI1NjdjMjUwLmd6CgoyMDA4LTA0LTI5IDAwOjM0OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNvbmRpdGlvbgoJICAyMDA4MDQyOTAwMzQxMi00ZjBmNi05ZTg5MGFkMGFjNDQyNzkxYThiMjI2NTBhNzVjYjc1NGQ3ZjJkNzIzLmd6CgoyMDA4LTA0LTI5IDAwOjAzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGNoZWNrIGFnYWluc3QgYXVkaW9fYnVmZmVyX2NsaXAgd2hpY2ggY2FuIHJldHVybiBOVUxMIGlmIHRoZSBidWZmZXIgaXMgb3V0c2lkZSB0aGUgY2xpcHBpbmcgc2VnbWVudAoJICAyMDA4MDQyOTAwMDMzOS00ZjBmNi03ZTRlMzFmMDY2Yjg3ZTI5MjY1ZGRiMzk3ODkyOWU1MWVmYmZmNDdkLmd6CgoyMDA4LTA0LTI4IDIzOjQ5OjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvYmplY3QgbG9ja2luZyBpbiBzZXRjYXBzCgkgIDIwMDgwNDI4MjM0OTQ4LTRmMGY2LTQ1ODY0MzRiNDMwOGUxMTRmNDk1ZTkyNjk5NmZjMTk0ODNjMTA1NmYuZ3oKCjIwMDgtMDQtMjggMjM6NDk6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdfY29uZF9icm9hZGNhc3QgaW5zdGVhZCBvZiBnX2NvbmRfc2lnbmFsCgkgIDIwMDgwNDI4MjM0OTM1LTRmMGY2LWU1MWZhYjMxNzcyYjMyZjJmYjA4MGFkNzBjNmJlZGVmYzVjMjZkYzYuZ3oKCjIwMDgtMDQtMjggMjM6Mjg6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWF4IGxhdGVuY3kgc2hvdWxkIGFsc28gYmUgaW5jcmVhc2VkIGJ5IG91ciBvd24gbGF0ZW5jeQoJICAyMDA4MDQyODIzMjg1MS00ZjBmNi0wNWY5YTg5NDAzY2Q1NDIxMWYyZjRhNjU5NTcwNDI3MGVhYjk2MTZmLmd6CgoyMDA4LTA0LTI4IDIyOjM2OjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggZGVhZGxvY2sgb24gaW52YWxpZCB0aW1lc3RhbXAgZXJyb3IKCSAgMjAwODA0MjgyMjM2MDYtM2UyZGMtOTYzZTQ4YjMzZWZhZjg0YzE2ZDRlYzRiNzg5YTZkZmIyZDkzNThhZC5negoKMjAwOC0wNC0yOCAxNjoxOTo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBjb21tZW50IGZvciBjbGFyaXR5CgkgIDIwMDgwNDI4MTYxOTU4LTRmMGY2LWNiYWExNjZmYmRlOTkwMTNiNTU1YzY5YWI0OGQ5NjRkNzU3NzNhN2YuZ3oKCjIwMDgtMDQtMjggMTY6MTI6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgVE9ETyBjb21tZW50cwoJICAyMDA4MDQyODE2MTIzNS00ZjBmNi1mYmM3ODUzM2QyOWQzN2I2NWFkZDZmNjA0NmZlYzE3Y2U1ZTMwY2FlLmd6CgoyMDA4LTA0LTI4IDE1OjU5OjI3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGNoZWNrX2VvcyB3aWxsIGFsd2F5cyByZXR1cm4gRkFMU0UgaGVyZS4uCgkgIDIwMDgwNDI4MTU1OTI3LTRmMGY2LTFhOTNlMjk1ZDNkZjY4YTk2MzY3Yjc1MDYwYTg5YTk0N2VmYTg5NDQuZ3oKCjIwMDgtMDQtMjggMTU6NDk6NTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgY29tbWVudCBvbiB0aGUgbm8gY2xvY2sgZXJyb3IKCSAgMjAwODA0MjgxNTQ5NTYtNGYwZjYtN2UyNGVkMzFmOWM4MjJlNDMyM2I2ODFhNTRiYzIzZjAzYzFhMzI1ZS5negoKMjAwOC0wNC0yOCAxNTo0ODo1MCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlcnJvciBpZiBubyBjbG9jayBpcyBhdmFpbGFibGUKCSAgMjAwODA0MjgxNTQ4NTAtNGYwZjYtMzhmZGM0MTM0ODM1YzQ1N2QwMDU0MzAxNTc5ZDhjZDRjYmQ0OTg5YS5negoKMjAwOC0wNC0yNSAyMTowNDo1NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW5hbWluZyB1bnVzZWQgYXJnCgkgIDIwMDgwNDI1MjEwNDU2LTRmMGY2LWFiMWNkYzk0NGM5YmNkNzc5NTA0MjkyYjIxZGMxNzg3ZDZjYjYyYTEuZ3oKCjIwMDgtMDQtMjUgMjA6Mzk6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlZCB1bnVzZWQgdXNlcl9kYXRhIGFuZCBjb21tZW50ZWQgbGluZQoJICAyMDA4MDQyNTIwMzkzOC00ZjBmNi03ODc3Nzg0NzViNjQ2NDYxZGE0MGYzZTAwMDBhMTBiYzk2ZTE0MmJjLmd6CgoyMDA4LTA0LTI1IDIwOjM3OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZSB1bnVzZWQgY2FzZXMgYW5kIGVtcHR5IHN3aXRjaAoJICAyMDA4MDQyNTIwMzczNS00ZjBmNi1jMDQ0MmZjZjU3ZTNmMDhiODFiYzFiZTNkNjlmNWNmYTAyNTdiNTJhLmd6CgoyMDA4LTA0LTI4IDE4OjM0OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBFeHBsaWNpdCB0aGUgZGlzY29udCBmbGFnIG1hbmdsaW5nCgkgIDIwMDgwNDI4MTgzNDA5LTNlMmRjLTRkYjI1MDVlZWNhMDMzYTYzNDI1M2I2YzJkMmY0ZjEzOThlOWZjY2EuZ3oKCjIwMDgtMDQtMjggMTg6MDc6MTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVucmVmIGV2ZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQKCSAgMjAwODA0MjgxODA3MTEtM2UyZGMtZWI2NTk3ODdmMTc5NTYyZjE1NDAyYzgxOWYxODhkZTM5OGRlZWYyZC5negoKMjAwOC0wNC0yNCAyMjo0NjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIEdsaWIgR197TUFYLE1JTn17VSx9SU5UezgsMTYsMzJ9IG1hY3JvcwoJICAyMDA4MDQyNDIyNDYyNy0zZTJkYy0xMDM2YmM1OGI2YjRkYjJmOWYxMjgzMWNkYmFlM2JjNjEzZmFjYmJmLmd6CgoyMDA4LTA0LTIxIDAzOjI2OjE0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbmxvY2sgbGl2ZWFkZGVyIGVtcHR5IGJ1ZmZlciBnY29uZCBvbiBmbHVzaAoJICAyMDA4MDQyMTAzMjYxNC0zZTJkYy00ZWQyOWUxNTgzZmY2ODQzMzhiYTVkNzYxMWY2MGIxYTdlYWZmNTYzLmd6CgoyMDA4LTA0LTE4IDE5OjI5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbnJlZiBldmVudCBpbnN0ZWFkIG9mIGxlYWtpbmcgaXQKCSAgMjAwODA0MTgxOTI5NDEtM2UyZGMtMzUyZTI1ZjZhYjI5MTYxMmJlMWRjMTM5NzkwMzAzYTEzMzNmNjVkNy5negoKMjAwOC0wNC0wMyAxNzowOTo1NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbm9uLXBlcmZlY3Qgc3RyZWFtIGlzbnQgYW4gZXJyb3IsIGxldHMganVzdCBsb2cgaXQKCSAgMjAwODA0MDMxNzA5NTYtM2UyZGMtNjYzZjZhZjhjZTA2N2Y0NGNhMjUxYTg5YWViZjI2MmQ0YjhhMjg2OS5negoKMjAwOC0wNC0wMyAxNjo1NDozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gV2UgcmV0aW1lc3RhbXAgdG8gdGhlIHJ1bm5pbmcgdGltZSwgc3RhcnRpbmcgdGhlIHNlZ21lbnRzIGZyb20gMCBzaG91bGQgdGhlcmVmb3JlIHdvcmsKCSAgMjAwODA0MDMxNjU0MzEtM2UyZGMtZDk4MWFjMmY5ZWE3ZmQzYzhkMmJlNGQyMmYxODE3Y2Y3OGM2MTRlNC5negoKMjAwOC0wNC0wMyAxNjo1NDoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gdGhlIG1pbi9tYXggb2YgdGhlIGxhdGVuY2llcyBjb3JyZWN0bHkKCSAgMjAwODA0MDMxNjU0MTUtM2UyZGMtYzExMjRiZDg0ZTY3Y2Y4YTkxMWExNGJiMTIzYjg3MzFkYTlmNGZjNC5negoKMjAwOC0wNC0wMyAwMjoxNDoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGluZGVudGF0aW9uCgkgIDIwMDgwNDAzMDIxNDI1LTNlMmRjLWVmZDczYTZlZWQwNjc2ZTE1OGFmNzA0ODRkNGU1YzQyZWE3NWRlNzQuZ3oKCjIwMDgtMDQtMDMgMDI6MDM6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIGluIGNhc2Ugd2UncmUgYWxyZWFkeSBwbGF5aW5nCgkgIDIwMDgwNDAzMDIwMzE4LTNlMmRjLWFmZDU4Zjk5MmMwYjMwNTcyMjFiOTEwMzRiMmZjZDkxZjI5NmU1MmQuZ3oKCjIwMDgtMDQtMDMgMDI6MDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZvciBsYXRlbmNpZXMsIHVzZSB0aGUgbWluIG9mIHRoZSBtYXggYW5kIHRoZSBtYXggb2YgdGhlIG1pbiAoYW5kIHRoZSBtaW4gd2lucyBpZiB0aGV5IGNyb3NzKQoJICAyMDA4MDQwMzAyMDI1My0zZTJkYy1kZGE3ZTQ3MTA3M2VlNzVhNmY2MGU4NDVjM2M1NDZhZjliZTE5Njc1Lmd6CgoyMDA4LTA0LTAzIDAwOjU3OjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgbmV4dF90cyBpbnRvIGV4cGVjdGVkX3RzLCBtYWtlIHN1cmUgYWxsIGJ1ZmZlcnMgaGF2ZSBhIGR1cmF0aW9uCgkgIDIwMDgwNDAzMDA1NzI4LTNlMmRjLTgyNDVjZTFiZmVlYmViZmI4Zjc1MDczMjUzYjNjMGUzYzRiNWY1OTYuZ3oKCjIwMDgtMDQtMDMgMDA6NDA6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHRyeSB0byBzZXQgdGhlIGRpc2NvbnQgZmxhZyBpZiB0aGUgZHVyYXRpb24gb2YgdGhlIHByZXZpb3VzIGluY29taW5nIGJ1ZmZlciB3YXMgbm90IHZhbGlkCgkgIDIwMDgwNDAzMDA0MDEyLTNlMmRjLTZmOTU1MjBjOTI4YzM0NzUwOGJkZjYxODhjODczZWQ3MjRhZDJkZDcuZ3oKCjIwMDgtMDQtMDIgMjI6NDY6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IGJ1ZmZlcnMgb2Zmc2V0cyB0byBub25lCgkgIDIwMDgwNDAyMjI0NjI3LTNlMmRjLWQzZWU4YzdkMGMxNDEzMTAxNzg0MmQ4MTU5ZjdmNjg0ZDBjY2VmNmQuZ3oKCjIwMDgtMDQtMDIgMjI6NDY6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcG9ydCBhZGRlciBzcmMgZXZlbnQgaGFuZGxpbmcKCSAgMjAwODA0MDIyMjQ2MTItM2UyZGMtMjFhNjgyYjE4ZmUxODc4MmJmN2ZhNDg5ODNjMTNjMWFkODZkYzVhMS5negoKMjAwOC0wMy0zMSAxODo0NDoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHVzaCBvdXQgYSBzaW1wbGUgbmV3c2VnbWVudCBldmVudAoJICAyMDA4MDMzMTE4NDQyMS0zZTJkYy02OTU0NGI1YjAzYWUzYmI4YzFlM2Y5Njc5NzRmZDI1MGQwNDA1NmI1Lmd6CgoyMDA4LTAzLTMxIDE4OjQ0OjA0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCByZXR1cm4gRU9TIGlmIHRoZXJlIGlzIG5vIHNpbmsgcGFkCgkgIDIwMDgwMzMxMTg0NDA0LTNlMmRjLTQ4MmExMzRiNDdlYWRjZDlmMWY5ZDE0NGMwMmFiMTE0NTAyOGZhMDcuZ3oKCjIwMDgtMDMtMzEgMTc6MTE6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZHVjZSBsb2NraW5nIGEgYml0IGFuZCBjbGVhbnVwIGNvZGUgYSBiaXQKCSAgMjAwODAzMzExNzExMTYtM2UyZGMtNWRkZmIwZTQ1OTAwNDc4MGQzZjdhNjYwYzY0ZjU4MjQzOTM2YTg0NC5negoKMjAwOC0wMy0yOSAwMDo0NToxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGxpdmVhZGRlciBlbGVtZW50CgkgIDIwMDgwMzI5MDA0NTE4LTNlMmRjLTQwZTQ3NDZmZTgyYmJjNWE4NzFmMDNmZTZmZjYwNDhmNDM2YzlmODUuZ3oKCjIwMDktMDItMTYgMTY6MDg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IEZpeCBhY2NpZGVudGFsbHkgaW50cm9kdWNlZCBzdGFjayBvdmVyd3JpdGluZyBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDA5LTAyLTE2IDE2OjA2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBTYXZlIG9uZSBtZW1vcnkgYWxsb2NhdGlvbiBwZXIgc3RlcmVvIGJ1ZmZlcgoKMjAwOS0wMi0xMyAxMjoxODo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IERvIG5vdCB1c2Ugdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuCgoyMDA5LTAyLTEyIDE3OjMxOjUwIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBSZXR1cm4gQVNZTkMgYXBwcm9wcmlhdGVseSBmcm9tIGNoYW5nZV9zdGF0ZS4KCSAgTWFrZSBzdXJlIHdlIGRvbid0IGRvIHRoZSB3cm9uZyB0aGluZyB3aGVuIG91ciBiYXNlIGNsYXNzIGlzIHJldHVybmluZwoJICBBU1lOQyBpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAwOS0wMi0xMiAxNTowMTo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGZpeCBjb21waWxhdGlvbi4KCSAgQWNjaWRlbnRseSBtZXJnZWQgcGFydCBvZiBvbmUgY2hhbmdlOyByZW1vdmUgaXQuCgoyMDA5LTAyLTEyIDIyOjQwOjQ4ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBNYWtlIHRoZSBkZW11eGVyIHJldXNhYmxlIGluIFJFQURZLT5QTEFZSU5HLT5SRUFEWS0+UExBWUlORyBjeWNsZXMgYnkgZmx1c2hpbmcgYWRhcHRlcnMgY29ycmVjdGx5LgoKMjAwOS0wMi0xMiAxMDo1Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBbHNvIGluY2x1ZGUgdGhlIHBpY3R1cmUvc291bmQvZGF0YSBlc3NlbmNlIGNvZGluZyBpbiB0aGUgdW5rbm93biBjYXBzCgoyMDA5LTAyLTEyIDA5OjQ2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPLCB3ZSBzaG91bGQgc3VwcG9ydCB0aGUgZHJvcC1mcmFtZSBwcm9wZXJ0eSBvZiB0aW1lY29kZSB0cmFja3MKCjIwMDktMDItMTIgMDg6NDY6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRml4IHJlc29sdmFsIG9mIGlkZW50aWZpY2F0aW9ucyBmcm9tIHRoZSBwcmVmYWNlCgoyMDA5LTAyLTExIDE4OjQwOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogUGFyc2UgTVhGVGltZXN0YW1wJ3MgbWlsbGlzZWNvbmRzIGFuZCBhZGQgX3RvX3N0cmluZygpIGZ1bmN0aW9uCgoyMDA5LTAyLTEwIDE0OjIzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTEyIDEwOjQ2OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGFsc28gcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nIGVycm9yCgoyMDA5LTAyLTExIDE3OjIzOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcywgYWxzbyBhZGQgc29tZSBtaXNzaW5nIGRpc3RpbmcgZGlyZWN0b3JpZXMgdG8gYSBjb3VwbGUgb2YgTWFrZWZpbGVzLmFtIGZpbGVzCgoyMDA5LTAyLTExIDE3OjIxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IEZpeCBjb21waWxhdGlvbiwgYWN0aXZhdGVfc2lua3BhZCgpIGhhcyBubyBub3RpZnkgcGFyYW1ldGVyCgoyMDA5LTAyLTEwIDE2OjIyOjU0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0LXNlbGVjdG9yOiBBY3RpdmF0ZSBhbmQgbm90aWZ5IHBhZCBiZWZvcmUgcHJvY2Vzc2luZyBldmVudHMuCgkgIEV2ZW50cyBzaG91bGQgdHJpZ2dlciBwYWQgc2VsZWN0aW9uIGlmIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBhbgoJICBleHBsaWNpdGx5IHNlbGVjdGVkIHBhZCwgc28gdGhhdCBldmVudHMgcHJpb3IgdG8gZmlyc3QgYnVmZmVyIGRvbid0IGdldAoJICBsb3N0LgoKMjAwOS0wMi0xMSAwMTo1NDowMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2FuaXRpemUgY29uc3RhbnRzIHVzZWQgZm9yIGVsZW1lbnQgZmFjdG9yeSBuYW1lcy4KCjIwMDktMDItMTEgMDE6MjQ6NTEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSB2NGwyc3JjIGFzIGRlZmF1bHQgc291cmNlLgoKMjAwOS0wMi0xMSAwMTowNzowNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzLy5naXRpZ25vcmU6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogLmdpdGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMuCgoyMDA5LTAyLTExIDAxOjAyOjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogd2luMzIvY29tbW9uL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogTW92ZSBnZW5lcmF0ZWQgZmlsZXMgdG8gd2luMzIvY29tbW9uLgoKMjAwOS0wMi0xMSAwMDoyODo1MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgY2FtZXJhYmluOiBBZGQgLmdpdGlnbm9yZSB0byBoaWRlIGdlbmVyYXRlZCBzaWduYWwgbWFyc2hhbGxlciBmaWxlcy4KCjIwMDktMDItMTEgMDA6MTk6MjIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBwbHVnaW4gZGV0YWlscyB0byB1c2UgR1NUX1BBQ0tBR0VfKiB2YWx1ZXMuCgoyMDA5LTAyLTExIDAwOjE1OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbGljZW5zZSBzcGVjaWZpZWQgaW4gcGx1Z2luIGRldGFpbHMuCgoyMDA5LTAyLTEwIDEyOjI4OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogUGFzcyBwaXhlbCBhc3BlY3QgdGhyb3VnaCBmcm9tIGRlbXV4ZXJzLCBpZiBzdXBwbGllZC4KCSAgSWYgdGhlIGluY29taW5nIGNhcHMgaGF2ZSBhIHBpeGVsLWFzcGVjdC1yYXRpbywgZW5zdXJlIGl0J3Mgc2V0IG9uIHRoZQoJICBvdXRwdXQuIENvcnJlY3RzIFBBUiBmb3IgbWFueSAoYnV0IHByb2JhYmx5IG5vdCBhbGwpIGZpbGVzLgoKMjAwOS0wMi0xMCAxMjoyNjoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IE1ha2UgYXVkaW8gZGVjb2RlcnMgaGF2ZSBTRUNPTkRBUlkgcmFuay4KCSAgVGhlc2Ugd3JhcHBlcnMgYXJlIG5vdCBpZGVhbCwgYW5kIGZvciBtYW55IG9mIHRoZXNlIGZvcm1hdHMgdGhlcmUgYXJlCgkgIGJldHRlciBnc3RyZWFtZXIgZWxlbWVudHMgYXZhaWxhYmxlLiBTbywgbWFrZSB0aGUgcmFuayBTRUNPTkRBUlkuIEluCgkgIHBhcnRpY3VsYXIsIHRoZSBtcDMgZGVjb2RlciBvbiB3aW5YUCBkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsLgoKMjAwOS0wMi0xMCAxMjoxMjowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIGRzaG93ZGVjd3JhcHBlcjogRGVsZXRlIG9sZCAuYyBmaWxlcyB0aGF0IGFyZSB1bnVzZWQKCSAgVGhlc2Ugb2xkIGZpbGVzIGFyZSBzdGFsZTsgdGhlIHBsdWdpbiB3YXMgcmV3cml0dGVuIGluIGMrKyBhZ2VzCgkgIGFnby4gTm90IHN1cmUgd2h5IHRoZXNlIGFyZSBoYW5naW5nIGFyb3VuZC4KCjIwMDktMDItMTAgMTA6MTc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IFBhc3MgYXQgbW9zdCAyMDQ4IHNhbXBsZXMgdG8gU291bmRUb3VjaCdzIEJQTURldGVjdAoJICBJbnRlcm5hbGx5IEJQTURldGVjdCBhc3N1bWVzIHRoYXQgYXQgbW9zdCAyMDQ4IHNhbXBsZXMgYXJlIHBhc3NlZAoJICB0byBpdCBhdCBvbmNlIGFuZCBzdG9yZXMgdGhvc2UgaW4gYSBzdGFjayBhbGxvY2F0ZWQgc3RhdGljIHNpemVkCgkgIGFycmF5LiBJZiB3ZSBwYXNzIHRvbyBtYW55IHNhbXBsZXMgdGhpcyB3aWxsIHJlc3VsdCBpbiBhIGJ1ZmZlciBvdmVyZmxvdwoJICByZXN1bHRpbmcgaW4gaGVhdnkgc3RhY2sgY29ycnVwdGlvbiBhbmQgYSBjcmFzaC4gRml4ZXMgYnVnICM1NzA5OTYuCgoyMDA5LTAyLTA5IDE3OjU4OjQyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbW1wM2RlYzogZml4IG1ham9yIG1lbW9yeSBsZWFrcyBhbmQgY2xlYW4gdXAgY29kZS4KCSAgVW5yZWYgaW5jb21pbmcgYnVmZmVycyB3aGVuIHdlJ3JlIGRvbmUuCgkgIFJlaW5kZW50LCBjbGVhbiB1cCB3aGl0ZSBzcGFjZS4gRml4IGNvbW1lbnRzLgoKMjAwOS0wMi0wOSAxODoxNDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZnRlciBwdWxsaW5nIHRoZSBmb290ZXIgbWV0YWRhdGEgcmVzZXQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbnMgdG8gMAoKMjAwOS0wMi0wOSAxNzo1NTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBXaGVuIHRyeWluZyB0byBmaW5kIGFuIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gdHJ5IHRvIGZpbmQgcG9zaXRpb24rMSB0b28KCSAgQnkgc2VhcmNoaW5nIGZvciB0aGUgZm9sbG93aW5nIHBvc2l0aW9uIHdlIHdpbGwgYWRkIHRoZSBjb21wbGV0ZQoJICBnZW5lcmljIGNvbnRhaW5lciAoaS5lLiBhbGwgdHJhY2tzKSBhdCB0aGUgc2FtZSBwb3NpdGlvbiB0byB0aGUKCSAgaW5kZXggd2hpY2ggc2hvdWxkIG1ha2UgZmluZGluZyBwb3NpdGlvbnMgZm9yIG1vcmUgdGhhbiBvbmUgdHJhY2sKCSAgYSBiaXQgZmFzdGVyLgoKMjAwOS0wMi0wOSAxNzo0ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGb3IgbmV3IGVzc2VuY2UgdHJhY2tzIG9ubHkgc2V0IHRoZSBwb3NpdGlvbiB0byAwIGlmIGl0IHN0YXJ0cyBpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24KCjIwMDktMDItMDkgMTc6NDQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ2hlY2sgaWYgdGhlIGxlbmd0aCBvZiB0aGUgc3JjL2Vzc2VuY2UgdHJhY2sgYXJyYXlzIGFyZSAwLCBub3QgdGhlIGFycmF5IGl0c2VsZgoKMjAwOS0wMi0wOSAxNzoyNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBNYWtlIHN1cmUgdGhhdCB0aGUgc3JjcGFkIGFuZCBlc3NlbmNlIHRyYWNrIGFycmF5cyBhbHdheXMgZXhpc3QKCjIwMDktMDItMDkgMTY6MTI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ2hhbmdlIHNvbWUgR1NUX0VSUk9ScyB0byBzb21ldGhpbmcgbGVzcyBjcml0aWNhbAoKMjAwOS0wMi0wOSAxNjowOToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IGdvIGludG8gRU9TIGFuZCBzZW5kIHNlZ21lbnQtZG9uZSBhZnRlciBhbGwgdHJhY2tzIGFyZSBmaW5pc2hlZAoKMjAwOS0wMi0wOSAxNjowOToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTA5IDE1OjQ4OjIwICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgZm9yIGNhbWVyYWJpbi4KCjIwMDktMDItMDkgMTI6MDI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEJ1bXAgcmV2aXNpb24gdG8gdXNlIGZvciBjb21tb24gc3VibW9kdWxlLgoKMjAwOS0wMS0zMCAxNjowOTozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBNb3JlIGZpbGVzIHRvIGlnbm9yZQoKMjAwOS0wMi0wNSAyMzowNjoyMyArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogQWRkIGNhbWVyYWJpbiB1bml0IHRlc3RzLgoKMjAwOS0wMi0wNSAxNTo0ODozMiArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5Lmg6CgkgIEFkZCBjYW1lcmFiaW4gZWxlbWVudC4KCjIwMDktMDItMDYgMTI6MDY6MjMgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBBZGQgcGhvdG9ncmFwaHkgaW50ZXJmYWNlLgoKMjAwOS0wMi0wOSAwNzozMzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggc2Vla2luZyB0byB0aGUgZW5kIG9mIGZpbGUKCSAgV2hlbiBzZWVraW5nIHRvIGEgcG9zaXRpb24gd2hlcmUgbm8gbmV3IG9mZnNldCBjYW4gYmUKCSAgZm91bmQgb3IgYWZ0ZXIgdGhlIGVuZCBvZiBhIHRyYWNrIGRvbid0IHNldCB0aGUgRU9TIGZsYWcKCSAgdG8gVFJVRSBhcyB3ZSBkb24ndCAoYW5kIGNhbid0KSBwdXNoIEVPUyBkb3duc3RyZWFtIHRoZW4uCgkgIEluc3RlYWQgc2V0IHRoZSBjdXJyZW50IGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gdG8gdGhlbgoJICBlbmQgb2YgdGhlIGVzc2VuY2UgdHJhY2sgYW5kIGxldCB0aGUgbG9vcCBvciBjaGFpbiBmdW5jdGlvbgoJICBzZXQgZXZlcnl0aGluZyB0byBFT1MgYW5kIHB1c2ggRU9TIGRvd25zdHJlYW0uCgkgIEFsc28gcmVzdGFydCB0aGUgcGFkJ3MgdGFzayBpZiByZXNvbHZpbmcgbWV0YWRhdGEgZmFpbGVkCgkgIChwbGF5YmFjayB3aWxsIGNvbnRpbnVlIGFzIGJlZm9yZSkgYW5kIHJldHVybiBGQUxTRSBmcm9tCgkgIHRoZSBzZWVrIGlmIG5vIG5ldyBvZmZzZXQgY291bGQgYmUgZm91bmQuCgoyMDA5LTAyLTA4IDIxOjUyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBsYXN0X3N0b3AgY2FsY3VsYXRpb24gd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA4IDIxOjMxOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IFJlc29sdmUgc291cmNlIHBhY2thZ2UgYmVmb3JlIGFjY2Vzc2luZyBpdCdzIG1lbWJlcnMKCjIwMDktMDItMDggMjE6MjM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBDb3JyZWN0bHkgaW1wbGVtZW50IHRpbWVzdGFtcGluZyBpbiBhbGwgY2FzZXMKCSAgV2hlbiB0aGUgbWF0ZXJpYWwgcGFja2FnZSB0cmFjayBhbmQgc291cmNlIHBhY2thZ2UgdHJhY2sKCSAgZWRpdCByYXRlIGFyZSBkaWZmZXJlbnQgdGhlIHNvdXJjZSBwYWNrYWdlIHRyYWNrIGVkaXQKCSAgcmF0ZSBhcHBsaWVzIHRvIHRoZSBzdG9yZWQgZXNzZW5jZSBhbmQgdGhlIG1hdGVyaWFsIHRyYWNrCgkgIGVkaXQgcmF0ZSBvbmx5IGFwcGxpZXMgdG8gdGhlIHZhbHVlcyBpbiB0aGUgdHJhY2sncyBzZXF1ZW5jZQoJICBhbmQgY29tcG9uZW50cy4KCjIwMDktMDItMDggMjE6MjI6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29ycmVjdGx5IGhhbmRsZSBEVVJBVElPTiBxdWVyaWVzIHdpdGggYSBuZWdhdGl2ZSBkdXJhdGlvbgoKMjAwOS0wMi0wOCAyMToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBXaGVuIGNoYW5naW5nIHRvIHRoZSBjb21wb25lbnQgYWZ0ZXIgdGhlIGxhc3QgY29tcG9uZW50IHVwZGF0ZSB0aGUgZXNzZW5jZSB0cmFjayBwb3NpdGlvbgoKMjAwOS0wMi0wOCAyMToxMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTbWFsbCBjbGVhbnVwIGFuZCBhbiBhZGRpdGlvbmFsIGNoZWNrCgkgIFVwZGF0ZSBUT0RPIGxpc3QsIHJlZHVjZSBzaXplIG9mIGEgc3RhY2sgYWxsb2NhdGVkIHN0cmluZwoJICBhbmQgZG9uJ3QgYWxsb3cgZXNzZW5jZSB0cmFja3Mgd2l0aCBhbiBpbnZhbGlkIGVkaXQgcmF0ZQoKMjAwOS0wMi0wOCAwNzozMDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGb3IgbWF0ZXJpYWwgcGFja2FnZXMgbWFrZSBzdXJlIHRoYXQgdHJhY2tzIHJlc29sdmUgdG8gc291cmNlIHRyYWNrcwoKMjAwOS0wMi0wNyAxMDozODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcyBjb250YWluaW5nIEROeEhEIGVzc2VuY2UKCSAgQXZpZCB1c2VzIGEgY3VzdG9tIGVzc2VuY2UgY29udGFpbmVyIFVMIGFuZCBjdXN0b20gZXNzZW5jZSBlbGVtZW50IGtleXMKCSAgdGhhdCBhcmUgZm9ydHVuYXRlbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlCgkgIGVsZW1lbnRzLiBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NjE5MjIuCgoyMDA5LTAyLTA3IDEwOjEzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogTWFrZSBlc3NlbmNlIHRyYWNrIGNyZWF0aW9uIGEgYml0IG1vcmUgcm9idXN0IGFnYWluc3QgYnJva2VuIGZpbGVzCgkgIFNvbWUgZmlsZXMgY29udGFpbiBtdWx0aXBsZSB0cmFja3Mgd2l0aCB0aGUgc2FtZSB0cmFjayBudW1iZXIgYnV0IGRpZmZlcmVudAoJICB0cmFjayBpZCBpbnNpZGUgdGhlIHNhbWUgc291cmNlIHBhY2thZ2UuIFRoaXMgaXMgaW52YWxpZCBhbmQgd2Ugc2ltcGx5IGlnbm9yZQoJICB0aGUgc2Vjb25kIGFuZCBmb2xsb3dpbmcgb2Ygc3VjaCB0cmFhY2tzIG5vdyBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIHRoZQoJICBpbmZvcm1hdGlvbiBvZiB0aGUgZmlyc3Qgb25lLgoKMjAwOS0wMi0wNyAxMDowMzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBEb24ndCBpbmNsdWRlIG11bHRpcGxlIGRlc2NyaXB0b3JzIGluIHRoZSB0cmFjaydzIGRlc2NyaXB0b3JzCgoyMDA5LTAyLTA3IDA5OjI3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcyBjb250YWluaW5nIERWIGVzc2VuY2UKCSAgQXZpZCB1c3VhbGx5IHVzZXMgYSBjdXN0b20gZXNzZW5jZSBjb250YWluZXIgbGFiZWwgZm9yIHRoZSBlc3NlbmNlCgkgIGRlc2NyaXB0b3JzIGFuZCBzdG9yZXMgdGhlIGFjdHVhbCBjb2RlYyB0aGF0IGlzIHVzZWQgaW5zaWRlIHRoZQoJICBwaWN0dXJlIGVzc2VuY2UgY29kaW5nIGZpZWxkIChhbmQgZm9yIHNvdW5kIHByb2JhYmx5IGluIHRoZSBzb3VuZAoJICBlc3NlbmNlIGNvZGluZyBmaWVsZCBidXQgSSBoYXZlIG5vIHNhbXBsZSBmaWxlcyB3aXRoIHNvdW5kKS4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTYxOTIyLgoKMjAwOS0wMi0wNiAxMTo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBBZGQgZGF0YSBkZWZpbml0aW9uIGZvciBBdmlkIHZlbmRvciBzcGVjaWZpYyBwaWN0dXJlIGVzc2VuY2UKCjIwMDktMDItMDYgMTE6NTU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRm9yIHRyYWNrcyB3aXRoIG5vIGtub3duIG1hcHBpbmcgdXNlIGR1bW15IGNhcHMKCjIwMDktMDItMDYgMTE6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgcmVtb3ZlIGludmFsaWQgbmV3IGVzc2VuY2UgdHJhY2sgdHdpY2UgZnJvbSB0aGUgR1B0ckFycmF5CgoyMDA5LTAyLTA2IDExOjA5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IGtleWZyYW1lIGRldGVjdGlvbiBmb3IgTVBFRzQgdmlkZW8gc3RyZWFtcwoKMjAwOS0wMi0wNiAxMDo0Njo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBIYW5kbGUgc29tZSBtb3JlIHNwZWNpYWwgY2FzZXMgd2hlbiBzZXR0aW5nIHRoZSBwb3NpdGlvbiB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDYgMTA6NDY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWRqdXN0IGxhc3Rfc3RvcCB0byB0aGUgbGFzdCBrZXlmcmFtZSB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDYgMTA6MDY6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGxvZ2ljIGZvciBmaW5kaW5nIHRoZSBwcmV2aW91cyBrZXlmcmFtZQoKMjAwOS0wMi0wNiAwOTo1MzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkgIG14ZmRlbXV4OiBBZGQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBNUEVHMiB2aWRlbyBzdHJlYW1zCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBzZWVraW5nIGFzIHdlIHVzdWFsbHkgd2FudCB0byBzZWVrIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gVGhlIGtleWZyYW1lIGRldGVjdGlvbiBpcyBkb25lIGJ5IHBhcnNpbmcgdGhlIE1QRUcyCgkgIGVsZW1lbnRhcnkgc3RyZWFtIGFuZCBpZiBhIEdPUCBvciBJLWZyYW1lIHBhY2tldCBpcyBmb3VuZCB3ZQoJICBhc3N1bWUgYSBrZXlmcmFtZSBpbiB0aGlzIGVkaXQgdW5pdC4KCjIwMDktMDItMDUgMjE6Mjk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBQcm90ZWN0IHRoZSBtZXRhZGF0YSB3aXRoIGEgbG9jayBhZ2FpbnN0IGNvbmN1cnJlbnQgYWNjZXNzCgoyMDA5LTAyLTA1IDE3OjQyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIFJhbmRvbSBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzCgkgIFVzZSBnc3RfZWxlbWVudF9rbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSwgaW5zdGFsbCBwcm9wZXJ0aWVzCgkgIHdpdGggc3RhdGljIHN0cmluZ3MsIGNyZWF0ZSBwYWRzIGRpcmVjdGx5IGZyb20gdGhlIHN0YXRpYyBwYWQKCSAgdGVtcGxhdGVzLCBkaXJlY3RseSBwdXQgdGhlIHNlZ21lbnQgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0LAoJICB1c2UgR1NUX01TRUNPTkQgaW5zdGVhZCBvZiBudW1iZXJzLgoJICBUaGUgUEFSIGlzIGEgR3N0RnJhY3Rpb24gYW5kIG5vdCBhIGRvdWJsZSwgdXNlIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ZyYWN0aW9uKCkuCgkgIFNpbXBsaWZ5IHNldGNhcHMoKSBmdW5jdGlvbnMuCgoyMDA5LTAyLTA1IDE3OjAwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIFVzZSBHU1RfVklERU9fQ0FQU19SR0IgZm9yIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTAyLTA1IDE2OjU3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wMi0wNSAxNjo1NDowMSArMDEwMCAgQmVuamFtaW4gU2NobWl0eiA8dm9ydGV4QHdvbHB6b25lLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIEFkZCBhc3NyZW5kZXIgcGx1Z2luIGZvciByZW5kZXJpbmcgQVNTL1NTQSBzdWJ0aXRsZXMKCSAgVGhpcyBlbGVtZW50IGhhcyB0aGUgYWR2YW50YWdlIG92ZXIgc3VicGFyc2UncyBBU1MvU1NBCgkgIHN1cHBvcnQgdGhhdCBtb3JlIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQsIGxpa2UgZmFkaW5nLAoJICBieSB1c2luZyBsaWJhc3MuIEZpeGVzIGJ1ZyAjNDgxMDc1LgoKMjAwOS0wMi0wNSAxMDo1MDoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YSB0ZXN0OiBGaXggd3JvbmcgbG9vcGluZyB2YXJpYWJsZS4gVGVzdCBpcyBub3cgdmFsaWQgKGJ1dCBmYWlscykuCgkgIFRoZSBpbm5lciBsb29waW5nIHdhcyB1c2luZyB0aGUgb3V0ZXIgbG9vcGluZyB2YXJpYWJsZS4KCjIwMDktMDItMDQgMTg6MTE6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCB1cCB0aGluZ3MgdGhhdCB0aGUgaW5kZW50IHRoaW5neSBjb21wbGFpbmVkIGFib3V0CgoyMDA5LTAyLTA0IDE4OjA5OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggbWFqb3IgbGVha3MgaW4gcXR3cmFwcGVyIGF1ZGlvIGRlY29kZXJzLgoJICBGcmVlIHRoZSBkZWNvZGVyIGNvbXBvbmVudCBhbmQgYXVkaW9idWZmZXJsaXN0IHdoZW4gY2FwcyBjaGFuZ2UsIG9yIHdoZW4KCSAgZGlzcG9zaW5nIGVsZW1lbnQuCgoyMDA5LTAyLTA0IDE3OjUwOjUxIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgSGFuZGxlIG1hbnkgbW9yZSBlZGdlIGNhc2VzIGluIGRzaG93dmlkZW9zaW5rLgoJICBJbnN0cnVtZW50IHZhcmlvdXMgY29kZXBhdGhzIHdpdGggZGVidWcgbWVzc2FnZXMuCgkgIEhhbmRsZSAoYXMgYmVzdCBhcyBJIGNvdWxkIHNlZSBob3cgLSBpdCdzIHByZXR0eSBuYXN0eSkgbW92aW5nIGEgdmlkZW8KCSAgd2luZG93IHRvIGFub3RoZXIgbW9uaXRvci4KCSAgQWRkIGxpc3RlbmluZyBmb3IgZGlyZWN0c2hvdyBldmVudHMuCgoyMDA5LTAyLTA0IDIyOjUwOjMwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogZml4ZXMgY2xvc3Npbmcgc2VnbWVudCBnZW5lcmF0aW9uLgoJICBFbnN1cmUgdGhhdCB0aGUgY2xvc3Npbmcgc2VnbWVudCBpcyBnZW5lcmF0ZWQgY29ycmVjdGx5IGFuZCBiZWluZwoJICBwcm9wZXJseSBwdXNoZWQuCgkgIEFkZGVkIHNvbWUgR1NUX0RFQlVHIHRvIGNoZWNrIGl0LgoJICBFbnN1cmUgdGhhdCBsYXN0X3N0b3AgaXMgdXBkYXRlZCBpbiBzdHJlYW0gdGltZS4KCSAgQ2FsY3VsYXRlIGR1cmF0aW9uIGFzIGRlbHRhIG9mIFBUUyBhcyBpdCBzZWVtcyBtb3JlIGNvcnJlY3QgdGhhbiBkZWx0YQoJICBvZiBTQ1IgaW4gc29tZSBjbGlwcyB0aGF0IEkgdGVzdGVkLgoKMjAwOS0wMi0wNCAyMjoxNzozNiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHNldmVyYWwgZml4ZXMgb24gdGhlIHNlZWtpbmcgZnVuY3Rpb24gaW4gcHVsIG1vZGUuCgkgIFJlbW92ZWQgYSBsaW5lIHdyb25nbHkgY29weSBwYXN0ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0LgoJICBBdm9pZCBhbiB1bnNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93LgoJICBTZWVrIGxhc3Rfc3RvcCBpbiBzdHJlYW0gdGltZS4KCSAgQ2xhbXAgbGFzdF9zdG9wIGluIHN0cmVhbSB0aW1lIGJldHdlZW4gZmlyc3QgYW5kIGxhc3QgU0NSLgoJICBGaXhlZCBhIHR5cG8gaW4gdGhlIEdTVF9ERUJVRyBsaW5lIGFuZCBhZGRlZCBzb21lIG1vcmUgaW5mby4KCjIwMDktMDItMDQgMTY6MjA6NDAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIE1vdmVkIHZhciBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2luIG9mIGZ1bmN0aW9uCgoyMDA5LTAyLTA0IDE2OjE4OjI3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wMi0wNCAxNjoxMToyMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgSW1wcm92ZWQgc2Vla2luZyBpbiBwdWxsIG1vZGUuIFNvbWUgcmVmYWN0b3JpbmcgYW5kIHNtYWxsIGZpeGVzCgoyMDA5LTAyLTA0IDExOjExOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIFRPRE8KCjIwMDktMDItMDQgMTE6MDk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFBvc3QgYW4gVU1JRCB0YWcgd2l0aCB0aGUgY3VycmVudCBwYWNrYWdlJ3MgVU1JRAoKMjAwOS0wMi0wNCAxMDo1OTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc2V0IHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhZnRlciBzZWVraW5nIGFuZCBORVdTRUdNRU5UIGV2ZW50cwoKMjAwOS0wMi0wNCAxMDo1Mzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEluIHB1c2ggbW9kZSBwbGF5IGFsbCByZW1haW5pbmcgcGFydHMgb2YgdGhlIGZpbGUgb24gRU9TIGlmIHRoZXJlIGFyZSBhbnkKCjIwMDktMDItMDQgMTA6Mzc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBzZXQgdGhlIG1heGltdW0gYWxsb3dlZCB0aW1lIGRpZmZlcmVuY2UgYmV0d2VlbiB0cmFja3MKCjIwMDktMDItMDQgMTA6Mjc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBBbHdheXMgc2V0IHRoZSBjdXJyZW50IHBhY2thZ2UsIG5vdCBvbmx5IHdoZW4gaXQgd2FzIGNoYW5nZWQKCSAgVGhpcyBpcyBuZWNlc3NhcnkgYXMgdGhlIGN1cnJlbnQgcGFja2FnZSBsaW5rIHdpbGwgYmUgc2V0IHRvIE5VTEwKCSAgd2hlbiB1cGRhdGVkIG1ldGFkYXRhIGlzIHBhcnNlZCBhbmQgc2hvdWxkIGJlIHNldCBoZXJlIGFnYWluLgoKMjAwOS0wMi0wNCAxMDoxOTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFRyeSB0byByZXNvbHZlIGFsbCBzeW5jaHJvbml6YXRpb24gaXNzdWVzLCBub3Qgb25seSB0aGUgZmlyc3QKCjIwMDktMDItMDMgMTc6NDc6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZW1vdmUgc29tZSBjaGVja3MgdGhhdCB3aWxsIGFsd2F5cyBiZSBUUlVFCgoyMDA5LTAyLTAzIDIyOjI3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDItMDIgMjM6Mjk6MjQgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBBbHNvIGZsdXNoIHBhcnNlciB3aGVuIGEgbmV3c2VnbWVudCBpcyByZWNlaXZlZC4gRml4ZXMgbG9vcCBpbiByZXZlcnNlIG1vZGUuCgoyMDA5LTAyLTAyIDIzOjEyOjA3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIEFkZCBwdWxsIG1vZGUgdG8gbXBlZ3BzZGVtdXggYW5kIHJlcG9ydCBkdXJhdGlvbiByZWFkaW5nIGZpcnN0IGFuZCBsYXN0IFBUUy4gU29tZSByYW5kb20gY2xlYW51cHMuCgoyMDA5LTAyLTAyIDE3OjQ0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQ2xlYW51cCBwbGF5YmFjayBwYWNrYWdlIHNlbGVjdGlvbiBhbmQgbm90aWZ5IGFib3V0IHRoZSBjdXJyZW50IHBhY2thZ2UKCjIwMDktMDItMDIgMTY6MjM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgdGFncyBwcm9wZXJseSwgZXNwZWNpYWxseSBvbiBjb21wb25lbnQgc3dpdGNoCgoyMDA5LTAyLTAyIDE2OjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRXJyb3Igb3V0IGlmIG5vIHBhZHMgY291bGQgYmUgY3JlYXRlZAoKMjAwOS0wMi0wMiAxNTo1NDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc29sdmUgbWV0YWRhdGEgYW5kIHVwZGF0ZSB0cmFja3MgaWYgbmVjZXNzYXJ5IGJlZm9yZSBzZWVraW5nCgoyMDA5LTAyLTAyIDE1OjU0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRG9uJ3QgZ28gYWZ0ZXIgdGhlIGxhc3QgY29tcG9uZW50IG9mIGEgdHJhY2sKCjIwMDktMDItMDIgMTU6NTM6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXR1cm4gYW4gZXJyb3IgaWYgdXBkYXRpbmcgYW4gYWxyZWFkeSBleGlzdGluZyBwYWQgZmFpbHMKCjIwMDktMDItMDIgMDc6NDQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggc2Vla2luZyBpZiB0aGUgc291cmNlIGNsaXAgZHVyYXRpb24gaXMgdW5rbm93bgoKMjAwOS0wMi0wMSAxNjo1OToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTAyLTAxIDE2OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IGRlYWRsb2NrcyB3aGVuIHNlZWtpbmcgaW4gcHVsbCBtb2RlIGZhaWxlZCBhbmQgY2hlY2sgbmV3IG9mZnNldCBiZWZvcmUgdXNpbmcgaXQKCjIwMDktMDItMDEgMTY6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgb2Zmc2V0IGluIHB1c2ggbW9kZSBhbmQgaGFuZGxlIGV2ZW50cyBwcm9wZXJseQoKMjAwOS0wMi0wMSAxNTowNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgSW1wbGVtZW50IGluaXRpYWwgc2Vla2luZyBzdXBwb3J0IChwdWxsIG1vZGUgb25seSkKCjIwMDktMDEtMzEgMTE6Mjk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIERvbid0IHVzZSBHTGliIDIuMTYgQVBJIHVuY29uZGl0aW9uYWxseQoKMjAwOS0wMS0zMCAxOTo1Mjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIENoZWNrIGZvciBFT1Mgb24gYWxsIHBhZHMgYWZ0ZXIgYWRqdXN0aW5nIHRoZSBlc3NlbmNlIHRyYWNrIGR1cmF0aW9ucwoKMjAwOS0wMS0zMCAxOTozMzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBkdXJhdGlvbiBjYWxjdWxhdGlvbiBmb3IgZXNzZW5jZSB0cmFja3MKCjIwMDktMDEtMzAgMTU6NTA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXBsZW1lbnQgR3N0RWxlbWVudDo6cXVlcnkvZ2V0X3F1ZXJ5X3R5cGVzIHZmdW5jcwoKMjAwOS0wMS0zMCAxNTozNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc2V0IGFsbCBpbnRlcm5hbCBzdGF0ZSBpbiBmaW5hbGl6ZQoKMjAwOS0wMS0yOSAyMDoyNzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGRldGVjdGlvbiBhbmQgZml4IHB1c2ggbW9kZSBmb3IgdGhlIGxhc3QgcHVzaGVkIGluIGJ1ZmZlcgoKMjAwOS0wMS0yOSAxOTo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgS2VlcCB0cmFjayBvZiBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHdoZW4gcGxheWluZyBzb3VyY2UgcGFja2FnZXMKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cyBhcmUgcGxheWVkIGFuZAoJICB0aGF0IHdlIHNlZWsgdG8gdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cy4KCjIwMDktMDEtMjkgMTk6NDI6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIENvbXBlbnNhdGUgZm9yIHRpbWVzdGFtcC9kdXJhdGlvbiByb3VuZGluZyBlcnJvcnMKCjIwMDktMDEtMjkgMTU6NTY6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBsb2dpYyB0byBjaGVjayBhbGwgcGFkcyB3aGVuIHB1bGxpbmcgYSBwYWNrZXQgcmV0dXJuZWQgRU9TCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGZpbmlzaCBhbGwgcGFkcyB0aGF0IGFyZSBhdCBFT1Mgbm93IGluc3RlYWQgb2YKCSAganVzdCBmaW5pc2hpbmcgb25lIGFuZCByZXR1cm5pbmcgdG8gdGhpcyBwb2ludCBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAwOS0wMS0yOSAxNTo1NTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIE9ubHkgcHVzaCBidWZmZXJzIGZvciBwYWRzIHRoYXQgYXJlIG5vdCBtb3JlIHRoYW4gNTAwbXMgYmVmb3JlIG90aGVyIHBhZHMKCjIwMDktMDEtMjkgMTU6Mzk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBsb2dpYyB0byBvbmx5IGdvIGludG8gRU9TIGFmdGVyIGFsbCB0cmFja3MgYXJlIGZpbmlzaGVkCgoyMDA5LTAxLTI4IDE3OjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIFRPRE8gbGlzdAoKMjAwOS0wMS0yOCAxNjozOTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFRyeSB0byBrZWVwIHRoZSB0aW1lc3RhbXAgZGlmZmVyZW5jZSBiZXR3ZWVuIHRyYWNrcyBsb3dlciB0aGFuIDUwMG1zCgoyMDA5LTAxLTI3IDE1OjM2OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IHBsYXliYWNrIG9mIGF0b20gZmlsZXMKCjIwMDktMDEtMjcgMTU6Mjc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBLZWVwIHRyYWNrIG9mIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24KCjIwMDktMDEtMjcgMTQ6Mzg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBTZXQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbnMgdG8gMCBpZiB3ZSdyZSBhdCB0aGUgc3RhcnQgcGFydGl0aW9uCgoyMDA5LTAxLTI3IDE0OjI1OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBHZW5lcmF0ZSBhbiBpbmRleCB0YWJsZSBmb3IgZXNzZW5jZSBzdHJlYW1zCgkgIEdlbmVyYXRlIGFuIGluZGV4IHRhYmxlIGZvciBlc3NlbmNlIHN0cmVhbXMgZHVyaW5nIHBsYXliYWNrCgkgIGFuZCBtYWtlIHN1cmUgdGhhdCBvbmx5IHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMgYXJlCgkgIHVzZWQgZm9yIHBsYXllZCB0cmFja3MuCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gaGF2ZSBvbmUgZXNzZW5jZSBzdHJlYW0gdXNlZCBpbiBtdWx0aXBsZQoJICBwbGF5YmFjayB0cmFja3MuCgkgIEZpeCBzb21lIG1pbm9yIGJ1Z3MuCgoyMDA5LTAxLTI3IDE0OjIzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgRG9uJ3QgY29tcGxhaW4gaWYgdGhlIHByZWZhY2UgaGFzIG5vIHByaW1hcnkgcGFja2FnZSBzZXQKCjIwMDktMDEtMjYgMTY6MjM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIEFsbG93IGluZGV4IHRhYmxlIHNlZ21lbnRzIHdpdGhvdXQgcHJpbWVyIHBhY2sKCSAgV2hlbiBwYXJzaW5nIGFuIGluZGV4IHRhYmxlIHNlZ21lbnQgd2l0aG91dCBhIHZhbGlkCgkgIHByaW1lciBwYWNrIGluIHRoaXMgcGFydGl0aW9uIG9ubHkgcGFyc2UgdGhlIHN0YXRpYwoJICBsb2NhbCB0YWdzIGFuZCBpZ25vcmUgYWxsIGR5bmFtaWMgb25lcy4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gdXNlIGluZGV4IHRhYmxlIHNlZ21lbnRzIGluIHNvbWUKCSAgYnJva2VuIGZpbGVzLgoKMjAwOS0wMS0yNiAxNjoyMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIGVzc2VuY2UgdHJhY2sgYWJzdHJhY3Rpb24KCSAgQWRkIGFuIGFic3RyYWN0aW9uIHRvIHJlcHJlc2VudCBlc3NlbmNlIHRyYWNrcyBhbmQKCSAgdXNlIHRoaXMgZXZlcnl3aGVyZS4gVGhpcyB3aWxsIGxhdGVyIGJlIHVzZWQgdG8ga2VlcAoJICB0cmFjayBvZiBwb3NpdGlvbnMgYW5kIHRvIGdlbmVyYXRlL2hhbmRsZSBzZWVrIHRhYmxlcy4KCSAgU29tZSByYW5kb20gY2xlYW51cCBhbmQgcmVuYW1pbmcuCgoyMDA5LTAxLTI2IDE0OjQ3OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgRml4IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMKCSAgQWxsb2NhdGUgbWVtb3J5IGZvciB0aGUgcG9zIHRhYmxlcyBhbmQgc2xpY2Ugb2Zmc2V0cwoJICBvZiB0aGUgaW5kZXggZW50cmllcyBzZXBhcmF0ZWx5IHRvIGEpIGZpeCBhbGlnbm1lbnQgaW4KCSAgd2VpcmQgY2FzZXMgYW5kIGIpIHRvIGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIHRvIGZyZWUoKQoJICBpbiB0aGUgaW5kZXggdGFibGUgc2VnbWVudCByZXNldCBmdW5jdGlvbi4KCjIwMDktMDEtMjYgMTQ6MzM6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcHJvdmUgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlIGhlYWRlciBtZXRhZGF0YQoJICBIZWFkZXIgbWV0YWRhdGEgaXMgZmluaXNoZWQgYWZ0ZXIgcGFydGl0aW9uLmhlYWRlcl9ieXRlX2NvdW50CgkgIGJ5dGVzIGFmdGVyIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBwcmltZXIgcGFjayBhcmUgaGFuZGxlZC4KCSAgQWZ0ZXIgdGhpcyB0aGVyZSBjYW4gb25seSBiZSBpbmRleCB0YWJsZSBzZWdtZW50cywgZmlsbGVyIHBhY2tldHMsCgkgIGVzc2VuY2Ugb3IgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IHBhcnRpdGlvbi4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzIHRoYXQgaGF2ZSBub24tc3RhbmRhcmQgbWV0YWRhdGEKCSAgcGFja2V0cyBpbiB0aGUgaGVhZGVyIG1ldGFkYXRhLgoKMjAwOS0wMS0zMCAxODoyNzowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBVbnJlZiBldmVudCBpZiB3ZSBkb24ndCBmb3J3YXJkIGl0LCB1bnJlZiBwYWRzIHdoZW4gZG9uZSB3aXRoIHRoZW0uCgoyMDA5LTAxLTMwIDIyOjI4OjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQgcmVsZWFzZWluZm8gd2l0aCBvbmxpbmUgdXJsLgoKMjAwOS0wMS0zMCAxODoyMDoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBGb3J0ZS4KCSAgRGVyZWZlcmVuY2UgdGhlIHBvaW50ZXIgdG8gdGhlIHBhc3NlZCBzb2NrZXQgdG8gY2hlY2sgdGhlIGFjdHVhbCBmZAoJICB3aGVuIGNsb3NpbmcgdGhlbS4KCSAgQ2FzdCBhbiBhc3NpZ25tZW50IHRvIGtpbGwgYSB3YXJuaW5nLgoKMjAwOS0wMS0zMCAxODoxODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24uCgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uIGluIGJvdGgKCSAgY29waWVzIG9mIEdzdEJhc2VQYXJzZQoKMjAwOS0wMS0zMCAxNzozMTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBCdW1wIGNvbW1vbgoKMjAwOS0wMS0zMCAwODo1NDo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgVXNlIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgY2xpZW50LXNpZGUgaG9vawoKMjAwOS0wMS0yOSAxNzo1OTozNSAtMDIwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgIHF0d3JhcHBlcjogRml4ZXMgYnVpbGQgYXQgY2FzZSBzZW5zaXRpdmUgc3lzdGVtcy4KCjIwMDktMDEtMjggMTI6NDE6MzYgKzAwMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkCgkgIHBlcyBwYWNrZXRzIHRoYXQgY2xhaW0gdG8gYmUgZW5jcnlwdGVkIG1heSBub3QgYmUgc28sIHNvIHRyZWF0IGFzIG5vcm1hbC4KCSAgSnVzdCBsb2cgdGhlIGZsYWdzLgoKMjAwOS0wMS0yOCAxMzoyNToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgQWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQgaW4gcXRtdXggKGFuZCBmcmllbmRzKS4KCSAgU3VwcG9ydCBBTVIgYW5kIEgyNjMgZm9yIGJvdGggcXRtdXggYW5kIGdwcG11eCwKCSAgYW5kIGFkZCBleHRlbnNpb25zIGluIHNhbXBsZSB0YWJsZSBkZXNjcmlwdGlvbi4KCjIwMDktMDEtMjggMTI6Mjc6NDIgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIFJldmVydCAibXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDNlNGU1NTk4ZjZjM2RiNDQ0ZDAwMTQ1OTdkMzgzZWQzNWEwMjk5OC4KCjIwMDktMDEtMjggMTI6MDY6NDkgKzAwMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQKCSAgcGVzIHBhY2tldHMgdGhhdCBjbGFpbSB0byBiZSBlbmNyeXB0ZWQgbWF5IG5vdCBiZSBzbywgc28gdHJlYXQgYXMgbm9ybWFsLgoJICBKdXN0IGxvZyB0aGUgZmxhZ3MuCgoyMDA5LTAxLTI0IDE4OjEzOjM5ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9SRUFETUU6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvY2hhbmdlcy50eHQ6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvZmFzdG1peC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvaXRfZGVmcy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfNjY5LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2FtZi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9hbXMuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZGJtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RtZi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kc20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZmFyLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2oyYi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tZGwuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbWVkLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21vZC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tdDIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbXRtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX29rdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wc20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3MzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9zdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfdWx0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3VteC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF93YXYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfeG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21tY21wLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2RzcC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2ZsdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2Z4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kbWl4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy90YWJsZXMuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3RhYmxlcy5kOgoJICBCdWlsZCB0aGUgbW9kcGx1ZyBwbHVnaW4gYWdhaW5zdCB0aGUgbW9kcGx1ZyBsaWJyYXJ5IGFuZCByZW1vdmUgb3VyIGNvcHkKCSAgQWx3YXlzIGJ1aWxkIHRoZSBtb2RwbHVnIHBsdWdpbiBhZ2FpbnN0IHRoZSBzeXN0ZW0gbW9kcGx1ZyBsaWJyYXJ5CgkgIGFuZCByZW1vdmUgb3VyIG93biBjb3B5LiBVc2luZyB0aGUgc3lzdGVtIHZlcnNpb24gaGFzIGFkdmFudGFnZXMKCSAgaWYgc2VjdXJpdHkgaXNzdWVzIG9yIG90aGVyIGNyaXRpY2FsIGJ1Z3MgYXJlIGZvdW5kIGluIGxpYm1vZHBsdWcKCSAgYW5kIG91ciBvd24gY29weSB3YXNuJ3QgcmVhbGx5IG1haW50YWluZWQgYW55d2F5LgoJICBBbHNvIG91ciBjb3B5IG9ubHkgY29udGFpbmVkIHNvbWUgcGF0Y2hlcyB0byB1c2UgR0xpYiB0eXBlcyBhbmQgZnVuY3Rpb25zLgoJICBGaXhlcyBidWcgIzU2ODgzNy4KCjIwMDktMDEtMjMgMjM6NDI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkqIHBvLy5naXRpZ25vcmU6CgkgIEFkZCBtb3JlIHRvIHRoZSBnaXRpZ25vcmVzCgoyMDA5LTAxLTIzIDE0OjAyOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBNYWtlIFJHQiBtYXNrcyB1bnNpZ25lZCBpbiByYXd2aWRlb3BhcnNlCgkgIEFsbG93IHRoZSBmdWxsIHJhbmdlIG9mIDMyIGJpdCBtYXNrcyBmb3IgUkdCQS9SR0IgZGF0YSBieSBtYWtpbmcgc3VyZQoJICB0aGUgbWFzayBwcm9wZXJ0aWVzIGFyZSB1bnNpZ25lZC4KCjIwMDktMDEtMjMgMTY6MDk6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9SRUFETUU6CgkgIEFkZCBSRUFETUUgd2l0aCBtaWRpIHJlbGF0ZWQgbGlua3MuCgoyMDA5LTAxLTIzIDE2OjAwOjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBMb2cgYWFjIGRldGFpbHMgZm91bmQgaW4gY29kZWNfZGF0YS4KCjIwMDktMDEtMjMgMTQ6NDM6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkgIENvbmZpZ3VyZSBieXRlIG9yZGVyIGZvciBFWElGLiBGaXhlcyAjNTY4NzA0CgkgIEV4aWYgYmxvY2tzIGNhbiBiZSBpbiBkaWZmZXJudCBieXRlIG9yZGVycy4gQWRkIGFuIGVsZW1lbnQgcHJvcGVydHkgdG8gc2VsZWN0IHdpY2ggb25lIHNob3VsZCBiZSB3cml0dGVuLgoKMjAwOS0wMS0yMyAxMjo0NjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9jaHVuay5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIFJlbmFtZSBhdWRpb3Jlc2FtcGxlIGZpbGVzIGFuZCB0eXBlcyB0byBsZWdhY3lyZXNhbXBsZQoJICBGaW5pc2ggdGhlIG1vdmUvcmVuYW1lIG9mIGF1ZGlvcmVzYW1wbGUgdG8gbGVnYWN5cmVzYW1wbGUKCSAgdG8gcHJldmVudCBhbnkgY29uZnVzaW9uLgoKMjAwOS0wMS0yMyAxMjozOToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gLWJhZCwgaXQncyBpbiAtYmFzZQoKMjAwOS0wMS0yMyAxMjoxMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIFNlbmQgQllFIHBhY2tldHMgaW1tZWRpYXRseSBmb3Igc21hbGwgc2Vzc2lvbnMKCSAgV2hlbiB0aGUgbnVtYmVyIG9mIHBhcnRpY2lwYW50cyBpcyBsZXNzIHRoYW4gNTAsIHRoZSBSRkMgYWxsb3dzIGZvciBzZW5kaW5nIHRoZQoJICBCWUUgcGFja2V0IGltbWVkaWF0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVndWxhciBCWUUgdGltZW91dC4KCSAgRml4ZXMgIzU2NzgyOC4KCjIwMDktMDEtMjMgMTE6NTA6MjkgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgdG8gbW1zc3JjLiBGaXhlcyBidWcgIzQ2OTkzMC4KCSAgQWRkIHByb3BlciBzZWVraW5nIHN1cHBvcnQgdG8gbW1zc3JjIGFuZCBjbGVhbgoJICB1cCBzb21lIGNvZGUuIFRoaXMgcmVxdWlyZXMgbGlibW1zID49IDAuNC4KCjIwMDktMDEtMjMgMTA6NDQ6MjAgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBMaW5rIG1vZHBsdWcgcGx1Z2luIHdpdGggLWxtLiBGaXhlcyBidWcgIzU2ODQ4My4KCjIwMDktMDEtMjMgMTA6MTE6NTIgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXggYnVpbGQgb24gU29sYXJpcy4gRml4ZXMgYnVnICM1Njg0ODAuCgkgIEZpeCBsaW5raW5nIG9uIFNvbGFyaXMgYnkgY2hlY2tpbmcgZm9yIHRoZSBuc2wgYW5kIHNvY2tldAoJICBsaWJyYXJpZXMgd2hpY2ggYXJlIG5lZWRlZCBmb3Igc29ja2V0KCkgYW5kIGdldGhvc3RieW5hbWUoKS4KCSAgRG9uJ3QgaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBvZiBzdHJ1Y3QgbWggdG8gTlVMTC8wLCB0aGV5J3JlCgkgIGFscmVhZHkgc2V0IHRvIE5VTEwvMCBieSBhIG1lbXNldCgpLiBBbHNvIHRoaXMgZmllbGRzIGRvbid0CgkgIGV4aXN0IG9uIFNvbGFyaXMuCgoyMDA5LTAxLTIyIDE0OjM3OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFN0b3JlIGFsbCBwYXJ0aXRpb25zICYgcHJpbWVyIHBhY2tzIGluIG1lbW9yeSBmb3IgZmFzdGVyIGFjY2VzcwoJICBTdG9yZSBhbGwgcGFydGl0aW9ucyAmIHByaW1lciBwYWNrcyBpbiBtZW1vcnkgZm9yIGZhc3RlciBhY2Nlc3MuCgkgIFRoaXMgaXMgbGF0ZXIgbmVlZGVkIGZvciBmYXN0IHNlZWtpbmcuCgkgIFByZS1maWxsIHRoZSBsaXN0IG9mIHBhcnRpdGlvbnMgd2l0aCB0aGUgY29udGVudCBvZiB0aGUgcmFuZG9tCgkgIGluZGV4IHBhY2suCgkgIERvbid0IHBhcnNlIG1ldGFkYXRhIG9mIGFuIHBhcnRpdGlvbiB0d2ljZS4KCjIwMDktMDEtMjIgMTg6MjA6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzbmFwc2hvdC4KCjIwMDktMDEtMjIgMTQ6MDA6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBjb25maWcuaCBmb3IgZGV2ZWxvcG1lbnQuCgoyMDA5LTAxLTIyIDEzOjQ2OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEZpeCBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDEtMjIgMTM6Mzk6MzQgKzAxMDAgIEphbiBVcmJhbnNraSA8ai51cmJhbnNraUBzdHVkZW50cy5taW11dy5lZHUucGw+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gRml4ZXMgYnVnICM1Njc5NjUuCgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gVGhpcyBmaXhlcwoJICBzZWVraW5nIG9uIHNvbWUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzZWVrIHRhYmxlIHN0b3JlZAoJICBpbnNpZGUgYW4gRUNNQSBhcnJheSBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgYXJyYXkuCgoyMDA5LTAxLTIyIDEzOjMzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFVubG9jayB0aGUgaml0dGVyYnVmZmVyIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgcGFja2V0LWxvc3QgZXZlbnRzLiBNb3ZlIHNvbWUgY29kZSBiZWZvcmUgd2UgZG8gdGhlIHVubG9jayB0byBtYWtlIHRoZSBqaXR0ZXJidWZmZXIgc3RhdGUgY29uc2lzdGVudCB3aGlsZSB3ZSBhcmUgdW5sb2NrZWQuCgoyMDA5LTAxLTIyIDExOjU0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgRml4IFVMIGZvciBEVFMgYW5kIE1QRUcyIGxheWVyIDEKCjIwMDktMDEtMjIgMTE6NTQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgQUFDIGF1ZGlvCgoyMDA5LTAxLTIyIDExOjQ3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU3RvcmUgTVhGIG1ldGFkYXRhIGluIGEgaGFzaCB0YWJsZSwga2V5ZWQgYnkgVUlECgkgIFN0b3JlIHRoZSBNWEYgbWV0YWRhdGEgaW4gYSBoYXNoIHRhYmxlLCBrZXllZCBieSB0aGUKCSAgaW5zdGFuY2UgVUlELiBUaGlzIHNpbXBsaWZpZXMgcmVzb2x2YWwgb2YgdGhlIG1ldGFkYXRhCgkgIGFuZCBtYWtlcyBsb29waW5nIG92ZXIgYWxsIG1ldGFkYXRhIHNldHMgdW5uZWNlc3NhcnkKCSAgaW4gbW9zdCBjYXNlcy4KCSAgQWRkaXRpb25hbGx5IHBhcnNlIG1ldGFkYXRhIGFsd2F5cy4gSWYgd2UgYWxyZWFkeSBoYXZlCgkgIGEgbWV0YWRhdGEgc2V0IHdpdGggdGhlIHNhbWUgVUlEIHJlcGxhY2UgaXQgb25seSBpZgoJICB0aGUgbmV3IG1ldGFkYXRhIHNldCBpcyBmcm9tIGEgbGF0ZXIgb2Zmc2V0LiBUaGlzCgkgIGZpeGVzIG1ldGFkYXRhIHBhcnNpbmcgb2YgZmlsZXMgd2hlcmUgZm9sbG93aW5nIHBhcnRpdGlvbnMKCSAgZG9uJ3QgaGF2ZSBhIGNvbXBsZXRlIGNvcHkgb2YgdGhlIHByZXZpb3VzIG1ldGFkYXRhLgoKMjAwOS0wMS0yMiAxMTo0NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEJ1aWxkIHRoZSByYW5kb20gaW5kZXggcGFjayB3aGlsZSBwYXJzaW5nCgkgIElmIHRoZSBmaWxlIGNvbnRhaW5zIG5vIHJhbmRvbSBpbmRleCBwYWNrIG9yIGp1c3QKCSAgYW4gaW52YWxpZCBvbmUgYnVpbGQgdGhlIHJhbmRvbSBpbmRleCBwYWNrIHdoaWxlCgkgIHBhcnNpbmcuCgoyMDA5LTAxLTIyIDExOjQzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJICBVcGRhdGUgY29weXJpZ2h0cyBmb3IgMjAwOQoKMjAwOS0wMS0yMiAxMTo0MjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU2ltcGxpZnkgcGFyc2luZyBvZiBVTC9VVUlEIGFycmF5cwoJICBTaW1wbGlmeSBwYXJzaW5nIG9mIFVML1VVSUQgYXJyYXlzIGJ5IGFic3RyYWN0aW5nIGl0CgkgIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KCjIwMDktMDEtMjIgMTE6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgRE1TMSAoU01QVEUgUzM4ME0pCgoyMDA5LTAxLTIyIDExOjAwOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgdGhlIGZpbHRlciBwbHVnaW4gZnJvbSB0aGUgYnVpbGQKCSAgVGhlIGZpbHRlciBwbHVnaW4gb25seSBjb250YWlucyBhIGxpbWl0ZWQgSUlSIGZpbHRlciBlbGVtZW50CgkgIHdoaWNoIGlzIG5vdyBvYnNvbGV0ZWQgYnkgdGhlIGF1ZGlvaWlyZmlsdGVyIGVsZW1lbnQgZnJvbQoJICBnc3QtcGx1Z2lucy1nb29kL2F1ZGlvZnguCgoyMDA5LTAxLTIyIDExOjU2OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWwgLT4gMC4xMC4xMC4xCgoyMDA5LTAxLTIyIDA2OjEyOjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBJbnN0YWxsIGFuZCB1c2UgcHJlLWNvbW1pdCBpbmRlbnRhdGlvbiBob29rIGZyb20gY29tbW9uCgoyMDA5LTAxLTIxIDEyOjIyOjU0ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWM2YWMxNzBiOWYyMThjNjczYzBkYWFmNWM1NjhjNjAwMGEzN2ZjMy4KCjIwMDktMDEtMjEgMTI6MTg6NDkgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBhZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkCgkgICogY29uZmlndXJlLmFjOiBBZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkLgoKMjAwOS0wMS0yMSAwNDozMjoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2ggOiBVc2UgZ2l0IHN1Ym1vZHVsZQoKPT09IHJlbGVhc2UgMC4xMC4xMCA9PT0KCjIwMDktMDEtMTkgMjM6MTU6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjEwCgoyMDA5LTAxLTE5IDIyOjQxOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDEtMDkgMjM6NDQ6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjkuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOS4zIHByZS1yZWxlYXNlCgoyMDA5LTAxLTA5IDIyOjA5OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRG9uJ3QgZm9yd2FyZCBkdXJhdGlvbiByZXF1ZXN0cyBpbiBCWVRFUywgc2luY2UgdGhlIHJldHVybmVkIHZhbHVlIGRvZXNuJ3QgbWVhbiBhbnl0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIERvbid0IGZvcndhcmQgZHVyYXRpb24gcmVxdWVzdHMgaW4gQllURVMsIHNpbmNlIHRoZSByZXR1cm5lZAoJICB2YWx1ZSBkb2Vzbid0IG1lYW4gYW55dGhpbmcuICBGaXhlcyAjNTY2OTU5CgoyMDA5LTAxLTA5IDIxOjU5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0CgkgIHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzU2Njk1OAoKMjAwOS0wMS0wOSAxNjo0OTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogQWRkaXRpb25hbCBwYXRjaCBmb3IgcmVzaW4gZml4ZXMgdGltZS1iYXNlZCBzZWVraW5nIGluIHRpdGxlcyB0aGF0IGRvbid0IHN0YXJ0IGF0IHNlY3RvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEFkZGl0aW9uYWwgcGF0Y2ggZm9yIHJlc2luIGZpeGVzIHRpbWUtYmFzZWQgc2Vla2luZyBpbiB0aXRsZXMKCSAgdGhhdCBkb24ndCBzdGFydCBhdCBzZWN0b3IgMCBpbiB0aGUgVlRTLCBhbmQgZml4ZXMgaW50ZXJwcmV0YXRpb24KCSAgb2YgdGhlIGNlbGwgZWxhcHNlZCB0aW1lLCBzbyB0aGF0IGl0IHJlcG9ydHMgdGhlIGNvcnJlY3QgdGltZSBhZnRlcgoJICB0aGUgc2VlayBjb21wbGV0ZXMuCgkgIFJlYWxseSBmaXhlcyAjNTY2OTU3LgoKMjAwOS0wMS0wOCAxNzo1NzoxOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgZXh0L2xhZHNwYS9zZWFyY2guYzogQXZvaWQgc2VhcmNoaW5nIChudWxsKSBwYXRocyBvciBjcmFzaGluZyBvbiBwbGF0Zm9ybXMgd2hlcmUgcHJpbnRpbmcgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvc2VhcmNoLmM6IChMQURTUEFQbHVnaW5TZWFyY2gpOgoJICBBdm9pZCBzZWFyY2hpbmcgKG51bGwpIHBhdGhzIG9yIGNyYXNoaW5nIG9uIHBsYXRmb3JtcyB3aGVyZSBwcmludGluZyBhCgkgIE5VTEwgc3RyaW5nIHNlZ2ZhdWx0cy4gRml4ZXMgIzU2NzAwNC4KCjIwMDktMDEtMDggMTI6NDI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkLzogQWRkIHN1cHBvcnQgZm9yIHRpbWUgYmFzZWQgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRpbWUgYmFzZWQgc2Vla2luZy4KCSAgTWFrZSBzZXR0aW5nIGR2ZDovLyByZXNldCB0byB0aGUgZGVmYXVsdCBkZXZpY2UuCgkgIE1ha2UgdGhlICdhdWRpb211bmdlJyBlbGVtZW50IHNlbmQgYW55IG5ldyBzZWdtZW50IHN0YXJ0IGJlZm9yZQoJICB0aGUgJ2dhcCBmaWxsZXInIGJ1ZmZlciBpdCBnZW5lcmF0ZXMsIGFuZCBhbnkgc2VnbWVudCBjbG9zZXMKCSAgYWZ0ZXIuCgkgIEZpeGVzOiAjNTY2OTU3CgoyMDA5LTAxLTA4IDA5OjQwOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBBZGQgcGx1Z2luIGRlcGVuZGVuY3kgZm9yIHRoZSBMQURTUEEgcGx1Z2luIGRpcmVjdG9yaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgcGx1Z2luIGRlcGVuZGVuY3kgZm9yIHRoZSBMQURTUEEgcGx1Z2luIGRpcmVjdG9yaWVzLgoJICBGaXhlcyBidWcgIzU2Njg3OC4KCjIwMDktMDEtMDYgMjI6NTE6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc3QgdGVzdCBoZWFkZXJzIGZvciBhbXIgYW5kIGFhYyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzdCB0ZXN0IGhlYWRlcnMgZm9yIGFtciBhbmQgYWFjIHBhcnNlcnMuCgkgIFJlbW92ZSBsZWZ0b3ZlciBsaW5lcyBtZW50aW9uZWQgc3BlZXhyZXNhbXBsZSB0ZXN0cy4KCjIwMDktMDEtMDYgMjI6MzU6NTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06IEZpeCB0eXBvIGluIHRoZSBvcHBvc2l0ZSB3YXkgdG8gZ2l2ZSB0aGUgcGx1Z2luIGEgc2Vuc2libGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgRml4IHR5cG8gaW4gdGhlIG9wcG9zaXRlIHdheSB0byBnaXZlIHRoZSBwbHVnaW4gYSBzZW5zaWJsZSBuYW1lLgoKMjAwOS0wMS0wNiAyMjoxNjo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOiBGaXggdHlwbyBpbiB0aGUgbWFrZWZpbGUgdGFyZ2V0IHByZXZlbnRpbmcgZGlzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgRml4IHR5cG8gaW4gdGhlIG1ha2VmaWxlIHRhcmdldCBwcmV2ZW50aW5nIGRpc3RpbmcuCgoyMDA5LTAxLTA1IDIzOjAzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBBcHBTcmMvQXBwU2luayB0aGF0IGFyZSBtb3ZpbmcgdG8gLWJhc2UuIFBhcnRpYWxseSBmaXhlcyAjNTY0NDIxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwLy5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIFJlbW92ZSBBcHBTcmMvQXBwU2luayB0aGF0IGFyZSBtb3ZpbmcgdG8gLWJhc2UuIFBhcnRpYWxseSBmaXhlcwoJICAjNTY0NDIxCgoyMDA5LTAxLTA1IDE3OjQxOjUxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEd1YXJkIGludGVydmFsIGlzIDQgaWYgZGVzY3JpcHRvciBwYXJ0IHNob3dzIGJpbmFyeSAxMSAoMyBub3QgNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBHdWFyZCBpbnRlcnZhbCBpcyA0IGlmIGRlc2NyaXB0b3IgcGFydCBzaG93cyBiaW5hcnkgMTEgKDMgbm90IDQpLgoKMjAwOS0wMS0wNSAxNzozMDo1NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDogRml4IHVwIHNhdGVsbGl0ZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBGaXggdXAgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZWZzLgoKMjAwOS0wMS0wNSAxNzoyNjowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDogRml4IHVwIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IHVwIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGRlZnMuCgkgIFRoZXkgc2hvdWxkIGJlIHNoaWZ0ZWQgb3RoZXJ3aXNlIHdyb25nIHZhbHVlcyBhcmUgc2Vlbi4KCjIwMDktMDEtMDUgMTM6NDE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiAiR2VuZXJhdGlvbiBVSUQiIGFuZCAiVGhpcyBHZW5lcmF0aW9uIFVJRCIgYXJlIGRpZmZlcmVudCBzbyBoYW5kbGUgdGhlbSBkaWZmZXJlbnQuIEFsc28gYm90aCBhcmUgbm90IHBhcnQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICJHZW5lcmF0aW9uIFVJRCIgYW5kICJUaGlzIEdlbmVyYXRpb24gVUlEIiBhcmUgZGlmZmVyZW50IHNvIGhhbmRsZQoJICB0aGVtIGRpZmZlcmVudC4gQWxzbyBib3RoIGFyZSBub3QgcGFydCBvZiBldmVyeSBtZXRhZGF0YSB0eXBlLgoKMjAwOS0wMS0wNSAxMjozNDoxOCArMDAwMCAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBGaXggY29sb3Igb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciAyNGJwcC4gRml4ZXMgYnVnICM1NjY2MTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2FzY2hhIEhhdWVyIDxzIGRvdCBoYXVlciBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgIEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogKGdldF9waXhfb2Zmc2V0KSwKCSAgKGdzdF9iYXllcjJyZ2Jfc2V0X2NhcHMpOgoJICBGaXggY29sb3Igb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciAyNGJwcC4gRml4ZXMgYnVnICM1NjY2MTMuCgoyMDA5LTAxLTA1IDExOjI4OjQ5ICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvOiBJbXByb3ZlIG11eGluZyBvZiBBQzMvaDI2NCBzdHJlYW1zIGEgYml0LiBGaXhlcyBidWcgIzU1MDYxMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF93cml0ZV9wbXQpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX3dyaXRlX3Blc19oZWFkZXIpLCAodHNtdXhfc3RyZWFtX2dldF9lc19kZXNjcnMpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgSW1wcm92ZSBtdXhpbmcgb2YgQUMzL2gyNjQgc3RyZWFtcyBhIGJpdC4gRml4ZXMgYnVnICM1NTA2MTMuCgoyMDA5LTAxLTA1IDEwOjM0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IERvbid0IGFsbG93IG5lZ2F0aXZlIG9yIHplcm8gZWRpdCByYXRlcyB0byBwcmV2ZW50IGRpdmlzaW9uIGJ5IHplcm8gYW5kIHdlIHN1cHBvcnQgbmVnYXRpdmUgZWRpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX25leHRfY29tcG9uZW50KToKCSAgRG9uJ3QgYWxsb3cgbmVnYXRpdmUgb3IgemVybyBlZGl0IHJhdGVzIHRvIHByZXZlbnQgZGl2aXNpb24KCSAgYnkgemVybyBhbmQgd2Ugc3VwcG9ydCBuZWdhdGl2ZSBlZGl0IHJhdGVzIGFueXdheS4KCjIwMDktMDEtMDUgMTA6Mjg6NTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBVc2UgaHlwaGVuIGluIHByb3BlcnR5IG5hbWUsIHBlcmZvcm0gc2FmZXR5IGJ1ZmZlciBzaXplIGNoZWNrIHByaW9yIHRvIG1lbSBhY2Nlc3MsIGFuZCBzb21lIG1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBVc2UgaHlwaGVuIGluIHByb3BlcnR5IG5hbWUsIHBlcmZvcm0gc2FmZXR5IGJ1ZmZlciBzaXplIGNoZWNrCgkgIHByaW9yIHRvIG1lbSBhY2Nlc3MsIGFuZCBzb21lIG1vcmUgcGFyZW50aGVzZXMgaW4gbWFjcm8uCgoyMDA5LTAxLTA1IDEwOjIyOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX2FkZF90b19oYXNoX3RhYmxlKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkLgoKMjAwOS0wMS0wNSAxMDowMDoyMSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBjb25maWd1cmUuYWM6IEFsc28gbWVudGlvbiBqcDJrZW5jIGFzIGEganAyayBwbHVnaW4gZmVhdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbHNvIG1lbnRpb24ganAya2VuYyBhcyBhIGpwMmsgcGx1Z2luIGZlYXR1cmUuCgoyMDA5LTAxLTA0IDExOjExOjA2ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggc29tZSBtZW1vcnkgbGVha3MuIEZpeGVzIGJ1ZyAjNTY2MzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzogKGR2Yl9iYXNlX2Jpbl9pbml0KSwKCSAgKGR2Yl9iYXNlX2Jpbl9maW5hbGl6ZSksIChkdmJfYmFzZV9iaW5fYWN0aXZhdGVfcHJvZ3JhbSksCgkgIChkdmJfYmFzZV9iaW5fcG10X2luZm9fY2IpLCAoZHZiX2Jhc2VfYmluX3BhZF9hZGRlZF9jYiksCgkgIChkdmJfYmFzZV9iaW5fcHJvZ3JhbV9kZXN0cm95KToKCSAgRml4IHNvbWUgbWVtb3J5IGxlYWtzLiBGaXhlcyBidWcgIzU2NjM1Ni4KCjIwMDktMDEtMDIgMTc6NDA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldGNhcHNfc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUKCSAgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCjIwMDktMDEtMDIgMTY6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoKMjAwOS0wMS0wMiAxMTowMDoxNyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06IE1vdmUgLWxnY3J5cHRvIGZyb20gX0xERkxBR1MgdG8gX0xJQkFERC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBNb3ZlIC1sZ2NyeXB0byBmcm9tIF9MREZMQUdTIHRvIF9MSUJBREQuCgoyMDA5LTAxLTAyIDAxOjQ0OjExICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbTogTGluayBhZ2FpbnN0IC1sZ2NycHl0byBmb3IgUlNBX25ldyBhbmQgUlNBX2ZyZWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IC1sZ2NycHl0byBmb3IgUlNBX25ldyBhbmQgUlNBX2ZyZWUuCgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOS0wMS0wMiAwMToxMjozNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBJbml0aWFsaXplIHNjcl9yYXRlX24gYW5kIHNjcl9yYXRlX2QgaW4gb3JkZXIgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBJbml0aWFsaXplIHNjcl9yYXRlX24gYW5kIHNjcl9yYXRlX2QgaW4gb3JkZXIgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0xMi0zMSAwODo1MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIE9QMmEvYi9jIGFuZCBPUDNhL2IvYywgaS5lLiB0cmFja3Mgd2l0aCBtb3JlIHRoYW4gYSBzaW5nbGUgY29tcG9uZW50LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9uZXh0X2NvbXBvbmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmM6IChteGZfdmMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfc2lua19jaGFpbik6CgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciBPUDJhL2IvYyBhbmQgT1AzYS9iL2MsIGkuZS4gdHJhY2tzIHdpdGgKCSAgbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBvbmVudC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBmb3IKCSAgdGhlIGNhc2Ugd2hlcmUgdGhlIGNvbXBvbmVudHMgYXJlIHN0b3JlZCBpbiBwbGF5YmFjayBvcmRlcgoJICBpbiB0aGUgZmlsZS4KCSAgU2V0IHNvbWUgbW9yZSBkZWZhdWx0L2Rpc3Rpbmd1aXNoZWQgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJhbAoJICBtZXRhZGF0YS4KCSAgTWFrZSBzb21lIHR5cGVzIG1vcmUgc3RyaWN0IGJ5IGNob29zaW5nIHRoZSBjb3JyZWN0IHN1YmNsYXNzZXMuCgkgIFNldCBESVNDT05UIGZsYWcgb24gYnVmZmVycyBhZnRlciBhIGNvbXBvbmVudCBzd2l0Y2guCgkgIFRha2UgdGhlIGxhc3QgcGFydGl0aW9uIGZyb20gdGhlIHJhbmRvbSBpbmRleCBwYWNrIGZvciB0aGUgZm9vdGVyCgkgIHBhcnRpdGlvbiBvZiB0aGUgaGVhZGVyIHBhcnRpdGlvbiBkb2Vzbid0IHJlZmVyZW5jZSB0aGUgZm9vdGVyCgkgIHBhcnRpdGlvbi4gVGhpcyBnaXZlcyB1cyB0aGUgZmluYWwgc3RydWN0dXJhbCBtZXRhZGF0YSBmb3IKCSAgc29tZSBtb3JlIGZpbGVzIGluIHRoZSBiZWdpbm5pbmcuCgoyMDA4LTEyLTI5IDE4OjIyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogVXNlIHRoZSBhZGp1c3RlZCBTQ1IgZm9yIGNhbGN1bGF0aW5nIHRoZSBtdXggcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICBVc2UgdGhlIGFkanVzdGVkIFNDUiBmb3IgY2FsY3VsYXRpbmcgdGhlIG11eCByYXRlLgoJICBEb24ndCB1cGRhdGUgdGhlIHJhdGUgZXN0aW1hdGlvbiBhZnRlciBhIGRpc2NvbnQuCgoyMDA4LTEyLTI5IDE3OjU1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguKjogVGhlIHBvc2l0aW9uIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudCBjb3JyZXNwb25kcyB0byB0aGUgc3RyZWFtX3RpbWUgb2YgdGhlIHNlZ21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBUaGUgcG9zaXRpb24gbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50IGNvcnJlc3BvbmRzIHRvIHRoZQoJICBzdHJlYW1fdGltZSBvZiB0aGUgc2VnbWVudCBzdGFydCBwb3NpdGlvbi4KCjIwMDgtMTItMjkgMTc6MzA6MDMgKzAwMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IENvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIGJ5dGVzIG9wZXJhdGVzIG9uIHRoZSBzdHJlYW1fdGltZSwgbm90IHRoZSBTQ1IgdGltZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iaW4gU3RvY2tlciA8cm9iaW4gYXQgbmlib3IgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NyY19xdWVyeSk6CgkgIENvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIGJ5dGVzIG9wZXJhdGVzIG9uIHRoZSBzdHJlYW1fdGltZSwgbm90IHRoZSBTQ1IKCSAgdGltZWxpbmUuCgkgIFRoZSBwb3NpdGlvbiByZXBvcnRpbmcgc2hvdWxkIGhhcHBlbiBpbiBzdHJlYW1fdGltZSwgbm90IHRoZSBzZWdtZW50CgkgIHRpbWVzdGFtcCByYW5nZS4gU2VlICM1NTcxNjEuCgoyMDA4LTEyLTI5IDE2OjQ1OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogQWRkIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgdG8gY29uZmlndXJlIGFuZCByZXRyaWV2ZSB0aGUgbWluIGFuZCBtYXggbGF0ZW5jaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfcXVlcnkpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X2xhdGVuY2llcyksIChnc3RfYXBwX3NyY19zZXRfbGF0ZW5jeSksCgkgIChnc3RfYXBwX3NyY19nZXRfbGF0ZW5jeSksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9mdWxsKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgcHJvcGVydGllcyBhbmQgbWV0aG9kcyB0byBjb25maWd1cmUgYW5kIHJldHJpZXZlIHRoZSBtaW4gYW5kIG1heAoJICBsYXRlbmNpZXMuCgoyMDA4LTEyLTI5IDE2OjI5OjA4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzU2NTYxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9laXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzU2NTYxNC4KCjIwMDgtMTItMjkgMTY6MTg6NDcgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBhIHNjcmFtYmxlZCBmaWVsZCB0byB0aGUgc2VydmljZSBzdHJ1Y3R1cmVzIHJldHJpZXZlZCBmcm9tIFNEVCB0byBkZXRlcm1pbmUgaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfc2R0KToKCSAgQWRkIGEgc2NyYW1ibGVkIGZpZWxkIHRvIHRoZSBzZXJ2aWNlIHN0cnVjdHVyZXMgcmV0cmlldmVkIGZyb20gU0RUIHRvCgkgIGRldGVybWluZSBpZiBhIGNoYW5uZWwgaXMgc2NyYW1ibGVkLiBGaXhlcyAjNTY1NjEzLgoKMjAwOC0xMi0yOSAxNTo1NDo0NCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGdzdC9wY2FwcGFyc2UvOiBQYXRjaCB0byBtYWtlIGdzdHBjYXBwYXJzZSBjb21waWxlIHdpdGggbWluZ3czMiBnY2MuIEZpeGVzICM1NjU0MzkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgUGF0Y2ggdG8gbWFrZSBnc3RwY2FwcGFyc2UgY29tcGlsZSB3aXRoIG1pbmd3MzIgZ2NjLiBGaXhlcyAjNTY1NDM5LgoKMjAwOC0xMi0yOSAxNTo0OTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmdpdXJlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICBGaXhlcyAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNToyMTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB0aGUgU1NSQyBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4KCSAgdGhlIFNTUkMgYWN0dWFsbHkgY2hhbmdlZC4gU2VlICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE0OjIxOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLio6IFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLCBhc3N1bWUgdGhlIGNsb2NrLXJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwKCSAgYXNzdW1lIHRoZSBjbG9jay1yYXRlIGNvcnJlc3BvbmRzIHRvIHRoZSBmaXJzdCBwYXlsb2FkIHR5cGUgZm91bmQgaW4gdGhlCgkgIFJUUCBwYWNrZXRzLiBGaXhlcyAjNTY1NTA5LgoKMjAwOC0xMi0yMyAxNjozMjowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFdpdGggY29uc3RhbnQgcmVhZCBmYWlsdXJlcywgbWFrZSBzdXJlIHdlIGV4aXQgdGhlIHJlYWRfZGV2aWNlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgV2l0aCBjb25zdGFudCByZWFkIGZhaWx1cmVzLCBtYWtlIHN1cmUgd2UgZXhpdCB0aGUgcmVhZF9kZXZpY2UKCSAgbWV0aG9kLgoKMjAwOC0xMi0yMyAxNToyNjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFBvc3QgYnVzIG1lc3NhZ2Ugd2l0aCBkdmIgcmVhZCBmYWlsdXJlIHdoZW4gdW5hYmxlIHRvIHJlYWQgZnJvbSBkZXZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFBvc3QgYnVzIG1lc3NhZ2Ugd2l0aCBkdmIgcmVhZCBmYWlsdXJlIHdoZW4gdW5hYmxlIHRvIHJlYWQgZnJvbQoJICBkZXZpY2UuCgoyMDA4LTEyLTIzIDEyOjI1OjQ3ICswMDAwICBMdW90YW8gRnUgPGwuZnVAcGVuZ3V0cm9uaXguZGU+CgoJICBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IEZpeCB0aGUgRGVwdGggY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19nZXRjYXBzKToKCSAgRml4IHRoZSBEZXB0aCBjYWxjdWxhdGlvbi4KCSAgRml4ZXMgIzU2NDExNC4KCjIwMDgtMTItMjMgMTE6Mzk6NTkgKzAwMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUgdGltZS4gIFRpbWVzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlCgkgIHRpbWUuICBUaW1lc3RhbXBzIGNhbiBvbmx5IGdvIGZvcndhcmQgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyCgkgIHNpZGUsIGNhbiBvbmx5IGdvIGJhY2sgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyIHNpZGUsIGFuZCByZW1haW4gdGhlCgkgIHNhbWUgaWYgdGhleSByZW1haW4gdGhlIHNhbWUgYXQgdGhlIHNlbmRlciBzaWRlLiBGaXhlcyAjNTY1MzE5LgoKMjAwOC0xMi0yMiAyMDo1NjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtcGVnLmM6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGguMjY0IHZpZGVvIChTTVBURSBSUDIwMDgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgaC4yNjQgdmlkZW8gKFNNUFRFIFJQMjAwOCkuCgoyMDA4LTEyLTIyIDIwOjM3OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1ldGFkYXRhLio6IElmIHJlc29sdmluZyBhIG1ldGFkYXRhIG9iamVjdCBmYWlsZWQgdGhlIGZpcnN0IHRpbWUgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgSWYgcmVzb2x2aW5nIGEgbWV0YWRhdGEgb2JqZWN0IGZhaWxlZCB0aGUgZmlyc3QgdGltZSByZXR1cm4KCSAgRkFMU0UgZm9yIGEgc2Vjb25kIG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUoKSBjYWxsIGluc3RlYWQKCSAgb2YgVFJVRS4KCjIwMDgtMTItMjIgMTA6MTQ6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDbGVhbnVwIG9mIHRoZSBpbmNsdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGYuYzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOgoJICAqIGdzdC9teGYvbXhmZG1zMS5jOgoJICAqIGdzdC9teGYvbXhmZG1zMS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQ2xlYW51cCBvZiB0aGUgaW5jbHVkZXMuCgoyMDA4LTEyLTE5IDE4OjUzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgoyMDA4LTEyLTE5IDE4OjMzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoKMjAwOC0xMi0xOSAxMDowNjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMoKSB0byBzZXQgcmF0ZSBhbmQgY2hhbm5lbHMgYW5kIHVzZSB0aGlzIGZvciBhbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKToKCSAgQWRkIG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcygpIHRvCgkgIHNldCByYXRlIGFuZCBjaGFubmVscyBhbmQgdXNlIHRoaXMgZm9yIGFsbCBzb3VuZCBlc3NlbmNlLgoJICBHaXZlIHNvbWUgZGVidWcgb3V0cHV0IHdoZW4gc2V0dGluZyBwaWN0dXJlIGVzc2VuY2UgY2FwcyB3aXRoCgkgIGludmFsaWQgZGVzY3JpcHRvciB2YWx1ZXMuCgkgIEZpeCBoZWlnaHQgY2FsY3VsYXRpb24gZnJvbSB0aGUgZnJhbWUgbGF5b3V0IGEgYml0IG1vcmUgYW5kCgkgIGFkZCBhIFRPRE8gdG8gY2hlY2sgaWYgaXQncyByZWFsbHkgY29ycmVjdCBub3cgb3IgaWYgaXQgbmVlZHMKCSAgbW9yZSBmaXhpbmcgKGVzcGVjaWFsbHksIGRvZXMgdGhlIGZyYW1lcmF0ZSBuZWVkIGFkanVzdG1lbnRzPykuCgoyMDA4LTEyLTE4IDE3OjQ5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIFZDLTMgKGFrYSBETnhIRCBlc3NlbmNlLCBzZWUgU01QVEUgMjAxOS00KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmM6IChteGZfaXNfdmMzX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3ZjM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl92YzNfY3JlYXRlX2NhcHMpLAoJICAobXhmX3ZjM19pbml0KToKCSAgKiBnc3QvbXhmL214ZnZjMy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgVkMtMyAoYWthIEROeEhEIGVzc2VuY2UsIHNlZSBTTVBURSAyMDE5LTQpLgoJICBUaGlzIGlzIHVudGVzdGVkIGJlY2F1c2Ugb2YgbGFjayBvZiBzYW1wbGUgZmlsZXMgYnV0IHNob3VsZAoJICB3b3JrIGZpbmUuCgoyMDA4LTEyLTE3IDEzOjUxOjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIGFwcHNyYyBhbmQgYXBwc2luayBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KToKCSAgQWRkIGFwcHNyYyBhbmQgYXBwc2luayBkb2N1bWVudGF0aW9uLgoKMjAwOC0xMi0xNyAxMjowNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJbiBwdXNoIG1vZGUgc2tpcCB0aGUgcnVuIGluIGFnYWluIGlmIHdlIGdldCBidWZmZXJzIHdpdGggYW4gb2Zmc2V0IGJlZm9yZSB0aGUgcnVuIGluLiBUaGlzIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUgc2tpcCB0aGUgcnVuIGluIGFnYWluIGlmIHdlIGdldCBidWZmZXJzIHdpdGgKCSAgYW4gb2Zmc2V0IGJlZm9yZSB0aGUgcnVuIGluLiBUaGlzIGNhbiBoYXBwZW4gb24gc2Vla3MgZm9yIGV4YW1wbGUuCgoyMDA4LTEyLTE2IDE2OjI2OjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMKCSAgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCjIwMDgtMTItMTYgMTI6NDY6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAobXhmZGVtdXhfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTI6Mzc6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lio6IE1ha2Ugc3VyZSB0aGUgbWFpbiBsb29wIGlzIGFscmVhZHkgcnVubmluZyB3aGVuIGhhbmRsaW5nIHRoZSBFT1MgZXZlbnQgaW4gcHVsbCBtb2RlLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3NpbmtfZXZlbnQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lmg6CgkgIE1ha2Ugc3VyZSB0aGUgbWFpbiBsb29wIGlzIGFscmVhZHkgcnVubmluZyB3aGVuIGhhbmRsaW5nIHRoZSBFT1MKCSAgZXZlbnQgaW4gcHVsbCBtb2RlLiBUaGlzIHdvcmtzIGFyb3VuZCBhIHJhY2UgY29uZGl0aW9uIHRoYXQgY2FuCgkgIGhhcHBlbiBpZiB0aGUgZWxlbWVudCBnb2VzIGludG8gUExBWUlORywgaGFuZGxlcyBldmVyeXRoaW5nIGFuZAoJICBzZW5kcyBFT1MgYmVmb3JlIHRoZSBtYWluIGxvb3AgaXMgc3RhcnRlZC4KCjIwMDgtMTItMTYgMTI6MzA6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgYW4gZXNzZW5jZSBlbGVtZW50IGhhbmRsaW5nIHJlZ2lzdHJ5IGFuZCB1c2UgdGhpcyBpbnN0ZWFkIG9mIGFuIGhhcmRjb2RlZCwgbGFyZ2UgaWYtdGhlbi1lbHNlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzX2J3Zl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYWxhd19jcmVhdGVfY2FwcyksCgkgIChteGZfYWxhd19pbml0KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZDEwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9kMTBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2R2X2RpZl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2FwcyksCgkgIChteGZfanBlZzIwMDBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2Vzc2VuY2VfZWxlbWVudF9oYW5kbGVyX3JlZ2lzdGVyKSwKCSAgKG14Zl9lc3NlbmNlX2VsZW1lbnRfaGFuZGxlcl9maW5kKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2NyZWF0ZV9jYXBzKSwgKG14Zl91cF9pbml0KToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIEltcGxlbWVudCBhbiBlc3NlbmNlIGVsZW1lbnQgaGFuZGxpbmcgcmVnaXN0cnkgYW5kIHVzZSB0aGlzIGluc3RlYWQKCSAgb2YgYW4gaGFyZGNvZGVkLCBsYXJnZSBpZi10aGVuLWVsc2UgYmxvY2suCgoyMDA4LTEyLTE2IDEwOjUwOjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEJsYWNrbGlzdCByZmJzcmMgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBCbGFja2xpc3QgcmZic3JjIGZyb20gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoKMjAwOC0xMi0xNiAwOTo1OTozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgcHVzaCBhbmQgcHVsbCBtb2RlIHVuaXQgdGVzdCBmb3IgbXhmZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfcGFkX2FkZGVkKSwgKF9zaW5rX2NoYWluKSwKCSAgKF9zaW5rX2V2ZW50KSwgKF9jcmVhdGVfc2lua19wYWQpLCAoX2NyZWF0ZV9zcmNfcGFkX3B1c2gpLAoJICAoX3NyY19nZXRyYW5nZSksIChfc3JjX3F1ZXJ5KSwgKF9jcmVhdGVfc3JjX3BhZF9wdWxsKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG14ZmRlbXV4X3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5oOgoJICBBZGQgcHVzaCBhbmQgcHVsbCBtb2RlIHVuaXQgdGVzdCBmb3IgbXhmZGVtdXguCgoyMDA4LTEyLTE2IDA4OjM1OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uIGZvciB0aGUgTVhGIHBsdWdpbiBhbmQgbXhmZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24gZm9yIHRoZSBNWEYgcGx1Z2luIGFuZCBteGZkZW11eC4KCjIwMDgtMTItMTYgMDg6MjE6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZW5hbWUgTVhGTWV0YWRhdGFCYXNlIG1ldGhvZHMgdG8gcmVmbGVjdCB0aGF0IHRoZXkgYmVsb25nIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmVfZGVmYXVsdCksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9jbGFzc19pbml0KSwgKG14Zl9tZXRhZGF0YV9iYXNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX25ldyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNvbHZlKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIFJlbmFtZSBNWEZNZXRhZGF0YUJhc2UgbWV0aG9kcyB0byByZWZsZWN0IHRoYXQgdGhleSBiZWxvbmcgdG8KCSAgTVhGTWV0YWRhdGFCYXNlIGFuZCBub3QgTVhGTWV0YWRhdGEuCgoyMDA4LTEyLTE1IDE4OjEyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmV0dXJuIEZBTFNFIHdoZW4gcGFyc2luZyBhIG1ldGFkYXRhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICBSZXR1cm4gRkFMU0Ugd2hlbiBwYXJzaW5nIGEgbWV0YWRhdGEgdGFnIGZhaWxlZC4KCSAgUmVtb3ZlIHNvbWUgdXNlbGVzcyByZXR1cm4gdmFsdWUgYXNzaWdubWVudHMuCgoyMDA4LTEyLTE1IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ29udmVydCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0byBHc3RNaW5pT2JqZWN0cyB0byBtYWtlIGEgbG90IG9mIGNvZGUgZWFzaWVyIGFuZCB0byBtYWtlIGV2ZXJ5dGhpbmcgYmV0dGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzX2J3Zl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfY3JlYXRlX2NhcHMpLCAobXhmX2FsYXdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX2NyZWF0ZV9jYXBzKSwgKG14Zl9kMTBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9maW5kX3BhY2thZ2UpLCAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpLCAobXhmX2R2X2RpZl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2FwcyksIChteGZfanBlZzIwMDBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2hhbmRsZV90YWcpLCAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9pbml0KSwgKG14Zl9tZXRhZGF0YV9iYXNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwgKG14Zl9tZXRhZGF0YV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pbml0KSwgKG14Zl9tZXRhZGF0YV9pbml0X3R5cGVzKSwKCSAgKG14Zl9tZXRhZGF0YV9yZWdpc3RlciksIChteGZfbWV0YWRhdGFfbmV3KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2ZpbmFsaXplKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19maW5hbGl6ZSksIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaWRlbnRpZmllcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RhdGljX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0YXRpY190cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2luaXQpLCAobXhmX21ldGFkYXRhX2xvY2F0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLCAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19hZGRfdG9faGFzaF90YWJsZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksIChteGZfdXBfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgQ29udmVydCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0byBHc3RNaW5pT2JqZWN0cyB0byBtYWtlIGEgbG90IG9mCgkgIGNvZGUgZWFzaWVyIGFuZCB0byBtYWtlIGV2ZXJ5dGhpbmcgYmV0dGVyIGV4dGVuc2libGUuCgkgIEFkZCBhICJyZWdpc3RyeSIgZm9yIG1ldGFkYXRhIGhhbmRsZXJzIHRvIGltcHJvdmUgZXh0ZW5zaWJpbGl0eSBldmVuCgkgIG1vcmUgYW5kIHRvIHJlbW92ZSBtZXRhZGF0YSB0eXBlIHNwZWNpZmljcyBmcm9tIG14ZmRlbXV4LgoJICBDbGVhbiB1cCBhIGxvdCBvZiBwYXJ0cyBhbmQgYWRkIHNvbWUgbW9yZSBOVUxMIGNoZWNrcy4KCjIwMDgtMTItMTUgMTU6NTY6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGRlZmF1bHQgZm9yIG91dHB1dGZvcm1hdCBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBGaXggZGVmYXVsdCBmb3Igb3V0cHV0Zm9ybWF0IHByb3BlcnR5LgoKMjAwOC0xMi0xNSAxMjowMjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEZpeCBleGFtcGxlIHRvIHVucmVmIGFmdGVyIGVtaXRpbmcgdGhlIHB1c2gtYnVmZmVyIGFjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOiAoZmVlZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6IChmZWVkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChyZWFkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOiAoZmVlZF9kYXRhKToKCSAgRml4IGV4YW1wbGUgdG8gdW5yZWYgYWZ0ZXIgZW1pdGluZyB0aGUgcHVzaC1idWZmZXIgYWN0aW9uLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2Z1bGwpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfYWN0aW9uKToKCSAgRG9uJ3QgdGFrZSB0aGUgcmVmIG9uIHRoZSBidWZmZXIgaW4gcHVzaC1idWZmZXIgYWN0aW9uIGJlY2F1c2UgaXQncyB0b28KCSAgYXdrd2FyZCBmb3IgYmluZGluZ3MuIEZpeGVzICM1NjQ0ODIuCgoyMDA4LTEyLTEzIDE2OjI2OjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IE1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgd2l0aCBnZXR0ZXh0IDAuMTcgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIE1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgd2l0aCBnZXR0ZXh0IDAuMTcgYW55bW9yZS4KCjIwMDgtMTItMTMgMTM6MDA6MTAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdyByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cKCSAgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0bwoJICBkaXN0LgoKMjAwOC0xMi0xMyAwODowNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBBZGQgYSBnZW5lcmljIGhhbmRsZXIgZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHNvIHdlIGNhbiBnZXQgc29tZSBkZWJ1ZyBvdXRwdXQgYW5kIGxldCB1c2VycyBmaWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX2Rlc2NyaXB0aXZlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICBBZGQgYSBnZW5lcmljIGhhbmRsZXIgZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHNvIHdlIGNhbiBnZXQgc29tZQoJICBkZWJ1ZyBvdXRwdXQgYW5kIGxldCB1c2VycyBmaWxlIGJ1Z3MgZm9yIHVuc3VwcG9ydCBkZXNjcmlwdGl2ZQoJICBtZXRhZGF0YSBzY2hlbWVzLgoKMjAwOC0xMi0xMiAxMDoyOTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IE1ham9yIHVwZGF0ZSBvZiB0aGUgVE9ETyBsaXN0cy4gVGhlcmUncyBzdGlsbCBtdWNoIHRvIGRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6CgkgIE1ham9yIHVwZGF0ZSBvZiB0aGUgVE9ETyBsaXN0cy4gVGhlcmUncyBzdGlsbCBtdWNoIHRvIGRvLgoKMjAwOC0xMi0xMSAxNDozNTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIEV2ZW50IFRyYWNrcywgU3RhdGljIFRyYWNrcywgRE0gU2VnbWVudHMgYW5kIERNIFNvdXJjZSBDbGlwcyBhcyBhIHByZXBhcmF0aW9uIGZvciBkZXNjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3RyYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBFdmVudCBUcmFja3MsIFN0YXRpYyBUcmFja3MsIERNIFNlZ21lbnRzCgkgIGFuZCBETSBTb3VyY2UgQ2xpcHMgYXMgYSBwcmVwYXJhdGlvbiBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEKCSAgc3VwcG9ydC4gTmV4dCBzdGVwIGlzIHRvIGltcGxlbWVudCBTTVBURSBTMzgwTSwgIkRlc2NyaXB0aXZlCgkgIE1ldGFkYXRhIFNjaGVtZS0xIi4KCjIwMDgtMTItMDkgMTM6NDQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmanBlZzIwMDAuYzogSW1wbGVtZW50IGRldGVjdGlvbiBvZiB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBJbXBsZW1lbnQgZGV0ZWN0aW9uIG9mIHRoZSBjb2xvcnNwYWNlIHVzZWQgYnkgdGhlCgkgIEpQRUcyMDAwIGNvZGVzdHJlYW0uIFhZWiBjb2xvcnNwYWNlIGlzbid0IHN1cHBvcnRlZCBieQoJICBvdXIgZGVjb2RlcnMgeWV0IHVuZm9ydHVuYXRlbHkuCgoyMDA4LTEyLTA4IDE1OjQ2OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IEFsbCBmcmFtZSBsYXlvdXQgdmFsdWVzIGV4Y2VwdCAwIGFyZSBmb3IgaW50ZXJsYWNlZCB2aWRlbywgbm90IG9ubHkgMSBhbmQgMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBBbGwgZnJhbWUgbGF5b3V0IHZhbHVlcyBleGNlcHQgMCBhcmUgZm9yIGludGVybGFjZWQgdmlkZW8sCgkgIG5vdCBvbmx5IDEgYW5kIDIuCgoyMDA4LTEyLTA4IDE1OjI4OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmVtb3ZlIHRoZSBjb25jZXB0IG9mICJmaW5hbCIgbWV0YWRhdGEsIGJyb2tlbiBmaWxlcyBoYXZlIHVwZGF0ZWQgbWV0YWRhdGEgaW4gZm9sbG93aW5nIHBhcnRpdGlvbnMgZXZlbiBpZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wcmltZXJfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9wcmVmYWNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgUmVtb3ZlIHRoZSBjb25jZXB0IG9mICJmaW5hbCIgbWV0YWRhdGEsIGJyb2tlbiBmaWxlcyBoYXZlIHVwZGF0ZWQKCSAgbWV0YWRhdGEgaW4gZm9sbG93aW5nIHBhcnRpdGlvbnMgZXZlbiBpZiB0aGUgY3VycmVudCBwYXJ0aXRpb24KCSAgaXMgY2xvc2VkIGFuZCBjb21wbGV0ZS4KCSAgSWYgdGhlcmUncyBhIHNlY29uZCBwcmltZXIgcGFjayBpbnNpZGUgYSBwYXJ0aXRpb24gaWdub3JlIHRoZSBzZWNvbmQKCSAgb25lIGluc3RlYWQgb2YgdGhyb3dpbmcgYW4gZXJyb3IuCgkgIFN0b3JlIHRoZSB0eXBlIG9mIGEgdHJhY2sgKGF1ZGlvLCB2aWRlbywgdGltZXN0YW1wLCAuLi4pIGluc2lkZSB0aGUKCSAgdHJhY2sgc3RydWN0LgoJICBQb3N0IG5vLW1vcmUtcGFkcyBvbmx5IG9uY2UgZm9yIGEgc3RyZWFtIGFuZCBub3QgYSBzZWNvbmQgdGltZQoJICB3aGVuIHN3aXRjaGluZyB0aGUgY3VycmVudGx5IHBsYXlpbmcgcGFja2FnZS4KCSAgV2hlbiB1cGRhdGluZyBhbGwgc3RyZWFtcyBtYWtlIHN1cmUgdGhhdCB3ZSBjb3VsZCBzZWxlY3QgYW5kIGZpbmQKCSAgYSBwYWNrYWdlIGluc3RlYWQgb2YgZGVyZWZlcmVuY2luZyBOVUxMLgoJICBBbGxvdyBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBpbnNpZGUgbWV0YWRhdGEgcGFydHMgb2YgYSBmaWxlIHdoZW4KCSAgcHVsbGluZyB0aGUgZm9vdGVyIG1ldGFkYXRhIHRvby4KCSAgT25seSBzd2l0Y2ggdGhlIGN1cnJlbnRseSBwbGF5aW5nIHBhY2thZ2UgaWYgYSBuZXcgb25lIHdhcyBjaG9zZW4KCSAgYW5kIHRoZSBtZXRhZGF0YSBpcyBpbiBhIHJlc29sdmVkIHN0YXRlLiBJZiB0aGUgbGF0dGVyIGlzbid0IHRydWUKCSAgcG9zdHBvbmUgdGhlIHN3aXRjaCB1bnRpbCB0aGUgbWV0YWRhdGEgaXMgcmVzb2x2ZWQuCgkgIFB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBkaXJlY3RseSBhZnRlciBwYXJzaW5nIHRoZSBoZWFkZXIgcGFydGl0aW9uCgkgIHBhY2sgaWYgaXQncyBub3QgY2xvc2VkIG9yIG5vdCBjb21wbGV0ZSBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwKCSAgdGhlIG5leHQgS0xWIHBhY2tldC4KCjIwMDgtMTItMDggMTM6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmdXAuYzogRG9uJ3QgY3JlYXRlIGEgc3ViYnVmZmVyLCBpbnN0ZWFkIGp1c3QgY2hhbmdlIHRoZSBidWZmZXIgbWV0YWRhdGEgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICBEb24ndCBjcmVhdGUgYSBzdWJidWZmZXIsIGluc3RlYWQganVzdCBjaGFuZ2UgdGhlIGJ1ZmZlciBtZXRhZGF0YQoJICBvZiB0aGUgaW5wdXQgYnVmZmVyLgoKMjAwOC0xMi0wNyAyMDoxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBSZW5hbWUgR3N0TVhGUGFkIHRvIEdzdE1YRkRlbXV4UGFkIHRvIHByZXZlbnQgbmFtZSBjbGFzaGVzIHdpdGggdGhlIEdzdE1YRk11eFBhZCBpbiB0aGUgbXV4ZXIgKGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFkX2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX2NsYXNzX2luaXQpLCAoZ3N0X214Zl9kZW11eF9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWQpLCAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayksIChnc3RfbXhmX2RlbXV4X2xvb3ApLAoJICAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICBSZW5hbWUgR3N0TVhGUGFkIHRvIEdzdE1YRkRlbXV4UGFkIHRvIHByZXZlbnQgbmFtZSBjbGFzaGVzCgkgIHdpdGggdGhlIEdzdE1YRk11eFBhZCBpbiB0aGUgbXV4ZXIgKGxhdGVyKS4KCSAgUHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgb25seSBkaXJlY3RseSBhZnRlciBza2lwcGluZyB0aGUgcnVuCgkgIGluIGFuZCBkb24ndCBhbGxvY2F0ZSBhbiBhcnJheSBmb3IgaXQgaWYgcGFyc2luZyBpdCBmYWlsZWQuCgoyMDA4LTEyLTA3IDE4OjUyOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmQxMC5jOiBVc2UgdGhlIG1hcHBpbmcgZGF0YSBmb3Igc3RvcmluZyB0aGUgY2hhbm5lbCBjb3VudCBhbmQgdGhlIHdpZHRoIGluc3RlYWQgb2YgcGFyc2luZyBjYXBzIGZvciBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgVXNlIHRoZSBtYXBwaW5nIGRhdGEgZm9yIHN0b3JpbmcgdGhlIGNoYW5uZWwgY291bnQgYW5kIHRoZQoJICB3aWR0aCBpbnN0ZWFkIG9mIHBhcnNpbmcgY2FwcyBmb3IgZXZlcnkgYnVmZmVyLgoKMjAwOC0xMi0wNyAxODozOTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZ1cC5jOiBIYW5kbGUgdGhlIGltYWdlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0cywgb3RoZXJ3aXNlIHdlIG91dHB1dCB0b28gbGFyZ2UgaW1hZ2UgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpOgoJICBIYW5kbGUgdGhlIGltYWdlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0cywgb3RoZXJ3aXNlIHdlIG91dHB1dAoJICB0b28gbGFyZ2UgaW1hZ2UgYnVmZmVycy4KCjIwMDgtMTItMDcgMTc6NTc6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbXBlZy5jOiBTZXQgY29kZWMgbmFtZSB0YWdzIGZvciB0aGUgTVBFRyBhdWRpbyBlc3NlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKToKCSAgU2V0IGNvZGVjIG5hbWUgdGFncyBmb3IgdGhlIE1QRUcgYXVkaW8gZXNzZW5jZS4KCjIwMDgtMTItMDcgMTc6MTY6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB1bmNvbXByZXNzZWQgdmlkZW8gZXNzZW5jZSAoU01QVEUgUzM4NE0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB1bmNvbXByZXNzZWQgdmlkZW8gZXNzZW5jZSAoU01QVEUgUzM4NE0pLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICBGaXggcGFyc2luZyBvZiB0aGUgUkdCQSBkZXNjcmlwdG9yIGFuZCBhZGQgc3VwcG9ydCBmb3IgcGFyc2luZwoJICB0aGUgcGl4ZWwgbGF5b3V0LgoKMjAwOC0xMi0wNiAyMDo0Njo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBUaGUgcHJldmlvdXMgcGFydGl0aW9uIGZpZWxkIG9mIHRoZSBwYXJ0aXRpb24gaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFuZCBub3QgdG8gdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKToKCSAgVGhlIHByZXZpb3VzIHBhcnRpdGlvbiBmaWVsZCBvZiB0aGUgcGFydGl0aW9uIGlzIHJlbGF0aXZlCgkgIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhbmQgbm90IHRvIHRoZSBvZmZzZXQgb2YgdGhlIGhlYWRlcgoJICBwYXJ0aXRpb24uCgoyMDA4LTEyLTA2IDE5OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmQxMC5jOiBEb2N1bWVudCBkZWNvZGluZyBvZiB0aGUgQUVTMyBkYXRhIGFuZCBhbHNvIHNraXAgdGhlIDMyIGJpdCBoZWFkZXIgaW4gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBidWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgIERvY3VtZW50IGRlY29kaW5nIG9mIHRoZSBBRVMzIGRhdGEgYW5kIGFsc28gc2tpcCB0aGUgMzIgYml0CgkgIGhlYWRlciBpbiB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGJ1ZmZlciwgb3RoZXJ3aXNlIHdlIGdldAoJICBvbmUgYnJva2VuIGF1ZGlvIGNoYW5uZWwuCgoyMDA4LTEyLTA1IDEyOjI2OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIGdlbmVyaWMgZGF0YSBlc3NlbmNlIGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIGdlbmVyaWMgZGF0YSBlc3NlbmNlIGRlc2NyaXB0b3IuCgoyMDA4LTEyLTA1IDEwOjMyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEdlbmVyYWxpemUgc29tZSBsaW5lcyBvZiBjb2RlcyB0aGF0IGFyZSBtb3JlIG9yIGxlc3MgdGhlIHNhbWUgYnkgYSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgIEdlbmVyYWxpemUgc29tZSBsaW5lcyBvZiBjb2RlcyB0aGF0IGFyZSBtb3JlIG9yIGxlc3MgdGhlIHNhbWUKCSAgYnkgYSBtYWNyby4KCjIwMDgtMTItMDQgMjA6MTE6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUKCSAgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgoyMDA4LTEyLTA0IDE5OjUwOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0byBvdXIgTTQgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0bwoJICBvdXIgTTQgbWFjcm9zLgoKMjAwOC0xMi0wNCAxNzo1MTozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRW5zdXJlIHdlIGVtaXQgbm90aWZ5OjphY3RpdmUtcGFkIHdoZW4gYXV0by1zZWxlY3RpbmcgYSBwYWQgZHVlIHRvIGl0IGhhdmluZyBhY3Rpdml0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIEVuc3VyZSB3ZSBlbWl0IG5vdGlmeTo6YWN0aXZlLXBhZCB3aGVuIGF1dG8tc2VsZWN0aW5nIGEgcGFkCgkgIGR1ZSB0byBpdCBoYXZpbmcgYWN0aXZpdHkgYW5kIHVzIG5vdCBoYXZpbmcgYW4gZXhpc3RpbmcgYWN0aXZlCgkgIHBhZC4gRml4ZXMgIzU2MzE0NwoKMjAwOC0xMi0wNCAxMzoyODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENvZGluZyBzdHlsZSBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIENvZGluZyBzdHlsZSBmaXhlcy4KCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgTVBFRywgQUMzLCBEVFMgYXVkaW8uCgoyMDA4LTEyLTA0IDA5OjI2OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElnbm9yZSB6ZXJvIHNpemVkIGVzc2VuY2UgZWxlbWVudHMuIFRoZXkncmUgb2Z0ZW4gaW5zZXJ0ZWQgdG8gZnVsZmlsbCB0aGUgc3RyZWFtaW5nIHJlcXVpcmVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgSWdub3JlIHplcm8gc2l6ZWQgZXNzZW5jZSBlbGVtZW50cy4gVGhleSdyZSBvZnRlbiBpbnNlcnRlZAoJICB0byBmdWxmaWxsIHRoZSBzdHJlYW1pbmcgcmVxdWlyZW1lbnRzLgoKMjAwOC0xMi0wNCAwODo1MDo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBGaXggc2V0dGluZyBvZiB0aGUgaGVpZ2h0L3dpZHRoIGFuZCBQQVIgb2YgdmlkZW8gc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBGaXggc2V0dGluZyBvZiB0aGUgaGVpZ2h0L3dpZHRoIGFuZCBQQVIgb2YgdmlkZW8gc3RyZWFtcy4KCjIwMDgtMTItMDQgMDg6Mzc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgU01QVEUgRDEwIGVzc2VuY2UgKFNNUFRFIDM4Nk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNNUFRFIEQxMCBlc3NlbmNlIChTTVBURSAzODZNKS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIERvbid0IHNldCB3aWR0aC9oZWlnaHQgYW5kIFBBUiBvbiB0aGUgY2FwcyBhcyB0aG9zZSB2YWx1ZXMgYXJlCgkgIHdyb25nIGZvciBtb3N0IGZpbGVzIChoZWlnaHQgaXMgc29tZXRpbWVzIHRoZSBoZWlnaHQgb2YgYSBmaWVsZAoJICBhbmQgYXNwZWN0IHJhdGlvIGlzIHNvbWUgcmFuZG9tIHZhbHVlKS4KCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpOgoJICBGaXggY2FsY3VsYXRpb24gb2YgYmxvY2sgYWxpZ24gaWYgaXQgaXNuJ3Qgc2V0IGluIHRoZSBkZXNjcmlwdG9yLgoKMjAwOC0xMi0wMyAxNjowODoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBBRVMzIGF1ZGlvIChTTVBURSAzODJNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIHN1cHBvcnQgZm9yIEFFUzMgYXVkaW8gKFNNUFRFIDM4Mk0pLgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBGaXggY29kaW5nIHN0eWxlLgoKMjAwOC0xMi0wMyAxMzoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTEyLTAzIDExOjQzOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKToKCSAgQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDgtMTItMDMgMTA6MTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogUmVtb3ZlIEZJWE1FLCB6ZXJvLVVMcyBhbmQgVU1JRHMgYXJlIHJlYWxseSBpbnZhbGlkIGFuZCB3ZSBjYW4gdXNlIHRoZW0gYXMgInVuc2V0IiB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBSZW1vdmUgRklYTUUsIHplcm8tVUxzIGFuZCBVTUlEcyBhcmUgcmVhbGx5IGludmFsaWQgYW5kIHdlIGNhbgoJICB1c2UgdGhlbSBhcyAidW5zZXQiIHZhbHVlLgoKMjAwOC0xMi0wMyAwODowNDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBVc2UgYSBzaW5nbGUgInRyYWNrXyV1IiBzcmMgcGFkIHRlbXBsYXRlIGFuZCB1c2UgdGhlIHRyYWNrIElEIG9mIHRoZSBwbGF5YmFjayBwYWNrYWdlIGZvciB0aGUgcGFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBhIHNpbmdsZSAidHJhY2tfJXUiIHNyYyBwYWQgdGVtcGxhdGUgYW5kIHVzZSB0aGUgdHJhY2sgSUQKCSAgb2YgdGhlIHBsYXliYWNrIHBhY2thZ2UgZm9yIHRoZSBwYWQgbmFtZSBpbnN0ZWFkIG9mIHRoZSB0cmFjayBJRAoJICBvZiB0aGUgc291cmNlIHBhY2thZ2UsIGFzIHRoZSBsYXR0ZXIgY291bGQgYmUgdGhlIHNhbWUgZm9yCgkgIG1vcmUgdGhhbiBvbmUgdHJhY2sgaWYgdGhleSdyZSBpbiBkaWZmZXJlbnQgcGFja2FnZXMuCgoyMDA4LTEyLTAyIDA2OjIxOjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiBTb21lIGNvbXBpbGVycyBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlOyBhZGQgYSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiBTb21lIGNvbXBpbGVycyBjb21wbGFpbiBhYm91dAoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlOyBhZGQgYSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgoyMDA4LTEyLTAxIDE5OjM2OjM1ICswMDAwICDsnbTrrLjtmJUgPGl3aW5nc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiBEb24ndCBmb3JnZXQgdG8gcmVsZWFzZSB0aGUgbG9jayBhZ2FpbiBpZiB3ZSBiYWlsIG91dCBiZWNhdXNlIHNvbWUgcGFkIGlzIGZsdXNoaW5nIG9yIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiDsnbTrrLjtmJUgPGl3aW5ncyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6CgkgIERvbid0IGZvcmdldCB0byByZWxlYXNlIHRoZSBsb2NrIGFnYWluIGlmIHdlIGJhaWwgb3V0IGJlY2F1c2Ugc29tZQoJICBwYWQgaXMgZmx1c2hpbmcgb3Igd2UndmUgcmVhY2hlZCBFT1MsIG90aGVyd2lzZSB0aGluZ3Mgd2lsbCBsb2NrIHVwCgkgIG5leHQgdGltZSBfcHVzaF9idWZmZXIoKSBpcyBjYWxsZWQgKCM1NjI4MDIpLgoKMjAwOC0xMi0wMSAxNjozNzo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvYXRvbXMuYzogRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzogKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKToKCSAgRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoKMjAwOC0xMi0wMSAxNTo1MDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZqcGVnMjAwMC5jOiBVc2UgbmV3IGltYWdlL3gtanBjIGNhcHMgZm9yIHRoZSByYXcgSlBFRzIwMDAgY29kZXN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgVXNlIG5ldyBpbWFnZS94LWpwYyBjYXBzIGZvciB0aGUgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0uCgkgIEZvciBub3cgYXNzdW1lIHNSR0IgYXMgY29sb3JzcGFjZSwgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgZGVzY3JpcHRvcgoJICBzb21laG93IGxhdGVyLgoKMjAwOC0xMi0wMSAxNTo0ODoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwMmsvOiBBZGQgaW1hZ2UveC1qcGMgY2FwcyBuYW1lIGZvciByZWFsLCByYXcgSlBFRzIwMDAgY29kZXN0cmVhbSBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IChnc3RfamFzcGVyX2VuY19yZXNldCksCgkgIChnc3RfamFzcGVyX2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X2phc3Blcl9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF9qYXNwZXJfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfamFzcGVyX2VuY19nZXRfZGF0YSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmg6CgkgIEFkZCBpbWFnZS94LWpwYyBjYXBzIG5hbWUgZm9yIHJlYWwsIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtIGRhdGEuCgkgIEluIDAuMTEgd2Ugc2hvdWxkIG1lcmdlIGltYWdlL3gtajJjIGFuZCBpbWFnZS94LWpwYyBhbmQgc2ltcGx5IGRyb3AKCSAgdGhlIG5vbi1zdGFuZGFyZCBib3hpbmcgaW4gdGhlIGphc3BlciBlbGVtZW50cyBhbmQgaGFuZGxlIGl0IGluCgkgIHF0bXV4L3F0ZGVtdXguCgkgIGltYWdlL3gtanBjIHdpbGwgYmUgdXNlZCBieSBteGZkZW11eCBsYXRlci4KCSAgQWxzbyBhZGQgc3VwcG9ydCBmb3IgSlAyIG91dHB1dCBpbiBqcDJrZW5jLgoKMjAwOC0xMi0wMSAxNToyNDozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCB0aGUgY29kZWMgbmFtZSwgYW5kIGlmIHBvc3NpYmxlIHRoZSBhdmcgYml0cmF0ZSwgdG8gdGhlIHBhZCdzIHRhZ2xpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIHRoZSBjb2RlYyBuYW1lLCBhbmQgaWYgcG9zc2libGUgdGhlIGF2ZyBiaXRyYXRlLCB0byB0aGUgcGFkJ3MgdGFnbGlzdC4KCjIwMDgtMTItMDEgMTQ6MjU6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWYgdGhlIHByZWZhY2UgcmVmZXJlbmNlcyBhIHByaW1hcnkgcGFja2FnZSB1c2UgdGhpcyBhcyB0aGUgZGVmYXVsdCBwbGF5YmFjayBwYWNrYWdlIHVubGVzcyBvbmUgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKToKCSAgSWYgdGhlIHByZWZhY2UgcmVmZXJlbmNlcyBhIHByaW1hcnkgcGFja2FnZSB1c2UgdGhpcyBhcyB0aGUgZGVmYXVsdAoJICBwbGF5YmFjayBwYWNrYWdlIHVubGVzcyBvbmUgd2FzIHNwZWNpZmllZCBieSB0aGUgInBhY2thZ2UiIHByb3BlcnR5LgoJICBJZiB0aGVyZSdzIG5vIHByZWZhY2UgcHJpbWFyeSBwYWNrYWdlIHN0aWxsIHRyeSB0byB1c2UgdGhlIGZpcnN0CgkgIG1hdGVyaWFsIHBhY2thZ2UuCgoyMDA4LTExLTMwIDE3OjU4OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElmIHRoZXJlJ3Mgbm8gZGVzY3JpcHRvciBmb3IgdGhlIHRyYWNrIGluIHRoZSB0cmFjaydzIHNvdXJjZSBwYWNrYWdlIGFuZCB0aGVyZSdzIGEgc2luZ2xlIGRlc2NyaXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgIElmIHRoZXJlJ3Mgbm8gZGVzY3JpcHRvciBmb3IgdGhlIHRyYWNrIGluIHRoZSB0cmFjaydzIHNvdXJjZQoJICBwYWNrYWdlIGFuZCB0aGVyZSdzIGEgc2luZ2xlIGRlc2NyaXB0b3Igd2l0aG91dCBhIGxpbmtlZCB0cmFjawoJICBhc3N1bWUgdGhhdCBpdCBiZWxvbmdzIHRvIHRoaXMgdHJhY2suCgoyMDA4LTExLTMwIDE3OjQyOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU29tZSByYW5kb20gY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgU29tZSByYW5kb20gY2xlYW51cC4KCjIwMDgtMTEtMzAgMTc6MjY6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSB0b3AtbGV2ZWwgc291cmNlIHBhY2thZ2Ugb3IgbWF0ZXJpYWwgcGFja2FnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkcyksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwgKGdzdF9teGZfZGVtdXhfZmluZF9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X214Zl9kZW11eF9nZXRfcHJvcGVydHkpLCAoZ3N0X214Zl9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfdW1pZF9mcm9tX3N0cmluZyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSB0b3AtbGV2ZWwgc291cmNlIHBhY2thZ2Ugb3IgbWF0ZXJpYWwKCSAgcGFja2FnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwbGF5YmFjay4KCjIwMDgtMTEtMzAgMTY6MjE6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogTWFrZSBzdXJlIHRoYXQgZGVtdXgtPm9mZnNldCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUgYmVmb3JlIGNhbGxpbmcgYW55IGdzdF9teGZfZGVtdXhfaGFuZGxlXyogZnVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spOgoJICBNYWtlIHN1cmUgdGhhdCBkZW11eC0+b2Zmc2V0IGhhcyB0aGUgY29ycmVjdCB2YWx1ZSBiZWZvcmUKCSAgY2FsbGluZyBhbnkgZ3N0X214Zl9kZW11eF9oYW5kbGVfKiBmdW5jdGlvbnMuCgoyMDA4LTExLTMwIDE0OjEyOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU2V0IHRoZSBjb3JyZWN0IE1QRUcgdmlkZW8gdmVyc2lvbiBpZiBwb3NzaWJsZSBhbmQgYWRkIHN1cHBvcnQgZm9yIE1QRUc0IHZpZGVvLCBpbmNsdWRpbmcgY29kZWNfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgU2V0IHRoZSBjb3JyZWN0IE1QRUcgdmlkZW8gdmVyc2lvbiBpZiBwb3NzaWJsZSBhbmQgYWRkIHN1cHBvcnQKCSAgZm9yIE1QRUc0IHZpZGVvLCBpbmNsdWRpbmcgY29kZWNfZGF0YS4KCjIwMDgtMTEtMjkgMjA6MjU6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBKUEVHMjAwMCBlbmNvZGVkIHZpZGVvIGVzc2VuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfdmlkZW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgSlBFRzIwMDAgZW5jb2RlZCB2aWRlbyBlc3NlbmNlLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgU2V0IHRoZSBmcmFtZXJhdGUgaW4gdGhlIHZpZGVvIGNhcHMuCgoyMDA4LTExLTI5IDIwOjA3OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogRG9uJ3QgdW5yZWYgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaWYgd2UgZG9uJ3Qgb3duIGEgcmVmZXJlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIERvbid0IHVucmVmIHRoZSBlbGVtZW50IGluc3RhbmNlIGlmIHdlIGRvbid0IG93biBhIHJlZmVyZW5jZS4KCjIwMDgtMTEtMjkgMTM6MzM6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbCAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyCgkgIDx5c2Vsa293aXR6IGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wKCSAgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHN0aWxsIHdvcmsuCgkgIEZpeGVzIGJ1ZyAjNTU2MDkxLgoKMjAwOC0xMS0yOCAxODo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBPbmx5IHRyeSB0byBwdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBhdCB0aGUgZW5kIG9mIGZpbGUgb25lIHRpbWUgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIHBhY2tlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayk6CgkgIE9ubHkgdHJ5IHRvIHB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIGF0IHRoZSBlbmQgb2YgZmlsZSBvbmUgdGltZQoJICBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgcGFja2V0IGlmIGl0IGZhaWxzLgoKMjAwOC0xMS0yOCAxODoxMzozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBBLUxhdyBlbmNvZGVkIGF1ZGlvIGVzc2VuY2UgKFNNUFRFIDM4OE0gYW5kIDM4Mk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19hdWRpb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBBLUxhdyBlbmNvZGVkIGF1ZGlvIGVzc2VuY2UgKFNNUFRFIDM4OE0gYW5kIDM4Mk0pLgoKMjAwOC0xMS0yOCAxNDoyMjo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA4LTExLTI4IDExOjI0OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMsIHdoaWNoIHdpbGwgbGF0ZXIgYmUgdXNlZCBmb3Igc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9pbmRleF90YWJsZV9zZWdtZW50KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLAoJICAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzLCB3aGljaCB3aWxsIGxhdGVyIGJlCgkgIHVzZWQgZm9yIHNlZWtpbmcuCgoyMDA4LTExLTI4IDA5OjQ5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgYXVkaW9yZXNhbXBsZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGVsZW1lbnQgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgVXBkYXRlIGF1ZGlvcmVzYW1wbGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyBlbGVtZW50IG5hbWUuCgoyMDA4LTExLTI4IDA4OjM3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFuZCBub3cgYWxzbyB1cGRhdGUgdGhlIGRlYnVnIGNhdGVnb3J5IGZyb20gYXVkaW9yZXNhbXBsZSB0byBsZWdhY3lyZXNhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBBbmQgbm93IGFsc28gdXBkYXRlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBmcm9tIGF1ZGlvcmVzYW1wbGUKCSAgdG8gbGVnYWN5cmVzYW1wbGUuCgoyMDA4LTExLTI3IDE5OjI3OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gdGhlIGJ1aWxkIHN5c3RlbSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSB0aGUgYnVpbGQgc3lzdGVtIHRvby4KCjIwMDgtMTEtMjcgMTk6MjI6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBvbGQgc3BlZXhyZXNhbXBsZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm00Lmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNWUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9iZmluLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZGVidWcuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlX3NzZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6CgkgIFJlbW92ZSBvbGQgc3BlZXhyZXNhbXBsZSBmaWxlcy4KCjIwMDgtMTEtMjcgMTc6MDc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDogUmVtb3ZlIG9sZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgIFJlbW92ZSBvbGQgZmlsZS4KCjIwMDgtMTEtMjcgMTc6MDY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6IEFkZCBtaXNzaW5nIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA4LTExLTI3IDE2OjU4OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBJbnRlZ3JhdGUgdGhlIG1vdmVkIGF1ZGlvcmVzYW1wbGUgaW50byB0aGUgYnVpbGQgc3lzdGVtIGFuZCByZW5hbWUgaXQgdG8gbGVnYWN5cmVzYW1wbGUuIEZpeGVzIGJ1ZyAjNTU4MTI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBJbnRlZ3JhdGUgdGhlIG1vdmVkIGF1ZGlvcmVzYW1wbGUgaW50byB0aGUgYnVpbGQgc3lzdGVtIGFuZAoJICByZW5hbWUgaXQgdG8gbGVnYWN5cmVzYW1wbGUuIEZpeGVzIGJ1ZyAjNTU4MTI0LgoKMjAwOC0xMS0yNyAxNjoyNjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSByYW5kb20gaW5kZXggcGFjaywgd2hpY2ggcHJvdmlkZXMgYSBzZWVrIHRhYmxlIChpbmNsdWRpbmcgYm9keSBzaWQpIHRvIHRoZSBzdGFydCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcmFuZG9tX2luZGV4X3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKSwgKGdzdF9teGZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9yYW5kb21faW5kZXhfcGFja19wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIHJhbmRvbSBpbmRleCBwYWNrLCB3aGljaCBwcm92aWRlcyBhIHNlZWsKCSAgdGFibGUgKGluY2x1ZGluZyBib2R5IHNpZCkgdG8gdGhlIHN0YXJ0IG9mIHBhcnRpdGlvbiBwYWNrcy4KCSAgTGF0ZXIgdGhpcyB3aWxsIGJlIHVzZWQgZm9yIHJlYWRpbmcgYWxsIGluZGV4IHRhYmxlIHNlZ21lbnRzIG9mCgkgIHRoZSBjb21wbGV0ZSBmaWxlIGVmZmljaWVudGx5LgoKMjAwOC0xMS0yNyAxMDowOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBmdW5kYW1lbnRhbCBzdXBwb3J0IGZvciBEVi1ESUYgZXNzZW5jZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pc19kZXNjcmlwdGl2ZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBBZGQgZnVuZGFtZW50YWwgc3VwcG9ydCBmb3IgRFYtRElGIGVzc2VuY2Ugc3RyZWFtcy4KCSAgSGFuZGxlIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHBhY2tldHMgYXMgbWV0YWRhdGEgcGFja2V0cy4KCjIwMDgtMTEtMjcgMDg6NDk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguKjogT25seSB0cnkgdG8gcHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIG9uY2UgYW5kIG5vdCBvbiBldmVyeSBLTFYgcGFja2V0IGlmIGl0IGZhaWxlZCBiZWZvcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBPbmx5IHRyeSB0byBwdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgb25jZSBhbmQgbm90IG9uIGV2ZXJ5IEtMViBwYWNrZXQKCSAgaWYgaXQgZmFpbGVkIGJlZm9yZS4KCjIwMDgtMTEtMjYgMTI6NDA6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZiB0byBpdCB3aGVuIGEgc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpOgoJICBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYKCSAgdG8gaXQgd2hlbiBhIHNlc3Npb24gY2xlYW51cCBvY2N1cnMgd2hlbiB3ZSBhcmUgZW1pdGluZyBhIHNpZ25hbC4KCSAgRW1pdCB0aGUgb25fbmV3X3NzcmMgc2lnbmFsIGZvciB0aGUgQ1NSQywgbm90IHRoZSBTU1JDLgoJICBGaXhlcyAjNTYyMzE5LgoKMjAwOC0xMS0yNiAxMjowMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgRml4ZXMgIzU2MjMxMi4KCjIwMDgtMTEtMjYgMTE6NDQ6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluIHRoZSBtZXRob2QgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4KCSAgdGhlIG1ldGhvZCBjYWxsLgoJICBBZGQgc2lnbmFsIHRvIHJlc2V0IHN5bmMgcGFyYW1ldGVycy4KCSAgQXZvaWQgcGFyc2luZyB0aGUgY2FwcyB0byBnZXQgYSBjbG9ja19iYXNlLCB3ZSBnZXQgdGhpcyBmcm9tIHRoZSBzeW5jCgkgIHNpZ25hbCBub3cuCgoyMDA4LTExLTI2IDExOjMwOjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFByb3Blcmx5IGNvbWJpbmUgZmxvdyByZXR1cm5zIG9mIHRoZSBzb3VyY2UgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwgKGdzdF9teGZfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBQcm9wZXJseSBjb21iaW5lIGZsb3cgcmV0dXJucyBvZiB0aGUgc291cmNlIHBhZHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGFuZCByZXNldCBwYWQgZmllbGRzIHRvZ2V0aGVyIHdpdGggdGhlCgkgIG1ldGFkYXRhIHRvIHByZXZlbnQgaW52YWxpZCBtZW1vcnkgcmVmZXJlbmNlcy4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSk6CgkgIEZpeCB0eXBvLgoKMjAwOC0xMS0yNiAxMDozNzozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFdoZW4gbWVtc2V0J2luZyB0aGUgZGVzY3JpcHRvcnMgdG8gemVyb2VzIG9ubHkgdG91Y2ggdGhlIHBhcnQgb2YgdGhpcyBkZXNjcmlwdG9yLCBub3QgaXQncyBwYXJlbnQgdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFdoZW4gbWVtc2V0J2luZyB0aGUgZGVzY3JpcHRvcnMgdG8gemVyb2VzIG9ubHkgdG91Y2ggdGhlIHBhcnQKCSAgb2YgdGhpcyBkZXNjcmlwdG9yLCBub3QgaXQncyBwYXJlbnQgdHlwZS4KCSAgU2V0IGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBtZXRhZGF0YSBmaWVsZHMuCgoyMDA4LTExLTI2IDA0OjU3OjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogRW5hYmxlIGxhdGVuY3kgY29kZSwgc2luY2Ugd2UncmUgZGVmaW5pdGVseSBhZnRlciAwLjEwLjEyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIEVuYWJsZSBsYXRlbmN5IGNvZGUsIHNpbmNlIHdlJ3JlIGRlZmluaXRlbHkgYWZ0ZXIgMC4xMC4xMgoKMjAwOC0xMS0yNSAxODoyODoxOCArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGV4dC9zcGMvZ3N0c3BjLmM6IFBvc3QgYW4gZXJyb3IgYW5kIHB1c2ggRU9TIHdoZW4gd2UgY2FuJ3Qgc3RhcnQgcGxheWJhY2sgZm9yIHNvbWUgcmVhc29uLiBhbHNvIGF2b2lkIGEgY3Jhc2ggd2hlbiBmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwgKHNwY19zZXR1cCk6CgkgIFBvc3QgYW4gZXJyb3IgYW5kIHB1c2ggRU9TIHdoZW4gd2UgY2FuJ3Qgc3RhcnQgcGxheWJhY2sgZm9yIHNvbWUgcmVhc29uLgoJICBhbHNvIGF2b2lkIGEgY3Jhc2ggd2hlbiBmZWQgYW4gZW1wdHkgZmlsZS4gRml4ZXMgIzQ4MDU0My4KCjIwMDgtMTEtMjUgMTY6Mzc6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogTWFrZSB1bml0IHRlc3QgYWdhaW4gZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMgd2l0aCB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAodGVzdF9waXBlbGluZSk6CgkgIE1ha2UgdW5pdCB0ZXN0IGFnYWluIGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzIHdpdGggdmFsZ3JpbmQuCgoyMDA4LTExLTI1IDE1OjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggZXZlbnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpOgoJICBGaXggZXZlbnQgbGVhay4KCjIwMDgtMTEtMjUgMTQ6NDk6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTZXQgdmlkZW8gZGltZW5zaW9ucyBhbmQgcGl4ZWwgYXNwZWN0IHJhdGlvIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTZXQgdmlkZW8gZGltZW5zaW9ucyBhbmQgcGl4ZWwgYXNwZWN0IHJhdGlvIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0yNSAxMDoyNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHBhcnNpbmcgb2YgUkdCQSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBBZGQgaW5pdGlhbCBwYXJzaW5nIG9mIFJHQkEgZGVzY3JpcHRvcnMuCgkgIERvbid0IGluaXRpYWxpemUgZGVzY3JpcHRvciBHQXJyYXkgd2l0aCB6ZXJvZXMuCgoyMDA4LTExLTI1IDA5OjM4OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmV3cml0ZSBwYXJzaW5nIG9mIGRlc2NyaXB0b3JzIHRvIGdvIHRvcC1kb3duIGluc3RlYWQgb2YgYm90dG9tLXVwIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUgdGhlIGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgUmV3cml0ZSBwYXJzaW5nIG9mIGRlc2NyaXB0b3JzIHRvIGdvIHRvcC1kb3duIGluc3RlYWQgb2YgYm90dG9tLXVwCgkgIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUgdGhlIGJ1ZmZlciBkYXRhIG5vbi13cml0YWJsZS4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTExLTI1IDAwOjIwOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgbmV3IGRpcmVjdG9yeSBmb3IgbmV3IGFjbW1wM2RlYyBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWRkIG5ldyBkaXJlY3RvcnkgZm9yIG5ldyBhY21tcDNkZWMgcGx1Z2luCgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL2FjbW1wM2RlYy5jOgoJICBBZGQgbmV3IGFjbW1wM2RlYyBwbHVnaW4sIHdoaWNoIHVzZXMgQUNNIGZvciBkZWNvZGluZyBtcDMgb24gd2luZG93cy4KCjIwMDgtMTEtMjQgMTE6MzE6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogTWFrZSBzdXJlIHRvIG9ubHkgb3V0cHV0IGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UgZWxlbWVudHMgZm9yIGEgdHJhY2sgaWYgdGhlIGJvZHkgU0lEIG9mIHRoZSBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBNYWtlIHN1cmUgdG8gb25seSBvdXRwdXQgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZSBlbGVtZW50cwoJICBmb3IgYSB0cmFjayBpZiB0aGUgYm9keSBTSUQgb2YgdGhlIHN1cnJvdW5kaW5nIHBhcnRpdGlvbiBpcwoJICB0aGUgc2FtZSBhcyB0aGUgYm9keSBTSUQgb2YgdGhlIHRyYWNrJ3Mgc291cmNlIHBhY2thZ2UuCgoyMDA4LTExLTI0IDExOjE3OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMga2V5ZnJhbWUuIE1hcmsgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gTWFyawoJICB0aGUgZGlzY29udCBmbGFnIHdoZW4gd2UndmUgbW92ZWQgaW4gdGhlIGZpbGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOiBNUDMKCSAgc3RyZWFtcwoJICBhcmUgcGFyc2VkIGFscmVhZHksIG1ha2VzIGF1dG9wbHVnZ2VkIHBpcGVsaW5lcyBzaG9ydGVyLgoKMjAwOC0xMS0yNCAxMDo0NjowMSArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4LzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIEFDMy9EVFMvTFBDTSBpbnRvIE1QRUcgVFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyk6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyBBQzMvRFRTL0xQQ00gaW50byBNUEVHIFRTLgoJICBGaXhlcyBidWcgIzU1MDYxMy4KCjIwMDgtMTEtMjQgMTA6NDE6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBbGxvdyBub24tTVhGIEtMViBwYWNrZXRzIGFuZCBqdXN0IGRyb3AgdGhlbSBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGVycm9yIGFuZCBoYW5kbGUgOSBieXRlIHByb2R1Y3QgdmVyc2lvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpOgoJICBBbGxvdyBub24tTVhGIEtMViBwYWNrZXRzIGFuZCBqdXN0IGRyb3AgdGhlbSBpbnN0ZWFkIG9mIHRocm93aW5nCgkgIGFuIGVycm9yIGFuZCBoYW5kbGUgOSBieXRlIHByb2R1Y3QgdmVyc2lvbnMgYXMgd3JpdHRlbiBieSBBdmlkLgoJICBUaGlzIGRvZXNuJ3QgYWRkIHN1cHBvcnQgZm9yIHRoZSBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMKCSAgYnV0IGF0IGxlYXN0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHBhcnNlIHRoZWlyIGhlYWRlciBtZXRhZGF0YS4KCSAgRml4IGEgY29weSZwYXN0ZSBlcnJvciBpbiBkZWJ1ZyBvdXRwdXQuCgoyMDA4LTExLTIzIDE3OjUwOjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay86IFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIE5vIHByaW50ZiBwbGVhc2UuCgoyMDA4LTExLTIzIDExOjI1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEFjdHVhbGx5IHdlIHN1cHBvcnQgYSBsZW5ndGggc3RvcmVkIGluc2lkZSA4IGJ5dGVzIGJ1dCBpdCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBHX01BWFVJTlQgZm9yIEdzdEIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgIEFjdHVhbGx5IHdlIHN1cHBvcnQgYSBsZW5ndGggc3RvcmVkIGluc2lkZSA4IGJ5dGVzIGJ1dCBpdCBtdXN0CgkgIGJlIHNtYWxsZXIgdGhhbiBHX01BWFVJTlQgZm9yIEdzdEJ1ZmZlci4KCjIwMDgtMTEtMjMgMTE6MTY6MzYgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogRml4IGZvcm1hdCBzdHJpbmcuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAocnNuX2R2ZHNyY19wcmVwYXJlX3N0cmVhbXNpbmZvX2V2ZW50KToKCSAgRml4IGZvcm1hdCBzdHJpbmcuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoKMjAwOC0xMS0yMiAxNTozMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgoyMDA4LTExLTIyIDE1OjI0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjb3B5X3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgQWRkIHByb3BlcnR5IHRvIHJldHVybiBhIEdWYWx1ZUFycmF5IG9mIGFsbCBrbm93biBSVFBTb3VyY2VzIGluIHRoZQoJICBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfY3JlYXRlX3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBSZW1vdmUgcHJvcGVydGllcyB0byBzZXQgdGhlIHZhcmlvdXMgU0RFUyBpdGVtcywgYW4gYXBwbGljYXRpb24gaXMgbmV2ZXIKCSAgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBSVFBTb3VyY2UgZGF0YS4KCSAgQ2hhbmdlIHRoZSBTREVTIGdldHRlciBwcm9wZXJ0aWVzIHRvIG9uZSBTREVTIHByb3BlcnR5IHRoYXQgcmV0dXJucyBhbGwKCSAgU0RFUyBpdGVtcyBpbiBhIEdzdFN0cnVjdHVyZS4KCjIwMDgtMTEtMjIgMTU6MDI6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogTWFrZSB0aGUgdW5pdCB0ZXN0IGEgYml0IGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzLCBlc3BlY2lhbGx5IHdpdGggdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSB0aGUgdW5pdCB0ZXN0IGEgYml0IGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzLCBlc3BlY2lhbGx5CgkgIHdpdGggdmFsZ3JpbmQuCgoyMDA4LTExLTIyIDE0OjUxOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgZml4ZXMgYW5kIHVzYWdlIG9mIGd1aW50IGluc3RlYWQgb2YgZ2ludCB3aGVyZSBuZWdhdGl2ZSB2YWx1ZXMgZG9uJ3QgbWFrZSBzZW5zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKGdzdF9teGZfdWxfaGFzaCksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSk6CgkgIFNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGZpeGVzIGFuZCB1c2FnZSBvZiBndWludCBpbnN0ZWFkIG9mIGdpbnQKCSAgd2hlcmUgbmVnYXRpdmUgdmFsdWVzIGRvbid0IG1ha2Ugc2Vuc2UuCgoyMDA4LTExLTIyIDE0OjQyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQ2NCBvciBnc2l6ZSBmb3IgYWxsIGJ1ZmZlciBzaXplcyBhbmQgdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIHRoZW0uIE9ubHkgbG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9hbmRfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfdGltZXN0YW1wX3BhcnNlKSwgKG14Zl9mcmFjdGlvbl9wYXJzZSksCgkgIChteGZfdXRmMTZfdG9fdXRmOCksIChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19wYXJzZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQ2NCBvciBnc2l6ZSBmb3IgYWxsIGJ1ZmZlciBzaXplcyBhbmQKCSAgdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIHRoZW0uIE9ubHkgbG9jYWwgdGFnIHNldCBzaXplcwoJICBhcmUgc3RpbGwgZ3VpbnQxNiBhcyB0aGV5IGNhbid0IGJlIGxhcmdlci4KCSAgT25seSBhbGxvdyBLTFYgcGFja2V0cyBvZiBzaXplcyBiZWxvdyAxPDwzMiBhcyBHU3RyZWFtZXIgb25seSB1c2VzCgkgIGd1aW50IGZvciBidWZmZXIgc2l6ZXMuIFRoZSBNWEYgc3RhbmRhcmQgYWxsb3dzIHBhY2tldCBzaXplcyB1cAoJICB0byAxPDw2NC4KCjIwMDgtMTEtMjIgMTM6MTc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoKMjAwOC0xMS0yMiAwODoyMzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiAiJXUiIGZvciBhIHNpemVfdCB2YXJpYWJsZSBpbiB0aGUgZm9ybWF0IHN0cmluZyB0byBwcmV2ZW50IGEgY29tcGlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3NvY2tldF93cml0ZSk6CgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mICIldSIgZm9yIGEgc2l6ZV90IHZhcmlhYmxlIGluCgkgIHRoZSBmb3JtYXQgc3RyaW5nIHRvIHByZXZlbnQgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0yMSAxNjoxNzoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgoyMDA4LTExLTIxIDE1OjQ1OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFkZCBhICJmaWx0ZXItbGVuZ3RoIiBwcm9wZXJ0eSB0aGF0IG1hcHMgdG8gdGhlIHF1YWxpdHkgdmFsdWVzIGZvciBjb21wYXRpYmlsdHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgImZpbHRlci1sZW5ndGgiIHByb3BlcnR5IHRoYXQgbWFwcyB0byB0aGUgcXVhbGl0eSB2YWx1ZXMKCSAgZm9yIGNvbXBhdGliaWx0eSB3aXRoIGF1ZGlvcmVzYW1wbGUuCgoyMDA4LTExLTIxIDEwOjM3OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSB0aGUgImV4cGVyaW1lbnRhbCIgZmxhZyBmcm9tIHRoZSBkZWludGVybGFjZTIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSB0aGUgImV4cGVyaW1lbnRhbCIgZmxhZyBmcm9tIHRoZSBkZWludGVybGFjZTIgcGx1Z2luLgoKMjAwOC0xMS0yMSAxMDoyNzoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gTVhGIGRlbXV4ZXIuIEN1cnJlbnRseSBpdCBzdXBwb3J0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwgKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYndmX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX3BhZF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX3BhZF9jbGFzc19pbml0KSwgKGdzdF9teGZfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9mbHVzaCksIChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWQpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldF9teGZfc3RhdGUpLCAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfbXhmX2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3BhcnRpdGlvbl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3ByaW1lcl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3ByZWZhY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfaWRlbnRpZmljYXRpb24pLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV90cmFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zZXF1ZW5jZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9sb2NhdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX3N5c3RlbV9pdGVtKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9yYW5kb21faW5kZXhfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9pbmRleF90YWJsZV9zZWdtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2FuZF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2xvb3ApLAoJICAoZ3N0X214Zl9kZW11eF9jaGFpbiksIChnc3RfbXhmX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeV90eXBlKSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfbXhmX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X214Zl9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfbXhmX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2lzX21wZWdfdmlkZW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaXNfbXhmX3BhY2tldCksIChteGZfaXNfcGFydGl0aW9uX3BhY2spLAoJICAobXhmX2lzX2hlYWRlcl9wYXJ0aXRpb25fcGFjayksIChteGZfaXNfYm9keV9wYXJ0aXRpb25fcGFjayksCgkgIChteGZfaXNfZm9vdGVyX3BhcnRpdGlvbl9wYWNrKSwgKG14Zl9pc19maWxsKSwKCSAgKG14Zl9pc19wcmltZXJfcGFjayksIChteGZfaXNfbWV0YWRhdGEpLAoJICAobXhmX2lzX3JhbmRvbV9pbmRleF9wYWNrKSwgKG14Zl9pc19pbmRleF90YWJsZV9zZWdtZW50KSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9zeXN0ZW1faXRlbSksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2NvbnRhaW5lcl9sYWJlbCksCgkgIChteGZfdWxfaXNfZXF1YWwpLCAobXhmX3VsX2lzX3plcm8pLCAobXhmX3VsX3RvX3N0cmluZyksCgkgIChteGZfdW1pZF9pc19lcXVhbCksIChteGZfdW1pZF9pc196ZXJvKSwgKG14Zl91bWlkX3RvX3N0cmluZyksCgkgIChnc3RfbXhmX3VsX2hhc2gpLCAoZ3N0X214Zl91bF9lcXVhbCksIChteGZfdGltZXN0YW1wX3BhcnNlKSwKCSAgKG14Zl90aW1lc3RhbXBfaXNfdW5rbm93biksIChteGZfdGltZXN0YW1wX2NvbXBhcmUpLAoJICAobXhmX2ZyYWN0aW9uX3BhcnNlKSwgKG14Zl91dGYxNl90b191dGY4KSwKCSAgKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLCAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19yZXNldCksIChfbXhmX21hcHBpbmdfdWxfZnJlZSksCgkgIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3Jlc2V0KSwKCSAgKG14Zl9sb2NhbF90YWdfcGFyc2UpLCAoZ3N0X214Zl9sb2NhbF90YWdfZnJlZSksCgkgIChnc3RfbWV0YWRhdGFfYWRkX2N1c3RvbV90YWcpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzZXQpLCAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzZXQpLCAobXhmX21ldGFkYXRhX3RyYWNrX2lkZW50aWZpZXJfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSksIChteGZfbWV0YWRhdGFfbG9jYXRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gTVhGIGRlbXV4ZXIuIEN1cnJlbnRseSBpdCBzdXBwb3J0cwoJICBNUEVHIHZpZGVvIGFuZCByYXcgYXVkaW8gYW5kIE9QIDFhL2IvYy4KCjIwMDgtMTEtMjEgMDA6NDc6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6IEZpeCBmbHVzaGluZy9zZWVraW5nIHByb2JsZW1zIHJldHVybmluZyBlcnJvciBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBGaXggZmx1c2hpbmcvc2Vla2luZyBwcm9ibGVtcyByZXR1cm5pbmcgZXJyb3IgY29kZS4KCSAgRml4IG1wMyBkZWNvZGluZyB3aXRoIHdpblhQIChjcmFzaGVkIHJhbmRvbWx5LCBvY2Nhc2lvbmFsbHkpLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIEZpeCBwcm9ibGVtcyB3aGVuIGZyYW1lcmF0ZSBpcyBtaXNzaW5nIGZyb20gdmlkZW8uCgoyMDA4LTExLTIwIDE4OjQxOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnZXRfY3VycmVudF90aW1lcyksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApOgoJICBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBJbXByb3ZlIHRoZSB0aW1lIGZ1bmN0aW9uIHRvIHByb3ZpZGUgbW9yZSBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1hcmsgdGhlIGludGVybmFsIHNvdXJjZSB3aXRoIGEgZmxhZy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIHRoZSBtb3JlIHVzZWxlc3MgdGltZXN0YW1wLgoJICBWYWxpZGF0ZSBhIHNvdXJjZSB3aGVuIGEgdmFsaWQgU0RFUyBoYXMgYmVlbiByZWNlaXZlZC4KCSAgUGFzcyB0aGUgY3VycmVudCBzeXN0ZW0gdGltZSB3aGVuIHByb2Nlc3NpbmcgU1IgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9jcmVhdGVfc3RhdHMpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHNvdXJjZSBzdGF0cy4KCSAgTWFyayBwYXJhbXMgYXMgU1RBVElDX1NUUklOR1MuCgkgIENhbGN1bGF0ZSB0aGUgYml0cmF0ZSBhdCB0aGUgc2VuZGVyIFNTUkMuCgkgIEF2b2lkIG5lZ2F0aXZlIHZhbHVlcyBpbiB0aGUgcm91bmQgdHJpcCB0aW1lIGNhbGN1bGF0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVcGRhdGUgc29tZSBkb2NzIGFuZCBjaGFuZ2Ugc29tZSB2YXJpYWJsZSBuYW1lIHRvIG1vcmUgY2xvc2VseSByZWZsZWN0CgkgIHdoYXQgaXQgY29udGFpbnMuCgoyMDA4LTExLTIwIDE2OjAxOjI3ICswMDAwICBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgoJICBnc3QvZGNjcC86IENvZGVTdHlsZSBpbXByb3ZlbWVudHMgYW5kIG1pbm9yIGZpeGVzIHRvIHRoZSBEQ0NQIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgQ29kZVN0eWxlIGltcHJvdmVtZW50cyBhbmQgbWlub3IgZml4ZXMgdG8gdGhlIERDQ1AgcGx1Z2luLgoJICBGaXhlcyAjNTUzODIzLgoKMjAwOC0xMS0yMCAwODoxOToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApOgoJICBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkCgkgIHZhcmlhYmxlLgoKMjAwOC0xMS0xOSAxNjo0ODozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCjIwMDgtMTEtMTkgMDk6MDY6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYyBub3RpZmljYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwgKGZyZWVfc3RyZWFtKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMKCSAgbm90aWZpY2F0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ludGVybmFsX2xpbmtzKSwgKGNyZWF0ZV9ydGNwX3NpbmspLAoJICAocmVtb3ZlX3J0Y3Bfc2luayksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ydGNwX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbmQgU1IgcGFja2V0cyB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBDaGVjayBpZiB0aGUgU1IgdGltZXN0YW1wcyBhcmUgdmFsaWQgYnkgY29tcGFyaW5nIHRoZW0gdG8gdGhlIFJUUAoJICB0aW1lc3RhbXBzLgoJICBTaWduYWwgdGhlIFNSIHBhY2tldCBhbmQgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiB0byBsaXN0ZW5lcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNlZW4gUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBmaWx0ZXIgb3V0CgkgIGludmFsaWQgU1IgcGFja2V0cy4KCjIwMDgtMTEtMTggMTY6NTI6MTEgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOiBBdm9pZCBkZWFkbG9jayBkdXJpbmcgcGFkIGFjdGl2YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgQXZvaWQgZGVhZGxvY2sgZHVyaW5nIHBhZCBhY3RpdmF0aW9uLgoJICBGaXhlcyAjNTYxMjQxLgoKMjAwOC0xMS0xOCAwMTowOTowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseQoJICBhZGRlZC4KCjIwMDgtMTEtMTcgMTk6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZAoJICBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0xNyAxNToxNzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBqaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUKCSAgdmFsdWUgZnJvbSB0aGUgaml0dGVyYnVmZmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBQYXNzIHRoZSBjbG9jay1yYXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEFsc28gcGFzcyB0aGUgY2xvY2stcmF0ZSBhbG9uZyB3aXRoIHRoZSBydHAgdGltZXN0YW1wIHdoZW4gZ2V0dGluZyB0aGUKCSAgc3luYyBwYXJhbWV0ZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIGNsb2NrLXJhdGUgY2hhbmdlcyBhbmQgcmV0dXJuIHRoZSBjbG9jay1yYXRlIHRvZ2V0aGVyIHdpdGgKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzIHVzZWQgZm9yIHN5bmMuCgkgIERvbid0IHRyeSB0byBjb25zdHJ1Y3QgdGltZXN0YW1wcyB3aGVuIHdlIGhhdmUgbm8gYmFzZV90aW1lLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBSZXF1ZXN0IGEgbmV3IGNsb2NrLXJhdGUgd2hlbiB0aGUgcGF5bG9hZCB0eXBlIGNoYW5nZXMuCgkgIFJlc2V0IHRoZSBqaXR0ZXIgY2FsY3VsYXRpb24gd2hlbiB0aGUgY2xvY2stcmF0ZSBjaGFuZ2VzLgoKMjAwOC0xMS0xNyAwOTozMzo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2VfZGF0YS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlX2RhdGEuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA4LTExLTE1IDAyOjU2OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC4qOiBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoKMjAwOC0xMS0xNCAyMzowMTo1NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiBBZGQgc29tZSBvZiBvdXIgZmF2b3JpdGUgY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiBBZGQgc29tZSBvZiBvdXIgZmF2b3JpdGUgY29kZWNzLgoKMjAwOC0xMS0xNCAyMTo0NDozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEd1YXJkIGFnYWluc3QgYSBOVUxMIGRlcmVmZXJlbmNlIEkgc29tZWhvdyBlbmNvdW50ZXJlZCAtIHdpdGggYSBGTFVTSF9TVE9QIGFycmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBHdWFyZCBhZ2FpbnN0IGEgTlVMTCBkZXJlZmVyZW5jZSBJIHNvbWVob3cgZW5jb3VudGVyZWQgLQoJICB3aXRoIGEgRkxVU0hfU1RPUCBhcnJpdmluZyBlaXRoZXIgYmVmb3JlIGJhc2V0cmFuc2Zvcm0gX3N0YXJ0KCksCgkgIG9yIGFmdGVyIF9zdG9wKCkuCgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBqdW1wIGJhY2t3YXJkcyB3aGVuIHR5cGVmaW5kaW5nIGNvcnJ1cHQgbW92IGZpbGVzLgoKMjAwOC0xMS0xNCAyMToyNDo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMTEtMTQgMjA6Mzg6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoKMjAwOC0xMS0xNCAyMDoxNzoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzogKGJ1aWxkX2VzZHNfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX21vdl9hYWNfZXh0ZW5zaW9uKSwgKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX2NvZGVjX2RhdGFfZXh0ZW5zaW9uKToKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2F1ZGlvX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3F0X211eF92aWRlb19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogKGdzdF9xdF9tdXhfbWFwX2Zvcm1hdF90b19oZWFkZXIpOgoJICBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBBbHNvIGFjdHVhbGx5IGltcGxlbWVudCBJU08gSlBFRzIwMDAgbWoyIGZvcm1hdC4KCjIwMDgtMTEtMTQgMTk6NTI6MjQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBDb25zdHJ1Y3Qgc291cmNlIGNhcHMgaW4gbW9yZSBjb252ZW50aW9uYWwgKGFuZCBjb3JyZWN0KSBtYW5uZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpOgoJICBDb25zdHJ1Y3Qgc291cmNlIGNhcHMgaW4gbW9yZSBjb252ZW50aW9uYWwgKGFuZCBjb3JyZWN0KSBtYW5uZXIuCgoyMDA4LTExLTE0IDE2OjE1OjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIG5vIG1vcmUgZWdnaW5nIHRoZSBwdWRkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBubyBtb3JlIGVnZ2luZyB0aGUgcHVkZGluZwoKMjAwOC0xMS0xNCAxNDoyMzowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LWxpYnMvZ3N0L3BsYXkvOiBSZW1vdmUgY3J1ZnQuIFRoaXMgaXMgbm90IGVudGVyZWQgYnkgbWFrZSBhbmQgaXRzIG5vdCBldmVuIGNvbXBpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5Ly5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkudmNwcm9qOgoJICBSZW1vdmUgY3J1ZnQuIFRoaXMgaXMgbm90IGVudGVyZWQgYnkgbWFrZSBhbmQgaXRzIG5vdCBldmVuIGNvbXBpbGFibGUuCgoyMDA4LTExLTEzIDIyOjMwOjU0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGVuY29kZXIgQVBJLCBhcyB3ZWxsIGFzIHNvbWUgZGVmYXVsdCBnc3RyZWFtZXJpc2ggYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gY29ycmVjdGx5IGluIHRoZSBlbmNvZGVyIEFQSSwgYXMgd2VsbAoJICBhcyBzb21lIGRlZmF1bHQgZ3N0cmVhbWVyaXNoIGNvbG9yc3BhY2UgcHJvcGVydGllcy4gIEFsc28sCgkgIGFwcGFyZW50bHksIGNoYW5nZSBhIGJ1bmNoIG9mIGluZGVudGF0aW9uLgoKMjAwOC0xMS0xMyAyMTo0NDoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanAyay86IEFkZCBqcDJrZW5jIHRvIGpwMmsgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogKGdzdF9qYXNwZXJfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfamFzcGVyX2VuY19jbGFzc19pbml0KSwgKGdzdF9qYXNwZXJfZW5jX2luaXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfcmVzZXQpLCAoZ3N0X2phc3Blcl9lbmNfc2V0X3NyY19jYXBzKSwKCSAgKGdzdF9qYXNwZXJfZW5jX2luaXRfZW5jb2RlciksIChnc3RfamFzcGVyX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2phc3Blcl9lbmNfZ2V0X2RhdGEpLCAoZ3N0X2phc3Blcl9lbmNfY2hhaW4pLAoJICAoZ3N0X2phc3Blcl9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qYXNwZXJfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfamFzcGVyX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJICAqIGV4dC9qcDJrL2dzdGpwMmsuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIGpwMmtlbmMgdG8ganAyayBwbHVnaW4uCgoyMDA4LTExLTEzIDIxOjMxOjE0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmRlYy4qOiBNYWtlIHBhZCB0ZW1wbGF0ZSBjYXBzIHJlZmxlY3QgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfcmVzZXQpLCAoZ3N0X2phc3Blcl9kZWNfbmVnb3RpYXRlKSwKCSAgKGdzdF9qYXNwZXJfZGVjX2dldF9waWN0dXJlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAgTWFrZSBwYWQgdGVtcGxhdGUgY2FwcyByZWZsZWN0IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgQWRkIG9yIG1vZGlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMsIGFuZCBzbGlnaHRseSBzaW1wbGlmeSBpbWFnZQoJICBwYXNzaW5nIHRvIGVuY29kaW5nIGxpYnJhcnkuCgoyMDA4LTExLTEzIDE3OjI0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgoyMDA4LTExLTEzIDE1OjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0xMS0xMyAxNToyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoKMjAwOC0xMS0xMyAxNDozMTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkgIFVwZGF0ZSBkb2NzLgoKMjAwOC0xMS0xMyAxNDoyMTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoKMjAwOC0xMS0xMyAxMjo1OTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCjIwMDgtMTEtMTIgMTA6MzI6MjQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4IHVuaW5pdGlhbGl6ZWQgd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB1bmluaXRpYWxpemVkIHdhcm5pbmdzCgoyMDA4LTExLTExIDE5OjMxOjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfcXRtdXgpLCAoY2xlYW51cF9xdG11eCksCgkgIChjaGVja19xdG11eF9wYWQpLCAoR1NUX1NUQVJUX1RFU1QpLCAocXRtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoKMjAwOC0xMS0xMSAxOToyNDoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYWRkX21ldGFkYXRhX3RhZ3MpOgoJICBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgoyMDA4LTExLTEwIDE1OjI2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZSBvbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZQoJICBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMTAgMTQ6NTM6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBXaW0sIHlvdSdyZSBhIGJhZCBib3kuIFlvdSBkb24ndCB3YW50IHBlb3BsZSB0byBjb250YWN0IHlvdSBvciB3aGF0PwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIFdpbSwgeW91J3JlIGEgYmFkIGJveS4gWW91IGRvbid0IHdhbnQgcGVvcGxlIHRvIGNvbnRhY3QgeW91IG9yIHdoYXQ/CgoyMDA4LTExLTEwIDE0OjAxOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IEZpeCBuYW1lIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgRml4IG5hbWUgdGFnLgoKMjAwOC0xMS0wOCAwMjowMDo1OCArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgRml4ZXMgIzU1MDI4MC4KCjIwMDgtMTEtMDcgMTc6MzU6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBBZGQgaXMtbGl2ZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgaXMtbGl2ZSBwcm9wZXJ0eS4KCSAgQWRkIHNvbWUgbW9yZSBkb2NzLgoKMjAwOC0xMS0wNiAyMjo1NDozOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEZpeCBiYXNpYyBuYXZpZ2F0aW9uIGV2ZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBGaXggYmFzaWMgbmF2aWdhdGlvbiBldmVudHMKCjIwMDgtMTEtMDYgMTQ6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSk6CgkgIEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgoyMDA4LTExLTA2IDEzOjAwOjU0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogU2V0IGZpbHRlcnMgaW4gUEFVU0VEIG9yIFBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFNldCBmaWx0ZXJzIGluIFBBVVNFRCBvciBQTEFZSU5HLgoKMjAwOC0xMS0wNiAxMjoxNzowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogTWFrZSBwcml2YXRlIHNlY3Rpb24gcGFkcyBoYXZlIGEgY2FwcyBzZXQgc28gdGhleSBhcmUgbm90IHRyaWVkIHRvIGJlIGxpbmtlZCBpbiBwYXJzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIE1ha2UgcHJpdmF0ZSBzZWN0aW9uIHBhZHMgaGF2ZSBhIGNhcHMgc2V0IHNvIHRoZXkgYXJlIG5vdCB0cmllZAoJICB0byBiZSBsaW5rZWQgaW4gcGFyc2VfbGF1bmNoIGZvciBleGFtcGxlLgoKMjAwOC0xMS0wNiAxMTozMTowMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogTm8gbmVlZCB0byByZWNsYWN1bGF0ZSBmbHVzaCBpbiB0aGlzIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIE5vIG5lZWQgdG8gcmVjbGFjdWxhdGUgZmx1c2ggaW4gdGhpcyBjYXNlLgoJICBGaXhlcyBzb21lIGJhZCBkZWNvZGUgZXJyb3JzIGludHJvZHVjZWQuCgoyMDA4LTExLTA2IDEwOjQyOjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBGaXggdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgRml4IHR5cG8uCgoyMDA4LTExLTA1IDIzOjMxOjQxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogRml4IFJHQiBtYXNrIGluIGNhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgRml4IFJHQiBtYXNrIGluIGNhcHMKCjIwMDgtMTEtMDUgMjI6MjU6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkIEhleHRpbGUgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIEhleHRpbGUgZW5jb2RpbmcKCjIwMDgtMTEtMDUgMTg6NTI6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEhldXJpc3RpYyBhcHByb2FjaCB3aGVuIHJlc3luY2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgSGV1cmlzdGljIGFwcHJvYWNoIHdoZW4gcmVzeW5jaW5nLgoKMjAwOC0xMS0wNSAxODoxMTo1NSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzogTGVuZ3RoIHNob3VsZCBiZSBhIGd1aW50OCBub3QgYSBnaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgIExlbmd0aCBzaG91bGQgYmUgYSBndWludDggbm90IGEgZ2ludC4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ29udmVydCB0ZXh0IHRvIHV0ZjggZm9yIGVhY2ggZGVzY3JpcHRvciBzZXBhcmF0ZWx5IGFuZCBub3QKCSAgY29uY2F0ZW5hdGUgdGhlbSBmaXJzdCBhbmQgY29udmVydCBhZnRlci4KCjIwMDgtMTEtMDQgMjA6MjY6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IFNlbmQgdGFnIGV2ZW50LiBGaXhlcyAjNTU5Mjg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBTZW5kIHRhZyBldmVudC4gRml4ZXMgIzU1OTI4Ni4KCjIwMDgtMTEtMDQgMTg6MDM6NTUgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6IEZpeCBhbm90aGVyIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IGFub3RoZXIgbWVtbGVhay4KCjIwMDgtMTEtMDQgMTc6MjU6MDkgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBGaXggbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEZpeCBtZW1sZWFrcy4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTExLTA0IDA4OjI0OjEwICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOiBGaXggbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBGaXggbWVtbGVhay4KCjIwMDgtMTEtMDMgMjI6MDA6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXhhbXBsZXMvc2NhbGV0ZW1wby8uY3ZzaWdub3JlOiBBZGQgZXhhbXBsZSB0byBjdnMgaWdub3Jlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby8uY3ZzaWdub3JlOgoJICBBZGQgZXhhbXBsZSB0byBjdnMgaWdub3Jlcy4KCjIwMDgtMTEtMDMgMjE6Mjc6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IEZpeCBtaXNtYXRjaGVkIHNpZ25lZG5lc3MgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIChvcGVuX2RlY29kZXIpOgoJICBGaXggbWlzbWF0Y2hlZCBzaWduZWRuZXNzIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTAzIDA4OjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFkZCBUT0RPIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIGVuYWJsaW5nIFNTRS9BUk0gc3BlY2lmaWMgb3B0aW1pemF0aW9ucyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKToKCSAgQWRkIFRPRE8gYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3IgZW5hYmxpbmcgU1NFL0FSTSBzcGVjaWZpYwoJICBvcHRpbWl6YXRpb25zIGFuZCBjaG9vc2luZyB0aGUgZmFzdGVzdCBpbXBsZW1lbnRhdGlvbiBhdCBydW50aW1lLgoJICBBZGQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBhdCB0d28gcGxhY2VzIHRoYXQgc2hvdWxkIHJlYWxseSBuZXZlcgoJICBiZSByZWFjaGVkLgoKMjAwOC0xMS0wMiAwOToxOToyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBGaXggZm9ybWF0IHN0cmluZyBhbmQgYXJndW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGFuZCBhcmd1bWVudHMuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGVfc3NlLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA4LTExLTAxIDIxOjM3OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06IERpc3QgdGhlIHBsYXkgc2NyaXB0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICBEaXN0IHRoZSBwbGF5IHNjcmlwdHMuCgoyMDA4LTExLTAxIDE5OjM4OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBtaXNzaW5nIGhlYWRlcnMgdG8gTWFrZWZpbGUuYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpLCAoX2JlbmNobWFya19pbnRfZmxvYXQpLAoJICAoX2JlbmNobWFya19pbnRfaW50KSwgKF9iZW5jaG1hcmtfaW50ZWdlcl9yZXNhbXBsaW5nKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlcnMgdG8gTWFrZWZpbGUuYW0uCgkgIFVwZGF0ZSBjb3B5cmlnaHQsIHllYXJzIGFuZCBteSBtYWlsIGFkZHJlc3MuCgkgIEJlbmNobWFyayB0aGUgaW50ZWdlciByZXNhbXBsaW5nIGltcGxlbWVudGF0aW9uIGFnYWluc3QgdGhlCgkgIGZsb2F0IGltcGxlbWVudGF0aW9uIGFuZCB1c2UgdGhlIGZhc3RlciBvbmUgZm9yIDgvMTYgYml0IGludGVnZXIKCSAgaW5wdXQuIE9uIG1vc3QgcmVjZW50IHN5c3RlbXMgdGhlIGZsb2F0aW5nIHBvaW50IHZlcnNpb24gaXMgZmFzdGVyLgoKMjAwOC0xMC0zMSAxODozOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGFzIHRoZSByZXN1bHQgb2YgdGhlIGxpbmtpbmcgaXMgd2hhdCBpcyBpbnRlcmVzdGluZywgbm90IHRoYXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBsaW5raW5nCgkgIGlzIHdoYXQgaXMgaW50ZXJlc3RpbmcsIG5vdCB0aGF0IGl0IGFjdHVhbGx5IHJ1bnMuCgkgIEZpeGVzIGNyb3NzLWNvbXBpbGF0aW9uIGFuZCBmaXhlcyBidWcgIzU1ODYzOS4KCjIwMDgtMTAtMzAgMTk6NTQ6MzggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiBBZGQgQUxBQyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgQWRkIEFMQUMgc3VwcG9ydC4KCSAgRml4IGRlY29kZSBvZiBtb25vIEFBQyBmaWxlcyBjcmVhdGVkIGJ5IGl0dW5lcy4KCSAgU2V0IG91dHB1dCBmb3JtYXQgY29ycmVjdGx5IChkb24ndCBhc2sgcXVpY2t0aW1lIHRvCgkgIHJlc2FtcGxlIGZvciB1cykuCgkgIFVzZSBhIGxhcmdlciBkZWNvZGUgYnVmZmVyIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggbGFyZ2UKCSAgQUxBQyBwYWNrZXRzLgoJICBGaXggZGVjb2RlIHRvIGxvb3AgdW50aWwgd2UgaGF2ZSBhbGwgb3V0cHV0IGRhdGEuCgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkgIEZpeCBpbmNsdWRlcyBzbyB3ZSBjb21waWxlIG9uIG1vcmUgT1Nlcy4KCjIwMDgtMTAtMzAgMTU6MzE6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgYXQgbGVhc3QgR3RrIDIuOC4wIGZvciB0aGUgZGVtb3MgKHRoYXQncyB0aGUgb2xkZXN0IEkgY2FuIHRlc3Qgd2l0aDsgSSdtIGZhaXJseSBjZXJ0YWluIEd0ayAyLjAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGF0IGxlYXN0IEd0ayAyLjguMCBmb3IgdGhlIGRlbW9zICh0aGF0J3MgdGhlIG9sZGVzdCBJIGNhbgoJICB0ZXN0IHdpdGg7IEknbSBmYWlybHkgY2VydGFpbiBHdGsgMi4wLjAgaXMgbm90IGdvb2QgZW5vdWdoIGFueQoJICBsb25nZXIpOyBjbGVhbiB1cCBzb21lIHVudXNlZCBHdGstcmVsYXRlZCBjb25maWd1cmUgY3J1ZnQuCgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBEZWZpbmUgR3RrIDIuMTIgZnVuY3Rpb24gdG8gbm9vcCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIEd0ay4KCjIwMDgtMTAtMzAgMTQ6NTU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogVGhlIGxlbmd0aCBmb3IgdGhlIGJ1ZmZlciBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIHRoZSBudW1iZXIgb2YgYXVkaW8gZnJhbWVzLCBpLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpOgoJICBUaGUgbGVuZ3RoIGZvciB0aGUgYnVmZmVyIGNvbnZlcnNpb24gZnVuY3Rpb24gaXMgdGhlIG51bWJlciBvZgoJICBhdWRpbyBmcmFtZXMsIGkuZS4gd2UgbmVlZCB0byBtdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIHRvIGdldCB0aGUgbnVtYmVyIG9mIHZhbHVlcy4gQWxzbyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QgYWZ0ZXIKCSAgcnVubmluZyBpbiB2YWxncmluZC4KCjIwMDgtMTAtMzAgMTQ6NDY6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogQWRkIHBpcGVsaW5lIHVuaXQgdGVzdHMgZm9yIHRlc3RpbmcgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIHdpdGggdXAvZG93bnNhbXBsaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChlbGVtZW50X21lc3NhZ2VfY2IpLAoJICAoZW9zX21lc3NhZ2VfY2IpLCAodGVzdF9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVleHJlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHBpcGVsaW5lIHVuaXQgdGVzdHMgZm9yIHRlc3RpbmcgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIHdpdGgKCSAgdXAvZG93bnNhbXBsaW5nIGFuZCBkaWZmZXJlbnQgaW4vb3V0cmF0ZXMuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEZpeCBidWdzIGlkZW50aWZpZWQgYnkgdGhlIHRlc3RzdWl0ZS4KCjIwMDgtMTAtMzAgMTM6NDQ6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIHN1cHBvcnQgZm9yIGludDgsIGludDI0IGFuZCBpbnQzMiBpbnB1dCBieSBjb252ZXJ0aW5nIGludGVybmFsbHkgdG8vZnJvbSBpbnQxNiBvciBkb3VibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBpbnQ4LCBpbnQyNCBhbmQgaW50MzIgaW5wdXQgYnkgY29udmVydGluZyBpbnRlcm5hbGx5CgkgIHRvL2Zyb20gaW50MTYgb3IgZG91YmxlLgoKMjAwOC0xMC0zMCAxMzozODoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuKjogQmV0dGVyIGZpeCBmb3IgIzU0NjMxOSBhbmQgc2ltaWxhciBjYXNlcyBieSBleHBsaWNpdGx5IHJlZ2lzdGVyaW5nIHdoZW4gd2UncmUgaW4gcGxheWluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIEJldHRlciBmaXggZm9yICM1NDYzMTkgYW5kIHNpbWlsYXIgY2FzZXMgYnkgZXhwbGljaXRseQoJICByZWdpc3RlcmluZyB3aGVuIHdlJ3JlIGluIHBsYXlpbmcgc3RhdGUgb3Igbm90LgoKMjAwOC0xMC0zMCAxMzowMjoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogV2hpdGVzcGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgV2hpdGVzcGFjZS4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBZGQgYSBGSVhNRTouIG5vdCBzdXJlIGlmIHRoaXMgY29kZSBkb2VzIHRoZSBmb3J3YXJkaW5nIGNvcnJlY3RseS4KCjIwMDgtMTAtMzAgMTI6NDM6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBkb3VibGUgc2FtcGxlcyBhcyBpbnB1dCBhbmQgcmVmYWN0b3IgdGhlIHVzYWdlIG9mIHRoZSBkaWZmZXJlbnQgY29tcGlsYXRpb24gZmxhdm9ycyBvZiB0aGUgc3BlZXggcmVzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChfZ2NkKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoc2V0dXBfc3BlZXhyZXNhbXBsZSksCgkgICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpOgoJICBBZGQgc3VwcG9ydCBmb3IgZG91YmxlIHNhbXBsZXMgYXMgaW5wdXQgYW5kIHJlZmFjdG9yIHRoZSB1c2FnZQoJICBvZiB0aGUgZGlmZmVyZW50IGNvbXBpbGF0aW9uIGZsYXZvcnMgb2YgdGhlIHNwZWV4IHJlc2FtcGxlci4KCjIwMDgtMTAtMzAgMTI6MTM6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMTAtMzAgMTE6NTA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9idWZmZXIvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBhdWRpb3JpbmdidWZmZXIgZWxlbWVudCB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbiB0aGUgcGlwZWxpbmUgdG8gY29udmVydCBwdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfaW50X3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfaW50X3JpbmdfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfbmV3KSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NldGNhcHMpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfcmVuZGVyKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfcmFuZ2UpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2NoZWNrZ2V0cmFuZ2VfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gYXVkaW9yaW5nYnVmZmVyIGVsZW1lbnQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4KCSAgdGhlIHBpcGVsaW5lIHRvIGNvbnZlcnQgcHVzaC1iYXNlZCB1cHN0cmVhbSBpbnRvIGEgcHVsbC1iYXNlZAoJICBkb3duc3RyZWFtLgoKMjAwOC0xMC0zMCAxMTo0MzoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0xMC0zMCAwMDoxNzoxMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogQUlGRiBpcyBhbHdheXMgc2lnbmVkLCBldmVuIGZvciA4IGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgQUlGRiBpcyBhbHdheXMgc2lnbmVkLCBldmVuIGZvciA4IGJpdC4KCjIwMDgtMTAtMjkgMTc6MDI6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogRml4IHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KToKCSAgRml4IHRoZSBkb2NzLgoKMjAwOC0xMC0yOSAxNjo1Mzo1NCArMDAwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEEgUmVhbFZpZGVvIHZpZGVvIGluc2lkZSBhIGNvbnRhaW5lciAoZm9yIGV4YW1wbGUgTUtWKSBzaG91bGQgdXNlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYmluIFN0b2NrZXIgPHJvYmluIGF0IG5pYm9yIGRvdCBvcmc+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2Fwcyk6CgkgIEEgUmVhbFZpZGVvIHZpZGVvIGluc2lkZSBhIGNvbnRhaW5lciAoZm9yIGV4YW1wbGUgTUtWKSBzaG91bGQgdXNlIHRoZQoJICBQQVIgd2hpY2ggaXMgc3BlY2lmaWVkIG9uIHRoZSBzaW5rcGFkIGNhcHMuIEZpeGVzICM1NTg0MTYuCgoyMDA4LTEwLTI5IDEyOjExOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLio6IFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nIHRvIG1ha2UgaXQgbW9yZSByb2J1c3QgYW5kIGd1YXJhbnRlZSBhIGNvbnRpbm91cyBzdHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0YXJ0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nIHRvIG1ha2UgaXQgbW9yZSByb2J1c3QgYW5kIGd1YXJhbnRlZQoJICBhIGNvbnRpbm91cyBzdHJlYW0uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoc2V0dXBfc3BlZXhyZXNhbXBsZSksCgkgIChjbGVhbnVwX3NwZWV4cmVzYW1wbGUpLCAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pLAoJICAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKSwgKGxpdmVfc3dpdGNoX2FsbG9jX29ubHlfNDgwMDApLAoJICAobGl2ZV9zd2l0Y2hfZ2V0X3NpbmtfY2FwcyksIChsaXZlX3N3aXRjaF9wdXNoKSwKCSAgKHNwZWV4cmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igc3BlZXhyZXNhbXBsZSBiYXNlZCBvbiB0aGUgYXVkaW9yZXNhbXBsZSB1bml0IHRlc3RzLgoKMjAwOC0xMC0yOSAwMTowMDoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogTWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBOQVYgcGFja2V0IHByb2Nlc3Npbmcgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBQTEFZSU5HICBieSBwYXNzaW5nIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIE1ha2Ugc3VyZSB0byBzdGFydCB0aGUgTkFWIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gY2hhbmdpbmcKCSAgc3RhdGUgdG8gUExBWUlORyAgYnkgcGFzc2luZyBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhlIHN0YXRlCgkgIGNoYW5nZSBpcyBpbiBwcm9ncmVzcy4KCSAgRml4ZXM6ICM1NDYzMTkKCjIwMDgtMTAtMjggMjA6MDY6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OiBSZW1vdmUgJEAgdG8gZml4IHBhcnNlX2xhdW5jaCB3YXJuaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICBSZW1vdmUgJEAgdG8gZml4IHBhcnNlX2xhdW5jaCB3YXJuaW5nCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXkyOgoJICBBZGQgYSB2ZXJzaW9uIHRoYXQgdXNlcyBkZWludGVybGFjZSBhbmQgeHZpbWFnZXNpbmsuCgoyMDA4LTEwLTI4IDE5OjMwOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLio6IFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBHX0xJS0VMWSBhbmQgZnJpZW5kcywgdXNlIEdTVF9ERUJVR19PQkpFQ1QgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEdfTElLRUxZIGFuZCBmcmllbmRzLCB1c2UgR1NUX0RFQlVHX09CSkVDVAoJICBpbnN0ZWFkIG9mIEdTVF9ERUJVRywgLi4uCgoyMDA4LTEwLTI4IDE4OjQ0OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCjIwMDgtMTAtMjggMTg6NDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgIFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZgoJICBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgUHVzaCB0YWdzIGFscmVhZHkgaWYgb25seSBvbmUgcGFkIHdhcyBhZGRlZCwgbm8gbmVlZCB0byB3YWl0IGZvcgoJICB0aGUgc2Vjb25kIG9uZS4KCSAgV2hlbiBnZW5lcmF0aW5nIG91ciBpbmRleCBzZXQgaGFzX3ZpZGVvIGFuZCBoYXNfYXVkaW8gaWYgd2UgZmluZAoJICB2aWRlbyBvciBhdWRpbyBpbiBjYXNlIHRoZSBGTFYgaGVhZGVyIGhhcyBpbmNvcnJlY3QgZGF0YS4KCjIwMDgtMTAtMjggMTY6Mjg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogRml4YXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgRml4YXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4KCjIwMDgtMTAtMjggMTY6MjU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRml4YXRlIHRoZSByYXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4gRml4ZXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGF1ZGlvcmVzYW1wbGVfZml4YXRlX2NhcHMpOgoJICBGaXhhdGUgdGhlIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZgoJICB0aGUgZmlyc3Qgb25lLiBGaXhlcyBidWcgIzU0OTUxMC4KCjIwMDgtMTAtMjggMTE6NDY6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogVXBkYXRlIFNwZWV4IHJlc2FtcGxlciB3aXRoIGxhdGVzdCB2ZXJzaW9uIGZyb20gU3BlZXggR0lULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTQuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm01ZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2JmaW4uaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9kZWJ1Zy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoY29tcHV0ZV9mdW5jKSwgKG1haW4pLCAoc2luYyksCgkgIChjdWJpY19jb2VmKSwgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksICh1cGRhdGVfZmlsdGVyKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9pbml0X2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9tYWdpYyksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZV9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9za2lwX3plcm9zKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9yZXNldF9tZW0pOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBVcGRhdGUgU3BlZXggcmVzYW1wbGVyIHdpdGggbGF0ZXN0IHZlcnNpb24gZnJvbSBTcGVleCBHSVQuCgoyMDA4LTEwLTI4IDAxOjUzOjQ5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS4qOiBDYWxjdWxhdGUgd2lkdGggZnJvbSBkZXB0aCBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSAgQ2FsY3VsYXRlIHdpZHRoIGZyb20gZGVwdGggY29ycmVjdGx5LgoJICBSZWFkIFNTTkQgaGVhZGVyIHByb3Blcmx5IChmaXhlcyAyNCBiaXQgQUlGRiByZWFkaW5nKS4KCjIwMDgtMTAtMjcgMTc6MDE6MjIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBBZGFwdCB0byBzbGlnaHRseSBtb2RpZmllZCB4MjY0IEFQSS4gIEZpeGVzICM1NTUyMzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOgoJICBBZGFwdCB0byBzbGlnaHRseSBtb2RpZmllZCB4MjY0IEFQSS4gIEZpeGVzICM1NTUyMzguCgoyMDA4LTEwLTI3IDE2OjMyOjQ5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogUHJldmVudCBlbmRsZXNzIGxvb3AgaWYgYnVmZmVyIGFsbG9jIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgUHJldmVudCBlbmRsZXNzIGxvb3AgaWYgYnVmZmVyIGFsbG9jIGVycm9yLgoKMjAwOC0xMC0yNyAwOTo0NTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QKCSAgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgoyMDA4LTEwLTI3IDA5OjQyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIG9mIGNvcmUgZm9yIHRoZSBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBvZiBjb3JlIGZvciB0aGUgbGFzdCBjaGFuZ2UuCgoyMDA4LTEwLTI3IDA5OjQxOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L01ha2VmaWxlLmFtOiBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6CgkgIFJld3JpdGUgdGhlIHNjcmlwdCB0YWcgcGFyc2luZyB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IHRvIHJlYWQKCSAgbW9yZSBkYXRhIHRoYW4gd2UgaGF2ZS4gQWxzbyB1c2UgR1NUX1JFQURfVUlOVDI0X0JFIGRpcmVjdGx5IGFuZAoJICBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgkgIFRoaXMgc2hvdWxkIG1ha2UgYWxsIGNyYXNoZXMgb24gZnV6emVkIEZMViBmaWxlcyBkaXNhcHBlYXIuCgoyMDA4LTEwLTI3IDA5OjM3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZCBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgIFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZAoJICBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLgoKMjAwOC0xMC0yNyAwOTozNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoKMjAwOC0xMC0yNyAwOTozMzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgoyMDA4LTEwLTI3IDA5OjMyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0gZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbQoJICBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIEZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nIHRvIGxvb2sgYXQgdGhlIGZsYWdzIG9mIHRoZSBzZWVrIGV2ZW50CgkgIGluc3RlYWQgb2YgYXNzdW1pbmcgc29tZSByYW5kb20gZmxhZ3MsIGRvbid0IHNlbmQgc2VnbWVudC1zdGFydAoJICBtZXNzYWdlcyB3aGVuIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUgYW5kIHB1c2ggc2VlayBldmVudHMgdXBzdHJlYW0KCSAgaWYgd2UgY291bGRuJ3QgaGFuZGxlIHRoZW0uCgoyMDA4LTEwLTI3IDA5OjI3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgIEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCjIwMDgtMTAtMjcgMDk6MjU6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgkgIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmlsZXMgKHdoaWNoIGFyZSBtb3JlIHRoYW4KCSAgb2Z0ZW4gaW5jb3JyZWN0IGFuZCBjYXVzZSBmYWlsZWQgc2Vla3MpLgoJICBGb3IgcHVzaCBtb2RlIHdlIHN0aWxsIHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIGZpbGUgYW5kIGV4dGVuZCBpdAoJICB3aGlsZSBkb2luZyB0aGUgcGxheWJhY2suCgoyMDA4LTEwLTI3IDA5OjIwOjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCk6CgkgIEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwKCSAgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG9lcyB3aGF0IHdlIHdhbnQgYW5kIGlzIG11Y2gKCSAgbW9yZSBzaW1wbGUuCgoyMDA4LTEwLTI3IDA5OjE0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4Lio6IElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlCgkgIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQgd2hlbiBzdGFydGluZyBhIG5ldyBzdHJlYW0gdG8gZ2V0CgkgIGFsbCBvbGQgZW50cmllcyByZW1vdmVkLgoKMjAwOC0xMC0yNyAwOToxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgoyMDA4LTEwLTI3IDA5OjEwOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzIGhhbmRsZWQuCgoyMDA4LTEwLTI3IDA4OjU3OjI3ICswMDAwICBEYXZpZCBIw6RyZGVtYW4gPGRhdmlkQGhhcmRlbWFuLm51PgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBzdXBwb3J0IGZvciB0aGUgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvciwgd2hpY2ggcHJvdmlkZXMgYWRkaXRpb25hbCBmcmVxdWVuY2llLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGF2aWQgSMOkcmRlbWFuIDxkYXZpZCBhdCBoYXJkZW1hbiBkb3QgbnU+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9uaXQpOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IsIHdoaWNoIHByb3ZpZGVzCgkgIGFkZGl0aW9uYWwgZnJlcXVlbmNpZXMgdGhhdCBzaG91bGQgYmUgc2Nhbm5lZCBieSBhIERWQiBhcHBsaWNhdGlvbi4KCSAgRml4ZXMgYnVnICM1NTc4MTQuCgoyMDA4LTEwLTI3IDA4OjUyOjUwICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IEZpeCBFT1MgbG9naWMgYnkgY29ycmVjdGx5IHBvcHBpbmcgdGhlIGNvbGxlY3QgcGFkIGJ1ZmZlcnMgb25seSB3aGVuIHdlJ3ZlIGNob3NlbiB0byB1c2UgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSk6CgkgIEZpeCBFT1MgbG9naWMgYnkgY29ycmVjdGx5IHBvcHBpbmcgdGhlIGNvbGxlY3QgcGFkIGJ1ZmZlcnMgb25seQoJICB3aGVuIHdlJ3ZlIGNob3NlbiB0byB1c2UgdGhlbSBpbnN0ZWFkIG9mIHBvcHBpbmcgdGhlbSBhbHdheXMgYW5kCgkgIHN0b3JpbmcgdGhlbSBpbiBhIHByaXZhdGUgcXVldWUuCgkgIEJlZm9yZSB0aGUgcGlwZWxpbmUgd291bGQgZGVhZGxvY2sgaWYgYWxsIHBhZHMgZ28gRU9TIGF0IHRoZSBzYW1lCgkgIHRpbWUuIEZpeGVzIGJ1ZyAjNTU3NzYzLgoKMjAwOC0xMC0yNiAyMDowNzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgo9PT0gcmVsZWFzZSAwLjEwLjkgPT09CgoyMDA4LTEwLTI0IDIyOjQ1OjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOQoKMjAwOC0xMC0yNCAyMTo0MzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMTAtMjQgMTY6NDE6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC44LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC44LjQgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMjAgMTQ6MTk6MTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBGaXggcmV2ZXJzZSBwbGF5YmFjayByZWdyZXNzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgIEZpeCByZXZlcnNlIHBsYXliYWNrIHJlZ3Jlc3Npb24uCgkgIEZpeGVzICM1NTcwODAKCjIwMDgtMTAtMTkgMTI6Mzk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiBTZXQgYXBleHNpbmsncyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgdXNlZCBieSBhdXRvYXVkaW9zaW5rICh0aGVyZSdzIG5vIHBvaW50IHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IGFwZXhzaW5rJ3MgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHVzZWQgYnkKCSAgYXV0b2F1ZGlvc2luayAodGhlcmUncyBubyBwb2ludCByZWFsbHkpLiAoIzU1NjU4OCkKCjIwMDgtMTAtMTYgMTc6MTI6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4zIHByZS1yZWxlYXNlCgoyMDA4LTEwLTE2IDE2OjM3OjMzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBQcm9wZXJseSBoYW5kbGUgc29tZSByZXN5bmMgY2FzZXMgaW4gdGhlIG9wdGltaXNlZCBidWZmZXJpbmcgc3RyYXRlZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBQcm9wZXJseSBoYW5kbGUgc29tZSByZXN5bmMgY2FzZXMgaW4gdGhlIG9wdGltaXNlZAoJICBidWZmZXJpbmcgc3RyYXRlZ3kuCgoyMDA4LTEwLTE2IDE2OjE4OjMxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOiBSZW1vdmUgaW5jb3JyZWN0IHVzZSBvZiBESVJFQ1RTT1VORF9MREZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTEwLTE2ICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgaW5jb3JyZWN0IHVzZSBvZiBESVJFQ1RTT1VORF9MREZMQUdTCgoyMDA4LTEwLTE2IDE1OjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdm11eC5jOiBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlcik6CgkgIERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28KCSAgaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZSBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyBidWcgIzU1NjU2NC4KCjIwMDgtMTAtMTYgMTU6MDY6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3VicGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHlwZWZpbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bC9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoKMjAwOC0xMC0xNiAxNDo1NDozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogTGVhdmUgYXBleHNpbmsgb3V0IG9mIHRoZSBzdGF0ZXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIExlYXZlIGFwZXhzaW5rIG91dCBvZiB0aGUgc3RhdGVzIHRlc3QuCgoyMDA4LTEwLTE2IDEzOjA1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQgc2VxbnVtIGRpc2NvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0CgkgIHNlcW51bSBkaXNjb250aW51aXRpZXMuCgkgIEltcHJvdmUgZ2FwIGRldGVjdGlvbiBhbmQgcmVjb3ZlcnksIHJlc2V0IGFuZCBmbHVzaCB0aGUgaml0dGVyYnVmZmVyIG9uCgkgIHNlcW51bSByZXN0YXJ0LiBGaXhlcyAjNTU2NTIwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgRml4IHdyb25nIEdfTElLRUxZLgoKMjAwOC0xMC0xNiAxMTo1NToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjguMiBwcmUtcmVsZWFzZSBidW1wLCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IGluIGEgdGFyYmFsbCBvbiAyMDA4LTEwLTExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuOC4yIHByZS1yZWxlYXNlIGJ1bXAsIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgaW4gYQoJICB0YXJiYWxsIG9uIDIwMDgtMTAtMTEKCjIwMDgtMTAtMTYgMDk6NTE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgVFJVRS4KCjIwMDgtMTAtMTYgMDk6MTg6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBNYWtlIHN1cmUgdGhlIG1wZWdwc2RlbXV4IGVsZW1lbnQgY3JlYXRlcyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICBNYWtlIHN1cmUgdGhlIG1wZWdwc2RlbXV4IGVsZW1lbnQgY3JlYXRlcyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgRml4ZXMgIzU1NjQyOAoKMjAwOC0xMC0xNiAwODoxNzo1OSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBGaXhlcyBzZWdmYXVsdCBpbiBnZXRfZW5jb2RpbmdfYW5kX2NvbnZlcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXhlcyBzZWdmYXVsdCBpbiBnZXRfZW5jb2RpbmdfYW5kX2NvbnZlcnQuCgkgIEZpeGVzICM1NTY0ODIKCjIwMDgtMTAtMTYgMDg6MTM6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEZpeGVzIGEgc2VnZmF1bHQgaW4gdGhlIGFkYXB0YXRpb24gYnVmZmVyIHNpemUgc3RyYXRlZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEZpeGVzIGEgc2VnZmF1bHQgaW4gdGhlIGFkYXB0YXRpb24gYnVmZmVyIHNpemUgc3RyYXRlZ3kuCgkgIEZpeGVzICM1NTY0NDAKCjIwMDgtMTAtMTUgMTc6NDU6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBHcmFjZWZ1bGx5IGhhbmRsZSB0aGUgY2FzZXMgd2hlbiB3ZSBkb250JyBoYXZlIG90aGVycGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2V2ZW50KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIEdyYWNlZnVsbHkgaGFuZGxlIHRoZSBjYXNlcyB3aGVuIHdlIGRvbnQnIGhhdmUgb3RoZXJwYWQuCgkgIEZpeGVzICM1NTY0MzAKCjIwMDgtMTAtMTQgMTU6MTM6MDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBGaXggZGVidWdnaW5nIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggZGVidWdnaW5nIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uLgoJICBGaXhlcyAjNTU2Mjc0CgoyMDA4LTEwLTE0IDE0OjUzOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOiBGaXggc29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgKGZyb20gT1MvWCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIEZpeCBzb21lIG1vcmUgZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyAoZnJvbSBPUy9YKQoKMjAwOC0xMC0xMyAxMjoyNzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZvciBsYXRlc3QgcGx1Z2lucyBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmb3IgbGF0ZXN0IHBsdWdpbnMgY2hhbmdlcwoKMjAwOC0xMC0xMyAwNzozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogKGdzdF9hcGV4cmFvcF9jb25uZWN0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdm9sdW1lKToKCSAgRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTEwLTEyIDIxOjUyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3M0LzogQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIEZpeGVzOiAjNTU1OTY5ICM1NTU5NjggIzU1NTk2NQoKMjAwOC0xMC0xMiAxNzowODoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBGaXhlcyBidWcgIzU1NjAwMy4KCjIwMDgtMTAtMTIgMTc6MDQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIGFwZXhzaW5rIHRvIFNVQkRJUlMuIEZpeGVzIGJ1ZyAjNTU1OTEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBhcGV4c2luayB0byBTVUJESVJTLiBGaXhlcyBidWcgIzU1NTkxMi4KCjIwMDgtMTAtMTEgMTE6MDI6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6IE1ha2UgdGhlIG1ldGFkYXRhIHRlc3Qgbm90IGZhaWwgd2hlbiBqcGVnZW5jIGlzbid0IGF2YWlsYWJsZS4uLi4gYXMgaXQgaXNuJ3QgaGVyZSwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBNYWtlIHRoZSBtZXRhZGF0YSB0ZXN0IG5vdCBmYWlsIHdoZW4ganBlZ2VuYyBpc24ndCBhdmFpbGFibGUuLi4uCgkgIGFzIGl0IGlzbid0IGhlcmUsIGJlY2F1c2UgaXQncyBub3QgaW4gdGhpcyBtb2R1bGUsIGFuZAoJICB0aGVyZWZvcmUgbm90IGluIHRoZSBwbHVnaW4gcGF0aCB3aGVuIHRoZSBjaGVjayBydW5zLgoKMjAwOC0xMC0xMCAxNjozMzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldCBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQKCSAgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCAoaS5lLiB0aGUgcGFkJ3MgY2FwcykuCgkgIEFkZCBub24ta2V5ZnJhbWUgdmlkZW8gZnJhbWVzIHRvIHRoZSBpbmRleCB0b28gYnV0IHdpdGhvdXQgdGhlCgkgIGtleWZyYW1lIGZsYWcuCgkgIEFkZCBhdWRpbyBmcmFtZXMgdG8gdGhlIGluZGV4IG9ubHkgaWYgd2UgaGF2ZSBubyB2aWRlbyBzdHJlYW0uCgoyMDA4LTEwLTEwIDE2OjE1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0gYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtCgkgIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhcHMgYXJlIHNldC4KCjIwMDgtMTAtMTAgMTU6NTE6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBmbGFjcGFyc2UgZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIHRvbyBidWdneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIGZsYWNwYXJzZSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgdG9vIGJ1Z2d5LgoKMjAwOC0xMC0xMCAxMToxNzowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMC0xMCAgSmFuIFNjaG1pZHQgIDxqYW4uc2NobWlkdEBzdW4uY29tPgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmMgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nCgkgIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoKMjAwOC0xMC0xMCAxMTowMTozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmMgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nCgkgIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoKMjAwOC0xMC0wOSAxOTozODo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgWDg2IGFzc2VtYmx5LgoKMjAwOC0xMC0wOSAxNjo1MTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGZpeCB2YXJpb3VzIGJ1aWxkIGZpbGVzIHRvIGFsbG93IGZvciBkaXN0aW5nIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmFyaW91cyBidWlsZCBmaWxlcyB0byBhbGxvdyBmb3IgZGlzdGluZyBhbmQgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLgoKMjAwOC0xMC0wOSAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0IChtYXliZSBiZXR0ZXIpIGR1cmF0aW9uIGZyb20KCSAgbWV0YWRhdGEgbGF0ZXIgd2UnbGwgdXNlIHRoYXQgaW5zdGVhZC4KCjIwMDgtMTAtMDkgMTU6NDM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24gdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24KCSAgdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZWFkYWJsZS4KCjIwMDgtMTAtMDkgMTU6MjY6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBJZiB3ZSBnZXQgR1NUX0ZMT1dfTk9UX0xJTktFRCBpbiB0aGUgcGFyc2UgbG9vcCBidXQgYXQgbGVhc3QKCSAgb25lIG9mIHRoZSBwYWRzIGlzIGxpbmtlZCBjb250aW51ZSB0aGUgbG9vcC4KCjIwMDgtMTAtMDkgMTA6MDE6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy4qOiBQYXNzIHRoZSBkaXNjb250IGZsYWcgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIG9uIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluIHRoZSBBTVIgZW5jb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgIFBhc3MgdGhlIGRpc2NvbnQgZmxhZyBmcm9tIHRoZSBpbnB1dCBidWZmZXIgb24gdG8gdGhlIG91dHB1dCBidWZmZXIgaW4KCSAgdGhlIEFNUiBlbmNvZGVyLgoKMjAwOC0xMC0wOSAxMDowMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKToKCSAgQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsCgkgIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlY29kZXIgYW5kIGhhcyBkaWZmZXJlbnQgY2Fwcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGNvZGVjIGlkIDE0LCB3aGljaCBpcyBNUDMgd2l0aCA4a0h6IHNhbXBsaW5nCgkgIHJhdGUuCgkgIEZpeCBlbmRpYW5uZXNzIGFuZCBzaWduZWRuZXNzIGZvciByYXcgYXVkaW8gY29kZWMgaWRzLgoJICBBZGQgc3VwcG9ydCBmb3IgYWxhdyBhbmQgbXVsYXcgYXVkaW8uCgoyMDA4LTEwLTA5IDA5OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbik6CgkgIEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkCgkgIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMgZW1wdHkuCgkgIEFkZCBzb21lIGV4cGxhbmF0aW9ucyBhYm91dCB0aGUgaGVhZGVyIGFuZCB0YWcgc2l6ZS4KCSAgRG9uJ3QgcHJpbnQgc3luY2hyb25pemluZyBtZXNzYWdlIGlmIGV2ZXJ5dGhpbmcgaXMgZmluZS4KCjIwMDgtMTAtMDkgMDk6MjY6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcgb2Ygc3RyZWFtIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2Zsdl9tdXhfaW5pdCksCgkgIChnc3RfZmx2X211eF9maW5hbGl6ZSksIChnc3RfZmx2X211eF9yZXNldCksCgkgIChnc3RfZmx2X211eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9mbHZfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwgKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfZmx2X211eF93cml0ZV9oZWFkZXIpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCksIChnc3RfZmx2X211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZwoJICBvZiBzdHJlYW0gbWV0YWRhdGEuCgoyMDA4LTEwLTA5IDA5OjIxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS4qOiBBZGQgZmx1c2ggc2VlayBoYW5kbGVyLiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgQWRkIGZsdXNoIHNlZWsgaGFuZGxlci4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoJICBTeW5jIHRoZSBjb2RlIG1vcmUgYW5kIHVzZSAjZGVmaW5lcyBmb3IgSEVBREVSLgoKMjAwOC0xMC0wOSAwODo0Mzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuKjogRml4IHRoZSBkdXJhdGlvbiBxdWVyeS4gQWxzbyBzZXQgY2FwcyBvbiB0aGUgcGFkcyBhbmQgYnVmZmVycyBtb3JlIGNvcnJlY3RseS4gVGFrZW4gZnJvbSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgRml4IHRoZSBkdXJhdGlvbiBxdWVyeS4gQWxzbyBzZXQgY2FwcyBvbiB0aGUgcGFkcyBhbmQgYnVmZmVycyBtb3JlCgkgIGNvcnJlY3RseS4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoKMjAwOC0xMC0wOCAxNjoyMDoyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvOiBBZGQgRmx1ZW5kbyB0byB0aGUgTG9uZyBOYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgQWRkIEZsdWVuZG8gdG8gdGhlIExvbmcgTmFtZS4KCjIwMDgtMTAtMDggMTU6MjU6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4LgoJICBGaXhlcyAjNTU1MTkzLgoKMjAwOC0xMC0wOCAxNToyMjoxMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXgKCjIwMDgtMTAtMDggMTA6MjE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IFByZXZlbnQgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIGxhc3QgbXV4IHJhdGUgd2FzIHplcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKSwKCSAgKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgUHJldmVudCBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbGFzdCBtdXggcmF0ZSB3YXMgemVyby4KCSAgSWYgd2UncmUgZ29pbmcgdG8gc2VuZCBhIE5FV1NFR01FTlQgZXZlbnQgYnV0IHRoZSBzZWdtZW50IHN0YXJ0CgkgIGFuZCB0aGUgY3VycmVudCBidWZmZXIgdGltZXN0YW1wIGRpZmZlciBieSBtb3JlIHRoYW4gYSBzZWNvbmQgd2UKCSAgd2lsbCBzdGFydCB0aGUgTkVXU0VHTUVOVCBhdCB0aGUgYnVmZmVyIHRpbWVzdGFtcC4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiB0aGUgdHYyLTFfMjUubXBnIGZpbGUsIHdoaWNoIGhhcyAwIGFzIGZpcnN0IFNDUgoJICBidXQgdGhlIGZpcnN0IFBUUyBhcmUgYXJvdW5kIDEgaG91ciBhbmQgNDAgbWludXRlcy4KCSAgRml4ZXMgYnVnICM1NTM3NTUuCgoyMDA4LTEwLTA3IDIxOjI5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBGaXggbmV4dC9wcmV2IGNoYXB0ZXIgc2Vla2luZyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEZpeCBuZXh0L3ByZXYgY2hhcHRlciBzZWVraW5nIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kLgoJICBVc2UgNjQtYml0IHNjYWxpbmcgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgTVBFRwoJICB0aW1lc3RhbXBzLgoKMjAwOC0xMC0wNyAxODo1NDo0MSArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2ludGVybmFsX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEFkZCBwcm9wZXJ0eSB0byBhY2Nlc3MgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY2hlY2tfY29sbGlzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIGFuIFJUUFNvdXJjZSBvYmplY3QgYnkgU1NSQy4KCSAgU2VlICM1NTUzOTYuCgoyMDA4LTEwLTA3IDEzOjE0OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzogQ2hvb3NlIHJpZ2h0IHBhZCBmb3Igc2VuZGluZyBldmVudHMuIEZpeGVzICM1NTUyNDQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIENob29zZSByaWdodCBwYWQgZm9yIHNlbmRpbmcgZXZlbnRzLiBGaXhlcyAjNTU1MjQ0CgoyMDA4LTEwLTA3IDExOjMzOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9wYWQpLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLCAocmVtb3ZlX3JlY3ZfcnRwKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3ApLCAocmVtb3ZlX3NlbmRfcnRwKSwgKHJlbW92ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIFN0YXJ0IGltcGxlbWVudGluZyByZWxlYXNpbmcgcGFkcyBvZiBnc3RydHBiaW4uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocmVtb3ZlX3JlY3ZfcnRwX3NpbmspLAoJICAocmVtb3ZlX3JlY3ZfcnRjcF9zaW5rKSwgKHJlbW92ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9zZW5kX3J0Y3Bfc3JjKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEltcGxlbWVudCByZWxlYXNpbmcgcGFkcyBpbiBnc3RydHBzZXNzaW9uLgoKMjAwOC0xMC0wNyAxMDowMjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKToKCSAgT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZQoJICBzdHJlYW1zLgoKMjAwOC0xMC0wNiAxNjowMTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYwoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFN0YXJ0IHVzaW5nIGNvcmUgZ2VvIHRhZ3MgKGJ1bXAgcmVxKS4gRml4IGhhbmRsaW5nIG9mIGxvY2F0aW9uCgkgIHJlZmVyZW5jZXMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFNvcnQgYmxhY2tsaXN0ZWQgZWxlbWVudHMgYW5kIHJlbW92ZSBtb3ZlZCBvbmVzLiBBZGQgbmV3IHRlc3QuCgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIEFkZCBmaXJzdCB0ZXN0cyBmb3IgbWV0YWRhdGEgZWxlbWVudC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTW92ZSBmcmVlIHRvIGNvcnJlY3QgcGxhY2UuCgoyMDA4LTEwLTA2IDE1OjUzOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiBTdG9wIHRlc3Qgb24gc3RhdGUtY2hhbmdlIGVycm9yLiBTaG91bGQgYmUgYXBwbGllZCBvbiBvdGhlciBtb2R1bGVzIGlmIHdlIGFncmVlIHRoYXQgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgU3RvcCB0ZXN0IG9uIHN0YXRlLWNoYW5nZSBlcnJvci4gU2hvdWxkIGJlIGFwcGxpZWQgb24gb3RoZXIgbW9kdWxlcyBpZgoJICB3ZSBhZ3JlZSB0aGF0IGl0IG1ha2VzIHNlbnNlLgoKMjAwOC0xMC0wNiAxMjowMToxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBBY3R1YWxseSBjb3B5IHRoZSBzdHJ1Y3R1cmUgcGFzc2VkIGluIHdoZW4gYXNzaWduaW5nIGl0IGJlY2F1c2UgaXQgZ2V0cyBmcmVlZCBzdHJhaWdodC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWN0dWFsbHkgY29weSB0aGUgc3RydWN0dXJlIHBhc3NlZCBpbiB3aGVuIGFzc2lnbmluZyBpdCBiZWNhdXNlCgkgIGl0IGdldHMgZnJlZWQgc3RyYWlnaHQgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuCgkgIFJlOiBwYXRfaW5mbyBhbmQgcG10X2luZm8gR3N0U3RydWN0dXJlcy4KCjIwMDgtMTAtMDYgMDg6MzI6NDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEZpeCB3cm9uZyBmaXJpbmcgb2YgY3JpdGljYWwgaW50cm9kdWNlZCBieSBwcmV2aW91cyBvcHRpbWlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEZpeCB3cm9uZyBmaXJpbmcgb2YgY3JpdGljYWwgaW50cm9kdWNlZCBieSBwcmV2aW91cyBvcHRpbWlzYXRpb24uCgoyMDA4LTEwLTAzIDE3OjExOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBXYXJuIGFuZCBjbGFtcCB0byBtYXggYml0cmF0ZSBmb3Igc2FtcGxlcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpOgoJICBXYXJuIGFuZCBjbGFtcCB0byBtYXggYml0cmF0ZSBmb3Igc2FtcGxlcmF0ZS4KCSAgRml4ZXMgIzU1MDQ4Ni4KCjIwMDgtMTAtMDMgMDk6MTE6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IHBvc3NpYmxlIGNyYXNoIHdoZXJlIHBhdCBpcyBwb2ludGluZyB0byBhIGZyZWVkIHN0cnVjdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVyZSBwYXQgaXMgcG9pbnRpbmcgdG8gYSBmcmVlZCBzdHJ1Y3R1cmUuCgoyMDA4LTEwLTAzIDA1OjU3OjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBBZGQgbWFwcGluZyBvZiBmb3JtYXQgYW5kIG1pbWUgdHlwZSB0byB4bXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIEFkZCBtYXBwaW5nIG9mIGZvcm1hdCBhbmQgbWltZSB0eXBlIHRvIHhtcC4KCjIwMDgtMTAtMDIgMTQ6NDI6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IFJldmVydGluZy4gV2lsbCBuZWVkIHRvIHdhaXQgZm9yIGNvcmUgMC4xMC4yMSByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBSZXZlcnRpbmcuIFdpbGwgbmVlZCB0byB3YWl0IGZvciBjb3JlIDAuMTAuMjEgcmVsZWFzZS4KCjIwMDgtMTAtMDIgMTM6NTI6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IFVzZSBjb3JlIGdzcCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBVc2UgY29yZSBnc3AgdGFncy4KCjIwMDgtMDktMzAgMTc6MDM6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciBHc3RJbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2ZpbmFsaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9iYXNlX3BhcnNlX3NldF9pbmRleCksCgkgIChnc3RfYmFzZV9wYXJzZV9nZXRfaW5kZXgpOgoJICBBZGQgc3VwcG9ydCBmb3IgR3N0SW5kZXguCgoyMDA4LTA5LTMwIDE2OjQxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS4qOiBQcm92aWRlIGEgdmZ1bmMgZm9yIHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hldGhlciBhIGZyYW1lIGlzIGluc2lkZSB0aGUgc2VnbWVudCBvciBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyksCgkgIChnc3RfYmFzZV9wYXJzZV9jb252ZXJ0KSwgKGdzdF9iYXNlX3BhcnNlX2ZyYW1lX2luX3NlZ21lbnQpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIFByb3ZpZGUgYSB2ZnVuYyBmb3IgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGV0aGVyIGEgZnJhbWUgaXMgaW5zaWRlCgkgIHRoZSBzZWdtZW50IG9yIG5vdCBhbmQgYWRkIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCSAgRml4IGFwcHJveGltYXRlIGJpdHJhdGUgY2FsY3VsYXRpb25zLgoKMjAwOC0wOS0zMCAxNjoyMjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogQXBwcm94aW1hdGUgdGhlIGF2ZXJhZ2UgYml0cmF0ZSwgZHVyYXRpb24gYW5kIHNpemUgaWYgcG9zc2libGUgYW5kIGFkZCBhIGRlZmF1bHQgY29udmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyksIChnc3RfYmFzZV9wYXJzZV9jaGFpbiksCgkgIChnc3RfYmFzZV9wYXJzZV9sb29wKSwgKGdzdF9iYXNlX3BhcnNlX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NvbnZlcnQpLCAoZ3N0X2Jhc2VfcGFyc2VfcXVlcnkpOgoJICBBcHByb3hpbWF0ZSB0aGUgYXZlcmFnZSBiaXRyYXRlLCBkdXJhdGlvbiBhbmQgc2l6ZSBpZiBwb3NzaWJsZQoJICBhbmQgYWRkIGEgZGVmYXVsdCBjb252ZXJzaW9uIGZ1bmN0aW9uIHdoaWNoIHVzZXMgdGhpcyBmb3IKCSAgdGltZTwtPmJ5dGUgY29udmVyc2lvbnMuCgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzogKGdzdF9mbGFjX3BhcnNlX2dldF9mcmFtZV9zaXplKToKCSAgRml4IHBhcnNpbmcgaWYgdXBzdHJlYW0gZ2l2ZXMgLTEgYXMgZHVyYXRpb24uCgoyMDA4LTA5LTMwIDE1OjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQgdGhlIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX3NzcmNfYWN0aXZlKSwgKG9uX3NzcmNfc2RlcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKG9uX3NlbmRlcl90aW1lb3V0KToKCSAgUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0CgkgIHRoZSBzaWduYWxzLgoKMjAwOC0wOS0zMCAxMToxOToxMCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy86IE5ldyBwbHVnaW4gZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIHBsYXliYWNrIHVzaW5nIFdpbmRvd3MgQXVkaW8gU2Vzc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgTmV3IHBsdWdpbiBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgcGxheWJhY2sgdXNpbmcgV2luZG93cyBBdWRpbyBTZXNzaW9uCgkgIEFQSSAoV0FTQVBJKSBhdmFpbGFibGUgd2l0aCBWaXN0YSBhbmQgbmV3ZXIgKCM1MjA5MDEpLgoJICBDb21lcyB3aXRoIGhhcmRjb2RlZCBjYXBzIGFuZCBvYnZpb3VzbHkgbmVlZHMgbG90cyBvZiBsb3ZlLiBIYXZlbid0CgkgIGhhZCB0aW1lIHRvIHdvcmsgb24gdGhpcyBjb2RlIHNpbmNlIGl0IHdhcyB3cml0dGVuLCB3YXMgaW5pdGlhbGx5IGp1c3QKCSAgYSBxdWljayBleHBlcmltZW50IHRvIHBsYXkgYXJvdW5kIHdpdGggdGhpcyBuZXcgQVBJLgoKMjAwOC0wOS0zMCAxMDo0Mzo1NCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwCgkgIChBdWRpb0Zha2VTaW5rLkRvUmVuZGVyU2FtcGxlKToKCSAgRml4IGEgY291cGxlIG9mIHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIHdhcm5pbmdzLgoKMjAwOC0wOS0zMCAxMDoyMjoxMCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBVc2UgdGhlIF9UKCkgbWFjcm8gdG8gc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oIChBdWRpb0Zha2VTaW5rLkF1ZGlvRmFrZVNpbmspOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oIChWaWRlb0Zha2VTaW5rLlZpZGVvRmFrZVNpbmspOgoJICBVc2UgdGhlIF9UKCkgbWFjcm8gdG8gc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MuCgoyMDA4LTA5LTMwIDEwOjE3OjQxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYyAocGx1Z2luX2luaXQpOiBGaXggcmV0dXJuIHR5cGUgb2YgdGhlIEdzdFVSSUhhbmRsZXI6OmdldF90eXBlKCkgaW1wbGVtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmMgKHBsdWdpbl9pbml0KToKCSAgRml4IHJldHVybiB0eXBlIG9mIHRoZSBHc3RVUklIYW5kbGVyOjpnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wOS0yOSAwODoyNjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIEZMQUMgcGFyc2VyLCBiYXNlZCBvbiBHc3RCYXNlUGFyc2UuIEFsc28gYWRkIHRoZSBiaXQgYW5kIGJ5dGUgcmVhZGVyIHRoYXQgd2lsbCBiZSBhZGRlZCB0byBsaWJnc3RiYXNlIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX2Jhc2VfZmluYWxpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX2NoZWNrX2ZyYW1lKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3BhcnNlX2ZyYW1lKSwgKGdzdF9iYXNlX3BhcnNlX2J5dGVwb3NfdG9fdGltZSksCgkgIChnc3RfYmFzZV9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfZXZlbnRmdW5jKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NyY19ldmVudCksIChnc3RfYmFzZV9wYXJzZV9zcmNfZXZlbnRmdW5jKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2lzX3NlZWthYmxlKSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9hbmRfcHVzaF9idWZmZXIpLCAoZ3N0X2Jhc2VfcGFyc2VfZHJhaW4pLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2hhaW4pLCAoZ3N0X2Jhc2VfcGFyc2VfcHVsbF9yYW5nZSksCgkgIChnc3RfYmFzZV9wYXJzZV9sb29wKSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfYWN0aXZhdGUpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYmFzZV9wYXJzZV9zZXRfZHVyYXRpb24pLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X21pbl9mcmFtZV9zaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2dldF9xdWVyeXR5cGVzKSwgKGdzdF9iYXNlX3BhcnNlX3F1ZXJ5KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9zZWVrKSwgKGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2Fwcyk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5jOiAoZ3N0X2JpdF9yZWFkZXJfbmV3KSwKCSAgKGdzdF9iaXRfcmVhZGVyX25ld19mcm9tX2J1ZmZlciksIChnc3RfYml0X3JlYWRlcl9mcmVlKSwKCSAgKGdzdF9iaXRfcmVhZGVyX2luaXQpLCAoZ3N0X2JpdF9yZWFkZXJfaW5pdF9mcm9tX2J1ZmZlciksCgkgIChnc3RfYml0X3JlYWRlcl9zZXRfcG9zKSwgKGdzdF9iaXRfcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X2JpdF9yZWFkZXJfZ2V0X3JlbWFpbmluZyksIChnc3RfYml0X3JlYWRlcl9za2lwKSwKCSAgKGdzdF9iaXRfcmVhZGVyX3NraXBfdG9fYnl0ZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuYzogKEdET1VCTEVfU1dBUF9MRV9CRSksCgkgIChHRkxPQVRfU1dBUF9MRV9CRSksIChnc3RfYnl0ZV9yZWFkZXJfbmV3KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9uZXdfZnJvbV9idWZmZXIpLCAoZ3N0X2J5dGVfcmVhZGVyX2ZyZWUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2luaXQpLCAoZ3N0X2J5dGVfcmVhZGVyX2luaXRfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3NldF9wb3MpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF9yZW1haW5pbmcpLCAoZ3N0X2J5dGVfcmVhZGVyX3NraXApLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50OCksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDgpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDgpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50OCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9iZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzogKGdzdF9mbGFjX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9mbGFjX3BhcnNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2ZsYWNfcGFyc2Vfc3RhcnQpLAoJICAoZ3N0X2ZsYWNfcGFyc2Vfc3RvcCksIChnc3RfZmxhY19wYXJzZV9nZXRfZnJhbWVfc2l6ZSksCgkgIChnc3RfZmxhY19wYXJzZV9jaGVja192YWxpZF9mcmFtZSksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfc3RyZWFtaW5mbyksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfdm9yYmlzY29tbWVudCksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfcGljdHVyZSksIChfdmFsdWVfYXJyYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfaGVhZGVycyksIChnc3RfZmxhY19wYXJzZV9nZW5lcmF0ZV9oZWFkZXJzKSwKCSAgKGdzdF9mbGFjX3BhcnNlX3BhcnNlX2ZyYW1lKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5oOgoJICBBZGQgRkxBQyBwYXJzZXIsIGJhc2VkIG9uIEdzdEJhc2VQYXJzZS4gQWxzbyBhZGQgdGhlIGJpdCBhbmQgYnl0ZSByZWFkZXIKCSAgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGxpYmdzdGJhc2UgbGF0ZXIuCgkgIFRoZSBGTEFDIHBhcnNlciBpcyBjdXJyZW50bHkgbm90IDEwMCUgYnVnIGZyZWUgYW5kIGZhaWxzIHRvIGdldCB0aGUKCSAgY29ycmVjdCBmcmFtZSBzaXplIGZvciBzb21lIGZyYW1lcyBpbiBzb21lIHN0cmVhbXMuCgoyMDA4LTA5LTI3IDAxOjEyOjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC86IEFkZCBpbiBUaXRsZS9DaGFwdGVyIHNlZWtpbmcsIGFuZCBzaW1wbGUgYnV0IGJ1Z2d5IGF1ZGlvIGFuZCBzdWJ0aXRsZSBzdHJlYW0gc2VsZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICBBZGQgaW4gVGl0bGUvQ2hhcHRlciBzZWVraW5nLCBhbmQgc2ltcGxlIGJ1dCBidWdneSBhdWRpbwoJICBhbmQgc3VidGl0bGUgc3RyZWFtIHNlbGVjdGlvbi4KCjIwMDgtMDktMjQgMTc6MjE6NDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBQcmVmZXIga25vd24tZ29vZCBmaWx0ZXJzLCBjcmVhdGUgZGlyZWN0bHkgYnkgR1VJRCBpZiBwb3NzaWJsZSwgZmFsbCBiYWNrIHRvIGNyZWF0aW5nIGhpZ2hlc3QtbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBQcmVmZXIga25vd24tZ29vZCBmaWx0ZXJzLCBjcmVhdGUgZGlyZWN0bHkgYnkgR1VJRCBpZiBwb3NzaWJsZSwKCSAgZmFsbCBiYWNrIHRvIGNyZWF0aW5nIGhpZ2hlc3QtbWVyaXQgZmlsdGVyIG90aGVyd2lzZS4KCSAgRml4ZXMgcGxheWJhY2sgd2l0aCByYW5kb20gZHNob3cgZmlsdGVycyBpbnN0YWxsZWQgaW4gc29tZQoJICBjYXNlcy4KCjIwMDgtMDktMjMgMTg6MTM6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBGaXggc29tZSBkb2NzLgoKMjAwOC0wOS0yMyAxNzozNDo0NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFBhdGNoIGZyb206IEpvc2VwIFRvcnJhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBmcm9tOiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIFVzZSBhIHByZWFsbG9jYXRlZCBidWZmZXIgcGVyIHN0cmVhbSBmb3IgUEVTIHBhY2tldHMgc2VudCBvbiBzcmMgcGFkcy4KCSAgQWRhcHRpdmVseSBhZGp1c3QgYnVmZmVyIHNpemUgYXBwcm9wcmlhdGVseS4KCjIwMDgtMDktMTcgMTQ6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBDbGVhbiB1cCB0aGUgZGVidWcgbG9nZ2luZyBjb2RlIGFuZCAjaWZkZWYgbWVzcyBhIGJpdDogd2hldGhlciBvciBub3QgZ3N0cmVhbWVyIGRlYnVnIG1lc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgQ2xlYW4gdXAgdGhlIGRlYnVnIGxvZ2dpbmcgY29kZSBhbmQgI2lmZGVmIG1lc3MgYSBiaXQ6IHdoZXRoZXIgb3Igbm90CgkgIGdzdHJlYW1lciBkZWJ1ZyBtZXNzYWdlcyBzaG91bGQgYmUgb3V0cHV0IHNob3VsZCBub3QgZGVwZW5kIG9uIGFuCgkgIGVsZW1lbnQgcHJvcGVydHk7IGFsc28sIEdTVF9FTEVNRU5UX0VSUk9SIHdpbGwgbGVhdmUgYSBsaW5lIGluIHRoZSBsb2cKCSAgYWxyZWFkeSwgc28gbWVyZ2UgdGhlIG1vcmUgdXNlZnVsIGRlYnVnIGxvZyBtZXNzYWdlcyB3aXRoIHRoZSBsZXNzIHVzZWZ1bAoJICBlcnJvciBkZWJ1ZyBzdHJpbmdzLgoKMjAwOC0wOS0xNyAxNDoyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IERvbid0IHBvc3QgTElCUkFSWV9JTklUIGVycm9ycyB3aGVyZSB3ZSBzaG91bGQgYmUgcG9zdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIERvbid0IHBvc3QgTElCUkFSWV9JTklUIGVycm9ycyB3aGVyZSB3ZSBzaG91bGQgYmUgcG9zdGluZwoJICBSRVNPVVJDRSBPUEVOX1JFQUQgZXJyb3JzLiBGaXhlcyAjNTUyNTA2LgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOS0xNyAwOTowNjo1NyArMDAwMCAgTWljaGFlbCBLcnVma3kgPG1rcnVma3lAbGludXh0di5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgYWRhcHRlcl9uYW1lIGZvciBidXMgbWVzc2FnZSBpbiBBVFNDIGNhc2UuIEZpeGVzICM1NTI1MzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWljaGFlbCBLcnVma3kKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgYWRhcHRlcl9uYW1lIGZvciBidXMgbWVzc2FnZSBpbiBBVFNDIGNhc2UuIEZpeGVzICM1NTI1MzYuCgoyMDA4LTA5LTE1IDA5OjM5OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6IEhlbHAgZ3RrLWRvYyB0byBwYXJzZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBIZWxwIGd0ay1kb2MgdG8gcGFyc2UgdGhpcyBjb3JyZWN0bHkuCgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZS4KCjIwMDgtMDktMTUgMDk6MzQ6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBPbmx5IGJ1aWx0IHNjYWxldGVtcG8gZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE9ubHkgYnVpbHQgc2NhbGV0ZW1wbyBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrLgoKMjAwOC0wOS0xMyAwMTozNzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldCBzZWVuIGFuIFNSIHBhY2tldC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQKCSAgc2VlbiBhbiBTUiBwYWNrZXQuIEF2b2lkcyBsYXJnZSB0cy1vZmZzZXRzIGluIHNvbWUgY2FzZXMuCgoyMDA4LTA5LTEwIDIzOjE1OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogTWFqb3IgcmV3cml0ZSBvZiBkc2hvd2RlY3dyYXBwZXIuIENvbnZlcnRzIGNvZGUgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBkc2hvd2RlY3dyYXBwZXIuIENvbnZlcnRzIGNvZGUgdG8KCSAgQysrLCBtb3ZlcyB0byBkaXJlY3QgdXNlIG9mIERpcmVjdFNob3cgYmFzZSBjbGFzc2VzLAoJICBtYWtlIGEgbG90IG9mIGNvZGUgY2xlYXJlciwgc2ltcGxpZnksIGV0Yy4KCSAgRml4IGRlY29kZSBvZiBNUDMgb24gVmlzdGEgYnkgd29ya2luZyBhcm91bmQgYW4gYXBwYXJlbnQKCSAgYnVnIGluIHRoZSBkZWNvZGVyLgoKMjAwOC0wOS0xMCAxMjowNTozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmMgKGdzdF9rc19jbG9ja193b3JrZXJfdGhyZWFkX2Z1bmMsIGdzdF9rc19jbG9ja19zdGFydCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmMgKGdzdF9rc19jbG9ja193b3JrZXJfdGhyZWFkX2Z1bmMsCgkgIGdzdF9rc19jbG9ja19zdGFydCk6CgkgIFN5bmNocm9uaXplIEtTIGNsb2NrIGFzIGEgc2luZ2xlLXNob3Qgb3BlcmF0aW9uIGZvciBub3csIHRoZXJlJ3Mgbm90CgkgIG11Y2ggcG9pbnQgaW4gZG9pbmcgaXQgcGVyaW9kaWNhbGx5IHVudGlsIHdlJ3JlIGFjdHVhbGx5IHVzaW5nIHRoZQoJICBLUyB0aW1lc3RhbXBzIGZvciBhbnl0aGluZyBlbHNlIHRoYW4ganVzdCBkaXNjYXJkaW5nIG9sZCBmcmFtZXMuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoZ3N0X2tzX3ZpZGVvX3NyY19vcGVuX2RldmljZSk6CgkgIFByb3ZpZGUgdGhlIEdzdENsb2NrIHdoZW4gb3BlbmluZyB0aGUgZGV2aWNlIGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUuCgoyMDA4LTA5LTA5IDIzOjU4OjAyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoR1NUX0RFQlVHX0lTX0VOQUJMRUQsIGxhc3RfdGltZXN0YW1wLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3ByZXBhcmVfYnVmZmVycywgZ3N0X2tzX3ZpZGVvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKEdTVF9ERUJVR19JU19FTkFCTEVELCBsYXN0X3RpbWVzdGFtcCwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9wcmVwYXJlX2J1ZmZlcnMsIGdzdF9rc192aWRlb19kZXZpY2VfY3JlYXRlX3BpbiwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUsIGdzdF9rc192aWRlb19kZXZpY2VfcmVxdWVzdF9mcmFtZSwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9yZWFkX2ZyYW1lKToKCSAgR3VhcmQgYWdhaW5zdCBjYXB0dXJpbmcgb2xkIGZyYW1lcyBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYXN0CgkgIHRpbWVzdGFtcCBhbmQgYWxzbyB6ZXJvLWZpbGwgdGhlIGJ1ZmZlcnMgYmVmb3JlIGVhY2ggY2FwdHVyZS4KCSAgT25seSBhc3NpZ24gYSBtYXN0ZXIgY2xvY2sgaWYgdGhlIHBpbiBoYXNuJ3QgYWxyZWFkeSBnb3Qgb25lLgoJICBBY3R1YWxseSBmcmVlIGJ1ZmZlcnMgb24gdGhlIHdheSBkb3duIHRvIGF2b2lkIGEgaHVnZSBtZW1vcnkgbGVhaywKCSAgYXMgdGhpcyB3YXMgcHJldmlvdXNseSBkb25lIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gQUNRVUlSRSBkb3dud2FyZHMKCSAgYW5kIHdlIG5vdyBza2lwIHRoYXQgc3RhdGUgb24gdGhlIHdheSBkb3duLgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChERUZBVUxUX0RFVklDRV9QQVRILCBERUZBVUxUX0RFVklDRV9OQU1FLAoJICBERUZBVUxUX0RFVklDRV9JTkRFWCwgS1NfV09SS0VSX0xPQ0ssIEtTX1dPUktFUl9VTkxPQ0ssCgkgIEtTX1dPUktFUl9XQUlULCBLU19XT1JLRVJfTk9USUZZLCBLU19XT1JLRVJfV0FJVF9GT1JfUkVTVUxULAoJICBLU19XT1JLRVJfTk9USUZZX1JFU1VMVCwgS1NfV09SS0VSX1NUQVRFX1NUQVJUSU5HLAoJICBLU19XT1JLRVJfU1RBVEVfUkVBRFksIEtTX1dPUktFUl9TVEFURV9TVE9QUElORywKCSAgS1NfV09SS0VSX1NUQVRFX0VSUk9SLCBLc1dvcmtlclN0YXRlLCBkZXZpY2VfcGF0aCwgZGV2aWNlX25hbWUsCgkgIGRldmljZV9pbmRleCwgcnVubmluZywgd29ya2VyX3RocmVhZCwgd29ya2VyX2xvY2ssCgkgIHdvcmtlcl9ub3RpZnlfY29uZCwgd29ya2VyX3Jlc3VsdF9jb25kLCB3b3JrZXJfc3RhdGUsCgkgIHdvcmtlcl9wZW5kaW5nX2NhcHMsIHdvcmtlcl9zZXRjYXBzX3Jlc3VsdCwgd29ya2VyX3BlbmRpbmdfcnVuLAoJICB3b3JrZXJfcnVuX3Jlc3VsdCwgZ3N0X2tzX3ZpZGVvX3NyY19yZXNldCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19hcHBseV9kcml2ZXJfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX29wZW5fZGV2aWNlLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2Nsb3NlX2RldmljZSwgZ3N0X2tzX3ZpZGVvX3NyY193b3JrZXJfZnVuYywKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zdGFydF93b3JrZXIsIGdzdF9rc192aWRlb19zcmNfc3RvcF93b3JrZXIsCgkgIGdzdF9rc192aWRlb19zcmNfY2hhbmdlX3N0YXRlLCBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jbG9jaywKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2FwcywgZ3N0X2tzX3ZpZGVvX3NyY190aW1lc3RhbXBfYnVmZmVyLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2NyZWF0ZSk6CgkgIFJlbW92ZSBFTkFCTEVfQ0xPQ0tfREVCVUcgZGVmaW5lLCBpdCdzIEdTVF9MRVZFTF9ERUJVRyBhZnRlciBhbGwuCgkgIEdldCByaWQgb2YgUFJPUF9FTlNMQVZFX0tTQ0xPQ0sgYW5kIGFsd2F5cyBzbGF2ZSB0aGUga3MgY2xvY2sgdG8gdGhlCgkgIEdTdHJlYW1lciBjbG9jaywgaXQgZG9lc24ndCBzZWVtIHRvIGh1cnQgYW5kIG1hdGNoZXMgRGlyZWN0U2hvdydzCgkgIGJlaGF2aW9yLiBBcyBhbiBhZGRlZCBib251cyB3ZSB1c3VhbGx5IGdldCBQcmVzZW50YXRpb25UaW1lIHNldCBmb3IKCSAgZWFjaCBmcmFtZSwgc28gd2UgY2FuIGV4cGFuZCBvbiB0aGlzIGxhdGVyIGZvciBzbWFydGVyIGxhdGVuY3kKCSAgcmVwb3J0aW5nIChieSBsb29raW5nIGF0IHRoZSBkaWZmIGJldHdlZW4gdGhlIHRpbWVzdGFtcCBmcm9tIHRoZQoJICBkcml2ZXIgYW5kIHRoZSB0aW1lIGFjY29yZGluZyB0byB0aGUgR1N0cmVhbWVyIGNsb2NrKS4KCSAgVXNlIGFuIGludGVybmFsIHdvcmtlciB0aHJlYWQgZm9yIG9wZW5pbmcgdGhlIGRldmljZSwgc2V0dGluZyBjYXBzLAoJICBjaGFuZ2luZyBpdHMgc3RhdGUgYW5kIGNsb3NpbmcgaXQuIFRoaXMgd2F5IHdlJ3JlIGEgbG90IG1vcmUKCSAgY29tcGF0aWJsZSB3aXRoIGRyaXZlcnMgdGhhdCByZWx5IG9uIGhhY2tzIHRvIGRvIHZpZGVvLWVmZmVjdHMKCSAgYmV0d2VlbiB0aGUgbG93LWxldmVsIE5UIEFQSSBhbmQgdGhlIGFwcGxpY2F0aW9uLiBJY2suCgkgIFN0YXJ0IHRoZSBrcyBjbG9jayBhbmQgc2V0IHRoZSBwaW4gdG8gS1NTVEFURV9SVU4gb24gdGhlIGZpcnN0CgkgIGNyZWF0ZSgpIHNvIHRoYXQgd2UnbGwgaG9wZWZ1bGx5IGdldCBob2xkIG9mIHRoZSBHU3RyZWFtZXIgY2xvY2sKCSAgZnJvbSB0aGUgdmVyeSBiZWdpbm5pbmcuIFRoaXMgd2F5IHRoZXJlJ3Mgbm8gY2hhbmNlIHRoYXQgdGhlCgkgIHRpbWVzdGFtcHMgd2lsbCBtYWtlIGEgc3VkZGVuIGp1bXAgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtCgkgIHdoZW4gd2UncmUgcnVubmluZyB3aXRoIGEgY2xvY2suCgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5jIChDSEVDS19PUFRJT05TX0ZMQUcsCgkgIGtzX29wdGlvbnNfZmxhZ3NfdG9fc3RyaW5nKToKCSAgUmVvcmRlciB0aGUgZmxhZ3MgdG8gbWF0Y2ggdGhlIGhlYWRlcmZpbGUgb3JkZXIsIGFuZCBtYWtlIHRoZSBzdHJpbmcKCSAgYSBiaXQgbW9yZSBjb21wYWN0LgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19wcm9iZV9maWx0ZXJfZm9yX2NhcHMpOgoJICBBdm9pZCBsZWFraW5nIEtTUFJPUEVSVFlfUElOX0RBVEFSQU5HRVMuCgoyMDA4LTA5LTA5IDE3OjU2OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBqcDJrIHBsdWdpbi4gIEZpeGVzICM1NTA2NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2xhc3NfaW5pdCksIChnc3RfamFzcGVyX2RlY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfamFzcGVyX2RlY19uZWdvdGlhdGUpLCAoZ3N0X2phc3Blcl9kZWNfZ2V0X3BpY3R1cmUpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2hhaW4pLCAoZ3N0X2phc3Blcl9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfamFzcGVyX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBBZGQganAyayBwbHVnaW4uICBGaXhlcyAjNTUwNjU3LgoKMjAwOC0wOS0wOSAxMTo0Nzo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvOiBGaXggY29uZmxpY3RpbmcgcHVibGljIG5hbWVzIGluIG5ldyBtcGVnIGRlbXV4ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3luY19nZXRfdHlwZSksCgkgIChnc3RfZmx1cHNfZGVtdXhfZ2V0X3R5cGUpLCAoZ3N0X2ZsdXBzX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IChnc3RfZmx1dHNfZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZsdXRzX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgRml4IGNvbmZsaWN0aW5nIHB1YmxpYyBuYW1lcyBpbiBuZXcgbXBlZyBkZW11eGVycy4KCSAgRml4ZXMgIzU1MDQ2OAoKMjAwOC0wOS0wOSAwMToxNDoxMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogU3VwcG9ydCBjaHVua3MgaW4gQUlGRiBpbiBhbnkgb3JkZXIgaW4gcHVsbCBtb2RlLCBhbmQgYW55IG9yZGVyIHNvIGxvbmcgYXMgd2UgZ2V0IENPTU0gYmVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIFN1cHBvcnQgY2h1bmtzIGluIEFJRkYgaW4gYW55IG9yZGVyIGluIHB1bGwgbW9kZSwgYW5kIGFueSBvcmRlciBzbwoJICBsb25nIGFzIHdlIGdldCBDT01NIGJlZm9yZSB0aGUgYWN0dWFsIGRhdGEgKFNTTkQpIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgcGxheWJhY2sgb2YgQUlGQyBmaWxlcy4KCjIwMDgtMDktMDggMjA6Mjc6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZXNldCB0aGUgc2VsZWN0b3Igc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfcmVzZXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3Jlc2V0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCB0aGUgc2VsZWN0b3Igc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDgtMDktMDUgMTM6NTI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBUd2VhayBsaXAtc3luYyBjb2RlLCBkb24ndCBzdG9yZSBvdXIgb3duIGNvcHkgb2YgdGhlIHRzLW9mZnNldCBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCBkb24ndCBhZGp1c3Qgc3luYyBpZiB0aGUgY2hhbmdlIGlzIGxlc3MgdGhhbiA0bXNlYy4KCSAgR2V0IHRoZSBSVFAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGRpcmVjdGx5IGZyb20KCSAgdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIG91ciBpbmFjY3VyYXRlIHZlcnNpb24gZnJvbSB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBHX0xJS0VMWSBtYWNyb3MsIHVzZSBnbG9iYWwgZGVmaW5lcyBmb3IgbWF4IHBhY2tldCByZW9yZGVyIGFuZAoJICBkcm9wb3V0cy4KCSAgUmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBjbG9jayBza2V3IGRldGVjdGlvbiB3aGVuIHBhY2tldHMgc2VxbnVtcyBhcmUKCSAgY2hhbmdlZCB1bmV4cGVjdGVkbHkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgR19MSUtFTFkgbWFjcm9zLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBleHRlbmRlZCBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHJlcG9ydCB0aGUgUlRQCgkgIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBmb3IgbGlwLXN5bmMuCgkgIFJlbW92ZSBzZXJ2ZXIgdGltZXN0YW1wIGdhcCBkZXRlY3Rpb24gY29kZSwgdGhlIHNlcnZlciBjYW4gc29tZXRpbWVzCgkgIG1ha2UgYSBodWdlIGdhcCBpbiB0aW1lc3RhbXBzICh0YWxrIHNwdXJ0cywuLi4pIHNlZSAjNTQ5Nzc0LgoJICBEZXRlY3QgdGltZXRhbXAgd2VpcmRuZXNzIGluc3RlYWQgYnkgb2JzZXJ2aW5nIHRoZSBzZW5kZXIvcmVjZWl2ZXIKCSAgdGltZXN0YW1wIHJlbGF0aW9uIGFuZCByZXN5bmMgaWYgaXQgY2hhbmdlcyBtb3JlIHRoYW4gMSBzZWNvbmQuCgkgIEFkZCBtZXRob2QgdG8gcmVwb3J0IGFib3V0IHRoZSBjdXJyZW50IHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbgoJICB3aGljaCBpcyBuZWVkZWQgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc2VuZGVyX3RpbWVvdXQpLCAoY2hlY2tfY29sbGlzaW9uKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLCB0aGUKCSAgaml0dGVyYnVmZmVyIGNhbiBub3cgZG8gYW4gYWNjdXJhdGUgcmVwb3J0aW5nIGFib3V0IHRoaXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBEZWZpbmUgZ2xvYmFsIG1heC1yZW9yZGVyIGFuZCBtYXgtZHJvcG91dCBjb25zdGFudHMgZm9yIHVzZSBpbiB2YXJpb3VzCgkgIHN1YnN5c3RlbXMuCgoyMDA4LTA5LTA1IDExOjA3OjMyICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIERWQiBBZGFwdGVyIG5hbWUgdG8gc3RydWN0dXJlIHNlbnQgb3ZlciBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBEVkIgQWRhcHRlciBuYW1lIHRvIHN0cnVjdHVyZSBzZW50IG92ZXIgYnVzLgoKMjAwOC0wOS0wMyAxNDowMjoyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBtcGVnIGRlbXV4ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtcGVnIGRlbXV4ZXIKCjIwMDgtMDktMDIgMTc6NDM6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4LzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IChnc3RfZmx1dHNfZGVtdXhfZGF0YV9jYik6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA5LTAyIDEyOjA0OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIEZsdWVuZG8gTVBFRyBQUyBhbmQgVFMgZGVtdXhlcnMgdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzIGlzIG5vdyBkdWFsIGxpY2Vuc2VkIE1QTCBhbmQgTEdQTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmg6CgkgIEFkZCBGbHVlbmRvIE1QRUcgUFMgYW5kIFRTIGRlbXV4ZXJzIHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcwoJICBpcyBub3cgZHVhbCBsaWNlbnNlZCBNUEwgYW5kIExHUEwuCgoyMDA4LTA5LTAyIDExOjIzOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG5ld19wYWNrZXRfY2IpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wOS0wMiAwOTo1Njo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZCAnY2EnIHRvIExJTkdVQVMuCgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIG1vcmUgZmlsZXMgZm9yIHRyYW5zbGF0aW9uIGFuZCBtb3JlIGZpbGVzIHdoaWNoIHRvb2xzCgkgIHNob3VsZCBza2lwLgoKMjAwOC0wOS0wMiAwOTo0NjowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfd3JpdGVfdHNfaGVhZGVyKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDktMDEgMTc6NTQ6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3Npbmcgc3ViZGlycyBpbiBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3Npbmcgc3ViZGlycyBpbiBNYWtlZmlsZS5hbQoKMjAwOC0wOS0wMSAxNzo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IEFsbG9jYXRlIGEgZml4ZWQgc2l6ZSBidWZmZXIgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgbWFsbG9jKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfYWFjKToKCSAgQWxsb2NhdGUgYSBmaXhlZCBzaXplIGJ1ZmZlciBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB1c2luZyBtYWxsb2MoKS4KCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF9uZXcpLCAodHNtdXhfZnJlZSksCgkgICh0c211eF9wcm9ncmFtX25ldyksICh0c211eF9wcm9ncmFtX2ZyZWUpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX2ZyZWUpLCAodHNtdXhfc3RyZWFtX2NvbnN1bWUpLAoJICAodHNtdXhfc3RyZWFtX2FkZF9kYXRhKToKCSAgVXNlIEdTbGljZS4KCjIwMDgtMDktMDEgMTc6NDc6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRzQgdmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRzQgdmlkZW8uCgoyMDA4LTA5LTAxIDE3OjQxOjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWd0c211eC90c211eC86IEZpeCBidWlsZCBvZiBtcGVndHNtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEZpeCBidWlsZCBvZiBtcGVndHNtdXguCgoyMDA4LTA5LTAxIDE2OjM4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgRmx1ZW5kbyBNUEVHLVRTIG11eGVyIGFuZCBsaWJ0c211eCB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMgaXMgcmVuYW1lZCB0byBtcGVndHNtdXggdG8gcHJldmVudCBjb25mbGljdHMuIEFsc28gYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9iYXNlX2luaXQpLAoJICAobXBlZ3RzbXV4X2NsYXNzX2luaXQpLCAobXBlZ3RzbXV4X2luaXQpLCAobXBlZ3RzbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X21wZWd0c211eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21wZWd0c211eF9nZXRfcHJvcGVydHkpLAoJICAocmVsZWFzZV9idWZmZXJfY2IpLCAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pLAoJICAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW1zKSwgKG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0pLAoJICAobXBlZ3RzbXV4X2NvbGxlY3RlZCksIChtcGVndHNtdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKG1wZWd0c211eF9yZWxlYXNlX3BhZCksIChuZXdfcGFja2V0X2NiKSwKCSAgKG1wZWd0c2RlbXV4X3ByZXBhcmVfc3JjcGFkKSwgKG1wZWd0c211eF9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IChtcGVndHNtdXhfcHJlcGFyZV9hYWMpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5oOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzogKG1wZWd0c211eF9wcmVwYXJlX2gyNjQpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfbmV3KSwgKHRzbXV4X3NldF93cml0ZV9mdW5jKSwKCSAgKHRzbXV4X3NldF9wYXRfZnJlcXVlbmN5KSwgKHRzbXV4X2dldF9wYXRfZnJlcXVlbmN5KSwgKHRzbXV4X2ZyZWUpLAoJICAodHNtdXhfcHJvZ3JhbV9uZXcpLCAodHNtdXhfc2V0X3BtdF9mcmVxdWVuY3kpLAoJICAodHNtdXhfZ2V0X3BtdF9mcmVxdWVuY3kpLCAodHNtdXhfcHJvZ3JhbV9hZGRfc3RyZWFtKSwKCSAgKHRzbXV4X3Byb2dyYW1fc2V0X3Bjcl9zdHJlYW0pLCAodHNtdXhfZ2V0X25ld19waWQpLAoJICAodHNtdXhfY3JlYXRlX3N0cmVhbSksICh0c211eF9maW5kX3N0cmVhbSksICh0c211eF9wYWNrZXRfb3V0KSwKCSAgKHRzbXV4X3dyaXRlX2FkYXB0YXRpb25fZmllbGQpLCAodHNtdXhfd3JpdGVfdHNfaGVhZGVyKSwKCSAgKHRzbXV4X3dyaXRlX3N0cmVhbV9wYWNrZXQpLCAodHNtdXhfcHJvZ3JhbV9mcmVlKSwKCSAgKHRzbXV4X3dyaXRlX3NlY3Rpb24pLCAodHNtdXhfd3JpdGVfc2VjdGlvbl9oZHIpLAoJICAodHNtdXhfd3JpdGVfcGF0KSwgKHRzbXV4X3dyaXRlX3BtdCk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfcGlkKSwgKHRzbXV4X3N0cmVhbV9mcmVlKSwKCSAgKHRzbXV4X3N0cmVhbV9zZXRfYnVmZmVyX3JlbGVhc2VfZnVuYyksICh0c211eF9zdHJlYW1fY29uc3VtZSksCgkgICh0c211eF9zdHJlYW1fYXRfcGVzX3N0YXJ0KSwgKHRzbXV4X3N0cmVhbV9ieXRlc19hdmFpbCksCgkgICh0c211eF9zdHJlYW1fYnl0ZXNfaW5fYnVmZmVyKSwgKHRzbXV4X3N0cmVhbV9nZXRfZGF0YSksCgkgICh0c211eF9zdHJlYW1fcGVzX2hlYWRlcl9sZW5ndGgpLAoJICAodHNtdXhfc3RyZWFtX2ZpbmRfcHRzX2R0c193aXRoaW4pLAoJICAodHNtdXhfc3RyZWFtX3dyaXRlX3Blc19oZWFkZXIpLCAodHNtdXhfc3RyZWFtX2FkZF9kYXRhKSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfZXNfZGVzY3JzKSwgKHRzbXV4X3N0cmVhbV9wY3JfcmVmKSwKCSAgKHRzbXV4X3N0cmVhbV9wY3JfdW5yZWYpLCAodHNtdXhfc3RyZWFtX2lzX3BjciksCgkgICh0c211eF9zdHJlYW1fZ2V0X3B0cyk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBBZGQgRmx1ZW5kbyBNUEVHLVRTIG11eGVyIGFuZCBsaWJ0c211eCB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMKCSAgaXMgcmVuYW1lZCB0byBtcGVndHNtdXggdG8gcHJldmVudCBjb25mbGljdHMuIEFsc28gYWxsIHJlbGV2YW50CgkgIGluZm9ybWF0aW9ucyBhYm91dCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgYXJlIGFkZGVkIHRvIHRoZSB0b3Agb2YKCSAgZXZlcnkgZmlsZSBidXQgYXBhcnQgZnJvbSB0aGF0IG5vIGNoYW5nZXMgY29tcGFyZWQgdG8gdGhlIGxhdGVzdAoJICBTVk4gdmVyc2lvbnMgaGFwcGVuZWQuCgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAwOC0wOS0wMSAxNjowNTo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogTm93IHRoYXQgR3N0QmFzZVRyYW5zZm9ybSBpcyAnZml4ZWQnIC4uLiByZW1vdmUgY3J1ZnQgZnJvbSB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSksICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpOgoJICBOb3cgdGhhdCBHc3RCYXNlVHJhbnNmb3JtIGlzICdmaXhlZCcgLi4uIHJlbW92ZSBjcnVmdCBmcm9tIHRlc3RzLgoJICBBZGQgZGVidWdnaW5nIGZvciBjb2hlcmVuY2UuCgoyMDA4LTA5LTAxIDEzOjIzOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmV1c2UgdGhlIGdldF9saW5rZWRfcGFkcyBmb3IgYm90aCBzb3VyY2UgYW5kIHNpbmtwYWRzIGJlY2F1c2UgdGhleSBhcmUgdGhlIHNhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZXZlbnQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgUmV1c2UgdGhlIGdldF9saW5rZWRfcGFkcyBmb3IgYm90aCBzb3VyY2UgYW5kIHNpbmtwYWRzIGJlY2F1c2UgdGhleSBhcmUKCSAgdGhlIHNhbWUuCgkgIEltcGxlbWVudCBhIGN1c3R1bSBldmVudCBoYW5kbGVyIGFuZCBnZXQgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZAoJICBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRlZmF1bHQgKHNsb3dlcikgaW1wbGVtZW50YXRpb24uCgoyMDA4LTA4LTMxIDE1OjAxOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kCgkgIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4gdmFyaW91cyBjYWxjdWxhdGlvbnM6IHRoZQoJICBncmFudWxlcG9zIGlzIHRoZSBzYW1wbGUgbnVtYmVyIG9mIHRoZSBfbGFzdF8gc2FtcGxlIGluIGEgZnJhbWUsIG5vdAoJICB0aGUgZmlyc3QuCgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOiAoZ3N0X2NlbHRfZW5jX3NpbmtldmVudCksCgkgIChnc3RfY2VsdF9lbmNfZW5jb2RlKSwgKGdzdF9jZWx0X2VuY19jaGFpbiksCgkgIChnc3RfY2VsdF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGluIHRoZSBlbmNvZGVyIGFuZCBkZXRlY3QvaGFuZGxlCgkgIHN0cmVhbSBkaXNjb250aW51aXRpZXMuIEZpeGVzIGJ1ZyAjNTQ3MDc1LgoKMjAwOC0wOC0zMSAxMjoyMDozMyArMDAwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0IGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvdiBKdXZhbm8gPHJvdmp1dmFubyBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6IChwb3Bfc3RhdHVzX2JhciksCgkgIChzdGF0dXNfYmFyX3ByaW50ZiksIChkZW1vX2d1aV9zZWVrX2Jhcl9mb3JtYXQpLCAodXBkYXRlX3Bvc2l0aW9uKSwKCSAgKGRlbW9fZ3VpX3NlZWtfYmFyX2NoYW5nZSksIChkZW1vX2d1aV9kb19jaGFuZ2VfcmF0ZSksCgkgIChkZW1vX2d1aV9kb19zZXRfcmF0ZSksIChkZW1vX2d1aV9kb19yYXRlX2VudGVyZWQpLAoJICAoZGVtb19ndWlfZG9fdG9nZ2xlX2FkdmFuY2VkKSwgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9kaXNhYmxlZCksCgkgIChkZW1vX2d1aV9kb19zZWVrKSwgKGRlbW9fZ3VpX2RvX3BsYXkpLCAoZGVtb19ndWlfZG9fcGF1c2UpLAoJICAoZGVtb19ndWlfZG9fcGxheV9wYXVzZSksIChkZW1vX2d1aV9kb19vcGVuX2ZpbGUpLAoJICAoZGVtb19ndWlfZG9fcGxheWxpc3RfcHJldiksIChkZW1vX2d1aV9kb19wbGF5bGlzdF9uZXh0KSwKCSAgKGRlbW9fZ3VpX2RvX2Fib3V0X2RpYWxvZyksIChkZW1vX2d1aV9kb19xdWl0KSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3N0cmlkZSksIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9vdmVybGFwKSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3NlYXJjaCksIChkZW1vX2d1aV9yYXRlX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19zdGFydGVkKSwgKGRlbW9fZ3VpX3BsYXlpbmdfcGF1c2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfZW5kZWQpLCAoZGVtb19ndWlfcGxheWVyX2Vycm9yZWQpLAoJICAoZGVtb19ndWlfc3RyaWRlX2NoYW5nZWQpLCAoZGVtb19ndWlfb3ZlcmxhcF9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3NlYXJjaF9jaGFuZ2VkKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXJfZnVuYyksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3RfZnVuYyksIChidWlsZF9ndmFsdWVfYXJyYXkpLAoJICAoY3JlYXRlX2FjdGlvbiksIChkZW1vX2d1aV9zaG93X2Z1bmMpLCAoZGVtb19ndWlfc2V0X3BsYXllciksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3QpLCAoZGVtb19ndWlfc2hvdyksIChkZW1vX2d1aV9nZXRfcHJvcGVydHkpLAoJICAoZGVtb19ndWlfc2V0X3Byb3BlcnR5KSwgKGRlbW9fZ3VpX2luaXQpLCAoZGVtb19ndWlfY2xhc3NfaW5pdCksCgkgIChkZW1vX2d1aV9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6IChoYW5kbGVfZXJyb3JfbWVzc2FnZSksCgkgIChoYW5kbGVfcXVpdCksIChtYWluKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6IChub19waXBlbGluZSksCgkgIChkZW1vX3BsYXllcl9ldmVudF9saXN0ZW5lciksIChkZW1vX3BsYXllcl9zdGF0ZV9jaGFuZ2VkX2NiKSwKCSAgKGRlbW9fcGxheWVyX2Vvc19jYiksIChkZW1vX3BsYXllcl9idWlsZF9waXBlbGluZSksIChfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZV9mdW5jKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlX2Z1bmMpLAoJICAoX3NldF9zdGF0ZV9hbmRfd2FpdCksIChkZW1vX3BsYXllcl9sb2FkX3VyaV9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3BsYXlfZnVuYyksIChkZW1vX3BsYXllcl9wYXVzZV9mdW5jKSwgKF9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnlfZnVuYyksIChkZW1vX3BsYXllcl9zZWVrX3RvX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uX2Z1bmMpLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZSksIChkZW1vX3BsYXllcl9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9sb2FkX3VyaSksIChkZW1vX3BsYXllcl9wbGF5KSwgKGRlbW9fcGxheWVyX3BhdXNlKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnkpLCAoZGVtb19wbGF5ZXJfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb24pLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wcm9wZXJ0eSksIChkZW1vX3BsYXllcl9zZXRfcHJvcGVydHkpLAoJICAoZGVtb19wbGF5ZXJfaW5pdCksIChkZW1vX3BsYXllcl9jbGFzc19pbml0KSwKCSAgKGRlbW9fcGxheWVyX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOiAoYmVzdF9vdmVybGFwX29mZnNldF9mbG9hdCksCgkgIChiZXN0X292ZXJsYXBfb2Zmc2V0X3MxNiksIChvdXRwdXRfb3ZlcmxhcF9mbG9hdCksCgkgIChvdXRwdXRfb3ZlcmxhcF9zMTYpLCAoZmlsbF9xdWV1ZSksIChyZWluaXRfYnVmZmVycyksCgkgIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm0pLCAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NjYWxldGVtcG9fc2lua19ldmVudCksIChnc3Rfc2NhbGV0ZW1wb19zZXRfY2FwcyksCgkgIChnc3Rfc2NhbGV0ZW1wb19nZXRfcHJvcGVydHkpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2Jhc2VfaW5pdCksIChnc3Rfc2NhbGV0ZW1wb19jbGFzc19pbml0KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2luaXQpOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0CgkgIGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgcmF0ZSE9MS4wLgoJICBJbnRlZ3JhdGUgaXQgaW50byB0aGUgZG9jcyBhbmQgYWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciBpdC4KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDA4LTA4LTMwIDIwOjIyOjAxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IHNvbWUgbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IHNvbWUgbWVtbGVha3MuCgoyMDA4LTA4LTMwIDA2OjMwOjQyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IEVPUyBoYW5kbGluZy4gIENsZWFuIHVwIGF0IG9iamVjdCBkaXNwb3NhbC4gIEhhbmRsZSA0OjI6MiBhbmQgNDo0OjQgdmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IEVPUyBoYW5kbGluZy4gIENsZWFuIHVwIGF0CgkgIG9iamVjdCBkaXNwb3NhbC4gIEhhbmRsZSA0OjI6MiBhbmQgNDo0OjQgdmlkZW8uCgoyMDA4LTA4LTI5IDE0OjA1OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIEZvcnRlLgoKMjAwOC0wOC0yOSAxMzo1NzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCBGSU9OUkVBRAljaGVjaywgbmVlZGVkIGZvciB0aGUgZGNjcCBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IEZJT05SRUFECWNoZWNrLCBuZWVkZWQgZm9yIHRoZSBkY2NwIHNyYy4KCjIwMDgtMDgtMjkgMTI6MTY6MjcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgdG8gaW5jbHVkZSBsYXRlc3QgcGx1Z2lucywgYWRkIGFwZXhzcmMgZGlyZXRvcnkgdG8gZGlzdGVkIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHRvIGluY2x1ZGUgbGF0ZXN0IHBsdWdpbnMsIGFkZCBhcGV4c3JjIGRpcmV0b3J5IHRvIGRpc3RlZCBmaWxlcwoKMjAwOC0wOC0yOSAxMTozNjo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuKjogQWRkIGNvZGUgZm9yIGNhbGN1bGF0aW5nIHByb3BlciB0aW1lc3RhbXAvZHVyYXRpb24gZm9yIHRoZSB0cmFpbGluZyBlbmNvZGVkIGJ1ZmZlcnMgdGhhdCBmYWFjIHdpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19pbml0KSwgKGdzdF9mYWFjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pLCAoZ3N0X2ZhYWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIEFkZCBjb2RlIGZvciBjYWxjdWxhdGluZyBwcm9wZXIgdGltZXN0YW1wL2R1cmF0aW9uIGZvciB0aGUgdHJhaWxpbmcKCSAgZW5jb2RlZCBidWZmZXJzIHRoYXQgZmFhYyB3aWxsIG91dHB1dCB3aGVuIHJlY2VpdmluZyBFT1MuCgoyMDA4LTA4LTI5IDA4OjU3OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBDRkxBR1MgYW5kIExJQlMgZm9yIHRoZSBhcGV4c2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggQ0ZMQUdTIGFuZCBMSUJTIGZvciB0aGUgYXBleHNpbmsuCgoyMDA4LTA4LTI4IDIyOjAyOjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX21lZGlhX3R5cGVfZnJlZSk6IEF2b2lkIGxlYWtpbmcgdGhlIEtTREFUQVJBTkdFIG1lbWJlciBvZiBlYWNoIEtzVmlkZW9NZWRpYVR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19tZWRpYV90eXBlX2ZyZWUpOgoJICBBdm9pZCBsZWFraW5nIHRoZSBLU0RBVEFSQU5HRSBtZW1iZXIgb2YgZWFjaCBLc1ZpZGVvTWVkaWFUeXBlLgoKMjAwOC0wOC0yOCAxNzoxNjo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZGNjcC86IEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIEZvcnRlIC0gYXBwYXJlbnRseSBpdCBoYXRlcyBjb25jYXRlbmF0aW5nIGEKCSAgbWFjcm8gYXJndW1lbnQgdGhhdCBzdGFydHMgd2l0aCBhbiB1bmRlcnNjb3JlPz8KCjIwMDgtMDgtMjggMTc6MDE6MzAgKzAwMDAgIErDqXLDqW1pZSBCZXJuYXJkIDxncmVtaW1haWxAZ21haWwuY29tPgoKCSAgQWRkIGFwZXhzaW5rIGZvciBhdWRpbyBvdXRwdXQgdG8gQXBwbGUgQWlyUG9ydCBFeHByZXNzIFdpcmVsZXNzIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQyNTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IErDqXLDqW1pZSBCZXJuYXJkIDxncmVtaW1haWwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2FwZXhzaW5rL0xHUEwtMy4wLnR4dDoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogKGdfc3RyZGVsKSwgKGdzdF9hcGV4cmFvcF9zZW5kKSwKCSAgKGdzdF9hcGV4cmFvcF9yZWN2KSwgKGdzdF9hcGV4cmFvcF9uZXcpLCAoZ3N0X2FwZXhyYW9wX2ZyZWUpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF9ob3N0KSwgKGdzdF9hcGV4cmFvcF9nZXRfaG9zdCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3BvcnQpLCAoZ3N0X2FwZXhyYW9wX2dldF9wb3J0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdXNlcmFnZW50KSwgKGdzdF9hcGV4cmFvcF9nZXRfdXNlcmFnZW50KSwKCSAgKGdzdF9hcGV4cmFvcF9jb25uZWN0KSwgKGdzdF9hcGV4cmFvcF9nZXRfamFja3R5cGUpLAoJICAoZ3N0X2FwZXhyYW9wX2dldF9qYWNrc3RhdHVzKSwgKGdzdF9hcGV4cmFvcF9jbG9zZSksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3ZvbHVtZSksIChnc3RfYXBleHJhb3Bfd3JpdGVfYml0cyksCgkgIChnc3RfYXBleHJhb3Bfd3JpdGUpLCAoZ3N0X2FwZXhyYW9wX2ZsdXNoKToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzogKGdzdF9hcGV4c2lua19qYWNrc3RhdHVzX2dldF90eXBlKSwKCSAgKGdzdF9hcGV4c2lua19qYWNrdHlwZV9nZXRfdHlwZSksIChnc3RfYXBleHNpbmtfaW50ZXJmYWNlc19pbml0KSwKCSAgKGdzdF9hcGV4c2lua19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfbGlzdF90cmFja3MpLCAoZ3N0X2FwZXhzaW5rX21peGVyX3NldF92b2x1bWUpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2dldF92b2x1bWUpLCAoZ3N0X2FwZXhzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBleHNpbmtfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcGV4c2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwZXhzaW5rX2ZpbmFsaXNlKSwgKGdzdF9hcGV4c2lua19vcGVuKSwKCSAgKGdzdF9hcGV4c2lua19wcmVwYXJlKSwgKGdzdF9hcGV4c2lua193cml0ZSksCgkgIChnc3RfYXBleHNpbmtfdW5wcmVwYXJlKSwgKGdzdF9hcGV4c2lua19kZWxheSksCgkgIChnc3RfYXBleHNpbmtfcmVzZXQpLCAoZ3N0X2FwZXhzaW5rX2Nsb3NlKToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSAgQWRkIGFwZXhzaW5rIGZvciBhdWRpbyBvdXRwdXQgdG8gQXBwbGUgQWlyUG9ydCBFeHByZXNzIFdpcmVsZXNzCgkgIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQyNTEwLgoKMjAwOC0wOC0yOCAxNToyMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSBmb3IgdGhlIHNlc3Npb24gbWFuYWdlciB0byBpbnN0cnVjdCB1cyB0byBzZW5kIEVPUy4gV2UKCSAgY3VycmVudGx5IHdpbGwgRU9TIHdoZW4gdGhlIHNlc3Npb24gaXMgYSBzZW5kZXIgYW5kIHdoZW4gdGhlIHNlbmRlciBwYXJ0CgkgIGdvZXMgRU9TLiBUaGlzIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IGJlaGF2aW91ciBiZWNhdXNlIHRoZSBzZXNzaW9uCgkgIGNvdWxkIHN0aWxsIHBhcnRpY2lwYXRlIGFzIGEgcmVjZWl2ZXIuCgkgIEZpeGVzICM1NDk0MDkuCgoyMDA4LTA4LTI4IDAxOjAzOjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBSZWFkIHNpemUgb2YgY2h1bmtzIHByZWNlZWRpbmcgdGhlIGF1ZGlvIGRhdGEgd2l0aCB0aGUgY29ycmVjdCBlbmRpYW5uZXNzLiBGaXhlcyBwbGF5YmFjayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgUmVhZCBzaXplIG9mIGNodW5rcyBwcmVjZWVkaW5nIHRoZSBhdWRpbyBkYXRhIHdpdGggdGhlCgkgIGNvcnJlY3QgZW5kaWFubmVzcy4gRml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcy4KCSAgRml4ZXMgIzUzODUwMAoKMjAwOC0wOC0yOCAwMDoyNToyOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGFuIEFJRkYgcGFyc2luZyBlbGVtZW50LCBoZWF2aWx5IGJhc2VkIG9uIHdhdnBhcnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkgIEFkZCBhbiBBSUZGIHBhcnNpbmcgZWxlbWVudCwgaGVhdmlseSBiYXNlZCBvbiB3YXZwYXJzZS4KCjIwMDgtMDgtMjcgMjE6MzM6MDcgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKGdzdF9rc192aWRlb19kZXZpY2VfY2xhc3NfaW5pdCwgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChnc3Rfa3NfdmlkZW9fZGV2aWNlX2NsYXNzX2luaXQsCgkgIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlKToKCSAgRG9uJ3Qgc2V0IHRoZSBwaW4gc3RhdGUgdG8gS1NTVEFURV9SVU4gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgU2tpcCBLU1NUQVRFX0FDUVVJUkUgd2hlbiBjaGFuZ2luZyBwaW4gc3RhdGUgZG93bndhcmRzLgoJICBCZSBuaWNlIGFuZCBzcGVjaWZ5IEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIFJlbW92ZSB1bnVzZWQgZmluYWxpemUgbWV0aG9kLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKERFRkFVTFRfRU5BQkxFX1FVSVJLUywgUFJPUF9FTkFCTEVfUVVJUktTLAoJICBlbmFibGVfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX2NsYXNzX2luaXQsIGdzdF9rc192aWRlb19zcmNfaW5pdCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19maW5hbGl6ZSwgZ3N0X2tzX3ZpZGVvX3NyY19nZXRfcHJvcGVydHksCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X3Byb3BlcnR5LCBnc3Rfa3NfdmlkZW9fc3JjX3Jlc2V0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2FwcGx5X2RyaXZlcl9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfY2hhbmdlX3N0YXRlLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jYXBzKToKCSAgRmlyc3QgZHJpdmVyIHF1aXJrOiB3b3JrIGFyb3VuZCBMb2dpdGVjaCdzIGhvc3RpbGUgZHJpdmVyIHNvZnR3YXJlIHRvCgkgIGltcHJvdmUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS4gU2VlIGNvbW1lbnRzIGZvciBkZXRhaWxzLgoJICBQcm92aWRlIGEgcHJvcGVydHkgdG8gZGlzYWJsZSBkcml2ZXIgcXVpcmtzIChlbmFibGVkIGJ5IGRlZmF1bHQpLgoJICBCZSBuaWNlIGFuZCBzcGVjaWZ5IEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIFJlbW92ZSB1bnVzZWQgZGlzcG9zZSBtZXRob2QuCgkgIFR3ZWFrIGluY2x1ZGUgb3JkZXIuCgoyMDA4LTA4LTI3IDE1OjQ1OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogSW1wbGVtZW50IHRoZSBMQVRFTkNZIHF1ZXJ5IGluIGEgYmV0dGVyIHdheSBieSB0YWtpbmcgdGhlIGxhdGVuY3kgb2YgYWxsIHNpbmtwYWRzIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBJbXBsZW1lbnQgdGhlIExBVEVOQ1kgcXVlcnkgaW4gYSBiZXR0ZXIgd2F5IGJ5IHRha2luZyB0aGUgbGF0ZW5jeSBvZiBhbGwKCSAgc2lua3BhZHMgYW5kIHRha2luZyB0aGUgbWluL21heCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIGEgcmFuZG9tIHBhZC4KCjIwMDgtMDgtMjYgMTI6MzM6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvOiBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlIGEgc21hbGwgc3BlZWR1cCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZQoJICBhIHNtYWxsIHNwZWVkdXAgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhbmRsZSBjaHJvbWEgYW5kIGx1bWEKCSAgZGlmZmVyZW50IHdoaWNoIGlzIG5lZWRlZCBsYXRlci4KCjIwMDgtMDgtMjYgMTE6MTg6MzggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay4qOiBEb24ndCBwdXQgZ2xvYmFscyBvbmx5IHVzZWQgYnkgb25lICcuYycgZmlsZSBpbiBhIGhlYWRlciAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSAgRG9uJ3QgcHV0IGdsb2JhbHMgb25seSB1c2VkIGJ5IG9uZSAnLmMnIGZpbGUgaW4gYSBoZWFkZXIgIQoJICBEZWNsYXJlIGl0IGFzIHN0YXRpYywgZml4ZXMgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOC0yNiAxMToxMzoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogV2hvb3BzLCB0aGF0IHdhcyBvbmUgZml4IHRvbyBtdWNoIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3NlbmRfYnVmZmVyKToKCSAgV2hvb3BzLCB0aGF0IHdhcyBvbmUgZml4IHRvbyBtdWNoIDopCgoyMDA4LTA4LTI2IDExOjA4OjM0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBzaXplX3QncyBzaXplIHZhcmllcyBieSBwbGF0Zm9ybS9hcmNoaXRlY3R1cmUuIFVzZSBnbGliIGNvbnZlbmllbmNlIG1hY3JvIGluc3RlYWQuIEZpeGVzIGJ1aWxkIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9kY2NwX3NlbmRfYnVmZmVyKSwgKGdzdF9kY2NwX3NldF9zb2NrX3dpbmRvd3NpemUpOgoJICBzaXplX3QncyBzaXplIHZhcmllcyBieSBwbGF0Zm9ybS9hcmNoaXRlY3R1cmUuIFVzZSBnbGliIGNvbnZlbmllbmNlCgkgIG1hY3JvIGluc3RlYWQuIEZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCSAgUmVtb3ZlIGVuZGluZyAnXG4nIGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA4LTI2IDExOjAxOjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzogUmVtb3ZlIHVudXNlZCBjb2RlIGFuZCBmaXggaW5jbHVkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6IChnc3RfcGNhcF9wYXJzZV9jbGFzc19pbml0KToKCSAgUmVtb3ZlIHVudXNlZCBjb2RlIGFuZCBmaXggaW5jbHVkZXMuCgoyMDA4LTA4LTI1IDE0OjM3OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nCgkgIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHNlYXJjaC1lZmZvcnQ9MCBjdXJyZW50bHksIGlzIHBhaW5mdWxseQoJICBzbG93IGFuZCBuZWVkcyBzb21lIGNsZWFudXAgbGF0ZXIgd2hlbiBhbGwgc2VhcmNoLWVmZm9ydCBzZXR0aW5ncwoJICBhcmUgaW1wbGVtZW50ZWQgaW4gQy4KCjIwMDgtMDgtMjQgMjI6MDU6NDggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luIGZvciBsb3ctbGF0ZW5jeSB2aWRlbyBjYXB0dXJlIG9uIFdpbmRvd3MgKCM1MTk5MzUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICBOZXcgcGx1Z2luIGZvciBsb3ctbGF0ZW5jeSB2aWRlbyBjYXB0dXJlIG9uIFdpbmRvd3MgKCM1MTk5MzUpLgoJICBVc2VzIEtlcm5lbCBTdHJlYW1pbmcsIHRoZSBsb3dlc3QgbGV2ZWwgQVBJIGZvciBkb2luZyB2aWRlbyBjYXB0dXJlCgkgIG9uIFdpbmRvd3MgKG1vcmUgb3IgbGVzcyBqdXN0IHJhdyBpb2N0bHMpLgoKMjAwOC0wOC0yNCAxNjo1NTo0OCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEFkZGVkIGRvY3VtZW50YXRpb24gYmxvYnMuIFRoYW5rcyB0byBTdGVmYW4gZm9yIG5vdGljaW5nIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBibG9icy4gVGhhbmtzIHRvIFN0ZWZhbiBmb3Igbm90aWNpbmchCgoyMDA4LTA4LTI0IDEzOjUzOjI5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbjogcGNhcHBhcnNlICgjNTIwODk5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBOZXcgcGx1Z2luOiBwY2FwcGFyc2UgKCM1MjA4OTkpLgoKMjAwOC0wOC0yNCAxMzoyMzo0NCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW46IHdpbnNjcmVlbmNhcCAoIzQ2Mzk0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkgIE5ldyBwbHVnaW46IHdpbnNjcmVlbmNhcCAoIzQ2Mzk0MSkuCgoyMDA4LTA4LTIzIDAwOjAxOjM5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzogRmxpcCBtcGVnMS9tcGVnMiBhcnJheXMgZm9yIG1wZWcgYXVkaW8uIERldGVjdCB3aGljaCB0eXBlIHRoZSBhdWRpbyBpcyBjb3JyZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIEZsaXAgbXBlZzEvbXBlZzIgYXJyYXlzIGZvciBtcGVnIGF1ZGlvLiBEZXRlY3Qgd2hpY2ggdHlwZSB0aGUgYXVkaW8KCSAgaXMgY29ycmVjdGx5LCBpbnN0ZWFkIG9mIGJhY2t3YXJkcy4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLCBzaW5jZSB0aGlzCgkgIG1pc3Rha2Ugd2FzIGNvbXBsZXRlbHkgc2VsZi1jb25zaXN0ZW50LgoKMjAwOC0wOC0yMiAwNjoyNzo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDogQWRkLCBidXQgY29tbWVudGVkIG91dCB4bWwvZWxlbWVudC1kYzEzOTQueG1sLiBJdHMgZG9jdW1lbnRlZCwgYnV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCwgYnV0IGNvbW1lbnRlZCBvdXQgeG1sL2VsZW1lbnQtZGMxMzk0LnhtbC4gSXRzIGRvY3VtZW50ZWQsIGJ1dAoJICBJIGNhbid0IGdldCBpdCB0byBiZSBidWlsZC4KCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBGaXggZG9jIHdhcm5pbmdzIGFuZCByZWZvcm1hdCB0aGUgZG9jIGJsb2NrLgoKMjAwOC0wOC0yMSAxMzoyMjozOCArMDAwMCAgTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoKCSAgQWRkIGRjY3AgcGx1Z2luLiBGaXhlcyAjNTQyMzkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL1JFQURNRToKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvUkVBRE1FOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUENsaWVudFNhdmVGaWxlLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BDbGllbnRQbGF5TWljLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUFNlcnZlck1pYy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUFNlcnZlclNlbmRNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BDbGllbnRQbGF5U3BlZXhNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQQ2xpZW50UGxheU1QM1N0cmVhbS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BTZXJ2ZXJTZW5kTVAzU3RyZWFtLmM6CgkgIEFkZCBkY2NwIHBsdWdpbi4gRml4ZXMgIzU0MjM5MC4KCjIwMDgtMDgtMjAgMjI6MjQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBiaXRzIHRoYXQgcHJlc3VtYWJseSB3ZXJlbid0IHN1cHBvc2VkIHRvIGJlIGNvbW1pdHRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgYml0cyB0aGF0IHByZXN1bWFibHkgd2VyZW4ndCBzdXBwb3NlZCB0byBiZSBjb21taXR0ZWQuCgoyMDA4LTA4LTIwIDIxOjQ0OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgbmV3IHdpbmRvd3MgQUNNIGVuY29kZXIgd3JhcHBlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIEFkZCBuZXcgd2luZG93cyBBQ00gZW5jb2RlciB3cmFwcGVyLgoKMjAwOC0wOC0xOCAxMToxMzowNyArMDAwMCAgTWljaGFlbCBLcnVma3kgPG1rcnVma3lAbGludXh0di5vcmc+CgoJICBzeXMvZHZiLzogQWRkIEFUU0MgdHVubmluZyBhbmQgY2hhbm5lbHMuY29uZiBwYXJzaW5nIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWljaGFlbCBLcnVma3kKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBBZGQgQVRTQyB0dW5uaW5nIGFuZCBjaGFubmVscy5jb25mIHBhcnNpbmcgc3VwcG9ydC4KCSAgRml4ZXMgIzUzNzQ1NQoKMjAwOC0wOC0xMyAyMTo1ODowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzLzogSW5pdGlhbGlzZSBDT00gd2l0aCBkZWZhdWx0IGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBJbml0aWFsaXNlIENPTSB3aXRoIGRlZmF1bHQgZmxhZ3MuCgkgIE9ubHkgZGVpbml0aWFsaXNlIGlmIHRoZSBpbml0aWFsaXNhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KCjIwMDgtMDgtMTMgMTQ6MzE6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZSBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZQoJICBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIERvbid0IHRyeSB0byBhZGp1c3QgdGhlIHRzLW9mZnNldCB3aGVuIGl0J3MgdG9vIGJpZyAoPiAzc2Vjb25kcykKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2V0X3NzcmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZCB0byBzZXQgc2Vzc2lvbiBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyksIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZGVkIGRlYnVnZ2luZyBmb3IgdGhlIGNvbGxpc2lvbiBjaGVja3MuCgkgIEFkZCBtZXRob2QgdG8gY2hhbmdlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIFJlc2V0IHRoZSBjbG9jayBiYXNlIHdoZW4gd2UgZGV0ZWN0IGxhcmdlIGp1bXBzIGluIHRoZSBzZXFudW1zLgoKMjAwOC0wOC0xMiAxNjoxMzoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLio6IERvIG5vdCBkZWFsIHdpdGggZHVwbGljYXRlZCBpbnB1dCAodGltZXN0YW1wcykuICBJZiBuZWVkZWQsIGEgZ2VuZXJpYyBlbGVtZW50IGNhbiBkbyBzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3Jlc2V0KSwKCSAgKGdzdF94MjY0X2VuY19jaGFpbiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIERvIG5vdCBkZWFsIHdpdGggZHVwbGljYXRlZCBpbnB1dCAodGltZXN0YW1wcykuICBJZiBuZWVkZWQsCgkgIGEgZ2VuZXJpYyBlbGVtZW50IGNhbiBkbyBzby4KCSAgRG8gbm90IG1hbmlwdWxhdGUgaW5wdXQgdGltZXN0YW1wcyBvbiB0aGUgd2F5IG91dCwKCSAgc2luY2UgdGhhdCBzaGlmdHMgdGhlIHRpbWVsaW5lIGFuZCBBL1Ygc3luYy4KCjIwMDgtMDgtMTIgMTU6NDE6NDggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IEludGVncmF0ZSBuZXcgcHJvcGVydGllcyBpbnRvIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBJbnRlZ3JhdGUgbmV3IHByb3BlcnRpZXMgaW50byBkb2N1bWVudGF0aW9uLgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KToKCSAgRml4IHVwIEFQSSBwcmlvciB0byBldmVudHVhbCBwbHVnaW4gbW92ZS4KCSAgQVBJOiBHc3RYMjY0RW5jOnBhc3MgKHByb3ZpZGVzIG1vcmUgb3B0aW9ucywgYW5kIGNoYW5nZWQgdG8gZW51bSkKCjIwMDgtMDgtMTIgMTQ6MzE6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgbXBsZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgbXBsZXguCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCjIwMDgtMDgtMTIgMTM6MDg6MzkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gYW5kIHVuaXQgdGVzdCBmb3IgeDI2NGVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NGVuYy5jOiAoc2V0dXBfeDI2NGVuYyksCgkgIChjbGVhbnVwX3gyNjRlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoeDI2NGVuY19zdWl0ZSksIChtYWluKToKCSAgQWRkIGRvY3VtZW50YXRpb24gYW5kIHVuaXQgdGVzdCBmb3IgeDI2NGVuYy4KCjIwMDgtMDgtMTEgMTc6MjQ6NTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBBbGxvY2F0ZSBzb21lIGJ1ZmZlcnMgaW4gbW9yZSBhZGFwdGl2ZSBhbmQgZWNvbm9taWNhbCBmYXNoaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgQWxsb2NhdGUgc29tZSBidWZmZXJzIGluIG1vcmUgYWRhcHRpdmUgYW5kIGVjb25vbWljYWwgZmFzaGlvbi4KCjIwMDgtMDgtMTEgMTU6MTY6MTQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igc3VmZmljaWVudGx5IHVwLXRvLWRhdGUgeDI2NCBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHN1ZmZpY2llbnRseSB1cC10by1kYXRlIHgyNjQgQVBJLgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19wYXNzX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgRXhwb3NlIHNvbWUgbW9yZSBwYXJhbWV0ZXJzIG9mIHRoZSB4MjY0IGVuY29kZXIgYXMgcHJvcGVydGllcy4KCjIwMDgtMDgtMTEgMDc6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgVXNlICItIiBpbnN0ZWFkIG9mICJfIiBpbiBwcm9wZXJ0eSBuYW1lcy4gQ2FuIHdlIGNhbGwgdGhlbSBqdXN0CgkgICJkZXZpY2UiIGxpa2UgZXZlcnl3aGVyZSBlbHNlPwoKMjAwOC0wOC0wOCAxNTowNzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IENvZGluZyBzdHlsZSBhbmQgbGF5b3V0OyByZS1vcmRlciBzb21lIGZ1bmN0aW9ucyBpbiBtb3JlIHR5cGljYWwgYW5kIG5hdHVyYWwgZmxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2xvZ19jYWxsYmFjayksCgkgIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLCAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfZmx1c2hfZnJhbWVzKToKCSAgQ29kaW5nIHN0eWxlIGFuZCBsYXlvdXQ7IHJlLW9yZGVyIHNvbWUgZnVuY3Rpb25zIGluIG1vcmUKCSAgdHlwaWNhbCBhbmQgbmF0dXJhbCBmbG93LgoKMjAwOC0wOC0wOCAxNDoxOToxNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC86IFVzZSBHUXVldWUgaW4gc3RlYWQgb2YgY3VzdG9tIHF1ZXVlIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3gyNjRfZW5jX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX3Jlc2V0KSwgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksCgkgIChnc3RfeDI2NF9lbmNfZmx1c2hfZnJhbWVzKSwgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF94MjY0X2VuY19jaGFpbiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwKCSAgKGdzdF94MjY0X2VuY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBVc2UgR1F1ZXVlIGluIHN0ZWFkIG9mIGN1c3RvbSBxdWV1ZSBjb2RlLgoJICBGYWN0b3JpemUgZmx1c2hpbmcgb3V0IGVuY29kZXIgZGVsYXllZCBmcmFtZXMuCgkgIEZhY3Rvcml6ZSBpbml0aWFsaXphdGlvbiBhbmQgc3RhdGUgY2hhbmdlIHJlc2V0LgoKMjAwOC0wOC0wOCAxMDo1NjowMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBVc2UgY29uZmlndXJlLWdlbmVyYXRlZCBfc3RkaW50LmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgIFVzZSBjb25maWd1cmUtZ2VuZXJhdGVkIF9zdGRpbnQuaC4KCjIwMDgtMDgtMDggMTA6MTM6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvOiBVc2UgdmlkZW8gZm9ybWF0IGxpYnJhcnkgYW5kIEdTVF9XUklURV8qX0JFIG1hY3JvcyB3aGVyZSBhcHBsaWNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwgKGdzdF94MjY0X2VuY19sb2dfY2FsbGJhY2spLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgVXNlIHZpZGVvIGZvcm1hdCBsaWJyYXJ5IGFuZCBHU1RfV1JJVEVfKl9CRSBtYWNyb3Mgd2hlcmUgYXBwbGljYWJsZS4KCSAgVXNlIGZpbmFsaXplIGluIHN0ZWFkIG9mIGRpc3Bvc2UuCgkgIFNldCB1cCBkZWJ1ZyBjYXRlZ29yeSBhbmQgbG9nIGNhbGxiYWNrLgoKMjAwOC0wOC0wNyAxNjoyMDozMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3BsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA4LTA3IDE0OjM0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdHdvbGFtZS9nc3R0d29sYW1lLio6IEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoKMjAwOC0wOC0wNyAxMzoxNToyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6IFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoKMjAwOC0wOC0wNyAwOTowOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgQWRkIG5ldyBlbGVtZW50IHRvIGRvY3MuCgkgICogZXh0L2phY2svZ3N0amFjay5oCgkgIEFkZCBtaXNzaW5nIGZpbGUuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIFJlbmFtZSBqYWNrYXVkaW9zcmMgdG8gamFja19hdWRpb19zcmMuCgoyMDA4LTA4LTA3IDA4OjQ3OjQwICswMDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkgIGV4dC9qYWNrLzogQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBGaXhlcyAjNTQ1MTk3LgoKMjAwOC0wOC0wNiAxNTo0OTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHR3b2xhbWUgYW5kIGNlbHQgcGx1Z2lucyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkgIEFkZCB0d29sYW1lIGFuZCBjZWx0IHBsdWdpbnMgdG8gdGhlIGRvY3MuCgoyMDA4LTA4LTA1IDA5OjQyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZSBqaXR0ZXJidWZmZXIgYmVjYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUKCSAgaml0dGVyYnVmZmVyIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG1vZGlmeSB0aGUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIG1ldGhvZCBjb21tZW50IGFib3V0IHJlcXVpcmluZyB3cml0YWJsZSBtZXRhZGF0YSBvbiBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKToKCSAgTWFrZSB0aGUgUlRDUCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVjYXVzZSB3ZSB3YW50IHRvIG1vZGlmeSB0aGUKCSAgbWV0YWRhdGEuCgkgIEZpeGVzICM1NDYzMTIuCgoyMDA4LTA4LTA1IDA5OjA1OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogTW92ZSB0aGUgc2VsZWN0LWFsbCBsb2dpYyBpbnRvIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFkLiBXZSB3YW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldGNhcHMpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2FjdGl2YXRlX3NpbmtwYWQpOgoJICBNb3ZlIHRoZSBzZWxlY3QtYWxsIGxvZ2ljIGludG8gdGhlIGFjdGl2YXRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZAoJICBwYWQuIFdlIHdhbnQgdG8gcmVtZW1iZXIgdGhlIGxhc3QgcGFkIHdpdGggYWN0aXZpdHkgaW4gc2VsZWN0LWFsbCBtb2RlLgoJICBGaXggdGhlIGdldGNhcHMgZnVuY3Rpb24sIHdlIGNhbiBwcm9kdWNlIHRoZSB1bmlvbiBvZiB0aGUgdXBzdHJlYW0gY2FwcwoJICBpbiBzZWxlY3QtYWxsIG1vZGUsIG5vdCB0aGUgaW50ZXJzZWN0aW9uIGxpa2UgcHJveHlfZ2V0Y2FwcygpIGRvZXMuCgoyMDA4LTA4LTA1IDA5OjAwOjUwICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCjIwMDgtMDgtMDUgMDg6NTg6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCk6CgkgIFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgRml4ZXMgIzU0MzQ4MC4KCjIwMDgtMDgtMDIgMTg6NDg6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0IGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgIFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQKCSAgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoKMjAwOC0wOC0wMiAxODozNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYyksIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXhleHQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9tbXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfaW5pdCk6CgkgIEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUKCSAgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MzA6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoKMjAwOC0wOC0wMiAxODoxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdCBjYW4gYmUgdXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdAoJICBjYW4gYmUgdXNlZCBieSBzaW1wbGUgZGVpbnRlcmxhY2luZyBtZXRob2RzLiBUaGV5IG9ubHkgaGF2ZSB0byBwcm92aWRlCgkgIGEgZnVuY3Rpb24gZm9yIGludGVycG9sYXRpbmcgYSBzY2FubGluZSBvciBjb3B5aW5nIGEgc2NhbmxpbmUuCgoyMDA4LTA4LTAyIDE4OjE1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMgb2YgZXZlcnkgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfY2hhaW4pOgoJICBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgb2YgZXZlcnkgYnVmZmVyLgoKMjAwOC0wOC0wMiAxODoxMzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMKCSAgZGVmaW5lZC4KCjIwMDgtMDgtMDIgMTg6MDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KToKCSAgRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wOC0wMiAxODowMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uIHRoYXQgZG91Ymxlcy9oLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yKSwgKGdzdF9mcmFjdGlvbl9kb3VibGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbgoJICB0aGF0IGRvdWJsZXMvaGFsZnMgdGhlIGZyYW1lcmF0ZSBpZiBhbGwgZmllbGRzIHNob3VsZCBiZSBzZW50IG91dC4KCjIwMDgtMDgtMDIgMTc6Mzk6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBUd29MQU1FIE1QMiBlbmNvZGluZyBlbGVtZW50LCBiYXNlZCBvbiB0aGUgTEFNRSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKGdzdF90d29fbGFtZV9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9wYWRkaW5nX2dldF90eXBlKSwgKGdzdF90d29fbGFtZV9lbXBoYXNpc19nZXRfdHlwZSksCgkgIChnc3RfdHdvX2xhbWVfcmVsZWFzZV9tZW1vcnkpLCAoZ3N0X3R3b19sYW1lX2ZpbmFsaXplKSwKCSAgKGdzdF90d29fbGFtZV9iYXNlX2luaXQpLCAoZ3N0X3R3b19sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X3R3b19sYW1lX3NyY19zZXRjYXBzKSwgKGdzdF90d29fbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3R3b19sYW1lX2luaXQpLCAoZ3N0X3R3b19sYW1lX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdHdvX2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF90d29fbGFtZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF90d29fbGFtZV9jaGFpbiksIChnc3RfdHdvX2xhbWVfc2V0dXApLAoJICAoZ3N0X3R3b19sYW1lX2NoYW5nZV9zdGF0ZSksIChnc3RfdHdvX2xhbWVfZ2V0X2RlZmF1bHRfc2V0dGluZ3MpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgoyMDA4LTA4LTAyIDE3OjI5OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgQ0VMVCBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBTcGVleCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9nc3RjZWx0LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiAoZ3N0X2NlbHRfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfY2VsdF9kZWNfY2xhc3NfaW5pdCksIChnc3RfY2VsdF9kZWNfcmVzZXQpLAoJICAoZ3N0X2NlbHRfZGVjX2luaXQpLCAoY2VsdF9kZWNfY29udmVydCksCgkgIChjZWx0X2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKGNlbHRfZGVjX3NpbmtfcXVlcnkpLAoJICAoY2VsdF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGNlbHRfZGVjX3NyY19xdWVyeSksCgkgIChjZWx0X2RlY19zcmNfZXZlbnQpLCAoY2VsdF9kZWNfc2lua19ldmVudCksCgkgIChjZWx0X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpLCAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpLAoJICAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksIChjZWx0X2RlY19jaGFpbiksCgkgIChjZWx0X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6IChnc3RfY2VsdF9lbmNfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfY2VsdF9lbmNfYmFzZV9pbml0KSwgKGdzdF9jZWx0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jZWx0X2VuY19maW5hbGl6ZSksIChnc3RfY2VsdF9lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9jZWx0X2VuY19zaW5rX2dldGNhcHMpLCAoZ3N0X2NlbHRfZW5jX2NvbnZlcnRfc3JjKSwKCSAgKGdzdF9jZWx0X2VuY19jb252ZXJ0X3NpbmspLCAoZ3N0X2NlbHRfZW5jX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9jZWx0X2VuY19nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X2NlbHRfZW5jX3NyY19xdWVyeSksCgkgIChnc3RfY2VsdF9lbmNfc2lua19xdWVyeSksIChnc3RfY2VsdF9lbmNfaW5pdCksCgkgIChnc3RfY2VsdF9lbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksIChnc3RfY2VsdF9lbmNfc2V0dXApLAoJICAoZ3N0X2NlbHRfZW5jX2J1ZmZlcl9mcm9tX2RhdGEpLCAoZ3N0X2NlbHRfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9jZWx0X2VuY19zZXRfaGVhZGVyX29uX2NhcHMpLCAoZ3N0X2NlbHRfZW5jX3NpbmtldmVudCksCgkgIChnc3RfY2VsdF9lbmNfY2hhaW4pLCAoZ3N0X2NlbHRfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfY2VsdF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9jZWx0X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgQWRkIENFTFQgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cyBiYXNlZCBvbiB0aGUgU3BlZXggZWxlbWVudHMuCgoyMDA4LTA4LTAyIDE3OjE2OjM5ICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogVXNlIGdfc2V0ZW52KCkgYW5kIGdfdW5zZXRlbnYoKSBpbnN0ZWFkIG9mIHNldGVudigpIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIG1pbmd3LiBGaXhlcyBidWcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCk6CgkgIFVzZSBnX3NldGVudigpIGFuZCBnX3Vuc2V0ZW52KCkgaW5zdGVhZCBvZiBzZXRlbnYoKSB0byBmaXggY29tcGlsYXRpb24KCSAgd2l0aCBtaW5ndy4gRml4ZXMgYnVnICM1NDUyNDcuCgoyMDA4LTA4LTAxIDIzOjMwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCjIwMDgtMDgtMDEgMTU6Mzk6NDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmUgbW92ZWQgcGx1Z2lucyBmcm9tIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG1vdmVkIHBsdWdpbnMgZnJvbSBzcGVjIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuOCA9PT0KCjIwMDgtMDctMzEgMjI6MTU6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC44CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOAoKMjAwOC0wNy0zMSAyMjowMzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDctMjQgMjM6NTM6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9pZC5wbzoKCSAgQWRkIEluZG9uZXNpYW4gdHJhbnNsYXRpb24uCgoyMDA4LTA3LTI0IDAwOjMyOjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSAgU3VwcG9ydCBmb3IgY29tcGlsaW5nIHdpdGggTVNWQzogdXNlIF9NU0NfVkVSIGZvciBkZXRlY3RpbmcgTVNWQyBpbnN0ZWFkCgkgIG9mIE1TQ19WRVIuIE1ha2UgQ2FuUGFja1NhbXBsZXMgdGFrZSB0aGUgdHlwZSBpdCdzIHBhc3NlZC4gQ2hhbmdlIHNjb3BlCgkgIG9mIGEgdmFyaWFibGUgaW4gbG9hZF9pdC5jcHAgdG8gTVNWQydzIHNjb3BpbmcgcnVsZXMuCgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgRml4ZXMgIzU0NDQ1Ny4KCjIwMDgtMDctMjIgMDY6Mjc6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiBGaXggY29tcGlsZXIgd2FybmluZy4gRml4ZXMgIzU0NDA1MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLiBGaXhlcyAjNTQ0MDUwLgoKMjAwOC0wNy0yMSAyMToxMjoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNoZWNrIGZvciBuYXZfcHJpbnQuaCBhbnkgbW9yZSAtIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbGliZHZkbmF2IGRldmVsb3BtZW50IHBhY2thZ2UgaWYgbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjaGVjayBmb3IgbmF2X3ByaW50LmggYW55IG1vcmUgLSBpdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4KCSAgdGhlIGxpYmR2ZG5hdiBkZXZlbG9wbWVudCBwYWNrYWdlIGlmIGxpYmR2ZG5hdiBoZWFkZXJzIGRlcGVuZCBvbiBpdC4KCSAgRml4ZXM6ICM1NDM4NDYKCjIwMDgtMDctMjEgMTY6MDM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIExpbmsgdGhlIGxhZHNwYSBwbHVnaW4gd2l0aCAtbGRsLiBJdCdzIG5lZWRlZCBmb3IgZGxvcGVuKCkgYW5kIGZyaWVuZHMgZm9yIGxvYWRpbmcgdGhlIGxhZHNwYSBwbHVnaW5zIGFuZCBwcmV2aW91c2x5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgTGluayB0aGUgbGFkc3BhIHBsdWdpbiB3aXRoIC1sZGwuIEl0J3MgbmVlZGVkIGZvciBkbG9wZW4oKSBhbmQgZnJpZW5kcwoJICBmb3IgbG9hZGluZyB0aGUgbGFkc3BhIHBsdWdpbnMgYW5kIHByZXZpb3VzbHkgd2FzIGxpbmtlZCBpbiBieQoJICBnbW9kdWxlLiBGaXhlcyBidWcgIzU0Mzg0OC4KCjIwMDgtMDctMjEgMTA6MTY6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06IFVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBDWFhGTEFHUy4gR1NUX0NGTEFHUyBjYW4gY29udGFpbiBjb21waS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgQ1hYRkxBR1MuIEdTVF9DRkxBR1MKCSAgY2FuIGNvbnRhaW4gY29tcGlsZXIgcGFyYW1ldGVycyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgkgIEZpeGVzIGJ1ZyAjNTQzODYwLgoKMjAwOC0wNy0yMSAxMDoxNToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOiBEaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzLiBGaXhlcyBidWcgIzU0Mzg2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICBEaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzLiBGaXhlcyBidWcgIzU0Mzg2MS4KCjIwMDgtMDctMTkgMTQ6MTI6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMiBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4yIHByZS1yZWxlYXNlCgoyMDA4LTA3LTE5IDE0OjAyOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzdCBhbmQgcmVjdXJzZSBpbnRvIHJlc2luZHZkIHN1YmRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3QgYW5kIHJlY3Vyc2UgaW50byByZXNpbmR2ZCBzdWJkaXIKCjIwMDgtMDctMTkgMTM6NDM6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBjb25maWd1cmUuYWMgcGllY2VzIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIGNvbmZpZ3VyZS5hYyBwaWVjZXMgdG9vCgoyMDA4LTA3LTE5IDEzOjI5OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvLzogQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbHQucG86CgkgIEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUwoJICBmaWxlLgoKMjAwOC0wNy0xOSAwMDo1ODo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBwbHVnaW5zIHRoYXQgaGF2ZSBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIHBsdWdpbnMgdGhhdCBoYXZlIG1vdmVkIHRvIC1nb29kCgoyMDA4LTA3LTE4IDA4OjM0OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneQoJICBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBCdWlsZCB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBvbiBhbGwgYXJjaGl0ZWN0dXJlcyBidXQgc3RpbGwgbWFyayBpdAoJICBhcyBleHBlcmltZW50YWwuCgkgIEJ1aWxkIHRoZSB4ODYgaW5saW5lIGFzc2VtYmx5IG9ubHkgaWYgR0NDIGlubGluZSBhc3NlbWJseSBpcyBzdXBwb3J0ZWQKCSAgYW5kIG9ubHkgb24geDg2IG9yIGFtZDY0LiBGaXhlcyBidWcgIzU0MzI4Ni4KCjIwMDgtMDctMTYgMTQ6MTU6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIGNhc3RzIHRvIGZpeCB0aGUgYnVpbGQgb24gRm9ydGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICBBZGQgc29tZSBjYXN0cyB0byBmaXggdGhlIGJ1aWxkIG9uIEZvcnRlCgoyMDA4LTA3LTE0IDE0OjEzOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBGaXggYnVpbGQgb24geDg2XzY0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIG9uIHg4Nl82NAoKMjAwOC0wNy0xNCAwNzo1MDowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6IFJlbW92ZSB3aGl0ZXNwYWNlIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgUmVtb3ZlIHdoaXRlc3BhY2UgbGluZS4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgTWFrZSBpdCBzbyB0aGF0IGF1ZGlvL3ZpZGVvIHBhZHMgYXJlbid0IGFkZGVkIHRvIHRoZSBiaW4KCSAgdW50aWwgYWZ0ZXIgZGF0YSBmbG93IHN0YXJ0cy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgTW92ZSB2aWRlbyBidWZmZXIgcXVldWUgb3V0c2lkZSByZXNpbmR2ZGJpbgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBDaGVjayB0aGF0IHRoZSBuYXZfY2xvY2tfaWQgZGlkbid0IGFscmVhZHkgZ2V0IHVuc2NoZWR1bGVkLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJlbW92ZSBhc3NlcnQgdGhhdCBzb21ldGltZXMgdHJpZ2dlcnMgZXJyb25lb3VzbHkuCgoyMDA4LTA3LTEzIDEwOjU2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUgYXNzZW1ibHkgb3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIG9ubHkgaGFuZGxlIHRoaXMgYW5kIGNhbGxpbmcgdGhlIEMKCSAgaW1wbGVtZW50YXRpb24gZm9yIHRoZSByZW1haW5pbmcgcGFydCBkb2Vzbid0IHdvcmsgYmVjYXVzZSBpdCBuZWVkcwoJICBwcmV2aW91cyBjYWxjdWxhdGlvbnMuCgoyMDA4LTA3LTEzIDEwOjUyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgVGhlIFNTRSBtZXRob2QgaW4gZmFjdCBvbmx5IG5lZWRzIE1NWEVYVCwgZGVjbGFyZSBpdCBhcyBzdWNoLgoKMjAwOC0wNy0xMSAxNDowNjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZTogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgIElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgVHVybiBnX3ByaW50J3MgaW50byBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgQWRkIGEgYmxvYXRlZCBpbXBsZW1lbnRhdGlvbiBvZiBhIHJlYWxseSBzaW1wbGUgaWRlYTogUmVwbGFjZSB0aGUKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIHRoZSBvdXRwdXQgdmlkZW8gd2l0aCBhIHByZXNjcmliZWQgb25lIHdoZW4KCSAgbmVjZXNzYXJ5LiBUaGVyZSBtdXN0IGJlIGFuIGVhc2llciB3YXkuCgkgIFNwbGl0IHRoZSBkdmRzcHUgb3V0IG9mIHRoZSByZXNpbmR2ZGJpbiBhbmQgcHV0IG91dCB0aGUgc3VicGljdHVyZQoJICBzdHJlYW0gb24gdGhlIHN1YnBpY3R1cmUgcGFkLgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgU2VuZCB2aWRlby1hc3BlY3QgZXZlbnRzIGRvd24gdGhlIHBpcGUgZnJvbSB0aGUgZGVtdXhlci4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgSGFuZGxlIHRpbWVkLXN0aWxscyBzb21ld2hhdCB1c2luZyBnX2NvbmRfdGltZWRfd2FpdCwgd2l0aCBhIEZJWE1FCgkgIHRvIG1ha2UgaXQgdXNlIGNsb2NrLXdhaXRpbmcgbGF0ZXIuCgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgRG9uJ3Qgb3ZlcndyaXRlIHRoZSBsYXN0X3N0b3AgaW4gdGhlIGJhc2VzcmMgc2VnbWVudCBhZnRlciBhIHNlYW1sZXNzCgkgIHNlZWsuCgoyMDA4LTA3LTExIDEzOjU0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBDb21taXQgZmlsZSB0aGF0IG1vYXAgc2VlbXMgdG8gaGF2ZSBtaXNzZWQ6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb21taXQgZmlsZSB0aGF0IG1vYXAgc2VlbXMgdG8gaGF2ZSBtaXNzZWQ6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgoyMDA4LTA3LTEwIDIxOjA2OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbiB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXN0YWcuYzoKCSAgKiBnc3QvYWRkZXIvZ3N0YWRkZXIuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uCgkgIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZWxpbmVzIGFyZSAic2ltcGxlIgoJICBwaXBlbGluZXMuCgoyMDA4LTA3LTEwIDIwOjIzOjA5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQ29udmVydCBleHRlbmRlZCBldmVudCB0ZXh0IHRvIFVURi04LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDb252ZXJ0IGV4dGVuZGVkIGV2ZW50IHRleHQgdG8gVVRGLTguCgoyMDA4LTA3LTEwIDE4OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCBvbmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIERvY3VtZW50IG9uZSBtb3JlLgoKMjAwOC0wNy0xMCAwOToyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOiBGaXggZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvciBwYXJzaW5nLCBvdXQgYnkgMSBpbiBwb3NpdGlvbiBvZiB0ZXh0IGxlbmd0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgIEZpeCBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yIHBhcnNpbmcsIG91dCBieSAxIGluIHBvc2l0aW9uIG9mCgkgIHRleHQgbGVuZ3RoLgoKMjAwOC0wNy0wOSAxMjoxMzowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MsIHRoYXQgZmVzdGl2YWwgbmVlZCB0byBiZSBydW5uaW5nLiBBbHNvIGxvZyBhbiBlcnJvciBpdCBpdCBpcyBub3QuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBBZGQgYSBub3RlIHRvIHRoZSBkb2NzLCB0aGF0IGZlc3RpdmFsIG5lZWQgdG8gYmUgcnVubmluZy4gQWxzbyBsb2cgYW4KCSAgZXJyb3IgaXQgaXQgaXMgbm90LiBGaXhlcyAjNTQxMzI3CgoyMDA4LTA3LTA4IDIxOjIwOjI3ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuKjogQWRkIHZpZXctb25seSBwcm9wZXJ0eSB0byBpZ25vcmUgdGhlIG5hdmlnYXRpb24gZXZlbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIEFkZCB2aWV3LW9ubHkgcHJvcGVydHkgdG8gaWdub3JlIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cwoKMjAwOC0wNy0wOCAxODo1Mzo0MSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6IFJldmVydCBwcmV2aW91cyBwYXRjaCBhcGFydCBmcm9tIHR5cG8gZml4ZXM7IHRoZSBwYXRjaCB3YXMgbm90IGluZGVwZW5kZW50bHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICBSZXZlcnQgcHJldmlvdXMgcGF0Y2ggYXBhcnQgZnJvbSB0eXBvIGZpeGVzOyB0aGUgcGF0Y2ggd2FzIG5vdAoJICBpbmRlcGVuZGVudGx5IHVzZWZ1bC4KCjIwMDgtMDctMDggMTc6NDE6NTUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IEFkZCBBQUMsIEFDMyB0byBoYW5kbGVkIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICBBZGQgQUFDLCBBQzMgdG8gaGFuZGxlZCBjb2RlY3MuCgkgIEZpeCBoYW5kbGluZyBvZiBmbHVzaCBldmVudHMuCgkgIEltcHJvdmUgZGVidWcvZXJyb3Igb3V0cHV0LgoJICBGaXggYSBudW1iZXIgb2YgdHlwb3MgaW4gY29tbWVudHMgYW5kIHZhcmlhYmxlIG5hbWVzLgoKMjAwOC0wNy0wOCAxNToyNDo0NCArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBJbXBsZW1lbnQgU2VydmVyQ3V0VGV4dCBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgSW1wbGVtZW50IFNlcnZlckN1dFRleHQgbWVzc2FnZQoKMjAwOC0wNy0wOCAxNDoyODowOCArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvOiBBZGQgcHJvcGVydHkgZm9yIHNoYXJlZCBkZXNrdG9wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBBZGQgcHJvcGVydHkgZm9yIHNoYXJlZCBkZXNrdG9wCgoyMDA4LTA3LTA4IDE0OjAxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZQoJICBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgoyMDA4LTA3LTA4IDEzOjMxOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3NldHVwKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoKMjAwOC0wNy0wOCAxMzoyODo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0LzogRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6CgkgIEpvbmF0aGFuIFJvc3NlciA8am9uYXRoYW4gZG90IHJvc3NlciBhdCByZCBkb3QgYmJjIGRvdCBjbyBkb3QgdWs+CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOiAobWV0YWRhdGFwYXJzZV9oYW5kbGVfdW5pdF90YWdzKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKG1ldGFkYXRhcGFyc2VfeG1wX2l0ZXJfYWRkX3RvX3RhZ19saXN0KToKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2xvb3ApOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgoyMDA4LTA3LTA3IDEzOjIyOjI2ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggbWVtb3J5IGxlYWsgYnkgdW5yZWZmaW5nIHN0cnVjdHVyZXMgd2hlbiBub3QgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCBtZW1vcnkgbGVhayBieSB1bnJlZmZpbmcgc3RydWN0dXJlcyB3aGVuIG5vdCBuZWVkZWQuCgkgIEZpeGVzICM1MzkyOTIuCgoyMDA4LTA3LTA3IDEwOjQzOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoKMjAwOC0wNy0wNiAyMDo0Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6IE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIHNvbWUKCSAgc3BlZWR1cCBhcyB0aGV5J3JlIHVzZWQgb25seSBvbmNlIGFuZCBuZWVkIHRvIGdldCBtYW55IGxvY2FsIHZhcmlhYmxlcwoJICBwYXNzZWQgYXMgcGFyYW1ldGVyLgoKMjAwOC0wNy0wNSAxOToyMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCjIwMDgtMDctMDUgMTk6MTE6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfbGF0ZW5jeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgRml4IG91dHB1dHRpbmcgb2YgYWxsIGZpZWxkcywgaS5lLiBkb3VibGluZyBvZiB0aGUgZnJhbWVyYXRlLgoKMjAwOC0wNy0wNSAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9maWVsZHNfcmVxdWlyZWQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpciksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfaW5pdCk6CgkgIFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQKCSAgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkZWludGVybGFjaW5nIG1ldGhvZCB2aWEgR09iamVjdAoJICBwcm9wZXJ0aWVzLgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB1c2VkCgkgIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFuZCB0byBhbGxvdyBhZGp1c3RpbmcgdGhlIGRpZmZlcmVudCBzZXR0aW5ncy4KCSAgTW92ZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGludG8KCSAgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoaXMgZGVpbnRlcmxhY2luZwoJICBtZXRob2QgZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzLgoKMjAwOC0wNy0wNSAxMjoyMjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGdyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5CgkgIG9wdGltaXplZCBncmVlZHloIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDctMDQgMTg6NTQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCjIwMDgtMDctMDQgMTg6NTI6MzcgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjaGVja2luZyBvZiBoZWFkZXJzIGZvciB0aGUgT1NTNCBwbHVnaW4gdG8gZmFpbCBpZiBhIHNpbmdsZSBoZWFkZXIgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBBQ19DSEVDS18uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY2hlY2tpbmcgb2YgaGVhZGVycyBmb3IgdGhlIE9TUzQgcGx1Z2luIHRvIGZhaWwgaWYgYSBzaW5nbGUKCSAgaGVhZGVyIGRvZXNuJ3QgZXhpc3QgYWxyZWFkeS4gQUNfQ0hFQ0tfSEVBREVSUyBvbmx5IGZhaWxzIGlmIG5vbmUKCSAgb2YgdGhlIGhlYWRlcnMgaXMgZm91bmQuIEZpeGVzIGJ1ZyAjNTQxNTQzLgoKMjAwOC0wNy0wNCAxNjowNjowOSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIEZpeCBidWlsdCBvZiB0aGUgZmVzdGl2YWwgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMi5kbGwgYW5kIGluY2x1ZGluZyB3aW5zb2NrIGhlYWRlcnMuIEZpeGVzIGJ1ZyAjNTQxNTIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBGaXggYnVpbHQgb2YgdGhlIGZlc3RpdmFsIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIuZGxsCgkgIGFuZCBpbmNsdWRpbmcgd2luc29jayBoZWFkZXJzLiBGaXhlcyBidWcgIzU0MTUyMi4KCjIwMDgtMDctMDMgMTQ6NDQ6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoKMjAwOC0wNy0wMyAxNDozMToxMCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYSBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChwdXNoX3BhY2tldCksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYQoJICBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoKMjAwOC0wNy0wMyAxMzo0NzoxOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCjIwMDgtMDctMDEgMjE6NDA6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLio6IFF1ZXVlIG5ldy1zZWdtZW50IGV2ZW50cyBhbmQgc2VuZCB0aGVtIGFmdGVyIGNhcHMgaGF2ZSBiZWVuIGRldGVybWluZWQgYW5kIHNldCwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBRdWV1ZSBuZXctc2VnbWVudCBldmVudHMgYW5kIHNlbmQgdGhlbSBhZnRlciBjYXBzIGhhdmUgYmVlbgoJICBkZXRlcm1pbmVkIGFuZCBzZXQsIHNvIHRoYXQgdGhlIGRlY29kZXIgd2lsbCBoYXZlIGJlZW4gYXV0by1wbHVnZ2VkLgoKMjAwOC0wNy0wMSAxMToyODoxNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL3F0d3JhcHBlci86IE1ha2UgcXR3cmFwcGVyIGNvbXBpbGUvd29yayBvbiB3aW4zMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IDogTWljaGFlbCBTbWl0aCA8bXNtaXRoIEAgeGlwaCBkb3Qgb3JnPgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfaW5pdCksCgkgIChjbGVhcl9BdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAoZmlsbF9pbmRlc2NfbXAzKSwKCSAgKGZpbGxfaW5kZXNjX2FhYyksIChtYWtlX3NhbXJfbWFnaWNfY29va2llKSwgKHdyaXRlX2xlbiksCgkgIChtYWtlX2FhY19tYWdpY19jb29raWUpLCAob3Blbl9kZWNvZGVyKSwgKHByb2Nlc3NfYnVmZmVyX2NiKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOiAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX2F2YzEpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX21wNHYpLCAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9zdHNkX2J1ZmZlcik6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6IChnZXRfbmFtZV9pbmZvX2Zyb21fY29tcG9uZW50KSwKCSAgKGR1bXBfYXZjY19hdG9tKSwgKGR1bXBfaW1hZ2VfZGVzY3JpcHRpb24pLAoJICAoQWxsb2NhdGVBdWRpb0J1ZmZlckxpc3QpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2Jhc2VfaW5pdCksIChvcGVuX2RlY29kZXIpLAoJICAoZGVjb21wcmVzc0NiKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgIE1ha2UgcXR3cmFwcGVyIGNvbXBpbGUvd29yayBvbiB3aW4zMi4KCSAgTG90cyBvZiBmaXhlcwoJICBGaXhlcyAjNTMxODQwCgoyMDA4LTA2LTMwIDE5OjE5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBSR0IgYnVmZmVycyAtPiBicHAgaXMgaW4gYml0cywgc28gZGl2aWRlIGJ5IDgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIFJHQiBidWZmZXJzIC0+IGJwcCBpcyBpbiBiaXRzLCBzbyBkaXZpZGUgYnkgOAoKMjAwOC0wNi0zMCAwNzo1MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAodG9tc21vY29tcF9pbml0KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpLCAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgVXNlICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCjIwMDgtMDYtMjkgMTA6NTY6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkKCSAgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vuc2VkIHRvIExHUEwuIFVzZSBtZW1jcHkoKSBpbnN0ZWFkCgkgIG9mIHRoZSBzcGVlZHkgbWVtY3B5IGV2ZXJ5d2hlcmUgaW5zdGVhZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZW1vdmUgbWFueSB1bnVzZWQgZGVjbGFyYXRpb25zLgoKMjAwOC0wNi0yOCAyMDo1MTozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLio6IEV4cG9zZSB0aGUgYWRkaXRpb25hbCBNUEVHIEhEVFYgZm9ybWF0IHByb2ZpbGVzIGF2YWlsYWJsZSBpbiBsYXRlc3QgbWpwZWd0b29scyB2ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmhoOgoJICBFeHBvc2UgdGhlIGFkZGl0aW9uYWwgTVBFRyBIRFRWIGZvcm1hdCBwcm9maWxlcyBhdmFpbGFibGUgaW4gbGF0ZXN0CgkgIG1qcGVndG9vbHMgdmVyc2lvbi4KCjIwMDgtMDYtMjggMTg6MTM6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgoyMDA4LTA2LTI4IDE4OjEwOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzCgkgIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG1ldGhvZC4gSW5zdGVhZCBpbXBsZW1lbnQgZGVpbnRlcmxhY2VfZnJhbWUKCSAgZnVuY3Rpb24gYnkgdGFraW5nIHRoZSBvbmUgZnJvbSBncmVlZHloLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyk6CgkgIFNtYWxsIGZpeCBmb3IgdGhlIEMgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIERvbid0IHVzZSB0aGUgc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgb25seQoJICB1c2VkIGZvciB0aGlzIG1ldGhvZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBJbnN0ZWFkIGltcGxlbWVudAoJICBkZWludGVybGFjZV9mcmFtZSBmdW5jdGlvbiBhbmQgbWFrZSBpdCBhIGJpdCBtb3JlIGVmZmljaWVudC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBGaXggY29kaW5nIHN0eWxlIGFuZCByZW1vdmUgc2NhbmxpbmVzIGZ1bmN0aW9uIGFzIGl0J3MgdW51c2VkIG5vdy4KCjIwMDgtMDYtMjggMTc6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4KCSAgdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hcmsgdGhlIFNTRSB2ZXJzaW9uIGFzIE1NWEVYVCBhcyBpdCBkb2Vzbid0CgkgIHJlcXVpcmUgYW55IFNTRSBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTI3IDEzOjIyOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIFNldCBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDYtMjYgMTU6NTI6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgoyMDA4LTA2LTI1IDE2OjA1OjA4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wNi0yNCAxNTo0ODoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCjIwMDgtMDYtMjQgMTI6MDg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MgbWVtb3J5IGFjY2Vzc2VzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzCgkgIG1lbW9yeSBhY2Nlc3NlcyBhbmQgZml4IHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgbWlzc2luZyByaWdodCBzaGlmdAoJICBvbiBieXRlcyB0byB1bnNldCB0aGUgaGlnaGVzdCBiaXQgb2YgZXZlcnkgYnl0ZS4KCjIwMDgtMDYtMjQgMTA6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFIGluc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRQoJICBpbnN0cnVjdGlvbi4KCjIwMDgtMDYtMjQgMTA6MTI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCjIwMDgtMDYtMjQgMDk6NDA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06IE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpOgoJICBGaXggQyBhbmQgTU1YIGltcGxlbWVudGF0aW9ucyBhIGJpdCBtb3JlLgoKMjAwOC0wNi0yNCAwOToxMDo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBNTVhFWFQgaW1wbGVtZW50YXRpb24uCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGFuZCBkb24ndCByZWFkIG92ZXIgYXJyYXkgYm91bmRhcmllcyBpbiB0aGUgTU1YRVhUCgkgIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgRml4IGEgc21hbGwgcm91bmRpbmcgYnVnIGluIHRoZSBNTVggaW1wbGVtZW50YXRpb24sIHRoZSBNTVgKCSAgaW1wbGVtZW50YXRpb24gZG9lc24ndCBhY3R1YWxseSBuZWVkIE1NWEVYVCBpbnN0cnVjdGlvbnMgc28gZG9uJ3QgbWFyawoJICBpdCBhcyBzdWNoLgoJICBIYW5kbGUgb2RkIHdpZHRocyBpbiBib3RoIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDYtMjEgMjE6MjA6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6IFVzZSB0aGUgcmlnaHQgaTE4biBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIFVzZSB0aGUgcmlnaHQgaTE4biBoZWFkZXIuCgoyMDA4LTA2LTIxIDA5OjA1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlIGFzc2VtYmx5IG9wdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX3NzZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBhcyBTU0UgYXMgaXQgdXNlcyBTU0UgaW5zdHJ1Y3Rpb25zCgkgIGFkZGl0aW9uYWwgdG8gTU1YIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjAgMTY6NTQ6MjggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBGaXggcHJvYmxlbSB3aGVuIGVtcHR5IHN0cmluZyBpcyBwcm92aWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4IHByb2JsZW0gd2hlbiBlbXB0eSBzdHJpbmcgaXMgcHJvdmlkZWQuCgoyMDA4LTA2LTIwIDE0OjQ4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28gYnV0IHVzZSB0aGUgTU0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vCgkgIGJ1dCB1c2UgdGhlIE1NWEVYVCBvcHRpbWl6ZWQgY29kZSB3aGVuZXZlciBwb3NzaWJsZS4KCjIwMDgtMDYtMjAgMTQ6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycyB3aGVuIGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMKCSAgd2hlbiBmaW5hbGl6aW5nLCBhbGxvY2F0ZSBidWZmZXJzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhbmQKCSAgcHJvcGVybHkgcmV0dXJuIGZsb3cgcmV0dXJucyBmcm9tIGdzdF9wYWRfcHVzaCgpIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbS4KCjIwMDgtMDYtMjAgMTM6NDU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBBZGQgbWlzc2luZyBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIuCgoyMDA4LTA2LTIwIDEzOjI0OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZSBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsIGVuYWJsZWQgb25seQoJICBieSAtLWVuYWJsZS1leHBlcmltZW50YWwuCgoyMDA4LTA2LTIwIDEzOjA3OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy4qOiBTY2hlZHVsZSBOQVYgcGFja2V0cyBhbmQgYWN0aXZhdGUgdGhlbSB3aXRoIGFuIGFzeW5jIGNsb2NrIGNhbGxiYWNrIGF0IHRoZSByaWdodCBtb21lbnQuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgU2NoZWR1bGUgTkFWIHBhY2tldHMgYW5kIGFjdGl2YXRlIHRoZW0gd2l0aCBhbiBhc3luYyBjbG9jayBjYWxsYmFjawoJICBhdCB0aGUgcmlnaHQgbW9tZW50LiBUaGlzIG1ha2VzIGRlbGF5ZWQgbWVudSBoaWdobGlnaHRzIGFwcGVhcgoJICBhdCB0aGUgY29ycmVjdCB0aW1lIGFuZCBmaXhlcyBCYWNrIFRvIFRoZSBGdXR1cmUuCgkgIFdoZW4gb3V0cHV0dGluZyBuZXcgc2VnbWVudCBpbiBkb19zZWVrKCksIGNhbGN1bGF0ZSBvdXIgcG9zaXRpb24KCSAgdmFsdWUgcHJvcGVybHksIHNvIHdlIHJlcG9ydCB0aGUgcmlnaHQgdGltZSB3aGVuIHBvcHBpbmcgaW4gYW5kCgkgIG91dCBvZiB0aGUgbWVudXMuCgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgV2hlbiBoYW5kbGluZyBhIG5vbi1mbHVzaGluZyBzZWVrLCBhY2N1bXVsYXRlIHRoZSBzZWdtZW50LAoJICByYXRoZXIgdGhhbiBoYXZpbmcgZXZlcnkgc2VlayBzdGFydCBmcm9tIDAgYW5kIG1lc3Npbmcgd2l0aCBzeW5jCgoyMDA4LTA2LTE5IDEzOjE4OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBVc2UgQk9JTEVSUExBVEUgbWFjcm8gYW5kIHVwZGF0ZSB0ZXN0IHRvIHRoZSBsYXRlc3QgYXBpIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIFVzZSBCT0lMRVJQTEFURSBtYWNybyBhbmQgdXBkYXRlIHRlc3QgdG8gdGhlIGxhdGVzdCBhcGkgY2hhbmdlcy4KCjIwMDgtMDYtMTkgMTE6MjU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogRG9uJ3QgdXNlIGEgYnVmZmVyIGFmdGVyIHVucmVmZmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IChvbl9uZXdfYnVmZmVyX2Zyb21fc291cmNlKToKCSAgRG9uJ3QgdXNlIGEgYnVmZmVyIGFmdGVyIHVucmVmZmluZyBpdC4KCjIwMDgtMDYtMTggMDc6MDI6NTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzogQWRkIGRlc2NyaXB0aW9uIHRhZyBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIEFkZCBkZXNjcmlwdGlvbiB0YWcgbWFwcGluZy4KCjIwMDgtMDYtMTggMDY6MzE6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xNyAxOTo1MjowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzogUGFyc2UgdGhlIFVSSSBhcmd1bWVudCBpbnRvIHRoZSBkZXZpY2UgbmFtZSBzbyBkdmQ6Ly8vcGF0aC90by9pbWFnZSB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIFBhcnNlIHRoZSBVUkkgYXJndW1lbnQgaW50byB0aGUgZGV2aWNlIG5hbWUgc28gZHZkOi8vL3BhdGgvdG8vaW1hZ2UKCSAgd29ya3MuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEltcGxlbWVudCBhIHRyaXZpYWwgZHVyYXRpb24gcXVlcnkgcmVwb3J0aW5nIHRoZSBjdXJyZW50IFBHQyBsZW5ndGguCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmVuYW1lIHR5cG8gaW4gdGhlIGZ1bmN0aW9uIG5hbWUuCgoyMDA4LTA2LTE3IDExOjAxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBhZ2FpbiB3aGljaCB3YXMgYWNjaWRlbnRseSBlbmFibGVkIHdpdGggbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBkZWludGVybGFjZTIgcGx1Z2luIGFnYWluIHdoaWNoIHdhcyBhY2NpZGVudGx5IGVuYWJsZWQKCSAgd2l0aCBsYXN0IGNvbW1pdC4KCjIwMDgtMDYtMTcgMTA6NTM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIE1ha2UgcmVzaW5kdmQgd29yayB3aXRoIGxpYmR2ZG5hdiA+PSA0LjAuMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBNYWtlIHJlc2luZHZkIHdvcmsgd2l0aCBsaWJkdmRuYXYgPj0gNC4wLjAuCgoyMDA4LTA2LTE3IDAxOjA4OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmR2ZG5hdiB0byBidWlsZCByZXNpbmR2ZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgbGliZHZkbmF2IHRvIGJ1aWxkIHJlc2luZHZkLgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJICAqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgRmlyc3QgY29tbWl0IG9mIERWRC1WaWRlbyBwbGF5YmFjayBjb21wb25lbnQgJ3JzbmR2ZGJpbicKCSAgYW5kIGhlbHBlciBlbGVtZW50cy4KCSAgVXNlIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBmb3Igbm93LCBidXQgZmVlbCBmcmVlIHRvIGdpdmUgaXQgYQoJICB0cnkgdXNpbmcgdGhlIHJlc2luLXBsYXkgc2NyaXB0LgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIEFkZCBzb21lIGV4dHJhIGd1YXJkcyBmb3IgbWFsZm9ybWVkIGV2ZW50cy4KCjIwMDgtMDYtMTcgMDA6Mzc6NDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGRpcmFjIHJlcXVpcmVtZW50IHRvIDAuMTAgZHVlIHRvIGFwaSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgZGlyYWMgcmVxdWlyZW1lbnQgdG8gMC4xMCBkdWUgdG8gYXBpIGNoYW5nZXMuCgoyMDA4LTA2LTE2IDE0OjExOjM2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmMgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmMgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J5dGVzLCBnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6IFVzZQoJICBHX0dVSU5UNjRfRk9STUFULiBBdm9pZCBvdmVyZmxvdyBpbiBnZXRfbWF4X2J5dGVzKCkuCgoyMDA4LTA2LTE2IDEyOjM3OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBNb3ZlIGRvY2Jsb2IgdXB3YXJkcy4gQmFsYW5jZSB0YWdzIGFuZCByZXN0b3JlIGJsYW5rIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE1vdmUgZG9jYmxvYiB1cHdhcmRzLiBCYWxhbmNlIHRhZ3MgYW5kIHJlc3RvcmUgYmxhbmsgbGluZS4KCjIwMDgtMDYtMTYgMTE6NDc6MzQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBGaXggb3V0IG9mIGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRml4IG91dCBvZiBkYXRlIGRvY3MuCgoyMDA4LTA2LTE2IDExOjI5OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgUGF0Y2ggZnJvbTogVmluY2VudCBHZW5pZXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBmcm9tOiBWaW5jZW50IEdlbmlldXgKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHJlZmNvdW50IGlzc3VlcywgZml4ZXMgIzUzODU2MC4KCjIwMDgtMDYtMTYgMDk6MjI6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZSB0aGUgZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgdGhlIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xNiAwNzowMzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgoyMDA4LTA2LTEzIDIyOjQ2OjQzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDCgkgIGFuZAoJICBILjI2NC9BVkMgaW5zaWRlIEZMVi4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfY2hhaW4pLCAoZ3N0X2RzaG93YXVkaW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3dhdWRpb2RlY19zZXR1cF9ncmFwaCk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93dmlkZW9kZWNfY2hhaW4pLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc3JjX2dldGNhcHMpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOiBMb3Qgb2YgcmFuZG9tIGZpeGVzCgkgIHRvIGltcHJvdmUgc3RhYmlsaXR5IChyZWYgY291bnRpbmcsIHNhZmV0eSBjaGVja3MuLi4pCgoyMDA4LTA2LTEzIDE4OjI1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IERpc2FibGUgc2lwcm8gb24gNjRiaXRzLCBpdCBjcmFzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19wcm9iZV9tb2R1bGVzKToKCSAgRGlzYWJsZSBzaXBybyBvbiA2NGJpdHMsIGl0IGNyYXNoZXMuCgoyMDA4LTA2LTEzIDE4OjAzOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IEFkZCByYXZlcnNpb25zIHdlIGNhbiBzdXBwb3J0IG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChjbG9zZV9saWJyYXJ5KSwgKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfcHJvYmVfbW9kdWxlcyksIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksIChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgIEFkZCByYXZlcnNpb25zIHdlIGNhbiBzdXBwb3J0IG9uIHRoZSBjYXBzLgoJICBSZWZhY3RvciB0aGUgbG9hZGluZyBvZiB0aGUgcmVhbCBjb2RlY3MgbGlrZSByZWFsdmlkZW8gc28gdGhhdCB3ZSBjYW4KCSAgaW1wbGVtZW50IHByb2JpbmcuCgkgIFByb2JlIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyBieSB0cnlpbmcgdG8gbG9hZCB0aGUgLnNvIGZpbGVzLCBvbmx5IHJlcG9ydAoJICB0aGUgdmVyc2lvbnMgb24gdGhlIGNhcHMgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgbG9hZC4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0Y2FwcyksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksCgkgIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfcHJvYmVfbW9kdWxlcyksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIENoYW5nZSB0aGUgbG9hZGluZyBvZiB0aGUgbGlicmFyeSBsaWtlIHRoZSBhdWRpbyBkZWNvZGVyLgoJICBQcm9iZSB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgYnkgdHJ5aW5nIHRvIGxvYWQgdGhlIC5zbyBmaWxlcyBhbmQgb25seQoJICByZXBvcnQgdGhlIHZlcnNpb25zIG9uIHRoZSBjYXBzIHRoYXQgd2UgY2FuIGFjdHVhbGx5IGxvYWQuCgoyMDA4LTA2LTEzIDE1OjQ2OjAzICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogSGFuZGxlIGNoYXJhY3RlciBzZXRzIGluIHN0cmluZ3MgY29taW5nIGZyb20gRFZCIFNJIGFjY29yZGluZyB0byB0aGUgRFZCIFNJIHNwZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEhhbmRsZSBjaGFyYWN0ZXIgc2V0cyBpbiBzdHJpbmdzIGNvbWluZyBmcm9tIERWQiBTSSBhY2NvcmRpbmcKCSAgdG8gdGhlIERWQiBTSSBzcGVjLgoKMjAwOC0wNi0xMyAxNDozMzo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vOiBNb3JlIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEyIDE1OjQ3OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkIGJlZWZlZCB1cCBleGFtcGxlIGFwcCBmcm9tIGJ1ZyAjNDEzNDE4LiBJdCBub3cgYWxzbyB1c2VzIGFwcHNpbmsgaW5zdGVhZCBvZiBmYWtlc2luayBmb3IgbW9yZSB1bHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogKG9uX25ld19idWZmZXJfZnJvbV9zb3VyY2UpLAoJICAob25fc291cmNlX21lc3NhZ2UpLCAob25fc2lua19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGQgYmVlZmVkIHVwIGV4YW1wbGUgYXBwIGZyb20gYnVnICM0MTM0MTguIEl0IG5vdyBhbHNvIHVzZXMgYXBwc2luawoJICBpbnN0ZWFkIG9mIGZha2VzaW5rIGZvciBtb3JlIHVsdGltYXRlIGNvb2xuZXNzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY191bmxvY2spLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGJsb2NrIHByb3BlcnR5IHRvIGFsbG93IHB1c2ggYmFzZWQgaW1wbGVtZW50YXRpb24gdG8gYmxvY2sgd2hlbiB3ZQoJICBmaWxsIHVwIHRoZSBhcHBzcmMgcXVldWVzLgoJICBFbWl0IHRoZSBlbm91Z2gtZGF0YSBzaWduYWwgd2hpbGUgcmVsZWFzaW5nIG91ciBsb2NrLgoKMjAwOC0wNi0xMiAxNDo1MDoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTEyIDE0OjIwOjQwICswMDAwICBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZUBnbWFpbC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlciBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NoYWluKToKCSAgRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlcgoJICBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmVyZW5jZSBjb2RlIGFzIHdlbGwuIEZpeGVzICM1Mjg2MTguCgoyMDA4LTA2LTEyIDEzOjUxOjUxICswMDAwICBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZUBnbWFpbC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlciBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NoYWluKToKCSAgRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlcgoJICBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmVyZW5jZSBjb2RlIGFzIHdlbGwuIEZpeGVzICM1Mjg2MTguCgoyMDA4LTA2LTEyIDEzOjA2OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogSW5jbHVkZSBzdGRsaWIuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTA2LTExIDExOjEyOjQ5ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMTE6MTI6MTQgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAwNzo1ODo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6IEluaXRpYWxpemUgd2lsZG1pZGkgb25seSBvbmNlIGluIHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBpbnN0ZWFkIG9mIG9uY2UgZm9yIGV2ZXJ5IGluc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAgU29uaWNhZHZhbmNlMSBhdCBHTUFJTCBkb3QgQ09NCgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgSW5pdGlhbGl6ZSB3aWxkbWlkaSBvbmx5IG9uY2UgaW4gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIGluc3RlYWQKCSAgb2Ygb25jZSBmb3IgZXZlcnkgaW5zdGFuY2UuIFRoZSBzZWNvbmQgYW5kIGZvbGxvd2luZyBjYWxscyB0byB0aGUKCSAgd2lsZG1pZGkgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gd2lsbCBmYWlsLiBGaXhlcyBidWcgIzUyNTYxMy4KCSAgQWxzbyBkb24ndCByZWdpc3RlciB0aGUgZWxlbWVudCBhdCBhbGwgaWYgd2lsZG1pZGkgaW5pdGlhbGl6YXRpb24KCSAgZmFpbHMuCgoyMDA4LTA2LTEwIDEyOjU0OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBhZnRlciBhbGwgcGFkcyBhcmUgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGFmdGVyIGFsbCBwYWRzIGFyZSBhZGRlZC4KCjIwMDgtMDYtMDkgMTc6NTc6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogQWRkIHNpbXBsZSByZXZlcnNlIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpOgoJICBBZGQgc2ltcGxlIHJldmVyc2UgcGxheWJhY2suCgoyMDA4LTA2LTA5IDEyOjA1OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLio6IEZpeCBzZWVraW5nLCB0aW1lc3RhbXBzLCBkdXJhdGlvbiBhbmQgc29tZSBtb3JlLiBGaXhlcyAjNTM2MzA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3RfcmF3X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCksIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2VfY29udmVydCksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSksIChnc3RfcmF3X3BhcnNlX2dldF9mcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICBGaXggc2Vla2luZywgdGltZXN0YW1wcywgZHVyYXRpb24gYW5kIHNvbWUgbW9yZS4gRml4ZXMgIzUzNjMwOS4KCjIwMDgtMDYtMDYgMTY6NTA6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGRlZCAzIG1vcmUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdXNpbmcgYXBwc3JjIGluIHJhbmRvbS1hY2Nlc3MgbW9kZSwgcHVsbC1tb2RlIHN0cmVhbWluZyBhbmQgcHVsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzogKGZlZWRfZGF0YSksIChzZWVrX2RhdGEpLAoJICAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzogKGZlZWRfZGF0YSksIChzZWVrX2RhdGEpLAoJICAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOiAoZmVlZF9kYXRhKSwgKGZvdW5kX3NvdXJjZSksCgkgIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgQWRkZWQgMyBtb3JlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHVzaW5nIGFwcHNyYyBpbiByYW5kb20tYWNjZXNzIG1vZGUsCgkgIHB1bGwtbW9kZSBzdHJlYW1pbmcgYW5kIHB1bGwgbW9kZSBzZWVrYWJsZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19kb19nZXRfc2l6ZSksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1ha2Ugc3RyZWFtLXR5cGUgcHJvcGVydHkgd3JpdGFibGUuCgkgIFVuc2V0IGZsdXNoaW5nIHdoZW4gc3RhcnRpbmcgc28gdGhhdCB3ZSByZXVzZSBhcHBzcmMuCgkgIEluZm9ybSBiYXNlc3JjIGFib3V0IHRoZSBjb25maWd1cmVkIHNpemUuCgkgIEVtaXQgc2Vlay1kYXRhIHNpZ25hbCB3aGVuIHdlIGFyZSBnb2luZyB0byBhIGRpZmZlcmVudCBvZmZzZXQgaW4KCSAgcmFuZG9tLWFjY2VzcyBtb2RlLgoKMjAwOC0wNi0wNiAxNDoxOTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IFVzZSBkZWVwLW5vdGlmeSB1bnRpbCB3ZSBjYW4gZGVwZW5kIG9uIGEgcGxheWJpbjIgd2l0aCBzdXBwb3J0IGZvciB0aGUgc291cmNlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAoZm91bmRfc291cmNlKSwgKG1haW4pOgoJICBVc2UgZGVlcC1ub3RpZnkgdW50aWwgd2UgY2FuIGRlcGVuZCBvbiBhIHBsYXliaW4yIHdpdGggc3VwcG9ydCBmb3IgdGhlCgkgIHNvdXJjZSBwcm9wZXJ0eS4KCjIwMDgtMDYtMDYgMTM6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseSBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkKCSAgc2h1dGRvd24uCgoyMDA4LTA2LTA1IDE2OjM4OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkZWQgYW4gZXhhbXBsZSBvbiBob3cgdG8gdXNlIGFwcHNyYyBpbiBwbGF5YmluIGluIHN0cmVhbWluZyBtb2RlIGZyb20gYW4gbW1hcHBlZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKHJlYWRfZGF0YSksIChzdGFydF9mZWVkKSwKCSAgKHN0b3BfZmVlZCksIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZGVkIGFuIGV4YW1wbGUgb24gaG93IHRvIHVzZSBhcHBzcmMgaW4gcGxheWJpbiBpbiBzdHJlYW1pbmcgbW9kZSBmcm9tCgkgIGFuIG1tYXBwZWQgZmlsZS4KCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IChtYWluKToKCSAgU2V0IHBpcGVsaW5lIHRvIE5VTEwgdG8gZnJlZSBxdWV1ZWQgYnVmZmVycy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKHN0cmVhbV90eXBlX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zcmNfaW5pdCksCgkgIChnc3RfYXBwX3NyY19mbHVzaF9xdWV1ZWQpLCAoZ3N0X2FwcF9zcmNfZGlzcG9zZSksCgkgIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX3VubG9jayksIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19zdG9wKSwgKGdzdF9hcHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9hcHBfc3JjX2NoZWNrX2dldF9yYW5nZSksIChnc3RfYXBwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSksIChnc3RfYXBwX3NyY19zZXRfc3RyZWFtX3R5cGUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3N0cmVhbV90eXBlKSwgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9ieXRlcyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKSwgKGdzdF9hcHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3RfYXBwX3NyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfYXBwX3NyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfYXBwX3NyY191cmlfc2V0X3VyaSksIChnc3RfYXBwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNZWFzdXJlIG1heCBxdWV1ZSBzaXplIGluIGJ5dGVzIGluc3RlYWQuCgkgIEFkZCBzdXBwb3J0IGZvciAzIG1vZGVzIG9mIG9wZXJhdGlvbiwgc3RyZWFtaW5nLCBzZWVrYWJsZSBhbmQKCSAgcmFuZG9tLWFjY2VzcywgbWFraW5nIGJhc2VzcmMgaGFuZGxlIHRoZSBzY2hlZHVsaW5nIG1vZGVzIGZvciBlYWNoLgoJICBBZGQgYXBwc3JjOi8vIHVyaSBoYW5kbGVyIHNvIHRoYXQgYXV0b21hdGljIHBsdWdnaW5nIGNhbiBiZSBkb25lIGZyb20KCSAgcGxheWJpbjIgb3IgdXJpZGVjb2RlYmluLCBmb3IgZXhhbXBsZS4KCSAgQWRkZWQgc3VwcG9ydCBmb3IgY3VzdG9tIHNlZ21lbnQgZm9ybWF0cy4KCSAgQWRkIHN1cHBvcnQgZm9yIHB1c2ggYW5kIHB1bGwgYmFzZWQgb3BlcmF0aW9ucyBmcm9tIHRoZSBhcHBsaWNhdGlvbi4KCSAgRXhwYW5kIHRoZSBtZXRob2RzIHNvIHRoYXQgZXJyb3JzIGNhbiBiZSBkZXRlY3RlZC4KCSAgRmx1c2ggdGhlIHF1ZXVlZCBidWZmZXJzIG9uIHNlZWtzIGFuZCB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEFkZCBzaWduYWxzIHRvIGluZm9ybSB0aGUgYXBwIHRoYXQgYSBzZWVrIG11c3QgaGFwcGVuLgoKMjAwOC0wNi0wNSAxMTowNzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZSBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZQoJICBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5IGFuZCBkaXZpZGUvbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlcgoJICBvZiBjaGFubmVscyB0byBnZXQgdGhlIGNvcnJlY3QgcmVzdWx0LgoKMjAwOC0wNi0wNCAyMToxODo1MyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93dmlkZW9zaW5rLzogRml4IHVwIGNvcHlyaWdodCBub3RpY2Ugb24gbmV3IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBGaXggdXAgY29weXJpZ2h0IG5vdGljZSBvbiBuZXcgcGx1Z2luLgoKMjAwOC0wNi0wNCAxNzowMjozOCArMDAwMCAgSm9uIFRyb3dicmlkZ2UgPHRyb3dAeGltaWFuLmNvbT4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogVXBkYXRlIHByb3BlcnRpZXMgZm9yIHJlY2VudCBkaXJhYyBjaGFuZ2VzLiAgUGF0Y2ggZnJvbSBKb25hdGhhbiBSb3NzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogVXBkYXRlIHByb3BlcnRpZXMgZm9yIHJlY2VudAoJICBkaXJhYyBjaGFuZ2VzLiAgUGF0Y2ggZnJvbSBKb25hdGhhbiBSb3NzZXIuCgoyMDA4LTA2LTA0IDExOjMzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBUcnkgaGFyZGVyIG5vdCB0byBjcmFzaCB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYnV0IGhhdmVuJ3Qgc2V0IHVwIHRoZSBlbmNvZGVyIHlldCAoYXMgbWF5IGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgVHJ5IGhhcmRlciBub3QgdG8gY3Jhc2ggd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGJ1dCBoYXZlbid0IHNldAoJICB1cCB0aGUgZW5jb2RlciB5ZXQgKGFzIG1heSBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlcnJvcnMgb3V0IHdpdGgKCSAgbm90LW5lZ290aWF0ZWQsIGZvciBleGFtcGxlKS4gQWxzbywgYWx3YXlzIHB1c2ggdGhlIEVPUyBldmVudAoJICBkb3duc3RyZWFtLgoKMjAwOC0wNi0wNCAwNjo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIHNpbmsgcGFkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUKCSAgcmVxdWVzdGVkIHNpbmsgcGFkcyB0byBndWFyYW50dWVlIGEgdW5pcXVlIG5hbWUuIEFkZCBhICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0byBHc3RJbnRlcmxlYXZlUGFkIHRvIG1ha2UgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucwoJICB0byByZXRyaWV2ZSB0aGUgY2hhbm5lbCBudW1iZXIgaW4gdGhlIG91dHB1dCBmb3IgZXZlcnkgcGFkLgoJICBVc2UgZ190eXBlX3JlZ2lzdGVyX3N0YXRpY19zaW1wbGUoKSBpbnN0ZWFkIG9mCgkgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMoKSB0byBzYXZlIHNvbWUgcmVsb2NhdGlvbnMuCgoyMDA4LTA2LTAzIDE1OjQxOjA1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBmaXggcGFja2FnZSBuYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggcGFja2FnZSBuYW1lCgoyMDA4LTA2LTAzIDE0OjM1OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVuIGdvaW5nIGZyb20gUEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgIFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZIGFzIHdlIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgRml4ZXMgYnVnICM1MzYyNTguCgoyMDA4LTA2LTAzIDExOjEwOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogUGFyc2UgY29kZWNfZGF0YSBhbmQgdXNlIHRoZSBuYWx1X3NpemVfbGVuZ3RoIGZpZWxkIHRvIGdldCB0aGUgTkFMVSBsZW5ndGggaW4gcGFja2V0aXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfbmFsX2JzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2Vfc2lua19zZXRjYXBzKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIFBhcnNlIGNvZGVjX2RhdGEgYW5kIHVzZSB0aGUgbmFsdV9zaXplX2xlbmd0aCBmaWVsZCB0byBnZXQgdGhlIE5BTFUKCSAgbGVuZ3RoIGluIHBhY2tldGl6ZWQgaDI2NC4KCSAgV2hlbiBxdWV1ZWluZyBhIHBhY2tldGl6ZWQgYnVmZmVyIGluIHJldmVyc2UgbW9kZSwgZG9uJ3QgdW5yZWYgdGhlCgkgIGJ1ZmZlciB0d2ljZS4KCSAgQXZvaWQgYWNjZXNzaW5nIHRoZSBidWZmZXIgVElNRVNUQU1QIGZpZWxkIGFmdGVyIHdlIHB1c2hlZCBpdCBvbgoJICB0aGUgYWRhcHRvci4KCjIwMDgtMDYtMDMgMDk6MDM6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIgdGhlIEdzdEludGVybGVhdmVQYWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIChnc3RfaW50ZXJsZWF2ZV9jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyCgkgIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHR5cGUgZnJvbSBhIHRocmVhZHNhZmUgY29udGV4dC4KCjIwMDgtMDYtMDIgMjE6NTE6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmV2ZXJ0IGFjY2lkZW50YWwgYWRkaXRpb24gaW4gY29uZmlndXJlLmFjLiBTb3JyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBhZGRpdGlvbiBpbiBjb25maWd1cmUuYWMuIFNvcnJ5LgoKMjAwOC0wNi0wMiAxODoyMzo1NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGEgbmV3IHdpbjMyIHZpZGVvc2luay4gVXNlcyB0aGUgRGlyZWN0U2hvdyByZW5kZXJlcnMgZm9yIGhpZ2gtcGVyZm9ybWFuY2UgdmlkZW8gcmVuZGVyaW5nIG9uIHdpbjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvUkVBRE1FOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgQWRkIGEgbmV3IHdpbjMyIHZpZGVvc2luay4gVXNlcyB0aGUgRGlyZWN0U2hvdyByZW5kZXJlcnMgZm9yCgkgIGhpZ2gtcGVyZm9ybWFuY2UgdmlkZW8gcmVuZGVyaW5nIG9uIHdpbjMyLgoJICBDdXJyZW50bHkgb25seSBzdXBwb3J0cyBzb21lIFlVViBmb3JtYXRzLgoJICBSYW5rIFBSSU1BUlksIHNpbmNlIGl0J3MgbXVjaCBtb3JlIHVzZWZ1bCBmb3IgdGhlIGNvbW1vbiBjYXNlcyB0aGF0IHRoZQoJICBkaXJlY3RkcmF3IHNpbmsgKHdoaWNoIG9ubHkgZG9lcyBSR0IpLgoKMjAwOC0wNi0wMiAxODowNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGMvTWFrZWZpbGUuYW06IERpc3QgdGFnLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgRGlzdCB0YWcuaAoKMjAwOC0wNi0wMiAxNzowNjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWx3YXlzIGRyYWluIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXcgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2lua19ldmVudCk6CgkgIEFsd2F5cyBkcmFpbiBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV3IHNlZ21lbnQuCgoyMDA4LTA2LTAyIDEyOjQyOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZQoJICBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgaW5wdXQgYXMgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9mIHRoZSBvdXRwdXQuCgkgIEZpeCBzb21lIGJyb2tlbiBsb2dpYyBhbmQgbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBjb3JyZWN0IGhhbmRsaW5nIG9mIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0wNi0wMiAxMDoxODoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogQWRkIGJhc2ljIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfZGlzcG9zZSksIChjbGVhcl9xdWV1ZWQpLAoJICAoZmx1c2hfcXVldWVkKSwgKGdzdF9mYWFkX2RyYWluKSwgKGdzdF9mYWFkX2RvX3Jhd19zZWVrKSwKCSAgKGdzdF9mYWFkX3NyY19ldmVudCksIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBBZGQgYmFzaWMgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBDbGVhciBkZWNvZGVyIHN0YXRlIGFmdGVyIGRpc2NvbnRzLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgTWFyayBvdXRwdXQgYnVmZmVycyB3aXRoIGEgZGlzY29udCBhZnRlciBhIGRlY29kaW5nIGVycm9yLgoKMjAwOC0wNi0wMiAwNzozNzozMSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogRml4IG1wZWc0dmlkZW9wYXJzZSBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuIEZpeGVzIGJ1ZyAjNTM2MDQyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9oYW5kbGVfdm9zKToKCSAgRml4IG1wZWc0dmlkZW9wYXJzZSBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuIEZpeGVzIGJ1ZyAjNTM2MDQyLgoKMjAwOC0wNS0yOSAxOTo1Njo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCk6CgkgIERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTI5IDE5OjExOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IChtYWluKToKCSAgRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjggMDg6NTM6MDAgKzAwMDAgIE9ua2FyIFNoaW5kZSA8b25rYXJzaGluZGVAZ21haWwuY29tPgoKCSAgc3lzL3ZjZC92Y2RzcmMuYzogQWxsb3cgdGhlIHRyYWNrIHRvIGJlIHNldCBieSB1c2luZyB0aGUgdXJpLiBGaXhlcyAjNTM1MDQzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IDxvbmthcnNoaW5kZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF92Y2RzcmNfdXJpX3NldF91cmkpOgoJICBBbGxvdyB0aGUgdHJhY2sgdG8gYmUgc2V0IGJ5IHVzaW5nIHRoZSB1cmkuIEZpeGVzICM1MzUwNDMuCgoyMDA4LTA1LTI4IDA4OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA1LTI3IDE3OjUzOjU4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEFkZCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB0byBub3QgSSBmcmFtZSBidWZmZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBBZGQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgdG8gbm90IEkgZnJhbWUgYnVmZmVycwoKMjAwOC0wNS0yNyAxNjo0ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBNYWtlIHN1cmUgbm8gc3RhdGUgY2hhbmdlcyBjYW4gaGFwcGVuIHdoZW4gd2UgcmVjb25maWd1cmUuCgoyMDA4LTA1LTI3IDE2OjMyOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBjb3JlIGFuZCBiYXNlIGZvciBuZXcgYXVkaW8gY2xvY2sgcmVzZXQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIGNvcmUgYW5kIGJhc2UgZm9yIG5ldyBhdWRpbyBjbG9jayByZXNldCBtZXRob2QuCgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHRoZSBhdWRpbyBjbG9jay4gU2VlICM1MjE3NjEuCgoyMDA4LTA1LTI2IDE3OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyk6CgkgIEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoKMjAwOC0wNS0yNiAxMDoyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfMjQpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KSwKCSAgKGZvcndhcmRfZXZlbnRfZnVuYyksIChmb3J3YXJkX2V2ZW50KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBpbnRlcmxlYXZlIHVzaW5nIEdzdENvbGxlY3RwYWRzLiBUaGlzIG5ldyB2ZXJzaW9uCgkgIGFsc28gc3VwcG9ydHMgYWxtb3N0IGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgaGFzIGJldHRlciBjYXBzCgkgIG5lZ290aWF0aW9uLiBGaXhlcyBidWcgIzUwNjU5NC4KCSAgQWxzbyB1cGRhdGUgZG9jcyBhbmQgYWRkIHNvbWUgbW9yZSBleGFtcGxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMiksIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksCgkgIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBleHRlbnNpdmUgdW5pdCB0ZXN0cyBmb3IgaW50ZXJsZWF2ZS4KCjIwMDgtMDUtMjYgMTA6MDk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywgd2UgbmVlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLAoJICB3ZSBuZWVkIHRvIGRvIHRoaXMgc28gdGhhdCB3ZSBjYW4gYmV0dGVyIGhhbmRsZSBhIHJlc3RhcnRlZCBzb3VyY2UuCgkgIEZpeCBzb21lIGNvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgVHdlYWsgdGhlIHNrZXcgcmVzeW5jIGRpZmYuCgkgIFVzZSBvdXIgd29ya2luZyBzZXFudW0gY29tcGFyZSBmdW5jdGlvbiBpbiAtYmFzZS4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgaW5zZXJ0IGNvZGUgdG8gbWFrZSBpdCBjbGVhcmVyIGFuZCBtb3JlCgkgIHBlcmZvcm1hbnQgYnkgb25seSByZXRyaWV2aW5nIHRoZSBzZXFudW0gb2YgdGhlIGlucHV0IGJ1ZmZlciBvbmNlIGFuZCBieQoJICBhZGRpbmcgc29tZSBHX0xJS0VMWSBjb21waWxlciBoaW50cy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgZm9yIGR1cGxpY2F0ZSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIEZpeCBhIGNvbW1lbnQsIHdlIGRvbid0IGRvIHNrZXcgY29ycmVjdGlvbiBoZXJlLi4KCjIwMDgtMDUtMjYgMTA6MDA6MjQgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSk6CgkgIFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4KCSAgdGhleSBhcmUgY2hhbmdlZCBvbiBydHBiaW4uCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0yMiAxOTo0Nzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0CgkgIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHBhcmFwcmFwaCBhYm91dCB1c2luZyBhIHF1ZXVlIGFuZCBhdWRpb2NvbnZlcnQgYWZ0ZXIgdGhlIHNvdXJjZQoJICBwYWRzIHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yMiAxODo1NTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQgYW5kIHRoZSBkZWZhdWx0IGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQKCSAgYW5kIHRoZSBkZWZhdWx0IGdldGNhcHMoKSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb3JyZWN0IHJlc3VsdHMgZm9yCgkgIG91ciBzcmMgcGFkcy4KCSAgQ29tcGxldGUgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDUtMjIgMTY6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcyB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogKG9wdF9zaG93X21peGVyX21lc3NhZ2VzKSwgKFdBSVRfVElNRSksCgkgIChzaG93X21peGVyX21lc3NhZ2VzKSwgKHByb2JlX21peGVyX3RyYWNrcyksIChwcm9iZV9wYWQpLAoJICAocHJvYmVfZGV0YWlscyksIChwcm9iZV9lbGVtZW50KSwgKG1haW4pOgoJICBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMKCSAgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhdC4gQWxzbyBhbGxvd3MgdGVzdGluZyBvZgoJICBtaXhlciBjaGFuZ2UgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDgtMDUtMjIgMTU6MTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzNC86IE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzogKGdzdF9vc3M0X21peGVyX29wZW4pOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWUpLAoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZV9ub2ZkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6IChnc3Rfb3NzNF9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlCgkgIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoKMjAwOC0wNS0yMiAxNDowMzowNSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogTW92ZSBzb21lIGNvZGUgYXJvdW5kIHRvIGludGVncmF0ZSB0aGUgc3RhcnRjb2RlIHNlYXJjaGluZyB3aXRoIHRoZSBvdGhlciBiaXRzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiAoZ3N0X21wZWc0dnBhcnNlX3B1c2gpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgTW92ZSBzb21lIGNvZGUgYXJvdW5kIHRvIGludGVncmF0ZSB0aGUgc3RhcnRjb2RlIHNlYXJjaGluZyB3aXRoIHRoZQoJICBvdGhlciBiaXRzIG9mIHBhcnNpbmcsIGF2b2lkIGEgd2hvbGUgYnVuY2ggb2YgcGVla3MuCgkgIEdldCByaWQgb2YgaW52YWxpZCBkYXRhIHRoYXQgc2hvdWxkIG5vdCBoYXBwZW4gYWNjb3JkaW5nIHRvIHRoZSBzcGVjcy4KCSAgRml4ZXMgIzUzMzU1OS4KCjIwMDgtMDUtMjAgMDk6MzY6NTYgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gdG8gZ2V0IGEgbW9yZSBjb3JyZWN0IHNlZWsgYmFyIGluIHRvdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X215dGh0dl9zcmNfaW5pdCksIChnc3RfbXl0aHR2X3NyY19jbGVhciksCgkgIChkb19yZWFkX3JlcXVlc3RfcmVzcG9uc2UpLCAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKSwKCSAgKGdzdF9teXRodHZfc3JjX3N0YXJ0KToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiB0byBnZXQgYSBtb3JlIGNvcnJlY3Qgc2VlayBiYXIgaW4gdG90ZW0uCgkgIERpc2FibGUgcXVlcnkgYW5kIGV2ZW50IGZ1bmN0aW9ucyBhcyB0aGV5IGRvbid0IHdvcmsgYW5kIGRvIHNvbWUKCSAgc21hbGxlciBjbGVhbnVwLgoJICBGaXhlcyBidWcgIzUzMzczNi4KCjIwMDgtMDUtMjAgMDk6MDQ6NDggKzAwMDAgIEJyaWFuIEtvcm9wb2ZmIDxicmlhbmhrQGNzLndhc2hpbmd0b24uZWR1PgoKCSAgZXh0L3NwYy86IEFkZCBzdXBwb3J0IGZvciBzb21lIGVzc2VudGlhbCBmZWF0dXJlcyBsaWtlIHNlZWtpbmcsIHJlYWRpbmcgc29uZyBkdXJhdGlvbiBhbmQgZXh0ZW5kZWQgdGFncy4gRml4ZXMgYnVnICM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gS29yb3BvZmYgPGJyaWFuaGsgYXQgY3MgZG90IHdhc2hpbmd0b24gZG90IGVkdT4KCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeV90eXBlKSwgKGdzdF9zcGNfZGVjX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfZGlzcG9zZSksIChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9zcGNfZHVyYXRpb24pLCAoZ3N0X3NwY19mYWRlb3V0KSwgKGdzdF9zcGNfZGVjX3NyY19ldmVudCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnkpLCAoc3BjX3BsYXkpLCAoc3BjX3NldHVwKToKCSAgKiBleHQvc3BjL2dzdHNwYy5oOgoJICAqIGV4dC9zcGMvdGFnLmM6IChzcGNfdGFnX2lzX2V4dGVuZGVkKSwgKHNwY190YWdfaXNfdGV4dF9mb3JtYXQpLAoJICAoc3BjX3RhZ19pc19wcmVzZW50KSwgKHNwY190YWdfdW5wYWNrX2RhdGUpLCAoc3BjX3RhZ19jbGVhciksCgkgIChzcGNfdGFnX2dldF9pbmZvKSwgKHNwY190YWdfZnJlZSk6CgkgICogZXh0L3NwYy90YWcuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNvbWUgZXNzZW50aWFsIGZlYXR1cmVzIGxpa2Ugc2Vla2luZywgcmVhZGluZyBzb25nCgkgIGR1cmF0aW9uIGFuZCBleHRlbmRlZCB0YWdzLiBGaXhlcyBidWcgIzQ1NDE1MS4KCjIwMDgtMDUtMTkgMTI6MzI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUKCSAgdGhhdCB0aGUgb3JpZ2luYWwgY2hhbm5lbCBwb3NpdGlvbiBpcyBzZXQgb24gdGhlIG91dHB1dC4KCjIwMDgtMDUtMTkgMDc6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbiB0aGUgbW9ubyBvdXRwdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24KCSAgdGhlIG1vbm8gb3V0cHV0IGJ1ZmZlcnMgb3Igc2hvdWxkIGJlIGRyb3BwZWQuCgoyMDA4LTA1LTE4IDEwOjI3OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IE9vcHMgLSBmaXggdGhlIHNwZWxsaW5nIG9mIHRoZSB2YXJpYWJsZSBJIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBPb3BzIC0gZml4IHRoZSBzcGVsbGluZyBvZiB0aGUgdmFyaWFibGUgSSBhZGRlZC4KCjIwMDgtMDUtMTcgMTk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlCgkgIGRvd25zdHJlYW0gd2lsbCBuZXZlciBnZXQgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTA1LTE3IDE0OjA1OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkgcmV0dXJucyBzb21ldGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpOgoJICBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKQoJICByZXR1cm5zIHNvbWV0aGluZywgZXZlbiBpZiB0aGV5J3JlIG5vdCBzZXQgaW4gdGhlIGNhcHMuIFRoaXMgbWFrZXMKCSAgc3VyZSB0aGF0IHRoZSBvdXRwdXQgY2hhbm5lbHMgY2FuIGJlIGludGVybGVhdmVkIGFnYWluIGNvcnJlY3RseQoJICBpbiB0aGUgbW9uby9zdGVyZW8gY2FzZXMgdG9vLgoJICBEb24ndCBhc2sgZm9yIHRoZSBwZWVyY2FwcyBvZiB0aGUgY3VycmVudCBwYWQgaW4gZ2V0Y2FwcygpIGFzIHRoaXMKCSAgbWlnaHQgY2FsbCBnZXRjYXBzKCkgYWdhaW4gYW5kIGRlYWRsb2NrLgoKMjAwOC0wNS0xNiAyMjowMDo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IENoZWNrIHNvbWUgbW9yZSBjb21tb24gbG9jYXRpb25zIGZvciBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyk6CgkgIENoZWNrIHNvbWUgbW9yZSBjb21tb24gbG9jYXRpb25zIGZvciBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmlsZS4KCSAgRml4ZXMgYnVnICM1MzM0MzUuIFBhY2thZ2VycyBzaG91bGQgc3RpbGwgI2RlZmluZSBXSUxETUlESV9DRkcKCSAgdG8gdGhlIGRpc3RyaWJ1dGlvbnMgZGVmYXVsdCBsb2NhdGlvbi4KCjIwMDgtMDUtMTYgMjE6NTY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24gaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBEb24ndCBhbGxvdyBjaGFuZ2VzIG9mIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBhbmQgc2V0IHRoZSBwb3NpdGlvbiBvZgoJICB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIEdlbmVyYWwgY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSk6CgkgIENoZWNrIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciBjYXBzLgoKMjAwOC0wNS0xNiAxOTo1NjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBBZGQgbGliZ3N0dmlkZW8gdG8gdGhlIGxpbmsuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBsaW5rIG9yZGVyLCBhbmQgbW92ZSBMSUJTIHRoaW5ncyB0byBfTElCUwoKMjAwOC0wNS0xNiAxNDo0OTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6IFJlbW92ZSBib2d1cyBhdHRlbXB0IHRvIHB1bGwgJ21ldGFkYXRhJyBwbHVnaW4ncyBiYXNlIGNsYXNzIGludG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgUmVtb3ZlIGJvZ3VzIGF0dGVtcHQgdG8gcHVsbCAnbWV0YWRhdGEnIHBsdWdpbidzIGJhc2UKCSAgY2xhc3MgaW50byB0aGUgZG9jcy4KCjIwMDgtMDUtMTQgMjE6MDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIGVycm9yIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4KCSAgZXJyb3IgYW5kIHN0b3BwaW5nLiBUaGlzIGlzIGEgcGVyZmVjdGx5IHJlY292ZXJhYmxlIGV2ZW50IGFuZCB3ZSBkb24ndAoJICBmb3JjZSBwZW9wbGUgdG8gdXNlIGFuIHJ0cGJpbiB0byBmaWx0ZXIgb3V0IGJhZCBwYWNrZXRzIGZpcnN0LgoKMjAwOC0wNS0xNCAyMDo1NzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBzcmNwYWQgYWZ0ZXIgd2UgY3JlYXRlZCB0aGUgcGFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IChnc3RfbXBlZzR2cGFyc2VfaW5pdCk6CgkgIFNldCBmaXhlZCBjYXBzIG9uIHRoZSBzcmNwYWQgYWZ0ZXIgd2UgY3JlYXRlZCB0aGUgcGFkLi4uCgoyMDA4LTA1LTE0IDE2OjIxOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBkZWludGVybGVhdmUgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBhZ2FpbiBub3cgdGhhdCB0aGVyZSBhcmUgc3VwcHJlc3Npb25zIGluIGdzdC5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZGVpbnRlcmxlYXZlIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggYWdhaW4gbm93IHRoYXQKCSAgdGhlcmUgYXJlIHN1cHByZXNzaW9ucyBpbiBnc3Quc3VwcCB3aGljaCBtYWtlIHRoaXMgd29yayBmb3IgbWUuCgoyMDA4LTA1LTE0IDE0OjE5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcwoJICB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIHZhbGdyaW5kL2xpYmMgYWZ0ZXIgX2V4aXQgZm9yIHNvbWUKCSAgcmVhc29uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAocGFkc19jcmVhdGVkKSwKCSAgKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksIChzcmNfaGFuZG9mZl9mbG9hdDMyXzhjaCksCgkgIChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpLAoJICAobWFrZV9mYWtlX3NyY184Y2hhbnNfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgYml0cyBJIGhhZCBsb2NhbGx5LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMDgtMDUtMTQgMTM6NTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IFJldmVydCBwcmV2aW91cyBjaGFuZ2Ugd2hpY2ggbWFkZSBiYXNldHJhbnNmb3JtIGhhbmRsZSBidWZmZXJfYWxsb2MgYW5kIHdoaWNoIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2Ugd2hpY2ggbWFkZSBiYXNldHJhbnNmb3JtIGhhbmRsZSBidWZmZXJfYWxsb2MKCSAgYW5kIHdoaWNoIGJyZWFrcyB0aGluZ3MgYmFkbHkgaW4gdGhlIG5vbi1wYXNzdGhyb3VnaCBjYXNlIHNpbmNlIGl0CgkgIHJldHVybmVkIGJ1ZmZlcnMgd2l0aCBhIGRpZmZlcmVudCAoaWUuIHNvbWV0aW1lcyBzbWFsbGVyKSBzaXplIHRoYW4KCSAgdGhlIHNpemUgcmVxdWVzdGVkLgoKMjAwOC0wNS0xNCAwNzozMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24KCSAgZ2VuZXJhdGlvbi4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICBEb24ndCB1c2UgYWxsb2NhLCBhbGxvdyBjYXBzIGNoYW5nZXMgYXMgbG9uZyBhcyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGRvZXMgbm90IGNoYW5nZSwgZG9uJ3QgdXNlIGdfd2FybmluZywgcmV0dXJuIE5PVF9ORUdPVElBVEVEIGFzIGVhcmx5CgkgIGFzIHBvc3NpYmxlIGFuZCBzb21lIG90aGVyIGNsZWFudXAuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBEbyBzb21lIHJhbmRvbSBjbGVhbnVwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLCAoZGVpbnRlcmxlYXZlX3BhZF9hZGRlZCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50LgoKMjAwOC0wNS0xMyAxNzoyMTowNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuKjogUGFyc2UgdGhlIGNvbmZpZyBkYXRhIChlaXRoZXIgb3V0Ym91bmQgb3IgaW4gdGhlIHN0cmVhbSkgdG8gc2V0IHdpZHRoL2hlaWdodCwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX3NldF9uZXdfY2FwcyksIChnc3RfbXBlZzR2cGFyc2VfYWxpZ24pLAoJICAoZ2V0X2JpdHMpLCAobmV4dF9zdGFydF9jb2RlKSwgKGdzdF9tcGVnNHZwYXJzZV9oYW5kbGVfdm9zKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9wdXNoKSwgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZzR2cGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X21wZWc0dnBhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfaW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgUGFyc2UgdGhlIGNvbmZpZyBkYXRhIChlaXRoZXIgb3V0Ym91bmQgb3IgaW4gdGhlIHN0cmVhbSkgdG8gc2V0CgkgIHdpZHRoL2hlaWdodCwgYXBlY3QgcmF0aW9uLCBmcmFtZXJhdGUgaW4gdGhlIGNhcHMgaWYgYXBwbGljYWJsZS4KCSAgTWFyayBmcmFtZXMgYXMgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgd2hlbiB0aGV5IGFyZSBub3QKCSAgaW50cmEgZnJhbWVzCgkgIFNldCB0aGUgdGltZXN0YW1wcyBvZiBvdXRnb2luZyBidWZmZXJzIHRvIHRoZSBidWZmZXIgaW4KCSAgd2hpY2ggdGhlIFZPUCBoZWFkZXIgd2FzIGZvdW5kLgoJICBEcm9wIGluY29taW5nIGRhdGEgdW50aWxsIGNvbmZpZ3VyYXRpb24gaXMgZm91bmQgKGJ5IGRlZmF1bHQsCgkgIGNvbmZpZ3VyYWJsZSB1c2luZyBhIHByb3BlcnR5KS4KCSAgUmVwb3J0IGEgMSBmcmFtZSBsYXRlbmN5LiBGaXhlcyAjNTMyNzIzLgoKMjAwOC0wNS0xMyAxNjoxNjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBZGQgc29tZSBkZWJ1ZyBmb3Igd2hlcmUgd2UgYXJlIHNlYXJjaGluZyBmb3IgbGlicmFyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGZvciB3aGVyZSB3ZSBhcmUgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMuCgoyMDA4LTA1LTEzIDEwOjU5OjQ5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3QgYmFzZXRyYW5zZm9ybSBuZWdvdGlhdGlvbiBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAobGl2ZV9zd2l0Y2hfYWxsb2Nfb25seV80ODAwMCksIChsaXZlX3N3aXRjaF9nZXRfc2lua19jYXBzKSwKCSAgKGxpdmVfc3dpdGNoX3B1c2gpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IGJhc2V0cmFuc2Zvcm0gbmVnb3RpYXRpb24gY2hhbmdlcy4KCSAgU2VlIGJ1ZyAjNTI2NzY4LgoKMjAwOC0wNS0xMyAwOTowNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgoyMDA4LTA1LTEyIDE4OjQzOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhIGxvd2VyIHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYQoJICBsb3dlciB0aW1lc3RhbXAgdGhhbiB0aGUgY3VycmVudCBwYWNrZXQuCgoyMDA4LTA1LTEyIDE0OjI4OjA5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvIHByZXZlbnQgYSBtZW1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0bwoJICBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTEyIDE0OjE3OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IFF1aWV0ZW4gc29tZSBkb2NzIG91dHB1dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBRdWlldGVuIHNvbWUgZG9jcyBvdXRwdXQKCjIwMDgtMDUtMTIgMTQ6MTI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wNS0xMSAxNzoyMzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSYW5kb20gZG9jIG9mIHRoZSBkYXk6IHRoZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBSYW5kb20gZG9jIG9mIHRoZSBkYXk6IHRoZSBkZWludGVybGFjZSBlbGVtZW50LgoKMjAwOC0wNS0wOSAxMDoyMTowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IE1ha2Ugc3VyZSBhbGwgc2NoZWR1bGUgRUlUIGFuZCBub24tYWN0dWFsIHRyYW5zcG9ydCBzdHJlYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTWFrZSBzdXJlIGFsbCBzY2hlZHVsZSBFSVQgYW5kIG5vbi1hY3R1YWwgdHJhbnNwb3J0IHN0cmVhbQoJICBFSVRzIGFyZSBwYXJzZWQuIEFsc28gYWRkIHByZXNlbnQtZm9sbG93aW5nIGZsYWcgYW5kCgkgIGFjdHVhbC10cmFuc3BvcnQtc3RyZWFtIGZsYWcgdG8gZWl0IGJ1cyBtZXNzYWdlLgoKMjAwOC0wNS0wOSAwNzo0MTo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMDggMTk6MTY6MTcgKzAwMDAgIENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0QG50bHdvcmxkLmNvbT4KCgkgIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsIHNvIG1hc2sgdGhvc2Ugby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0IG50bHdvcmxkIGNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiAoZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3VucGFja192b2x1bWUpOgoJICBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLAoJICBzbyBtYXNrIHRob3NlIG91dCB3aGVuIHJlYWRpbmcgdGhlbS4gUHJvYmFibHkgbWFrZXMgdGhlIG1peGVyIGFwcGxldAoJICB3b3JrIHByb3Blcmx5IGluIHNvbWUgbW9yZSBjYXNlcy4KCjIwMDgtMDUtMDggMDk6NDM6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfY2xvY2tfcmF0ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpOgoJICBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIEZpeGVzICM1MzIwMTEuCgoyMDA4LTA1LTA4IDA2OjIzOjM5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgoyMDA4LTA1LTA4IDA2OjIwOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IExldCBhdWRpb3Jlc2FtcGxlIHVzZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24gb2YgYmFzZXRyYW5zZm9ybSBpbnN0ZWFkIG9mIGl0J3Mgb3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBMZXQgYXVkaW9yZXNhbXBsZSB1c2UgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIGJhc2V0cmFuc2Zvcm0gaW5zdGVhZAoJICBvZiBpdCdzIG93biBzdHVmZi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChhbGxvY19vbmx5XzQ4MDAwKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgcmVjZW50IGJhc2V0cmFuc2Zvcm0gYnVnZml4LCB3aGVyZSB1cHN0cmVhbQoJICBjaGFuZ2VzIGNhcHMgdG8gc29tZXRoaW5nIHRoYXQgY2FuJ3QgYmUgcGFzc2VkIHRocm91Z2ggYW55bW9yZS4KCjIwMDgtMDUtMDcgMjA6MjU6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICB3aW4zMi9jb21tb24vY29uZmlnLmguaW46IERvbid0IGRlZmluZSBHU1RfRlVOQ1RJT04sIGlmIEdMaWIgc3VwcG9ydHMgTVNWQyB3ZSdkIG11Y2ggcmF0aGVyIHVzZSB0aGUgcmVhbCB0aGluZyB0aGFuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBEb24ndCBkZWZpbmUgR1NUX0ZVTkNUSU9OLCBpZiBHTGliIHN1cHBvcnRzIE1TVkMgd2UnZCBtdWNoIHJhdGhlcgoJICB1c2UgdGhlIHJlYWwgdGhpbmcgdGhhbiBoYXZpbmcgIj8/PyIgdW5jb25kaXRpb25hbGx5LgoKMjAwOC0wNS0wNyAxMDozODoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvOiBBZGQgbWFyc2hhbC5saXN0LCBtYWtlIGl0IGNvbXBpbGUgYW5kIGFkZCB0byBjdnNpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvLmN2c2lnbm9yZToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWwubGlzdCwgbWFrZSBpdCBjb21waWxlIGFuZCBhZGQgdG8gY3ZzaWdub3JlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2FwcF9zaW5rX3N0b3ApOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX3N0b3ApLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwgKGdzdF9hcHBfc3JjX3NldF9jYXBzKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9jYXBzKSwgKGdzdF9hcHBfc3JjX3NldF9zaXplKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zaXplKSwgKGdzdF9hcHBfc3JjX3NldF9zZWVrYWJsZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc2Vla2FibGUpLCAoZ3N0X2FwcF9zcmNfc2V0X21heF9idWZmZXJzKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnVmZmVycyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBCZWF0IGFwcHNyYyBpbiBzaGFwZSwgYWRkIHNpZ25hbHMgYW5kIGFjdGlvbnMuCgkgIEFkZCBzb21lIGRvY3MuCgkgIEFkZCBwcm9wZXJ0aWVzIGZvciBjYXBzLCBzaXplLCBzZWVrYWJpbGl0eSBhbmQgbWF4LWJ1ZmZlcnMuCgkgIEZpeCB1bmxvY2svc3RvcCBjb2RlLgoKMjAwOC0wNS0wNyAwNzo1MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIHZlcnNpb25zIG9mIGNvcmUvYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlLgoKMjAwOC0wNS0wNSAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBTdGFydCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2luaXQpLCAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua191bmxvY2tfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksCgkgIChnc3RfYXBwX3Npbmtfc3RhcnQpLCAoZ3N0X2FwcF9zaW5rX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19yZW5kZXIpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9jYXBzKSwgKGdzdF9hcHBfc2lua19zZXRfZHJvcCksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X2Ryb3ApOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBTdGFydCBzb21lIGRvY3MuCgkgIEFkZCBwcm9wZXJ0eSB0byBkcm9wIGJ1ZmZlcnMgd2hlbiB0aGUgcXVldWUgaXMgZmlsbGVkCgkgIEZpeCB1bmxvY2tpbmcgYW5kIGZsdXNoaW5nIHdoZW4gdGhlIHF1ZXVlcyBhcmUgZmlsbGVkLgoKMjAwOC0wNS0wMiAxNDo0MDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB3aWxkbWlkaSBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB3aWxkbWlkaSBwbHVnaW4KCjIwMDgtMDQtMjkgMTk6MTE6NTYgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IERlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYmxvY2tzLiBGaXhlcyBjb21waWxhdGlvbiB3aXRoIGdjYyAyLnggYW5kIG90aGVyIGNvbXBpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogKGdzdF9zcnRfZW5jX3RpbWVzdGFtcF90b19zdHJpbmcpOgoJICBEZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGJsb2Nrcy4gRml4ZXMgY29tcGlsYXRpb24gd2l0aAoJICBnY2MgMi54IGFuZCBvdGhlciBjb21waWxlcnMuIEZpeGVzIGJ1ZyAjNTMwNjExLgoKMjAwOC0wNC0yOSAwOTowMjozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IERldGVjdCBTSSBwaWRzIChOSVQsIFNEVCwgRUlUIGV0Yy4pIGJhc2VkIG9uIHRhYmxlIGlkIGFuZCBub3QgYnkgcGlkIG51bWJlci4gVGhpcyBhbGxvd3MgZm9yIGV4YW1wbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIERldGVjdCBTSSBwaWRzIChOSVQsIFNEVCwgRUlUIGV0Yy4pIGJhc2VkIG9uIHRhYmxlIGlkIGFuZCBub3QKCSAgYnkgcGlkIG51bWJlci4gVGhpcyBhbGxvd3MgZm9yIGV4YW1wbGUgdGhlIEVQRyBkYXRhIGZyb20gVUsncwoJICBmcmVlc2F0IHRvIGJlIHBpY2tlZCB1cC4KCjIwMDgtMDQtMjUgMjM6MjI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC86IENhc3QgTlVMTCBzZW50aW5lbHMgdG8gdm9pZCAqIGFzIE5VTEwgaXMgZGVmaW5lZCBhcyBhbiBpbnRlZ2VyIGNvbnN0YW50IGluIG1vc3QgZW52aXJvbm1lbnRzIHdoZW4gdXNpbmcgQysrIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBDYXN0IE5VTEwgc2VudGluZWxzIHRvIHZvaWQgKiBhcyBOVUxMIGlzIGRlZmluZWQgYXMgYW4gaW50ZWdlcgoJICBjb25zdGFudCBpbiBtb3N0IGVudmlyb25tZW50cyB3aGVuIHVzaW5nIEMrKyBhbmQgaXQncyBzaXplIG1pZ2h0CgkgIGJlIGRpZmZlcmVudCBmcm9tIGEgcG9pbnRlci4KCjIwMDgtMDQtMjUgMTg6MTg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogQWRkIG1vcmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfaW5pdCksIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19yZW5kZXIpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9lbWl0X3NpZ25hbHMpLCAoZ3N0X2FwcF9zaW5rX2dldF9lbWl0X3NpZ25hbHMpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9tYXhfYnVmZmVycyksIChnc3RfYXBwX3NpbmtfZ2V0X21heF9idWZmZXJzKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIEFkZCBtb3JlIGRvY3MuCgkgIEFkZCBzaWduYWxzIGZvciB3aGVuIHByZXJvbGwgYW5kIHJlbmRlciBidWZmZXJzIGFyZSBhdmFpbGFibGUuCgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHNpZ25hbCBlbWlzc2lvbi4KCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIG1heCBxdWV1ZSBzaXplLgoKMjAwOC0wNC0yNSAxODoxMzowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOiBVc2UgQ1hYRkxBR1MgcmF0aGVyIHRoYW4gQ0ZMQUdTOyB0aGVzZSBhcmUgQysrIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgIFVzZSBDWFhGTEFHUyByYXRoZXIgdGhhbiBDRkxBR1M7IHRoZXNlIGFyZSBDKysgZmlsZXMuCgkgIERlZmluZSByZXF1aXJlZCBjb25zdGFudHMgYXBwcm9wcmlhdGVseS4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZWQgaW5jbHVkZSBkaXIsIGxpYnJhcmllcy4KCSAgRGVmaW5lIHJlcXVpcmVkIGNvbnN0YW50cyBhcHByb3ByaWF0ZWx5LgoKMjAwOC0wNC0yNSAxMTozMjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCjIwMDgtMDQtMjUgMTE6MjI6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYSBwcm9wZXJ0eSB0byBlbmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhCgkgIHByb3BlcnR5IHRvIGVuYWJlIGl0LiBXZSB3aWxsIGxpa2VseSBlbmFibGUgaXQgYnkgZGVmYXVsdCB3aGVuIHRoZSBiYXNlCgkgIGRlcGF5bG9hZGVycyBoYXZlIGEgZGVmYXVsdCBoYW5kbGVyIGZvciB0aGVtIHNvIHRoYXQgd2UgZG9uJ3Qgc2VuZCB0aGVzZQoJICBldmVudHMgYWxsIHRocm91Z2ggdGhlIHBpcGVsaW5lIGZvciBub3cuCgoyMDA4LTA0LTI1IDA5OjM1OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgQWRkIHNyYyBldmVudCBoYW5kbGVyLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBwdXNoaW5nIGxvb3Agc28gdGhhdCBpdCBjYW4gcXVpY2tseSByZWFjdCB0bwoJICBsb3N0IHBhY2tldHMgYW5kIGluc3RydWN0IHRoZSBkZXBheWxvYWRlciBvZiB0aGVtLiBUaGlzIGNhbiB0aGVuIGJlIHVzZWQKCSAgdG8gaW1wbGVtZW50IGVycm9yIGNvbmNlYWxtZW50IGRhdGEuCgoyMDA4LTA0LTI1IDA4OjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZSB0aGUgZGVmYXVsdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlCgkgIHRoZSBkZWZhdWx0cyBhcmUgcmVhbGx5IG5vdCBjb3JyZWN0LgoJICBJbXBsZW1lbnQgYSBxdWVyeSBoYW5kbGVyIGZvciB0aGUgUlRDUCBzcmMgcGFkLCBtb3N0bHkgdG8gY29ycmVjdGx5CgkgIHJlcG9ydCBhYm91dCB0aGUgbGF0ZW5jeS4KCjIwMDgtMDQtMjUgMDg6MTU6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6ICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBSVFAgdGltZXN0YW1wIGFzIHRoZXkgYm90aCBhcmUgbmVlZGVkIHRvIGNvbnN0cnVjdCB0aGUgdGltaW5nIG9mCgkgIG91dGdvaW5nIHBhY2tldHMgaW4gdGhlIGppdHRlcmJ1ZmZlciBhbmQgYXJlIHRoZXJlZm9yZSBhbHNvIG5lZWRlZCB0bwoJICBtYW5hZ2UgbGlwLXN5bmMuIFRoaXMgZml4ZXMgbGlwLXN5bmMgaWYgdGhlIGZpcnN0IFJUUCBwYWNrZXRzIGFycml2ZQoJICB3aXRoIGEgd2lsZGx5IGRpZmZlcmVudCBnYXAuCgoyMDA4LTA0LTI1IDA4OjA3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCjIwMDgtMDQtMjQgMjI6MTk6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IGxpYm1wY2RlYyBBUEkgd2hpY2ggbWFnaWNhbGx5IGdldHMgdXMgc3VwcG9ydCBmb3IgU1Y4IGZpbGVzLiBBbHNvIGRvIHNvbWUgcmFuZG9tIGNsZWFudXAuIEZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19kaXNwb3NlKSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBsaWJtcGNkZWMgQVBJIHdoaWNoIG1hZ2ljYWxseSBnZXRzIHVzIHN1cHBvcnQKCSAgZm9yIFNWOCBmaWxlcy4gQWxzbyBkbyBzb21lIHJhbmRvbSBjbGVhbnVwLiBGaXhlcyBidWcgIzUyNjkwNS4KCjIwMDgtMDQtMjQgMjE6MjQ6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuNy4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjcuMQoJICA9PT0gcmVsZWFzZSAwLjEwLjcgPT09Cgo9PT0gcmVsZWFzZSAwLjEwLjcgPT09CgoyMDA4LTA0LTI0IDAwOjE4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjcKCjIwMDgtMDQtMjQgMDA6MTU6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDQtMjIgMTU6MDc6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgbGVhayBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbi4gRml4ZXMgIzUyOTM3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBEb24ndCBsZWFrIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uLiBGaXhlcyAjNTI5Mzc4LgoKMjAwOC0wNC0yMiAwODoxODowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogUmVmIGNhcHMsIHNlZSAjNTI4MjQ1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChyZXF1ZXN0X3B0X21hcCk6CgkgIFJlZiBjYXBzLCBzZWUgIzUyODI0NS4KCjIwMDgtMDQtMjIgMDA6MjE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjYuNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNi40IHByZS1yZWxlYXNlCgoyMDA4LTA0LTIxIDIxOjU0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCjIwMDgtMDQtMjEgMjE6NTI6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBEb24ndCBsZWFrIHRoZSB0YWdzIHN0cmluZyBhbmQgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5MjgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKToKCSAgRG9uJ3QgbGVhayB0aGUgdGFncyBzdHJpbmcgYW5kIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4My4KCjIwMDgtMDQtMjEgMDg6MjY6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBEb24ndCBsZWFrIHBhZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQXZvaWQgYSBjYXBzIGxlYWsuCgkgIERvbid0IGxlYWsgcmVmY291bnQgaW4gcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgQXZvaWQgY2FwcyBsZWFrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKHJldHVybl90cnVlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRml4IHNvbWUgbW9yZSBjYXBzIGxlYWtzLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xOCAxODo1MTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoKMjAwOC0wNC0xNyAyMzowMToxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNi4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC42LjMgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMTcgMTg6Mjg6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBSZXZlcnQgcGF0Y2ggdGhhdCBhZGRlZCBhIGxvb3AgdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUmV2ZXJ0IHBhdGNoIHRoYXQgYWRkZWQgYSBsb29wIHRpbWVvdXQuCgkgIEZpeGVzICM1Mjg2MTQuCgoyMDA4LTA0LTE3IDA3OjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLCAoZnJlZV9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX2dldF9mcmVlX3BhZF9uYW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2Fwcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBEb24ndCBsZWFrIGEgcGFkbmFtZS4KCSAgRG9uJ3QgbGVhayBjbGllbnQgc3RyZWFtcyBsaXN0LgoJICBMb2NrIHJ0cGJpbiB3aGVuIGFzc29jaWF0aW5nIHN0cmVhbXMuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE2IDA5OjUwOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgaW5sY3VkZSBkYzEzOTRzcmMgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QgYXMgaXQgcmVxdWlyZXMgc3BlY2lhbCBoYXJkd2FyZS4gRml4ZXMgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERvbid0IGlubGN1ZGUgZGMxMzk0c3JjIGluIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0IGFzIGl0IHJlcXVpcmVzCgkgIHNwZWNpYWwgaGFyZHdhcmUuIEZpeGVzIGJ1ZyAjNTI4MDExLgoKMjAwOC0wNC0xNiAwOTo0ODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IE9ubHkgY2hlY2sgaWYgdGhlIGdlbmVyYXRlZCBmaW5nZXJwcmludHMgYXJlIHZhbGlkIEJhc2U2NC4gVGhlIGZpbmdlcnByaW50cyBhcmUgZGlmZmVyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBPbmx5IGNoZWNrIGlmIHRoZSBnZW5lcmF0ZWQgZmluZ2VycHJpbnRzIGFyZSB2YWxpZCBCYXNlNjQuIFRoZQoJICBmaW5nZXJwcmludHMgYXJlIGRpZmZlcmVudCB3aGVuIHJ1bm5pbmcgb24gZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMKCSAgd2hpY2ggaXMgYSkgbm8gcHJvYmxlbSBiZWNhdXNlIHRoZSBmaW5nZXJwcmludHMgYXJlIHRvbGVyYW50IGVub3VnaAoJICBhbmQgYikgaXMgY2F1c2VkIGJ5IGxpYm9mYS4gRml4ZXMgYnVnICM1MjgyNjYuCgoyMDA4LTA0LTE2IDA5OjQ1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06IERpc3QgYWxsIHNvdXJjZSBmaWxlcywgbm8gbWF0dGVyIGlmIG9ubHkgdGltaWRpdHkgb3Igd2lsZG1pZGkgb3Igbm90aGluZyBpcyBmb3VuZCBieSBjb25maWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICBEaXN0IGFsbCBzb3VyY2UgZmlsZXMsIG5vIG1hdHRlciBpZiBvbmx5IHRpbWlkaXR5IG9yIHdpbGRtaWRpIG9yCgkgIG5vdGhpbmcgaXMgZm91bmQgYnkgY29uZmlndXJlLiBGaXhlcyBidWcgIzUyODAwMC4KCjIwMDgtMDQtMTQgMjA6MDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjogUmVtb3ZlIHNvdXBodHRwc3JjIHBsdWdpbiBmcm9tIHNwZWMgZmlsZXMsIGl0J3MgbW92ZWQgdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgc291cGh0dHBzcmMgcGx1Z2luIGZyb20gc3BlYyBmaWxlcywgaXQncyBtb3ZlZCB0byAtZ29vZC4KCjIwMDgtMDQtMTMgMjM6MTE6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIGZyb20gdGhlIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc291cCB0ZXN0IGNlcnRpZmljYXRlcyBmcm9tIHRoZSBkaXN0LgoKMjAwOC0wNC0xMyAyMDo1NDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBjb21waWxhdGlvbiBieSBjYXN0aW5nIHN0cmluZyBjb25zdGFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgRml4IGNvbXBpbGF0aW9uIGJ5IGNhc3Rpbmcgc3RyaW5nIGNvbnN0YW50cy4KCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEZpeCBXSU5JTkVUX0RJUiB2YXJpYWJsZSByZWZlcmVuY2UuCgoyMDA4LTA0LTEyIDIzOjMyOjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBzb3VwIHBsdWdpbiB0aGF0J3MgbW92ZWQgdG8gLWdvb2QgKCM1MjMxMjQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIFJlbW92ZSBzb3VwIHBsdWdpbiB0aGF0J3MgbW92ZWQgdG8gLWdvb2QgKCM1MjMxMjQpCgoyMDA4LTA0LTExIDIzOjE5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpOgoJICBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzCgkgIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhIE5VTEwgc3RyaW5nICgjNTI3NjIyKS4KCjIwMDgtMDQtMTEgMTk6MzM6NTMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuKjogRG9uJ3QgaW5jcmVhc2UgbGF0ZW5jeSBieSBxdWV1aW5nIGJ1ZmZlcnMgaW4gYW4gYXN5bmMgcXVldWUgd2hlbiB0aGUgc3RyZWFtaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzogKFBST1BfREVWSUNFX05BTUUpLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfY2xhc3NfaW5pdCksIChnc3RfZHNob3d2aWRlb3NyY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2Rpc3Bvc2UpLCAoZ3N0X2RzaG93dmlkZW9zcmNfc3RvcCksCgkgIChnc3RfZHNob3d2aWRlb3NyY191bmxvY2spLCAoZ3N0X2RzaG93dmlkZW9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfY3JlYXRlKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3B1c2hfYnVmZmVyKToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgRG9uJ3QgaW5jcmVhc2UgbGF0ZW5jeSBieSBxdWV1aW5nIGJ1ZmZlcnMgaW4gYW4gYXN5bmMgcXVldWUgd2hlbgoJICB0aGUgc3RyZWFtaW5nIHRocmVhZCBjYW4ndCBrZWVwIHVwIG9yIGlzbid0IHNjaGVkdWxlZCBvZnRlbgoJICBlbm91Z2ggZm9yIHNvbWUgb3RoZXIgcmVhc29uLCBidXQganVzdCBkcm9wIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgaW4gdGhhdCBjYXNlLiBBbHNvIGltcGxlbWVudCBHc3RCYXNlU3JjOjp1bmxvY2sgZm9yIGZhc3RlcgoJICB1bmxvY2tpbmcgd2hlbiBzaHV0dGluZyBkb3duLiAoIzUyMDg5MikuCgoyMDA4LTA0LTExIDE4OjQ2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLio6IFJlbW92ZSBHc3RYT3ZlcmxheSBzdHVmZiBhbmQgdXNlIGdka3BpeGJ1ZnNpbmsgcGx1cyBzb21lIHJhdGhlciBjcnVkZSBkcmF3aW5nL3NjYWxpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiAoRU5DX1VOS05PV04pLCAobGFzdF9waXhidWYpLAoJICAoZHJhd19waXhidWYpLCAoY2hhbmdlX3RhZ19saXN0KSwgKHVwZGF0ZV9kcmF3X3BpeGJ1ZiksCgkgICh1aV9kcmF3aW5nX3NpemVfYWxsb2NhdGVfY2IpLCAob25fZHJhd2luZ01haW5fZXhwb3NlX2V2ZW50KSwKCSAgKG9uX2J1dHRvblNhdmVGaWxlX2NsaWNrZWQpLCAodWlfY3JlYXRlKSwgKG1lX2dzdF9idXNfY2FsbGJhY2tfdmlldyksCgkgIChtZV9nc3Rfc2V0dXBfdmlld19waXBlbGluZSksIChwcm9jZXNzX2ZpbGUpOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgUmVtb3ZlIEdzdFhPdmVybGF5IHN0dWZmIGFuZCB1c2UgZ2RrcGl4YnVmc2luayBwbHVzIHNvbWUgcmF0aGVyIGNydWRlCgkgIGRyYXdpbmcvc2NhbGluZyBsb2dpYyB0byBtYWtlIHRoaXMgY29tcGlsZSBhbmQgd29yayBvbiBhbGwgcGxhdGZvcm1zLgoJICBGaXhlcyAjNTE4MjI3LgoKMjAwOC0wNC0xMSAxMzo1NzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQKCSAgY29uZnVzaW9uLgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZGVpbnRlcmxhY2VfZGVidWcpLAoJICAoR1NUX0NBVF9ERUZBVUxUKSwgKGdzdF9kZWludGVybGFjZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgX3NldF9lbGVtZW50X2RldGFpbHNfc2ltcGxlIGFuZAoJICByZW1vdmUgc3BlY2lhbCBjb2RlIHBhdGggZm9yIFk0MkIgdG8gY2FsY3VsYXRlIG9mZnNldHMgYW5kCgkgIHN0cmlkZXM7IGxpYmdzdHZpZGVvIGtub3dzIGhvdyB0byBoYW5kbGUgdGhpcyBmb3JtYXQgbm93LgoKMjAwOC0wNC0xMSAxMzowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9jZHhhcGFyc2UvOiBQb3J0IFZDRCBwYXJzZXIgKGZvcm1lcmx5IGNkeGFzdHJpcCkgZnJvbSAwLjggdG8gMC4xMC4gRG9lc24ndCBkbyBhbnl0aGluZyB0aGUgMC44IHZlcnNpb24gZGlkbid0IGRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkgIFBvcnQgVkNEIHBhcnNlciAoZm9ybWVybHkgY2R4YXN0cmlwKSBmcm9tIDAuOCB0byAwLjEwLiBEb2Vzbid0IGRvCgkgIGFueXRoaW5nIHRoZSAwLjggdmVyc2lvbiBkaWRuJ3QgZG8gdGhvdWdoLgoKMjAwOC0wNC0xMSAwODoxMzoyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvb3NzNC86IEZpeCBhcmd1bWVudHMgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTExICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAoZ3N0X29zczRfbWl4ZXJfZW51bV9nZXRfdmFsdWVzX2xvY2tlZCk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9kZWxheSk6IEZpeCBhcmd1bWVudHMKCSAgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA0LTEwIDE1OjI5OjQ0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgQWRkIHdpbmluZXRzcmMgZm9yIGJhc2ljIGh0dHAvZnRwIHN1cHBvcnQgb24gd2luZG93cyAoIzUyMDg5NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5oOgoJICBBZGQgd2luaW5ldHNyYyBmb3IgYmFzaWMgaHR0cC9mdHAgc3VwcG9ydCBvbiB3aW5kb3dzICgjNTIwODk3KS4KCjIwMDgtMDQtMTAgMTA6MDE6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL25zZi5oOiBDaGFuZ2UgcHJvdG90eXBlIG9mIHByb2Nlc3MgZnVuY3Rpb24gaGVyZSB0b28gdG8gYXZvaWQgJ2luY29tcGF0aWJsZSBhc3NpZ25tZW50JyB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgQ2hhbmdlIHByb3RvdHlwZSBvZiBwcm9jZXNzIGZ1bmN0aW9uIGhlcmUgdG9vIHRvIGF2b2lkCgkgICdpbmNvbXBhdGlibGUgYXNzaWdubWVudCcgd2FybmluZ3MuCgoyMDA4LTA0LTEwIDA3OjExOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzIGFuZCBjaGVjayBmb3IgTlVMTCBjYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzCgkgIGFuZCBjaGVjayBmb3IgTlVMTCBjYXBzIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgVGhlIHJlYWwgZml4IHdvdWxkIGJlIHRvIGltcGxlbWVudCBhbiBzaG91dGNhc3Qgc2VydmVyIGZvciB0aGUgdW5pdCB0ZXN0CgkgIGluc3RlYWQgb2YgcmVseWluZyBvbiBhIHdvcmtpbmcgaW50ZXJuZXQgY29ubmVjdGlvbi4KCSAgRml4ZXMgYnVnICM1MjE3NDkuCgoyMDA4LTA0LTA5IDIyOjI3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgoyMDA4LTA0LTA5IDEzOjQzOjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9uc2YvbmVzX2FwdS4qOiBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYyAtIGl0J3MgYSBnY2MgZXh0ZW5zaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzogKGFwdV9wcm9jZXNzKToKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMgLSBpdCdzIGEgZ2NjIGV4dGVuc2lvbi4KCjIwMDgtMDQtMDYgMjA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZQoJICBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgd2hlbiBzdGFydGluZyB1cCBtdWx0aXBsZSBwbGF5YmluCgkgIG9iamVjdHMgY29uY3VycmVudGx5IChzZWUgIzUxMjM4MikuCgoyMDA4LTA0LTA2IDA5OjAxOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYik6CgkgIE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBHU1RfU09VUF9IVFRQX1NSQ19TRVNTSU9OX0lPX1NUQVRVU19SVU5OSU5HLiBGaXhlcyBidWcgIzUyNjMzNy4KCjIwMDgtMDQtMDYgMDg6NTg6MzkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBGaXhlcyBidWcgIzUyNjI0Ny4KCjIwMDgtMDQtMDUgMTE6MDM6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBBbHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBwcm9jZXNzZWQgYXQgbGVhc3QgMTM1IHNlY29uZHMgb2YgYXVkaW8gdW50aWwgd2Ugc3RvcCBhbmQgY2FsY3VsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWxzbyBjaGVjayB0aGF0IHdlIGhhdmUgcHJvY2Vzc2VkIGF0IGxlYXN0IDEzNSBzZWNvbmRzIG9mIGF1ZGlvCgkgIHVudGlsIHdlIHN0b3AgYW5kIGNhbGN1bGF0ZWQgYSBmaW5nZXJwcmludC4KCjIwMDgtMDQtMDQgMjA6NDM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3ViZW5jL2dzdHNydGVuYy4qOiBHc3RTcnRlbmMgPT4gR3N0U3J0RW5jIGFuZCBnc3Rfc3J0ZW5jXyA9PiBnc3Rfc3J0X2VuY18uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuaDoKCSAgR3N0U3J0ZW5jID0+IEdzdFNydEVuYyBhbmQgZ3N0X3NydGVuY18gPT4gZ3N0X3NydF9lbmNfLgoKMjAwOC0wNC0wNCAxOToxODozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc2ltcGxlIHVuaXQgdGVzdHMgZm9yIHRoZSBPRkEgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAob2ZhX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdHMgZm9yIHRoZSBPRkEgcGx1Z2luLgoKMjAwOC0wNC0wMyAxNDoyMzo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBvc3N2NCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgb3NzdjQgcGx1Z2luCgoyMDA4LTA0LTAyIDIwOjE4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwKCSAgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgoyMDA4LTA0LTAxIDIyOjQwOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVuYW1lIG5ldyBzcnRlbmMgcGx1Z2luIHRvIHN1YmVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC9zcnRlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5oOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogKHBsdWdpbl9pbml0KToKCSAgUmVuYW1lIG5ldyBzcnRlbmMgcGx1Z2luIHRvIHN1YmVuYy4KCjIwMDgtMDQtMDEgMjA6MzM6MTkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggc3BlYydhJ2xlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMnYSdsZWMKCjIwMDgtMDQtMDEgMTk6NTM6NTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBDYWJsZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVzY3JpcHRvcnMnIGZyZXF1ZW5jeSdzIGJjZCBpcyBtZWFzdXJlZCBpbiAxMDBIeiB1bml0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ2FibGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlc2NyaXB0b3JzJyBmcmVxdWVuY3kncyBiY2QKCSAgaXMgbWVhc3VyZWQgaW4gMTAwSHogdW5pdHMgc28gYWRqdXN0IG11bHRpcGxpZXIgYWNjb3JkaW5nbHkuCgoyMDA4LTA0LTAxIDEzOjQyOjU1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIHNydCBzdWJ0aXRsZSBlbmNvZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3J0ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuaDoKCSAgQWRkIHNydCBzdWJ0aXRsZSBlbmNvZGVyCgoyMDA4LTAzLTMxIDE2OjI0OjQyICswMDAwICBrYXBpbCA8a2FwaWxAZmx1ZW5kby5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWRlYy4qOiBJbmNyZWFzZSB0aGUgYWxsb3dlZCBzYW1wbGVyYXRlcyBmb3IgdGhlIG1zLWdzbSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToga2FwaWwgPGthcGlsIGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgSW5jcmVhc2UgdGhlIGFsbG93ZWQgc2FtcGxlcmF0ZXMgZm9yIHRoZSBtcy1nc20gZm9ybWF0LgoJICBGaXhlcyAjNDgxMzU0LgoKMjAwOC0wMy0zMCAyMTowNjo1OCArMDAwMCAgSmFuIGRlIEdyb290IDxqYW5AamdjLmhvbWVpcC5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbCAoIzUyNTEwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFuIGRlIEdyb290IDxqYW4gYXQgamdjIGhvbWVpcCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwgKCM1MjUxMDApLgoKMjAwOC0wMy0yOCAwOTo0ODoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFJlcGVhdCBkaXNlcWMgY2FsbCB0byBhbGxvdyBmb3Igc29tZSBkaXNlcWMgc3dpdGNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFJlcGVhdCBkaXNlcWMgY2FsbCB0byBhbGxvdyBmb3Igc29tZSBkaXNlcWMgc3dpdGNoZXMuCgoyMDA4LTAzLTI3IDE2OjMyOjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXN0IG9mYSBjb3JyZWN0bHkhIEZpeGVzIG5vbi11bmluc3RhbGxlZCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXN0IG9mYSBjb3JyZWN0bHkhIEZpeGVzIG5vbi11bmluc3RhbGxlZCBidWlsZC4KCjIwMDgtMDMtMjcgMTU6NTc6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBNYWtlIGRpc2VxYyB3b3JrIG1vcmUgcmVsaWFibHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE1ha2UgZGlzZXFjIHdvcmsgbW9yZSByZWxpYWJseS4KCjIwMDgtMDMtMjYgMDc6NDA6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9uc2YvOiBSZW1vdmUgbWVtZ3VhcmQgYWdhaW4gYW5kIGFwcGx5IGhvcGVmdWxseSBhbGwgcHJldmlvdXNseSBkcm9wcGVkIGxvY2FsIHBhdGNoZXMuIFNob3VsZCBiZSByZWFsbHkgYmV0dGVyIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgIFJlbW92ZSBtZW1ndWFyZCBhZ2FpbiBhbmQgYXBwbHkgaG9wZWZ1bGx5IGFsbCBwcmV2aW91c2x5IGRyb3BwZWQKCSAgbG9jYWwgcGF0Y2hlcy4gU2hvdWxkIGJlIHJlYWxseSBiZXR0ZXIgdGhhbiB0aGUgb2xkIHZlcnNpb24gbm93LgoKMjAwOC0wMy0yNSAxNjo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvOiBVbmJyZWFrIGNvbXBpbGF0aW9uIGJ5IGRpc2FibGluZyBtZW1ndWFyZCBhbmQgZG9pbmcgc29tZSBkaXJ0eSBoYWNrIGZpeGVzIHRvIG1ha2UgaXQgY29tcGlsZSBvbiA2NGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzogKF9teV9mcmVlKToKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFVuYnJlYWsgY29tcGlsYXRpb24gYnkgZGlzYWJsaW5nIG1lbWd1YXJkIGFuZCBkb2luZyBzb21lIGRpcnR5IGhhY2sKCSAgZml4ZXMgdG8gbWFrZSBpdCBjb21waWxlIG9uIDY0Yml0cy4KCjIwMDgtMDMtMjUgMTU6NTY6MTMgKzAwMDAgIEFuZHJlYXMgSGVucmlrc3NvbiA8YW5kcmVhc0BmYXRhbC5zZXQ+CgoJICBnc3QvbnNmLzogVXBkYXRlIG91ciBpbnRlcm5hbCBub3NlZmFydCB0byBub3NlZmFydC0yLjctbWxzIHRvIGZpeCBzZWdmYXVsdHMgb24gc29tZSBmaWxlcy4gRml4ZXMgYnVnICM0OTgyMzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmVhcyBIZW5yaWtzc29uIDxhbmRyZWFzIGF0IGZhdGFsIGRvdCBzZXQ+CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2RpczY1MDIuaDoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSAgKiBnc3QvbnNmL2Ztb3BsLmM6CgkgICogZ3N0L25zZi9mbW9wbC5oOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgICogZ3N0L25zZi9sb2cuYzoKCSAgKiBnc3QvbnNmL2xvZy5oOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSAgKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgKiBnc3QvbnNmL25lczY1MDIuaDoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgICogZ3N0L25zZi9vc2QuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBVcGRhdGUgb3VyIGludGVybmFsIG5vc2VmYXJ0IHRvIG5vc2VmYXJ0LTIuNy1tbHMgdG8gZml4IHNlZ2ZhdWx0cwoJICBvbiBzb21lIGZpbGVzLiBGaXhlcyBidWcgIzQ5ODIzNy4KCSAgUmVtb3ZlIHNvbWUgLy8gY29tbWVudHMsIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIGFuZCB1c2UgcG93KCkKCSAgaW5zdGVhZCBvZiBhIHNsb3csIHNlbGZtYWRlIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wMy0yNSAxNToxNzo1OCArMDAwMCAgRWQgQ2F0bXVyIDxlZEBjYXRtdXIuY28udWs+CgoJICBjb25maWd1cmUuYWM6IEFkZCBzdXBwb3J0IGZvciBuZW9uIDAuMjgsIHdoaWNoIGRpZG4ndCBjaGFuZ2UgQVBJLiBGaXhlcyBidWcgIzUyNDAzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFZCBDYXRtdXIgPGVkIGF0IGNhdG11ciBkb3QgY28gZG90IHVrPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIHN1cHBvcnQgZm9yIG5lb24gMC4yOCwgd2hpY2ggZGlkbid0IGNoYW5nZSBBUEkuIEZpeGVzIGJ1ZyAjNTI0MDM1LgoKMjAwOC0wMy0yNCAxMjozMjo1OSArMDAwMCAgUmVuZSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYyAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmMgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9nYXBfYnVmZmVycyksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYyAodGVzdF9nYXApLCAocmdsaW1pdGVyX3N1aXRlKToKCSAgQWRkIHRlc3RzIHRvIHZlcmlmeSBnYXAtYXdhcmVuZXNzLgoKMjAwOC0wMy0yMiAxOToyNjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIEdJTyBhbmQgR25vbWVWRlMgYXMgdGhleSBwcm92aWRlIGF1dGhlbnRpY2F0aW9uLgoJICBEb24ndCBsZWFrIHRoZSBpY3kgY2FwcyBpZiB3ZSBhbHJlYWR5IHNldCB0aGVtIGFuZCBnZXQgYSBuZXcKCSAgaWN5LW1ldGFpbnQgaGVhZGVyLgoJICBUcnkgaGFyZGVyIHRvIHNldCB0aGUgaWN5IGNhcHMgb24gdGhlIG91dHB1dCBidWZmZXIgdG8gaGF2ZSBjb3JyZWN0CgkgIGNhcHMgZm9yIHRoZSBmaXJzdCBidWZmZXIgYWxyZWFkeS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgIENoZWNrIHRoYXQgd2UgZ2V0IGEgYnVmZmVyIHdpdGggYXBwbGljYXRpb24veC1pY3kgY2FwcyBpZiBpcmFkaW8tbW9kZQoJICBpcyBlbmFibGVkIGFuZCB3ZSBoYXZlIGFuIGljZWNhc3QgVVJMLgoKMjAwOC0wMy0yMiAxODoxODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvcik6CgkgIEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIEZpeGVzIGJ1ZyAjNTIzODU0LgoKMjAwOC0wMy0yMiAxNTowMDo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2Ugc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgIChnc3RfYWxzYV9taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChnc3RfYWxzYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoZ3N0X2Fsc2FzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAoZ3N0X2NkX3BhcmFub2lhX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21lX3Zmc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21lX3Zmc19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhX2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOiAoZ3N0X3RoZW9yYV9lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOiAoZ3N0X3RoZW9yYV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NyYy5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9taXhlcnRyYWNrLmM6CgkgIChnc3RfbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKGdzdF9iYXNlcnRwcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzogKGdzdF9hdWRpb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgIChnc3RfYXVkaW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKGdzdF9wbGF5X2Jhc2VfYmluX2NsYXNzX2luaXQpLAoJICAocHJlcm9sbF91bmxpbmtlZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOiAoZ3N0X3F1ZXVlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6IChnc3RfdXJpX2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6IChnc3RfdmlkZW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6IChnc3RfdjRsbWpwZWdzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzogKGdzdF92NGxtanBlZ3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlCgkgIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdXNhZ2UsCgkgIGZld2VyIGFsbG9jYXRpb25zIGFuZCB0aHVzIGxlc3MgbWVtb3J5IGRlZnJhZ21lbnRhdGlvbi4gRGVwZW5kCgkgIG9uIGNvcmUgQ1ZTIGZvciB0aGlzLiBGaXhlcyBidWcgIzUyMzgwNi4KCjIwMDgtMDMtMjEgMTQ6NTA6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHsgfSB3aGlsZSAoMCkgbWFjcm9zLiBUaGlzIGZpeGVzIGEgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGcrKyA0Li4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB7IH0gd2hpbGUgKDApIG1hY3Jvcy4gVGhpcyBmaXhlcwoJICBhIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBnKysgNC4zLCByZXN1bHRpbmcgaW4gYSBidWlsZCBmYWlsdXJlCgkgIGJlY2F1c2Ugb2YgLVdlcnJvci4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBtZW1jcHkgYW5kIGZyaWVuZHMgdG8gZml4IHRoZSBidWlsZCB3aXRoCgkgIGdjYyA0LjMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSB0cmFpbGluZyBiYWNrc2xhc2guCgoyMDA4LTAzLTIwIDE4OjEwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRG8gZ19vYmplY3Rfbm90aWZ5KCkgb25seSB3aGVuIG5vdCBob2xkaW5nIHRoZSBsb2NrIHRvIGdldCB0aGUgcHJvcGVydHkgYmVjYXVzZSBvdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgIERvIGdfb2JqZWN0X25vdGlmeSgpIG9ubHkgd2hlbiBub3QgaG9sZGluZyB0aGUgbG9jayB0byBnZXQgdGhlIHByb3BlcnR5CgkgIGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIHJ1biBpbnRvIGEgZGVhZGxvY2sgd2l0aCB0aGUgZGVlcC1ub3RpZnkgaGFuZGxlcnMKCSAgdGhhdCBhcmUgcG9zc2libHkgaW5zdGFsbGVkLgoKMjAwOC0wMy0yMCAxNzo0ODo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IFJlbGVhc2UgdGhlIHNlbGVjdG9yIGxvY2sgd2hlbiBwYWQgYWxsb2MgaGFwcGVucyBvbiBhIG5vbiBzZWxlY3RlZCBwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKToKCSAgUmVsZWFzZSB0aGUgc2VsZWN0b3IgbG9jayB3aGVuIHBhZCBhbGxvYyBoYXBwZW5zIG9uIGEgbm9uIHNlbGVjdGVkIHBhZC4KCjIwMDgtMDMtMjAgMTc6MDc6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBBZGQgcGFkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBiZWhhdmlvdXIgb2YgdGhlIHVuc2VsZWN0ZWQgcGFkLCBpdCBjYW4gcmV0dXJuIE9LIG9yIE4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2luaXQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKToKCSAgQWRkIHBhZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgYmVoYXZpb3VyIG9mIHRoZSB1bnNlbGVjdGVkIHBhZCwgaXQgY2FuCgkgIHJldHVybiBPSyBvciBOT1RfTElOS0VELCBiYXNlZCBvbiB0aGUgdXNlIGNhc2UuCgoyMDA4LTAzLTIwIDE2OjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogRmlndXJlIG91dCB0aGUgbG9ja2luZyBhIGJpdCBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcnVubmluZ190aW1lKSwgKGdzdF9zZWxlY3Rvcl9wYWRfcmVzZXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl93YWl0KSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2Rpc3Bvc2UpLCAoZ3N0X3NlZ21lbnRfc2V0X3N0YXJ0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9saW5rZWRfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pc19hY3RpdmVfc2lua3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfYWN0aXZhdGVfc2lua3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2hhbmdlX3N0YXRlKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9ibG9jayksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBGaWd1cmUgb3V0IHRoZSBsb2NraW5nIGEgYml0IG1vcmUuCgkgIE1hcmsgYnVmZmVycyB3aXRoIGRpc2NvbnQgYWZ0ZXIgc3dpdGNoaW5nLgoJICBGaXggaW5pdGlhbCBzZWdtZW50IGZvcndhcmRpbmcsIG1ha2Ugc3VyZSB0byBvbmx5IGZvcndhcmQgb25lIHNlZ21lbnQKCSAgcmVnYXJkbGVzcyBvZiB3aGF0IHRoZSBzZXF1ZW5jZSBvZiBidWZmZXJzL3NlZ21lbnRzIGlzLiBTZWUgIzUyMjIwMy4KCSAgSW1wcm92ZSBmbHVzaGluZyB3aGVuIGJsb2NrZWQuCgkgIFJldHVybiBOT1RfTElOS0VEIHdoZW4gYSBzdHJlYW0gaXMgbm90IHNlbGVjdGVkLgoJICBOb3QgQVBJIGNoYW5nZSBmb3IgdGhlIHN3aXRjaCBzaWduYWwgaW4gdGhlIGRvY3MuCgkgIEZpeCBzdGFydC90aW1lL2FjY3VtIHZhbHVlcyBvZiB0aGUgbmV3IHNlZ21lbnQuCgkgIENvcnJlY3RseSB1bmxvY2sgYW5kIGZsdXNoIGEgYmxvY2tpbmcgc2VsZWN0b3Igd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDgtMDMtMjAgMTU6NTQ6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvOiBBZGQgc29tZSB0aG91Z2h0cyBhbmQgRklYTUUncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBZGQgc29tZSB0aG91Z2h0cyBhbmQgRklYTUUncy4KCjIwMDgtMDMtMjAgMTU6NDk6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggZm9yIGFicy4KCjIwMDgtMDMtMTkgMTk6NTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mcmVlemUvOiBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mcmVlemUvRkFROgoJICAqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBGQVEuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IuCgoyMDA4LTAzLTE5IDE4OjQ0OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvb2ZhL2dzdG9mYS5jOiBJbXByb3ZlIGRlYnVnZ2luZywgY2xlYW4gdXAgYSBiaXQgYW5kIHJlYWxseSBnZW5lcmF0ZSB0aGUgZmluZ2VycHJpbnQgYWZ0ZXIgMTM1IHNlY29uZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6IChjcmVhdGVfZmluZ2VycHJpbnQpLCAoZ3N0X29mYV9ldmVudCksCgkgIChnc3Rfb2ZhX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgIEltcHJvdmUgZGVidWdnaW5nLCBjbGVhbiB1cCBhIGJpdCBhbmQgcmVhbGx5IGdlbmVyYXRlIHRoZSBmaW5nZXJwcmludAoJICBhZnRlciAxMzUgc2Vjb25kcy4KCjIwMDgtMDMtMTkgMTg6MTk6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9vZmEvZ3N0b2ZhLmM6IFVzZSBHUEwgYXMgbGljZW5zZSwgdGhlIHBsdWdpbiBpdHNlbGYgaXMgTEdQTCBidXQgbGlib2ZhIGlzIEdQTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29mYS9nc3RvZmEuYzoKCSAgVXNlIEdQTCBhcyBsaWNlbnNlLCB0aGUgcGx1Z2luIGl0c2VsZiBpcyBMR1BMIGJ1dCBsaWJvZmEgaXMgR1BMLgoKMjAwOC0wMy0xOSAxODoxNDoxNyArMDAwMCAgRXJpYyBCdWVobCA8ZXJpYy5idWVobEBnbWFpbC5jb20+CgoJICBBZGQgYW4gT0ZBIGVsZW1lbnQsIHRoZSBzdWNjZXNzb3Igb2YgTXVzaWNCcmFpbnogVFJNIGZpbmdlcnByaW50aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogRXJpYyBCdWVobCA8ZXJpYyBkb3QgYnVlaGwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOiAoZ3N0X29mYV9iYXNlX2luaXQpLCAoZ3N0X29mYV9maW5hbGl6ZSksCgkgIChnc3Rfb2ZhX2NsYXNzX2luaXQpLCAoY3JlYXRlX2ZpbmdlcnByaW50KSwgKGdzdF9vZmFfZXZlbnQpLAoJICAoZ3N0X29mYV9pbml0KSwgKGdzdF9vZmFfdHJhbnNmb3JtX2lwKSwgKGdzdF9vZmFfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvb2ZhL2dzdG9mYS5oOgoJICBBZGQgYW4gT0ZBIGVsZW1lbnQsIHRoZSBzdWNjZXNzb3Igb2YgTXVzaWNCcmFpbnogVFJNIGZpbmdlcnByaW50aW5nLgoJICBGaXhlcyBidWcgIzM1MTMwOS4KCjIwMDgtMDMtMTggMTA6MTI6NDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfY2hhaW4pOiBGaXggYSBiYWQgZm9ybWF0IGFyZ3VtZW50LCBhbmQgYSBwb3RlbnRpYWwgaW50IG92ZXJmbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2NoYWluKTogRml4IGEgYmFkIGZvcm1hdCBhcmd1bWVudCwKCSAgYW5kIGEgcG90ZW50aWFsIGludCBvdmVyZmxvdy4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6IEluY2x1ZGUgPG5lYWFjZGVjLmg+IGlmIGZhYWQgaXMgbmVhYWMuCgkgIEF2b2lkcyBhICN3YXJuaW5nIGFib3V0IGFuIGlnbm9yZWQgI3ByYWdtYS4KCjIwMDgtMDMtMTcgMTU6NTE6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogVXBkYXRlIHN3aXRjaCBleGFtcGxlIHRvIHVzZSBpbnB1dCBzZWxlY3Rvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIFVwZGF0ZSBzd2l0Y2ggZXhhbXBsZSB0byB1c2UgaW5wdXQgc2VsZWN0b3IuCgoyMDA4LTAzLTE3IDA5OjAyOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBIYW5kbGUgSFRUUCBzdGF0dXMgY29kZSAzMDMgKFNlZSBPdGhlcikgdGhlIHNhbWUgd2F5IGFzIDMwMiAoRm91bmQpLiBOb3Qgc3VyZSB3aGF0IHRvIGRvIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBIYW5kbGUgSFRUUCBzdGF0dXMgY29kZSAzMDMgKFNlZSBPdGhlcikgdGhlIHNhbWUgd2F5CgkgIGFzIDMwMiAoRm91bmQpLiBOb3Qgc3VyZSB3aGF0IHRvIGRvIGFib3V0IGFsbCB0aGUgb3RoZXIgM3h4CgkgIHJlZGlyZWN0IHN0YXR1cyBjb2Rlcy4gRml4ZXMgYnVnICM1MjI4ODQuCgoyMDA4LTAzLTE0IDIxOjQ4OjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOiBNYWtlIHN1cmUgdGhlIGRzaG93IGhlbHBlciBsaWJyYXJ5IGhlYWRlcnMgZ2V0IGRpc3RyaWJ1dGVkIGluIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRoZSBkc2hvdyBoZWxwZXIgbGlicmFyeSBoZWFkZXJzIGdldCBkaXN0cmlidXRlZCBpbiB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wMy0xNCAxNzozODoxMCArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5oaz4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogU2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzLiAgRml4ZXMgIzUyMTM5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrCgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBTaWduaWZpY2FudCBpbXByb3ZlbWVudHMuICBGaXhlcyAjNTIxMzkyLgoKMjAwOC0wMy0xNCAxNzoyMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEFkZCBsb3RzIG9mIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCk6CgkgIEFkZCBsb3RzIG9mIGRlYnVnZ2luZy4KCSAgRml4IHRpbWUgbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wMy0xMyAxNjo0NjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IFZhcmlvdXMgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9maW5hbGl6ZSksIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEFkZGVkIHRhZ3MgdG8gdGhlIHBhZHMuCgkgIFNlbGVjdCBhY3RpdmUgcGFkIGJhc2VkIG9uIHRoZSBwYWQgb2JqZWN0IGluc3RlYWQgb2YgaXRzIG5hbWUuCgkgIEZpeCByZWZjb3VudCBpbiBzZXRfYWN0aXZlX3BhZC4KCSAgQWRkIHByb3BlcnR5IHRvIGdldCB0aGUgbnVtYmVyIG9mIHBhZHMuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBTZWxlY3QgdGhlIGFjdGl2ZSBwYWQgYmFzZWQgb24gdGhlIHBhZCBvYmplY3QgaW5zdGVhZCBvZiBpdHMgbmFtZS4KCSAgRml4IGxvY2tpbmcgd2hlbiBzZXR0aW5nIHRoZSBhY3RpdmUgcGFkLgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzogKGNsZWFudXBfcGFkKSwKCSAgKHNlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwgKHJ1bl9pbnB1dF9zZWxlY3Rvcl9idWZmZXJfY291bnQpOgoJICBGaXhlcyBmb3IgcGFkIGluc3RlYWQgb2YgcGFkbmFtZSBmb3IgcGFkIHNlbGVjdGlvbi4KCjIwMDgtMDMtMTMgMTQ6MjU6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbS5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogZ3N0L3R0YS9nc3R0dGEuYzoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZAoJICBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgoyMDA4LTAzLTEzIDA5OjQ1OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoKMjAwOC0wMy0xMiAxODo0NDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogU2V0IGNvcnJlY3QgcGl4ZWwgYXNwZWN0IHJhdGlvIGZvciB0aGUgZW5jb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBTZXQgY29ycmVjdCBwaXhlbCBhc3BlY3QgcmF0aW8gZm9yIHRoZSBlbmNvZGVyLgoKMjAwOC0wMy0xMSAxMjo0MDo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uKjogSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChmaW5kX2FkZF9jb25mbGljdGluZ19hZGRyZXNzZXMpLAoJICAoY2hlY2tfY29sbGlzaW9uKSwgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX25ld19zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBGaXhlcyAjNTIwNjI2LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9yZXNldCksCgkgIChydHBfc291cmNlX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWV0aG9kIHRvIHJlc2V0IHN0YXRzLgoKMjAwOC0wMy0xMSAxMTozNjowMyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0IGJlIGJsb2NrZWQgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoam9pbl9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKToKCSAgQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0CgkgIGJlIGJsb2NrZWQgZG93bnN0cmVhbS4gQWxzbyBhdm9pZCBzcGF3bmluZyBtdWx0aXBsZSBydGNwIHRocmVhZHMuCgkgIEZpeGVzICM1MjA4OTQuCgoyMDA4LTAzLTExIDEwOjQzOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBGaXhlcyAjNTE5MDA1LgoKMjAwOC0wMy0wOCAwNDoyNzowMyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBJbXByb3ZlIHRoZSBoZWFkZXIgY2hlY2tpbmcgdG8gbG9vayBmb3Igd2hhdCBmYWFkMiBsb29rcyBmb3IgdG9vLiBGaXhlcyBwbGF5YmFjayBvZiBzYW1lIGFwcGxlIHRyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChsb29rc19saWtlX3ZhbGlkX2hlYWRlcik6CgkgIEltcHJvdmUgdGhlIGhlYWRlciBjaGVja2luZyB0byBsb29rIGZvciB3aGF0IGZhYWQyIGxvb2tzCgkgIGZvciB0b28uIEZpeGVzIHBsYXliYWNrIG9mIHNhbWUgYXBwbGUgdHJhaWxlcnMuCgkgIEZpeGVzIGJ1ZyAjNDY5OTc5LgoKMjAwOC0wMy0wNyAxMzoyODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZWFsbHkgY2hlY2sgZm9yIGxpYmRjMTM5NCA+PSAyLjAuMCwgcGtnLWNvbmZpZyB0aGlua3MgdGhhdCAyLjAuMC1yY1ggaXMgbmV3ZXIgdGhhbiAyLjAuMCBzbyB3ZSBjaGVjayBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVhbGx5IGNoZWNrIGZvciBsaWJkYzEzOTQgPj0gMi4wLjAsIHBrZy1jb25maWcgdGhpbmtzIHRoYXQKCSAgMi4wLjAtcmNYIGlzIG5ld2VyIHRoYW4gMi4wLjAgc28gd2UgY2hlY2sgZm9yIHRoaXMgdG9vLgoKMjAwOC0wMy0wNiAwNzowMzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEFkZCBhIGJ1bmNoIG9mIHByb3BlcnRpZXMgY3JpYmJlZCBmcm9tIHRoZSBlbmNvZGVyIHByb2dyYW0gaW4gZGlyYWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogQWRkIGEgYnVuY2ggb2YgcHJvcGVydGllcyBjcmliYmVkCgkgIGZyb20gdGhlIGVuY29kZXIgcHJvZ3JhbSBpbiBkaXJhYy4KCjIwMDgtMDMtMDYgMDM6MTY6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV3cml0ZSBEaXJhYyBlbmNvZGVyIHBsdWdpbiBiYXNlZCBvbiBTY2hyb2VkaW5nZXIgZ3N0cmVhbWVyIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBSZXdyaXRlIERpcmFjIGVuY29kZXIgcGx1Z2luIGJhc2VkIG9uIFNjaHJvZWRpbmdlciBnc3RyZWFtZXIKCSAgZWxlbWVudHMuCgoyMDA4LTAzLTA1IDA2OjAzOjAzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgUG9ydCBtcGxleCBlbGVtZW50IHRvIDAuMTAuIEZpeGVzIGJ1ZyAjNTIwMzI5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5oaDoKCSAgUG9ydCBtcGxleCBlbGVtZW50IHRvIDAuMTAuIEZpeGVzIGJ1ZyAjNTIwMzI5LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6ICh0ZXN0X3NpbmtfZXZlbnQpLCAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX21wbGV4KSwgKGNsZWFudXBfbXBsZXgpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobXBsZXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBtcGxleCBlbGVtZW50LgoKMjAwOC0wMy0wNSAwNTozODowNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2xlYW4gdXAgZGV0ZWN0aW9uIG9mIGRpZmZlcmVudCBtanBlZ3Rvb2xzQVBJIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2xlYW4gdXAgZGV0ZWN0aW9uIG9mIGRpZmZlcmVudCBtanBlZ3Rvb2xzQVBJIHZlcnNpb25zLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJICBTdHJlYW1saW5lIGNvbmRpdGlvbmFsIGNvZGUgZm9yIGV2b2x2aW5nIG1qcGVndG9vbHMgQVBJLAoJICBvcHRpbWl6ZSBhbmQgZml4L3ByZXZlbnQgY3Jhc2ggaW4gbG9nIGhhbmRsaW5nLCB1c2UKCSAgbmFtZXMvbmlja3MgZm9yIGVudW1zIGluIHRoZSB1c3VhbCB3YXkgYW5kbSBpbm9yIHVwZGF0ZXMKCSAgaW4gY29kZSBhbmQgcHJvcGVydGllcy9zZXR0aW5ncy4gUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTIwMzI5LgoKMjAwOC0wMy0wNCAxNzo0OToxNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEFkZCBwYXJzaW5nIG9mIGNhYmxlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgcGFyc2luZyBvZiBjYWJsZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvci4KCjIwMDgtMDMtMDMgMTI6NDg6NTYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaAoJICBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNDk4MjIyKQoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMDgtMDMtMDMgMDY6MDQ6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5jOiAoZ3N0X2Fsc2FfbWl4ZXJfdHJhY2tfZ2V0X3R5cGUpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2ZmdC9raXNzX2ZmdF9mNjQuYzogKGtpc3NfZmZ0X2Y2NF9hbGxvYyk6CgkgICogZ3N0LWxpYnMvZ3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmM6CgkgIChnc3RfbWlzc2luZ191cmlfc2lua19tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2RlY29kZXJfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZW5jb2Rlcl9tZXNzYWdlX25ldyk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0cnRjcGJ1ZmZlci5jOgoJICAoZ3N0X3J0Y3BfcGFja2V0X2J5ZV9nZXRfcmVhc29uKToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5oOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2dldF9hbnlfY2Fwcyk6CgkgICogc3lzL3Y0bC92NGxfY2FsbHMuYzoKCSAgKiBzeXMvdjRsL3Y0bHNyY19jYWxscy5jOiAoZ3N0X3Y0bHNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bHNyY190cnlfY2FwdHVyZSk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94aW1hZ2VzaW5rX3hpbWFnZV9uZXcpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKHNldHVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVjb2RlYmluLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6IChzZXR1cF9nbm9tZXZmc3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChzZXR1cF9tdWx0aWZkc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKHNldHVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChzZXR1cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoc2V0dXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9jbG9jay1zZWxlY3Rpb24uYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoc2V0dXApLCAodGVhcmRvd24pOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL3ZpZGVvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAocXVlcnlfcG9zaXRpb25zX2VsZW1zKSwKCSAgKHF1ZXJ5X3Bvc2l0aW9uc19wYWRzKToKCSAgKiB0ZXN0cy9pY2xlcy9zdHJlc3MteG92ZXJsYXkuYzogKG15Y2xvY2spOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycyBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQKCSAgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cnRwLmRlZjoKCSAgQWRkIGdzdF9ydHBfYnVmZmVyX3NldF9leHRlbnNpb25fZGF0YSB0byB0aGUgc3ltYm9sIGRlZmluaXRpb24gZmlsZS4KCjIwMDgtMDMtMDMgMDQ6Mzk6NDggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogRml4IGF1ZGlvIGRpc2NvbnRpbnVpdHkgdGhhdCBoYXBwZW5zIHdoZW4gc2lsZW50IGNodW5rcyBhcmUgZm9sbG93ZWQgYnkgcmVhbCBkYXRhIGFnYWluLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9hdWRpb19kYXRhKSwKCSAgKGdzdF9tdmVfZGVtdXhfZ2V0X3R5cGUpOgoJICBGaXggYXVkaW8gZGlzY29udGludWl0eSB0aGF0IGhhcHBlbnMgd2hlbiBzaWxlbnQgY2h1bmtzIGFyZQoJICBmb2xsb3dlZCBieSByZWFsIGRhdGEgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE5OTA1LgoKMjAwOC0wMy0wMSAxMjo0OToxMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgRFZCLUMgc3VwcG9ydC4gU3BlY2lhbCB0aGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBhIHRlc3RpbmcgZ3JvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBBZGQgRFZCLUMgc3VwcG9ydC4gU3BlY2lhbCB0aGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyCgkgIGZvciBhIHRlc3RpbmcgZ3JvdW5kLgoKMjAwOC0wMi0yOCAxMzoyMjoyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBPbmx5IHNlbmQgUE1UcyB0byBwcm9ncmFtIHBhZHMgdGhhdCB0aGUgUE1UIGlzIGZvciBldmVuIGlmIG9uIHNhbWUgcGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgT25seSBzZW5kIFBNVHMgdG8gcHJvZ3JhbSBwYWRzIHRoYXQgdGhlIFBNVCBpcyBmb3IgZXZlbiBpZgoJICBvbiBzYW1lIHBpZC4KCSAgQXMgYSBieS1wcm9kdWN0LCB3ZSBub3cgbm8gbG9uZ2VyIGhhcmRjb2RlIGFueSBwc2kgcGlkIG51bWJlcnMuCgkgIEFsc28gcmVtb3ZlIHBjciBzdHJlYW0gZnJvbSBvbGQgcG10IHdoZW4gd2UgYXBwbHkgYSBuZXcgcG10LgoKMjAwOC0wMi0yOCAxMDo0MTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MgYW5kIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhdGltZSBhcyBsb2NhbCB0aW1lICh0aG9zZSBjaGFuZ2VzIGhhcyBiZWVuIGRvbmUgaW4gcHJldmlvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncyBhbmQgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGF0aW1lIGFzIGxvY2FsIHRpbWUgKHRob3NlIGNoYW5nZXMgaGFzIGJlZW4gZG9uZSBpbiBwcmV2aW91cyBjb21pdCBidXQgaGFkIHRvIGJlIHJldmVydCBpbiAyMDA4LTAyLTEwIGR1ZSB0byBmcm96ZW4pCgoyMDA4LTAyLTI3IDIzOjI5OjQ0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBSZW1vdmUgdGhlIEdfVkFMVUVfSE9MRFNfQk9YRUQgY2hlY2tzLiBUaGV5IHdlcmUgb25seSBhZGRlZCB0byBoZWxwIGRlYnVnIHRoZSBkYXRhIGNvcnJ1cHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgUmVtb3ZlIHRoZSBHX1ZBTFVFX0hPTERTX0JPWEVEIGNoZWNrcy4gVGhleSB3ZXJlCgkgIG9ubHkgYWRkZWQgdG8gaGVscCBkZWJ1ZyB0aGUgZGF0YSBjb3JydXB0aW9uLgoKMjAwOC0wMi0yNyAxOTo0MToxMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRG9uJ3QgZnJlZSB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9ycywgdGhpcyBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGVtIGlzIHN0aWxscyB0b3JlZCBhZnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBEb24ndCBmcmVlIHRoZSBwcm9ncmFtIGRlc2NyaXB0b3JzLCB0aGlzIHN0cnVjdHVyZQoJICBjb250YWluaW5nIHRoZW0gaXMgc3RpbGxzIHRvcmVkIGFmdGVyLgoJICBGaXhlcyBkYXRhIGNvcnJ1cHRpb24uCgoyMDA4LTAyLTI3IDEyOjM0OjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBFeHRyYSBjaGVja3MgdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vc2VnZmF1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIEV4dHJhIGNoZWNrcyB0byBwcmV2ZW50IGRhdGEgY29ycnVwdGlvbi9zZWdmYXVsdHMuCgoyMDA4LTAyLTI2IDE1OjEzOjU0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwOC0wMi0yNiAxMjowNDoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L25hcy9uYXNzaW5rLmM6IEZpeCBidWlsZCB3YXJuaW5nIGJ5IHVzaW5nIHBvcnRhYmxlIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6CgkgIEZpeCBidWlsZCB3YXJuaW5nIGJ5IHVzaW5nIHBvcnRhYmxlIEFQSS4KCjIwMDgtMDItMjYgMTI6MDE6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOiBGaXggY2hhbmdpbmcgdG8gc2FtZSBwYWQgdHdpY2UgYmVmb3JlIGEgY2hhaW4gY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBjaGFuZ2luZyB0byBzYW1lIHBhZCB0d2ljZSBiZWZvcmUgYSBjaGFpbiBjYWxsLgoKMjAwOC0wMi0yNiAwNTo1NDoyNiArMDAwMCAgRGFuaWVsIEZpc2NoZXIgPGRhbkBmM2MuY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYmRjMTM5NCAyLjAuMCBhbmQgYWJvdmUgYW5kIHJlcXVpcmUgdGhpcyB2ZXJzaW9uIG5vdy4gRml4ZXMgYnVnICM1MTQ5NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIEZpc2NoZXIgPGRhbiBhdCBmM2MgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJkYzEzOTQgMi4wLjAgYW5kIGFib3ZlIGFuZCByZXF1aXJlIHRoaXMgdmVyc2lvbgoJICBub3cuIEZpeGVzIGJ1ZyAjNTE0OTY0LgoKMjAwOC0wMi0yNiAwNTozNjoxNyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbiB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluCgkgIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoKMjAwOC0wMi0yNSAwODo1Mzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogQWRkZWQgInNlbGVjdC1hbGwiIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yayBsaWtlIGFnZ3JlZ2F0b3IgaW4gMC44LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIEFkZGVkICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB0byBtYWtlIGl0IHdvcmsgbGlrZSBhZ2dyZWdhdG9yIGluIDAuOC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHJlc2VuZC1sYXRlc3QgYmVoYXZvaXVyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHNlbGVjdG9yLgoKMjAwOC0wMi0yNSAwNjoyOToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIG1pZGkgdHlwZWZpbmRlcnMgYW5kIHJlcXVpcmUgYmFzZSBDVlMgYXMgdGhleSBtb3ZlZCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgbWlkaSB0eXBlZmluZGVycyBhbmQgcmVxdWlyZSBiYXNlIENWUyBhcyB0aGV5IG1vdmVkIHRoZXJlLgoKMjAwOC0wMi0yNCAwOTo1Nzo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBPbmx5IGRpc2FibGUgdGhlIGV4dC90aW1pZGl0eSBkaXJlY3RvcnkgaWYgYm90aCwgd2lsZG1pZGkgX2FuZF8gdGltaWRpdHkgYXJlIG5vdCBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgT25seSBkaXNhYmxlIHRoZSBleHQvdGltaWRpdHkgZGlyZWN0b3J5IGlmIGJvdGgsIHdpbGRtaWRpCgkgIF9hbmRfIHRpbWlkaXR5IGFyZSBub3QgYXZhaWxhYmxlLgoKMjAwOC0wMi0yNCAwNDoyNDoyMCArMDAwMCAgRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHVAdWJ1bnR1LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQnVpbGQgdGhlIHdpbGRtaWRpIHBsdWdpbiBpZiBpdCdzIGVuYWJsZWQgYW5kIG5vdCBvbmx5IHdoZW4gYm90aCwgdGhlIHRpbWlkaXR5IGFuZCB3aWxkbWlkaSBwbHVnaW4sIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVtaWxpbyBQb3p1ZWxvIE1vbmZvcnQgPHBvY2h1IGF0IHVidW50dSBkb3QgY29tPgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQnVpbGQgdGhlIHdpbGRtaWRpIHBsdWdpbiBpZiBpdCdzIGVuYWJsZWQgYW5kIG5vdCBvbmx5IHdoZW4KCSAgYm90aCwgdGhlIHRpbWlkaXR5IGFuZCB3aWxkbWlkaSBwbHVnaW4sIGFyZSBlbmFibGVkLgoKMjAwOC0wMi0yMyAxNTowMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCBHU1RfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcgQysrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCBHU1RfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtCgkgIHdoZW4gYnVpbGRpbmcgQysrIGNvZGUuCgoyMDA4LTAyLTIzIDExOjU2OjQxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXVsdGlwcm90byBkcml2ZXIgKG5vdCB5ZXQgbWVyZ2VkIGludG8gdjRsLWR2YiBtYWlubGluZSB5ZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdWx0aXByb3RvIGRyaXZlciAobm90IHlldCBtZXJnZWQgaW50bwoJICB2NGwtZHZiIG1haW5saW5lIHlldCkuCgkgIE9ubHkgd29ya3MgZm9yIERWQi1TIG5vdCBEVkItUzIsIERWQi1ULCBEVkItQyBvciBvdGhlci4KCjIwMDgtMDItMjIgMTA6MTg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IFVwZGF0ZSB0byB2ZXJzaW9uIDAuMTAuNi4xLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgdG8gdmVyc2lvbiAwLjEwLjYuMS4KCjIwMDgtMDItMjIgMDk6NTY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgZG9jcyBmb3IgZWxlbWVudHMgdGhhdCBoYXZlIG1vdmVkIHRvIG90aGVyIG1vZHVsZXMgb3IgYmVlbiByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZW1vdmUgZG9jcyBmb3IgZWxlbWVudHMgdGhhdCBoYXZlIG1vdmVkIHRvIG90aGVyIG1vZHVsZXMKCSAgb3IgYmVlbiByZW5hbWVkLgoKMjAwOC0wMi0yMiAwNzoyMDowMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2ZyZWUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIFByZWZpeCBwcm94eSBVUklzIHdpdGggImh0dHA6Ly8iIGlmIHRoZXkgZG9uJ3Qgc3RhcnQgd2l0aCBpdAoJICBhbHJlYWR5IGFuZCBjYXRjaCBlcnJvcnMgZWFybGllciwgZml4ZXMgaGFuZ2luZyBpbiBzb21lIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTE0OTQ4LgoKMjAwOC0wMi0yMiAwNjo0MjoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6IEFkZCBzdXBwcmVzc2lvbnMgZm9yIFNvdW5kVG91Y2ggdmFsZ3JpbmQgd2FybmluZ3MgYW5kIGEgdmFsZ3JpbmQgd2FybmluZyBjYXVzZWQgYnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwcHJlc3Npb25zIGZvciBTb3VuZFRvdWNoIHZhbGdyaW5kIHdhcm5pbmdzIGFuZAoJICBhIHZhbGdyaW5kIHdhcm5pbmcgY2F1c2VkIGJ5IHRoZSBMQURTUEEgc2luZSBwbHVnaW4gYW5kCgkgIGhhcHBlbmluZyBvbiBldmVyeSBleGl0KCkuCgkgIFJlbW92ZSBHSU8gc3VwcHJlc3Npb25zIGFzIGl0J3Mgbm93IGluIC1iYXNlLgoKMjAwOC0wMi0yMiAwNjozMzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogRG9uJ3QgYWxsb2NhdGUgYW5kIGNvcHkgdGhlIGRhdGEgdG8gYSBuZXcgcGxhY2UgYnV0IGluc3RlYWQgcHV0IHRoZSBkYXRhIGZyb20gZ215dGggKHdoaWNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19jcmVhdGUpOgoJICBEb24ndCBhbGxvY2F0ZSBhbmQgY29weSB0aGUgZGF0YSB0byBhIG5ldyBwbGFjZSBidXQgaW5zdGVhZAoJICBwdXQgdGhlIGRhdGEgZnJvbSBnbXl0aCAod2hpY2ggd2Ugb3duKSBpbnRvIHRoZSBidWZmZXJzIHRoYXQKCSAgYXJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOC0wMi0yMiAwNjozMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IElmIFdJTERNSURJX0NGRyBpcyBub3QgZGVmaW5lZCwgZGVmaW5lIGl0IHRvIHRoZSBkZWZhdWx0IHRpbWlkaXR5IGNvbmZpZ3VyZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgSWYgV0lMRE1JRElfQ0ZHIGlzIG5vdCBkZWZpbmVkLCBkZWZpbmUgaXQgdG8gdGhlIGRlZmF1bHQKCSAgdGltaWRpdHkgY29uZmlndXJlIGZpbGUuCgoyMDA4LTAyLTIyIDA2OjEyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgaGFjayB0byB3b3JrIHdpdGggbWpwZWd0b29scyAxLjkuMHJjMyBhbmQgYWJvdmUgYW5kIGluc3RlYWQgdXNlIG1qcGVnX2xvZ2xldl90KCkgZm9yIGdldHRpbmcgdGhlIGxvZyBsZXZlbHMuIEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIEhhbnMgZGUgR29lZGUgPGogZG90IHcgZG90IHIgZG90IGRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBSZW1vdmUgaGFjayB0byB3b3JrIHdpdGggbWpwZWd0b29scyAxLjkuMHJjMyBhbmQgYWJvdmUgYW5kIGluc3RlYWQKCSAgdXNlIG1qcGVnX2xvZ2xldl90KCkgZm9yIGdldHRpbmcgdGhlIGxvZyBsZXZlbHMuIENoZWNrIGZvciB0aGlzCgkgIGZ1bmN0aW9uIGluIGNvbmZpZ3VyZS5hYyBhcyB0aGUgcGtnLWNvbmZpZyBmaWxlIGRvZXNuJ3QgdGVsbCB1cwoJICB3aGljaCByZWxlYXNlIGNhbmRpZGF0ZSB3ZSBoYXZlLiBGaXhlcyBidWcgIzUxNzg5Ni4KCjIwMDgtMDItMjIgMDU6NDg6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggZm9yIHRoZSBuYXMgcGx1Z2luIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgaXQgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE3ODk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGZvciB0aGUgbmFzIHBsdWdpbiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIGl0CgkgIGFnYWluLiBGaXhlcyBidWcgIzUxNzg5NS4KCjIwMDgtMDItMjIgMDU6NDI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBJZ25vcmUgc29tZSBtb3JlIGVsZW1lbnRzIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCwgbGlrZSBkZmJ2aWRlb3Npbmsgd2hpY2ggcHJvZHVjZXMgYSBzZWdmYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIHNvbWUgbW9yZSBlbGVtZW50cyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QsIGxpa2UKCSAgZGZidmlkZW9zaW5rIHdoaWNoIHByb2R1Y2VzIGEgc2VnZmF1bHQuIEZpeGVzIGJ1ZyAjNTE3ODU0LgoKMjAwOC0wMi0yMiAwNTozMzo1OSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgU29tZSBDODkgZml4ZXMsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZiX3Byb3BlcnR5X3NldF92ZXJzaW9uKToKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9kZWNvZGVyX21lc3NhZ2Vfc2V0X2VuY29kaW5ncyksCgkgIChyZmJfZGVjb2Rlcl9zdGF0ZV9zZXRfZW5jb2RpbmdzKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfbml0KSwgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX3NkdCksCgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9laXQpOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZmJkZXZzaW5rX3NldGNhcHMpLCAoZ3N0X2ZiZGV2c2lua19yZW5kZXIpOgoJICBTb21lIEM4OSBmaXhlcywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nCgkgIG9mIGEgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTM3LgoKMjAwOC0wMi0yMSAyMzo1MDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgo9PT0gcmVsZWFzZSAwLjEwLjYgPT09CgoyMDA4LTAyLTIxIDAwOjEzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNiAtIEEgQmlnIERlZXAgQnJlYXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNiAtIEEgQmlnIERlZXAgQnJlYXRoCgoyMDA4LTAyLTIwIDIzOjM1OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wMi0yMCAxNjowNDozMiArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogVXNpbmcgdGhlIHdyb25nIEdzdEZvcm1hdCBmb3IgdGhlIGZpbGVzaXplLCBhbmQgZmFpbCBzZWVrIHByb3Blcmx5IG9uIGFueXRoaW5nIGJ1dCBfQllURVMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTIwICBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzc0BoYWRlc3MubmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19kb19zZWVrKSwKCSAgKGdzdF9teXRodHZfc3JjX3N0YXJ0KTogVXNpbmcgdGhlIHdyb25nIEdzdEZvcm1hdCBmb3IgdGhlIGZpbGVzaXplLAoJICBhbmQgZmFpbCBzZWVrIHByb3Blcmx5IG9uIGFueXRoaW5nIGJ1dCBfQllURVMgZm9ybWF0CgkgIEZpeGVzIGJ1ZyAjNTE3Njg0CgoyMDA4LTAyLTIwIDA5OjMzOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCjIwMDgtMDItMTkgMTE6NTA6NDUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBjaGFuZ2UgZ215dGgtMS4wIHRvIGdteXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgZ215dGgtMS4wIHRvIGdteXRoCgoyMDA4LTAyLTE5IDEwOjUxOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdHRhL01ha2VmaWxlLmFtOiBMaW5rIHR0YSBwbHVnaW4gd2l0aCBsaWJtLiBGaXhlcyBidWcgIzUxNzM5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgTGluayB0dGEgcGx1Z2luIHdpdGggbGlibS4gRml4ZXMgYnVnICM1MTczOTEuCgoyMDA4LTAyLTE0IDE3OjA5OjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBEbyBub3QgYXNzdW1lICJkZXNjcmlwdG9ycyIgcHJvcGVydHkgaW4gdGhlIHBtdCBzdHJ1Y3R1cmUgaXMgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBEbyBub3QgYXNzdW1lICJkZXNjcmlwdG9ycyIgcHJvcGVydHkgaW4gdGhlIHBtdCBzdHJ1Y3R1cmUKCSAgaXMgcHJlc2VudC4KCSAgRml4ZXMgIzUxNjQ5OS4KCjIwMDgtMDItMTQgMTY6MjU6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZwoJICBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgoyMDA4LTAyLTE0IDE0OjMzOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiBTZXQgbl9saW5lX2N0cmxfaSB0byAwIHdoZW5ldmVyIHdlIGZyZWUgbGluZV9jdHJsX2kuIFBhdGNoIGJhc2VkIG9uIGFuIGlkZWEgYnkgSmFuIFNjaG1pZHQsIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGdzdF9kdmRfc3B1X2hhbmRsZV9uZXdfc3B1X2J1Zik6CgkgIFNldCBuX2xpbmVfY3RybF9pIHRvIDAgd2hlbmV2ZXIgd2UgZnJlZSBsaW5lX2N0cmxfaS4gUGF0Y2ggYmFzZWQKCSAgb24gYW4gaWRlYSBieSBKYW4gU2NobWlkdCwgZml4ZXMgYnVnICM1MTY0MzYuCgoyMDA4LTAyLTE0IDE0OjIyOjU3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogTWFrZSBzdXJlIHRoZSBnc3RtcGVnZGVzYyBkZWJ1ZyBsaW5lcyBkbyBub3QgY3JpdGljYWwgd2hlbiBHU1RfREVCVUcgaXMgZW5hYmxlZCBhbmQgYWxzbyBhY3R1YWxseSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNYWtlIHN1cmUgdGhlIGdzdG1wZWdkZXNjIGRlYnVnIGxpbmVzIGRvIG5vdCBjcml0aWNhbAoJICB3aGVuIEdTVF9ERUJVRyBpcyBlbmFibGVkIGFuZCBhbHNvIGFjdHVhbGx5IG91dHB1dC4KCSAgVGhhbmtzIHRvIEFsZXNzYW5kcm8gRGVjaW5hIGZvciBzcG90dGluZy4KCSAgRml4ZXMgIzUxNjQ0OAoKMjAwOC0wMi0xMyAyMzo1Mjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBbHNvIGFkZCBkc2hvdyBwaWVjZXMgdG8gdGhlIGRpc3RlZCBzdWJkaXJzIHRvIGZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFsc28gYWRkIGRzaG93IHBpZWNlcyB0byB0aGUgZGlzdGVkIHN1YmRpcnMgdG8gZml4IGRpc3RjaGVjay4KCjIwMDgtMDItMTMgMTQ6NDA6MzMgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gUmUtRml4ZXMgIzUxNjA2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIFJlLUZpeGVzICM1MTYwNjEuCgoyMDA4LTAyLTEzIDExOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFsbG93IGdteXRoIHZlcnNpb25zIGZyb20gMC40IHVwIHRvIDAuNy45OSwgdGhlIEFQSSBkaWRuJ3QgY2hhbmdlIHVudGlsIDAuNyBmb3J0dW5hdGVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbGxvdyBnbXl0aCB2ZXJzaW9ucyBmcm9tIDAuNCB1cCB0byAwLjcuOTksIHRoZSBBUEkgZGlkbid0IGNoYW5nZQoJICB1bnRpbCAwLjcgZm9ydHVuYXRlbHkuCgoyMDA4LTAyLTEyIDIzOjE2OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogR2VuZXJhdGUgdGhlIGRpcmVjdHNob3cgTWFrZWZpbGVzIHNvIHRoYXQgdGhlIGRpcmVjdG9yaWVzIGdldCBkaXN0ZWQuIFN0aWxsIG5lZWRzIHNvbWUgY29uZmlndXJlIHRpbWUgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEdlbmVyYXRlIHRoZSBkaXJlY3RzaG93IE1ha2VmaWxlcyBzbyB0aGF0IHRoZSBkaXJlY3RvcmllcwoJICBnZXQgZGlzdGVkLiBTdGlsbCBuZWVkcyBzb21lIGNvbmZpZ3VyZSB0aW1lIGRldGVjdGlvbiB0byBlbmFibGUKCSAgYnVpbGRpbmcgdGhlbSB1bmRlciBNaW5nVy4KCjIwMDgtMDItMTIgMjM6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOiBEb24ndCBpbnN0YWxsIGEgaGVhZGVyIGZpbGUuIFdlIHdpbGwgaGF2ZSB0byBtZXJnZSB0aGVzZSB0YWdzIGludG8gbGliZ3N0dGFnIGFmdGVyIHRoZSByZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBhIGhlYWRlciBmaWxlLiBXZSB3aWxsIGhhdmUgdG8gbWVyZ2UgdGhlc2UKCSAgdGFncyBpbnRvIGxpYmdzdHRhZyBhZnRlciB0aGUgcmVsZWFzZSBhbmQgdXNlIHRoZW0gZnJvbSB0aGVyZS4KCSAgRml4ZXM6ICM1MTU4NjAKCjIwMDgtMDItMTIgMjI6MTA6MzkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIEFkZCBNYWtlZmlsZXMgdG8gd2luMzIgcGx1Z2lucyBhbmQgbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBBZGQgTWFrZWZpbGVzIHRvIHdpbjMyIHBsdWdpbnMgYW5kIGxpYi4KCSAgVGhleSB3aWxsIG5lZWQgdG8gYmUgdGVzdGVkIGFuZCBwcm9iYWJseSBmaXhlZCBieSBkZXZlbG9wZXJzCgkgIHdvcmtpbmcgd2l0aCBtaW5ndy4gVGhpcyBpcyBhIGZpcnN0IHN0ZXAgdG8gaW5jbHVkZSBzb3VyY2UgZmlsZXMKCSAgd2l0aCByZWxlYXNlcy4KCjIwMDgtMDItMTIgMjE6MzE6NTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IGxlYWsgb2YgbG9jYXRpb24gc3RyaW5nIHJldHVybmVkIGZyb20gZ3N0X3VyaV9nZXRfbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBGaXggbGVhayBvZiBsb2NhdGlvbiBzdHJpbmcgcmV0dXJuZWQgZnJvbSBnc3RfdXJpX2dldF9sb2NhdGlvbi4KCSAgRml4ZXMgYnVnICM1MTYxMTQKCjIwMDgtMDItMTIgMjE6MDE6MTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmVtb3ZlIGdsaW1hZ2VzaW5rLCBhcyBpdCdzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ2wuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL0JVR1M6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlbW92ZSBnbGltYWdlc2luaywgYXMgaXQncyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdsLgoJICBGaXhlcyAjNTE2MDk0LgoKMjAwOC0wMi0xMiAxODoyOToyOSArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBGaXhlcyAjNTE2MDYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gRml4ZXMgIzUxNjA2MS4KCjIwMDgtMDItMTIgMTE6MDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBDaGFpbiB1cCBkaXNwb3NlIG1ldGhvZHMgcHJvcGVybHkuIEZpeGVzIGJ1ZyAjNTE1OTcwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2Rpc3Bvc2UpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfZGlzcG9zZSk6CgkgIENoYWluIHVwIGRpc3Bvc2UgbWV0aG9kcyBwcm9wZXJseS4gRml4ZXMgYnVnICM1MTU5NzAuCgoyMDA4LTAyLTEyIDExOjAyOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIDUxNTkxOSBmaXhlZCBpbiBteSBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyA1MTU5MTkgZml4ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgoyMDA4LTAyLTEyIDEwOjU3OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEZpeCBsZWFraW5nIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggbGVha2luZyBjYXBzLgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIGZvcndhcmQgbW9kZS4KCSAgQ2xlYW51cCBxdWV1ZXMgd2hlbiBnb2luZyB0byBSRUFEWS4gRml4ZXMgIzUxNTgxNS4KCjIwMDgtMDItMTIgMTA6MjQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgR0lPIHBsdWdpbiBhcyBpdCB3YXMgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVnICM1MTU5NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBHSU8gcGx1Z2luIGFzIGl0IHdhcyBtb3ZlZCB0bwoJICBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWcgIzUxNTk2NC4KCjIwMDgtMDItMTIgMTA6MjI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IHNvbWUgZmluYWxpemUgbGVha3MgYnkgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgIEZpeCBzb21lIGZpbmFsaXplIGxlYWtzIGJ5IGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgbWV0aG9kLgoKMjAwOC0wMi0xMiAwNToyMTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoKMjAwOC0wMi0xMiAwNToxOTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogRnJlZSB0aGUgcmZiIGRlY29kZXIgb24gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYl9zcmNfZGlzcG9zZSk6CgkgIEZyZWUgdGhlIHJmYiBkZWNvZGVyIG9uIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMS4KCjIwMDgtMDItMTEgMTM6MzQ6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogRnJlZSB0aGUgZGV2aWNlIHN0cmluZyBpbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZmJkZXZzaW5rX2ZpbmFsaXplKToKCSAgRnJlZSB0aGUgZGV2aWNlIHN0cmluZyBpbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjIuCgoyMDA4LTAyLTExIDEzOjMzOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgdXNpbmcgdGhlbS4gRml4ZXMgYnVnICM1MTU3MjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIHVzaW5nIHRoZW0uIEZpeGVzIGJ1ZyAjNTE1NzIwLgoKMjAwOC0wMi0xMSAwNToxMToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhlIGR2YiBwbHVnaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdC4gRml4ZXMgYnVnICM1MTU1NjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBkdmIgcGx1Z2luIGZvciB0aGUgc3RhdGVzIHRlc3QuIEZpeGVzIGJ1ZyAjNTE1NTY3LgoKMjAwOC0wMi0xMCAyMTowMzo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUmV2ZXJ0IGNoYW5nZXMgdG8gMjAwOC0wMi0wOSBkdWUgdG8gZnJvemVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2ZXJ0IGNoYW5nZXMgdG8gMjAwOC0wMi0wOSBkdWUgdG8gZnJvemVuLgoKMjAwOC0wMi0xMCAxOTo0NDo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBKb3NlcCdzIHN1cm5hbWUgaW4gdGhlIHByZXZpb3VzIGZldyBjb21taXRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggSm9zZXAncyBzdXJuYW1lIGluIHRoZSBwcmV2aW91cyBmZXcgY29tbWl0cwoKMjAwOC0wMi0xMCAxOTowMTo0MyArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogVHJpdmlhbCBmaXggZm9yIGJ1aWxkIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgVHJpdmlhbCBmaXggZm9yIGJ1aWxkIHdhcm5pbmcuCgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICBGaXhlczogIzUxNTU4OAoKMjAwOC0wMi0xMCAxODozNjo0NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YVRpbWUgYXMgbG9jYWwgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhVGltZSBhcyBsb2NhbCB0aW1lLgoKMjAwOC0wMi0xMCAwNDozNjoxMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncy4KCjIwMDgtMDItMDkgMDM6Mzc6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOiBMaXN0aW5nIHRoZSBtYXJzaGFsLmggaW4gdGhlIG5vZGlzdF9IRUFERVJTIGJyZWFrcyBkaXN0Y2hlY2ssIHNvIGxldCdzIG5vdCBkbyB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgTGlzdGluZyB0aGUgbWFyc2hhbC5oIGluIHRoZSBub2Rpc3RfSEVBREVSUyBicmVha3MgZGlzdGNoZWNrLCBzbwoJICBsZXQncyBub3QgZG8gdGhhdAoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBjcmFzaGluZyBjZGF1ZGlvIHBsdWdpbiBmcm9tIHRoZSBzdGF0ZXMgdGVzdCBzbyBJIGNhbiBtYWtlCgkgIHByZS1yZWxlYXNlcy4KCjIwMDgtMDItMDkgMDI6MzM6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogQ29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhbmQgc2V0IC1rYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx2LmRzcDoKCSAgQ29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhbmQgc2V0IC1rYgoKMjAwOC0wMi0wOCAxODoyMjowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgVVJJIEhhbmRsZXIgZm9yIGR2Yi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgQWRkIFVSSSBIYW5kbGVyIGZvciBkdmIuCgkgIFJlLW9yZGVyIHBhZCB0ZW1wbGF0ZXMgdG8gd29ya2Fyb3VuZCBhIGJ1ZyBpbiBwbGF5YmFzZWJpbi4KCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgQWRkIGNvZGUgdG8gcGFyc2UgY2hhbm5lbHMgZnJvbSB6YXAtc3R5bGUgY2hhbm5lbHMuY29uZiBmaWxlcy4KCjIwMDgtMDItMDggMDQ6MjI6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIG11bHRpZmlsZSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIFJlbW92ZSBtdWx0aWZpbGUgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDM6NDQ6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS86IFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIFNob3VsZCBiZSBsZXNzIGVycm9yIHByb25lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzaW5nIHN0YW5kYXJkIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mCgkgIGNyZWF0aW5nIGEgZGlyZWN0b3J5IGluIHRoZSBjdXJyZW50IGRpci4KCjIwMDgtMDItMDggMDM6Mjc6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHNwZWN0cnVtIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlY3RydW0vc3BlY3RydW0udmNwcm9qOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIFJlbW92ZSBzcGVjdHJ1bSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMjo0ODo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUywgdG8gZ2V0IC1XZXJyb3IgLVdhbGwgaW50byB0aGUgdGVzdHMgYXMgZm9yCgkgIG90aGVyIG1vZHVsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgZnJvbSAtV2FsbCAtV2Vycm9yCgoyMDA4LTAyLTA4IDAyOjAwOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIFJlbW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAxOjEyOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSBESVNBQkxFX0RFUFJFQ0FURUQgZGVmaW5lZCAqb25seSogZHVyaW5nIENWUywgbm90IGR1cmluZyBwcmUtcmVsZWFzZXMgb3IgcmVsZWFzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSBESVNBQkxFX0RFUFJFQ0FURUQgZGVmaW5lZCAqb25seSogZHVyaW5nIENWUywgbm90IGR1cmluZwoJICBwcmUtcmVsZWFzZXMgb3IgcmVsZWFzZXMuCgoyMDA4LTAyLTA4IDAwOjQ4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogRG9uJ3Qgc2NhbiBkZWxldGVkIHhpbmdtdXggaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIERvbid0IHNjYW4gZGVsZXRlZCB4aW5nbXV4IGhlYWRlci4KCjIwMDgtMDItMDggMDA6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSB4aW5nbXV4IHBsdWdpbiwgYXMgdGhlIGVsZW1lbnQgaGFzIG1vdmVkIGludG8gbXBlZ2F1ZGlvcGFyc2UgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eF90ZXN0ZGF0YS5oOgoJICBSZW1vdmUgdGhlIHhpbmdtdXggcGx1Z2luLCBhcyB0aGUgZWxlbWVudCBoYXMgbW92ZWQgaW50bwoJICBtcGVnYXVkaW9wYXJzZSBpbiAtdWdseS4KCjIwMDgtMDItMDcgMjM6Mzc6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBSZW1vdmUgbWVudGlvbiBvZiBub24tZXhpc3RlbnQgaGVhZGVycyB0byBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBtZW50aW9uIG9mIG5vbi1leGlzdGVudCBoZWFkZXJzIHRvIGZpeCB0aGUgYnVpbGQuCgoyMDA4LTAyLTA3IDIzOjMwOjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBHSU8gcGx1Z2luIHdoaWNoIGhhcyBub3cgbW92ZWQgdG8gLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgUmVtb3ZlIEdJTyBwbHVnaW4gd2hpY2ggaGFzIG5vdyBtb3ZlZCB0byAtYmFzZS4KCjIwMDgtMDItMDcgMjE6NTM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgLSB0aGV5J3ZlIGJlY29tZSBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kIHJlc3BlY3RpdmVseSwgaW4gdGhlIGdzdC1wbHVnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZmlsdGVyLnZjcHJvajoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzoKCSAgUmVtb3ZlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgLSB0aGV5J3ZlIGJlY29tZQoJICBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kIHJlc3BlY3RpdmVseSwgaW4gdGhlCgkgIGdzdC1wbHVnaW5zLWdvb2QgYXVkaW9meCBwbHVnaW4uCgoyMDA4LTAyLTA3IDIxOjAyOjE5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHRcbmVvblxnc3RuZW9uaHR0cHNyYy5jOiBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgX0hBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHRcbmVvblxnc3RuZW9uaHR0cHNyYy5jOgoJICBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgX0hBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICAqIGdzdFxtcGVndmlkZW9wYXJzZVxtcGVndmlkZW9wYXJzZS5jOgoJICBVc2UgR19HVUlOVDY0X0NPTlNUQU5UIEdMSUIgbWFjcm8gZm9yIGNvbnN0YW50CgkgICogc3lzXGRzaG93c3Jjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzXGRzaG93c3Jjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb2RlYy5jCgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIEFkZCBhIERpcmVjdFNob3cgZGVjb2RlciB3cmFwcGVyLgoJICAqIHdpbjMyXE1BTklGRVNUOgoJICBBZGQgbmV3IHdpbjMyIGZpbGVzIHRvIE1BTklGRVNUCgkgICogd2luMzJcdnM2XGdzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzJcdnM2XGxpYmdzdGRzaG93LmRzcDoKCSAgKiB3aW4zMlx2czZcbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMlx2czZcbGliZ3N0Zmx2LmRzcDoKCSAgQWRkIG5ldyBwcm9qZWN0cyB0byBiYWQgd29ya3NwYWNlCgoyMDA4LTAyLTA3IDE0OjQ1OjA2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUGFyc2UgY29tcG9uZW50IGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIGNvbXBvbmVudCBkZXNjcmlwdG9yLgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBZGQgU0kgcGlkcyB0byBldmVyeSBwcm9ncmFtIChidXQgaGFyZGNvZGVkIGN1cnJlbnRseSkuCgoyMDA4LTAyLTA3IDEzOjU5OjQxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgQWRkIG1vcmUgdGFncy4gSW1wcm92ZSB0ZXN0IGFwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtb3JlIHRhZ3MuIEltcHJvdmUgdGVzdCBhcHAuCgoyMDA4LTAyLTA3IDEzOjQ4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzogQWRkIGEgZml4bWUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBzYW1lIGxlYWsgYXMgaW4gaW5wdXQtc2VsZWN0b3IuCgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdC4KCjIwMDgtMDItMDcgMTM6NDE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXByb3ZlIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgSW1wcm92ZSB0aGUgZG9jcy4KCjIwMDgtMDItMDcgMTI6MDU6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFRoZSBkYzEzOTQgcGx1Z2luIHNlZW1zIHRvIHVzZSBBUEkgdGhhdCB3YXMgcmVtb3ZlZCBvciBjaGFuZ2VkIGJlZm9yZSB0aGUgZmluYWwgMi4wLjAgcmVsZWFzZSwgc28gb25seSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBUaGUgZGMxMzk0IHBsdWdpbiBzZWVtcyB0byB1c2UgQVBJIHRoYXQgd2FzIHJlbW92ZWQgb3IgY2hhbmdlZAoJICBiZWZvcmUgdGhlIGZpbmFsIDIuMC4wIHJlbGVhc2UsIHNvIG9ubHkgYnVpbGQgaXQgaWYgMi4wLjAtcmM1CgkgIGlzIGF2YWlsYWJsZS4gU29tZW9uZSBuZWVkcyB0byBwb3J0IGl0IHRvIHRoZSBmaW5hbCBBUEkuCgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfY2hhbmdlX2NhbWVyYV90cmFuc21pc3Npb24pOgoJICBJbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jcHkgYW5kIHVzZSBnX3VzbGVlcCBpbnN0ZWFkIG9mIHVzbGVlcC4KCjIwMDgtMDItMDcgMTA6MDQ6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wMi0wNyAwMjowNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbTogUHV0IENGTEFHUyBhbmQgTElCUyBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgIFB1dCBDRkxBR1MgYW5kIExJQlMgaW4gdGhlIHJpZ2h0IG9yZGVyCgoyMDA4LTAyLTA2IDE4OjU2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiB4aW1hZ2VzcmMgaGFzIG1vdmVkIHRvIC1nb29kLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciB0aGUgcmVxdWlyZWQgWCBsaWJzIGhlcmUgYW55IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgeGltYWdlc3JjIGhhcyBtb3ZlZCB0byAtZ29vZCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IKCSAgdGhlIHJlcXVpcmVkIFggbGlicyBoZXJlIGFueSBtb3JlLgoKMjAwOC0wMi0wNiAxMTowNzo0NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0wMi0wNSAxNzoxMDoxMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIEFkZCBtb3JlIHRhZ3MgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtb3JlIHRhZ3MgbWFwcGluZy4KCjIwMDgtMDItMDUgMTI6MTk6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogSGFuZGxlIGxhdGVuY3kgcXVlcmllcyBpbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEhhbmRsZSBsYXRlbmN5IHF1ZXJpZXMgaW4gc3JjIHBhZHMuCgoyMDA4LTAyLTA1IDExOjQwOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGZsYWcgdG8gYm90aCBzZHQgYW5kIG5pdCBzdHJ1Y3R1cmVzIHRvIHNheSB3aGV0aGVyIHRoZSB0YWJsZSBpcyBmb3IgdGhlIGFjdHVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBmbGFnIHRvIGJvdGggc2R0IGFuZCBuaXQgc3RydWN0dXJlcyB0byBzYXkKCSAgd2hldGhlciB0aGUgdGFibGUgaXMgZm9yIHRoZSBhY3R1YWwgbmV0d29yay90cwoJICBvciBub3QuCgoyMDA4LTAyLTA1IDExOjMwOjQ5ICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEZsdXNoIHBhY2tldGl6ZXIgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpOgoJICBGbHVzaCBwYWNrZXRpemVyIHRvby4KCjIwMDgtMDItMDQgMTk6MTU6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUgYXMgdGhlIHN0dWZmIGdlbmVyYXRlZCBmcm9tIGl0IGlzIG5vdCB1c2VkIGFueXdheSBhbmQgY2FuJ3QgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KSwKCSAgKGdzdF9sYWRzcGFfY2xhc3NfaW5pdCksIChsYWRzcGFfZGVzY3JpYmVfcGx1Z2luKSwgKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURSBhcyB0aGUgc3R1ZmYgZ2VuZXJhdGVkIGZyb20gaXQgaXMgbm90IHVzZWQKCSAgYW55d2F5IGFuZCBjYW4ndCBiZSB1c2VkLgoJICBTdG9yZSB0aGUgY2xhc3Mgc3RydWN0IG9mIHRoZSBjb3JyZWN0IHR5cGUgaW4gcGFyZW50X2NsYXNzLgoJICBQYXNzIHRoZSBMQURTUEFfRGVzY3JpcHRvciBhcyBjbGFzc19kYXRhIHRvIHRoZSBjbGFzc19pbml0IGZ1bmN0aW9uCgkgIGFzIHByZXBhcmF0aW9uIGZvciB0aGUgdGltZSwgd2hlbiB3ZSBjYW4gYWRkIHBhZCB0ZW1wbGF0ZXMgYW5kIGZyaWVuZHMKCSAgaW4gY2xhc3NfaW5pdCBhbmQgYWRkIGEgRklYTUUgZm9yIHRoYXQuCgkgIERvbid0IHVzZSBhIGN1c3RvbSBoYXNoIHRhYmxlIGZvciBwYXNzaW5nIHRoZSBMQURTUEFfRGVzY3JpcHRvcnMgdG8KCSAgYmFzZV9pbml0IGJ1dCB1c2UgZ190eXBlX3NldF9xZGF0YSBhbmQgZ190eXBlX2dldF9xZGF0YS4KCjIwMDgtMDItMDQgMTY6MjI6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBSZWFsbHkgZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgUmVhbGx5IGZpeCB0aGUgYnVpbGQuCgkgIFRPRE8gOiBBcHBseSBzcGFua09tYXRpYzIwMDAgb24gdGhheXRhbidzIHJlYXIgZW5kLgoKMjAwOC0wMi0wNCAxMzoxMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYm1qcGVndG9vbHMgMS44LnguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIChHc3RNcGVnMkVuY1BpY3R1cmVSZWFkZXIuU3RyZWFtUGljdHVyZVBhcmFtcyk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYm1qcGVndG9vbHMgMS44LnguCgoyMDA4LTAyLTA0IDExOjQ4OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBEb24ndCB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlIGFmdGVyIGFkZGluZyBpdC4gZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSB0YWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUpOgoJICBEb24ndCB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlIGFmdGVyIGFkZGluZyBpdC4KCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSB0YWtlcyBvd25lcnNoaXAgb2YgaXQuCgoyMDA4LTAyLTAzIDE4OjIyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IFVzZSB0aGUgaW5jb21pbmcgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHByb3ZpZGVkIHRvIGluZmVyIGEgZGVmYXVsdCBhc3BlY3Qgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICBVc2UgdGhlIGluY29taW5nIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBwcm92aWRlZCB0byBpbmZlciBhCgkgIGRlZmF1bHQgYXNwZWN0IHJhdGlvLCB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiB1c2luZyB0aGUgJ2FzcGVjdCcKCSAgcHJvcGVydHkuCgkgIEZpeGVzOiAjNDk5MDA4CgoyMDA4LTAyLTAzIDE3OjQ3OjI1ICswMDAwICBBbmRyemVqIE1lbmRlbCA8YW5kcnplai5tZW5kZWxAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggdmFyaWFibGUgbmFtaW5nIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgdGhlIGdsaW1hZ2VzaW5rIHBsdWdpbi4gRml4ZXMgYnVnICM1MTQwOTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcnplaiBNZW5kZWwgPGFuZHJ6ZWogZG90IG1lbmRlbCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHZhcmlhYmxlIG5hbWluZyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHRoZSBnbGltYWdlc2luawoJICBwbHVnaW4uIEZpeGVzIGJ1ZyAjNTE0MDkzLgoKMjAwOC0wMi0wMiAyMzoyNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6IERlbW90ZSBtZXRhZGF0YWRlbXV4IHRvIEdTVF9SQU5LX05PTkUgZm9yIHRoZSByZWxlYXNlLCBpdCdzIG5vdCByZWFkeSB0byBiZSBhdXRvcGx1Zy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICBEZW1vdGUgbWV0YWRhdGFkZW11eCB0byBHU1RfUkFOS19OT05FIGZvciB0aGUgcmVsZWFzZSwgaXQncyBub3QKCSAgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQgeWV0LgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGZvciBHVHlwZSBvbiBwcGMzMiBieSByZW1vdmluZyBpdCwKCSAgc2luY2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByaW50IHRoZSBHVHlwZSB2YWx1ZSBhbnl3YXkuCgoyMDA4LTAyLTAyIDIwOjIyOjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIE1hcCBtb3JlIEV4aWYgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBtb3JlIEV4aWYgdGFncy4KCjIwMDgtMDItMDEgMTc6MDg6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBEb24ndCBsZWFrIGV2ZW50IG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZC4gRml4ZXMgIzUxMjgyNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpOgoJICBEb24ndCBsZWFrIGV2ZW50IG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZC4gRml4ZXMgIzUxMjgyNi4KCjIwMDgtMDItMDEgMTM6MDI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucywgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucywgdG8gYXZvaWQgY29uZnVzaW9uLgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9zZXRfY2Fwcyk6CgkgIFVzZSB0aGUgbmV3IEdzdFZpZGVvRm9ybWF0IEFQSSB0byBnZXQgc3RyaWRlcywgcGxhbmUgb2Zmc2V0cyBldGMuLgoJICBGb3IgWTQyQiB3ZSBzdGlsbCBuZWVkIHRvIGNhbGN1bGF0ZSB0aGVzZSBvdXJzZWx2ZXMsIHNpbmNlIHRoZSBsaWIKCSAgaW4gLWJhc2UgZG9lc24ndCBrbm93IGFib3V0IHRoaXMgZm9ybWF0IHlldCBhbmQgd2UgY2FuJ3QgYnVtcCB0aGUKCSAgcmVxdWlyZW1lbnQgdG8gQ1ZTIHJpZ2h0IG5vdy4gRml4IHRoZSBZNDJCIHN0cmlkZSwgb2Zmc2V0IGFuZCBzaXplCgkgIGNhbGN1bGF0aW9ucyBmb3Igb2RkIHdpZHRocyBhbmQgaGVpZ2h0cyB3aGlsZSB3ZSdyZSBhdCBpdCB0aG91Z2gKCSAgKHRvIG1hdGNoIHRob3NlIGluIHZpZGVvdGVzdHNyYykuCgoyMDA4LTAxLTMxIDIxOjU1OjQ0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMzEgMTc6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogKG1ldGFkYXRhcGFyc2VfanBlZ19yZWFkaW5nKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwOC0wMS0zMSAxNzoxODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBSZWFsbHkgY2xlYW4gdXAgdGhlIHF1ZXVlIGluc3RlYWQgb2YganVzdCB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMgaW4gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpOgoJICBSZWFsbHkgY2xlYW4gdXAgdGhlIHF1ZXVlIGluc3RlYWQgb2YganVzdCB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMKCSAgaW4gaXQuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwgKGdzdF9hcHBfc3JjX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfZGlzcG9zZSksIChnc3RfYXBwX3NyY19maW5hbGl6ZSk6CgkgIEZpeCBkaXNwb3NlL2ZpbmFsaXplLgoKMjAwOC0wMS0zMSAxNTo1MjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IG1ha2luZyB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG1hdGNoIHdoYXQgZXZlcnlvbmUgaXMgcGFzc2luZyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IG1ha2luZyB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG1hdGNoIHdoYXQKCSAgZXZlcnlvbmUgaXMgcGFzc2luZyBpbi4uLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkIG9uIFNvbGFyaXMgYnkgcmVtb3ZpbmcgR05VIGxkIHNwZWNpZmljIGZsYWdzIHRoYXQKCSAgbG9vayB1bm5lY2Vzc2FyeS4KCjIwMDgtMDEtMzEgMTA6MTY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbTogQWRkIHNvbWUgcmVsZXZhbnQgdmFyaWFibGVzIHRvIENGTEFHUyBhbmQgTElCQURELCBmb3IgZXhhbXBsZSBvdXIgY29tcGlsZXIgd2FybmluZ3MgcGFyYW10ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIEFkZCBzb21lIHJlbGV2YW50IHZhcmlhYmxlcyB0byBDRkxBR1MgYW5kIExJQkFERCwgZm9yIGV4YW1wbGUgb3VyCgkgIGNvbXBpbGVyIHdhcm5pbmdzIHBhcmFtdGVycy4KCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIChnc3RfYmFzZV9tZXRhZGF0YV9zdHJpcF9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9tZXRhZGF0YV9jYWxjdWxhdGVfb2Zmc2V0cyksCgkgIChnc3RfYmFzZV9tZXRhZGF0YV9zcmNfZXZlbnQpLCAoZ3N0X2Jhc2VfbWV0YWRhdGFfc2lua19hY3RpdmF0ZSk6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzogKGdzdF9tZXRhZGF0YV9kZW11eF9pbml0KSwKCSAgKGdzdF9tZXRhZGF0YV9kZW11eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21ldGFkYXRhX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOiAoZ3N0X21ldGFkYXRhX211eF9pbml0KSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tZXRhZGF0YV9tdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfZGlzcG9zZSksCgkgIChnc3RfbWV0YWRhdGFfbXV4X2NyZWF0ZV9jaHVua3NfZnJvbV90YWdzKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzogKG1ldGFkYXRhX2Rpc3Bvc2UpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKG1ldGFkYXRhcGFyc2VfZXhpZl9jb250ZW50X2ZvcmVhY2hfZW50cnlfZnVuYyksCgkgIChtZXRhZGF0YW11eF9leGlmX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkgIChtZXRhZGF0YW11eF9pcHRjX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6IChtZXRhZGF0YW11eF9qcGVnX2xhenlfdXBkYXRlKSwKCSAgKG1ldGFkYXRhbXV4X2pwZWdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6IChtZXRhZGF0YW11eF9wbmdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IChtZXRhZGF0YXBhcnNlX2pwZWdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzogKG1ldGFkYXRhcGFyc2VfeG1wX3RhZ19saXN0X2FkZCksCgkgIChtZXRhZGF0YW11eF94bXBfY3JlYXRlX2NodW5rX2Zyb21fdGFnX2xpc3QpOgoJICBGaXggYSBtaWxsaW9uIHdhcm5pbmdzIHRoYXQgc2hvd2VkIHVwIGFmdGVyIHRoZSBhYm92ZSBjaGFuZ2UuCgoyMDA4LTAxLTMxIDA5OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMzEgMDg6NTc6MTYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoKMjAwOC0wMS0zMCAyMDo1NTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciBzb3VuZHRvdWNoIHRvIG5vdCBwcm9kdWNlIHN5bnRheCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igc291bmR0b3VjaCB0byBub3QgcHJvZHVjZSBzeW50YXggZXJyb3JzLgoKMjAwOC0wMS0zMCAxOToxOTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGJ1aWxkIHdpdGggZXhlbXBpID49IDEuOTkuNSBhbmQgZml4IHRoZSBpbmNsdWRlIHBhdGggZm9yIGV4ZW1waS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAobWV0YWRhdGFtdXhfeG1wX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgRml4IGJ1aWxkIHdpdGggZXhlbXBpID49IDEuOTkuNSBhbmQgZml4IHRoZSBpbmNsdWRlCgkgIHBhdGggZm9yIGV4ZW1waS4KCjIwMDgtMDEtMzAgMTY6NTM6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkgIEp1c3QgdXB0YWRlIHRoZSBUb0RvIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHVwdGFkZSB0aGUgVG9EbyBsaXN0LgoKMjAwOC0wMS0zMCAxNjowNToyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIFNwZWVkIHVwIGEgYml0IHBuZyBtdXhlci4gRml4IHhtcCBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBTcGVlZCB1cCBhIGJpdCBwbmcgbXV4ZXIuIEZpeCB4bXAgbXV4ZXIuCgoyMDA4LTAxLTMwIDE1OjQwOjQ0ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZWdlbmVyYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgd2UgaGFkLgoKMjAwOC0wMS0zMCAxNTozNDoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby86IFVzZSBhc3luYyB2YXJpYW50cyBvZiB0aGUgY2xvc2Ugc3RyZWFtIGZ1bmN0aW9ucyB0byBwcmV2ZW50IGJsb2NraW5nIGZvciBhIGxvbmcgdGltZSB0aGVyZSBhbmQgYWRkIHNvbWUgbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzogKGNsb3NlX3N0cmVhbV9jYiksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3JlbmRlciksIChnc3RfZ2lvX2Jhc2Vfc2lua19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGNsb3NlX3N0cmVhbV9jYiksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19jcmVhdGUpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zZXRfc3RyZWFtKToKCSAgVXNlIGFzeW5jIHZhcmlhbnRzIG9mIHRoZSBjbG9zZSBzdHJlYW0gZnVuY3Rpb25zIHRvIHByZXZlbnQgYmxvY2tpbmcKCSAgZm9yIGEgbG9uZyB0aW1lIHRoZXJlIGFuZCBhZGQgc29tZSBtb3JlIHNhbml0eSBjaGVja3MgZm9yIGEgY29ycmVjdAoJICBzdHJlYW0uCgoyMDA4LTAxLTMwIDEzOjM4OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogTW92ZSAtV2wgcGFyYW1ldGVyIGZyb20gX0xEQUREIHRvIF9MREZMQUdTIHRvIGZpeCBhdXRvZ2VuLnNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSAtV2wgcGFyYW1ldGVyIGZyb20gX0xEQUREIHRvIF9MREZMQUdTIHRvIGZpeCBhdXRvZ2VuLnNoLgoKMjAwOC0wMS0zMCAxMzoyOToxNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCk6CgkgIExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkKCSAgZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDA4LTAxLTMwIDEzOjA4OjQ1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTMwIDEzOjA2OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2JvZHlfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Jlc3BvbnNlX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm94eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAyLjQgYW5kIHJlcXVpcmUgaXQuIEFsc28gaW1wbGVtZW50IHJlZGlyZWN0aW9uCgkgIGFuZCBtYW51YWwgcHJveHkgc3BlY2lmaWNhdGlvbi4gRml4ZXMgYnVnICM1MTA3MDguCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBzb3VwaHR0cHNyYy4KCjIwMDgtMDEtMzAgMTI6NTY6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgQWRkIGRvY3VtZW50YXRpb24uIEZpeCB0ZXN0IGFwcCBjb21waWxhdGlvbi4gRml4IHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBGaXggdGVzdCBhcHAgY29tcGlsYXRpb24uIEZpeCBwdWxsIG1vZGUuCgoyMDA4LTAxLTI5IDE4OjU3OjI3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYXlsb2FkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciAgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3CgkgIHBheWxvYWQgdHlwZSBpbnN0ZWFkIG9mIGFsd2F5cyBmaXJpbmcgdGhlIHNpZ25hbC4gRml4ZXMgIzUxMjc3NC4KCjIwMDgtMDEtMjkgMTg6MDU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzogRGVmaW5lIExPR19OT05FIGFuZCBmcmllbmRzIGlmIHRoZXkncmUgbm90IGRlZmluZWQgeWV0LiBtanBlZ3Rvb2xzIDEuOS4wcmMzIHJlbW92ZWQgdGhlaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIERlZmluZSBMT0dfTk9ORSBhbmQgZnJpZW5kcyBpZiB0aGV5J3JlIG5vdCBkZWZpbmVkIHlldC4gbWpwZWd0b29scwoJICAxLjkuMHJjMyByZW1vdmVkIHRoZWlyIGRlZmluaXRpb25zIGJ1dCB3aXRob3V0IGl0IGRvZXNuJ3QgbWFrZSBtdWNoCgkgIHNlbnNlIHRvIHdyaXRlIGEgbG9nIGhhbmRsZXIuCgoyMDA4LTAxLTI5IDExOjMyOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYmFzZSBjbGFzc2VzIGZvciBtZXRhZGF0YSBhbmQgZXF1YWxpemVyIChubyBpbnRyb3NwZWN0aW9uIHlldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgQWRkIGJhc2UgY2xhc3NlcyBmb3IgbWV0YWRhdGEgYW5kIGVxdWFsaXplciAobm8gaW50cm9zcGVjdGlvbiB5ZXQpLgoKMjAwOC0wMS0yOSAwNzo0MzoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhL1JFQURNRTogRm9ybWF0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgRm9ybWF0dGluZy4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDEtMjkgMDc6Mzg6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlcGxhY2UgdGhlIHN3aXRjaCBwbHVnaW4gd2l0aCB0aGUgc2VsZWN0b3IgcGx1Z2luLiBBZGQgb3V0cHV0LSBzZWxlY3RvciBhcyB0aGUgb3Bwb3NpdGUgb2YgaW5wdXQtc2VsZWN0b28gKHdhcyBzd2l0Yy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZ3N0L3NlbGVjdG9yLy5jdnNpZ25vcmU6CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9zZWxlY3Rvci52Y3Byb2o6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3Qvc3dpdGNoL3N3aXRjaC52Y3Byb2o6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBSZXBsYWNlIHRoZSBzd2l0Y2ggcGx1Z2luIHdpdGggdGhlIHNlbGVjdG9yIHBsdWdpbi4gQWRkIG91dHB1dC0KCSAgc2VsZWN0b3IgYXMgdGhlIG9wcG9zaXRlIG9mIGlucHV0LXNlbGVjdG9vICh3YXMgc3dpdGNoKS4gQWRkIGEgdGVzdAoJICBmb3Igb3V0cHV0LXNlbGVjdG9yLiBBZGQgZG9jcyBmb3IgdGhlIGVsZW1lbnRzLiBUaGUgdmNwcm9qIG5lZWRzCgkgIHVwZGF0ZS4gRml4ZXMgIzUwMDE0Mi4KCjIwMDgtMDEtMjggMjM6MTg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBUcnkgdG8gYXZvaWQgJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyBpZiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQgKG5vdCBidWxsZXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpOgoJICBUcnkgdG8gYXZvaWQgJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyBpZiBkZWJ1Z2dpbmcgaXMKCSAgZGlzYWJsZWQgKG5vdCBidWxsZXQgcHJvb2YsIGJ1dCBzZWVtcyB0byBkbyBmb3Igbm93KS4gKCM1MTI2NTQpCgoyMDA4LTAxLTI4IDExOjQ3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6IENsZWFuIHVwIGEgYml0IGFuZCBvbmx5IGFsbG9jYXRlIGEgdGVtcG9yYXJ5IGJ1ZmZlciBmb3IgdGhlIGRhdGEgaWYgcHJvY2Vzc2luZyBzdGVyZW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBDbGVhbiB1cCBhIGJpdCBhbmQgb25seSBhbGxvY2F0ZSBhIHRlbXBvcmFyeSBidWZmZXIgZm9yIHRoZSBkYXRhCgkgIGlmIHByb2Nlc3Npbmcgc3RlcmVvIGRhdGEgYXMgQlBNRGV0ZWN0IGRvd25taXhlcyBmcm9tIHN0ZXJlbyB0bwoJICBtb25vIGFuZCBzdG9yZXMgdGhlIHJlc3VsdCBpbiB0aGUgaW5wdXQgZGF0YS4gVGhhbmtzIHRvCgkgIFN0ZWZhbiBLb3N0IGZvciB0aGUgc3VnZ2VzdGlvbnMuCgoyMDA4LTAxLTI3IDE3OjAyOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQ2FzdCBhIGRvdWJsZSB0byBhIEdzdENsb2NrVGltZURpZmYgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIENhc3QgYSBkb3VibGUgdG8gYSBHc3RDbG9ja1RpbWVEaWZmIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTAxLTI3IDE2OjEyOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogUHJpbnRmIGZvcm1hdCBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBQcmludGYgZm9ybWF0IGZpeC4KCjIwMDgtMDEtMjcgMDc6NTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBEb24ndCBzZW5kIGEgTEFURU5DWSBldmVudCBmb3Igbm93IHVudGlsIHdlIGdldCB0aGUgdXNhZ2UgcmlnaHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBEb24ndCBzZW5kIGEgTEFURU5DWSBldmVudCBmb3Igbm93IHVudGlsIHdlIGdldCB0aGUgdXNhZ2UgcmlnaHQuCgoyMDA4LTAxLTI3IDA3OjM3OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC4qOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeSBhbmQgbm90aWZ5IGFib3V0IGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5IGFuZCBub3RpZnkgYWJvdXQgbGF0ZW5jeSBjaGFuZ2VzLgoJICBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmUgYSBmaXhlZCBsYXRlbmN5IGJ1dCBpdCBjaGFuZ2VzCgkgIGEgYml0IHdpdGggZWFjaCBidWZmZXIgc28gd2Ugb25seSBzZW5kIGFuIExBVEVOQ1kgZXZlbnQgd2l0aAoJICB0aGUgbWF4aW11bSBsYXRlbmN5IGlmIGl0IGNoYW5nZXMuCgkgIEFsd2F5cyBjYWxjdWxhdGUgdGhlIHRpbWVzdGFtcCwgZHVyYXRpb24sIGV0YyBmcm9tIHRoZSBzYW1wbGUKCSAgcmF0ZSBpbnN0ZWFkIG9mIHVzaW5nIGEgcHJlLWNhbGN1bGF0ZWQgZHVyYXRpb24gZm9yIG9uZSBzYW1wbGUKCSAgdG8gcHJldmVudCBsYXJnZSByb3VuZGluZyBlcnJvcnMuCgoyMDA4LTAxLTI3IDA3OjMyOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBtanBlZ3Rvb2xzIDEuOSB3aGlsZSBrZWVwaW5nIGNvbXBhdGlibGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgSGFucyBkZSBHb2VkZSA8aiBkb3QgdyBkb3QgciBkb3QgZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbWpwZWd0b29scyAxLjkgd2hpbGUga2VlcGluZwoJICBjb21wYXRpYmxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCjIwMDgtMDEtMjcgMDY6MzE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzogT25seSBjb25zaWRlciBhIEJQTSB2YWx1ZSBhYm92ZSAxLjAgYXMgdmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgT25seSBjb25zaWRlciBhIEJQTSB2YWx1ZSBhYm92ZSAxLjAgYXMgdmFsaWQuCgoyMDA4LTAxLTI3IDA1OjU2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC86IEFkZCBCUE0gZGV0ZWN0aW9uIHBsdWdpbiBiYXNlZCBvbiBTb3VuZFRvdWNoJ3MgbGliQlBNLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmhoOgoJICAqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgQlBNIGRldGVjdGlvbiBwbHVnaW4gYmFzZWQgb24gU291bmRUb3VjaCdzIGxpYkJQTS4KCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWxsb3cgc2FtcGxlIHJhdGVzIHVudGlsIE1BWCBpbnN0ZWFkIG9mIG9ubHkgNDhrSHogYW5kIHJlbW92ZSB0aGUKCSAgYnVmZmVyLWZyYW1lcyBmaWVsZCBmcm9tIHRoYXQgY2Fwcy4KCSAgQ2xlYXIgdGhlIHJlbWFpbmluZyBzYW1wbGVzIGNvbXBsZXRlbHkgd2hlbiBuZWNlc3NhcnkgdG8gZ2V0IGludG8KCSAgYSBjbGVhbiBzdGF0ZSBhZ2Fpbi4KCjIwMDgtMDEtMjYgMTY6MTk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZQoJICBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgoyMDA4LTAxLTI2IDE1OjEyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQWxsb3cgc2Vla2luZyBvbmx5IGluIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0LCBvdGhlciBmb3JtYXRzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFsbG93IHNlZWtpbmcgb25seSBpbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdCwgb3RoZXIgZm9ybWF0cyB3aWxsCgkgIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBBbHNvIGhhbmRsZSBhIHN0b3AgcG9zaXRpb24gb2YgLTEgY29ycmVjdGx5CgkgIGZvciBzZWVrcywgbmV3c2VnbWVudCBldmVudHMgYW5kIHRoZSBxdWVyaWVzLiBUaGlzIGZpeGVzIHBsYXliYWNrCgkgIHdpdGggdGhlIHBpdGNoIGVsZW1lbnQgaWYgdXBzdHJlYW0gZG9lc24ndCBrbm93IHRoZSBkdXJhdGlvbiBvciBoYXMKCSAgLTEgYXMgc3RvcCBwb3NpdGlvbiBpbiBORVdTRUdNRU5UIGV2ZW50cyBmb3Igb3RoZXIgcmVhc29ucy4gQmVmb3JlCgkgIHNpbXBseSBub3RoaW5nIHdhcyBwbGF5ZWQgYXMgdGhlIHNlZ21lbnQgd2FzIGdvaW5nIGZyb20gMCB0byAwLgoJICBTZW5kIGEgR1NUX01FU1NBR0VfRFVSQVRJT04gd2hlbmV2ZXIgdGhlIHJhdGUgb3IgdGVtcG8gaXMgY2hhbmdlZAoJICBzbyBhcHBsaWNhdGlvbnMgY2FuIHVwZGF0ZSB0aGVpciBjYWNoZWQgZHVyYXRpb24uIEZpeGVzIGJ1ZyAjNTAzMzA4LgoJICBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCBtZW1vcnkgbGVhayBjbG9zaW5nLgoKMjAwOC0wMS0yNiAxNDozNToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L211c2VwYWNrLzogRmlyc3QgaW5jbHVkZSB0aGUgbGlibXBjZGVjIGhlYWRlcnMgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBhcyB0aGV5ICNkZWZpbmUgVFJVRSBhbmQgRkFMU0UgdW5jb25kaXRpb25hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJICBGaXJzdCBpbmNsdWRlIHRoZSBsaWJtcGNkZWMgaGVhZGVycyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlIGFzIHRoZXkKCSAgI2RlZmluZSBUUlVFIGFuZCBGQUxTRSB1bmNvbmRpdGlvbmFsbHkgYW5kIHdlIG90aGVyd2lzZSBnZXQgY29uZmxpY3RzCgkgIHdpdGggdGhlIG9uZXMgdGhhdCBHTGliIGRlZmluZXMuCgoyMDA4LTAxLTI2IDEzOjI0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291bmR0b3VjaCAxLjMuMSBhbmQgYWRkIGFuIHVnbHkgd29ya2Fyb3VuZCBmb3IgdGhlIGhlYWRlciBkZWZpbmluZWQgUEFDS0FHRSBhbmQgb3RoZXIgdmFyaWFibGVzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291bmR0b3VjaCAxLjMuMSBhbmQgYWRkIGFuIHVnbHkgd29ya2Fyb3VuZCBmb3IKCSAgdGhlIGhlYWRlciBkZWZpbmluZWQgUEFDS0FHRSBhbmQgb3RoZXIgdmFyaWFibGVzIGZvciB3aGljaCB3ZSBuZWVkCgkgIG91ciBvd24gdmFsdWVzIGZyb20gY29uZmlnLmguCgoyMDA4LTAxLTI2IDEyOjExOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgbGliZ2xhZGUtMi4wLCBmb3IgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBsaWJnbGFkZS0yLjAsIGZvciB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE9ubHkgdHJ5IHRvIGJ1aWxkIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ayBhbmQKCSAgZ2xhZGUgKG90aGVyd2lzZSB0aGUgYnVpbGQgd291bGQganVzdCBmYWlsIC4uLik7IGZpeCBidWlsZCBpbgoJICB1bmluc3RhbGxlZCBzZXR1cC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogKG9uX2NlbGxfZWRpdGVkKSwgKHVpX2FkZF9jb2x1bW5zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzICh1c2UgR0xpYiBtYWNyb3MgdG8gY2FzdCBwb2ludGVyIDwtPiBpbnQpLgoKMjAwOC0wMS0yNSAxNzo0NToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ha2VmaWxlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgQWRkIGxvdCBvZiBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGxvdCBvZiBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0yNSAxNzozNTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE9wZW4gZnJvbnRlbmQgaW4gTlVMTC0+UkVBRFkgc28gY2FwcyBhYm91dCBkdmIgYWRhcHRlciBjYW4gYmUgc2VlbiBieSB0aGUgYXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBPcGVuIGZyb250ZW5kIGluIE5VTEwtPlJFQURZIHNvIGNhcHMgYWJvdXQgZHZiIGFkYXB0ZXIgY2FuIGJlCgkgIHNlZW4gYnkgdGhlIGFwcC4KCjIwMDgtMDEtMjUgMTY6NTg6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dCB3aXRoIGEgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoY3JlYXRlX3N0cmVhbSksIChwYXlsb2FkX3R5cGVfY2hhbmdlKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQKCSAgd2l0aCBhIHNpZ25hbC4KCjIwMDgtMDEtMjUgMTY6MDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0IGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdAoJICBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkIHdpdGggZWFjaCBidWZmZXIgaW5zdGVhZC4gRml4ZXMgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTU6NDk6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIFRyYWNrIHB0IG9uIGlucHV0IGJ1ZmZlcnMgYW5kIGdldCB0aGUgY2xvY2stcmF0ZSB3aGVuIGl0IGNoYW5nZXMuCgkgIElnbm9yZSBwYWNrZXRzIHdpdGggdW5rbm93biBjbG9jay1yYXRlLiBTZWUgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTI6NDg6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBQb3N0IGJ1cyBtZXNzYWdlIGFib3V0IGFkYXB0ZXIgdHlwZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMsIHdoZW4gb3BlbmluZyB0aGUgZnJvbnRlbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFBvc3QgYnVzIG1lc3NhZ2UgYWJvdXQgYWRhcHRlciB0eXBlIGFuZCBpdCdzIGNhcGFiaWxpdGllcywKCSAgd2hlbiBvcGVuaW5nIHRoZSBmcm9udGVuZC4KCSAgQWZ0ZXIgZmFpbGluZyB0byByZWFkIGZyb20gdGhlIGR2ciwgcG9zdCBhIGJ1cyBtZXNzYWdlIHRvCgkgIGluZm9ybSB0aGUgYXBwLgoKMjAwOC0wMS0yNSAwOTo1MDowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFRoZSBsb2dpYyBmb3IgdGhlIGd1YXJkIGludGVydmFsIGNhbGN1bGF0aW9uIHdhcyB0b3RhbGx5IHdyb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBUaGUgbG9naWMgZm9yIHRoZSBndWFyZCBpbnRlcnZhbCBjYWxjdWxhdGlvbiB3YXMgdG90YWxseSB3cm9uZy4KCSAgRml4ZWQuCgoyMDA4LTAxLTI1IDAxOjQ0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlCgkgIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoKMjAwOC0wMS0yNCAxMzoyMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogTm93IHdlIGhhdmUgZnVsbCBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIE5vdyB3ZSBoYXZlIGZ1bGwgaGllcmFyY2h5LgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgIFJlZ2VuZXJhdGUuCgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgIEFkZCBkb2MgYmxvYiBmb3Igb2JqZWN0IGluc3RhbmNlLgoKMjAwOC0wMS0yNCAxMDoxNTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSB0aGlzIHRvbywgaG9wZWZ1bGx5IGZpeGVzIHRoZSBkb2NzIGJ1aWxkIChkb2VzIGF0IGxlYXN0IGZvciBtZSwgYWZ0ZXIgbWFrZSBjbGVhbiBpbiBkb2NzL3BsdWdpbnMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICBVcGRhdGUgdGhpcyB0b28sIGhvcGVmdWxseSBmaXhlcyB0aGUgZG9jcyBidWlsZCAoZG9lcyBhdCBsZWFzdAoJICBmb3IgbWUsIGFmdGVyIG1ha2UgY2xlYW4gaW4gZG9jcy9wbHVnaW5zKS4KCjIwMDgtMDEtMjQgMDg6MTI6MjkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBGaXggbmV0d29yayBuYW1lIGRlc2NyaXB0b3IsIHRoZSBsZW5ndGggaXMgYWN0dWFsbHkgdGhlIGRlc2NyaXB0b3IgbGVuZ3RoIG5vdCBzdG9yZWQgaW4gdGhlIGJ5dGUgYWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4IG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yLCB0aGUgbGVuZ3RoIGlzIGFjdHVhbGx5IHRoZQoJICBkZXNjcmlwdG9yIGxlbmd0aCBub3Qgc3RvcmVkIGluIHRoZSBieXRlIGFmdGVyLgoJICBGaXggYm91bmRzIGNoZWNraW5nIHRvIGJlIG1vcmUgY29ycmVjdC4KCjIwMDgtMDEtMjQgMDA6MjI6MTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZSBhbmQgYWRkIHRvIHJlbGV2YW50IGJ1cyBtZXNzYWdlcyB0aGUgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIHRoZSBsb2dpY2FsIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgYW5kIGFkZCB0byByZWxldmFudCBidXMgbWVzc2FnZXMgdGhlIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5CgkgIHN5c3RlbSBkZXNjcmlwdG9yIGFuZCB0aGUgbG9naWNhbCBjaGFubmVsIGRlc2NyaXB0b3IuCgkgIERvIGJvdW5kcyBjaGVja2luZyBvbiBkYXRhIHN0b3JlZCBpbiBkZXNjcmlwdG9yIGJlZm9yZSB1c2UuCgoyMDA4LTAxLTIzIDE2OjM1OjM0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTIzIDE1OjUxOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBsaWJkY2EgKHdpdGggdGhlIGxpYmR0cyBjb21wYXQgaGVhZGVyKS4gRml4ZXMgYnVnICM1MTE1MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBsaWJkY2EgKHdpdGggdGhlIGxpYmR0cyBjb21wYXQKCSAgaGVhZGVyKS4gRml4ZXMgYnVnICM1MTE1MzAuCgkgIFNob3VsZCBwcm9iYWJseSBiZSBwb3J0ZWQgdG8gbGliZGNhIGFzIHNvbWUgcG9pbnRzIGFzIGl0J3MgdGhlCgkgIHN1Y2Nlc3NvciBvZiBsaWJkdHMuCgoyMDA4LTAxLTIzIDE0OjU5OjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRG8gbm90IGdvIG9uIGZvcmV2ZXIgaWYgcHJvYmxlbSB3aXRoIHJlYWRpbmcgZnJvbSBkdnIsIHJhdGhlciByZXR1cm4gTlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRG8gbm90IGdvIG9uIGZvcmV2ZXIgaWYgcHJvYmxlbSB3aXRoIHJlYWRpbmcgZnJvbSBkdnIsIHJhdGhlcgoJICByZXR1cm4gTlVMTC4KCSAgSGFuZGxlIHNvbWUgY2xlYW51cCBpc3N1ZXMgb2YgY2xvc2luZyBmaWxlZGVzY3JpcHRvcnMgd2hlbgoJICBmYWlsaW5nIHRvIHR1bmUgb3Igc2ltaWxhci4KCjIwMDgtMDEtMjMgMTM6MTg6MjQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3Npbmcgbm9faW5zdCBoZWFkZXIgZmlsZXMgdG8gTWFrZWZpbGUuYW0gc28gZGlzdGluZyBzdGlsbCB3b3JrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1pc3Npbmcgbm9faW5zdCBoZWFkZXIgZmlsZXMgdG8gTWFrZWZpbGUuYW0gc28gZGlzdGluZyBzdGlsbCB3b3JrcwoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDgtMDEtMjMgMTA6MzQ6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgeGluZ2hlYWRlciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSB4aW5naGVhZGVyIHBsdWdpbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBlbGVtZW50IHN0YXRlIHRvIFBMQVlJTkcgYmVmb3JlIGRvaW5nIHNvbWV0aGluZyBlbHNlLgoKMjAwOC0wMS0yMyAxMDoxMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdGhlIHhpbmdtdXggZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6IChzZXR1cF94aW5nbXV4KSwKCSAgKGNsZWFudXBfeGluZ211eCksIChHU1RfU1RBUlRfVEVTVCksICh4aW5nbXV4X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXhfdGVzdGRhdGEuaDoKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHRoZSB4aW5nbXV4IGVsZW1lbnQuCgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLAoJICAoZ3N0X3hpbmdfbXV4X2ZpbmFsaXplKSwgKHhpbmdfcmVzZXQpOgoJICBGaXggYSBtZW1sZWFrIGFuZCBpbnZhbGlkIHNlZWsgdGFibGVzIHdpdGggbGVzcyB0aGFuIDEwMCBNUDMgZnJhbWVzLgoKMjAwOC0wMS0yMyAwOTo0OToyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlZCB0aGUgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZCBhZGRlZCBpbnRvIG5pdCdzIHRyYW5zcG9ydCBzdHJ1Y3R1cmUgZm9yIGRlbGl2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZWQgdGhlIHNhdGVsbGl0ZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQKCSAgYWRkZWQgaW50byBuaXQncyB0cmFuc3BvcnQgc3RydWN0dXJlIGZvciBkZWxpdmVyeQoJICBvdmVyIHRoZSBidXMuCgoyMDA4LTAxLTIyIDIwOjI3OjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUGFyc2VkIGFuZCBhZGRlZCBuZXR3b3JrIG5hbWUgdG8gdGhlIG5pdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlZCBhbmQgYWRkZWQgbmV0d29yayBuYW1lIHRvIHRoZSBuaXQgc3RydWN0dXJlIHNlbnQKCSAgaW4gdGhlIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxOTo1OTozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFJlbW92ZSBsZWFrcyBpbnRyb2R1Y2VkIGJ5IG5vdCBmcmVlaW5nIGdfc3RybmR1cCdkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJlbW92ZSBsZWFrcyBpbnRyb2R1Y2VkIGJ5IG5vdCBmcmVlaW5nIGdfc3RybmR1cCdkIHN0cmluZ3MuCgkgIEZpeCBzdGFydF90aW1lIGFuZCBkdXJhdGlvbiBwYXJzaW5nIGluIEVJVC4KCjIwMDgtMDEtMjIgMTg6NDA6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgZXZlbnQgbmFtZSBhbmQgZGVzY3JpcHRpb24gdG8gdGhlIGVpdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBldmVudCBuYW1lIGFuZCBkZXNjcmlwdGlvbiB0byB0aGUgZWl0IHN0cnVjdHVyZQoJICBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTg6MDg6MDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogUmV2ZXJ0IGNvbnN0IHJlbW92YWwgZnJvbSBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBSZXZlcnQgY29uc3QgcmVtb3ZhbCBmcm9tIHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMDEtMjIgMTg6MDQ6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGRlZCBkZXNjcmlwdG9yIHNlYXJjaGluZyBpbmZyYXN0cnVjdHVyZSBmcm9tIEZsdWVuZG8gVFMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFkZGVkIGRlc2NyaXB0b3Igc2VhcmNoaW5nIGluZnJhc3RydWN0dXJlIGZyb20gRmx1ZW5kbyBUUyBkZW11eGVyLgoJICBBZGQgY2hhbm5lbCBuYW1lIGFuZCBwcm92aWRlciB0byB0aGUgc2R0IHN0cnVjdHVyZSBzZW50IGluIHRoZQoJICBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTc6NDM6MzUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogUGFyc2UgTkFMIHVuaXRzIGluIGZvcndhcmQgbW9kZSB0byBtYXJrIGRlbHRhIHVuaXRzIGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0yMiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCk6CgkgIFBhcnNlIE5BTCB1bml0cyBpbiBmb3J3YXJkIG1vZGUgdG8gbWFyayBkZWx0YSB1bml0cyBmbGFncy4KCjIwMDgtMDEtMjIgMTI6MDY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlZ2VuZXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICBSZWdlbmVyYXRlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJICBBZGQgdm9yYmlzaWRlYyBha2EgdHJtb3IuCgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgQWRkIHNob3J0IGRlc2NyaXB0aW9uLgoKMjAwOC0wMS0yMiAwOTo1NToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBlb2wgXAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGVvbCBcCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUGxhY2Ugb2JqZWN0IG5hbWVzIHRvIHN0YW5kYXJkIHNlY3Rpb25hcyBwbHVnaW4gZG9udCBkb2N1bWVudCB0aG9zZS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgIHJlZ2VuZXJhdGUuCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIE1hcmsgcHJpdmF0ZSB2YXJzIGFuZCBhZGQgc2hvcnQgZGVzYy4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgIEFkZCBzaG9ydCBkZXNjLgoKMjAwOC0wMS0yMSAxNDozMzoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgT25lIGxlc3MgdG8gZG8uIEl0cyAnbnV2JyBub3QgJ252dScuIEFzIGFuIGV4dHJhIGJvbnVzIEkgbWVudGlvbiB3aGF0IGl0IGFjdHVhbGx5IGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIE9uZSBsZXNzIHRvIGRvLiBJdHMgJ251dicgbm90ICdudnUnLiBBcyBhbiBleHRyYSBib251cyBJIG1lbnRpb24gd2hhdAoJICBpdCBhY3R1YWxseSBpcy4KCjIwMDgtMDEtMjEgMTQ6MTk6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBsaXN0cyBhZ2Fpbi4gVGhvc2Ugd2hvbGUgY2FuIGJ1aWxkIGl2b3JiaXNkZWMsIG15dGh0dnNyYywgbnZ1ZGVtdXggYW5kIHRoZW9yYWRlY2V4cCwgcGxlYXNlIGNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBVcGRhdGUgbGlzdHMgYWdhaW4uIFRob3NlIHdob2xlIGNhbiBidWlsZCBpdm9yYmlzZGVjLCBteXRodHZzcmMsCgkgIG52dWRlbXV4IGFuZCB0aGVvcmFkZWNleHAsIHBsZWFzZSBjb21taXQgdGhlIGluc3BlY3QvcGx1Z2luLXh4eC54bWwuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgUmVwbGFjZSB2aWRlb3BhcnNlIHdpdGggcmF3cGFyc2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgSGVscCBndGstZG9jIHRvIHJlY29nbml6ZSB0aGUgb2JqZWN0IHN0cnVjdC4KCjIwMDgtMDEtMjEgMTI6NDI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBEb24ndCB1c2UgZ3RrLWRvYyBjb21tZW50IHN0eWxlIGZvciBub24gZ3RrLWRvYyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIERvbid0IHVzZSBndGstZG9jIGNvbW1lbnQgc3R5bGUgZm9yIG5vbiBndGstZG9jIGNvbW1lbnRzLgoJICBNYWtlIG9uZSBzdGF0aWMgZnVuY3Rpb24gc3RhdGljLgoKMjAwOC0wMS0yMSAxMjoxOToxMyArMDAwMCAgR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmVAbXAzLXRlY2gub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLio6IFByb3ZpZGUgNDoyOjIgc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lIGF0IG1wMy10ZWNoIGRvdCBvcmc+CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9pcCksIChnc3RfZGVpbnRlcmxhY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBQcm92aWRlIDQ6MjoyIHN1cHBvcnQKCSAgQWxzbyBkZWludGVybGFjZSBjaHJvbWEgcGxhbmVzCgkgIEFsbG93IHRvIHR1cm4gb24vb2ZmIGRlaW50ZXJsYWNpbmcKCSAgQ2hhbmdlIG9mIGRlZmF1bHQgdGhyZXNob2xkcywgaW4gb3JkZXIgdG8gcHJvdmlkZSBhY2NlcHRhYmxlIHJlc3VsdHMKCSAgd2l0aCBkZWZhdWx0IHBhcmFtcy4gRml4ZXMgIzUxMTAwMS4KCjIwMDgtMDEtMjEgMTE6MDQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBVcGRhdGUgZG9jcyBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgVXBkYXRlIGRvY3MgZmlsZSB0b28uCgoyMDA4LTAxLTIxIDExOjAxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2R2ZHNwdS86IEZpeCB1cCBkdmRzcHUgZWxlbWVudCBhZ2FpbiBhZnRlciBwcmV2aW91cyBuYW1lc3BhY2UgbWFuZ2xpbmc6IHJlbmFtZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSB0byBvbGQgbmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOiAoZ3N0X2R2ZF9zcHVfcmVuZGVyX3NwdSk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGR2ZHNwdV9kZWJ1ZyksIChHU1RfQ0FUX0RFRkFVTFQpLAoJICAoc3VicGljX3NpbmtfZmFjdG9yeSksIChnc3RfZHZkX3NwdV9iYXNlX2luaXQpLAoJICAoZ3N0X2R2ZF9zcHVfY2xhc3NfaW5pdCksIChnc3RfZHZkX3NwdV9pbml0KSwgKGdzdF9kdmRfc3B1X2NsZWFyKSwKCSAgKGdzdF9kdmRfc3B1X2Rpc3Bvc2UpLCAoZ3N0X2R2ZF9zcHVfZmluYWxpemUpLAoJICAoZ3N0X2R2ZF9zcHVfZmx1c2hfc3B1X2luZm8pLCAoZ3N0X2R2ZF9zcHVfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kdmRfc3B1X3NyY19ldmVudCksIChnc3RfZHZkX3NwdV92aWRlb19zZXRfY2FwcyksCgkgIChnc3RfZHZkX3NwdV92aWRlb19wcm94eV9nZXRjYXBzKSwgKGdzdF9kdmRfc3B1X3ZpZGVvX2V2ZW50KSwKCSAgKGdzdF9kdmRfc3B1X3ZpZGVvX2NoYWluKSwgKGR2c3B1X2hhbmRsZV92aWRfYnVmZmVyKSwKCSAgKGdzdF9kdmRfc3B1X3JlZHJhd19zdGlsbCksIChnc3RfZHZkX3NwdV9wYXJzZV9jaGdfY29sY29uKSwKCSAgKGdzdF9kdmRfc3B1X2V4ZWNfY21kX2JsayksIChnc3RfZHZkX3NwdV9maW5pc2hfc3B1X2J1ZiksCgkgIChnc3RfZHZkX3NwdV9zZXR1cF9jbWRfYmxrKSwgKGdzdF9kdmRfc3B1X2hhbmRsZV9uZXdfc3B1X2J1ZiksCgkgIChnc3RfZHZkX3NwdV9oYW5kbGVfZHZkX2V2ZW50KSwgKGdzdF9kdmRfc3B1X2FkdmFuY2Vfc3B1KSwKCSAgKGdzdF9kdmRfc3B1X2NoZWNrX3N0aWxsX3VwZGF0ZXMpLCAoZ3N0X2R2ZF9zcHVfc3VicGljX2NoYWluKSwKCSAgKGdzdF9kdmRfc3B1X3N1YnBpY19ldmVudCksIChnc3RfZHZkX3NwdV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2R2ZF9zcHVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6IChHU1RfVFlQRV9EVkRfU1BVKToKCSAgRml4IHVwIGR2ZHNwdSBlbGVtZW50IGFnYWluIGFmdGVyIHByZXZpb3VzIG5hbWVzcGFjZSBtYW5nbGluZzoKCSAgcmVuYW1lIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIHRvIG9sZCBuYW1lLCBtYXRjaGluZyB0aGF0IGluCgkgIGR2ZHNwdS1yZW5kZXIuYywgdG8gYXZvaWQgdW5kZWZpbmVkIHN5bWJvbCBlcnJvciB3aGVuIGxvYWRpbmcKCSAgdGhlIG1vZHVsZTsgc2FtZSBmb3IgdGhlIF9yZW5kZXIgZnVuY3Rpb24gaW4gZHZkc3B1LXJlbmRlci5jOgoJICB3ZSBtdXN0IHVzZSB0aGUgc2FtZSBuYW1lIGluIGJvdGggLmMgZmlsZXM7IGNoYW5nZSBmdW5jdGlvbnMKCSAgbm93IGNhbGxlZCBnc3Rnc3RfKiBiYWNrIHRvIGdzdF8qIGFnYWluOyBhbmQgd2hpbGUgd2UncmUgYXQgaXQsCgkgIHdlIG1heSBhcyB3ZWxsIGNhbm9uaWNhbGlzZSB0aGUgbmFtZXNwYWNlIHByb3Blcmx5LCBuYW1lbHkgdG8KCSAgZ3N0X2R2ZF9zcHVfKi4KCjIwMDgtMDEtMjEgMTA6MDY6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZSBhbmQgYWRkaW5nIHN5bWJvbGQgZnJvbSB1bnVzZWQgdG8gc2VjdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UgYW5kIGFkZGluZyBzeW1ib2xkIGZyb20gdW51c2VkIHRvIHNlY3Rpb25zLgoKMjAwOC0wMS0yMSAwOTo1NzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQgZXZlbiBtb3JlLgoKMjAwOC0wMS0yMSAwNzo1NDowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIHhtbCBpbmNsdWRlcy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVnZW5lcmF0ZSBmaWxlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDA4LTAxLTIxIDA3OjIyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggdGhlIGJ1aWxkLiBHU1RfVElNRV9BUkdTIHRha2VzIGEgdGltZXN0YW1wIG5vdCBhIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgRml4IHRoZSBidWlsZC4gR1NUX1RJTUVfQVJHUyB0YWtlcyBhIHRpbWVzdGFtcCBub3QgYSBidWZmZXIuCgoyMDA4LTAxLTIwIDA1OjA3OjUyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZiB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mCgkgIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHdoaWNoIGlzIHdyb25nIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDEtMTkgMTY6MTM6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBIYW5kbGUgZnJhbWVzaXplcyA+IDQwOTYgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBjb3JyZWN0bHkgaW4gcHVsbCBtb2RlIGFuZCBoYW5kbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKToKCSAgSGFuZGxlIGZyYW1lc2l6ZXMgPiA0MDk2IHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgY29ycmVjdGx5CgkgIGluIHB1bGwgbW9kZSBhbmQgaGFuZGxlIHNob3J0IHJlYWRzIGJldHRlci4KCSAgQWxzbyBwdXQgb2Zmc2V0IGFuZCBvZmZzZXRfZW5kIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTAxLTE5IDE1OjUzOjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSW1wcm92ZSBoYW5kbGluZyBvZiB1bmtub3duIG9yIHRvbyBzbWFsbCB1cHN0cmVhbSBzaXplcyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9sb29wKToKCSAgSW1wcm92ZSBoYW5kbGluZyBvZiB1bmtub3duIG9yIHRvbyBzbWFsbCB1cHN0cmVhbSBzaXplcyBpbgoJICBwdWxsIG1vZGUuCgoyMDA4LTAxLTE5IDE1OjM5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGZvciBoYW5kbGluZyBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBpbiBwdWxsIG1vZGUgY2hvb3NlIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2xvb3ApLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGZvciBoYW5kbGluZyBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlcgoJICBpbiBwdWxsIG1vZGUgY2hvb3NlIHRoZSBuZXh0IHNtYWxsZXN0IG11bHRpcGx5IG9mIGZyYW1lc2l6ZSBiZWxvdwoJICA0MDk2IGluc3RlYWQgb2YgYWx3YXlzIGhhbmRsaW5nIDEwMjQgZnJhbWVzLgoKMjAwOC0wMS0xOSAxNDozNDo1MCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdAoJICB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpb24gcXVlcnkuCgoyMDA4LTAxLTE4IDE3OjM3OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogU2V0IHRpbWVzdGFtcHMgbW9yZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLAoJICAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBTZXQgdGltZXN0YW1wcyBtb3JlIGNvcnJlY3RseS4KCjIwMDgtMDEtMTggMTY6NTY6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS4qOiBJbXBsZW1lbnQgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2luaXQpLCAoZ3N0X3Jhd19wYXJzZV9yZXNldCksCgkgIChnc3RfcmF3X3BhcnNlX3NldF9zcmNfY2FwcyksIChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLCAoZ3N0X3Jhd19wYXJzZV9sb29wKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgSW1wbGVtZW50IHB1bGwgbW9kZS4KCjIwMDgtMDEtMTggMTA6MDU6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMTggMDk6NTQ6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBFbmFibGUgc3BlY3RydW0gdGVzdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEVuYWJsZSBzcGVjdHJ1bSB0ZXN0IGFnYWluLgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwcHJlc3Npb25zIGZvciBhIHNpbmdsZXRvbiBpbiBHSU8gdGhhdCBjYW4ndCBiZSBmcmVlZC4KCjIwMDgtMDEtMTggMDg6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6IChzZXR1cF9lcXVhbGl6ZXIpLAoJICAoY2xlYW51cF9lcXVhbGl6ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZXF1YWxpemVyX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCjIwMDgtMDEtMTggMDc6MDM6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AgbGVha2luZwl0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpOgoJICBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wCgkgIGxlYWtpbmcJdGhlbS4KCjIwMDgtMDEtMTggMDU6MzI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCjIwMDgtMDEtMTggMDU6MjQ6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoc291cF9hZGRfcmFuZ2VfaGVhZGVyKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfY2h1bmspOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCjIwMDgtMDEtMTcgMTg6Mzk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NsZWFyX3F1ZXVlcyksCgkgIChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLCAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmRfc3RhcnRfcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgRml4IGJ1ZmZlciBzcGxpdHRpbmcgYXQgc3luYyBjb2RlcyBhbmQgbGVmdG92ZXIgYnVmZmVyIGFmdGVyCgkgIHNjYW5uaW5nLgoKMjAwOC0wMS0xNyAxNjoxMDo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgRml4ZWQgYWRkaW5nIEVYSUYgdGFncyB0byBjb3JyZWN0IElGRC4gTWFwcGVkIHNvbWUgWE1QIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBhZGRpbmcgRVhJRiB0YWdzIHRvIGNvcnJlY3QgSUZELiBNYXBwZWQgc29tZSBYTVAgdGFncy4KCjIwMDgtMDEtMTYgMTg6Mjg6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBBZGQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0IGZvciBjb250YWluZXJzIHRoYXQgZG9uJ3Qga25vdyBob3cgdG8gcHJvcGVybHkgc2VuZCBkYXRhIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9uYWxfbGlzdF9uZXcpLAoJICAoZ3N0X25hbF9saXN0X3ByZXBlbmRfbGluayksIChnc3RfbmFsX2xpc3RfZGVsZXRlX2hlYWQpLAoJICAoZ3N0X25hbF9ic19pbml0KSwgKGdzdF9uYWxfYnNfcmVhZCksIChnc3RfbmFsX2JzX2VvcyksCgkgIChnc3RfbmFsX2JzX3JlYWRfdWUpLCAoZ3N0X2gyNjRfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9pbml0KSwgKGdzdF9oMjY0X3BhcnNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaDI2NF9wYXJzZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2gyNjRfcGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NsZWFyX3F1ZXVlcyksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluZF9zdGFydF9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2gyNjRfcGFyc2Vfc2lua19ldmVudCksIChnc3RfaDI2NF9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIEFkZCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQgZm9yIGNvbnRhaW5lcnMgdGhhdCBkb24ndCBrbm93IGhvdyB0bwoJICBwcm9wZXJseSBzZW5kIGRhdGEgYmV0d2VlbiBJLWZyYW1lcy4KCjIwMDgtMDEtMTYgMDU6NDA6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gR0lPIGFuZCByZXF1aXJlIEdJTyAyLjE1LjIgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gR0lPIGFuZCByZXF1aXJlIEdJTyAyLjE1LjIgZm9yIHRoaXMuCgoyMDA4LTAxLTE0IDEwOjUyOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IEJpdHJhdGUgaXMgNCBiaXRzLCBub3QgOCBzbyBjaGVjayBmb3IgMHhlIGFzIG1heGltdW0gdmFsdWUgaW5zdGVhZCBvZiAweGZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlcik6CgkgIEJpdHJhdGUgaXMgNCBiaXRzLCBub3QgOCBzbyBjaGVjayBmb3IgMHhlIGFzIG1heGltdW0gdmFsdWUgaW5zdGVhZAoJICBvZiAweGZlLgoKMjAwOC0wMS0xNCAwOTowOTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBSZW1vdmUgYWNjaWRlbnRpYWxseSBsZWZ0b3ZlciBkZWJ1ZyBwcmludGYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKToKCSAgUmVtb3ZlIGFjY2lkZW50aWFsbHkgbGVmdG92ZXIgZGVidWcgcHJpbnRmLgoKMjAwOC0wMS0xNCAwODo1NjozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBDaG9vc2Ugc21hbGxlc3QgcG9zc2libGUgZnJhbWUgc2l6ZSBmb3IgdGhlIFhpbmcgaGVhZGVyLCBwcm9wZXJseSBzZXQgdGhlIHRpbWVzdGFtcCwgZHVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGhhc194aW5nX2hlYWRlciksCgkgIChnZW5lcmF0ZV94aW5nX2hlYWRlciksIChnc3RfeGluZ19tdXhfY2hhaW4pLAoJICAoZ3N0X3hpbmdfbXV4X3NpbmtfZXZlbnQpOgoJICBDaG9vc2Ugc21hbGxlc3QgcG9zc2libGUgZnJhbWUgc2l6ZSBmb3IgdGhlIFhpbmcgaGVhZGVyLCBwcm9wZXJseQoJICBzZXQgdGhlIHRpbWVzdGFtcCwgZHVyYXRpb24gYW5kIG9mZnNldCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycywKCSAgb25seSBzZW5kIE5FV1NFR01FTlQgZXZlbnRzIGluIEJZVEUgZm9ybWF0IGRvd25zdHJlYW0gYW5kIGFsc28KCSAgZHJvcCBWQlJJIGhlYWRlcnMgaWYgYWxyZWFkeSBleGlzdGluZy4KCjIwMDgtMDEtMTIgMDk6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyLzogTWFqb3IgY2xlYW51cCBhbmQgcmV3cml0ZSBvZiB4aW5nbXV4IHdpdGggbGVzcyBidWdzIGFuZCBuZXcgZmVhdHVyZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKHBhcnNlX2hlYWRlciksIChnZXRfeGluZ19vZmZzZXQpLAoJICAoaGFzX3hpbmdfaGVhZGVyKSwgKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwKCSAgKGdzdF94aW5nX211eF9iYXNlX2luaXQpLCAoZ3N0X3hpbmdfbXV4X2ZpbmFsaXplKSwgKHhpbmdfcmVzZXQpLAoJICAoZ3N0X3hpbmdfbXV4X2luaXQpLCAoZ3N0X3hpbmdfbXV4X2NoYWluKSwKCSAgKGdzdF94aW5nX211eF9zaW5rX2V2ZW50KSwgKGdzdF94aW5nX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgTWFqb3IgY2xlYW51cCBhbmQgcmV3cml0ZSBvZiB4aW5nbXV4IHdpdGggbGVzcyBidWdzIGFuZCBuZXcgZmVhdHVyZXM6CgkgIC0gSGFuZGxlcyBvdGhlciBsYXllcnMgYXMgMwoJICAtIFdyaXRlIFRPQwoKMjAwOC0wMS0xMSAxOToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKGNyZWF0ZV90ZXN0X2J1ZmZlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKHRlc3RfYnVmZmVyX25ldyk6CgkgIEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgoyMDA4LTAxLTExIDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQgb2YgcmV0dXJuaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkCgkgIG9mIHJldHVybmluZyBhbiBlcnJvci4gRml4ZXMgYSBUT0RPIGFzIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpLgoKMjAwOC0wMS0xMSAxNjo0NTo1NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzIGRvdCBhbGFvdWkgYXQgY29sbGFib3JhIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb2Nlc3NfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zeW5jX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X2Nsb2NrX3JhdGVfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3JlY29uc2lkZXJfY2FsbGJhY2spLCAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHNvdXJjZV9jbG9ja19yYXRlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUwODU4Ny4KCjIwMDgtMDEtMTEgMTU6NTg6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogU21hbGwgbWVhbmluZ2xlc3MgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3V0aWxfZmluZF9zdGFydF9jb2RlKToKCSAgU21hbGwgbWVhbmluZ2xlc3MgY2xlYW51cC4KCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChzY2FuX2tleWZyYW1lKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaF9kZWNvZGUpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBUcmFjayBzZWdtZW50IGV2ZW50cy4KCSAgRG8gdGhlIGZpcnN0IHBhcnQgb2YgcmV2ZXJzZSBwbGF5YmFjayBieSBzZW5kaW5nIGRhdGEgYmV0d2VlbiB0d28KCSAgSS1mcmFtZXMgdG8gdGhlIGRlY29kZXIuCgoyMDA4LTAxLTEwIDIwOjU3OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCjIwMDgtMDEtMTAgMTQ6MzQ6MzAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgoyMDA4LTAxLTEwIDEyOjM2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncwoJICBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlIHJlcXVpcmUgR05VIG1ha2UgaW4gYWxtb3N0CgkgIGV2ZXJ5IE1ha2VmaWxlIGFueXdheS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBTV9QUk9HX0NDX0NfTyBhcyBhIGNvbXBpbGVyIHRoYXQgYWNjZXB0cyBib3RoIC1jIGFuZCAtbwoJICBhdCB0aGUgc2FtZSB0aW1lIGlzIHJlcXVpcmVkIGZvciBwZXIgdGFyZ2V0IGZsYWdzLgoKMjAwOC0wMS0wOSAxNDozOTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyIHBhZCBjYW4gcmVuZWdvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlcgoJICBwYWQgY2FuIHJlbmVnb3RpYXRlIHRvLiBGaXhlcyAjNTA3OTQwLgoKMjAwOC0wMS0wOSAxMzo1MzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGRpbmcgY292ZXJhZ2UgcmVwb3J0cy4gQWRkIHRvcC1sZXZlbCBjaGVjayB0YXJnZXRzIHNpbWlsYXIgdG8gb3RoZXIgZ3N0IHBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxkaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEFkZCB0b3AtbGV2ZWwKCSAgY2hlY2sgdGFyZ2V0cyBzaW1pbGFyIHRvIG90aGVyIGdzdCBwYWNrYWdlcy4KCjIwMDgtMDEtMDYgMjI6MzU6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgR1NUX0NGTEFHUy4gIE90aGVyd2lzZSB3ZSBkb24ndCBnZXQgLVdhbGwgLVdlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX0NGTEFHUy4gIE90aGVyd2lzZSB3ZSBkb24ndCBnZXQgLVdhbGwgLVdlcnJvci4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIEdldHRpbmcgdGlyZWQgb2YgZGlyZWN0ZmIncyBjaGF0dGVyLiAgUXVpZXQgaXQuCgoyMDA4LTAxLTA2IDIyOjAwOjMyICswMDAwICBTZWFuIEQnRXBhZ25pZXIgPHNlYW5AZGVwYWduaWVyLmNvbT4KCgkgIEFkZCBmYmRldi1iYXNlZCB2aWRlbyBzaW5rLiAgTGludXgtb25seS4gIFNlZSBidWcgIzUwNjU0OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWFuIEQnRXBhZ25pZXIgPHNlYW5AZGVwYWduaWVyLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJICBBZGQgZmJkZXYtYmFzZWQgdmlkZW8gc2luay4gIExpbnV4LW9ubHkuICBTZWUgYnVnICM1MDY1NDkuCgoyMDA4LTAxLTA2IDE2OjM2OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgdG8gR01lbW9yeUlucHV0U3RyZWFtIEFQSSBjaGFuZ2VzIGluIEdMaWIgU1ZOIGFuZCByZXF1aXJlIGdpby0yLjAgPj0gMi4xNS4xIGZvciB0aGlzLiBGaXhlcyBidWcgIzUwNzU4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoZnJlZV9pbnB1dCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIFVwZGF0ZSB0byBHTWVtb3J5SW5wdXRTdHJlYW0gQVBJIGNoYW5nZXMgaW4gR0xpYiBTVk4gYW5kIHJlcXVpcmUKCSAgZ2lvLTIuMCA+PSAyLjE1LjEgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTA3NTg0LgoJICBXZSBjYW4gYWxzbyByZXBvcnQgdGhlIGR1cmF0aW9uIGZvciBldmVyeSBHU2Vla2FibGUsIG5vdCBvbmx5CgkgIEdGaWxlSW5wdXRTdHJlYW0gYW5kIEdNZW1vcnlJbnB1dFN0cmVhbS4KCjIwMDgtMDEtMDYgMDM6MDE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MKCSAgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1bGxzY3JlZW5pbmcgYmVpbmcgYW4KCSAgZXhlY3B0aW9uKS4gIERvZXNuJ3QgaGFuZGxlIGV4cG9zZSBldmVudHMgZGlyZWN0bHkgdG8gdGhlIEdMCgkgIHdpbmRvdy4KCjIwMDgtMDEtMDYgMDE6MTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZSB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUKCSAgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDgtMDEtMDQgMTg6NDc6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIEZpeGVzICM1MDcwMjAuCgoyMDA4LTAxLTAzIDIzOjM1OjUyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCgoyMDA4LTAxLTAyIDIwOjQ5OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHZjZHNyYyBpbiBzdGF0ZXMgdGVzdCBiZWNhdXNlIGl0IHRha2VzIHRvbyBtdWNoIHRpbWUgdG8gZ2V0IHRvIFBMQVlJTkcgaWYgaXQgY2FuIGZpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB2Y2RzcmMgaW4gc3RhdGVzIHRlc3QgYmVjYXVzZSBpdCB0YWtlcyB0b28gbXVjaCB0aW1lCgkgIHRvIGdldCB0byBQTEFZSU5HIGlmIGl0IGNhbiBmaW5kIGEgZGV2aWNlLgoKMjAwOC0wMS0wMSAwMToxODoxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IERvbid0IGVtaXQgc2lnbml0dXJlIHdoZW4gZ29pbmcgdG8gUkVBRFksIGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgIERvbid0IGVtaXQgc2lnbml0dXJlIHdoZW4gZ29pbmcgdG8gUkVBRFksIGJlY2F1c2UgaXQgbWlnaHQKCSAgbm90IGJlIHJlYWR5LgoJICAqIGV4dC9uYXMvbmFzc2luay5jOgoJICBSZW1vdmUgdXNlbGVzcyBjYWxsIHRoYXQgc2xlZXBzIGZvciA1IHNlY29uZHMuICBZdXAsIGl0IGNhbGxzCgkgIHNsZWVwKDEpIDUgdGltZXMuICBHbyBOQVMuCgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgSW5pdGlhbGl6ZSBvdXIgZGVidWcgY2F0ZWdvcmllcyBwcm9wZXJseS4KCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgRG9uJ3QgcmVnaXN0ZXIgZWxlbWVudCBkZXRhaWxzIGZvciBhIG5vbi1lbGVtZW50LiAgQmUgbXVjaCBtb3JlCgkgIHJ1ZGUgd2hlbiBzdWJjbGFzcyBkb2Vzbid0IHNldCBhIHBhZCB0ZW1wbGF0ZSAoYXNzZXJ0ISkuICBEb24ndAoJICB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlOyB3ZSBkb24ndCBvd24gaXQuCgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgbmFzc2luayBlbGVtZW50IGluIHRlc3RzIGJlY2F1c2UgaXQgaGFzIHVuYXZvaWRhYmxlCgkgIGxvbmcgdGltZW91dHMuCgoyMDA3LTEyLTMxIDEzOjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgoyMDA3LTEyLTMxIDA3OjU1OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZyBhIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UKCSAgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nCgkgIGEgY2hlY2sgZm9yIHByZS1wa2djb25maWcgdmVyc2lvbnMuCgoyMDA3LTEyLTI5IDE3OjMxOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzogKGR2Yl9iYXNlX2Jpbl9jbGFzc19pbml0KToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuZCBkb24ndAoJICBhYm9ydCgpIGluIGFueSBjYXNlIGJ1dCBwcm9wZXJseSByZXBvcnQgdGhlIGVycm9yLgoKMjAwNy0xMi0yOSAxNzoyOToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIHRvIGxhdGVzdCBBUEkgY2hhbmdlcyBpbiBHTGliL0dJTyBhbmQgcmVxdWlyZSBhdCBsZWFzdCBnaW8tMi4wIDIuMTUuMCBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgVXBkYXRlIHRvIGxhdGVzdCBBUEkgY2hhbmdlcyBpbiBHTGliL0dJTyBhbmQgcmVxdWlyZSBhdCBsZWFzdAoJICBnaW8tMi4wIDIuMTUuMCBmb3IgdGhpcy4KCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX1BMVUdJTl9MREZMQUdTIHRvIExERkxBR1MuCgoyMDA3LTEyLTI5IDAwOjM3OjQxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uCgkgIEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIG1vc3RseSBjb3JyZWN0bHkuICBSZWVuYWJsZSBpbiBidWlsZC4KCjIwMDctMTItMjggMTE6NDQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc291cC86IFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbiBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKHNvdXBfZ290X2hlYWRlcnMpOgoJICBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24KCSAgaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgoyMDA3LTEyLTI3IDA1OjI2OjA1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MKCSAgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYmUgZml4ZWQgc29vbi4KCjIwMDctMTItMjcgMDQ6MTU6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZQoJICB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3VzIGZvcm1hdHMgdG8KCSAgZG93bmxvYWRpbmcuICBGaXggYSBmZXcgcGxhY2VzIHdoZXJlIHdlIGxlYWsgR0wgc3RhdGUgdG8KCSAgb3RoZXIgZWxlbWVudHMgKGJhZCwgYnV0IGhhcmQgdG8gcHJldmVudCkuCgoyMDA3LTEyLTI3IDAwOjUyOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvQlVHUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhCgkgIEdzdEdMQnVmZmVyRm9ybWF0IHR5cGUgdGhhdCBjb3JyZXNwb25kcyB0byBob3cgdG8gdXNlIHRoZQoJICB0ZXh0dXJlLCBub3QgdGhlIG9yaWdpbmFsIHZpZGVvIGZvcm1hdC4gIENvbnZlcnQgZ3N0ZmxmaWx0ZXIuYwoJICBpbnRvIGEgYmFzZSBjbGFzcywgYWRkIGdsZmlsdGVyZXhhbXBsZSBhbmQgZ2xjb252ZXJ0IGVsZW1lbnRzLgoJICAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6CgkgIE1pbm9yIHJhbWJsaW5ncyBhYm91dCBjb2xvciBjb252ZXJzaW9uIG1hdHJpY2VzLgoKMjAwNy0xMi0yNSAwMDozNDoxNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzCgkgIEdMIHJlbmRlcmluZyB0byBjcmVhdGUgaW1hZ2VzLiAgTW9yZSBjbGVhbnVwLgoKMjAwNy0xMi0yNCAyMToyNjo0MCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCjIwMDctMTItMjQgMjE6MDQ6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoKMjAwNy0xMi0yNCAyMDo1Mzo1NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlCgkgIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsIGZpbHRlcmluZyBhbGwKCSAgd29yay4KCjIwMDctMTItMjMgMjI6MDQ6MDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvOiBSZW1vdmUgdmlkZW9wYXJzZSBlbGVtZW50LCBiZWNhdXNlIGl0IHdhcyBtb3ZlZCB0byBnc3QvcmF3cGFyc2UvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3BhcnNlL1JFQURNRToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIFJlbW92ZSB2aWRlb3BhcnNlIGVsZW1lbnQsIGJlY2F1c2UgaXQgd2FzIG1vdmVkIHRvIGdzdC9yYXdwYXJzZS8KCjIwMDctMTItMjMgMTA6MzQ6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBBbHdheXMgc2VlayBvbiBmcmFtZSBib3VuZGFyaWVzLCB3aWxsIHByb2R1Y2Ugbm90aGluZyB1c2VmdWwgb3RoZXJ3aXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KToKCSAgQWx3YXlzIHNlZWsgb24gZnJhbWUgYm91bmRhcmllcywgd2lsbCBwcm9kdWNlIG5vdGhpbmcgdXNlZnVsCgkgIG90aGVyd2lzZS4KCjIwMDctMTItMjMgMDY6MjI6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBuZXcgcGx1Z2luIHJhd3BhcnNlIHRoYXQgY29udGFpbnMgYSBiYXNlIGNsYXNzIGZvciByYXcgZGF0YSBwYXJzZXJzIGFuZCB0aGUgdHdvIGVsZW1lbnRzIGF1ZGlvcGFyc2UgYW5kIHZpZGVvcGFycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzogKGdzdF9hdWRpb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLCAoZ3N0X2F1ZGlvX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFyc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX3VwZGF0ZV9mcmFtZV9zaXplKSwgKGdzdF9hdWRpb19wYXJzZV9nZXRfY2Fwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfcmF3X3BhcnNlX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3Nfc2V0X3NyY19wYWRfdGVtcGxhdGUpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19zZXRfbXVsdGlwbGVfZnJhbWVzX3Blcl9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9yZXNldCksIChnc3RfcmF3X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9yYXdfcGFyc2VfY29udmVydCksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnlfdHlwZSksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSksIChnc3RfcmF3X3BhcnNlX3NldF9mcmFtZXNpemUpLAoJICAoZ3N0X3Jhd19wYXJzZV9zZXRfZnBzKSwgKGdzdF9yYXdfcGFyc2VfZ2V0X2ZwcyksCgkgIChnc3RfcmF3X3BhcnNlX2lzX25lZ290aWF0ZWQpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwgKGdzdF92aWRlb19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfdG9fZm91cmNjKSwKCSAgKGdzdF92aWRlb19wYXJzZV91cGRhdGVfZnJhbWVfc2l6ZSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X2NhcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IHBsdWdpbiByYXdwYXJzZSB0aGF0IGNvbnRhaW5zIGEgYmFzZSBjbGFzcyBmb3IgcmF3IGRhdGEKCSAgcGFyc2VycyBhbmQgdGhlIHR3byBlbGVtZW50cyBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnNlIHRoYXQgY2FuCgkgIGJlIHVzZWQgdG8gcGFyc2UgcmF3IGF1ZGlvIGFuZCB2aWRlby4gVGhlc2UgYXJlIGluc3BpcmVkIGJ5IHRoZQoJICBvbGQgdmlkZW9wYXJzZSBlbGVtZW50IHdoaWNoIHRoZSBuZXcgcmF3cGFyc2UgcGx1Z2luIGRlcHJlY2F0ZXMuCgoyMDA3LTEyLTIyIDA1OjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gIENoZWNrcG9pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlCgkgIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguICBDaGVja3BvaW50IGJlY2F1c2UgSSdtIGFib3V0CgkgIHRvIHJld3JpdGUgYSBidW5jaCBvZiBjb2RlLgoKMjAwNy0xMi0yMSAxOTowMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJICBTb21lIElQVEMgdGFncyBtYXBwZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIElQVEMgdGFncyBtYXBwZWQuCgoyMDA3LTEyLTIxIDA5OjQ1OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSAgUmVtb3ZlZCBnc3RtZXRhZGF0YWNvbW1vbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgZ3N0bWV0YWRhdGFjb21tb24uCgoyMDA3LTEyLTIxIDAwOjAzOjExICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsCgkgIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtb3ZlIEdMRHJhd2FibGUsCgkgIHNpbmNlIEdzdEdMRGlzcGxheSBub3cgaGFzIGEgZGVmYXVsdCBkcmF3YWJsZSBhbmQgY29udGV4dC4KCjIwMDctMTItMjAgMTc6MDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA3LTEyLTE5IDA5OjUwOjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBOZXcgYmFzZSBjbGFzcyBmb3IgbWV0YWRhdGEgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgYmFzZSBjbGFzcyBmb3IgbWV0YWRhdGEgZWxlbWVudHMuCgoyMDA3LTEyLTE4IDE2OjA4OjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoLzogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZW51bSwgZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpIChnc3Rfc2VsZWN0b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZW51bSwgZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9ydW5uaW5nX3RpbWUpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQsIGdzdF9zZWdtZW50X2dldF90aW1lc3RhbXApCgkgIChnc3Rfc2VnbWVudF9zZXRfc3RvcCwgZ3N0X3NlZ21lbnRfc2V0X3N0YXJ0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaykKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IENoYW5nZSBzbyB0aGF0IHRoZSBzaWduYWxzIGFuZAoJICBwcm9wZXJ0aWVzIGRlYWwgaW4gcnVubmluZyB0aW1lLCBub3QgYnVmZmVyIHRpbWUuIERvY3VtZW50IHRoZQoJICBzaWduYWxzIG1vcmUuIENoYW5nZSB1aW50NjQgaW4gQVBJIHRvIGludDY0LCB0byByZWZsZWN0IHdoYXQncyBpbgoJICBHc3RTZWdtZW50LgoKMjAwNy0xMi0xOCAwOToyNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdCBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QKCSAgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBmb3IgbGliZ3N0dmlkZW8gYWRkaXRpb25zIGluCgkgIGdsaW1hZ2VzaW5rLiBEaXNhYmxlIGdsaW1hZ2VzaW5rIHVudGlsIHRoZSBtaXNzaW5nIGZpbGVzIGdldAoJICBjaGVja2VkIGluLgoKMjAwNy0xMi0xOCAwMToyNTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQKCSAgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidWYuICBVbnRlc3RlZC4gIFdpbGwKCSAgbGlrZWx5IGNyYXNoIHlvdXIgbW90b3JjeWNsZSBpZiB5b3UgdHJ5IGl0LgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgUmVtb3ZlLgoKMjAwNy0xMi0xNyAyMToxMjoyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy4qOiBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQgYW4gRU9TIGluc3RlYWQgb2YgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQKCSAgYW4gRU9TIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4KCjIwMDctMTItMTcgMTU6MDk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBSZXR1cm4gT0sgd2hlbiBhIGJ1ZmZlciBpcyBpZ25vcmVkLCBub3QgTk9UX0xJTktFRC4gTm8gc2Vuc2UgaW4gbWFraS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUmV0dXJuIE9LIHdoZW4KCSAgYSBidWZmZXIgaXMgaWdub3JlZCwgbm90IE5PVF9MSU5LRUQuIE5vIHNlbnNlIGluIG1ha2luZyBhIHNvdXJjZQoJICBlbGVtZW50IGVycm9yIG91dDsgYXQgbGVhc3QgZmRzcmMgY29uc2lkZXJzIE5PVF9MSU5LRUQgdG8gYmUgYQoJICBmYXRhbCBlcnJvci4gUGF0Y2ggMTEvMTIuIFRoZXJlIGlzIG5vIHBhdGNoIDEyLzEyLiBGb28uCgoyMDA3LTEyLTE3IDE1OjA2OjQ4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoLzogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KSAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IE1ha2UgdGhlIGJsb2NrKCkgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IE1ha2UgdGhlIGJsb2NrKCkgc2lnbmFsIHJldHVybiB0aGUKCSAgbGFzdCBzdG9wIHRpbWUgb2YgdGhlIGFjdGl2ZSBwYWQuIFBhdGNoIDEwLzEyLgoKMjAwNy0xMi0xNyAxNTowNDo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkgKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOiBFeHBvc2UgJ2xhc3Qtc3RvcC10aW1lJyBhcyBhCgkgIHBhZCBwcm9wZXJ0eSwgbm90IGFuIGVsZW1lbnQgcHJvcGVydHkuCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogTWFyayB0aGUgbGFzdF9zdG9wIHRpbWUgYXMgdGltZXN0YW1wICsKCSAgZHVyYXRpb24sIG5vdCB0aW1lc3RhbXAuIFBhdGNoIDkvMTIuCgoyMDA3LTEyLTE3IDE1OjAxOjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2hhbmdlX3N0YXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2ssIGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogVXNlIHRoZQoJICBjb25kIG1lY2hhbmlzbSBpbnN0ZWFkIG9mIGJsb2NrZWQgcGFkcy4gUGF0Y2ggOC8xMi4KCjIwMDctMTItMTcgMTU6MDA6MTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3dhaXQpIChnc3Rfc2VsZWN0b3JfcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3dhaXQpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Rpc3Bvc2UpOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG5ldyBibG9ja2luZwoJICBtZWNoYW5pc20gdGhhdCBkb2VzIG5vdCB1c2UgZ3N0X3BhZF9zZXRfYmxvY2tlZCwgd2hpY2ggZG9lcyBub3QKCSAgd29yayBvbiBzaW5rIHBhZHMuIFBhdGNoIDcvMTIuCgoyMDA3LTEyLTE3IDE0OjU4OjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOiBBZGQgbGFzdC1zdG9wLXRpbWUgcmVhZGFibGUKCSAgcHJvcGVydHkuIFBhdGNoIDYvMTIuCgoyMDA3LTEyLTE3IDE0OjU1OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogQWRkIHNvbWUgc3RhdGUgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogQWRkIHNvbWUKCSAgc3RhdGUgdmFyaWFibGVzLgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUHVzaCBhbnkgcGVuZGluZyBzdG9wIGV2ZW50LgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KTogRmFjdG9yIG91dCBzZXR0aW5nIHRoZSBhY3RpdmUKCSAgcGFkIHRvIGEgZnVuY3Rpb24uIENsb3NlIHRoZSBzZWdtZW50IG9mIHRoZSBwcmV2aW91cyBhY3RpdmUgcGFkIGlmCgkgIHRvbGQgdG8gZG8gc28gdmlhIGEgc3RvcF90aW1lICE9IEdTVF9DTE9DS19USU1FX05PTkUuCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IEltcGxlbWVudCBzd2l0Y2ggdm1ldGhvZC4gUGF0Y2ggNS8xMi4KCjIwMDctMTItMTcgMTQ6NTI6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBJbXBsZW1lbnQgdGhlIGJsb2NrKCkgc2lnbmFsLiBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgcmVwbGFjZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogSW1wbGVtZW50CgkgIHRoZSBibG9jaygpIHNpZ25hbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHJlcGxhY2VkIGluIGZ1dHVyZQoJICBwYXRjaGVzLCBob3dldmVyLiBQYXRjaCA0LzEyLgoKMjAwNy0xMi0xNyAxNDo0ODoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKTogRml4IHZtZXRob2QgcHJvdG90eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKTogRml4CgkgIHZtZXRob2QgcHJvdG90eXBlcy4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IEFkZCBlbXB0eQoJICB2bWV0aG9kIGRlZmluaXRpb25zLiBQYXRjaCAzLzEyLgoKMjAwNy0xMi0xNyAxNDo0NjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guKjogQWRkIGBibG9jaycgYW5kIGBzd2l0Y2gnIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KTogQWRkCgkgIGBibG9jaycgYW5kIGBzd2l0Y2gnIHNpZ25hbHMuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6IEFkZCBmb28gdG8gZ2VuZXJhdGUgYQoJICBtYXJzaGFsbGVyIGZvciB0aGUgYHN3aXRjaCcgc2lnbmFsLiBQYXRjaCAyLzEyLgoKMjAwNy0xMi0xNyAxNDo0MzowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guKjogUmVwbGFjZSB3aXRoIGZpbGVzIGZyb20gZ3N0c3RyZWFtc2VsZWN0b3IuW2NoXSwgcmVnaXN0ZXJlZCBhcyB0aGUgInN3aXRjaCIgcGx1Z2luLCB3aXRoICJHc3RTLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogUmVwbGFjZSB3aXRoIGZpbGVzIGZyb20KCSAgZ3N0c3RyZWFtc2VsZWN0b3IuW2NoXSwgcmVnaXN0ZXJlZCBhcyB0aGUgInN3aXRjaCIgcGx1Z2luLCB3aXRoCgkgICJHc3RTd2l0Y2giIHR5cGVzLiBQYXRjaCAxLzEyLgoKMjAwNy0xMi0xNyAxNDozNzozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsaWJzb3VwIHBsdWdpbiB0byBzcGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGlic291cCBwbHVnaW4gdG8gc3BlYwoKMjAwNy0xMi0xNyAxMjozNzozNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkICJwYXJzZS1vbmx5IiBwcm9wZXJ0eSB0byBtZXRhZGF0YWRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgInBhcnNlLW9ubHkiIHByb3BlcnR5IHRvIG1ldGFkYXRhZGVtdXguCgoyMDA3LTEyLTE2IDIyOjU3OjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoKMjAwNy0xMi0xNiAwMDoxNjo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteSBkcml2ZXIuIDooCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15CgkgIGRyaXZlci4gOigKCjIwMDctMTItMTUgMTk6MzE6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvciBwb3dlci1vZi0yIHRleHR1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvcgoJICBwb3dlci1vZi0yIHRleHR1cmVzLgoKMjAwNy0xMi0xNSAxNzo1Mjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGcmVlIHRoZSBhZGFwdGVyIG9uIGRpc3Bvc2UgYW5kIGNvcnJlY3RseSByZXNldCBvbiBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBGcmVlIHRoZSBhZGFwdGVyIG9uIGRpc3Bvc2UgYW5kIGNvcnJlY3RseSByZXNldCBvbiBuZXdzZWdtZW50IGV2ZW50cy4KCjIwMDctMTItMTUgMTM6MTA6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSW1wcm92ZSBkdXJhdGlvbiBxdWVyeSBieSBmaXJzdCBhc2tpbmcgdXBzdHJlYW0gYW5kIGlmIGl0IGNhbid0IGhhbmRsZSB0aGUgcXVlcnkgdHJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnkpOgoJICBJbXByb3ZlIGR1cmF0aW9uIHF1ZXJ5IGJ5IGZpcnN0IGFza2luZyB1cHN0cmVhbSBhbmQgaWYgaXQgY2FuJ3QgaGFuZGxlCgkgIHRoZSBxdWVyeSB0cnkgdG8gZ2V0IHRoZSBkdXJhdGlvbiBpbiBieXRlcyBmcm9tIHVwc3RyZWFtIGFuZCBjb252ZXJ0LgoJICBGb3Igc2Vla3MsIHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIHRoaXMgYWxyZWFkeSBmaXJzdCBhbmQgZG8gb3VyCgkgIGNvbnZlcnNpb24gdG8gYnl0ZSBmb3JtYXQgb25seSBpZiBpdCBkb2Vzbid0IGFuZCBpZiB3ZSBnZXQgYQoJICBuZXdzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGtlZXAgaXQgYW5kIG9ubHkgZG8gb3VyIGNvbnZlcnNpb25zCgkgIGlmIHRoZSBldmVudCBoYXMgYW5vdGhlciBmb3JtYXQuCgoyMDA3LTEyLTE1IDA3OjM3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1yZ2IgYW5kIHZpZGVvL3gtcmF3LWdyYXkuIEFsc28gc2VuZCBkb3duc3RyZWFtIGVsZW1lbnRzIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF90b19mb3VyY2MpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3VwZGF0ZV9ibG9ja19zaXplKSwgKGdzdF92aWRlb19wYXJzZV9jaGFpbiksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1yZ2IgYW5kIHZpZGVvL3gtcmF3LWdyYXkuIEFsc28gc2VuZAoJICBkb3duc3RyZWFtIGVsZW1lbnRzIGRvd25zdHJlYW0sIG5vdCB1cHN0cmVhbS4KCjIwMDctMTItMTUgMDY6MzM6MzcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uKjogUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4KCSAgVGhpcyBzaG91bGQgZXZlbnR1YWxseSBtb3ZlIHRvIC1iYXNlLgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBVc2UgdGhlIG5ldyB2aWRlby1jb21tb24uaCBzdHVmZi4gIFJlYWRkIHN1cHBvcnQgZm9yIFJHQiB2aWRlby4KCjIwMDctMTItMTQgMTg6MTg6MzcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkIG5ldyBtb2R1bGUgZm9yIGNvbW1vbiBmdW5jdGlvbnMuIFVzaW5nIEdTVF9UWVBFX0ZSQUNUSU9OIGZvciBFeGlmIChTKVJhdGlvbmFsIHR5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgbmV3IG1vZHVsZSBmb3IgY29tbW9uIGZ1bmN0aW9ucy4gVXNpbmcgR1NUX1RZUEVfRlJBQ1RJT04gZm9yIEV4aWYgKFMpUmF0aW9uYWwgdHlwZXMuCgoyMDA3LTEyLTE0IDE3OjUxOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuKjogSGFzaCBzdHJlYW1zIGJ5IHBpZCBhZ2Fpbi4gQWRkIGEgbGlua2VkIGxpc3QgaW5zaWRlIGVhY2ggc3RyZWFtIHdpdGggYSBsaXN0IG9mIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgSGFzaCBzdHJlYW1zIGJ5IHBpZCBhZ2Fpbi4gQWRkIGEgbGlua2VkIGxpc3QgaW5zaWRlIGVhY2gKCSAgc3RyZWFtIHdpdGggYSBsaXN0IG9mIHN1Yl90YWJsZXMuIEZpeCBtdWx0aXBsZSBzZWN0aW9ucwoJICBhcyBpdCB3YXMgYm9ya2VkIHdpdGggbXkgbGFzdCBjb21taXQuCgoyMDA3LTEyLTE0IDE2OjIzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDctMTItMTMgMTc6MTk6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBDb2RlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb2RlIGRvY3VtZW50YXRpb24uCgoyMDA3LTEyLTEzIDEyOjQ1OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWFrZWZpbGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkIGEgdGVzdCBhcHBsaWNhdGlvbi4gQWRkZWQgc29tZSBFWElGIHRhZ3MuIEZpeGVkIGEgbXV4ZXIgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSB0ZXN0IGFwcGxpY2F0aW9uLiBBZGRlZCBzb21lIEVYSUYgdGFncy4gRml4ZWQgYSBtdXhlciBidWcuCgoyMDA3LTEyLTEzIDExOjI1OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEltcGxlbWVudCBhIHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkLCBpbXBsZW1lbnQgc2Vla2luZyBhbmQgdXNlIEFOWSBjYXBzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19ldmVudCksIChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5X3R5cGUpOgoJICBJbXBsZW1lbnQgYSBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZCwgaW1wbGVtZW50IHNlZWtpbmcKCSAgYW5kIHVzZSBBTlkgY2FwcyBmb3IgdGhlIHNpbmsgcGFkIGFzIHRoZSBlbGVtZW50IGRvZXNuJ3QgY2FyZSB3aGF0CgkgIGNhcHMgdGhlIGlucHV0IGhhcyBhbmQgZXZlcnl0aGluZyBpcyBoYW5kbGVkIHZpYSBwcm9wZXJ0aWVzLgoKMjAwNy0xMi0xMyAxMDozODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBIYW5kbGUgLTEgdmFsdWVzIGZvciB0aGUgQ09OVkVSVCBxdWVyeSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9jb252ZXJ0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgSGFuZGxlIC0xIHZhbHVlcyBmb3IgdGhlIENPTlZFUlQgcXVlcnkgdG9vLgoKMjAwNy0xMi0xMyAxMDoxNjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBBZGQgWVYxMiB0byB0aGUgcGFkIHRlbXBsYXRlcyBhcyBpdCBpcyBzdXBwb3J0ZWQgdG9vIGFuZCBhbGxvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEFkZCBZVjEyIHRvIHRoZSBwYWQgdGVtcGxhdGVzIGFzIGl0IGlzIHN1cHBvcnRlZCB0b28gYW5kIGFsbG93CgkgIC0xIGFzIHN0b3AgcG9zaXRpb24gZm9yIE5FV1NFR01FTlQgZXZlbnRzLgoKMjAwNy0xMi0xMyAwODo1NDowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MgdG8gZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MgdG8gZml4IHRoZSBidWlsZC4KCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpOgoJICBVc2UgZ192YWx1ZV9bc2ddZXRfZW51bSgpIGZvciBlbnVtIHByb3BlcnRpZXMsIGdfdmFsdWVfW3NnXWV0X2ludCgpCgkgIGdpdmVzIGEgZ19jcml0aWNhbCgpLgoKMjAwNy0xMi0xMyAwNDo0Mzo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS86IEFkZCBhIGJ1bmNoIG9mIGZlYXR1cmVzOiBoYW5kbGUgZm9ybWF0IHNwZWNpZmljYXRpb24sIGhhbmRsZSBxdWVyaWVzIGFuZCBjb252ZXJzaW9uLiAgV29ya3MgbXVjaCBsaWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvUkVBRE1FOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQWRkIGEgYnVuY2ggb2YgZmVhdHVyZXM6IGhhbmRsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwgaGFuZGxlCgkgIHF1ZXJpZXMgYW5kIGNvbnZlcnNpb24uICBXb3JrcyBtdWNoIGxpa2UgYSBub3JtYWwgcGFyc2VyIG5vdy4KCjIwMDctMTItMTIgMTY6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChnc3RfcnRwX3NzcmNfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwNy0xMi0xMiAxMjoxMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIEZpeCBzb21lIGxlYWtzLgoKMjAwNy0xMi0xMiAwNDoxMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuKjogQWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIgYXMgdXNlZCBieSBmbHVwc3BhcnNlLiBNb3N0IGNoYW5nZXMgYWRhcHRlZCBmcm9tIGE1MmRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCksCgkgIChnc3RfZHRzZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZHRzZGVjX2NoYWluX3JhdyksCgkgIChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIiBhcyB1c2VkIGJ5IGZsdXBzcGFyc2UuIE1vc3QKCSAgY2hhbmdlcyBhZGFwdGVkIGZyb20gYTUyZGVjLgoKMjAwNy0xMi0xMiAwMjozMzoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgIFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhCgkgIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzaW9uYWxseQoJICBkdWUgdG8gZGlmZmVyZW50IHRocmVhZHMgdG91Y2hpbmcgYml0cyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAwNy0xMi0xMSAxNjozOTozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksICh1bmljb2RpZnkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwgKHNvdXBfZmluaXNoZWQpLAoJICAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksIChzb3VwX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBodHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBSZW9yZ2FuaXNlIGEgYnVuY2ggb2YgdGhpbmdzIGFuZCBjbGVhbnVwcy4KCSAgVXNlcyBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgJWxsdS4KCSAgU2VlICM1MDIzMzUuCgoyMDA3LTEyLTExIDE2OjI2OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBGaXggY2FwcyBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKToKCSAgRml4IGNhcHMgbWVtbGVhay4KCjIwMDctMTItMTEgMTE6NTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZyB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcKCSAgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgoyMDA3LTEyLTEwIDE4OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAob25fc3NyY19zZGVzKToKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIFVwZGF0ZSBzb21lIGNvbW1lbnRzLgoKMjAwNy0xMi0xMCAxNzoxODozNSArMDAwMCAgbXV0ZXggYXQgcnVuYm94IGRvdCBjb20gPG11dGV4QHJ1bmJveC5jb20+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZvcndhcmQgdGhlIHF1ZXJ5IHVwc3RyZWFtLCB0aGUgZGVmYXVsdCBlbGVtZW50IGV2ZW50IGhhbmRsZXIgZG9lcyBzb21ldGhpbmcgZGlmZmVyZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiA8bXV0ZXggYXQgcnVuYm94IGRvdCBjb20+CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgdGhlIHF1ZXJ5IHVwc3RyZWFtLCB0aGUgZGVmYXVsdCBlbGVtZW50IGV2ZW50IGhhbmRsZXIgZG9lcwoJICBzb21ldGhpbmcgZGlmZmVyZW50LiBGaXhlcyAjNTAyODc5LgoKMjAwNy0xMi0xMCAxNTozNDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19zZGVzKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfc2RlcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2Rlcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIEZpeCBvYmplY3QgdHlwZSBpbiB0aGUgc2lnbmFsIGNhbGxiYWNrcy4KCjIwMDctMTItMTAgMTQ6MDM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGggdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLCAoc2Rlc190eXBlX3RvX25hbWUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGgKCSAgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBTU1JDIHByb3BlcnR5LgoKMjAwNy0xMi0xMCAxMTowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBEZWZpbmUgc29tZSBHT2JqZWN0IHByb3BlcnRpZXMgdG8gc2V0IFNERVMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9mcmFjdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9mcmFjdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NkZXNfc3RyaW5nKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc2RlcyksCgkgIChpc19ydGNwX3RpbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNpZ25hbCB3aGVuIG5ldyBTREVTIGluZm9yIGhhcyBiZWVuIGZvdW5kIGZvciBhIHNvdXJjZS4KCSAgQ3JlYXRlIHByb3BlcnRpZXMgZm9yIFNERVMgYW5kIG90aGVyIGluZm8uCgkgIFNpbXBsaWZ5IHRoZSBTREVTIEFQSS4KCSAgQWRkIG1ldGhvZCBmb3IgZ2V0dGluZyB0aGUgaW50ZXJuYWwgc291cmNlIG9iamVjdCBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc291cmNlX2dldF9zc3JjKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9pc19hc19jc3JjKSwgKHJ0cF9zb3VyY2VfaXNfYWN0aXZlKSwKCSAgKHJ0cF9zb3VyY2VfaXNfdmFsaWRhdGVkKSwgKHJ0cF9zb3VyY2VfaXNfc2VuZGVyKSwKCSAgKHJ0cF9zb3VyY2VfcmVjZWl2ZWRfYnllKSwgKHJ0cF9zb3VyY2VfZ2V0X2J5ZV9yZWFzb24pLAoJICAocnRwX3NvdXJjZV9zZXRfc2RlcyksIChydHBfc291cmNlX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9zZGVzKSwgKHJ0cF9zb3VyY2VfZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgR09iamVjdCBwcm9wZXJ0aWVzIGZvciB2YXJpb3VzIHRoaW5ncy4KCSAgRG9uJ3QgbGVhayB0aGUgYnllIHJlYXNvbi4KCjIwMDctMTItMDkgMTk6Mzc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBFbWl0IHRhZyB3aXRoIHRoZSBjb2RlYyBuYW1lIHNvIGl0IGdldHMgcHJvcGVybHkgcmVwb3J0ZWQgaW4gdG90ZW0gYW5kCgkgIG90aGVyIGFwcGxpY2F0aW9ucy4KCjIwMDctMTItMDkgMDQ6MzA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCjIwMDctMTItMDYgMTI6NDU6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMTItMDYgMTI6NDI6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjM3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28KCSAgdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCBpcyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjoyOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2ggbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoKMjAwNy0xMi0wNiAxMDo0ODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBNYXJrIGNyYyB2YWx1ZXMgdGFibGUgYXMgY29uc3RhbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAoY3JjX3RhYik6CgkgIE1hcmsgY3JjIHZhbHVlcyB0YWJsZSBhcyBjb25zdGFudC4KCjIwMDctMTItMDUgMTc6MDA6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkZWQgc29tZSB0YWdzIHRvIGV4aWYgcGFyc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc29tZSB0YWdzIHRvIGV4aWYgcGFyc2VyLgoKMjAwNy0xMi0wNSAxMjo0MDowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEEgc3ViIHRhYmxlIGlzIGlkZW50aWZpZWQgYnkgdGhlIHBhaXIgdGFibGVfaWQgYW5kIHN1Yl90YWJsZV9pZGVudGlmaWVyLCBub3QgYnkgcGlkLiBTbyBoYXNoIHdpdGggdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBIHN1YiB0YWJsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIHRhYmxlX2lkIGFuZAoJICBzdWJfdGFibGVfaWRlbnRpZmllciwgbm90IGJ5IHBpZC4gU28gaGFzaCB3aXRoIHRoYXQuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIE1ha2Ugc3VyZSBpbml0aWFsIHBpZHMgYXJlIGFkZGVkIHByb3Blcmx5IHRvIGZpbHRlciwKCjIwMDctMTItMDUgMTE6MjU6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogRG9uJ3QgcHVzaCBidWZmZXJzIGZyb20gYXBwIHRocmVhZCB3aGVuIHVuc2V0dGluZyBgcXVldWUtYnVmZmVycycsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IERvbid0IHB1c2gKCSAgYnVmZmVycyBmcm9tIGFwcCB0aHJlYWQgd2hlbiB1bnNldHRpbmcgYHF1ZXVlLWJ1ZmZlcnMnLCBpdCdzCgkgIGRhbmdlcm91cyBhbmQgdGhlIGNoYWluIGZ1bmN0aW9uIHdpbGwgZG8gaXQgZm9yIHVzIGFueXdheS4KCjIwMDctMTItMDQgMTc6MjA6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSAgTm93IGNvbXBpbGVzIGV2ZW4gd2hlbiBsaWJpcHRjIGlzIG1pc3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgY29tcGlsZXMgZXZlbiB3aGVuIGxpYmlwdGMgaXMgbWlzc2luZy4KCjIwMDctMTItMDQgMTY6NDI6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkgIEZpeGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgbm93IG11eGVyIHdyaXRlcyB0byBwbmcgYWxzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgbm93IG11eGVyIHdyaXRlcyB0byBwbmcgYWxzby4KCjIwMDctMTItMDMgMTg6Mjg6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgc2lnbmFscyBmb3IgcGF0LCBwbXQsIG5pdCwgZWl0LCBzZHQuIFJlcGxhY2Ugd2l0aCBidXMgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBSZW1vdmUgc2lnbmFscyBmb3IgcGF0LCBwbXQsIG5pdCwgZWl0LCBzZHQuIFJlcGxhY2Ugd2l0aCBidXMKCSAgbWVzc2FnZXMuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEluc3RlYWQgb2YgYXR0YWNoaW5nIHRvIHNpZ25hbHMsIHVzZSB0aGUgYnVzIG1lc3NhZ2VzLgoJICBBbHNvIGZpeCB1cCBzbyB0aGUgZHZic3JjIHN0YXJ0cyBvbmx5IG91dHB1dHRpbmcgdGhlIGluZm8gdGFibGVzCgkgIGxpa2UgUEFULCBDQVQsIE5JVCwgU0RULCBFSVQgaW5zdGVhZCBvZiB0aGUgd2hvbGUgdHMuCgoyMDA3LTEyLTAzIDE2OjE0OjAxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIElQVEMgY2h1bmsgc2VudCBhcyB0YWcuIE11eGVyIGltcGxlbWV0cyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIElQVEMgY2h1bmsgc2VudCBhcyB0YWcuIE11eGVyIGltcGxlbWV0cyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlLgoKMjAwNy0xMi0wMyAxMzowODoyNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBTaG91bGQgZml4IHRoZSA2NC1iaXQgYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFNob3VsZCBmaXggdGhlIDY0LWJpdCBidWlsZAoKMjAwNy0xMS0zMCAxODozMDoxMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIEVYSUYgYW5kIFhNUCBjaHVua3Mgc2VudCBhcyB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIEVYSUYgYW5kIFhNUCBjaHVua3Mgc2VudCBhcyB0YWdzLgoKMjAwNy0xMS0zMCAxNDowODoxNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBBZGQgQ29SUkUgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBDb1JSRSBlbmNvZGluZwoKMjAwNy0xMS0zMCAxMzoxODozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBDUkMgY2hlY2sgdGhlIHBzaSBwaWRzLiBDUkMgY2hlY2tpbmcgY29kZSByZWxpY2VuY2VkIGZyb20gTVBMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQ1JDIGNoZWNrIHRoZSBwc2kgcGlkcy4gQ1JDIGNoZWNraW5nIGNvZGUgcmVsaWNlbmNlZCBmcm9tIE1QTC4KCSAgVGhhbmtzIEZsdWVuZG8uCgoyMDA3LTExLTMwIDEyOjUzOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSAgRml4ZWQgZ2V0X3JhbmdlIGJ1ZyB3aGVuIGluamVjdGluZyBhbmQgc3RyaXBwaW5nLiBBbmQgbXV4IGlzIGFsbW9zdCBkb25lIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGdldF9yYW5nZSBidWcgd2hlbiBpbmplY3RpbmcgYW5kIHN0cmlwcGluZy4gQW5kIG11eCBpcyBhbG1vc3QgZG9uZSBub3cuCgoyMDA3LTExLTMwIDEwOjQ2OjIzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFVzZSBnbGliIG1hY3JvIGZvciBzd2FwcGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgVXNlIGdsaWIgbWFjcm8gZm9yIHN3YXBwaW5nCgoyMDA3LTExLTI5IDEzOjMyOjExICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IERpc2FibGUgQ29weVJlY3QgZW5jb2RpbmcgYnkgZGVmYXVsdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBEaXNhYmxlIENvcHlSZWN0IGVuY29kaW5nIGJ5IGRlZmF1bHQKCSAgQWRkIFJSRSBlbmNvZGluZwoKMjAwNy0xMS0yOSAxMDo0OToxOCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQKCSAgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbmQgaXQgaGFzIHNvbWUgbGVha3MuCgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLAoJICAoc291cF9maW5pc2hlZCksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHVubG9jaygpLgoJICBQaWNrcyB1cCB0aGUgc2l6ZSBmcm9tIHRoZSBDb250ZW50LUxlbmd0aCBoZWFkZXIgYW5kIGVtaXQgYSBkdXJhdGlvbgoJICBtZXNzYWdlLgoJICBEb24ndCBsZWFrIHRoZSBHTWFpbkNvbnRleHQgb2JqZWN0LgoJICBGaXhlcyAjNTAwMDk5LgoKMjAwNy0xMS0yOSAxMDo0NDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBEb24ndCBmcmVlIHVuaW5pdGlhbGl6ZWQgZGF0YSB3aGVuIHdlIGFyZSBpbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19zZXRfcGFyYW1zKSwKCSAgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKToKCSAgRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIGRhdGEgd2hlbiB3ZSBhcmUgaW4gZXJyb3IuCgoyMDA3LTExLTI4IDE0OjAzOjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIFNlbmRpbmcgbWFrZSBhbmQgbW9kZWwgaW5kaXZpZHVhbCB0YWdzIGFuZCBtdXhlciBub3cgbGlua3MgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmRpbmcgbWFrZSBhbmQgbW9kZWwgaW5kaXZpZHVhbCB0YWdzIGFuZCBtdXhlciBub3cgbGlua3MgZmluZS4KCjIwMDctMTEtMjggMDg6MTM6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgU21hbGwgZml4ZXMgaW4gZ2V0X3JhbmdlIGFuZCBiZXR0ZXIgc3RydWN0dXJlIGZvciBnZW5lcmljIG11eGVyIGFuZCBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4ZXMgaW4gZ2V0X3JhbmdlIGFuZCBiZXR0ZXIgc3RydWN0dXJlIGZvciBnZW5lcmljIG11eGVyIGFuZCBkZW11eGVyLgoKMjAwNy0xMS0yNiAxMzoxOTo0OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBRdWlja1RpbWUgV3JhcHBlciBwbHVnLWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yNiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6IEFkZCBRdWlja1RpbWUgV3JhcHBlciBwbHVnLWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKTogRml4CgkgIGJ1aWxkIG9uIE1hYyBPUyBYIExlb3BhcmQuIEluY29ycmVjdCBwcmludGYgZm9ybWF0IGFyZ3VtZW50cy4KCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2luaXQpLAoJICAoY2xlYXJfQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgKGZpbGxfaW5kZXNjX21wMyksCgkgIChmaWxsX2luZGVzY19hYWMpLCAoZmlsbF9pbmRlc2Nfc2FtciksIChmaWxsX2luZGVzY19nZW5lcmljKSwKCSAgKG1ha2Vfc2Ftcl9tYWdpY19jb29raWUpLCAob3Blbl9kZWNvZGVyKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3Npbmtfc2V0Y2FwcyksIChwcm9jZXNzX2J1ZmZlcl9jYiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogKGF1ZGlvX2NhcHNfZnJvbV9zdHJpbmcpLAoJICAoZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6IChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfYXZjMSksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfbXA0diksIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX3N0c2RfYnVmZmVyKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fY29kZWNfZGF0YSk6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6IChnZXRfbmFtZV9pbmZvX2Zyb21fY29tcG9uZW50KSwKCSAgKGdldF9vdXRwdXRfaW5mb19mcm9tX2NvbXBvbmVudCksIChkdW1wX2F2Y2NfYXRvbSksCgkgIChkdW1wX2ltYWdlX2Rlc2NyaXB0aW9uKSwgKGR1bXBfY29kZWNfZGVjb21wcmVzc19wYXJhbXMpLAoJICAoYWRkU0ludDMyVG9EaWN0aW9uYXJ5KSwgKGR1bXBfY3ZwaXhlbF9idWZmZXIpLAoJICAoRGVzdHJveUF1ZGlvQnVmZmVyTGlzdCksIChBbGxvY2F0ZUF1ZGlvQnVmZmVyTGlzdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICAqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfaW5pdCksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9maW5hbGl6ZSksCgkgIChmaWxsX2ltYWdlX2Rlc2NyaXB0aW9uKSwgKG5ld19pbWFnZV9kZXNjcmlwdGlvbiksIChjbG9zZV9kZWNvZGVyKSwKCSAgKG9wZW5fZGVjb2RlciksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9zaW5rX3NldGNhcHMpLAoJICAoZGVjb21wcmVzc0NiKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJzX3JlZ2lzdGVyKTogSW5pdGlhbCBpbXBvcnQgb2YgUXVpY2tUaW1lCgkgIHdyYXBwZXIgam9pbnRseSBkZXZlbG9wcGVkIGJ5IFNvbmdiaXJkIGF1dGhvcnMgKFBpb25lZXJzIG9mIHRoZQoJICBJbmV2aXRhYmxlKSBhbmQgRmx1ZW5kby4KCjIwMDctMTEtMjYgMTA6MDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAwNy0xMS0yNiAwOTozODoyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJICBOb3cgd29ya3Mgd2hlbiBnZXRfcmFuZ2UgaXMgbm90IGF2YWlsYWJsZSB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyB3b3JrcyB3aGVuIGdldF9yYW5nZSBpcyBub3QgYXZhaWxhYmxlIHVwc3RyZWFtLgoKMjAwNy0xMS0yNiAwODo0MzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBVcGRhdGUgc3BlZXggcmVzYW1wbGVyIHRvIGxhdGVzdCBTVk4uIFdlJ3JlIG5vdyBkb3duIHRvIG9ubHkgdGhlIGNoYW5nZXMgbm90ZWQgaW4gUkVBRE1FIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9pbnB1dF9sYXRlbmN5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfb3V0cHV0X2xhdGVuY3kpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBVcGRhdGUgc3BlZXggcmVzYW1wbGVyIHRvIGxhdGVzdCBTVk4uIFdlJ3JlIG5vdyBkb3duIHRvIG9ubHkgdGhlCgkgIGNoYW5nZXMgbm90ZWQgaW4gUkVBRE1FIGFnYWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KToKCSAgQWRqdXN0IHRvIEFQSSBjaGFuZ2VzLgoKMjAwNy0xMS0yNSAxMDo0NTowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUgd2l0aCBnbm9ubGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlCgkgIHdpdGggZ25vbmxpbi4KCjIwMDctMTEtMjUgMTA6MTI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IFNldCBpbml0aWFsIHN0cnVjdHVyZSBuYW1lIHRvIGZpeCBhc3NlcnRpb24sIGR1ZSB0byByZWNlbnQgY2FwcyBuYW1lIGNvbnN0cmFpbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBTZXQgaW5pdGlhbCBzdHJ1Y3R1cmUgbmFtZSB0byBmaXggYXNzZXJ0aW9uLCBkdWUgdG8gcmVjZW50IGNhcHMgbmFtZQoJICBjb25zdHJhaW50cy4KCjIwMDctMTEtMjMgMTc6NTM6MzcgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogcGF0LWluZm8gaXMgbm93IGEgc2lnbmFsIG5vdCBhIEdPYmplY3QgcHJvcGVydHkgdGhhdCBnZXRzIG5vdGlmaWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBwYXQtaW5mbyBpcyBub3cgYSBzaWduYWwgbm90IGEgR09iamVjdCBwcm9wZXJ0eSB0aGF0CgkgIGdldHMgbm90aWZpZWQuCgkgIHBhdC1pbmZvLCBwbXQtaW5mbyBub3cgaW5zdGVhZCBvZiBwYXNzaW5nIGEgR09iamVjdCBhcwoJICBhIHBhcmFtZXRlciwgcGFzcyBhIEdzdFN0cnVjdHVyZS4KCSAgTmV3IHNpZ25hbHM6IG5pdC1pbmZvLCBzZHQtaW5mbywgZWl0LWluZm8gZm9yIERWQiBTSSBpbmZvcm1hdGlvbgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSAgQ2FtIGNvZGUgbm93IHVzZXMgdGhlIHBtdCBHc3RTdHJ1Y3R1cmUgcGFzc2VkIGZyb20gbXBlZ3RzcGFyc2UKCSAgc2lnbmFscyByYXRoZXIgdGhhbiB0aGUgR09iamVjdC4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVXNlIG5ldyBzaWduYWxzIGluIG1wZWd0c3BhcnNlIGFuZCB1c2UgR3N0U3RydWN0dXJlcyBhcyBwZXIKCSAgbXBlZ3RzcGFyc2UncyBtb2RpZmllZCBBUEkuCgoyMDA3LTExLTIzIDE3OjM1OjIxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJICBOb3cgcGFyc2VyIGlzIGdlbmVyaWMgKGp1c3QgYWRkL3JlbW92ZSBhIGxpc3Qgb2YgY2h1bmtzKS4gQW5kIGEgdGVtcGxhdGUgb2YgbXV4ZXIgaGFzIGJlZW4gY3JlYXRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBwYXJzZXIgaXMgZ2VuZXJpYyAoanVzdCBhZGQvcmVtb3ZlIGEgbGlzdCBvZiBjaHVua3MpLiBBbmQgYSB0ZW1wbGF0ZSBvZiBtdXhlciBoYXMgYmVlbiBjcmVhdGVkLgoKMjAwNy0xMS0yMyAxMDoyMTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBPbmx5IHBvc3QgdGhlIGxhdGVuY3kgbWVzc2FnZSBpZiB3ZSBoYXZlIGEgcmVzYW1wbGVyIHN0YXRlIGFscmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpOgoJICBPbmx5IHBvc3QgdGhlIGxhdGVuY3kgbWVzc2FnZSBpZiB3ZSBoYXZlIGEgcmVzYW1wbGVyIHN0YXRlIGFscmVhZHkuCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwNy0xMS0yMyAxMDoyMToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3F1ZXJ5KSwgKGF1ZGlvcmVzYW1wbGVfcXVlcnlfdHlwZSksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDctMTEtMjMgMTA6MDE6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWxzbyBwb3N0IEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSk6CgkgIEFsc28gcG9zdCBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIzIDA4OjQ4OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBmdW5jdGlvbnMgdG8gcHVzaCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgYW5kIHRvIGdldCB0aGUgbGF0ZW5jeSBvZiB0aGUgcmVzYW1wbGVyLiBUaGVzZSB3aWxsIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X3Jlc2FtcGxlcl9nZXRfbGF0ZW5jeSksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5fZmxvYXQpLCAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludGVybGVhdmVkX2ludCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIGZ1bmN0aW9ucyB0byBwdXNoIHRoZSByZW1haW5pbmcgc2FtcGxlcyBhbmQgdG8gZ2V0IHRoZSBsYXRlbmN5CgkgIG9mIHRoZSByZXNhbXBsZXIuIFRoZXNlIHdpbGwgZ2V0IGFkZGVkIHRvIFNwZWV4IFNWTiBpbiB0aGlzIG9yIGEKCSAgc2xpZ2h0bHkgY2hhbmdlZCBmb3JtIGF0IHNvbWUgcG9pbnQgdG9vIGFuZCBzaG91bGQgZ2V0IG1lcmdlZCB0aGVuCgkgIGFnYWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnlfdHlwZSk6CgkgIERyb3AgdGhlIHByZXBlbmRpbmcgemVyb2VzIGFuZCBvdXRwdXQgdGhlIHJlbWFpbmluZyBzYW1wbGVzIG9uIEVPUy4KCSAgQWxzbyBwcm9wZXJseSBpbXBsZW1lbnQgdGhlIGxhdGVuY3kgcXVlcnkgZm9yIHRoaXMuIHNwZWV4cmVzYW1wbGUKCSAgc2hvdWxkIGJlIGNvbXBsZXRlbHkgcmVhZHkgZm9yIHByb2R1Y3Rpb24gdXNlIG5vdy4KCjIwMDctMTEtMjIgMDk6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubyBtYXhfbGF0ZW5jeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vCgkgIG1heF9sYXRlbmN5IHJlcXVpcmVtZW50cy4KCjIwMDctMTEtMjEgMTA6MTg6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRTogQWRkIFJFQURNRSBleHBsYWluaW5nIHdoZXJlIHRoZSByZXNhbXBsaW5nIGNvZGUgd2FzIHRha2VuIGZyb20gYW5kIHdoaWNoIGNoYW5nZXMgd2VyZSBkb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgIEFkZCBSRUFETUUgZXhwbGFpbmluZyB3aGVyZSB0aGUgcmVzYW1wbGluZyBjb2RlIHdhcyB0YWtlbiBmcm9tCgkgIGFuZCB3aGljaCBjaGFuZ2VzIHdlcmUgZG9uZS4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfYWxsb2MpLCAoc3BlZXhfcmVhbGxvYyksCgkgIChzcGVleF9mcmVlKToKCSAgVXNlIGdfbWFsbG9jKCkgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBtYWxsb2MoKSB0byBhY2hpZXZlIGhpZ2hlcgoJICBwb3J0YWJpbGl0eSBhbmQgZGVmaW5lIHRoZSBmdW5jdGlvbnMgaW5saW5lLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBBZGQgYmFjayBzb21lIHVzZWxlc3MgcHJlcHJvY2Vzc29yIHN0dWZmIHRvIGtlZXAgdGhlIGRpZmYgYmV0d2VlbgoJICBvdXIgdmVyc2lvbiBhbmQgdGhlIG9uZSBmcm9tIHRoZSBTcGVleCBTVk4gcmVwb3NpdG9yeSBsb3dlci4KCjIwMDctMTEtMjEgMDk6NTY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjEgMDk6NDU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IERvbid0IHRyeSB0byBmbHVzaCB0aGUgZGVjb2RlciBvbiBFT1Mgd2hlbiBpdCB3YXMgbm90IGluaXRpYWxpemVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIGZsdXNoIHRoZSBkZWNvZGVyIG9uIEVPUyB3aGVuIGl0IHdhcyBub3QgaW5pdGlhbGl6ZWQuCgkgIEZpeGVzICM0OTg2NjcKCjIwMDctMTEtMjEgMDk6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogRml4IGJ1aWxkIG9uIE1hYyBPUyBYLiAobWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3Npbmtfd3JpdGUpOiBGaXggYnVpbGQKCSAgb24gTWFjIE9TIFguIChtaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIpCgoyMDA3LTExLTIxIDA4OjIxOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkCgkgIGluIC1nb29kLgoKMjAwNy0xMS0yMCAyMDoyMzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBTb21lIHNtYWxsIGNsZWFudXAgYW5kIGFkZGl0aW9uIG9mIGEgVE9ETyBpdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgIFNvbWUgc21hbGwgY2xlYW51cCBhbmQgYWRkaXRpb24gb2YgYSBUT0RPIGl0ZW0uCgoyMDA3LTExLTIwIDEyOjU2OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA3LTExLTIwIDA3OjUyOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBtaXNzaW5nIGluc3BlY3Rpb24gZmlsZXMgdG8gQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIG1pc3NpbmcgaW5zcGVjdGlvbiBmaWxlcyB0byBDVlMuCgoyMDA3LTExLTIwIDA3OjQ3OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3BlZXhyZXNhbXBsZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBkbyBhIG1ha2UgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBBZGQgc3BlZXhyZXNhbXBsZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBkbyBhIG1ha2UgdXBkYXRlLgoKMjAwNy0xMS0yMCAwNzozMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBJZiB0aGUgcmVzYW1wbGVyIGdpdmVzIGxlc3Mgb3V0cHV0IHNhbXBsZXMgdGhhbiBleHBlY3RlZCBhZGp1c3QgdGhlIG91dHB1dCBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgIElmIHRoZSByZXNhbXBsZXIgZ2l2ZXMgbGVzcyBvdXRwdXQgc2FtcGxlcyB0aGFuIGV4cGVjdGVkCgkgIGFkanVzdCB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgcHJpbnQgYSB3YXJuaW5nLgoKMjAwNy0xMS0yMCAwNzowMjo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHJlc2FtcGxlIGVsZW1lbnQgYmFzZWQgb24gdGhlIFNwZWV4IHJlc2FtcGxpbmcgYWxnb3JpdGhtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zdGFydCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfYWxsb2MpLCAoc3BlZXhfcmVhbGxvYyksCgkgIChzcGVleF9mcmVlKSwgKGNvbXB1dGVfZnVuYyksIChtYWluKSwgKHNpbmMpLCAoY3ViaWNfY29lZiksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLCAodXBkYXRlX2ZpbHRlciksCgkgIChzcGVleF9yZXNhbXBsZXJfaW5pdCksIChzcGVleF9yZXNhbXBsZXJfaW5pdF9mcmFjKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kZXN0cm95KSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZSksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3JhdGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlX2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9yYXRpbyksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3F1YWxpdHkpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9xdWFsaXR5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfaW5wdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfaW5wdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfb3V0cHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X291dHB1dF9zdHJpZGUpLCAoc3BlZXhfcmVzYW1wbGVyX3NraXBfemVyb3MpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Jlc2V0X21lbSksIChzcGVleF9yZXNhbXBsZXJfc3RyZXJyb3IpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgcmVzYW1wbGUgZWxlbWVudCBiYXNlZCBvbiB0aGUgU3BlZXggcmVzYW1wbGluZyBhbGdvcml0aG0uCgoyMDA3LTExLTE5IDIyOjA5OjM2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkgIEZpeGVkIGJ1ZmZlciBzdHJpcCAoc2FmZXIgd2lsIHB1bGwgYW5kIGFmdGVyIHNlZWspLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYnVmZmVyIHN0cmlwIChzYWZlciB3aWwgcHVsbCBhbmQgYWZ0ZXIgc2VlaykuCgoyMDA3LTExLTE5IDIwOjMwOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCjIwMDctMTEtMTkgMTM6MDU6MjMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSAgU3RyaXAgb3V0IGluIHB1bGwgbW9kZSBhbHNvLiBTZWVrIGFuZCBRdWVyeSBmdW5jdGlvbnMgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTdHJpcCBvdXQgaW4gcHVsbCBtb2RlIGFsc28uIFNlZWsgYW5kIFF1ZXJ5IGZ1bmN0aW9ucyBhZGRlZC4KCjIwMDctMTEtMTggMjE6MDY6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXR5cGVzLmg6CgkgIFN0cmlwIG91dCBtZXRhZGF0YSBjaHVua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTdHJpcCBvdXQgbWV0YWRhdGEgY2h1bmtzLgoKMjAwNy0xMS0xNiAxMToxMTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBbHMgdXNlIEFHX0dTVF9QTFVHSU5fRE9DUyAoc2VlICMzNDQwMzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFscyB1c2UgQUdfR1NUX1BMVUdJTl9ET0NTIChzZWUgIzM0NDAzOSkuCgoyMDA3LTExLTE1IDE5OjAzOjMzICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBkb2VzIG5vdCBjcmFzaCB3aGVuIHRoZSBwcm9wZXJ0eSBwYXQtaW5mbyBpcyBxdWVyaWVkIGJlZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IChmb3JlYWNoX3N0cmVhbV9jbGVhciksCgkgIChyZW1vdmVfYWxsKSwgKG1wZWd0c19wYWNrZXRpemVyX2NsZWFyKToKCSAgRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBkb2VzIG5vdCBjcmFzaCB3aGVuIHRoZSBwcm9wZXJ0eSBwYXQtaW5mbyBpcwoJICBxdWVyaWVkIGJlZm9yZSBhIFBBVCBpcyBhdmFpbGFibGUuIEl0IGFsc28gZW5zdXJlcyB0aGF0IHRoZSBQQVQgaW5mbyBpcwoJICBjbGVhcmVkIHdoZW4gdGhlIGNoYW5naW5nIGZyb20gUExBWUlORyB0byBSRUFEWS4KCSAgRml4ZXMgIzQ4Nzg5Mi4KCjIwMDctMTEtMTUgMTg6NTM6NTYgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogSGFuZGxlIHNlZWtpbmcgY29ycmVjdGx5LiBGaXhlcyAjNDYxMDY4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gPHdvdXRlciBhdCBibHVlLWdhdGUgZG90IGJlPgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBIYW5kbGUgc2Vla2luZyBjb3JyZWN0bHkuIEZpeGVzICM0NjEwNjguCgoyMDA3LTExLTE1IDE4OjQxOjMxICswMDAwICBNaWNoYWVsIEvDtnR0ZXIgPG0ua29ldHRlckBvcmFpc2UuZGU+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogRml4IHNhbXBsZSByYXRlIGFuZCBjbG9ja2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWVsIEvDtnR0ZXIgPG0gZG90IGtvZXR0ZXIgYXQgb3JhaXNlIGRvdCBkZT4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19zZXRfcGFyYW1zKSwgKGFsc2FzcGRpZnNpbmtfZGVsYXkpLCAocGx1Z2luX2luaXQpOgoJICBGaXggc2FtcGxlIHJhdGUgYW5kIGNsb2NraW5nLgoJICBSZW1vdmUgYnVmZmVyX3RpbWUgYW5kIHBlcmlvZF90aW1lIGFzIHRoaXMgc2VlbXMgdG8gYnJlYWsgb24gc29tZQoJICBoYXJkd2FyZS4gRml4ZXMgIzQ4NTQ2Mi4KCjIwMDctMTEtMTUgMTc6MjY6MjUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoKMjAwNy0xMS0xNSAxNTozMjo0NyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGRvbid0IGZvcmdldCB0byBoYW5kbGUgdGhlIG9mZnNldCdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGRvbid0IGZvcmdldCB0byBoYW5kbGUgdGhlIG9mZnNldCdzCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHByZWNhbGN1bGF0ZSBzb21lIG1hbnkgdXNlZCB2YWx1ZXMKCjIwMDctMTEtMTUgMDg6Mjg6MjkgKzAwMDAgIEFybWFuZG8gVGFmZmFyZWwgTmV0byA8dGFmZmFyZWxAc29saXMuY29vcC5icj4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IFNldCB0aGUgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBcm1hbmRvIFRhZmZhcmVsIE5ldG8gPHRhZmZhcmVsQHNvbGlzLmNvb3AuYnI+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgU2V0IHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAwNy0xMS0xNCAxNzowMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgoyMDA3LTExLTEyIDIxOjA3OjMxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpOgoJICBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIFNwb3R0ZWQgYnkgR2FicmllbCBCb3V2aWduZS4gRml4ZXMgIzQ5NDQ5OS4KCjIwMDctMTEtMTIgMTk6MjI6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlCgkgIGFjdHVhbGx5IGhhdmUgZGF0YSB0byByZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHRhZy4gVGhpcyBhdm9pZHMgdHJ5aW5nCgkgIHRvIGFsbG9jYXRlIG5lZ2F0aXZlIGJ1ZmZlcnMuCgoyMDA3LTExLTEyIDE3OjI3OjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgIEFkZGVkIGEgZGVzaWduIHByb3Bvc2FsIGZyb20gbWV0YWRhdGEgcGFyc2UgYW5kIG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgZGVzaWduIHByb3Bvc2FsIGZyb20gbWV0YWRhdGEgcGFyc2UgYW5kIG11eC4KCjIwMDctMTEtMTEgMjE6MTI6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC86IENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgR3N0TWVzc2FnZXMgYnkgc3BlY3RydW0gdG8gZGVjaWJlbCBpbnN0ZWFkIG9mCgkgIGRlY2liZWwrdGhyZXNob2xkLgoKMjAwNy0xMS0xMSAxMzo1NToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUKCSAgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoKMjAwNy0xMS0xMSAxMjo1NDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCjIwMDctMTEtMDkgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseQoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwNy0xMS0wOSAxNTo1MzoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJICBFeHRyYWN0aW5nIG1vcmUgZGV0YWlsZWQgaW5mbyBmcm9tIFhNUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEV4dHJhY3RpbmcgbW9yZSBkZXRhaWxlZCBpbmZvIGZyb20gWE1QLgoKMjAwNy0xMS0wOCAxNTo1Njo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9kZW1vLmM6IE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8gdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvCgkgIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYmVycyBhbmQgZW5hYmxlIGZpbGwuCgoyMDA3LTExLTA3IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIEdJTyA+PSAwLjEuMiBhbmQgYWRqdXN0IHVuaXQgdGVzdCBmb3IgYW4gQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUmVxdWlyZSBHSU8gPj0gMC4xLjIgYW5kIGFkanVzdCB1bml0IHRlc3QgZm9yIGFuIEFQSSBjaGFuZ2UuCgoyMDA3LTExLTA3IDE1OjM2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChkb19zbGlkZXJfZmlkZGxpbmcpOgoJICBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgoyMDA3LTExLTA3IDE1OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5oOiBBZGQgbWFjcm8gdG8gY2hlY2sgaWYgYSBzdHJlYW0gc3VwcG9ydHMgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgQWRkIG1hY3JvIHRvIGNoZWNrIGlmIGEgc3RyZWFtIHN1cHBvcnRzIHNlZWtpbmcuCgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6IChnc3RfZ2lvX2Jhc2Vfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX2Jhc2Vfc2lua19pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fYmFzZV9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfdW5sb2NrKSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3JlbmRlciksIChnc3RfZ2lvX2Jhc2Vfc2lua19xdWVyeSksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19iYXNlX3NyY19pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19iYXNlX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9naW9fYmFzZV9zcmNfdW5sb2NrKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19jcmVhdGUpLCAoZ3N0X2dpb19iYXNlX3NyY19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgUmVmYWN0b3IgY29tbW9uIEdJTyBmdW5jdGlvbnMgdG8gR3N0R2lvQmFzZVNpbmsgYW5kIEdzdEdpb0Jhc2VTcmMKCSAgYmFzZSBjbGFzc2VzIHRoYXQgb25seSByZXF1aXJlIGEgR0lucHV0U3RyZWFtIG9yIEdPdXRwdXRTdHJlYW0gdG8KCSAgd29yay4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc2lua19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIFVzZSB0aGUgbmV3bHkgY3JlYXRlZCBiYXNlIGNsYXNzZXMgaGVyZS4KCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc3RyZWFtX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc3RyZWFtX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3N0cmVhbV9zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zdHJlYW1fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICBJbXBsZW1lbnQgR3N0R2lvU3RyZWFtU2luayBhbmQgR3N0R2lvU3RyZWFtU3JjIHRoYXQgaGF2ZSBhIHByb3BlcnR5CgkgIHRvIHNldCB0aGUgR0lucHV0U3RyZWFtL0dPdXRwdXRTdHJlYW0gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZ2lvX3Rlc3RzdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgZ2lvc3RyZWFtc3JjIGFuZCBnaW9zdHJlYW1zaW5rLgoKMjAwNy0xMS0wNyAxMTo0ODowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uYzogUmVtb3ZlIG5vd2FkYXlzIHVubmVjZXNzYXJ5IHdvcmthcm91bmQgZm9yIGEgY3Jhc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSBub3dhZGF5cyB1bm5lY2Vzc2FyeSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoLgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9naW9fc2lua19zdGFydCksIChnc3RfZ2lvX3Npbmtfc3RvcCksCgkgIChnc3RfZ2lvX3NpbmtfdW5sb2NrX3N0b3ApOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX3NyY19zdG9wKSwgKGdzdF9naW9fc3JjX3VubG9ja19zdG9wKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBNYWtlIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBzYWZlciwgY2xlYW4gdXAgZXZlcnl0aGluZyB0aGF0IGNvdWxkIHN0YXkKCSAgYXJvdW5kLgoJICBSZXNldCB0aGUgY2FuY2VsbGFibGUgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUgYWZ0ZXIgY2FuY2VsbGluZwoJICBzb21lIG9wZXJhdGlvbi4KCSAgRG9uJ3Qgc3RvcmUgdGhlIEdGaWxlIGluIHRoZSBlbGVtZW50LCBpdCdzIG9ubHkgbmVjZXNzYXJ5IGZvciBjcmVhdGluZwoJICB0aGUgc3RyZWFtcy4KCjIwMDctMTEtMDYgMTI6MjM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgIFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IHRoZSBtYWduaXR1ZGUgY2FsY3VsYXRpb24uCgoyMDA3LTExLTA0IDExOjA0OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuKjogRml4IGNyYXNoZXIgaW4gY29uc3RydWN0b3IgZHVlIHRvIHRoZSBiYXNlIGNsYXNzJ3MgY29uc3RydWN0b3Igbm90IG5lY2Vzc2FyaWx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAoQ0RzaG93RmFrZVNpbmsuQ0RzaG93RmFrZVNpbmspOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6IChDRHNob3dGYWtlU2luay5tX2hyZXMpOgoJICBGaXggY3Jhc2hlciBpbiBjb25zdHJ1Y3RvciBkdWUgdG8gdGhlIGJhc2UgY2xhc3MncyBjb25zdHJ1Y3RvcgoJICBub3QgbmVjZXNzYXJpbHkgYmVpbmcgTlVMTC1zYWZlIChkZXBlbmRzIG9uIHRoZSBTREsgdmVyc2lvbiB1c2VkCgkgIGFwcGFyZW50bHk7ICM0OTI0MDYpLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOiAoZ3N0X2RzaG93YXVkaW9zcmNfcHJlcGFyZSk6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6IChnc3RfZHNob3d2aWRlb3NyY19zZXRfY2Fwcyk6CgkgIEZpeCBhIGNvdXBsZSBvZiBNU1ZDIGNvbXBpbGVyIHdhcm5pbmdzICgjNDkyNDA2KS4KCjIwMDctMTEtMDMgMTk6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChzZXR1cF9maWx0ZXIpOgoJICBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIEFsc28gaGFuZGxlIGEgYmFuZHdpZHRoIG9mIHJhdGUvMiBwcm9wZXJseS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgTi1iYW5kIGVxdWFsaXplciB3aXRoIDEgYmFuZHMuIFRoZQoJICBwcmV2aW91cyBsaW1pdCBvZiAyIHdhcyBjYXVzZWQgYnkgYSBub3dhZGF5cyByZXBsYWNlZCBjYWxjdWxhdGlvbgoJICBkb2luZyBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbnVtYmVyIG9mIGJhbmRzIHdhcyAxLgoKMjAwNy0xMS0wMiAyMTo0NTozOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgoyMDA3LTExLTAyIDE2OjUwOjQyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBBZGRlZCBzdXBwb3J0IGZvciBQTkcvWE1QLiBJbmRlbnRhdGlvbi4gQW5kIGZpeGVkIHB1bGwgbW9kZSB0byBwYXJzZSB0aGUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHN1cHBvcnQgZm9yIFBORy9YTVAuIEluZGVudGF0aW9uLiBBbmQgZml4ZWQgcHVsbCBtb2RlIHRvIHBhcnNlIHRoZSBmaWxlLgoKMjAwNy0xMS0wMiAxMjowMzowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJICBOb3cgbWV0YWRhdGFwYXJzZSB3b3JrcyBpbiBwdXNoIG9yIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBtZXRhZGF0YXBhcnNlIHdvcmtzIGluIHB1c2ggb3IgcHVsbCBtb2RlLgoKMjAwNy0xMS0wMSAxNjowNDoyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBTb21lIFhNUCBzdHVmZiBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgWE1QIHN0dWZmIGFkZGVkLgoKMjAwNy0xMC0zMSAxNjoyMTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgTm93IHNlbmRpbmcgaXB0YyB0YWcgaW4gd2hvbGUgY2h1bmsuIFJlYWR5IHRvIGFsc28gc2VuZCBleGlmIGFuZCB4bXAgaW4gdGhlIHNhbWUgd2F5IChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBzZW5kaW5nIGlwdGMgdGFnIGluIHdob2xlIGNodW5rLiBSZWFkeSB0byBhbHNvIHNlbmQgZXhpZiBhbmQgeG1wIGluIHRoZSBzYW1lIHdheSAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgoyMDA3LTEwLTMxIDE0OjQ0OjU1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFNvbWUgcmVmYWN0b3JpbmcgaW4gUkFXIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBTb21lIHJlZmFjdG9yaW5nIGluIFJBVyBlbmNvZGluZwoKMjAwNy0xMC0zMSAxNDowOToyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGRlZCBjb3B5cmVjdCBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJjb250ZXh0Lmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJ1dGlsLmg6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIEFkZGVkIGNvcHlyZWN0IGVuY29kaW5nCgoyMDA3LTEwLTMxIDEzOjMxOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW1zd2NsaWVudC5jOiBXYXJuIG9uIGZhaWxlZCB3cml0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBXYXJuIG9uIGZhaWxlZCB3cml0ZS4KCjIwMDctMTAtMzAgMjE6Mzc6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAob25fY29uZmlndXJlX2V2ZW50KSwKCSAgKG9uX2dhaW5fY2hhbmdlZCksIChvbl9iYW5kd2lkdGhfY2hhbmdlZCksIChvbl9mcmVxX2NoYW5nZWQpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucwoJICB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1c2hlcyBpdCB0aHJvdWdoIGFuIGVxdWFsaXplciBhbmQKCSAgcGFpbnRzIHRoZSBzcGVjdHJ1bS4gRm9yIGV2ZXJ5IGVxdWFsaXplciBiYW5kIGl0J3MgcG9zc2libGUgdG8gc2V0CgkgIGdhaW4sIGJhbmR3aWR0aCBhbmQgZnJlcXVlbmN5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChzZXR1cF9maWx0ZXIpOgoJICBBZGQgc29tZSBndWFyZGluZyBhZ2FpbnN0IHRvbyBsYXJnZSBvciB0b28gc21hbGwgZnJlcXVlbmNpZXMgYW5kCgkgIGJhbmR3aWR0aHMuIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTEwLTMwIDIxOjE4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5IGZpbmQgZG9jdW1lbnRhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5CgkgIGZpbmQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggZG9uJ3QgY2hhbmdlIGFueXRoaW5nIG9uIHplcm8gZ2FpbiwgZXRjLgoJICBNYWtlIHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgb2YgdGhlIGJhbmRzIHdyaXRhYmxlLCByZW5hbWUgdGhlCgkgIGJhbmQtd2lkdGggcHJvcGVydHkgdG8gYmFuZHdpZHRoIGFuZCBjaGFuZ2UgdGhlCW1lYW5pbmcgdG8gdGhlCgkgIGZyZXF1ZW5jeSBkaWZmZXJlbmNlIGJldHdlZW4gYmFuZGVkZ2VzLCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCgkgIGdhaW4gcHJvcGVydHkgdG8gZEIgaW5zdGVhZCBvZiBhIHdlaXJkIHNjYWxlIGJldHdlZW4gLTEJYW5kIDEgdGhhdAoJICBoYXMgbm8gcmVhbCBtZWFuaW5nLgoKMjAwNy0xMC0zMCAyMDo1NToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBGaXggdGhlIGJ1aWxkLgoKMjAwNy0xMC0zMCAxODoyMToyMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvLmdpdGlnbm9yZToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSAgQ2hhbmdlZCBrY2xhc3MgdG8gIlBhcnNlci9FeHRyYWN0ZXIvTWV0YWRhdGEiLCBjaGFuZ2VkIGNhcHMgdG8gImltYWdlL2pwZWcsIHRhZ3MtZXh0cmFjdD10cnVlL2ZhbHNlIiBhbmQgY2hhbmdlZCBwcmlvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIGtjbGFzcyB0byAiUGFyc2VyL0V4dHJhY3Rlci9NZXRhZGF0YSIsIGNoYW5nZWQgY2FwcyB0byAiaW1hZ2UvanBlZywgdGFncy1leHRyYWN0PXRydWUvZmFsc2UiIGFuZCBjaGFuZ2VkIHByaW9yaXR5IHRvIEdTVF9SQU5LX1BSSU1BUlkrMS4gQWxzbywgc3JjcGFkIGNhbiBvbmx5IHdvcmsgaW4gcHVzaCBtb2RlIHVudGlsIGZpeGVkIHRvIGFsc28gd29yayBpbiBwdWxsIG1vZGUuCgoyMDA3LTEwLTMwIDEyOjQ5OjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBDcmVhdGVkIG5ldyBwbHVnaW4gKCdtZWRhZGF0YScpIGFuZCBlbGVtZW50ICgnbWV0YWRhdGFwYXJzZScpIHRoYXQgZXh0cmFjdCBtZXRhZGF0YSBmcm9tIGltYWdlcyAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBwbHVnaW4gKCdtZWRhZGF0YScpIGFuZCBlbGVtZW50ICgnbWV0YWRhdGFwYXJzZScpIHRoYXQgZXh0cmFjdCBtZXRhZGF0YSBmcm9tIGltYWdlcyAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgoyMDA3LTEwLTI5IDE1OjU0OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IFVuY29tbWVudCB0aGUgbGluZSB0aGF0IHNldHMgdGhlIHBpZCBmaWx0ZXIuIFdyb25nIHdheSB0byB3b3JrLWFyb3VuZCBkcml2ZXIgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVW5jb21tZW50IHRoZSBsaW5lIHRoYXQgc2V0cyB0aGUgcGlkIGZpbHRlci4gV3Jvbmcgd2F5IHRvCgkgIHdvcmstYXJvdW5kIGRyaXZlciBpc3N1ZXMuCgoyMDA3LTEwLTI4IDE1OjIyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggYml0cmF0ZSByYW5nZXMgYW5kIGNoYW5nZSBlbnVtIG5pY2sgZm9yIGxvdyBjb21wbGV4aXR5IHByb2ZpbGUgZnJvbSBMT1cgdG8gTEMgZm9yIGNvbnNpc3RlbmN5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Byb2ZpbGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZhYWNfY2xhc3NfaW5pdCksIChnc3RfZmFhY19pbml0KToKCSAgRml4IGJpdHJhdGUgcmFuZ2VzIGFuZCBjaGFuZ2UgZW51bSBuaWNrIGZvciBsb3cgY29tcGxleGl0eQoJICBwcm9maWxlIGZyb20gTE9XIHRvIExDIGZvciBjb25zaXN0ZW5jeSAoIzQ5MDA2MCkuCgoyMDA3LTEwLTI3IDE2OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCk6CgkgIExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbAoJICBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyB0byBiZSBtb3JlIHRoYW4gb25lIHBhZC4gRml4ZXMgIzQ5MDY4Mi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlLgoKMjAwNy0xMC0yNyAwODoyMDo1OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS4qOiBJbXByb3ZlZCB2ZXJzaW9uIG5vdCBkYW1hZ2luZyBoZWFkZXJzIHVzaW5nIGEgc2ltcGxlIHN0YXRlIG1hY2hpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9hbGlnbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLCAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsZWFudXApLCAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXBlZzR2cGFyc2VfZGlzcG9zZSksIChnc3RfbXBlZzR2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOiBJbXByb3ZlZCB2ZXJzaW9uIG5vdAoJICBkYW1hZ2luZyBoZWFkZXJzIHVzaW5nIGEgc2ltcGxlIHN0YXRlIG1hY2hpbmUuCgoyMDA3LTEwLTI2IDE3OjE4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBGaXggYnVpbGQgYWdhaW5zdCB0aGUgbGlieDI2NCB2ZXJzaW9uIHRoYXQgc2hpcHMgd2l0aCBkZWJpYW4gc3RhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IHRoZSBsaWJ4MjY0IHZlcnNpb24gdGhhdCBzaGlwcyB3aXRoIGRlYmlhbiBzdGFibGUuCgoyMDA3LTEwLTI2IDE2OjA4OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZCBhIHNpbXBsZSBNUEVHNCBFUyBwYXJzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZzR2cGFyc2VfY2xlYW51cCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9tcGVnNHZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9iYXNlX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6IEFkZCBhIHNpbXBsZSBNUEVHNCBFUwoJICBwYXJzZXIuCgoyMDA3LTEwLTI1IDIzOjQyOjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luawoJICBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCjIwMDctMTAtMjMgMTM6MDg6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBY3R1YWxseSB1c2UgdGhlIGNvZGUtcmF0ZS1ocCBwYXJhbWV0ZXIgZm9yIERWQi1TLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBY3R1YWxseSB1c2UgdGhlIGNvZGUtcmF0ZS1ocCBwYXJhbWV0ZXIgZm9yIERWQi1TLgoJICBJdCB0dXJucyBvdXQgc2V0dGluZyB0byBBVVRPIGRvZXMgbm90IGFsd2F5cyB3b3JrICgKCSAgZXNwZWNpYWxseSBpbiBkaXNlcSBzaXR1YXRpb25zKS4gU2V0IGJ5IGRlZmF1bHQgdG8KCSAgRkVDX0FVVE8uCgoyMDA3LTEwLTIyIDE1OjQ1OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3QgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOiBEb24ndAoJICBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlcgoJICBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgZW1pdCB0aGVtIGZvciAyIHBhZHMgc2NlbmFyaW9zCgkgIHRob3VnaCB0byBzcGVlZCB1cCBtZWRpYSBkaXNjb3ZlcnkuCgoyMDA3LTEwLTE5IDE2OjIwOjUzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEFkZGVkIHByb3h5IHByb3BlcnR5IG9mIGRpc2VxYy1zb3VyY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEFkZGVkIHByb3h5IHByb3BlcnR5IG9mIGRpc2VxYy1zb3VyY2UKCjIwMDctMTAtMTggMDY6MjA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEFkZCBhIG1pc3NpbmcgYnJlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBhIG1pc3NpbmcgYnJlYWsuCgoyMDA3LTEwLTE4IDA2OjE0OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCjIwMDctMTAtMTcgMTQ6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2RhdWRpby9NYWtlZmlsZS5hbTogQWRkIGFub3RoZXIgbWlzc2luZyBHU1RfTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBhbm90aGVyIG1pc3NpbmcgR1NUX0xJQlMuCgoyMDA3LTEwLTE3IDE0OjMzOjAzICswMDAwICBSaWNoYXJkIEh1bHQgPHJpY2hhcmRAaW1lbmRpby5jb20+CgoJICBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOiBGaXggTElCUyAtIHdlIG5lZWQgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHJlYW1lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSaWNoYXJkIEh1bHQgPHJpY2hhcmQgaW1lbmRpbyBjb20+CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgRml4IExJQlMgLSB3ZSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3RyZWFtZXIuCgoyMDA3LTEwLTE3IDEwOjMzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2R2Yi86IEZpeCBzb21lIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSAgRml4IHNvbWUgd2FybmluZ3MuCgoyMDA3LTEwLTE2IDE5OjI0OjMxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEFkZCB0aGUgc2V0IGVuY29kaW5ncyBjbGllbnQgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgQWRkIHRoZSBzZXQgZW5jb2RpbmdzIGNsaWVudCBtZXNzYWdlCgoyMDA3LTEwLTE2IDE4OjMzOjQ0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IHJlbW92ZSB0aGUgcmZiYnl0ZXN0cmVhbSBkZWFkIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL3JmYi5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZW1vdmUgdGhlIHJmYmJ5dGVzdHJlYW0gZGVhZCBjb2RlCgoyMDA3LTEwLTE2IDE3OjM4OjA1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIHN5cy9kdmIvOiBJbnRlZ3JhdGUgU29DIHdvcmsgZG9uZSBieSBBbGVzc2FuZHJvIGZvciB0aGUgRnJlZXZvIHByb2plY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvY2FtLmM6CgkgICogc3lzL2R2Yi9jYW0uaDoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkgICogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkgICogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSAgKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICAqIHN5cy9kdmIvY2FtdHJhbnNwb3J0Lmg6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgKiBzeXMvZHZiL2dzdGR2Yi5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgSW50ZWdyYXRlIFNvQyB3b3JrIGRvbmUgYnkgQWxlc3NhbmRybyBmb3IgdGhlIEZyZWV2byBwcm9qZWN0LgoJICBBZGRzIGNhbSBzdXBwb3J0IHRvIHRoZSBkdmIgc3RhY2sgaW4gR1N0cmVhbWVyIGFuZCBhIG5ldwoJICBlbGVtZW50IChhY3R1YWxseSBhIGJpbikgY2FsbGVkIGR2YmJhc2ViaW4gdGhhdCBpbnRlZ3JhdGVzCgkgIGR2YnNyYyBhbmQgbXBlZ3RzcGFyc2UgdG8gYSkgaGFuZGxlIGRlY3J5cHRpb24gYW5kIGIpIGFsbG93CgkgIGFjcXVpcmluZyBtdWx0aXBsZSBjaGFubmVscyBvbiBzYW1lIHRyYW5zcG9uZGVyIHdpdGhvdXQKCSAga25vd2luZyBwaWQgbnVtYmVycy4KCjIwMDctMTAtMTYgMTY6NTE6MjMgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkIHJlcXVlc3QgcGFkIGZvciBnZXR0aW5nIHRoZSBmdWxsIHRyYW5zcG9ydCBzdHJlYW0gY29taW5nIGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgQWRkIHJlcXVlc3QgcGFkIGZvciBnZXR0aW5nIHRoZSBmdWxsIHRyYW5zcG9ydCBzdHJlYW0gY29taW5nIGluLgoKMjAwNy0xMC0xNCAxNzoyMjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdGhlIGhpZ2hlc3QgYWxsb3dlZCBuZW9uIHZlcnNpb24gZnJvbSAwLjI2Ljk5IHRvIDAuMjcuOTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHRoZSBoaWdoZXN0IGFsbG93ZWQgbmVvbiB2ZXJzaW9uIGZyb20gMC4yNi45OSB0byAwLjI3Ljk5LgoJICBObyBjb2RlIGNoYW5nZXMgYXJlIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCB0aGUgbmV3ZXN0IG5lb24gdmVyc2lvbi4KCjIwMDctMTAtMTAgMTE6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZSBDVlMuICBUaGlzIGlzIGltcGxpY2l0IGluIHRoZSAtYmFzZSBDVlMgcmVxdWlyZW1lbnQgYWxyZWFkeSwgc28gd2UgbWlnaHQganVzdCB3ZWxsIHNwZWxsIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgQ1ZTLiAgVGhpcyBpcyBpbXBsaWNpdCBpbiB0aGUgLWJhc2UgQ1ZTCgkgIHJlcXVpcmVtZW50IGFscmVhZHksIHNvIHdlIG1pZ2h0IGp1c3Qgd2VsbCBzcGVsbCBpdAoJICBvdXQuICBBbHNvLCB3ZSBkbyBuZWVkIGF0IGxlYXN0IDAuMTAuMTQgZm9yCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLiAgTWFrZSBjaGVjawoJICBmb3IgZ215dGggYSBiaXQgbW9yZSByZXN0cmljdGl2ZSBzbyB0aGluZ3MgZG9uJ3QgYnJlYWsKCSAgaWYgdGhlIG5leHQgdmVyc2lvbiBjaGFuZ2VzIEFQSS4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgV29yayBhcm91bmQgYWxzYSBhbGxvY2EgbWFjcm9zIHRyaWdnZXJpbmcgJ2Fsd2F5cyBldmFsdWF0ZXMgdG8KCSAgdHJ1ZScgd2FybmluZ3Mgd2l0aCBnY2MtNC4yIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4yLgoJICBBbHNvIGRvbid0IGxlYWsgdGhlIGRldmljZSBzdHJpbmcuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGcrKzQuMiBhbmQgLVdhbGwgLVdlcnJvciAoYWxzbyBuZWVkcyBwbHVnaW4KCSAgZGVmaW5lIGZpeCBmcm9tIGNvcmUgQ1ZTKS4gRml4ZXMgIzQ2MjczNy4KCjIwMDctMTAtMDkgMTA6MDE6MzkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgoyMDA3LTEwLTA4IDE3OjQ2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzogKHJmYl9idWZmZXJfbmV3X2FuZF9hbGxvYyk6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9zb2NrZXRfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOiAobmVzNjUwMl9leGVjdXRlKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoKMjAwNy0xMC0wOCAxMDozOTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBXaGVuIGNsZWFyaW5nIHBheWxvYWQgbWFwcywgYWxzbyBjbGVhciBzZXNzaW9ucyBhbmQgc3RyZWFtcyBwYXlsb2FkCgkgIG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGZpbmRfcGFkX2Zvcl9wdCk6CgkgIEltcGxlbWVudCBjbGVhcmluZyB0aGUgcGF5bG9hZCBtYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBGb3J3YXJkIGZsdXNoIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpOgoJICBDb3JyZWN0bHkgcmVmY291bnQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZW0uCgoyMDA3LTEwLTA4IDA2OjA3OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5jOiBVc2UgR0lPIGZ1bmN0aW9uIHRvIGdldCBhIGxpc3Qgb2Ygc3VwcG9ydGVkIFVSSSBzY2hlbWVzIGluc3RlYWQgb2YgaGFyZCBjb2Rpbmcgc29tZXRoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb19nZXRfc3VwcG9ydGVkX3Byb3RvY29scyk6CgkgIFVzZSBHSU8gZnVuY3Rpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQgVVJJIHNjaGVtZXMgaW5zdGVhZCBvZgoJICBoYXJkIGNvZGluZyBzb21ldGhpbmcuCgoyMDA3LTEwLTA1IDE3OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdCByZXBvcnQgdGltZSBpbnN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksCgkgIFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0CgkgIHJlcG9ydCB0aW1lIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgY2xvY2sgdGltZSBzbyB0aGF0IHdlIGRvbid0IGVuZCB1cAoJICByZWNvbnNpZGVyaW5nIGZvcmV2ZXIuCgoyMDA3LTEwLTA1IDEyOjA3OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cyB1cyB0byBncmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzCgkgIHVzIHRvIGdyZWF0bHkgc2ltcGxpZnkgdGhpbmdzIHdoZW4gdGhlIHRhaWwgZWxlbWVudCBjaGFuZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KToKCSAgRm9yd2FyZCBGTFVTSCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgdGFpbC1jaGFuZ2VkIGNhbGxiYWNrIGluIGZhdm91ciBvZiBhIHNpbXBsZSBib29sZWFuIHdoZW4gd2UKCSAgaW5zZXJ0IGEgYnVmZmVyIGluIHRoZSBxdWV1ZS4KCSAgQWRkIG1ldGhvZCB0byBwZWVrIHRoZSB0YWlsIG9mIHRoZSBidWZmZXIuCgoyMDA3LTEwLTA1IDA4OjUxOjQ0ICswMDAwICBHYXV0aWVyIFBvcnRldCA8a2Fzc291bGV0QGdtYWlsLmNvbT4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogVGhlIHNpemUgb2YgdGhlIFhpbmcgaGVhZGVyIGlzIGFjdHVhbGx5IDQxNyBhcyBpdCdzIHJvdW5kZWQgdG8gdGhlIG5leHQgc21hbGxlciBpbnRlZ2VyLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEdhdXRpZXIgUG9ydGV0IDxrYXNzb3VsZXQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgIFRoZSBzaXplIG9mIHRoZSBYaW5nIGhlYWRlciBpcyBhY3R1YWxseSA0MTcgYXMgaXQncyByb3VuZGVkIHRvIHRoZQoJICBuZXh0IHNtYWxsZXIgaW50ZWdlci4gRml4ZXMgIzM5Nzc1OS4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6ICh4aW5nX2dlbmVyYXRlX2hlYWRlciksCgkgICh4aW5nX3B1c2hfaGVhZGVyKToKCSAgU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEZJWE1FcyBhbmQgVE9ET3MgYW5kIGNoZWNrIGlmIHRoZSBuZXdzZWdtZW50CgkgIGV2ZW50IHRvIHRoZSBiZWdpbm5pbmcgd2FzIHN1Y2Nlc3NmdWwgYmVmb3JlIHB1c2hpbmcgdGhlIGhlYWRlciBhZ2Fpbi4KCjIwMDctMTAtMDUgMDg6MDU6MTQgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBEb24ndCBza2lwIFBBVCB3aXRoIHZlcnNpb24gbnVtYmVyIDAuIEZpeGVzICM0ODM0MDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9zdHJlYW1fbmV3KToKCSAgRG9uJ3Qgc2tpcCBQQVQgd2l0aCB2ZXJzaW9uIG51bWJlciAwLiBGaXhlcyAjNDgzNDAwLgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAobXBlZ3RzX3BhcnNlX2FwcGx5X3BhdCk6CgkgIE1ha2UgYWxsIHZhbHVlcyBhYm92ZSAwIG1hcmsgYSByZWZlcmVuY2VkIHByb2dyYW0gYXMgdGhleSBjYW4gYmUKCSAgaW5jcmVtZW50ZWQgYW5kIG9ubHkgMSBoYWQgbWFya2VkIGEgcmVmZXJlbmNlZCBwcm9ncmFtIGJlZm9yZSwgY2F1c2luZwoJICBhY3R1YWxseSByZWZlcmVuY2VkIHByb2dyYW1zIHRvIGJlIHVucmVmZXJlbmNlZC4KCjIwMDctMTAtMDIgMTA6Mjk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6IENoYW5nZSBzaWduYXR1cmUgb2YgcHQgdG8gZml4IGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIENoYW5nZSBzaWduYXR1cmUgb2YgcHQgdG8gZml4IGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zLgoKMjAwNy0xMC0wMiAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChhcHBseV9vZmZzZXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHRvIHRoZSBza2V3IGNvcnJlY3RlZCB0aW1lc3RhbXAsIGxhdGVuY3kgaXMgb25seQoJICB1c2VkIHRvIHN5bmMgYWdhaW5zdCB0aGUgY2xvY2suCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgc2VydmVyIHRpbWVzdGFtcCBnb2VzIGJhY2t3YXJkcyBvciB3aWxkbHkganVtcHMgYnkKCSAgdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc2tldyBjb3JyZWN0aW9uLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMTAtMDIgMTA6MTI6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gY29tbWl0IG1ha2VmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICBGb3Jnb3QgdG8gY29tbWl0IG1ha2VmaWxlLgoKMjAwNy0xMC0wMiAwNzo0Mzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW9zaW5rLmM6IFVwZGF0ZSB0byBBUEkgY2hhbmdlcyBpbiBHSU8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgVXBkYXRlIHRvIEFQSSBjaGFuZ2VzIGluIEdJTy4KCjIwMDctMTAtMDEgMTQ6MDE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFVzZSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfbWVkaWFfdG9fY2Fwcyk6CgkgIFVzZSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgoyMDA3LTEwLTAxIDExOjQzOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgU0RQIGRlbXV4ZXIgZWxlbWVudC4gRml4ZXMgIzQyNjY1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKF9kb19pbml0KSwgKGdzdF9zZHBfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9zZHBfZGVtdXhfY2xhc3NfaW5pdCksIChnc3Rfc2RwX2RlbXV4X2luaXQpLAoJICAoZ3N0X3NkcF9kZW11eF9maW5hbGl6ZSksIChnc3Rfc2RwX2RlbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2RwX2RlbXV4X2dldF9wcm9wZXJ0eSksIChmaW5kX3N0cmVhbV9ieV9pZCksCgkgIChmaW5kX3N0cmVhbV9ieV9wdCksIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZmluZF9zdHJlYW0pLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fZnJlZSksIChnc3Rfc2RwX2RlbXV4X2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3NkcF9kZW11eF9jbGVhbnVwKSwgKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwKCSAgKGdzdF9zZHBfZGVtdXhfcGFyc2VfcnRwbWFwKSwgKGdzdF9zZHBfZGVtdXhfbWVkaWFfdG9fY2FwcyksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3NkcF9kZW11eF9kb19zdHJlYW1fZW9zKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3NkcF9kZW11eF9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3Rfc2RwX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fcHVzaF9ldmVudCksCgkgIChnc3Rfc2RwX2RlbXV4X2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9zZHBfZGVtdXhfc3RhcnQpLAoJICAoZ3N0X3NkcF9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9zZHBfZGVtdXhfc2lua19jaGFpbiksCgkgIChnc3Rfc2RwX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICAqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBTRFAgZGVtdXhlciBlbGVtZW50LiBGaXhlcyAjNDI2NjU3LgoKMjAwNy0xMC0wMSAwOToyMToxOSArMDAwMCAgbXV0ZXggYXQgcnVuYm94IGRvdCBjb20gPG11dGV4QHJ1bmJveC5jb20+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgdXNlbGVzcyBzcmMgcGFkIHRoYXQgb25seSByZXN1bHRzIGluIG5vdCBsaW5rZWQgZXJyb3JzLCBmaXggYSBicm9rZW4gcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBtdXRleCBhdCBydW5ib3ggZG90IGNvbQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9hZGFwdGF0aW9uX2ZpZWxkX2NvbnRyb2wpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAobXBlZ3RzX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChtcGVndHNfcGFyc2VfaW5pdCksIChtcGVndHNfcGFyc2VfcHVzaCk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIFJlbW92ZSB1c2VsZXNzIHNyYyBwYWQgdGhhdCBvbmx5IHJlc3VsdHMgaW4gbm90IGxpbmtlZCBlcnJvcnMsCgkgIGZpeCBhIGJyb2tlbiBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZCBtYWtlIE1BWF9DT05USU5VSVRZIGNvbnN0YW50CgkgIGNvbmZvcm0gdG8gdGhlIHN0YW5kYXJkIHRvIHN0b3Agb3V0cHV0dGluZyBjb3JydXB0ZWQgZGF0YS4KCSAgRml4ZXMgIzQ4MTI3NiwgIzQ4MTI3OS4KCjIwMDctMDktMjkgMTk6MzY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBSZS1hcHBseSBkb2NzIHBhdGNoIGZyb20gIzQ2ODAzOTsgZml4IHRhYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgUmUtYXBwbHkgZG9jcyBwYXRjaCBmcm9tICM0NjgwMzk7IGZpeCB0YWIuCgkgICogZ3N0L21wZWd0c3BhcnNlLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtYXJzaGFsbGVyIGZpbGVzIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lLgoKMjAwNy0wOS0yOSAwNzowMTo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby86IFNvbWUgbWlub3IgY2xlYW51cCBhbmQgYWxsb3cgc2V0dGluZyB0aGUgbG9jYXRpb24gb25seSB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBwbGF5aW5nIG9yIHBhdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zaW5rX3JlbmRlcik6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19zZXRfcHJvcGVydHkpOgoJICBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGFsbG93IHNldHRpbmcgdGhlIGxvY2F0aW9uIG9ubHkgd2hlbiB0aGUKCSAgZWxlbWVudCBpcyBub3QgcGxheWluZyBvciBwYXVzZWQuCgoyMDA3LTA5LTI5IDA1OjI2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSBnaW8ncyBwa2ctY29uZmlnIGZpbGUgbmFtZSBhcyBjdXJyZW50bHkgaW4gU1ZOLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBnaW8ncyBwa2ctY29uZmlnIGZpbGUgbmFtZSBhcyBjdXJyZW50bHkgaW4gU1ZOLgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbik6CgkgIFJlbW92ZSBzcGVjaWFsIGNhc2luZyBmb3IgYSBOVUxMIHF1ZXJ5IHN0cmluZy4gZ19zdHJqb2luIHdvbid0IGFkZAoJICB0aGUgc2VwYXJhdG9yIGlmIHRoZXJlJ3Mgb25seSBvbmUgc3RyaW5nLgoKMjAwNy0wOS0yOCAxNDo1MTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfY2xpZW50KToKCSAgRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgSGFuZGxlIGNhc2VzIHdoZXJlIGlucHV0IGJ1ZmZlcnMgaGF2ZSBubyB0aW1lc3RhbXBzIHNvIHRoYXQgbm8gY2xvY2sKCSAgc2tldyBjYW4gYmUgY2FsY3VsYXRlZCwgaW4gdGhpcyBjYXNlIGludGVycG9sbGF0ZSB0aW1lc3RhbXBzIGJhc2VkIG9uCgkgIHJ0cCB0aW1lc3RhbXAgYW5kIGFzc3VtZSBhIDAgY2xvY2sgc2tldy4KCjIwMDctMDktMjggMTE6MTc6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoYXBwbHlfbGF0ZW5jeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgVXNlIG5ldyAtY29yZSBtZXRob2QgZm9yIGRvaW5nIGEgcGVlciBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTW92ZSBqaXR0ZXIgY29ycmVjdGlvbiB0byB0aGUgbG93bGV2ZWwgaml0dGVyYnVmZmVyLgoJICBJbmNyZWFzZSB0aGUgbWF4IHdpbmRvdyBzaXplLgoJICBXaGVuIGZpbGxpbmcgdGhlIHdpbmRvdywgYWxyZWFkeSBzdGFydCBlc3RpbWF0aW5nIHRoZSBza2V3IHVzaW5nIGEKCSAgcGFyYWJvbGljIHdlaWdodGluZyBmYWN0b3Igc28gdGhhdCB3ZSBoYXZlIGEgbXVjaCBiZXR0ZXIgc3RhcnR1cAoJICBiZWhhdmlvdXIgdGhhdCBnZXRzIG1vcmUgYWNjdXJhdGUgd2l0aCB0aGUgbW9yZSBzYW1wbGVzIHdlIGhhdmUuCgkgIEluY3JlYXNlIHRoZSBkZWZhdWx0IHdlaWdodGluZyBmYWN0b3IgZm9yIHRoZSBzdGVhZHkgc3RhdGUgdG8gZ2V0CgkgIHNtb290aGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTI4IDExOjA3OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBOb3cgdGhhdCB3ZSByZXF1aXJlIGxpYm5lb24gPj0gMC4yNiByZW1vdmUgdGhlIG5lb24gMC4yNSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHN0dWZmLiBBbHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIE5vdyB0aGF0IHdlIHJlcXVpcmUgbGlibmVvbiA+PSAwLjI2IHJlbW92ZSB0aGUgbmVvbiAwLjI1IGJhY2t3YXJkCgkgIGNvbXBhdGliaWxpdHkgc3R1ZmYuIEFsc28gZml4IHRoZSBkZWZhdWx0IGxvY2F0aW9uLgoKMjAwNy0wOS0yOCAxMDo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgcmVxdWlyZSBsaWJuZW9uID49IDI2IG5vdyBmb3IgdGhlIHF1ZXJ5IGZpZWxkIGluIG5lX3VyaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSByZXF1aXJlIGxpYm5lb24gPj0gMjYgbm93IGZvciB0aGUgcXVlcnkgZmllbGQgaW4gbmVfdXJpLgoKMjAwNy0wOS0yOCAwOToyOTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IERvbid0IGRpc2NhcmQgR0VUIHBhcmFtZXRlcnMgZnJvbSBVUkwgaWYgZXhpc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgRG9uJ3QgZGlzY2FyZCBHRVQgcGFyYW1ldGVycyBmcm9tIFVSTCBpZiBleGlzdGluZy4KCSAgRml4ZXMgIzQ4MTIwMC4KCjIwMDctMDktMjcgMTQ6NTI6NTggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy4qOiBBZGRlZCBhIHByb3BlcnR5IGZvciBpbmNyZW1lbnRhbCBzY3JlZW4gdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIEFkZGVkIGEgcHJvcGVydHkgZm9yIGluY3JlbWVudGFsIHNjcmVlbiB1cGRhdGVzCgoyMDA3LTA5LTI3IDEzOjAyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy4qOiBSZW1vdmUgc3VwZXJmbHVvdXMgJ2ZyYW1lLWVuY29kZWQnIHNpZ25hbCAocGVvcGxlIGNhbiB1c2UgYW4gdXBzdHJlYW0gaWRlbnRpdHkncyAnaGFuZG9mZicgc2lnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyAnZnJhbWUtZW5jb2RlZCcgc2lnbmFsIChwZW9wbGUgY2FuCgkgIHVzZSBhbiB1cHN0cmVhbSBpZGVudGl0eSdzICdoYW5kb2ZmJyBzaWduYWwgb3IgYSBwYWQKCSAgcHJvYmUgZm9yIHRoaXMgaWYgdGhleSBtdXN0IGtub3cpLgoKMjAwNy0wOS0yNyAxMDowNjoyMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlCgkgIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCjIwMDctMDktMjYgMjA6MDg6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBEeW5hbWljYWxseSBhZGp1c3QgdGhlIHNrZXcgY2FsY3VsYXRpb24gd2luZG93IHNvIHRoYXQgd2UgY2FsY3VsYXRlIGl0CgkgIG92ZXIgYSBwZXJpb2Qgb2YgYXJvdW5kIDIgc2Vjb25kcy4KCjIwMDctMDktMjYgMTY6NDQ6NDIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBmaXggYnVnIGZyb20gZ2VuZXJpYy9zdGF0ZXMuZ2RiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGZpeCBidWcgZnJvbSBnZW5lcmljL3N0YXRlcy5nZGIKCjIwMDctMDktMjYgMTY6MzA6NTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnCgkgIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRob3V0CgkgIHRlc3RpbmcpCgoyMDA3LTA5LTI2IDExOjE3OjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlCgkgIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBGaXggcmF3IGF1ZGlvIGNhcHMgZ2VuZXJhdGlvbi4KCjIwMDctMDktMjQgMTA6NTM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0yMiAxODozMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9MSU5HVUFTOiBBZGRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDktMjIgMTg6Mjk6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vcGwucG86IEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CgkgICogcG8vcGwucG86CgkgIEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjk6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZmkucG86IEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBJbGtrYSBUdW9oZWxhIDxoaWxlQGlraS5maT4KCSAgKiBwby9maS5wbzoKCSAgQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjg6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXMucG86IEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKb3JnZSBHb256w6FsZXogR29uesOhbGV6IDxhbG9yaWVsQGdtYWlsLmNvbT4KCSAgKiBwby9lcy5wbzoKCSAgQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vYmcucG86IEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBjb250YWN0LmJnPgoJICAqIHBvL2JnLnBvOgoJICBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIxIDE4OjAwOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OiBVcGRhdGUgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBVcGRhdGUgaGllcmFyY2h5LgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIE1hcmsgcHJpdmF0ZSBmaWVsZHMgb2YgdGhlIGluc3RhbmNlIHN0cnVjdHMgcHJpdmF0ZS4KCjIwMDctMDktMjEgMTc6MzE6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0aGUgR0lPIHBsdWdpbiB0byB0aGUgZG9jcyBhbmQgZG8gYSBtYWtlIHVwZGF0ZSB3aGlsZSBkb2luZyB0aGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCB0aGUgR0lPIHBsdWdpbiB0byB0aGUgZG9jcyBhbmQgZG8gYSBtYWtlIHVwZGF0ZQoJICB3aGlsZSBkb2luZyB0aGF0LgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19zdGFydCk6CgkgIEZpeCBhIHNtYWxsIG1lbWxlYWsuCgoyMDA3LTA5LTIxIDE3OjA3OjU2ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIGEgR0lPL0dWRlMgcGx1Z2luIHdpdGggc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzLiBUaGlzIHdpbGwgb25seSBiZSBlbmFibGVkIHdoZW4gLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIGdpdmVuIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX2Vycm9yKSwgKGdzdF9naW9fc2VlayksCgkgIChnc3RfZ2lvX2dldF9zdXBwb3J0ZWRfcHJvdG9jb2xzKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3R5cGVfc2luayksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF90eXBlX3NyYyksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF9wcm90b2NvbHMpLCAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfc2V0X3VyaSksIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2luaXQpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9kb19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc2lua19zdGFydCksCgkgIChnc3RfZ2lvX3Npbmtfc3RvcCksIChnc3RfZ2lvX3NpbmtfdW5sb2NrKSwKCSAgKGdzdF9naW9fc2lua191bmxvY2tfc3RvcCksIChnc3RfZ2lvX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19zaW5rX3JlbmRlciksIChnc3RfZ2lvX3NpbmtfcXVlcnkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19zcmNfc3RvcCksIChnc3RfZ2lvX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfZ2lvX3NyY19pc19zZWVrYWJsZSksIChnc3RfZ2lvX3NyY191bmxvY2spLAoJICAoZ3N0X2dpb19zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19zcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9naW9fc3JjX2NyZWF0ZSk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgQWRkIGEgR0lPL0dWRlMgcGx1Z2luIHdpdGggc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzLiBUaGlzIHdpbGwKCSAgb25seSBiZSBlbmFibGVkIHdoZW4gLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIGdpdmVuIHRvIGNvbmZpZ3VyZQoJICBmb3Igbm93IGFzIHRoZSBHSU8gQVBJIGlzIG5vdCBzdGFibGUgeWV0LiBGaXhlcyAjNDc2OTE2LgoKMjAwNy0wOS0yMSAxNTo0OToyNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCB2YXJpb3VzIG5ldyBwbHVnLWlucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIHZhcmlvdXMgbmV3IHBsdWctaW5zCgoyMDA3LTA5LTIxIDE0OjU1OjE5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZGVkIG9mZnNldC14LCBvZmZzZXQteSwgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIGEgcmVnaW9uIGZyb20gdGhlIHNjcmVlbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBvZmZzZXQteCwgb2Zmc2V0LXksIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydHkKCSAgZm9yIHNlbGVjdGluZyBhIHJlZ2lvbiBmcm9tIHRoZSBzY3JlZW4KCjIwMDctMDktMjEgMTA6Mjc6MDIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBNaW5pbXVtIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nIG5vdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBNaW5pbXVtIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nIG5vdwoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBmaXggYWRkcmVzcyB3aGlsZSByZWFkaW5nIGZyb20gc3RyZWFtCgoyMDA3LTA5LTIwIDIwOjQwOjA1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIHRoZSBmZm1wZWdjb2xvcnNwYWNlIHBsdWdpbiBjYW4ndCBoYW5kbGUgaGlnaCByZXNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nLCBidXQgaXQgbG9va3MgbGlrZSB0aGUKCSAgZmZtcGVnY29sb3JzcGFjZSBwbHVnaW4gY2FuJ3QgaGFuZGxlIGhpZ2ggcmVzb2x1dGlvbnMKCjIwMDctMDktMjAgMTg6MzA6MzUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBicHAsIGRlcHRoIGFuZCBlbmRpYW5uZXNzIGFyZSBub3cgc2V0IGZyb20gdGhlIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgYnBwLCBkZXB0aCBhbmQgZW5kaWFubmVzcyBhcmUgbm93IHNldCBmcm9tIHRoZQoJICBzdHJlYW0uCgoyMDA3LTA5LTIwIDE3OjM4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiBGaXggY29tcGlsYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIG5hbWUgb2YgYSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogKG1haW4pOgoJICBGaXggY29tcGlsYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIG5hbWUgb2YgYSBtZXRob2QuCgoyMDA3LTA5LTIwIDE1OjA2OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbWVtb3J5IGxlYWtzLiBNb3JlIHRvIGNvbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBGaXggbWVtb3J5IGxlYWtzLiBNb3JlIHRvIGNvbWUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgSW1wcm92ZWQgc3RhdGUgY2hhbmdlIHVuaXQgdGVzdC4KCjIwMDctMDktMjAgMTQ6MzQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfYWN0aXZlKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfYWN0aXZlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX2FjdGl2ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoKMjAwNy0wOS0yMCAxMzo1OTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBBZGQgcHJvcGVydGllcywgc2lnbmFscyBhbmQgYWN0aW9ucyB0byBhY2Nlc3MgdGhlIGVsZW1lbnQgZXZlbiB3aXRob3V0IGxpbmtpbmcgdG8gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfbWFyc2hhbF9PQkpFQ1RfX1ZPSUQpLAoJICAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zaW5rX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLCAoZ3N0X2FwcF9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLCAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua19ldmVudCksIChnc3RfYXBwX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX2dldF9jYXBzKSwKCSAgKGdzdF9hcHBfc2lua19pc19lb3MpLCAoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBBZGQgcHJvcGVydGllcywgc2lnbmFscyBhbmQgYWN0aW9ucyB0byBhY2Nlc3MgdGhlIGVsZW1lbnQgZXZlbiB3aXRob3V0CgkgIGxpbmtpbmcgdG8gdGhlIGxpYnJhcnkuCgkgIEZpeCBzb21lIG1ldGhvZCBuYW1lcyBhbmQgc2lnbmF0dXJlcy4KCjIwMDctMDktMTkgMjE6MTg6MjcgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgb24gcmVndWxhciBtb25vIGFuZCBzdGVyZW8gY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3NyY2dldGNhcHMpLCAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBEb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgb24gcmVndWxhciBtb25vIGFuZCBzdGVyZW8gY2FzZXMuCgkgIEZpeGVzICM0NzYzNzAuCgoyMDA3LTA5LTE5IDIwOjU1OjQzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEl0IGlzIG5vdyBwb3NzaWJsZSB0byBjb25uZWN0IHRvIGEgdm5jc2VydmVyLiB0aGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2l0aCB0aGUgb3VwdXQgb2YgdGhlIHNjcmVlbi4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byBjb25uZWN0IHRvIGEgdm5jc2VydmVyLgoJICB0aGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2l0aCB0aGUgb3VwdXQgb2YKCSAgdGhlIHNjcmVlbi4gTG9va3MgbGlrZSBzb21lIGxpbmVzIGFyZSBjb25mdXNlZAoKMjAwNy0wOS0xOSAxODoyMjoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCjIwMDctMDktMTkgMTM6NTA6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogRG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgZm9yIG9jY2FzaW9uYWwgZGVjb2RpbmcgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChvcGVuX2xpYnJhcnkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgRG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgZm9yIG9jY2FzaW9uYWwgZGVjb2RpbmcgZXJyb3JzLgoJICBBZGQgbWF4LWVycm9ycyBwcm9wZXJ0eS4KCSAgRXJyb3Igb3V0IHdoZW4gd2UgcmVjZWl2ZSBtYXgtZXJyb3JzIGluIGEgcm93LiBGaXhlcyAjNDc4MTU5LgoKMjAwNy0wOS0xOSAxMzowNjoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEFkZCBwYXNzd29yZCBwcm9wZXJ0eSAod3JpdGUgb25seSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgQWRkIHBhc3N3b3JkIHByb3BlcnR5ICh3cml0ZSBvbmx5KQoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBSZWFkIHRoZSByZWFzb24gb24gZmFpbHVyZQoJICBVc2UgdGhlIHBhc3N3b3JkIHByb3BlcnR5IGZvciBhdXRoZW50aWNhdGlvbgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgZGVmaW5lcyBmb3IgdmVyc2lvbiBjaGVja2luZwoKMjAwNy0wOS0xOSAxMjo1MDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseSBjaGFpbiB1cCB0byB0aGUgcGFyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpOgoJICBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseQoJICBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzIHRvIGZyZWUgZXZlcnl0aGluZywgaW5jbHVkaW5nIGNhcHMuCgoyMDA3LTA5LTE5IDEyOjUwOjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCk6CgkgIFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5CgkgIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgdG8gZnJlZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2Fwcy4KCjIwMDctMDktMTkgMDg6MzU6MTMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogVk5DIEF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSB3b3JraW5nIG5vdyB0ZW1wZXJhbHkgd2l0aCBmYWtlIHBhc3N3b3JkICd0ZXN0dGVzdCcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICBWTkMgQXV0aGVudGljYXRpb24gc2hvdWxkIGJlIHdvcmtpbmcgbm93CgkgIHRlbXBlcmFseSB3aXRoIGZha2UgcGFzc3dvcmQgJ3Rlc3R0ZXN0JwoKMjAwNy0wOS0xOCAxNjozMjoxOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgc2VjdXJpdHkgaGFuZGxpbmcgc3RhcnQgaW1wbGVtZW50aW5nIHNlY3VyaXR5IGhhbmRsaW5nIGZvciByZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHNlY3VyaXR5IGhhbmRsaW5nCgkgIHN0YXJ0IGltcGxlbWVudGluZyBzZWN1cml0eSBoYW5kbGluZyBmb3IgcmZiIDMuMwoKMjAwNy0wOS0xOCAxMzo1NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgoyMDA3LTA5LTE4IDExOjQ1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzCgkgIGFuZCBzdGFydC9zdG9wLiBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQKCSAgYW4gYXBwbGljYXRpb24gY2FuIHVuZGVyc3RhbmQuIChZZXMgdGhlc2UgYXJlIGFkYXB0ZWQgZnJvbSB3aW0gcmVjZW50CgkgIGxldmVsIGVsZW1lbnQgY2hhbmdlcykKCjIwMDctMDktMTcgMjE6MTI6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5IGZvciB0aGUgcmZiIHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5IGZvciB0aGUgcmZiIHZlcnNpb24KCjIwMDctMDktMTcgMDI6MDE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlCgkgIHNzcmMgZGVtdXhlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlcik6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgRml4IHJhY2UgaW4gY3JlYXRpbmcgdGhlIFJUUCBhbmQgUlRDUCBwYWRzIHdoZW4gYSBuZXcgU1NSQyBpcyBkZXRlY3RlZC4KCjIwMDctMDktMTYgMTk6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoY29udmVydF9ydHB0aW1lX3RvX2dzdHRpbWUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZWNvbnN0cnVjdCBHU1QgdGltZXN0YW1wIGZyb20gUlRQIHRpbWVzdGFtcHMgYmFzZWQgb24gbWVhc3VyZWQgY2xvY2sKCSAgc2tldyBhbmQgc3luYyBvZmZzZXQuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF90YWlsX2NoYW5nZWQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X2Nsb2NrX3JhdGUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BlZWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNZWFzdXJlIGNsb2NrIHNrZXcuCgkgIEFkZCBjYWxsYmFjayB0byBiZSBub3RmaWVkIHdoZW4gYSBuZXcgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgdGFpbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgY2xvY2sgc2tldyBkZXRlY3Rpb24sIGl0J3MgbW92ZSB0byB0aGUgaml0dGVyYnVmZmVyIG5vdy4KCjIwMDctMDktMTYgMDc6Mjg6MTggKzAwMDAgIERhbmllbCBDaGFybGVzIDxkY2hhcmxlc0B0aS5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYmFuZG1vZGUuIEZpeGVzICM0NzczMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzIGF0IHRpIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfYmFuZG1vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2FtcndiZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfYW1yd2JlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmVuY19jaGFpbik6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGJhbmRtb2RlLiBGaXhlcyAjNDc3MzA2LgoKMjAwNy0wOS0xNSAxODo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgIEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSB0aGUgcmlnaHQgbG9jayB0byBwcm90ZWN0IG91ciB2YXJpYWJsZXMuCgkgIEZpeCBzb21lIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgSW1wbGVtZW50IGdldGNhcHMgb24gdGhlIHNlbmRlciBzaW5rcGFkIHNvIHRoYXQgcGF5bG9hZGVycyBjYW4gbmVnb3RpYXRlCgkgIHRoZSByaWdodCBTU1JDLgoKMjAwNy0wOS0xMiAyMToyMzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVmFyaW91cyBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGZyZWVfc2Vzc2lvbiksCgkgIChnZXRfY2xpZW50KSwgKGZyZWVfY2xpZW50KSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChmcmVlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFZhcmlvdXMgbGVhayBmaXhlcy4KCjIwMDctMDktMTIgMTg6MDQ6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY2FsY19udHBfbnNfYmFzZSksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE5UUCB0aW1lcyBpbiBTUiBwYWNrZXRzLgoJICBTZXQgY2FwcyBvbiBuZXcgZ2hvc3RwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIENsZWFuIGRlYnVnIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ludGVybmFsX2xpbmtzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG50cC1ucy1iYXNlIHByb3BlcnR5IHRvIGNvbnZlcnQgcnVubmluZ190aW1lIHRvIE5UUCB0aW1lLgoJICBIYW5kbGUgTkVXU0VHTUVOVCBldmVudHMgb24gc2VuZCBhbmQgcmVjdiBSVFAgcGFkcyBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBhbmQgdGh1cyBOVFAgdGltZSBvZiB0aGUgcGFja2V0cy4KCSAgU2ltcGxpZnkgZ2V0dGluZyB0aGUgY3VycmVudCBOVFAgdGltZSB1c2luZyB0aGUgcGlwZWxpbmUgY2xvY2suCgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMuCgkgIFVzZSB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGluc3RlYWQgb2YgdGhlIGNsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24uCgkgIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIGRpZmZlcmVudCBzdHJlYW1zLCB0aGlzIG1pZ2h0IGJlIHVzZWQgbGF0ZXIKCSAgdG8gZ2V0IHRoZSBpbnRlciBzdHJlYW0gbGF0ZW5jeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFNpbXBsZSBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBNYWtlIHRoZSBjbG9jayBza2V3IHdpbmRvdyBhIGxpdHRsZSBiaWdnZXIuCgkgIEFwcGx5IHRoZSBjbG9jayBza2V3IHRvIGFsbCBidWZmZXJzLCBub3QganVzdCBvbmUgd2l0aCBhIG5ldyB0aW1lc3RhbXAuCgkgIENhbGN1bGF0ZSBhbmQgZGVidWcgc2VuZGVyIGNsb2NrIGRyaWZ0LgoJICBVc2UgZXh0ZW5kZWQgbGFzdCB0aW1lc3RhbXAgdG8gaW50ZXJwb2xsYXRlIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOS0xMiAwODozODoyMiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDktMDkgMTk6MDU6MTkgKzAwMDAgIFRob21hcyBHcmVlbiA8dG9tNzg5OTlAZ21haWwuY29tPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogV2l0aCBsaWJuZW9uIDIuNiwgd2UgbmVlZCB0byBzZXQgdGhlIE5FX1NFU1NGTEFHX0lDWVBST1RPIGZsYWcgaWYgd2Ugd2FudCBJQ1kgc3RyZWFtcyB0byBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhvbWFzIEdyZWVuICA8dG9tNzg5OTkgZ21haWwgY29tPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIFdpdGggbGlibmVvbiAyLjYsIHdlIG5lZWQgdG8gc2V0IHRoZSBORV9TRVNTRkxBR19JQ1lQUk9UTwoJICBmbGFnIGlmIHdlIHdhbnQgSUNZIHN0cmVhbXMgdG8gYmUgaGFuZGxlZCB0b28sIG90aGVyd2lzZQoJICBsaWJuZW9uIHdpbGwgZXJyb3Igb3V0IHdpdGggYSAnY2FuJ3QgcGFyc2UgcmVwb25zZScgZXJyb3IuCgkgIEZpeGVzICM0NzQ2OTYuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgVW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUgYnkgWW91cnMgVHJ1bHkuCgoyMDA3LTA5LTA5IDE4OjIyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGZvciB0aGUgZmFhZCBhbmQgdGhlIHh2aWQgY29uZmlndXJlIGNoZWNrcywgc28gdGhleSBzdGlsbCB3b3JrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBmb3IgdGhlIGZhYWQgYW5kIHRoZQoJICB4dmlkIGNvbmZpZ3VyZSBjaGVja3MsIHNvIHRoZXkgc3RpbGwgd29yayB3aGVuIGNyb3NzLWNvbXBpbGluZy4KCSAgRml4ZXMgIzQ1MjAwOS4KCjIwMDctMDktMDcgMTU6NTQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgVGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3Igbm90aWNpbmcuCgoyMDA3LTA5LTA2IDIwOjM3OjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCjIwMDctMDktMDYgMDc6MjY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IFJlbW92ZSBmaXhlZCBwb2ludCBGRlQgYXMgaXQncyBub3QgdXNlZCBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOgoJICBSZW1vdmUgZml4ZWQgcG9pbnQgRkZUIGFzIGl0J3Mgbm90IHVzZWQgYW55bW9yZS4KCjIwMDctMDktMDYgMDc6MjE6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldHVwKSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydAoJICBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlIGNvbnRlbnRzLAoJICBhdmVyYWdlIGFsbCBGRlRzIGRvbmUgaW4gb25lIGludGVydmFsIGZvciBiZXR0ZXIgcmVzdWx0cywgdXNlCgkgIGEgYmV0dGVyIHdpbmRvd2luZyBmdW5jdGlvbiwgYWxsb3cgcG9zdGluZyB0aGUgcGhhc2UgaW4gdGhlIG1lc3NhZ2UKCSAgYW5kIGFjdHVhbGx5IGRvIGFuIEZGVCB3aXRoIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJhbmRzIGluc3RlYWQKCSAgb2YgaW50ZXJwb2xhdGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlY3RydW1fc3VpdGUpOgoJICBJbXByb3ZlIHRoZSB1bml0cyB0ZXN0cyBieSBjaGVja2luZyBmb3IgYSAxMTAyNUh6IHNpbmUgd2F2ZQoJICBhbmQgYWRkIHVuaXQgdGVzdHMgZm9yIGFsbCA0IHN1cHBvcnRlZCBzYW1wbGUgdHlwZXMuCgoyMDA3LTA5LTA1IDIxOjA5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2Fwcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBzZXQgTE9ORyBmb3Igd2lkdGgvaGVpZ2h0IGluIGNhcHMuCgkgIFNldCBjb3JyZWN0IG91dHB1dCBidWZmZXIgc2l6ZSB3aGVuIGNhcHMgY2hhbmdlZC4KCSAgVGhlIGN1c3RvbSBtZXNzYWdlIHNlbnQgdG8gdGhlIGRlY29kZXIgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZSBmb3JtYXQgYW5kCgkgIHN1YmZvcm1hdC4gRml4ZXMgIzQ3MTU1NC4KCjIwMDctMDktMDQgMTU6MjM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IgKCM0NzM1NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IKCSAgKCM0NzM1NjIpLgoKMjAwNy0wOS0wNCAwMjoyMjoyMCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBOb3NlZmFydCAtPiBORVMgU291bmQgRm9ybWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3NlZmFydCAtPiBORVMgU291bmQgRm9ybWF0CgoyMDA3LTA5LTA0IDAyOjE2OjUzICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgIGdzdC9uc2YvZ3N0bnNmLio6IEFkZCBzdXBwb3J0IGZvciAodmVyeSkgYmFzaWMgdGFnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMDMgIEpvaGFuIERhaGxpbiAgPGpvaGFuQGdub21lLm9yZz4KCSAgKiBnc3QvbnNmL2dzdG5zZi5jOiAoZ3N0X25zZmRlY19maW5hbGl6ZSksIChzdGFydF9wbGF5X3R1bmUpOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgIEFkZCBzdXBwb3J0IGZvciAodmVyeSkgYmFzaWMgdGFnZ2luZy4KCjIwMDctMDktMDMgMjE6MTk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGNhcHNfY2hhbmdlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBIYW5kbGUgc3luY19ydGNwIGJ1ZmZlcnMgZnJvbSB0aGUgU1NSQyBkZW11eGVyIHRvIHBlcmZvcm0gbGlwLXN5bmMuCgkgIFNldCB0aGUgZGVmYXVsdCBsYXRlbmN5IGNvcnJlY3RseS4KCSAgQWRkIHNvbWUgbW9yZSBwb2ludHMgd2hlcmUgd2UgY2FuIGdldCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGNvbnRyb2wgdGltZXN0YW1waW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGZWVkIHJ0cHNlc3Npb24gbWFuYWdlciB3aXRoIE5UUCB0aW1lIGJhc2VkIG9uIHBpcGVsaW5lIGNsb2NrIHdoZW4KCSAgaGFuZGxpbmcgUlRQIHBhY2tldHMgYW5kIFJUQ1AgdGltZW91dHMuCgkgIFBlcmZvcm0gYWxsIFJUQ1Agd2l0aCB0aGUgc3lzdGVtIGNsb2NrLgoJICBTZXQgY2FwcyBvbiBSVENQIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBbHNvIGRlbXV4IFJUQ1AgbWVzc2FnZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAoc2Vzc2lvbl9zdGFydF9ydGNwKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW1vdmUgdGhlIGdldF90aW1lIGNhbGxiYWNrLCB0aGUgR1N0cmVhbWVyIHBhcnQgd2lsbCBmZWVkIHVzIHdpdGgKCSAgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgU3BsaXQgc3luYyB0aW1pbmcgYW5kIFJUQ1AgdGltaW5nIGluZm9ybWF0aW9uLgoJICBGYWN0b3Igb3V0IGNvbW1vbiBSQiBoYW5kbGluZyBmb3IgU1IgYW5kIFJSLgoJICBTZW5kIG91dCBTUiBSVENQIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICBNb3ZlIFNSIGFuZCBSUiBwYWNrZXQgaW5mbyBnZW5lcmF0aW9uIHRvIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIGNhcHMgb24gaW5jb21taW5nIGJ1ZmZlcnMgdG8gZ2V0IHRpbWluZyBpbmZvcm1hdGlvbiB3aGVuIHRoZXkgYXJlCgkgIHRoZXJlLgoJICBDYWxjdWxhdGUgY2xvY2sgc2NldyBvZiB0aGUgcmVjZWl2ZXIgY29tcGFyZWQgdG8gdGhlIHNlbmRlciBhbmQgYWRqdXN0CgkgIHRoZSBydHAgdGltZXN0YW1wcy4KCSAgQ2FsY3VsYXRlIHRoZSByb3VuZCB0cmlwIGluIHNvdXJjZXMuCgkgIERvIFNSIGFuZCBSUiBjYWxjdWxhdGlvbnMgaW4gdGhlIHNvdXJjZS4KCjIwMDctMDktMDMgMjA6MDc6MTcgKzAwMDAgIFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkgIGdteXRoc3JjIGNvZGUgcmV3cml0ZTsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdteXRoc3JjIGNvZGUgcmV3cml0ZTsKCjIwMDctMDgtMzEgMTU6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQgd2UgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQKCSAgd2UgY2FuIGhhbmRsZSB0aGUgcnRwIHdyYXBhcm91bmQgY29ycmVjdGx5LgoKMjAwNy0wOC0yOSAxNjo1NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbXByb3ZlIENvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW1wcm92ZSBDb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEFsc28gcGFyc2UgdGhlIHNpbmsgY2FwcyBmb3IgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIG9ubHkgcmVseWluZyBvbiB0aGUKCSAgcmVzdWx0IG9mIHRoZSBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGZldGNoIHRoZSBjbG9jayByYXRlIGZvciBwYXlsb2FkcyB3ZSBhcmUgc2VuZGluZyBvdXQgc28KCSAgdGhhdCB3ZSBjYW4gdXNlIGl0IGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOC0yOSAxNjoyMDoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogSWYgYWxsIGluZm9ybWF0aW9uIGlzIGtub3duIGF0IHRpbWUgb2Ygc2V0dGluZyBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6CgkgIElmIGFsbCBpbmZvcm1hdGlvbiBpcyBrbm93biBhdCB0aW1lIG9mIHNldHRpbmcgc3RhcnQtdGltZQoJICBwcm9wZXJ0eSwgc2VuZCBuZXcgc2VnbWVudHMgdGhlbi4KCjIwMDctMDgtMjkgMDE6MjI6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLio6IERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0IGNhbiBnZW5lcmF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0CgkgIGNhbiBnZW5lcmF0ZSBjb3JyZWN0IFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9iYXNlX3RpbWUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3RpbWVzdGFtcF9zeW5jKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kcyBmb3Igc2V0dGluZyBzeW5jIHBhcmFtZXRlcnMuCgkgIFNldCBjb3JyZWN0IFJUUCB0aW1lIGluIFNSIHBhY2tldHMgdXNpbmcgdGhlIHN5bmMgcGFyYW1zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlY29yZCBsYXN0IFJUUCA8LT4gR1NUIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSB0byBjb252ZXJ0IE5UUAoJICB0byBSVFAgdGltZXN0YW1wcyBpbiBTUiBwYWNrZXRzLgoKMjAwNy0wOC0yOCAyMDozMDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIEZJWE1FLgoJICBSZWxlYXNlIExPQ0sgd2hlbiBwZXJmb3JtaW5nIHNlc3Npb24gY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBSVFAgcGFja2V0cyB3aXRoIHRoZSBzZXNzaW9uIFNTUkMuCgoyMDA3LTA4LTI4IDA4OjEwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogRG9uJ3QgbmVlZCB0aGlzIGluY2x1ZGUgKGZpeGVzIGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgRG9uJ3QgbmVlZCB0aGlzIGluY2x1ZGUgKGZpeGVzIGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwKS4KCjIwMDctMDgtMjcgMjE6MTc6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIERvbid0IHRyeSB0byBhZGQgb3VyIGxhdGVuY3kgdG8gaW52YWxpZCBwZWVyIG1heCBsYXRlbmN5IHZhbHVlcy4KCjIwMDctMDgtMjcgMTQ6NTY6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoKMjAwNy0wOC0yNyAxNDo0MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOiBDb21taXQgdGhlIG1ha2VmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgQ29tbWl0IHRoZSBtYWtlZmlsZSB0b28uCgoyMDA3LTA4LTI3IDE0OjMzOjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGR2ZHNwdSBlbGVtZW50IGRvbmF0ZWQgYnkgRmx1ZW5kby4gSXQgaW1wbGVtZW50cyBhIERWRCBTdWItUGljdHVyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2R2ZHNwdS8uY3ZzaWdub3JlOgoJICAqIGdzdC9kdmRzcHUvTm90ZXMudHh0OgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOiAoZHZkc3B1X3JlY2FsY19wYWxldHRlKSwKCSAgKGR2ZHNwdV91cGRhdGVfcGFsZXR0ZXMpLCAoZHZkc3B1X2NsZWFyX2NvbXBfYnVmZmVycyksCgkgIChkdmRzcHVfZ2V0X25pYmJsZSksIChkdmRzcHVfZ2V0X3JsZV9jb2RlKSwgKGR2ZHNwdV9kcmF3X3JsZV9ydW4pLAoJICAocmxlX2VuZF94KSwgKGR2ZHNwdV9yZW5kZXJfbGluZSksIChkdmRzcHVfdXBkYXRlX2NoZ2NvbCksCgkgIChkdmRzcHVfcmVuZGVyX2xpbmVfd2l0aF9jaGdjb2wpLCAoZHZkc3B1X2JsZW5kX2NvbXBfYnVmZmVycyksCgkgIChnc3RkdmRzcHVfcmVuZGVyX3NwdSk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGR2ZHNwdV9iYXNlX2luaXQpLCAoZHZkc3B1X2NsYXNzX2luaXQpLAoJICAoZHZkc3B1X2luaXQpLCAoZHZkc3B1X2NsZWFyKSwgKGR2ZHNwdV9kaXNwb3NlKSwgKGR2ZHNwdV9maW5hbGl6ZSksCgkgIChkdmRzcHVfZmx1c2hfc3B1X2luZm8pLCAoZHZkc3B1X2J1ZmZlcl9hbGxvYyksIChkdmRzcHVfc3JjX2V2ZW50KSwKCSAgKGR2ZHNwdV92aWRlb19zZXRfY2FwcyksIChkdmRzcHVfdmlkZW9fcHJveHlfZ2V0Y2FwcyksCgkgIChkdmRzcHVfdmlkZW9fZXZlbnQpLCAoZHZkc3B1X3ZpZGVvX2NoYWluKSwKCSAgKGR2c3B1X2hhbmRsZV92aWRfYnVmZmVyKSwgKGR2ZHNwdV9yZWRyYXdfc3RpbGwpLAoJICAoZ3N0ZHZkc3B1X3BhcnNlX2NoZ19jb2xjb24pLCAoZHZkc3B1X2V4ZWNfY21kX2JsayksCgkgIChkdmRzcHVfZmluaXNoX3NwdV9idWYpLCAoZHZkc3B1X3NldHVwX2NtZF9ibGspLAoJICAoZHZkc3B1X2hhbmRsZV9uZXdfc3B1X2J1ZiksIChkdmRzcHVfaGFuZGxlX2R2ZF9ldmVudCksCgkgIChkdmRzcHVfZHVtcF9kY3NxKSwgKGR2ZHNwdV9hZHZhbmNlX3NwdSksCgkgIChkdmRzcHVfY2hlY2tfc3RpbGxfdXBkYXRlcyksIChkdmRzcHVfc3VicGljX2NoYWluKSwKCSAgKGR2ZHNwdV9zdWJwaWNfZXZlbnQpLCAoZHZkc3B1X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RkdmRzcHVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdSBlbGVtZW50IGRvbmF0ZWQgYnkgRmx1ZW5kby4gSXQgaW1wbGVtZW50cyBhIERWRCBTdWItUGljdHVyZQoJICBVbml0LCBkZWNvZGluZyBhbmQgb3ZlcmxheWluZyBEVkQgc3VidGl0bGVzIGFuZCBtZW51IGdyYXBoaWNzLgoJICAqIGdzdC9tcGVnMnN1Yi8uY3ZzaWdub3JlOgoJICAqIGdzdC9tcGVnMnN1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzJzdWIvTm90ZXMudHh0OgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWcyc3ViL21wZWcyc3VidC52Y3Byb2o6CgkgIERlbGV0ZSBvbGQgYW5kIGJyb2tlbiBtcGVnMnN1YnQgZWxlbWVudCB0aGF0IHdhcyBuZXZlciBwb3J0ZWQgZnJvbSAwLjgKCjIwMDctMDgtMjQgMTc6MDM6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoKMjAwNy0wOC0yNCAxNTo1Njo1MiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIE1ha2Ugc3dpdGNoIG1vcmUgcmVsaWFibGUgYW5kIGFsc28gbm90IGxvY2sgdXAgd2hlbiBzaW5rIHBhZCBjYXBzIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBNYWtlIHN3aXRjaCBtb3JlIHJlbGlhYmxlIGFuZCBhbHNvIG5vdCBsb2NrIHVwIHdoZW4KCSAgc2luayBwYWQgY2FwcyBjaGFuZ2UuCgoyMDA3LTA4LTI0IDE1OjMxOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogSW1wbGVtZW50CgkgIHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCjIwMDctMDgtMjQgMTE6MjM6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBVcGRhdGUgbGljZW5jZXMgdG8gcmVmbGVjdCBMR1BMLW5lc3Mgb2YgdGhlc2UgZmlsZXMgYWxzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICBVcGRhdGUgbGljZW5jZXMgdG8gcmVmbGVjdCBMR1BMLW5lc3Mgb2YgdGhlc2UgZmlsZXMgYWxzby4KCjIwMDctMDgtMjMgMjE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURSByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUKCSAgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGb28gdHlwZXMgdGhhdAoJICBmYXJzaWdodCByZWdpc3RlcnMgKGx1Y2tpbHkgR1R5cGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlKS4gU2hvdWxkCgkgIGZpbmFsbHkgZml4ICM0MzA2NjQuCgoyMDA3LTA4LTIzIDE3OjIxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQXV0b21hdGljYWxseSBnZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggdmlhIGNvbmZpZ3VyZSAodGhpcyBlbnN1cmVzIHRoZSB3aW4zMiB2ZXJzaW9uIG9mIGNvbmZpZy5oIGlzIHVwLXRvLWRhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCB2aWEgY29uZmlndXJlICh0aGlzCgkgIGVuc3VyZXMgdGhlIHdpbjMyIHZlcnNpb24gb2YgY29uZmlnLmggaXMgdXAtdG8tZGF0ZSB3aGVuIGEgcmVsZWFzZQoJICBpcyBtYWRlLCAjNDMzMzczKS4gY29uZmlnLmguaW4gZmlsZSBtaWdodCBuZWVkIHNvbWUgbW9yZSB3b3JrLgoKMjAwNy0wOC0yMyAxMzoyNDozMyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBQb3J0IGZlc3RpdmFsIHBsdWdpbiB0byBHU3RyZWFtZXItMC4xMCAoIzQ2MTM3NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIFBvcnQgZmVzdGl2YWwgcGx1Z2luIHRvIEdTdHJlYW1lci0wLjEwICgjNDYxMzc3KS4KCjIwMDctMDgtMjIgMTU6MzI6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHVucmVmIHRoZSBidWZmZXIgd2hlbiBpdCB3YXMgY2xpcHBlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBEb24ndCB1bnJlZiB0aGUgYnVmZmVyIHdoZW4gaXQgd2FzIGNsaXBwZWQuCgoyMDA3LTA4LTIyIDE0OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2ggbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoCgkgIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBGbGFzaCBwbGF5ZXJzIGNhbiBzdXBwb3J0IGl0IGFzIHdlbGwgdGhpcyB3YXkuCgoyMDA3LTA4LTIyIDE0OjAzOjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8gcHVzaCB0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlCgkgIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8KCSAgcHVzaAoJICB0YWdzIGFuZCBlbWl0IG5vLW1vcmUtcGFkcy4gRml4IHNvbWUgcHJpbnRmIHR5cGluZyBpbiBkZWJ1Z2dpbmcuCgoyMDA3LTA4LTIxIDE3OjE4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaCB0aGUgYnVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2gKCSAgdGhlIGJ1ZmZlciBhcyBmYXN0IGFzIHBvc3NpYmxlLgoJICBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNy0wOC0yMSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgoyMDA3LTA4LTIxIDE1OjU5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLgoKMjAwNy0wOC0yMSAxMjo1OTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRG9uJ3QgdXNlIE5VTEwgY2FwcyBmb3Igc3JjcGFkIGlzIG5vdCB5ZXQgY29ubmVjdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBEb24ndCB1c2UgTlVMTCBjYXBzIGZvciBzcmNwYWQgaXMgbm90IHlldCBjb25uZWN0ZWQuCgoyMDA3LTA4LTIwIDE0OjIzOjQ1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXJzZXIgd3JpdHRlbiBieToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlbWFyc2hhbC5saXN0OgoJICBBZGQgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBhcnNlciB3cml0dGVuIGJ5OgoJICBBbGVzc2FuZHJvIERlY2luYS4gSW5jbHVkZXMgYSBjb3VwbGUgb2YgZmlsZXMgZnJvbSB0aGUKCSAgRmx1ZW5kbyB0cmFuc3BvcnQgc3RyZWFtIGRlbXV4ZXIgdGhhdCBGbHVlbmRvIGhhdmUKCSAga2luZGx5IGFsbG93ZWQgdG8gYmUgbGljZW5jZWQgdW5kZXIgTEdQTCBhbHNvLgoKMjAwNy0wOC0yMCAwOToxMzo0NyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQWRkIGV4YW1wbGVzIGZvciBsaXZlIG15dGh0djovLyBVUklzIHRvIGRvY3MgKCM0NjgwMzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzIGF0IGhhZGVzcyBuZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgQWRkIGV4YW1wbGVzIGZvciBsaXZlIG15dGh0djovLyBVUklzIHRvIGRvY3MgKCM0NjgwMzkpLgoJICBBbHNvIGNvbnZlcnQgc29tZSB0YWJzIGludG8gc3BhY2VzLgoKMjAwNy0wOC0xOSAxOToxNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MDE6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGJwd3NpbmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGxwd3NpbmNfc3VpdGUpOgoJICBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCjIwMDctMDgtMTcgMTU6MDU6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBjaGFuZ2UgZnJlcXVlbmN5CgkgIHByb3BlcnRpZXMgdG8gZmxvYXRzIHRvIHNhdmUgYSBiaXQgb2YgbWVtb3J5LCBldmVuIGludHMgd291bGQgaW4KCSAgdGhlb3J5IGJlIGVub3VnaC4gQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGN1dG9mZiBmb3IgY29uc2lzdGVuY3kKCSAgcmVhc29ucy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4KCjIwMDctMDgtMTcgMDY6NTU6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IERvbid0IGxlYWsgdGhlIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIERvbid0IGxlYWsgdGhlIGFkYXB0ZXIuCgoyMDA3LTA4LTE2IDE5OjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc3RhcnQpLCAoYnB3c2luY19xdWVyeSksCgkgIChicHdzaW5jX3F1ZXJ5X3R5cGUpLCAoYnB3c2luY19ldmVudCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBSZXNldCByZXNpZHVlIGxlbmd0aCBvbmx5IHdoZW4gYWN0dWFsbHkgY3JlYXRpbmcgYSByZXNpZHVlLgoKMjAwNy0wOC0xNiAxNzoxMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBPdmVycmlkZSB0aGUgcHJlcm9sbCB2bWV0aG9kIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgcmVuZGVyIG1ldGhvZCB0d2ljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCk6CgkgIE92ZXJyaWRlIHRoZSBwcmVyb2xsIHZtZXRob2QgaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kCgkgIHR3aWNlLgoKMjAwNy0wOC0xNiAxMTo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBFT1MgaGFuZGxpbmcuCgkgIENvbnZlcnQgc29tZSBERUJVRyBpbnRvIFdBUk5JTkdzLgoJICBQYXVzZSB0YXNrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKToKCSAgVXNlIHN5c3RlbSBjbG9jayBmb3IgUlRDUCBzZXNzaW9uIG1hbmFnZW1lbnQgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCk6CgkgIFJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGVtaXRpbmcgc2lnbmFscy4KCjIwMDctMDgtMTYgMTE6MzQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoKMjAwNy0wOC0xNiAwOTo0ODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChscHdzaW5jX3RyYW5zZm9ybSksIChscHdzaW5jX3N0YXJ0KSwgKGxwd3NpbmNfcXVlcnkpLAoJICAobHB3c2luY19xdWVyeV90eXBlKSwgKGxwd3NpbmNfZXZlbnQpLCAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCjIwMDctMDgtMTYgMDc6MDc6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IERvbid0IGxlYWsgbGlrZSBoZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBEb24ndCBsZWFrIGxpa2UgaGVsbC4KCjIwMDctMDgtMTYgMDY6NDk6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIGdlbmVyaWMgc3RhdGUtY2hhbmdlIHRlc3Qgc3VpdGUgdG8gaGVscCB0byBmaSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEFkZCBnZW5lcmljIHN0YXRlLWNoYW5nZSB0ZXN0IHN1aXRlIHRvIGhlbHAgdG8gZmkgbGVha3MuCgoyMDA3LTA4LTE1IDEzOjI4OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwNy0wOC0xNSAxMzoyNjo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgcGF0Y2ggYnk6IDxkZWxldGUgaWYgbm90IHNvbWVvbmUgZWxzZSdzIHBhdGNoPgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoKMjAwNy0wOC0xNCAxNzo0NzozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBEb24ndCB1c2UgbmV3IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpOgoJICBEb24ndCB1c2UgbmV3IEFQSS4KCjIwMDctMDgtMTQgMTc6Mzg6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogTWFrZSBsb3ZlIHRvIGFwcHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLCAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua19zdG9wKSwgKGdzdF9hcHBfc2lua19ldmVudCksIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksCgkgIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwgKGdzdF9hcHBfc2lua19nZXRfY2FwcyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX2VuZF9vZl9zdHJlYW0pLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBNYWtlIGxvdmUgdG8gYXBwc2luay4KCSAgTWFrZSBpdCBzdXBwb3J0IHB1bGxpbmcgb2YgdGhlIHByZXJvbGwgYnVmZmVyLgoJICBBZGQgZG9jcyBhbmQgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4IHNvbWUgcmFjZXMgd3J0IHRvIEVPUyBoYW5kbGluZyBhbmQgc3RvcHBpbmcuCgkgIEltcGxlbWVudCBnZXRjYXBzLgoJICBJbXBsZW1lbnQgRkxVU0hJTkcuCgkgIEFQSTogZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCgpCgoyMDA3LTA4LTE0IDE0OjU2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCk6CgkgIEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgoyMDA3LTA4LTE0IDE0OjIyOjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2FkYXB0ZXJfZmx1c2gpLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbAoJICBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBQYXJzZQoJICBtb3JlIG1ldGFkYXRhIHR5cGVzIGFuZCBrZXlmcmFtZXMgaW5kZXguCgoyMDA3LTA4LTEzIDEzOjUwOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlIGFsbCBvdGhlciBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0KCSAgaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlCgkgIGFsbCBvdGhlciBkb2NzIHZpYSBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTEzIDA2OjE2OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTIgMjA6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCjIwMDctMDgtMTIgMjA6NTM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChzZXR1cF9icHdzaW5jKSwKCSAgKGNsZWFudXBfYnB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChicHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoKMjAwNy0wOC0xMiAyMDoxOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKHNldHVwX2xwd3NpbmMpLAoJICAoY2xlYW51cF9scHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGxwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgoyMDA3LTA4LTEyIDE1OjQxOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMDgtMTIgMTI6NDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlIG9uIHN0cmVhbSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zdGFydCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGxwd3NpbmNfc3RhcnQpOgoJICBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlCgkgIG9uIHN0cmVhbSBjaGFuZ2VzLgoKMjAwNy0wOC0xMSAyMTozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCjIwMDctMDgtMTEgMTU6NTg6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyIGtlcm5lbCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyCgkgIGtlcm5lbCBzaXplLgoKMjAwNy0wOC0xMCAxNzoxNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9uZXcpLCAoY29tcGFyZV9zZXFudW0pLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BvcCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9mbHVzaCksIChydHBfaml0dGVyX2J1ZmZlcl9udW1fcGFja2V0cyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlcgoJICBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUgYnVncy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksCgkgIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fYnllX3NzcmMpLCAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgVXNlIG5ldyBqaXR0ZXJidWZmZXIgY29kZS4KCSAgRXhwb3NlIHNvbWUgbmV3IHNpZ25hbHMgaW4gcHJlcGFyYXRpb24gZm9yIGhhbmRsaW5nIEVPUy4KCjIwMDctMDgtMTAgMDU6NTE6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZCB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQKCSAgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSBidWZmZXIuCgoyMDA3LTA4LTEwIDA1OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9icHdzaW5jX3dpbmRvd19nZXRfdHlwZSksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdwoJICBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBbmQgYW5vdGhlciBzbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDU6MjA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgLSBTdXBwb3J0IGRvdWJsZSBpbnB1dAoJICAtIEZpeCBwcm9jZXNzaW5nIGZvciBpbnB1dCB3aXRoID4xIGNoYW5uZWxzCgkgIC0gU3BlY2lmeSBmcmVxdWVuY3kgaW4gSHoKCSAgLSBTcGVjaWZ5IGFjdHVhbCBmaWx0ZXIga2VybmVsIGxlbmd0aAoJICAtIFVzZSB0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAgYXMgd2UncmUgd29ya2luZwoJICBvdXQgb2YgcGxhY2UgYW55d2F5CgkgIC0gRmFjdG9yIG91dCBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gYW5kIHVwZGF0ZSB0aGUgZmlsdGVyCgkgIGtlcm5lbCB3aGVuIHRoZSBwcm9wZXJ0aWVzIGFyZSBzZXQKCSAgRml4IGJhbmRwYXNzIGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiB0byBhY3R1YWxseSBnZW5lcmF0ZQoJICBhIGJhbmRwYXNzIGZpbHRlciBieSBjcmVhdGluZyBhIGhpZ2hwYXNzIGluc3RlYWQgb2YgYSBzZWNvbmQKCSAgbG93cGFzcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBTbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDQ6NDQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQKCSAgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0byB0aGUgbmV4dCBvZGQgbnVtYmVyLgoJICBBbHNvIHJlbW92ZSBub3cgb2Jzb2xldGUgRklYTUVzLgoKMjAwNy0wOC0xMCAwNDozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4gd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4KCSAgd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0b3BiYW5kIGF0dGVudWF0aW9uIGJ1dCBhIGJpdCBzbG93ZXIKCSAgcm9sbG9mZi4KCjIwMDctMDgtMTAgMDQ6MjE6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgYSBoaWdocGFzcyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgYSBoaWdocGFzcyBtb2RlLgoKMjAwNy0wOC0xMCAwNDowNjo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoKMjAwNy0wOC0wOSAxOToyMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBBZGQgVE9ET3MgYW5kIEZJWE1FcyBhbmQgcmVtb3ZlIHR3byB3cm9uZyBGSVhNRXMuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBGSVhNRXMgYW5kIGEgbmV3IFRPRE8uCgoyMDA3LTA4LTA5IDE4OjA4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyIGlzIGEgQysrIGtleXdvcmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksCgkgIChwcm9jZXNzXzY0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0dXApLAoJICAobHB3c2luY19nZXRfdW5pdF9zaXplKSwgKGxwd3NpbmNfdHJhbnNmb3JtKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyCgkgIGlzIGEgQysrIGtleXdvcmQuCgkgIEltcGxlbWVudCB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IGluIEh6IGluc3RlYWQgb2YgZnJhY3Rpb24KCSAgb2Ygc2FtcGxpbmcgZnJlcXVlbmN5LgoJICBSZW1vdmUgc29tZSB1bmVjZXNzYXJ5IEZJWE1FcyBhbmQgYWRkIHNvbWUgVE9ET3MsIGFkZCBzb21lCgkgIHJlcXVpcmVkIGxvY2tpbmcgYW5kIHJlZmFjdG9yIHRoZSBrZXJuZWwgZ2VuZXJhdGlvbiBpbnRvIGEKCSAgc2VwYXJhdGUgZnVuY3Rpb24gdGhhdCBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0aWVzCgkgIGNoYW5nZSBub3cuCgkgIEFuZCB1c2UgQmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwCgkgIGFzIHRoZSBjb252b2x1dGlvbiBpcyBkb25lIG91dCBvZiBwbGFjZSBhbnl3YXkuIFNob3VsZAoJICBiZSBkb25lIGluIHBsYWNlIGxhdGVyLgoKMjAwNy0wOC0wOSAxNzozOTo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCB0aGUgc3RlcmVvIGVsZW1lbnQgdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpLCAoZ3N0X3N0ZXJlb19pbml0KSwKCSAgKGdzdF9zdGVyZW9fdHJhbnNmb3JtX2lwKSwgKGdzdF9zdGVyZW9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdGVyZW9fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICBQb3J0IHRoZSBzdGVyZW8gZWxlbWVudCB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDctMDgtMDkgMTE6MDE6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBQb3J0dWd1ZXNlIChCcmF6aWxpYW4pIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3VibWl0dGVkIGJ5OiBSYXBoYWVsIEhpZ2lubyA8cGhoaWdpbm9AZ21haWwuY29tPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vcHRfQlIucG86CgkgIEFkZGVkIFBvcnR1Z3Vlc2UgKEJyYXppbGlhbikgdHJhbnNsYXRpb24uCgoyMDA3LTA4LTA5IDExOjAwOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDgtMDggMjA6NDc6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5IG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5CgkgIG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoKMjAwNy0wOC0wOCAxNToxNTo1NiArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIEFkZCBjb25uZWN0aW9uIHNwZWVkIHByb3BlcnR5IHRvIGxpYm1tcy4gRml4ZXMgIzQ2NDY3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19pbml0KSwKCSAgKGdzdF9tbXNfc3RhcnQpLCAoZ3N0X21tc19zZXRfcHJvcGVydHkpLCAoZ3N0X21tc19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZCBjb25uZWN0aW9uIHNwZWVkIHByb3BlcnR5IHRvIGxpYm1tcy4gRml4ZXMgIzQ2NDY3OC4KCjIwMDctMDgtMDcgMTU6MjE6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYWN0aXZhdGVfcHVzaCksIChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJzLgoKMjAwNy0wOC0wNyAxMDo1MTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKG9wZW5fbGlicmFyeSk6CgkgIFJlbW92ZSBmcmFnbWVudCBhbmQgdGltZXN0YW1wIGNvcnJlY3Rpb24gY29kZSBmcm9tIHRoZSBkZWNvZGVyIHRvIG1ha2UKCSAgdGhlIGNhcHMgYW5kIGJ1ZmZlciBjb250ZW50cyBjb21wYXRpYmxlIHdpdGggbWF0cm9za2EvZmZkZWNfcnZ4MC8uLi4KCjIwMDctMDctMzAgMTI6NDM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5za2lwOiBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlCgkgIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFibGUgc3RyaW5ncy4gU2hvdWxkIGhvcGVmdWxseSBwYWNpZnkKCSAgYnJva2VuIHRvb2xzIGFuZCBtYWtlIGl0IGNsZWFyZXIgdGhhdCB0aGVzZSBmaWxlcyBhcmUgbGVmdCBvdXQKCSAgaW50ZW50aW9uYWxseSAoIzQ2MTYwMSBhbmQgb3RoZXJzKS4KCjIwMDctMDctMzAgMDk6NTI6MzYgKzAwMDAgIElhbiBNdW5ybyA8aW11bnJvQG5ldHNwYWNlLm5ldC5hdT4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogSW5jbHVkZSBvdXIgb3duICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPiAod2hpY2ggbWF5IG5vdCBiZSBhdmFpbGFibGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IElhbiBNdW5ybyAgPGltdW5ybyBhdCBuZXRzcGFjZSBuZXQgYXU+CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBJbmNsdWRlIG91ciBvd24gIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+ICh3aGljaCBtYXkgbm90CgkgIGJlIGF2YWlsYWJsZSkuCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIE5hdGl2ZSBIUC1VWCBjb21waWxlciBkb3NuJ3Qgc2VlbSB0byBsaWtlIGVudW0gdHlwZWRlZnMgYmVmb3JlIHRoZQoJICBhY3R1YWwgZW51bSB3YXMgZGVmaW5lZC4KCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIEZpeCB3cm9uZyB1c2FnZSBvZiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNybyAoIzQ2MTM3MykuCgoyMDA3LTA3LTI2IDE2OjE2OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IFVzZSB0aGUgcHJvcGVyIGNvbnRleHQgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZSBwYXNzd29yZCAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBVc2UgdGhlIHByb3BlciBjb250ZXh0IHZhcmlhYmxlIHdoZW4gc2V0dGluZyB0aGUgcGFzc3dvcmQgIQoJICBMT0cgPT4gV0FSTklORyBmb3IgZXJyb3JzLgoJICBHaXZlIHByb3BlciBwYXRoIHdoZW4gb3BlbmluZyB0aGUgY29kZWMgKG5lZWRzIGEgJy8nIGF0IHRoZSBlbmQpLgoKMjAwNy0wNy0yNSAxODoxMDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL01ha2VmaWxlLmFtOiBBbmQgZGlzdCB0aGUgbmV3IGhlYWRlciBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgIEFuZCBkaXN0IHRoZSBuZXcgaGVhZGVyIGZpbGUgdG9vLgoKMjAwNy0wNy0yNSAxNDozNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL2dzdHJlYWwuaDogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUuCgoyMDA3LTA3LTI1IDEzOjI5OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdCByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0CgkgIHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgoyMDA3LTA3LTI1IDA1OjU1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuKjogRG9uJ3QgaW5pdGlhbGl6ZSB0aW1pZGl0eSBpbiBwbHVnaW5faW5pdCBmb3Igc2ltaWxhciByZWFzb24gYXMgYmVsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkgIERvbid0IGluaXRpYWxpemUgdGltaWRpdHkgaW4gcGx1Z2luX2luaXQgZm9yIHNpbWlsYXIgcmVhc29uIGFzIGJlbG93LgoKMjAwNy0wNy0yNCAxNToxMzo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6IERvbid0IGluaXRpYWxpemUgd2lsZG1pZGkgaW4gcGx1Z2luX2luaXQgYXMgaXQgYWxzbyBzZXR1cHMgYXVkaW8gZmlsdGVycyB3aGljaCBpcyBzbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKSwKCSAgKGdzdF93aWxkbWlkaV9pbml0KSwgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBEb24ndCBpbml0aWFsaXplIHdpbGRtaWRpIGluIHBsdWdpbl9pbml0IGFzIGl0IGFsc28gc2V0dXBzIGF1ZGlvCgkgIGZpbHRlcnMgd2hpY2ggaXMgc2xvdy4KCjIwMDctMDctMjQgMTQ6MzY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC86IEltcHJvdmVkIHNlYXJjaCBhbGdvcml0aG0gZm9yIGxvY2F0aW9uIG9mIHJlYWwgLnNvIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxiaWxib2VkQGJpbGJvZWQuY29tPgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBJbXByb3ZlZCBzZWFyY2ggYWxnb3JpdGhtIGZvciBsb2NhdGlvbiBvZiByZWFsIC5zbyBmaWxlcy4KCSAgRml4ZXMgIzM5MzQ2MQoKMjAwNy0wNy0yNCAwNToxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kCgkgIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgoyMDA3LTA3LTIzIDA5OjEzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoKMjAwNy0wNy0yMCAxMTozNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20gaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tCgkgIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3b3JrIHRoZSBnYWluIG1hcHBpbmcuCgoyMDA3LTA3LTIwIDExOjAzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZGlyYWMvTWFrZWZpbGUuYW06IEFsc28gaW5jbHVkZSBzdGRsaWIgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICBBbHNvIGluY2x1ZGUgc3RkbGliIGhlcmUuCgoyMDA3LTA3LTE5IDE1OjI5OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEZpeCB0aGUgYnVpbGRib3Qgd2l0aCB0aGUgY3ZzaWdub3JlIGl0IHdhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggdGhlIGJ1aWxkYm90IHdpdGggdGhlIGN2c2lnbm9yZSBpdCB3YW50cy4KCjIwMDctMDctMTkgMTU6MDU6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2Vla190b19wcmV2X2tleWZyYW1lKSwgKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9CRVVJMjQpLCAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9kZW11eF9xdWVyeV90eXBlcyksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIEl0IGRvZXMgbm90IGRvIHNlZWtpbmcgeWV0LCBpdCBzdXBwb3J0cyBwdWxsIGFuZCBwdXNoIG1vZGUgc28KCSAgWUVTCgkgIHlvdSBjYW4gdXNlIGl0IHRvIHBsYXkgeW91dHViZSB2aWRlb3MgZGlyZWN0bHkgZnJvbSBhbiBIVFRQIHVyaS4KCSAgTm90IHNvIG11Y2ggdGVzdGluZyBkb25lIHlldCBidXQgaXQgcGFyc2VzIG1ldGFkYXRhLCByZXBseSB0bwoJICBkdXJhdGlvbiBxdWVyaWVzLCBldGMuLi4KCjIwMDctMDctMTkgMDk6MDg6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jIChHU1RfU1RBUlRfVEVTVCwgdGltaWRpdHlfc3VpdGUsIG1haW4pOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jIChHU1RfU1RBUlRfVEVTVCwgdGltaWRpdHlfc3VpdGUsCgkgIG1haW4pOgoJICBBZGQgdHlwZWZpbmQgdGVzdCBmb3IgbWlkaS4KCjIwMDctMDctMTggMjA6NTY6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBJZiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQsIGRvbid0IHRyeSB0byBwdXNoIGJ1ZmZlcnMgb3V0IGluIHJlc3BvbnNlICh3aXRob3V0IGZpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgSWYgd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50LCBkb24ndCB0cnkgdG8gcHVzaCBidWZmZXJzIG91dAoJICBpbiByZXNwb25zZSAod2l0aG91dCBmaXJzdCBzZW5kaW5nIGl0IG9uISkuCgkgIEluc3RlYWQsIGZsdXNoIGludGVybmFsIGJ1ZmZlcnMgb24gcmVjZWl2aW5nIGZsdXNoIGV2ZW50cy4KCSAgRml4ZXMgcGxheWJhY2sgYWZ0ZXIgc2Vla2luZy4KCjIwMDctMDctMTggMDg6MDA6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogQWRkIGJhc2ljIGRvY3MuIFVzZSBnbGlicyBtZW0gcm91dGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogKGdzdF9iYXllcjJyZ2Jfc2V0X2NhcHMpLAoJICAoZ3N0X2JheWVyMnJnYl9yZXNldCk6CgkgIEFkZCBiYXNpYyBkb2NzLiBVc2UgZ2xpYnMgbWVtIHJvdXRpbmVzLgoKMjAwNy0wNy0xOCAwNzo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgoyMDA3LTA3LTE4IDA3OjQyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA3LTE2IDA5OjE5OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoY2xpcF9vdXRnb2luZ19idWZmZXIpOgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgoyMDA3LTA3LTE0IDE4OjQ4OjI1ICswMDAwICBIYW5zIGRlIEdvZWRlIDxqLncuci5kZWdvZWRlQGhocy5ubD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IGFkZCBzZXZlcmFsIG1pc3Npbmcgc3VwcG9ydGVkIG1pbWUtdHlwZXMgdG8gdGhlIG1vZHBsdWcgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhhbnMgZGUgR29lZGUgPGoudy5yLmRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBhZGQgc2V2ZXJhbCBtaXNzaW5nIHN1cHBvcnRlZCBtaW1lLXR5cGVzIHRvIHRoZSBtb2RwbHVnIHBsdWdpbi4KCSAgRml4ZXMgIzQ1NjkwMS4KCjIwMDctMDctMTMgMTY6NDY6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yCgkgIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kIHdlCgkgIHdlcmVuJ3QgYWN0dWFsbHkgX3VzaW5nXyB0aGUgaW5mb3JtYXRpb24gZm9yIGxpYmNoZWNrIG91cnNlbHZlcwoJICBhbnl3YXkuCgoyMDA3LTA3LTEyIDExOjU1OjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgoyMDA3LTA3LTExIDIzOjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6ICh2bW5jX21ha2VfYnVmZmVyKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTA5IDA2OjA1OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSRVFVSVJFTUVOVFM6IFN5bmMgd2l0aCBjaGFuZ2VzIGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgIFN5bmMgd2l0aCBjaGFuZ2VzIGluIC11Z2x5LgoKMjAwNy0wNy0wOCAxOTowNjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJFUVVJUkVNRU5UUzogQWRkIGRvd25sb2FkIGxvY2F0aW9uIG9mIGxpYmFtcndiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgIEFkZCBkb3dubG9hZCBsb2NhdGlvbiBvZiBsaWJhbXJ3Yi4KCjIwMDctMDctMDYgMjE6MDc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBtaXNzaW5nIGluc3BlY3QgZmlsZXMuIEZpeGVzIGJ1aWxkICgjNDU0MzEzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgIEFkZCBtaXNzaW5nIGluc3BlY3QgZmlsZXMuIEZpeGVzIGJ1aWxkICgjNDU0MzEzKS4KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKToKCSAgU2NyZWFtIGEgYml0IGxvdWRlciB3aGVuIGluaXRpYWxpc2F0aW9uIGZhaWxzLgoJICAqIGdzdC1saWJzL1JFQURNRToKCSAgKiBnc3QtbGlicy9leHQvLmN2c2lnbm9yZToKCSAgUmVtb3ZlIHNvbWUgY3J1ZnQuCgoyMDA3LTA3LTA1IDIyOjI4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06IERpc3QgaGVhZGVyIGZpbGVzLiBGaXhlcyAjNDU0MDc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgRGlzdCBoZWFkZXIgZmlsZXMuIEZpeGVzICM0NTQwNzguCgoyMDA3LTA3LTA1IDA4OjQ1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgIEZpeCBjb21tZW50IHN0YXJ0LgoKMjAwNy0wNy0wNCAxMTo1Njo1NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMgKGR2YnNyY19kZXRhaWxzLCBBUkdfRFZCU1JDX0FEQVBURVIsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmMgKGR2YnNyY19kZXRhaWxzLCBBUkdfRFZCU1JDX0FEQVBURVIsCgkgIEFSR19EVkJTUkNfRlJPTlRFTkQsIEFSR19EVkJTUkNfRElTRVFDX1NSQywgQVJHX0RWQlNSQ19GUkVRVUVOQ1ksCgkgIEFSR19EVkJTUkNfUE9MQVJJVFksIGdzdF9kdmJzcmNfY2xhc3NfaW5pdCwgZ3N0X2R2YnNyY19pbml0LAoJICBnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSwgZ3N0X2R2YnNyY19nZXRfcHJvcGVydHksCgkgIGdzdF9kdmJzcmNfb3Blbl9mcm9udGVuZCwgZ3N0X2R2YnNyY19vcGVuX2R2ciwgcmVhZF9kZXZpY2UsCgkgIGdzdF9kdmJzcmNfY3JlYXRlLCBnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVycyk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaCAoYWRhcHRlcl9udW1iZXIsIGZyb250ZW5kX251bWJlcik6CgkgIFJlbW92ZWQgcHJvcGVydHkgImRldmljZSIuIEFkZGVkIHByb3BlcnRpZXMgImFkYXB0ZXIiIGFuZCAiZnJvbnRlbmQiLgoJICBGaXhlcyAjNDUzNjM2LgoJICBSZW5hbWUgZnJlcSBwcm9wZXJ0eSB0byBmcmVxdWVuY3kuCgoyMDA3LTA3LTAzIDE3OjA5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgRml4IHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMDctMDctMDMgMDk6MTg6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFsc28gZG9jdW1lbnQgQU1SLVdCIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIEFsc28gZG9jdW1lbnQgQU1SLVdCIGVsZW1lbnRzLgoKMjAwNy0wNy0wMyAwODoxNjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQ2xlYW51cCB0aGUgc2VjdGlvbiBmaWxlIHNvIHRoYXQgLXVudXNlZCBpcyBlbXB0eSBhZ2FpbiAoYW5kIHVzZWZ1bCB0byBzcG90IG5ldyBkb2NzKS4gQWRkIG5vdCB5ZXQgYWRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIENsZWFudXAgdGhlIHNlY3Rpb24gZmlsZSBzbyB0aGF0IC11bnVzZWQgaXMgZW1wdHkgYWdhaW4gKGFuZCB1c2VmdWwgdG8KCSAgc3BvdCBuZXcgZG9jcykuIEFkZCBub3QgeWV0IGFkZGVkIGRvY3MgdG8gc2dtbCBmaWxlLiBBZGQgbW9yZSBoZWFkZXIKCSAgdG8gTWFrZWZpbGUuYW0gdG8gbWFrZSB0aGVtIGludHJvc3BlY3RhYmxlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBVcGRhdGUgdGhlIGRvYyBibG9icy4KCjIwMDctMDctMDMgMDg6MDE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvOiBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDctMDctMDMgMDc6NTI6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEFjdGl2YXRlIGRvYyBzZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBBY3RpdmF0ZSBkb2Mgc2VjdGlvbi4KCjIwMDctMDctMDMgMDc6NDE6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS86IEZpeCBsaWNlbmNlIChib3RoIGFyZSBHUEwpLiBBZGQgZWxlbWVudCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgRml4IGxpY2VuY2UgKGJvdGggYXJlIEdQTCkuIEFkZCBlbGVtZW50IGRvY3MuCgoyMDA3LTA3LTAzIDA3OjMwOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6IEZpeCBfZ2V0X3R5cGUgc2lnbmF0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIEZpeCBfZ2V0X3R5cGUgc2lnbmF0dXJlLgoKMjAwNy0wNy0wMyAwNzoxNjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA3LTA2LTI5IDE1OjIzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IE1ha2UgYSBidW5jaCBvZiBmdW5jdGlvbnMgc3RhdGljLCBhbmQgbW92ZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIHN0YXJ0IG9mIGJsb2NrcyB0byBhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zcmNfZml4YXRlKSwKCSAgKGdzdF9kYzEzOTRfY3JlYXRlKSwgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZm9ybWF0X3Ztb2RlX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemVfcmFuZ2UpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mcmFtZXJhdGVfbGlzdCksIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9mcmFjX3RvX2NvbnN0KSwKCSAgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpOgoJICBNYWtlIGEgYnVuY2ggb2YgZnVuY3Rpb25zIHN0YXRpYywgYW5kIG1vdmUgdmFyaWFibGUgZGVjbGFyYXRpb25zCgkgIHRvIHRoZSBzdGFydCBvZiBibG9ja3MgdG8gYXZvaWQgcHJvYmxlbXMgb24gb2xkZXIgZ2NjLgoJICBNYWtlIHN1cmUgdG8gdW5zZXQgdmFsdWUgdHlwZXMuCgoyMDA3LTA2LTI5IDE0OjQ4OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IFRoZSBjb3JyZWN0IGZvdXJjYyBmb3IgdGhlIDQ6MToxIHBhY2tlZCBmb3JtYXQgaXMgJ0lZVTEnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvcik6CgkgIFRoZSBjb3JyZWN0IGZvdXJjYyBmb3IgdGhlIDQ6MToxIHBhY2tlZCBmb3JtYXQgaXMgJ0lZVTEnLgoJICBXaXRoIENWUyBvZiBmZm1wZWdjb2xvcnNwYWNlIGZyb20gcGx1Z2lucy1iYXNlLCBJIGNhbiBub3cKCSAgZ2V0IDMwIGZwcyBmcm9tIHRoZSBpU2lnaHQuCgoyMDA3LTA2LTI5IDE0OjExOjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IENoYW5nZSBhIGdfcHJpbnQgdG8gYSBHU1RfREVCVUcgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpOgoJICBDaGFuZ2UgYSBnX3ByaW50IHRvIGEgR1NUX0RFQlVHIG1lc3NhZ2UuCgoyMDA3LTA2LTI5IDEzOjA5OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgT29wcywgYWRkIGFuIGF0dHJpYnV0aW9uIGZvciBBbnRvaW5lIFRyZW1ibGF5IHRvbyAtIHRoZSBvcmlnaW5hbCBwYXRjaCBhdXRob3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPb3BzLCBhZGQgYW4gYXR0cmlidXRpb24gZm9yIEFudG9pbmUgVHJlbWJsYXkgdG9vIC0gdGhlIG9yaWdpbmFsIHBhdGNoIGF1dGhvci4KCjIwMDctMDYtMjkgMTM6MDM6MjcgKzAwMDAgIEVyaWMgSm9uYXMgPGpvbmFzQG1pdC5lZHU+CgoJICBDb21taXQgbmV3IGRjMTM5NHNyYyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfYmFzZV9pbml0KSwKCSAgKGdzdF9kYzEzOTRfY2xhc3NfaW5pdCksIChnc3RfZGMxMzk0X2luaXQpLAoJICAoZ3N0X2RjMTM5NF9zcmNfZml4YXRlKSwgKGdzdF9kYzEzOTRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kYzEzOTRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9kYzEzOTRfZ2V0Y2FwcyksCgkgIChnc3RfZGMxMzk0X3NldGNhcHMpLCAoZ3N0X2RjMTM5NF9nZXRfdGltZXMpLCAoZ3N0X2RjMTM5NF9jcmVhdGUpLAoJICAoZ3N0X2RjMTM5NF9wYXJzZV9jYXBzKSwgKGdzdF9kYzEzOTRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZm9ybWF0X3Ztb2RlX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvciksIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZSksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZV9yYW5nZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2ZyYW1lcmF0ZV9saXN0KSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2NvbnN0X3RvX2ZyYWMpLAoJICAoZ3N0X2RjMTM5NF9nZXRfYWxsX2RjMTM5NF9jYXBzKSwgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2ZyYWNfdG9fY29uc3QpLAoJICAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2FwcyksCgkgIChnc3RfZGMxMzk0X2NoYW5nZV9jYW1lcmFfdHJhbnNtaXNzaW9uKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBDb21taXQgbmV3IGRjMTM5NHNyYyBlbGVtZW50LgoJICBQYXRjaCBCeTogRXJpYyBKb25hcyA8IGpvbmFzIGF0IG1pdCBkb3QgZWR1ID4KCSAgQ2xvc2U6ICMzODcyNTEKCjIwMDctMDYtMjggMTA6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogUmVnaXN0ZXIgbmV3IHByb3BlcnR5IGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgUmVnaXN0ZXIgbmV3IHByb3BlcnR5IGFzIHdlbGwuCgoyMDA3LTA2LTI4IDA5OjM2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lio6IEFkZCBwcm9wZXJ0eSB0byBhZGp1c3QgdGhlIGNlbnRlciwgc2Vuc2l0aXZpdHkgaXMgbm93IHRoZSBkaXN0YW5jZSBmcm9tIHRoaXMgY2VudGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGFkanVzdCB0aGUgY2VudGVyLCBzZW5zaXRpdml0eSBpcyBub3cgdGhlIGRpc3RhbmNlIGZyb20KCSAgdGhpcyBjZW50ZXIuCgoyMDA3LTA2LTI3IDE1OjMzOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsLzogQWRkIGxlZnQgYW5kIGJvdHRvbSBvZmZzZXQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBwb3NpdGlvbiBvZiB0aGUgcGF0dGVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzogKGdzdF92aWRlb19tYXJrX2RyYXdfYm94KSwKCSAgKGdzdF92aWRlb19tYXJrXzQyMCksIChnc3RfdmlkZW9fbWFya19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19tYXJrX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgQWRkIGxlZnQgYW5kIGJvdHRvbSBvZmZzZXQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBwb3NpdGlvbiBvZiB0aGUKCSAgcGF0dGVybi4KCjIwMDctMDYtMjUgMTI6NDc6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoKMjAwNy0wNi0yNSAxMTowMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdjb25mLzogUmVtb3ZlIGR5c2Z1bmN0aW9uYWwgZGlyZWN0b3J5ICh0aGlzIHN0dWZmIGlzIGluIC1nb29kKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ2NvbmYvLmN2c2lnbm9yZToKCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSAgUmVtb3ZlIGR5c2Z1bmN0aW9uYWwgZGlyZWN0b3J5ICh0aGlzIHN0dWZmIGlzIGluIC1nb29kKS4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBpMThuIGJpbmR0ZXh0ZG9tYWluIHN0dWZmLgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jbGFzc19pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nIEdTVF9GTE9XX0VSUk9SOyBtaW5vciBjbGVhbnVwcy4KCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIG1vcmUgc291cmNlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKGZpeGVzICM0NTA2MDUpLgoKMjAwNy0wNi0yMyAxMToyNDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29udHJpYnV0ZWQgYnk6IFdlbnpoZW5nIEh1IDxkYl9sb2JzdGVyQDE2My5jb20+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby96aF9DTi5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNi0yMiAxNTozMDowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0Xy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsCgkgIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZCwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2J1ZmZlcmFsbG9jLCBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3dpdGNoX211dGV4LCBHU1RfU1dJVENIX0xPQ0ssCgkgIEdTVF9TV0lUQ0hfVU5MT0NLKToKCSAgQWRkIGFuIGV4dHJhIGxvY2sgdG8gcHJvdGVjdCBhZ2FpbnN0IGNlcnRhaW4gdmFyaWFibGVzIGluc3RlYWQgb2YKCSAgdXNpbmcgdGhlIG9iamVjdCBsb2NrLiBGaXggY2FzZSB3aGVyZSBjYXBzIGFyZSBkaWZmZXJlbnQgaW4gdGhlCgkgIHNpbmsgcGFkcyBjYXVzZXMgZGVhZGxvY2suIFVwZGF0ZSBleGFtcGxlIHRvIHVzZSBkaWZmZXJlbnQgY2FwcwoJICBvbiBlYWNoIHNpbmsgcGFkLgoKMjAwNy0wNi0yMiAxNDoyNzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNQUlOVEFJTkVSUzogVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoKMjAwNy0wNi0yMiAxMDo0NjozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAoZ3N0X2J6MmRlY19pbml0KToKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiAoZ3N0X2J6MmVuY19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6IChnc3RfZGl2eGVuY19pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19pbml0KToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KToKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2luaXQpOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfaW5pdCk6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKGdzdF9mcmVlemVfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzogKGdzdF9zeXN0ZW1fZW5jb2RlX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzogKGdzdF9uc2ZkZWNfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19pbml0KToKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19pbml0KToKCSAgRml4IGxlYWtzLgoKMjAwNy0wNi0yMSAxODo0MToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlLWVuYWJsZSBWQ0Qgc291cmNlIGFuZCBmaXggdXAgcmVsZWFzZSBub3Rlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVMRUFTRToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIFJlLWVuYWJsZSBWQ0Qgc291cmNlIGFuZCBmaXggdXAgcmVsZWFzZSBub3Rlcy4KCjIwMDctMDYtMjAgMTA6MTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCjIwMDctMDYtMjAgMDg6NTY6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbGVha2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoc2V0dXBfc3BlY3RydW0pLAoJICAoY2xlYW51cF9zcGVjdHJ1bSksIChHU1RfU1RBUlRfVEVTVCksIChzcGVjdHJ1bV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwNy0wNi0yMCAwODo0MjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiLzogQWRkIG5ld3NlZ21lbnQgYW5kIGRpc2NvbnQgaGFuZGxpbmcuIFNvbWUgY29kZSBjbGVhbnVwcy4gRG9uJ3QgbGVhayB0aGUgYWRhcHRlciwgdW5yZWYgaXQgaW4gYSBuZXcgZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JkZWNfZmluYWxpemUpLAoJICAoZ3N0X2FtcndiZGVjX2V2ZW50KSwgKGdzdF9hbXJ3YmRlY19jaGFpbiksCgkgIChnc3RfYW1yd2JkZWNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3B1bGxfaGVhZGVyKSwgKGdzdF9hbXJ3YnBhcnNlX2xvb3ApOgoJICBBZGQgbmV3c2VnbWVudCBhbmQgZGlzY29udCBoYW5kbGluZy4gU29tZSBjb2RlIGNsZWFudXBzLiBEb24ndCBsZWFrCgkgIHRoZSBhZGFwdGVyLCB1bnJlZiBpdCBpbiBhIG5ldyBmaW5hbGl6ZSBtZXRob2QgaW5zdGVhZC4gU3luYyB0aGUKCSAgcGFyc2VyIHdpdGggdGhlIGFtci1uYiBjaGFuZ2VzLgoKMjAwNy0wNi0xOSAxMDo0NToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTLgoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC41IHRvIHRoZSBkb2FwIGZpbGUuCgo9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgoyMDA3LTA2LTE5IDEwOjMyOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC41CgoyMDA3LTA2LTE5IDA5OjM3OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDctMDYtMTUgMDk6Mjc6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogQ29udmVydCBsaW5lIGVuZGluZ3MgdG8gQ1JMRiBhbmQgbWFyayBhcyBiaW5hcnkgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bmVvbi5kc3A6CgkgIENvbnZlcnQgbGluZSBlbmRpbmdzIHRvIENSTEYgYW5kIG1hcmsgYXMgYmluYXJ5IGZpbGVzLgoKMjAwNy0wNi0xMyAxMTo0ODowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9NYWtlZmlsZS5hbTogRGlzYWJsZSBWQ0QgYnVpbGQgYmVjYXVzZSB3ZSdyZSBmcm96ZW4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIERpc2FibGUgVkNEIGJ1aWxkIGJlY2F1c2Ugd2UncmUgZnJvemVuLi4KCjIwMDctMDYtMTMgMTE6Mzc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBQb3J0IFZDRCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfdmNkc3JjX2Jhc2VfaW5pdCksIChnc3RfdmNkc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3ZjZHNyY19pbml0KSwKCSAgKGdzdF92Y2RzcmNfbXNmKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpLAoJICAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZjZHNyY19jcmVhdGUpLCAoZ3N0X3ZjZHNyY19zdGFydCksIChnc3RfdmNkc3JjX3N0b3ApLAoJICAoZ3N0X3ZjZHNyY191cmlfc2V0X3VyaSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgUG9ydCBWQ0QgZWxlbWVudC4KCjIwMDctMDYtMTIgMjE6Mjg6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbWVndmlkZW9wYXJzZSwgbGliZHNob3cgYW5kIGRzaG93c3Jjd3JhcHBlciB0byB3aW4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIG1lZ3ZpZGVvcGFyc2UsIGxpYmRzaG93IGFuZCBkc2hvd3NyY3dyYXBwZXIgdG8gd2luMzIKCSAgTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFJlbW92ZSBxdGRlbXV4LCBkaXJlY3RkcmF3LCBkaXJlY3Rzb3VuZCBhbmQgd2F2ZWZvcm0gcHJvamVjdCBmaWxlcwoJICBmcm9tIHRoZSB3b3Jrc3BhY2UgYXMgdGhleSBoYXZlIGJlZW4gbW92ZWQgdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDIwOjIyOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvL1BPVEZJTEVTLmluOiBSZW1vdmUgcXRkZW11eCBmcm9tIHRoZSB0cmFuc2xhdGlvbiBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgUmVtb3ZlIHF0ZGVtdXggZnJvbSB0aGUgdHJhbnNsYXRpb24gbGlzdC4KCjIwMDctMDYtMTIgMjA6MTU6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICAqIGdzdC92aWRlb2Nyb3AvdmlkZW9jcm9wLnZjcHJvajoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAxOTozNjoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHF0ZGVtdXggdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXgudmNwcm9qOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIE1vdmUgcXRkZW11eCB0byAtZ29vZC4KCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byByZWZsZWN0IHdhdnBhY2sgJiBxdGRlbXV4IG1vdmluZyB0byAtZ29vZC4KCjIwMDctMDYtMTIgMTg6NTM6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gbm93IHRoYXQgaXQgaXMgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIFJlbW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIG5vdyB0aGF0IGl0IGlzIGluIC1nb29kLgoKMjAwNy0wNi0wOCAyMDoyMDozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIHdhdnBhY2sgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIE1vdmUgd2F2cGFjayB0byBnb29kLgoKMjAwNy0wNi0wOCAxNzozNjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMsIGFzIHRoZXkndmUgbW92ZWQgdG8gR29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi9nc3Quc2xuOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBSZW1vdmUgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMsIGFzIHRoZXkndmUgbW92ZWQgdG8gR29vZAoKMjAwNy0wNi0wOCAxNjo0OTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFdoZW4gZHJpdmluZyB0aGUgcGlwZWxpbmUsIGFsc28gcG9zdCBhbiBlcnJvciB3aGVuIHdlIGdldCBhIG5vdC1saW5rZWQgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9sb29wKToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9sb29wKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2xvb3ApOgoJICBXaGVuIGRyaXZpbmcgdGhlIHBpcGVsaW5lLCBhbHNvIHBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBnZXQgYQoJICBub3QtbGlua2VkIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbS4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDYtMDggMDg6MTI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZSBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZQoJICBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciBkb24ndCBoYW5kbGUgdGhlIHdheSB3ZSB1c2UgaXQgaW4KCSAgdGhlIHdheSB3ZSBleHBlY3QgaXQgdG8uCgoyMDA3LTA2LTA2IDE4OjMwOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZSwgYW5kIHJlbW92ZSBzcGVjaWFsLWNhc2luZyBmb3IgZXF1YWxpemVyIGFuZCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UsIGFuZCByZW1vdmUKCSAgc3BlY2lhbC1jYXNpbmcgZm9yIGVxdWFsaXplciBhbmQgcnRwbWFuYWdlciBhcyBpdCdzIG5vdCBuZWVkZWQgYW55CgkgIGxvbmdlci4KCjIwMDctMDYtMDYgMTU6NTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3Npbmtfc3RvcCksCgkgIChnc3RfZ2xpbWFnZV9zaW5rX2NyZWF0ZV93aW5kb3cpLCAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuCgkgIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpbmdsZSBnbGltYWdlc2luay4KCjIwMDctMDYtMDYgMTE6MDM6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlLzogRml4IHNvbWUgc2lsbHkgYnVncyB3aXRoIGNhbGN1bGF0aW5nIHRoZSBndWFyZCBzaXplcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIChtcGVnX3V0aWxfcGFyc2VfZXh0ZW5zaW9uX3BhY2tldCksIChtcGVnX3V0aWxfcGFyc2Vfc2VxdWVuY2VfaGRyKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9waWN0dXJlX2hkcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpOgoJICBGaXggc29tZSBzaWxseSBidWdzIHdpdGggY2FsY3VsYXRpbmcgdGhlIGd1YXJkIHNpemVzLgoJICBQcm9wZXJseSBjb21wYXJlIHRoZSBvbGQgc2VxdWVuY2UgaGVhZGVyIHN0cnVjdHVyZSB3aXRoIHRoZSBuZXcgb25lLgoJICBEb24ndCBlcnJvciBvdXQgb24gYW4gaW52YWxpZCBzZXF1ZW5jZSAtIGp1c3QgaWdub3JlIGl0LgoKMjAwNy0wNi0wNiAwOToxMTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBQcmludGYgZml4IGluIGRlYnVnIHN0YXRlbWVudDsgYWxzbyBwcmludCB0aGUgcmlnaHQgbnVtYmVyIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpOgoJICBQcmludGYgZml4IGluIGRlYnVnIHN0YXRlbWVudDsgYWxzbyBwcmludCB0aGUgcmlnaHQgbnVtYmVyIHRoZXJlLgoKMjAwNy0wNi0wNiAwODowNjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvOiBBZGQgR1NUX0NGTEFHUywgd2hpY2ggYXBwYXJlbnRseSBzb21laG93IGZpeGVzIHRoZSBidWlsZCBzb21ld2hlcmUgKCM0NDQ0OTkpOyBpbml0aWFsaXNlIHZhcmlhYmxlIHRvIGF2b2lkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2Rsdl9wcm9jZXNzX2V2ZW50cyk6CgkgIEFkZCBHU1RfQ0ZMQUdTLCB3aGljaCBhcHBhcmVudGx5IHNvbWVob3cgZml4ZXMgdGhlIGJ1aWxkIHNvbWV3aGVyZQoJICAoIzQ0NDQ5OSk7IGluaXRpYWxpc2UgdmFyaWFibGUgdG8gYXZvaWQgZmFsc2UgY29tcGlsZXIgd2FybmluZy4KCjIwMDctMDYtMDUgMTQ6MTc6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggdXAgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgc3BlYyBmaWxlCgoyMDA3LTA2LTAxIDE0OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIHBsdWdpbiB0byBnZW5lcmF0ZSBhIHBhdHRlcm4gZGV0ZWN0YWJsZSBieSB2aWRlb2RldGVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6IChnc3RfdmlkZW9fbWFya19zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fbWFya19kcmF3X2JveCksIChnc3RfdmlkZW9fbWFya180MjApLAoJICAoZ3N0X3ZpZGVvX21hcmtfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19tYXJrX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX21hcmtfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19tYXJrX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX21hcmtfaW5pdCksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgcGx1Z2luIHRvIGdlbmVyYXRlIGEgcGF0dGVybiBkZXRlY3RhYmxlIGJ5IHZpZGVvZGV0ZWN0LgoKMjAwNy0wNi0wMSAxMTo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IERvbid0IGxlYWsgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpOgoJICBEb24ndCBsZWFrIGJ1ZmZlciB3aGVuIHJldHVybmluZyBhbiBlcnJvci4KCjIwMDctMDYtMDEgMDk6NTg6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBEZXByZWNhdGVkICJ1cmkiIHByb3BlcnR5LiAgQ2xlYW4gdXAgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+OgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBEZXByZWNhdGVkICJ1cmkiIHByb3BlcnR5LiAgQ2xlYW4gdXAgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBDaGFuZ2UgZGVmYXVsdCBVc2VyLUFnZW50IHRvIHRoZSBzbGlnaHRseSBtb3JlIGRlc2NyaXB0aXZlCgkgICJHU3RyZWFtZXIgbmVvbmh0dHBzcmMiLgoJICBWYXJpb3VzIG90aGVyIHNtYWxsIGNsZWFudXBzLCBtb3N0bHkgcHJvcGVydHkgcmVsYXRlZC4KCjIwMDctMDUtMzEgMTk6MTI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5oOiBObyByZWFzb24gdG8gdXNlIGdwb2ludGVycyBpbnN0ZWFkIG9mIHR5cGVkIHBvaW50ZXMgaGVyZSBhcyBmYXIgYXMgSSBjYW4gc2VlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBObyByZWFzb24gdG8gdXNlIGdwb2ludGVycyBpbnN0ZWFkIG9mIHR5cGVkIHBvaW50ZXMgaGVyZSBhcyBmYXIgYXMgSQoJICBjYW4gc2VlLgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYWdpYyBtYXJrZXJzIGZvciB0aGluZ3MgdGhhdCBhcmVuJ3QgbWVhbnQgdG8gYmUKCSAgcGFyc2VkIGJ5IGd0ay1kb2MuIE1ha2VzIGd0ay1kb2MgY29tcGxhaW4gYSBiaXQgbGVzcy4KCjIwMDctMDUtMzAgMTQ6NTI6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCB2aWRlb3NpZ25hbCBwbHVnaW4gd2l0aCB0d28gcGx1Z2lucyB0byBhbmFseXNlIHZpZGVvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOiAoZ3N0X3ZpZGVvX2FuYWx5c2Vfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfcG9zdF9tZXNzYWdlKSwgKGdzdF92aWRlb19hbmFseXNlXzQyMCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2FuYWx5c2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYW5hbHlzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fYW5hbHlzZV9pbml0KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfcG9zdF9tZXNzYWdlKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2FsY19icmlnaHRuZXNzKSwgKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fZGV0ZWN0X2luaXQpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmg6CgkgIEFkZGVkIHZpZGVvc2lnbmFsIHBsdWdpbiB3aXRoIHR3byBwbHVnaW5zIHRvIGFuYWx5c2UgdmlkZW8gZnJhbWVzLgoJICBBZGRlZCB2aWRlb2FuYWx5c2UgdG8gcmVwb3J0IGFib3V0IGJyaWdodG5lc3MgYW5kIHZhcmlhbmNlIGluIHZpZGVvCgkgIGZyYW1lcy4KCSAgQWRkZWQgdmlkZW9kZXRlY3QgdG8gZGV0ZWN0IHByZWRlZmluZWQgcGF0dGVybnMgaW4gYSB2aWRlbyBzaWduYWwuCgoyMDA3LTA1LTMwIDA5OjMwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IE1vcmUgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgTW9yZSB1cGRhdGVzLgoKMjAwNy0wNS0zMCAwOTowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXM7IHVwZGF0ZSBpbnNwZWN0IGluZm8gZm9yIHJ0cG1hbmFnZXIgPT4gZ3N0cnRwbWFuYWdlciByZW5hbWUsIGhvcGVmdWxseSB0aGF0IG1ha2VzIHRoZSBidWlsZCBiby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgIFVwZGF0ZXM7IHVwZGF0ZSBpbnNwZWN0IGluZm8gZm9yIHJ0cG1hbmFnZXIgPT4gZ3N0cnRwbWFuYWdlciByZW5hbWUsCgkgIGhvcGVmdWxseSB0aGF0IG1ha2VzIHRoZSBidWlsZCBib3RzIGhhcHB5IGFnYWluLgoKMjAwNy0wNS0yOCAxNjozNzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZQoJICBuYW1lLiBGaXhlcyAjNDMwNjY0LgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yMyAyMjo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyIGludGVyZmFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlcgoJICBpbnRlcmZhY2Ugbm93LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBBZGQgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZCBieSBXaW5kb3dzIHNpbmtzLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgIGFuZCBpbXBsZW1lbnQgdGhlIG1peGVyIGludGVyZmFjZS4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgQWRkIGEgbmV3IGdzdCBsaWJyYXJ5IHdoaWNoIGFsbG93IHRvIGNyZWF0ZSBpbnRlcm5hbCBEaXJlY3QgU2hvdwoJICBncmFwaCAocGlwZWxpbmVzKSB0byB3cmFwIFdpbmRvd3Mgc291cmNlcywgZGVjb2RlcnMgb3IgZW5jb2RlcnMuCgkgIEl0IGluY2x1ZGVzIGEgRGlyZWN0U2hvdyBmYWtlIHNvdXJjZSBhbmQgc2luayBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICBBZGQgYSBuZXcgcGx1Z2luIHRvIHdyYXAgRGlyZWN0U2hvdyBzb3VyY2VzIG9uIFdpbmRvd3MuCgkgIEl0IGdldHMgZGF0YSBmcm9tIGFueSB3ZWJjYW0sIGR2IGNhbSwgbWljcm8uIFdlIGNvdWxkIGFkZAoJICB0diB0dW5uZXIgY2FyZCBsYXRlci4KCjIwMDctMDUtMjMgMTg6MDA6MTUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBTZXBhcmF0ZSB0aGUgYXV0aG9ycyBieSBuZXdsaW5lcyBpbnN0ZWFkIG9mIG5vdGhpbmcuIEZpeGVzICM0NDA3NzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT46CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgU2VwYXJhdGUgdGhlIGF1dGhvcnMgYnkgbmV3bGluZXMgaW5zdGVhZCBvZiBub3RoaW5nLiBGaXhlcyAjNDQwNzc0LgoKMjAwNy0wNS0yMyAxNjoxNDoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDogQWRkIGRvYyB4bWwgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICBBZGQgZG9jIHhtbCBmaWxlLgoKMjAwNy0wNS0yMyAxMzowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvY3VtZW50IHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IHN0dWZmLgoJICBBZGQgY2xlYXItcHQtbWFwIGFjdGlvbiBzaWduYWwgd2hlcmUgbmVlZGVkLgoKMjAwNy0wNS0yMiAxMToxNDoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5LCBnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHksCgkgIHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oIChhdWRpb2ZpbHRlcik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYyAoQVJHX05VTV9CQU5EUywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jIChicHdzaW5jX3NldF9jYXBzKToKCSAgQWRkIGZpeG1lLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChTUEVDVFJVTV9XSU5ET1dfQkFTRSwKCSAgU1BFQ1RSVU1fV0lORE9XX0xFTiwgZ3N0X3NwZWN0cnVtX2luaXQsIGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuIFR1cm4gdHdvIGZpeGVkIHZhbHVlcyBpbnRvICNkZWZpbmVzLgoKMjAwNy0wNS0yMiAxMTowMzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBlbGVtZW50IGFuZCBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDUtMjEgMTI6NDM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LCBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAwNy0wNS0yMSAxMTozNzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoKMjAwNy0wNS0yMSAxMToxNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kCgkgIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyZW50IGV4dHJhIHByb2Nlc3NpbmcgbW9kZXMgaW5zdGVhZCBvZiBvbmx5CgkgIGFsbG93aW5nIG5vbmUgYW5kIHRoZSBkZWZhdWx0IG9uZS4KCjIwMDctMDUtMjAgMjE6MzE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMgdGhlIHdhdnBhY2sgc3R1ZmYgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzCgkgIHRoZSB3YXZwYWNrIHN0dWZmIG5vdyBuZWVkcyBpbnB1dCB3aXRoIDMyIGJpdCB3aWR0aCAoYW5kIHJhbmRvbSBkZXB0aCkKCSAgdGhpcyBpcyBuZWVkZWQgbm93LiBUaGUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIHRoZSBwYXJzZXIgYW5kIGRlY29kZXIKCSAgYXJlIHN0aWxsIGZpbmUuCgoyMDA3LTA1LTIwIDE1OjEyOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEZpeCBkb2NzIGJ1aWxkIGFuZCBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBGaXggZG9jcyBidWlsZCBhbmQgaGllcmFyY2h5LgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6MTQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCjIwMDctMDUtMTkgMTA6MDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIGJpdHMgZm9yIGRlaW50ZXJsZWF2ZSBjaGVjayB3aGljaCBpc24ndCBpbiBDVlMgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJpdHMgZm9yIGRlaW50ZXJsZWF2ZSBjaGVjayB3aGljaCBpc24ndCBpbiBDVlMgeWV0LgoKMjAwNy0wNS0xOSAxMDowMTo0NSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOiAoZ3N0X3JnX2xpbWl0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2xpbWl0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfY2xhc3NfaW5pdCksIChnc3Rfcmdfdm9sdW1lX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX3ZvbHVtZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX3ZvbHVtZV9kaXNwb3NlKSwgKGdzdF9yZ192b2x1bWVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZ192b2x1bWVfc2lua19ldmVudCksIChnc3Rfcmdfdm9sdW1lX3RhZ19ldmVudCksCgkgIChnc3Rfcmdfdm9sdW1lX3Jlc2V0KSwgKGdzdF9yZ192b2x1bWVfdXBkYXRlX2dhaW4pLAoJICAoZ3N0X3JnX3ZvbHVtZV9kZXRlcm1pbmVfZ2Fpbik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKHNldHVwX3JnbGltaXRlciksCgkgIChjbGVhbnVwX3JnbGltaXRlciksIChzZXRfcGxheWluZ19zdGF0ZSksIChjcmVhdGVfdGVzdF9idWZmZXIpLAoJICAodmVyaWZ5X3Rlc3RfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJnbGltaXRlcl9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAoZXZlbnRfZnVuYyksIChzZXR1cF9yZ3ZvbHVtZSksCgkgIChjbGVhbnVwX3Jndm9sdW1lKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKHNldF9udWxsX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHRlc3RfYnVmZmVyX25ldyksCgkgIChmYWlsX3VubGVzc190YXJnZXRfZ2FpbiksIChmYWlsX3VubGVzc19yZXN1bHRfZ2FpbiksCgkgIChmYWlsX3VubGVzc19nYWluKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJndm9sdW1lX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgoyMDA3LTA1LTE4IDE2OjQ1OjU0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUKCjIwMDctMDUtMTggMTI6Mzk6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0CgkgIG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIGZvcm1hdHMsIG5vdCBqdXN0IHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlczogIzQzOTQwNQoKMjAwNy0wNS0xOCAwOTozNToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jIChnc3RfYW1yd2JkZWNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwgX2RvX2luaXQsIGdzdF9hbXJ3YmRlY19iYXNlX2luaXQsIGdzdF9hbXJ3YmRlY19jbGFzc19pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYyAoZ3N0X2FtcndiZGVjX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JkZWNfYmFzZV9pbml0LCBnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmMgKGdzdF9hbXJ3YmVuY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndiZW5jX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmMgKGdzdF9hbXJ3YnBhcnNlX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQsIGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICBGaXJzdCByb3VuZCBvZiBjbGVhbnVwcywgdGhhdCB1c2UgR1NUX0JPSUxFUlBMQVRFLCBHU1RfRUxFTUVOVF9ERVRBSUxTLAoJICBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgYWRkIGxvZy1jYXRlZ29yeS4KCjIwMDctMDUtMTcgMTA6NTk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1ggaXMgJCNAKColJCMgISBGb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWAoJICBpcyAkI0AoKiUkIyAhIEZvciB0aG9zZSB3b25kZXJpbmcsIHRoZSBldmVudCBoYW5kbGluZyBuZWVkcyB0byBiZSBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCBhZnRlciBhbGwuLgoKMjAwNy0wNS0xNyAxMDowODoyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHXzAsIEFSR19OQl9TT1VSQ0VTLCBBUkdfQUNUSVZFX1NPVVJDRSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHXzAsIEFSR19OQl9TT1VSQ0VTLCBBUkdfQUNUSVZFX1NPVVJDRSwKCSAgQVJHX1NUQVJUX1ZBTFVFLCBBUkdfU1RPUF9WQUxVRSwgQVJHX0xBU1RfVFMsIEFSR19RVUVVRV9CVUZGRVJTLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLAoJICBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0Y2FwcywgZ3N0X3N3aXRjaF9kaXNwb3NlLAoJICB1bnJlZl9idWZmZXIsIHVucmVmX2J1ZmZlcnNfYW5kX2Rlc3Ryb3lfbGlzdCwgZ3N0X3N3aXRjaF9pbml0LAoJICBnc3Rfc3dpdGNoX2Jhc2VfaW5pdCwgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChuZWVkX3RvX3NlbmRfbmV3c2VnbWVudCwgcXVldWVfYnVmZmVycywKCSAgc3RvcF92YWx1ZSwgc3RhcnRfdmFsdWUsIGN1cnJlbnRfc3RhcnQsIGxhc3RfdHMsIHN0b3JlZF9idWZmZXJzKToKCSAgQWRkIGhhbmRsaW5nIG9mIGFwcGxpY2F0aW9uIHByb3ZpZGVkIHN0b3AgYW5kIHN0YXJ0IHZhbHVlcywgYWxsb3dpbmcKCSAgQS9WIHN5bmMgYWNyb3NzIDIgc3dpdGNoIGVsZW1lbnRzLgoKMjAwNy0wNS0xNyAwOTo0MTo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQvdGFzayBmb3IgdGhlIGNvY29hIGV2ZW50X2xvb3AsIGVsc2UgaXQgd291bGRuJ3QKCSAgc3RvcC4KCjIwMDctMDUtMTYgMTc6MTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IERvbid0IGNyYXNoIHdoZW4gd2UgZ2V0IGEgYnVmZmVyIGFuZCBvdXIgaW5wdXQgY2FwcyBoYXZlbid0IGJlZW4gc2V0IHlldDsgYWxzbywgZG9uJ3QgbGVhayBhbGwgdGhlIGlucHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiB3ZSBnZXQgYSBidWZmZXIgYW5kIG91ciBpbnB1dCBjYXBzIGhhdmVuJ3QgYmVlbiBzZXQKCSAgeWV0OyBhbHNvLCBkb24ndCBsZWFrIGFsbCB0aGUgaW5wdXQgYnVmZmVycyAocmVhbGF1ZGlvZGVjIG9ubHkpLgoKMjAwNy0wNS0xNiAxMzo1MDo1MSArMDAwMCAgU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgoKCSAgVXNlIGV4dGVybmFsIHNoYXJlZCBsaWJhbXJ3Yi4gRml4ZXMgIzQyMzc0MSAod2l0aCBsb3RzIG9mIGNsZWFudXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL1JFQURNRToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaCAoX19HU1RfQU1SV0JERUNfSF9fKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaCAoX19HU1RfQU1SV0JFTkNfSF9fKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmggKF9fR1NUX0FNUldCUEFSU0VfSF9fKToKCSAgKiBnc3QtbGlicy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9hbXJ3Yi9SRUFETUU6CgkgIFVzZSBleHRlcm5hbCBzaGFyZWQgbGliYW1yd2IuIEZpeGVzICM0MjM3NDEgKHdpdGggbG90cyBvZiBjbGVhbnVwKS4KCjIwMDctMDUtMTUgMjE6MjM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYyAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6IFRoaXMgbmVlZHMgYSB2ZXJzaW9uIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmMgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOgoJICBUaGlzIG5lZWRzIGEgdmVyc2lvbiBjaGVjay4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA1LTE1IDEzOjI5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgoyMDA3LTA1LTE1IDAzOjQ1OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoKMjAwNy0wNS0xNSAwMjo1NDo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYSBCYXllci10by1SR0IgY29udmVydGVyLiAgWW91IGtub3cgeW91IHdhbnQgb25lLCB1aC1odWguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBBZGQgYSBCYXllci10by1SR0IgY29udmVydGVyLiAgWW91IGtub3cgeW91IHdhbnQgb25lLCB1aC1odWguCgkgIFBhcnRpYWwgZml4IGZvciAjMzE0MTYwLgoKMjAwNy0wNS0xNCAxODowMzo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHX0FDVElWRV9TT1VSQ0UsIEFSR19TVE9QX1ZBTFVFLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfQUNUSVZFX1NPVVJDRSwgQVJHX1NUT1BfVkFMVUUsCgkgIEFSR19MQVNUX1RTLCBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQsIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAocHJldmlvdXNfc2lua3BhZCwgbmJfc2lua3BhZHMsIHN0b3BfdmFsdWUsCgkgIGN1cnJlbnRfc3RhcnQsIGxhc3RfdHMpOgoJICBBbGxvdyBhcHBsaWNhdGlvbiB0byBwcm92aWRlIGEgc3RvcCB0aW1lc3RhbXAsIHNvIGEgbmV3IHNlZ21lbnQKCSAgdXBkYXRlIGNhbiBiZSBzZW50IGJlZm9yZSBzd2l0Y2hpbmcuCgoyMDA3LTA1LTE0IDE1OjI4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBjbGVhci1wdC1tYXAgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0IGNsb2NrLXJhdGUgdG8gLTEgdG8gbWFyayB1bmtub3cgY2xvY2sgcmF0ZS4KCSAgRml4IGZsdXNoaW5nLgoKMjAwNy0wNS0xMyAxOTo1Nzo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBCeSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+LgoKMjAwNy0wNS0xMyAwNzowODowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBNYWtlIHJlZGlyZWN0aW9uIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgRml4ZXMgIzQxMzgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgTWFrZSByZWRpcmVjdGlvbiB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIEZpeGVzICM0MTM4MTguCgoyMDA3LTA1LTExIDExOjIwOjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2luCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAxMjozODo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3AsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZvcm1hdCBhcmcgZml4IChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pCgoyMDA3LTA1LTEwIDA3OjQxOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb21tb24vbTQvZ3N0LXgxMS5tNDogUmVzdG9yZSBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9tNC9nc3QteDExLm00OgoJICBSZXN0b3JlIENGTEFHUyBhbmQgTElCUy4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCBwcmV2aW91cyBwYXRjaC4KCjIwMDctMDUtMTAgMDY6MzU6MzEgKzAwMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogU2F2ZSBhbmQgcmVzdG9yZSBDRkxBR1MgZm9yIE9wZW5HTCBjaGVjay4gRml4ZXMgIzQzNzI2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICBTYXZlIGFuZCByZXN0b3JlIENGTEFHUyBmb3IgT3BlbkdMIGNoZWNrLiBGaXhlcyAjNDM3MjYwLgoKMjAwNy0wNS0wOSAyMDowMToyMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IEFkZCBkaXJlY3RyYXcgYW5kIGRpcmVjdHNvdW5kIHNpbmtzIHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBBZGQgZGlyZWN0cmF3IGFuZCBkaXJlY3Rzb3VuZCBzaW5rcyBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0wOSAxNzo1ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoaG9wZWZ1bGx5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChob3BlZnVsbHkpLgoKMjAwNy0wNS0wOSAxMToyNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoKMjAwNy0wNS0wNiAxNToyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogVXNlIEdNb2R1bGUgaW5zdGVhZCBvZiB1c2luZyBkbHN5bSgpIGRpcmVjdGx5LiBGaXhlcyAjNDMwNTk4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFVzZSBHTW9kdWxlIGluc3RlYWQgb2YgdXNpbmcgZGxzeW0oKSBkaXJlY3RseS4gRml4ZXMgIzQzMDU5OC4KCjIwMDctMDUtMDQgMjE6MDI6NTggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2NzIGZvciBXaW5kb3dzIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIGRvY3MgZm9yIFdpbmRvd3Mgc2lua3MuCgoyMDA3LTA1LTA0IDE3OjIwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IEZpeCBldmVudCBoYW5kbGluZyBhIGJpdCBieSByZXBsYWNpbmcgY29tcGxldGVseSBkdWJpb3VzIGNvZGUgd3JpdHRlbiBieSBzb21lb25lIGVsc2Ugd2l0aCBjb21wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfc3JjX2V2ZW50KSwgKHNwZWVkX3NpbmtfZXZlbnQpLAoJICAoc3BlZWRfY2hhaW4pLCAoc3BlZWRfY2hhbmdlX3N0YXRlKToKCSAgRml4IGV2ZW50IGhhbmRsaW5nIGEgYml0IGJ5IHJlcGxhY2luZyBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZQoJICB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlIHdyaXR0ZW4KCSAgYnkgbWUuIFNob3VsZCBhdCBsZWFzdCBmaXggIzQxMjA3NyB0aG91Z2guCgoyMDA3LTA1LTA0IDE2OjExOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qKCkgdXRpbGl0eSBmdW5jdGlvbnM7IHVzZSBnc3RfdXRpbF9zY2FsZSooKTsgYWRkIGd0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfc3JjX3F1ZXJ5KSwgKHNwZWVkX2NoYWluKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyooKSB1dGlsaXR5IGZ1bmN0aW9uczsKCSAgdXNlIGdzdF91dGlsX3NjYWxlKigpOyBhZGQgZ3RrLWRvYyBibHVyYi4KCjIwMDctMDUtMDQgMTI6MzI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTdG9yZSByZWFsIHVzZXIgbmFtZSBpbiB0aGUgc2Vzc2lvbi4KCjIwMDctMDUtMDMgMTY6NDk6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobG9vcCwgbXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChsb29wLCBteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwKCSAgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChHU1RfQ0FUX0RFRkFVTFQsIGdzdF9zd2l0Y2hfZGV0YWlscywKCSAgZ3N0X3N3aXRjaF9zcmNfZmFjdG9yeSwgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkLCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfYnVmZmVyYWxsb2MsIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWRzLAoJICBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCwgZ3N0X3N3aXRjaF9iYXNlX2luaXQsCgkgIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoR3N0U3dpdGNoLCBHc3RTd2l0Y2hDbGFzcywgX0dzdFN3aXRjaCwKCSAgZWxlbWVudCwgYWN0aXZlX3NpbmtwYWQsIHNyY3BhZCwgbmJfc2lua3BhZHMsIG5ld3NlZ21lbnRfZXZlbnRzLAoJICBuZWVkX3RvX3NlbmRfbmV3c2VnbWVudCk6CgkgIFBvcnQgc3dpdGNoIGVsZW1lbnQgYW5kIGV4YW1wbGUgcHJvZ3JhbSB0byAwLjEwLgoKMjAwNy0wNS0wMiAxODozMToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSGFuZGxlIERJU0NPTlQgYnVmZmVycyBieSBjb3JyZWN0bHkgc2V0dGluZyB0aGUgRElTQ09OVCBmbGFnCgkgIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCkKCSAgU2VuZCBuZXdzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE2OjU4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2FtcGxlLiBXaXRoIHRoZSBmaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0CgkgIHNhbXBsZS4gV2l0aCB0aGUgZml4ZWQgZXJyb3IgaGFuZGxpbmcgdGhpcyB3b3JrcyBub3cgYXMgZXhwZWN0ZWQKCSAgd2l0aG91dCBwdXNoaW5nIHRoZSBsYXN0IHNhbXBsZSBhbHRob3VnaCBpdCB3YXNuJ3QgcmVxdWVzdGVkLgoKMjAwNy0wNS0wMiAxNjo0NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGggc3RvcCBwb3NpdGlvbiA9PSAtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoCgkgIHN0b3AgcG9zaXRpb24gPT0gLTEgYW5kIGluc3RlYWQgb2Ygc3RvcHBpbmcgdGhlIHRhc2sgb24gc2VlayBqdXN0CgkgIHBhdXNlIGl0LgoKMjAwNy0wNS0wMiAxNjoxOTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNy0wNS0wMiAxNToxMzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gZ2V0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQKCSAgd2FzIGVhc3kgdG8gZ2V0IHRoZSB0YXNrIHBhdXNlZCBidXQgbm8gZXJyb3IgYmVpbmcgcG9zdGVkIG9uIHRoZSBidXMuCgoyMDA3LTA0LTMwIDE1OjM5OjA5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjCgoyMDA3LTA0LTMwIDEzOjQxOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCk6CgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgUmVuYW1lIFJUQ1Agc2VuZCBwYWQsIGxpa2UgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQWxsb3cgZ2V0dGluZyBhbiBSVENQIHBhZCBmb3IgcmVjZWl2aW5nIGV2ZW4gaWYgd2UgZG9uJ3QgcmVjZWl2ZSBSVFAuCgkgIGZpeCBoYW5kbGluZyBvZiBzZW5kX3J0cF9zcmMgcGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXaGVuIG5vIHB0IG1hcCBjb3VsZCBiZSBmb3VuZCwgZmFsbCBiYWNrIHRvIHRoZSBzaW5rcGFkIGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBGaXggcGFkIG5hbWVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFVubG9jayBzZXNzaW9uIHdoZW4gcGVyZm9ybWluZyBhIGNhbGxiYWNrLgoJICBBZGQgY2FsbGJhY2tzIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBvYmplY3QuCgkgIEZpeCBzZW5kaW5nIG9mIFJUUCBwYWNrZXRzLgoJICBmaXJzdCBhdHRlbXB0IGF0IGFkZGluZyBOVFAgdGltZXMgaW4gdGhlIFNSIHBhY2tldHMuCgkgIFNtYWxsIGRlYnVnIGFuZCBkb2MgaW1wcm92ZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIFVwZGF0ZSBzdGF0cyBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDQtMjkgMTQ6NDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFJlbW92ZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIFJlbW92ZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgRml4IGludGVydmFsIGZvciBCWUUvUlRDUCBwYWNrZXRzLgoKMjAwNy0wNC0yOSAxNDowMTowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogQ29tbWl0IHJlc3VsdCBvZiBydW5uaW5nIHNjYW5vYmotdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBDb21taXQgcmVzdWx0IG9mIHJ1bm5pbmcgc2Nhbm9iai11cGRhdGUKCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDQtMjkgMTM6NTM6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIE1ha2VmaWxlLmFtIGFjY29yZGluZ2x5LgoKMjAwNy0wNC0yOSAxMzo0OTowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBqYWNrIGFuZCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCBqYWNrIGFuZCB1cGRhdGUuCgoyMDA3LTA0LTI4IDEyOjQ2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBidWlsZCBlcXVhbGl6ZXIgdW5sZXNzIHdlIGhhdmUgY29yZSBmcm9tIENWUyAoaXQgd29uJ3Qgd29yayB3aXRoIGVhcmxpZXIgdmVyc2lvbnMgZHVlIHRvIEdzdENoaWxkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgYnVpbGQgZXF1YWxpemVyIHVubGVzcyB3ZSBoYXZlIGNvcmUgZnJvbSBDVlMgKGl0IHdvbid0CgkgIHdvcmsgd2l0aCBlYXJsaWVyIHZlcnNpb25zIGR1ZSB0byBHc3RDaGlsZFByb3h5IGJyb2tlbmVzcykuCgkgIEFsc28gdXAgcmVxdWlyZW1lbnRzIHRvIGxhc3QgcmVsZWFzZWQgY29yZS9iYXNlLgoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDctMDQtMjcgMTU6MzM6NDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogQ2FsY3VsYXRlIGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkgdG8gZ2VuZXJhdGUgYSBwZXJmZWN0IHN0cmVhbSAoIzQzMzg4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA0LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKF90aGVvcmFfZ3JhbnVsZV90aW1lKSwKCSAgKHRoZW9yYV9kZWNfcHVzaF9mb3J3YXJkKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLAoJICAodGhlb3JhX2RlY19kZWNvZGVfYnVmZmVyKTogQ2FsY3VsYXRlIGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkKCSAgdG8gZ2VuZXJhdGUgYSBwZXJmZWN0IHN0cmVhbSAoIzQzMzg4OCkuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9jaGVja19kaXNjb250KTogR2xpYiBwcm92aWRlcyBBQlMuCgoyMDA3LTA0LTI3IDE1OjA5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fcmVjb25zaWRlcik6CgkgIE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBTaW1wbGlmeSB0aW1vdXQgaGFuZGxpbmcgYW5kIGFkZCByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKHNlc3Npb25fYnllKSwgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEhhbmRsZSB0aW1lb3V0IG9mIGluYWN0aXZlIHNvdXJjZXMgYW5kIHNlbmRlcnMuCgkgIEltcGxlbWVudCBCWUUgc2NoZWR1bGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZW1iZXJzIHRvIGNoZWNrIGZvciB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ieWVfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBSRkMgYWxnb3JpdGhtIGZvciBjYWxjdWxhdGluZyB0aGUgcmVwb3J0aW5nIGludGVydmFsLgoKMjAwNy0wNC0yNiAxNDozMTozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCjIwMDctMDQtMjUgMTY6Mzg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDE1OjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEZWJ1Z2luZyBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTM6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSk6CgkgIFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgRG9uJ3Qgc2VuZCBSVENQIHJpZ2h0IGJlZm9yZSB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgIEltcHJvdmUgcmVwb3J0IGJsb2Nrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQ2xlYW51cHMsIGFkZCBtZXRob2RzIHRvIGFjY2VzcyBzdGF0cy4KCjIwMDctMDQtMjUgMDg6MzA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIEZpeCBmb3IgcmVuYW1lZCBtZXRob2RzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRwX3Nlc3Npb25fc2V0X2NuYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9jbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfZW1haWwpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2VtYWlsKSwgKHJ0cF9zZXNzaW9uX3NldF9waG9uZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcGhvbmUpLCAocnRwX3Nlc3Npb25fc2V0X2xvY2F0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfdG9vbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfdG9vbCksIChydHBfc2Vzc2lvbl9zZXRfbm90ZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbm90ZSksIChzb3VyY2VfcHVzaF9ydHApLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9nZXRfcmVwb3J0aW5nX2ludGVydmFsKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChzZXNzaW9uX3NkZXMpLCAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUHJlcGFyZSBmb3IgaW1wbGVtZW50aW5nIFNTUkMgc2FtcGxpbmcuCgkgIENyZWF0ZSBTU1JDIGZvciB0aGUgc2Vzc2lvbi4KCSAgQWRkIG1ldGhvZHMgdG8gc2V0IHRoZSBTREVTIGVudHJpZXMuCgkgIGZpeCBhY2NvdW50aW5nIG9mIHNlbmRlcnMvcmVjZWl2ZXJzLgoJICBJbXBsZW1lbnQgU1IvUlIvU0RFUyBSVENQIHJlcG9ydGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEltcGxlbWVudCBleHRlbmRlZCBzZXF1ZW5jZSBudW1iZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgUmVuYW1lIHNvbWUgZmllbGRzLgoKMjAwNy0wNC0yNCAxNTo0OToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgoyMDA3LTA0LTIxIDE5OjM5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L01ha2VmaWxlLmFtOiBGaXggZGlzdGNoZWNrLCBob3BlZnVsbHkgKHJ0cG1hbmFnZXIgaXMgYWxyZWFkeSBpbiBHU1RfUExVR0lOU19BTEwpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEZpeCBkaXN0Y2hlY2ssIGhvcGVmdWxseSAocnRwbWFuYWdlciBpcyBhbHJlYWR5IGluIEdTVF9QTFVHSU5TX0FMTCkuCgoyMDA3LTA0LTIxIDE5OjIxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wNC0yMSAxNDoxNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogTWFrZSBtb3JlIGZ1bmN0aW9ucyBzdGF0aWMsIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgTWFrZSBtb3JlIGZ1bmN0aW9ucyBzdGF0aWMsIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgoyMDA3LTA0LTIxIDEzOjU0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb3Jlc2FtcGxlIHNodXRkb3duIGNyYXNoZXIgKCM0MjAxMDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvcmVzYW1wbGUgc2h1dGRvd24gY3Jhc2hlciAoIzQyMDEwNikuCgoyMDA3LTA0LTIwIDE1OjMxOjMyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZBQUQgZmFpbHMgdG8gZGVjb2RlIGxvdyAoZS5nLiA4IGtIeikgc2FtcGxlIHJhdGUgQUFDIGRhdGEgaW4gcXVpY2t0aW1lIGJlY2F1c2Ugb2Ygc2FtcGxlIHJhdGUgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfb3Blbl9kZWNvZGVyKToKCSAgRkFBRCBmYWlscyB0byBkZWNvZGUgbG93IChlLmcuIDgga0h6KSBzYW1wbGUgcmF0ZSBBQUMgZGF0YSBpbgoJICBxdWlja3RpbWUgYmVjYXVzZSBvZiBzYW1wbGUgcmF0ZSBtaXNtYXRjaGVzLgoJICBSZWVuYWJsZSBvdmVycmlkaW5nIHRoZSBpbXBsaWNpdCBTQlIgYmVoYXZpb3VyIChhY2NpZGVudGx5IGNoYW5nZWQ/KQoJICB0byBhbGxvdyBwbGF5YmFjayBvZiB0aGVzZSBmaWxlcy4KCjIwMDctMDQtMTkgMTU6NDM6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGFuZ2UgcnRwbWFuYWdlciBkaXNhYmxpbmcgdG8ga2VlcCAtYmFkIHJlbGVhc2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hhbmdlIHJ0cG1hbmFnZXIgZGlzYWJsaW5nIHRvIGtlZXAgLWJhZCByZWxlYXNhYmxlLgoKMjAwNy0wNC0xOCAxOTo0NTozMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBGaXggd3RheSdzIGhhY2suICBydHBtYW5hZ2VyIGlzIGRpc2FibGVkIGluIGNvbmZpZ3VyZS5hYyBvbiBsaW5lIDI2OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgRml4IHd0YXkncyBoYWNrLiAgcnRwbWFuYWdlciBpcyBkaXNhYmxlZCBpbiBjb25maWd1cmUuYWMgb24KCSAgbGluZSAyNjguCgoyMDA3LTA0LTE4IDE5OjI2OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L01ha2VmaWxlLmFtOiBBZGQgcnRwbWFuYWdlciBkaXIgdG8gZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBBZGQgcnRwbWFuYWdlciBkaXIgdG8gZGlzdC4KCjIwMDctMDQtMTggMTg6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkZWQgbmV3IGZpbGVzIGZvciBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBTb21lIGNsZWFudXBzLgoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGNhbiBub3cgYWxzbyByZXF1ZXN0IGEgcHQtbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF90aW1lKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBXZSBjYW4gYXNrIGZvciBwdC1tYXAgbm93IHRvbyB3aGVuIHRoZSBzZXNzaW9uIG1hbmFnZXIgbmVlZHMgaXQuCgkgIEhvb2sgdXAgdG8gdGhlIG5ldyBzZXNzaW9uIG1hbmFnZXIsIGltcGxlbWVudCB0aGUgbmVlZGVkIGNhbGxiYWNrcyBmb3IKCSAgcHVzaGluZyBkYXRhLCBnZXR0aW5nIGNsb2NrIHRpbWUgYW5kIHJlcXVlc3RpbmcgY2xvY2stcmF0ZXMuCgkgIFJlbmFtZSBydGNwX3NyYyB0byBzZW5kX3J0Y3Bfc3JjIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB0aGlzIFJUQ1AgaXMgdG8KCSAgYmUgc2VuZCB0byBjbGllbnRzLgoJICBBZGQgY29kZSB0byBzdGFydCBhbmQgc3RvcCB0aGUgdGhyZWFkIHRoYXQgd2lsbCBzY2hlZHVsZSBSVENQIHRocm91Z2gKCSAgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksCgkgIChvbl9ieWVfc3NyYyksIChydHBfc2Vzc2lvbl9uZXcpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCksCgkgIChzb3VyY2VfcHVzaF9ydHApLCAoc291cmNlX2Nsb2NrX3JhdGUpLCAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9jbmFtZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19hcHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2R1Y2VfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBUaGUgYWR2YW5jZWQgYmVnaW5uaW5ncyBvZiB0aGUgbWFpbiBzZXNzaW9uIG1hbmFnZXIgdGhhdCBoYW5kbGVzIHRoZQoJICBwYXJ0aWNpcGFudCBkYXRhYmFzZSBvZiBSVFBTb3VyY2VzLCBTU1JDIHByb2JhdGlvbiwgU1NSQyBjb2xsaXNpb25zLAoJICBwYXJzZSBSVENQIHRvIHVwZGF0ZSBzb3VyY2Ugc3RhdHMuIGV0Yy4uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9uZXcpLAoJICAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9zZXRfcnRwX2Zyb20pLCAocnRwX3NvdXJjZV9zZXRfcnRjcF9mcm9tKSwKCSAgKHB1c2hfcGFja2V0KSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIE9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyBhbiBTU1JDIGFuZCBpdHMgc3RhdGUgaW4gdGhlIGRhdGFiYXNlLgoJICBDYWxjdWxhdGVzIHRoZSBqaXR0ZXIgYW5kIHRyYW5zaXQgdGltZXMgb2YgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVmFyaW91cyBzdGF0cyByZWdhcmRpbmcgdGhlIHNlc3Npb24gYW5kIHNvdXJjZXMuCgkgIFVzZWQgdG8gY2FsY3VsYXRlIHRoZSBSVENQIGludGVydmFsLgoKMjAwNy0wNC0xNyAxMDo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcHAvTWFrZWZpbGUuYW06IEZpeCBDRkxBR1MgYW5kIGhvcGVmdWxseSAjNDMwNTk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTIGFuZCBob3BlZnVsbHkgIzQzMDU5NC4KCjIwMDctMDQtMTcgMDg6NDg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL3R5cGVzLmg6IFJlbmFtZSAjaWZuZGVmIGhlYWRlciBndWFyZCBzeW1ib2wgdG8gc29tZXRoaW5nIGxlc3MgZ2VuZXJpYywgc28gdHlwZXMuaCBkb2Vzbid0IGdldCBza2lwcGVkIG92ZXIgd2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBSZW5hbWUgI2lmbmRlZiBoZWFkZXIgZ3VhcmQgc3ltYm9sIHRvIHNvbWV0aGluZyBsZXNzIGdlbmVyaWMsIHNvCgkgIHR5cGVzLmggZG9lc24ndCBnZXQgc2tpcHBlZCBvdmVyIHdoZW4gY29tcGlsaW5nIG9uIE1pbmdXLiBJbmNsdWRlCgkgIEdMaWIgaGVhZGVycyBhbmQgdXNlIHRob3NlIHRvIHNldCB0aGUgZW5kaWFubmVzcyBhbmQgdGhlIGJhc2ljCgkgIHR5cGVzIHNvIHRoYXQgdGhpcyBpc24ndCBlbnRpcmVseSBicm9rZW4gZm9yIG5vbi14ODYgYXJjaGl0ZWN0dXJlcy4KCjIwMDctMDQtMTcgMDg6MDQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IFVzZSBHX0xJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBMSVRUTEVfRU5ESUFOLCBzbyBzdHVmZiBjb21waWxlcyBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2F1ZGlvX2luaXQpOgoJICBVc2UgR19MSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgTElUVExFX0VORElBTiwgc28gc3R1ZmYgY29tcGlsZXMgb24KCSAgTWluZ1cgKG5vIGlkZWEgdGhvdWdoIHdoeSB3ZSBhZGQgYSBCWVRFX09SREVSIGVuZGlhbm5lc3MgZmllbGQgaWYKCSAgdGhlIGF1ZGlvIGlzIGNvbXByZXNzZWQpLgoKMjAwNy0wNC0xNiAyMjoyMDowMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogRml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIGlmIEhBVkVfTE9DQUxUSU1FX1IgaXMgdW5kZWZpbmllZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZG90IGZyPgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogKGdzdF9jbG9ja19vdmVybGF5X3JlbmRlcl90aW1lKToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIGlmIEhBVkVfTE9DQUxUSU1FX1IgaXMgdW5kZWZpbmllZAoJICAqIGdzdC1saWJzL2dzdC9yaWZmL3JpZmYtbWVkaWEuYzogKGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChhdWRpb3Jlc2FtcGxlX2RvX291dHB1dCk6CgkgIFVzZSB0aGUgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciBmb3JtYXRzLgoKMjAwNy0wNC0xNCAxNzoxODoxNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICBVcGRhdGUgcHJvamVjdHMgZmlsZXMuCgoyMDA3LTA0LTEzIDA5OjIwOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgUmV0dXJuIEZMT1dfT0sgZnJvbSBSVENQIG1lc3NhZ2VzIGZvciBub3cuCgoyMDA3LTA0LTEyIDEwOjUyOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0IGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0CgkgIGNhbGN1bGF0aW9ucy4KCjIwMDctMDQtMTIgMDg6MTg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAocHRfbWFwX3JlcXVlc3RlZCk6CgkgIEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRW1pdCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoKMjAwNy0wNC0xMSAxMzo0OTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNsb2NrX3JhdGVfcmVxdWVzdCksIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgY2FjaGluZyBwdCBtYXBzLgoJICBDb25uZWN0IHRvIHNpZ25hbHMgdG8gY29sbGVjdCBwdCBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHJlcXVlc3RfY2xvY2tfcmF0ZSBzaWduYWwuCgkgIFVzZSBzY2FsZSBpbnN0ZWF0IG9mIHNjYWxlX2ludCBiZWNhdXNlIHRoZSBsYXRlciBkb2VzIG5vdCBkZWFsIHdpdGgKCSAgbmVnYXRpdmUgbnVtYmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoKMjAwNy0wNC0xMSAwOTo1MzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbWRoZCk6CgkgIEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgRml4ZXMgIzQyNjk3Mi4KCjIwMDctMDQtMTAgMDk6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgZW1pdGluZyBwdCBtYXAgc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBGaXggc2lnbmFscy4KCjIwMDctMDQtMDYgMTI6Mjg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUHJvdmlkZSBhIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9wcm92aWRlX2Nsb2NrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJvdmlkZSBhIGNsb2NrLgoKMjAwNy0wNC0wNiAxMjowNzozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoKMjAwNy0wNC0wNSAxNjoxMDoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgRml4IGRvdWJsZSB1bnJlZigpIGluIGVycm9yIGNhc2VzLgoKMjAwNy0wNC0wNSAxNTowNToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgIFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoKMjAwNy0wNC0wNSAxMzo1NDoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgQWRkZWQgUlRQU3RyZWFtIHRvIG1hbmFnZSBzdHJlYW0gcGVyIFNTUkMsIGVhY2ggd2l0aCBpdHMgb3duCgkgIGppdHRlcmJ1ZmZlciBhbmQgcHRkZW11eC4KCSAgQWRkZWQgU1NSQ0RlbXV4LgoJICBDb25uZWN0IHRvIHZhcmlvdXMgU1NSQyBhbmQgUFQgc2lnbmFscyBhbmQgY3JlYXRlIGdob3N0cGFkcywgbGluayBzdHVmZi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIHJ0cGJpbiB0byBlbGVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IGNhcHMgYW5kIGZvcndhcmQgR3N0Rmxvd1JldHVybgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgZXZlbnQgaGFuZGxpbmcKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcnRwX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcnRwX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIG5ldy1wdC1wYWQgc2lnbmFsLgoKMjAwNy0wNC0wNSAxMzo0OToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9ubC5wbzoKCSAgdXBkYXRlIGR1dGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZHV0Y2gKCjIwMDctMDQtMDUgMTM6NDU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdWJtaXR0ZWQgYnk6IE1vZ2VucyBKYWVnZXIgPG1vZ2Vuc0BqYWVnZXIudGY+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9kYS5wbzoKCSAgQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wNC0wNCAxMDoyMzoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCjIwMDctMDQtMDQgMDc6MzY6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLSBlc3RhYmxpc2hpbmcgbGlua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtCgkgIGVzdGFibGlzaGluZyBsaW5rcy4KCjIwMDctMDQtMDMgMjI6MzY6NDcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoKMjAwNy0wNC0wMyAxMzoyNzoyMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIHJ0cCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIHJ0cCBwbHVnaW4KCjIwMDctMDQtMDMgMTE6MzU6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgoyMDA3LTA0LTAzIDA5OjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06IEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoKMjAwNy0wNC0wMyAwOToxMzoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoYXN5bmNfaml0dGVyX3F1ZXVlX25ldyksCgkgIChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9oaWdoX3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X21heF9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2dldF9nX3F1ZXVlKSwgKGNhbGN1bGF0ZV90c19kaWZmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bmxvY2spLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfaW5zZXJ0X2FmdGVyX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3ApLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9ibG9ja2luZ191bmxvY2tlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChuZXdfcGFkKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZnJlZV9zdHJlYW0pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChnc3RfcnRwX2NsaWVudF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfY2xhc3NfaW5pdCksIChnc3RfcnRwX2NsaWVudF9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2ZpbmFsaXplKSwgKGdzdF9ydHBfY2xpZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2NsaWVudF9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9jbGllbnRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2NsaWVudF9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChmcmVlX2Z1bmMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKHByaXZfY29tcGFyZV9ydHBfc2VxX2x0KSwKCSAgKGNvbXBhcmVfcnRwX2J1ZmZlcnNfc2VxX251bSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3B0X2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZ2V0Y2FwcyksIChmaW5kX3BhZF9mb3JfcHQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgoyMDA3LTAzLTMwIDA0OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aCB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoCgkgIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aGlzIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGNvbnZlcnQKCSAgdG8gYWNjZXB0ZWQgZm9ybWF0cyBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIHRoZSBlbGVtZW50IGZvciBuKjggZGVwdGhzLgoJICBUaGlzIGFsc28gYWRkcyBzdXBwb3J0IGZvciBub24tbio4IGRlcHRocyBhbmQgcHJldmVudHMgc29tZSB1c2VsZXNzCgkgIG1lbW9yeSBhbGxvY2F0aW9ucy4gRml4ZXMgIzQyMTU5OAoJICBBbHNvIGFkZCBhIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQyIGluIHdhdnBhY2tlbmMgZm9yIG5vdy4uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENvbnNpZGVyIHRoZSBjaGFuZ2UgYWJvdmUgaW4gdGhlIHVuaXQgdGVzdHMgYW5kIHRlc3QgaWYgdGhlIGNvcnJlY3QKCSAgY2FwcyBhcmUgYWNjZXB0ZWQgYW5kIHNldC4gQWxzbyBjaGVjayBmb3IgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIGluCgkgIHRoZSB3YXZwYWNrcGFyc2UgdW5pdCB0ZXN0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKToKCSAgU2V0IGNhcHMgb24gdGhlIHNyYyBwYWQgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgRml4IGluZGVudGlvbi4gZ3N0LWluZGVudCBpcyBub3cgY2FsbGVkIGJ5IGNpY2wuCgoyMDA3LTAzLTI4IDE1OjE3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcyB3aXRoIGgyNjQgdmlkZW8pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfY3R0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzCgkgIHdpdGggaDI2NCB2aWRlbykuCgkgIFVzZSB0aGUgb2Zmc2V0IHByZXNlbnQgaW4gJ2N0dHMnIHRvIGNhbGN1bGF0ZSB0aGUgUFRTIGZvciBlYWNoIHBhY2tldAoJICBhbmQgc2V0IHRoZSBQVFMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzQyMzI4MwoKMjAwNy0wMy0yNyAxODowMDo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLmM6IEFkZCBzb21lIGRlYnVnIGxvZyBhbmQgZml4IGEgc3R1cGlkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NoYWluKTogQWRkIHNvbWUKCSAgZGVidWcgbG9nIGFuZCBmaXggYSBzdHVwaWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBidWcuCgoyMDA3LTAzLTI2IDE0OjQ5OjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIGZvciB4MjY0IGVuY29kZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgZm9yIHgyNjQgZW5jb2RlcgoKMjAwNy0wMy0yNSAxMzowNjoyNiArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgQWRkIGxpYngyNjQtYmFzZWQgaDI2NCBlbmNvZGVyIHBsdWdpbiAoIzQyMTExMCkuIFByb2JhYmx5IGRvZXNuJ3QgaGFuZGxlICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cyBjb3JyZWN0bHkgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzIGF0IGl0b25pcyB0dj4KCSAgUGF0Y2ggYnk6IEpvc2VmIFpsb21layA8am9zZWYuemxvbWVrIGF0IGl0b25pcyB0dj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19tZV9nZXRfdHlwZSksCgkgIChnc3RfeDI2NF9lbmNfYW5hbHlzZV9nZXRfdHlwZSksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9mcmVlKSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfcHV0KSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfZ2V0KSwgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19jbG9zZV9lbmNvZGVyKSwgKGdzdF94MjY0X2VuY19kaXNwb3NlKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwgKGdzdF94MjY0X2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIEFkZCBsaWJ4MjY0LWJhc2VkIGgyNjQgZW5jb2RlciBwbHVnaW4gKCM0MjExMTApLiBQcm9iYWJseSBkb2Vzbid0CgkgIGhhbmRsZSAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMgY29ycmVjdGx5IHlldC4KCjIwMDctMDMtMjQgMTk6NDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50byAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6CgkgIFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8KCSAgMS1jaGFubmVsIG91dHB1dCBjYXBzIChJIGd1ZXNzIHRlY2huaWNhbGx5IHdlIHNob3VsZCBzZXQgdGhlCgkgIHBvc2l0aW9uIGZvciBlYWNoIGNoYW5uZWwgb24gdGhlIG91dHB1dCBjYXBzIGlmIGl0J3Mgbm9uLU5PTkUsCgkgIGJ1dCBJJ2xsIHNhdmUgdGhhdCBhcyBhIHRhc2sgZm9yIGFub3RoZXIgZGF5KS4KCjIwMDctMDMtMjMgMTg6NDE6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92bW5jL3ZtbmNkZWMuYzogUmVkZXNpZ24gdG8gaW5jbHVkZSBhIHBhcnNlciBmb3IgcmF3IGZpbGVzIChubyB0aW1lc3RhbXBzIGluIHRoYXQgbW9kZSB5ZXQsIHRob3VnaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKGdzdF92bW5jX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF92bW5jX2RlY19pbml0KSwgKHZtbmNfZGVjX2ZpbmFsaXplKSwgKGdzdF92bW5jX2RlY19yZXNldCksCgkgICh2bW5jX2hhbmRsZV93bXZpX3JlY3RhbmdsZSksIChyZW5kZXJfY29sb3VyX2N1cnNvciksCgkgIChyZW5kZXJfY3Vyc29yKSwgKHZtbmNfbWFrZV9idWZmZXIpLCAodm1uY19oYW5kbGVfd212ZF9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212ZV9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212Zl9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212Z19yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212aF9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212al9yZWN0YW5nbGUpLCAocmVuZGVyX3Jhd190aWxlKSwgKHJlbmRlcl9zdWJyZWN0KSwKCSAgKHZtbmNfaGFuZGxlX3Jhd19yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfY29weV9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfaGV4dGlsZV9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfcGFja2V0KSwKCSAgKHZtbmNfZGVjX3NldGNhcHMpLCAodm1uY19kZWNfY2hhaW5fZnJhbWUpLCAodm1uY19kZWNfY2hhaW4pLAoJICAodm1uY19kZWNfc2V0X3Byb3BlcnR5KSwgKHZtbmNfZGVjX2dldF9wcm9wZXJ0eSk6CgkgIFJlZGVzaWduIHRvIGluY2x1ZGUgYSBwYXJzZXIgZm9yIHJhdyBmaWxlcyAobm8gdGltZXN0YW1wcyBpbiB0aGF0CgkgIG1vZGUgeWV0LCB0aG91Z2gpLgoKMjAwNy0wMy0yMiAyMjoxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mIHNvdXJjZSBwYWRzIC0gdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pOgoJICBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mCgkgIHNvdXJjZSBwYWRzIC0gdGhlcmUgYXJlIG5vIGd1YXJhbnRlZXMgYWJvdXQgdGhlIG9yZGVyIG9mIHRoZSBsaXN0CgkgIGluIHRoZSBHc3RFbGVtZW50IHN0cnVjdCwgYW5kIHdlIHdhbnQgYSB2ZXJ5IHNwZWNpZmljIG9yZGVyOyBsYXN0bHksCgkgIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgoyMDA3LTAzLTIyIDIxOjA3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQWxsb2MgdXNlciBhZ2VudCBzdHJpbmcgb25seSBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19pbml0KToKCSAgQWxsb2MgdXNlciBhZ2VudCBzdHJpbmcgb25seSBvbmNlLgoKMjAwNy0wMy0yMiAxNjoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzIGlzIG5vIGNsZWFuIHNvbHV0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcwoJICBpcyBubyBjbGVhbiBzb2x1dGlvbiBhbmQgaW4gZ2VuZXJhbCB0aGVyZSdzIG5vIHJlYXNvbiB3aHkgb25lIHdhbnRzCgkgIHRvIHBhcnNlIGZyYW1lZCB3YXZwYWNrIGRhdGEgYWdhaW4uCgoyMDA3LTAzLTIyIDE1OjUyOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzCgkgIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2tkZWMgISBzb21lYXVkaW9zaW5rIiBwaXBlbGluZXMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIEFjY2VwdCBmcmFtZWQgYW5kIG5vbi1mcmFtZWQgaW5wdXQsIHdhdnBhY2twYXJzZSBkb2Vzbid0IGNhcmUuIFRvCgkgIHByZXZlbnQgIndhdnBhY2twYXJzZSAhIHdhdnBhY2twYXJzZSAhIC4uLiIgcGlwZWxpbmVzIGxvd2VyIHRoZQoJICByYW5rIG9mIHdhdnBhY2twYXJzZSBieSBvbmUuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja3BhcnNlICEKCSAgLi4uIiBwaXBlbGluZXMuCgoyMDA3LTAzLTIyIDE0OjM3OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06IFVzZSBHU1RfQUxMX0xERkxBR1MsIHdoaWNoIGFjdHVhbGx5IGV4aXN0cywgYnV0IG1heWJlIERhdmlkIGNhbiBjb25maXJtIHRoYXQgd2FzIHdoYXQgaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0FMTF9MREZMQUdTLCB3aGljaCBhY3R1YWxseSBleGlzdHMsIGJ1dCBtYXliZSBEYXZpZAoJICBjYW4gY29uZmlybSB0aGF0IHdhcyB3aGF0IGhlIHdhbnRlZC4KCjIwMDctMDMtMjIgMTE6MDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgVGhhbmtzIHRvIEphbiBhbmQgTWlrZSBmb3Igbm90aWNpbmcgbXkgbWlzdGFrZS4KCjIwMDctMDMtMjIgMDA6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QgYXMgYSBwb2ludGVyIHRvIHNhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QKCSAgYXMgYSBwb2ludGVyIHRvIHNhdmUgdHdvIHNtYWxsLCBidXQgdXNlbGVzcyBtYWxsb2NzLiBUaGlzIGFsc28gbWFrZXMKCSAgaXQgcG9zc2libGUgdG8gZHJvcCB0aGUgZmluYWxpemUgbWV0aG9kLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpOgoJICBGb3IgY29uc2lzdGVuY3kgcmVhc29ucyBhbHNvIHNldCBHU1RfQlVGRkVSX09GRlNFVF9FTkQgb24gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlcnMgdGhlIHNhbWUgd2F5IHdhdnBhY2tlbmMgZG9lcyBpdC4KCjIwMDctMDMtMjEgMjM6NTA6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIEJhc2VUcmFuc2Zvcm0tYmFzZWQgZWxlbWVudHMgd2lsbCBsaWtlbHkgYnJlYWsgYmVjYXVzZSBvZiB3cm9uZwoJICB1bml0LXNpemUuIEFsc28gcGx1ZyBhIHBvc3NpYmxlIG1lbWxlYWsgdGhhdCBoYXBwZW5zIHdoZW4gZGVjb2RpbmcKCSAgZmFpbHMgZm9yIHNvbWUgcmVhc29uLgoKMjAwNy0wMy0xOCAxNzo1Nzo0OCArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkIGNhdXNlIGRlYWRsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKToKCSAgRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkCgkgIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDctMDMtMTYgMTg6Mzg6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoKMjAwNy0wMy0xNiAxNjoyNzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYSBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2UKCSAgd2lsbCBjb250YWluIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgY3JlYXRlZCBOU1ZpZXcuCgoyMDA3LTAzLTE2IDExOjIyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS86IE1vdmUgdGhlIE1QRUcgc3BlY2lmaWMgYnl0ZSBwYXJzaW5nIGludG8gdGhlIG1wZWdwYWNrZXRpc2VyIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ191dGlsX2ZpbmRfc3RhcnRfY29kZSksCgkgIChjb2xsZWN0X3BhY2tldHMpLCAoc2V0X3Bhcl9mcm9tX2RhciksIChzZXRfZnBzX2Zyb21fY29kZSksCgkgIChtcGVnX3V0aWxfcGFyc2VfZXh0ZW5zaW9uX3BhY2tldCksIChtcGVnX3V0aWxfcGFyc2Vfc2VxdWVuY2VfaGRyKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9waWN0dXJlX2hkcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3BpY3R1cmUpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgTW92ZSB0aGUgTVBFRyBzcGVjaWZpYyBieXRlIHBhcnNpbmcgaW50byB0aGUgbXBlZ3BhY2tldGlzZXIgY29kZS4KCSAgQWRkIHBhcnNpbmcgb2YgcGljdHVyZSB0eXBlcywgdGhhdCBqdXN0IGZlZWRzIGludG8gYSBkZWJ1ZyBtZXNzYWdlCgkgIGZvciBub3cuCgkgIEZpeCBzb21lIDY0LWJpdCBmb3JtYXQgc3RyaW5ncy4KCjIwMDctMDMtMTYgMTA6MTU6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgoyMDA3LTAzLTE2IDA5OjU3OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzogQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpOgoJICBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoKMjAwNy0wMy0xNSAyMDo0ODowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IG1wZWcxdmlkZW9wYXJzZSB0byAwLjEwIGFuZCBnaXZlIGl0IHJhbmsgU0VDT05EQVJZLTEsIHNvIHRoYXQgaXQncyBiZWxvdyBleGlzdGluZyBkZWNvZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9tcDF2aWRlb3BhcnNlLnZjcHJvajoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3BhY2tldGlzZXJfaW5pdCksCgkgIChtcGVnX3BhY2tldGlzZXJfZnJlZSksIChtcGVnX3BhY2tldGlzZXJfYWRkX2J1ZiksCgkgIChtcGVnX3BhY2tldGlzZXJfZmx1c2gpLCAobXBlZ19maW5kX3N0YXJ0X2NvZGUpLAoJICAoZ2V0X25leHRfZnJlZV9ibG9jayksIChjb21wbGV0ZV9jdXJyZW50X2Jsb2NrKSwKCSAgKGFwcGVuZF90b19jdXJyZW50X2Jsb2NrKSwgKHN0YXJ0X25ld19ibG9jayksIChoYW5kbGVfcGFja2V0KSwKCSAgKGNvbGxlY3RfcGFja2V0cyksIChtcGVnX3BhY2tldGlzZXJfaGFuZGxlX2VvcyksCgkgIChtcGVnX3BhY2tldGlzZXJfZ2V0X2Jsb2NrKSwgKG1wZWdfcGFja2V0aXNlcl9uZXh0X2Jsb2NrKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKG1wZWd2aWRlb3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NsYXNzX2luaXQpLAoJICAobXB2X3BhcnNlX3Jlc2V0KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9pbml0KSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9kaXNwb3NlKSwgKHNldF9wYXJfZnJvbV9kYXIpLAoJICAoc2V0X2Zwc19mcm9tX2NvZGUpLCAobXBlZ3ZpZGVvcGFyc2VfcGFyc2Vfc2VxKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV90aW1lX2NvZGUpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UudmNwcm9qOgoJICBQb3J0IG1wZWcxdmlkZW9wYXJzZSB0byAwLjEwIGFuZCBnaXZlIGl0IHJhbmsgU0VDT05EQVJZLTEsIHNvCgkgIHRoYXQgaXQncyBiZWxvdyBleGlzdGluZyBkZWNvZGVycy4KCSAgUmVuYW1lIGl0IHRvIG1wZWd2aWRlb3BhcnNlIHRvIHJlZmxlY3QgdGhhdCBpdCBoYW5kbGVzIE1QRUctMSBhbmQKCSAgTVBFRy0yIG5vdy4KCSAgUmUtd3JpdGUgdGhlIHBhcnNpbmcgY29kZSBzbyB0aGF0IGl0IGNvbGxlY3RzIHBhY2tldHMgZGlmZmVyZW50bHkKCSAgYW5kIHRpbWVzdGFtcHMgUGljdHVyZSBwYWNrZXRzIGNvcnJlY3RseS4KCSAgQWRkIGEgbGlzdCBvZiBGSVhNRSdzIGF0IHRoZSB0b3AuCgoyMDA3LTAzLTE1IDEwOjUyOjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IHRyaWdnZXIgZGlzY29udGludWl0aWVzIGZvciB2ZXJ5IHNtYWxsIGltcGVyZmVjdGlvbnM7IGEgZmlsdGVyIGZsdXNoIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgRG9uJ3QgdHJpZ2dlciBkaXNjb250aW51aXRpZXMgZm9yIHZlcnkgc21hbGwgaW1wZXJmZWN0aW9uczsgYSBmaWx0ZXIKCSAgZmx1c2ggd2lsbCBzb3VuZCBiYWQsIGFuZCBtYW55IHBsdWdpbnMgaGF2ZSByb3VuZGluZyBlcnJvcnMgbGVhZGluZwoJICB0byB0aGVzZS4KCjIwMDctMDMtMTQgMTc6MTY6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBIYW5kbGUgZGlzY29udGludW91cyBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChhdWRpb3Jlc2FtcGxlX2RvX291dHB1dCksCgkgIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSksIChhdWRpb3Jlc2FtcGxlX3B1c2h0aHJvdWdoKTogSGFuZGxlCgkgIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb3Jlc2FtcGxlX3N1aXRlKTogQWRkIGEgdGVzdCBmb3IgZGlzY29udGludW91cyBzdHJlYW1zLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDogVXBkYXRlZC4KCjIwMDctMDMtMTQgMTY6MzM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCjIwMDctMDMtMTQgMTY6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgQWNjZXB0IGFueSBraW5kIG9mIHJlc29sdXRpb25zLgoJICBXb3JrcyBpbiBmdWxsc2NyZWVuLiBDYW4gbWF4aW1pemUuCgkgIE9ubHkgdGhpbmcgbGVmdCBiZWZvcmUgYmVpbmcgYWJsZSB0byBtb3ZlIHRoaXMgdG8gLWdvb2QgaXMgZG9jdW1lbnRhdGlvbgoJICBhbmQgZW1iZWRkZWQgd2luZG93IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE1OjMzOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL3N2LnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDMtMTQgMTQ6NDg6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBTaW5jZSBJIHJlYWxseSBhbSBub3QgaW50ZXJlc3RlZCBpbiBhIGRlYnVnIGxpbmUgZm9yIGVhY2ggc2FtcGxlIGJlaW5nIHByb2Nlc3NlZCwgbW92ZSB0aGUgbGlicmFyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2luaXQpOgoJICBTaW5jZSBJIHJlYWxseSBhbSBub3QgaW50ZXJlc3RlZCBpbiBhIGRlYnVnIGxpbmUgZm9yIGVhY2ggc2FtcGxlCgkgIGJlaW5nIHByb2Nlc3NlZCwgbW92ZSB0aGUgbGlicmFyeSdzIGRlYnVnZ2luZyB0byBpdHMgb3duIGNhdGVnb3J5LAoJICBsaWJhdWRpb3Jlc2FtcGxlCgoyMDA3LTAzLTE0IDE0OjQ4OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KToKCSAgQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQWRkIHNvbWUgY29tbWVudHMgYWJvdXQgZmxvYXQgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTQ6MDk6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBhZGQgZGVidWdnaW5nIGFuZCByZWZvcm1hdCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGVidWdnaW5nIGFuZCByZWZvcm1hdCBkb2NzCgoyMDA3LTAzLTEzIDE4OjAxOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVnYXVkaW9wYXJzZS86IFJlbW92ZSBib2d1cyAybmQgY29weSBvZiBtcDNwYXJzZSAtIGl0J3MgYWN0dWFsbHkgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvbXBlZ2F1ZGlvcGFyc2UudmNwcm9qOgoJICBSZW1vdmUgYm9ndXMgMm5kIGNvcHkgb2YgbXAzcGFyc2UgLSBpdCdzIGFjdHVhbGx5CgkgIGluIC11Z2x5LgoKMjAwNy0wMy0xMiAxMTo0Nzo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZTogVGhlIGJ1aWxkYm90IGRlbWFuZHMgLmN2c2lnbm9yZSBmaWxlcywgYW5kIEkgY29tcGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgVGhlIGJ1aWxkYm90IGRlbWFuZHMgLmN2c2lnbm9yZSBmaWxlcywgYW5kIEkgY29tcGx5LgoKMjAwNy0wMy0xMSAyMjoyMzowNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAwNy0wMy0xMSAwMDo0ODoyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYXBwc3JjL2FwcHNpbmsgZXhhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgIEFkZCBhcHBzcmMvYXBwc2luayBleGFtcGxlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBBZGQgYXBwc2luay4KCjIwMDctMDMtMTAgMjA6MTA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBQcmludGYgZm9ybWF0IHN0cmluZyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChOQVNfY3JlYXRlRmxvdyk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogKGdzdF9zZl9zcmNfY3JlYXRlKToKCSAgUHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4ZXMuCgoyMDA3LTAzLTA5IDA4OjU4OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZSBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZQoJICBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW5kIGlzIGNvbnRyb2xhYmxlLiBNb3JlIHN1YmNsYXNzZXMgd2lsbAoJICBmb2xsb3cuCgoyMDA3LTAzLTA4IDE1OjI0OjUyICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrLzogTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2Ugd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW5jbHVkZXMgcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9pbml0KSwKCSAgKGphY2tfcHJvY2Vzc19jYiksIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLAoJICAoamFja19zaHV0ZG93bl9jYiksIChjb25uZWN0aW9uX2ZpbmQpLAoJICAoZ3N0X2phY2tfYXVkaW9fbWFrZV9jb25uZWN0aW9uKSwgKGdzdF9qYWNrX2F1ZGlvX2dldF9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9hZGRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fcmVtb3ZlX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfbmV3KSwgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9mcmVlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9nZXRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSAgTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2UKCSAgd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZWN0ZWQgamFjayBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIGphY2sKCSAgY29ubmVjdGlvbi4KCSAgTWFrZSBzb21lIHN0dWZmIGEgYml0IG1vcmUgdGhyZWFkc2FmZS4KCSAgQWN0aXZhdGUgdGhlIGphY2sgY2xpZW50IEFTQVAuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2ZyZWVfY2hhbm5lbHMpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgVXNlIG5ldyBjbGllbnQgb2JqZWN0IHRvIG1hbmFnZSBjb25uZWN0aW9ucy4KCSAgRG9uJ3QgcmVtb3ZlIGFuZCByZWNyZWF0ZSBhbGwgcG9ydHMsIHRyeSB0byByZXVzZSB0aGVtLgoKMjAwNy0wMy0wNyAxMjowNzowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3dyaXRlX2J5dGVzKToKCSAgVXNlIHRoZSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgaGVyZSB0b28gYW5kIGFkZCBkZWJ1ZwoJICBvdXRwdXQgdG8gdGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBub3QgYmUgY2FsbGVkIGF0IGFsbCBieQoJICB0aGUgd2F2cGFjayBsaWJyYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQ2hhbmdlIGRlYnVnZ2luZyBjYXRlZ29yeSBuYW1lcyB0byBjb25mb3JtIHRvIHRoZSBjb252ZW50aW9ucy4KCjIwMDctMDMtMDcgMTE6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZwoJICBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZGVtdXguYyB3b3VsZCBlbmQgdXAgaW4gdGhlIGRlZmF1bHQgY2F0ZWdvcnkuCgoyMDA3LTAzLTA3IDExOjIzOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjawoJICBzZWdtZW50LgoKMjAwNy0wMy0wNiAxMzo1Nzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBBZGQgRklYTUVzIGZvciBzdHVmZiB0aGF0IGxvb2tzIHJhdGhlciB3cm9uZy4KCjIwMDctMDMtMDUgMDg6MzA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoKMjAwNy0wMy0wNCAyMTozNjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uYXMvbmFzc2luay5jOiBTb21lIG1vcmUgY2xlYW51cHMvY2hhbmdlczsgdXNlIGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9uYXNfc2lua19pbml0KSwgKGdzdF9uYXNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9uYXNfc2lua191bnByZXBhcmUpOgoJICBTb21lIG1vcmUgY2xlYW51cHMvY2hhbmdlczsgdXNlIGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNy0wMy0wNCAyMDozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uYXMvOiBCdW5jaCBvZiBuYXNzaW5rIGNsZWFuLXVwczogbWFrZSBidWlsZCBieSBhZGRpbmcgdGhlIHJpZ2h0IENGTEFHUyBhbmQgTElCUyB0byBNYWtlZmlsZS5hbTsgcmVuYW1lIHN0cnVjdHVyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvUkVBRE1FOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc19zaW5rX2dldF90eXBlKSwKCSAgKGdzdF9uYXNfc2lua19iYXNlX2luaXQpLCAoZ3N0X25hc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X25hc19zaW5rX2luaXQpLCAoZ3N0X25hc19zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9uYXNfc2lua19nZXRjYXBzKSwgKGdzdF9uYXNfc2lua19wcmVwYXJlKSwKCSAgKGdzdF9uYXNfc2lua191bnByZXBhcmUpLCAoZ3N0X25hc19zaW5rX2RlbGF5KSwKCSAgKGdzdF9uYXNfc2lua19yZXNldCksIChnc3RfbmFzX3Npbmtfd3JpdGUpLAoJICAoZ3N0X25hc19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfbmFzX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uYXNfc2lua19vcGVuKSwgKGdzdF9uYXNfc2lua19jbG9zZSksIChOQVNfZmx1c2gpLAoJICAoTkFTX3NlbmREYXRhKSwgKE5BU19FdmVudEhhbmRsZXIpLCAoZ3N0X25hc19zaW5rX3NpbmtfZ2V0X2Zvcm1hdCksCgkgIChOQVNfY3JlYXRlRmxvdyksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgIEJ1bmNoIG9mIG5hc3NpbmsgY2xlYW4tdXBzOiBtYWtlIGJ1aWxkIGJ5IGFkZGluZyB0aGUgcmlnaHQgQ0ZMQUdTCgkgIGFuZCBMSUJTIHRvIE1ha2VmaWxlLmFtOyByZW5hbWUgc3RydWN0dXJlLCBtYWNyb3MgYW5kIGZ1bmN0aW9ucwoJICBhY2NvcmRpbmcgdG8gY2Fub25pY2FsIG5hbWluZyBzY2hlbWU7IG1vdmUgc29tZSB0aGluZ3MgYXJvdW5kIGEgYml0OwoJICB1c2UgR1NUX0NBVF9ERUZBVUxUIGluc3RlYWQgb2YgR1NUX0NBVF8qIGV2ZXJ5d2hlcmU7IHJlbW92ZSBSRUFETUUKCSAgZmlsZSB0aGF0IGRpZG4ndCByZWFsbHkgY29udGFpbiBhbnkgdXNlZnVsIGluZm9ybWF0aW9uIGFueXdheSAodGhlCgkgIHVzZWZ1bCBiaXRzIGhhdmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSAnaG9zdCcgcHJvcGVydHkgZGVzY3JpcHRpb24pLgoKMjAwNy0wMy0wNCAxNjozODozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IENoYWluIHVwIGluIGZpbmFsaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKToKCSAgQ2hhaW4gdXAgaW4gZmluYWxpemUuCgoyMDA3LTAzLTAzIDIyOjI4OjAzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBGaXggdXAgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICBGaXggdXAgZGlzdC4KCjIwMDctMDMtMDMgMjI6MTM6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBWTW5jIGRlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6IChnc3Rfdm1uY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF92bW5jX2RlY19jbGFzc19pbml0KSwgKGdzdF92bW5jX2RlY19pbml0KSwKCSAgKGdzdF92bW5jX2RlY19yZXNldCksICh2bW5jX2hhbmRsZV93bXZpX3JlY3RhbmdsZSksCgkgIChyZW5kZXJfY29sb3VyX2N1cnNvciksIChyZW5kZXJfY3Vyc29yKSwgKHZtbmNfbWFrZV9idWZmZXIpLAoJICAodm1uY19oYW5kbGVfd212ZF9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212ZV9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212Zl9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212Z19yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212aF9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212al9yZWN0YW5nbGUpLAoJICAocmVuZGVyX3Jhd190aWxlKSwgKHJlbmRlcl9zdWJyZWN0KSwgKHZtbmNfaGFuZGxlX3Jhd19yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfaGV4dGlsZV9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfcGFja2V0KSwKCSAgKHZtbmNfZGVjX3NldGNhcHMpLCAodm1uY19kZWNfY2hhaW4pLCAodm1uY19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKHZtbmNfZGVjX3NldF9wcm9wZXJ0eSksICh2bW5jX2RlY19nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgVk1uYyBkZWNvZGVyLgoJICBTdGlsbCBtaXNzaW5nIHN1cHBvcnQgZm9yOgoJICAtIHJlY3RhbmdsZSB0eXBlcyBJIGRpZG4ndCBmaW5kIGluIG15IHNhbXBsZXMgKGUuZy4gY29weSwgUlJFLAoJICBaUkxFKQoJICAtIGFscGhhLWNvbXBvc2l0ZWQgY3Vyc29ycwoKMjAwNy0wMy0wMyAxMDoyMzowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOiBJbnN0YWxsIHRoZSBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICBJbnN0YWxsIHRoZSBoZWFkZXJzLgoKMjAwNy0wMy0wMyAxMDoxMDozMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwLzogQWRkIEdzdEFwcEJ1ZmZlciB0aGF0IGluY2x1ZGVzIGEgY2FsbGJhY2sgYW5kIGNsb3N1cmUgZm9yIHByb3BlciBoYW5kbGluZyBvZiBkYXRhIGNodW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgQWRkIEdzdEFwcEJ1ZmZlciB0aGF0IGluY2x1ZGVzIGEgY2FsbGJhY2sgYW5kIGNsb3N1cmUgZm9yCgkgIHByb3BlciBoYW5kbGluZyBvZiBkYXRhIGNodW5rcy4KCjIwMDctMDMtMDMgMDk6MDY6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogSGFja2luZyB0byBhZGRyZXNzIGlzc3VlcyBpbiA0MTM0MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgSGFja2luZyB0byBhZGRyZXNzIGlzc3VlcyBpbiA0MTM0MTguCgoyMDA3LTAzLTAzIDA4OjE2OjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1vdmUgdGhlIGFwcCBsaWJyYXJ5IHRvIGdzdC1saWJzL2dzdC9hcHAgKGR1aCEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTW92ZSB0aGUgYXBwIGxpYnJhcnkgdG8gZ3N0LWxpYnMvZ3N0L2FwcCAoZHVoISkKCjIwMDctMDMtMDIgMTk6NDM6NDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgQ29tbWl0IE5BUyBTaW5rLCBjbG9zZWQgYnVnemlsbGEgMzQ1NjMzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb21taXQgTkFTIFNpbmssIGNsb3NlZCBidWd6aWxsYSAzNDU2MzMKCjIwMDctMDMtMDIgMTg6MjQ6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBBIGZldyBzbWFsbCBjbGVhbi11cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpLCAoZ3N0X2R0c2RlY19zaW5rX2V2ZW50KToKCSAgQSBmZXcgc21hbGwgY2xlYW4tdXBzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBNb3JlIGRlYnVnIG91dHB1dCBmb3IgZmFpbHVyZSBjYXNlcy4KCjIwMDctMDMtMDIgMTg6MTA6MDYgKzAwMDAgIFlvdW5nLUhvIENoYSA8Z2FuYWRpc3RAY2hvbGxpYW4ubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogRG9uJ3QgZG8gZm9yY2VkIGRvd25taXhpbmcgdG8gc3RlcmVvLCBidXQgY2hlY2sgd2hhdCBkb3duc3RyZWFtIGNhbiBkbyBhbmQgbGV0IGxpYmR0cyBkbyB0aGUgZG93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmctSG8gQ2hhICA8Z2FuYWRpc3QgYXQgY2hvbGxpYW4gbmV0PgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2hhbmRsZV9mcmFtZSksCgkgIChnc3RfZHRzZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGRvIGZvcmNlZCBkb3dubWl4aW5nIHRvIHN0ZXJlbywgYnV0IGNoZWNrIHdoYXQgZG93bnN0cmVhbQoJICBjYW4gZG8gYW5kIGxldCBsaWJkdHMgZG8gdGhlIGRvd25taXhpbmcgYmFzZWQgb24gdGhhdCAoIzQwMDU1NSkuCgoyMDA3LTAzLTAyIDEzOjMzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIHNwdXJpb3VzIGNvbmZsaWN0IG1hcmtlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHNwdXJpb3VzIGNvbmZsaWN0IG1hcmtlcgoKMjAwNy0wMy0wMiAxMjowNDowMiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogU2ltcGxpZnkgX3NldF91cmkoKSBhbmQgX3NldF9wcm94eSgpIGFuZCByZW1vdmUgdGhlIHVudXNlZCBpc2h0dHAgbWVtYmVyICgjMzg4MDUwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgIDxsdXR6IHRvcGZyb3NlIGRlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3VyaSksIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm94eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgU2ltcGxpZnkgX3NldF91cmkoKSBhbmQgX3NldF9wcm94eSgpIGFuZCByZW1vdmUgdGhlIHVudXNlZCBpc2h0dHAKCSAgbWVtYmVyICgjMzg4MDUwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYm9ndXMgVVJJIHRvIHNvbWV0aGluZyB0aGF0IGFjdHVhbGx5IGV4aXN0cywgb3RoZXJ3aXNlIHdlIGp1c3QKCSAgYnlwYXNzIHRoZSB0ZXN0IChhbmQgYWxzbyB0byBzb21ldGhpbmcgdGhhdCBkb2Vzbid0IHJlZGlyZWN0LCBzaW5jZQoJICBuZW9uaHR0cHNyYyBkb2Vzbid0IHNlZW0gdG8gaGFuZGxlIHRoaXMgdmVyeSBncmFjZWZ1bGx5IHlldCkKCjIwMDctMDMtMDIgMTE6MTQ6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgQWRkIHBhdGNoIGZyb20gQnVnIDM1NzA1NSBmcm9tIENocmlzIExvcmQsIGFkZGluZyBzdXBwb3J0IGZvciBWb3JiaXMgc3RyZWFtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHBhdGNoIGZyb20gQnVnIDM1NzA1NSBmcm9tIENocmlzIExvcmQsIGFkZGluZyBzdXBwb3J0IGZvciBWb3JiaXMgc3RyZWFtcwoKMjAwNy0wMy0wMSAxNzoyNzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbgoJICBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2ZXJzaW9ucy4KCjIwMDctMDItMjggMTk6MzE6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMjcgMTE6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seSBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkKCSAgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgd2l0aGluIGFuIE5TQXBwICh3aGljaCBoYXMgYWxyZWFkeSBnb3QKCSAgYSBjb2NhIGV2ZW50IGxvb3ApLgoJICBSZW1vdmUgYWxsIHVudXNlZCBjb2RlLgoKMjAwNy0wMi0yNiAyMTowMTowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYSBuZXcgcGx1Z2luL2xpYnJhcnkgdG8gbWFrZSBpdCBlYXN5IGZvciBhcHBzIHRvIHNob3ZlIGRhdGEgaW50byBhIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGEgbmV3IHBsdWdpbi9saWJyYXJ5IHRvIG1ha2UgaXQgZWFzeSBmb3IgYXBwcyB0byBzaG92ZQoJICBkYXRhIGludG8gYSBwaXBlbGluZS4KCjIwMDctMDItMjYgMTA6MzI6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IFVzZSBnc3RfcGFkX3VzZV9maXhlZF9jYXBzKCkgb24gc291cmNlIHBhZHMsIHRvIGF2b2lkIG5lZ290aWF0aW9uIGVycm9ycyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgKGUuZy4gZGVjICEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCk6CgkgIFVzZSBnc3RfcGFkX3VzZV9maXhlZF9jYXBzKCkgb24gc291cmNlIHBhZHMsIHRvIGF2b2lkIG5lZ290aWF0aW9uCgkgIGVycm9ycyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgKGUuZy4gZGVjICEgY3MgISB4aW1hZ2VzaW5rIGFuZCB0aGUKCSAgaW1hZ2VzaW5rIHdpbmRvdyBpcyByZXNpemVkKTsgYWxzbywgc29tZSBtaW5vciBjbGVhbi11cHMuCgoyMDA3LTAyLTI0IDIyOjUyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgoyMDA3LTAyLTIwIDIxOjM0OjAwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIEFkZCBhIG5ldyB3YXZlZm9ybSBwbHVnaW4gd2hpY2ggaW5jbHVkZXMgYW4gYXVkaW8gc2luawoJICBlbGVtZW50IHVzaW5nIHRoZSBXYXZlRm9ybSB3aW4zMiBBUEkuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB0aGUgbmV3IHByb2plY3QgZmlsZSBmb3JtIHdhdmVmb3JtIHBsdWdpbi4KCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTE2IDE2OjI2OjMxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGVxdWFsaXplciBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBlcXVhbGl6ZXIgcGx1Z2luCgoyMDA3LTAyLTEzIDE0OjIyOjUzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIFwgaW4gTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIFwgaW4gTWFrZWZpbGUuYW0KCjIwMDctMDItMTMgMDk6NDQ6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4gQWxzbyBmaXggdHlwbyBpbiB0aW1pZGl0eS5jZmcgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4gQWxzbyBmaXggdHlwbyBpbgoJICB0aW1pZGl0eS5jZmcgY2hlY2suCgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgIEFsc28gYnVpbGQgaWYgbm8gY29uZmlnIHdhcyBkZXRlY3RlZCBhdCBjb25maWd1cmUgdGltZS4KCjIwMDctMDItMTEgMTU6NDY6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzZWNvbmQgbWlkaSByZW5kZXJlci4gRml4IHNvbWUgZG91YmxlIGZyZWVzIGFuZCBsZWFrcy4gQ2xlYW4gdXAgbG9nZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9iYXNlX2luaXQpLAoJICAoZ3N0X3dpbGRtaWRpX2NsYXNzX2luaXQpLCAoZ3N0X3dpbGRtaWRpX2luaXQpLAoJICAoZ3N0X3dpbGRtaWRpX3NyY19jb252ZXJ0KSwgKGdzdF93aWxkbWlkaV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dpbGRtaWRpX2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF93aWxkbWlkaV9nZXRfc2VnbWVudCksCgkgIChnc3Rfd2lsZG1pZGlfZ2V0X25ld19zZWdtZW50X2V2ZW50KSwgKGdzdF93aWxkbWlkaV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dpbGRtaWRpX2FjdGl2YXRlKSwgKGdzdF93aWxkbWlkaV9hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3dpbGRtaWRpX2FsbG9jYXRlX2J1ZmZlciksIChnc3Rfd2lsZG1pZGlfY2xpcF9idWZmZXIpLAoJICAoZ3N0X3dpbGRtaWRpX2ZpbGxfYnVmZmVyKSwgKGdzdF93aWxkbWlkaV9nZXRfYnVmZmVyKSwKCSAgKGdzdF93aWxkbWlkaV9sb29wKSwgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dpbGRtaWRpX3NldF9wcm9wZXJ0eSksIChnc3Rfd2lsZG1pZGlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93aWxkbWlkaV90eXBlZmluZCksICh3aWxkbWlkaV9vcGVuX2NvbmZpZyksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIEFkZCBzZWNvbmQgbWlkaSByZW5kZXJlci4gRml4IHNvbWUgZG91YmxlIGZyZWVzIGFuZCBsZWFrcy4gQ2xlYW4gdXAKCSAgbG9nZ2luZy4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAyLTExIDExOjU5OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFsc28gdXBkYXRlIHRoZSBjb21tZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBoYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIEFsc28gdXBkYXRlIHRoZSBjb21tZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBoYWNrLgoKMjAwNy0wMi0xMSAxMTozNTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBUZWxsIHRoZSBjb2RlIHdoaWNoIGZhYWQgaXQgaXMsIHNvIHRoYXQgd2UgY2FuIGFkanVzdCB0aGUgaGFja3MgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFRlbGwgdGhlIGNvZGUgd2hpY2ggZmFhZCBpdCBpcywgc28gdGhhdCB3ZSBjYW4gYWRqdXN0IHRoZSBoYWNrcwoJICBuZWVkZWQuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBNYWtlIG91ciBoYWNrcyBkZXBlbmRlbnQgb24gdGhlIGZhZGQgbGliIGluIHVzZS4KCjIwMDctMDItMTEgMTA6NTg6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGZhYWQgZGV0ZWN0aW9uIHRvIHN1cHBvcnQgYWxzbyBmYWRkIHdpdGggbmV3IHN5bWJvbCBwcmVmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGZhYWQgZGV0ZWN0aW9uIHRvIHN1cHBvcnQgYWxzbyBmYWRkIHdpdGggbmV3IHN5bWJvbCBwcmVmaXguCgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoKMjAwNy0wMi0wOCAxNTowMDowMCArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCgkgIEFkZCB0aW1pdGl0eSBtaWRpIHJlbmRlciBwbHVnaW4gKCM0MDM5OTIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X2NsYXNzX2luaXQpLCAoZ3N0X3RpbWlkaXR5X2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X3NldF9zb25nX29wdGlvbnMpLCAoZ3N0X3RpbWlkaXR5X3NyY19jb252ZXJ0KSwKCSAgKGdzdF90aW1pZGl0eV9zcmNfcXVlcnkpLCAoZ3N0X3RpbWlkaXR5X2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF90aW1pZGl0eV9nZXRfc2VnbWVudCksIChnc3RfdGltaWRpdHlfZ2V0X25ld19zZWdtZW50X2V2ZW50KSwKCSAgKGdzdF90aW1pZGl0eV9zcmNfZXZlbnQpLCAoZ3N0X3RpbWlkaXR5X2FjdGl2YXRlKSwKCSAgKGdzdF90aW1pZGl0eV9hY3RpdmF0ZXB1bGwpLCAoZ3N0X3RpbWlkaXR5X2FsbG9jYXRlX2J1ZmZlciksCgkgIChnc3RfdGltaWRpdHlfY2xpcF9idWZmZXIpLCAoZ3N0X3RpbWlkaXR5X2ZpbGxfYnVmZmVyKSwKCSAgKGdzdF90aW1pZGl0eV9nZXRfYnVmZmVyKSwgKGdzdF90aW1pZGl0eV9sb29wKSwKCSAgKGdzdF90aW1pZGl0eV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3RpbWlkaXR5X3R5cGVmaW5kKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSAgQWRkIHRpbWl0aXR5IG1pZGkgcmVuZGVyIHBsdWdpbiAoIzQwMzk5MikKCjIwMDctMDItMDcgMTI6Mjk6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiBHU1RfUEFEX1BBUkVOVCBkb2Vzbid0IHJldHVybiBhIEdzdE9iamVjdCB3aXRoIGFuIGluY3JlbWVudGVkIHJlZmNvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfcXVlcnkpOgoJICBHU1RfUEFEX1BBUkVOVCBkb2Vzbid0IHJldHVybiBhIEdzdE9iamVjdCB3aXRoIGFuIGluY3JlbWVudGVkIHJlZmNvdW50LgoJICBTd2l0Y2hlZCB0byB1c2luZyBnc3RfcGFkX2dldF9wYXJlbnQoKS4KCjIwMDctMDItMDYgMTY6MDA6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSgpIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfY2Fwc19nZXRfc3RydWN0dXJlKCkgY2FsbC4KCjIwMDctMDItMDYgMTA6MTY6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEluY3JlYXNlIHJlcXVpcmVkIGxpYnNuZGZpbGUgdmVyc2lvbiB0byBhIHZlcnNpb24gdGhhdCdzIGtub3duIHRvIGhhdmUgdGhlIGZ1bmN0aW9uIHNmX3dyaXRlX3N5bmMoKSB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBJbmNyZWFzZSByZXF1aXJlZCBsaWJzbmRmaWxlIHZlcnNpb24gdG8gYSB2ZXJzaW9uIHRoYXQncyBrbm93biB0bwoJICBoYXZlIHRoZSBmdW5jdGlvbiBzZl93cml0ZV9zeW5jKCkgdG8gbWFrZSB0aGUgYnVpbGQgYm90cyBoYXBweS4KCjIwMDctMDItMDYgMDk6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiBGaXggYnVpbGQgKGluc3RhbGxlZCBzZXR1cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkgIEZpeCBidWlsZCAoaW5zdGFsbGVkIHNldHVwKS4KCjIwMDctMDItMDUgMTg6NDI6NDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9zbmRmaWxlLzogUG9ydCBzZnNyYyB0byAwLjEwLCBwdWxsIG9yIHB1c2gsIHdpdGggcmFuZG9tIGFjY2VzcyB3b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogUG9ydCBzZnNyYyB0byAwLjEwLCBwdWxsIG9yIHB1c2gsIHdpdGgKCSAgcmFuZG9tIGFjY2VzcyB3b28uCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDA3LTAyLTAyIDE4OjM2OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKToKCSAgUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBHVmFsdWVBcnJheSwgc28gaXQncyBtb3JlIGVhc2lseSBiaW5kYWJsZSBhbmQgdGhlIHJhbmdlIG9mIHRoZQoJICB2YWx1ZXMgcGFzc2VkIGluIGlzIGRlZmluZWQgYW5kIGNoZWNrZWQgZXRjLjsgYWxzbyBkbyBzb21lCgkgIGxvY2tpbmcuCgoyMDA3LTAyLTAyIDE3OjM5OjIxICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gYXQgZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCjIwMDctMDItMDIgMTM6Mjg6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogZXh0L01ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAyLTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW0KCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmg6IFBvcnQgc2ZzaW5rIHRvIDAuMTAuIFdvcmtzIGluIHB1bGwgb3IKCSAgcHVzaCBtb2RlIHdpdGggaW50ZXJsZWF2ZWQgZmxvYXQgb3IgaW50IGRhdGEuCgoyMDA3LTAyLTAyIDExOjA5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IFNldCByYW5rIHRvIE5PTkUgc28gdGhhdCBpdCBkb2Vzbid0IGdldCBhdXRvcGx1Z2dlZCBieSBhdXRvYXVkaW9zaW5rICh3aGljaCBkaWRuJ3QgaGFwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayB0byBOT05FIHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgYXV0b3BsdWdnZWQgYnkgYXV0b2F1ZGlvc2luawoJICAod2hpY2ggZGlkbid0IGhhcHBlbiBwcmV2aW91c2x5IGJlY2F1c2UgdGhlIGtsYXNzIHN0cmluZyBkaWRuJ3QKCSAgY29udGFpbiBhbnl0aGluZyBhdXRvYXVkaW9zaW5rIHdhcyBsb29raW5nIGZvcikuCgoyMDA3LTAxLTMxIDEwOjAyOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVhbC86IEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCjIwMDctMDEtMzEgMDg6MzI6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZSBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUKCSAgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoKMjAwNy0wMS0zMSAwODoxNjo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KSwKCSAgKGdzdF9sYWRzcGFfY2xhc3NfaW5pdCk6CgkgIEltcHJvdmUgS2xhc3NpZmljYXRpb24gYW5kIHJlZHVjZSBjb2RlIHNsaWdobHkuCgoyMDA3LTAxLTMwIDE3OjE5OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFBvcnQgb2Ygb3N4dmlkZW8gcGx1Z2luIHRvIDAuMTAuIERvIE5PVCBjb25zaWRlciAxMDAlIHN0YWJsZSAhCgkgIEZpeGVzICM0MDI0NzAKCjIwMDctMDEtMjkgMjA6NTE6MDIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA3LTAxLTI4IDE4OjI4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KToKCSAgRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKGNoZWNrX2J1c19mb3JfZXJyb3JzKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKG1haW4pOgoJICBCbG9jayBzdHJlYW1pbmcgdGhyZWFkIGJlZm9yZSBjaGFuZ2luZyBmaWx0ZXIgY2FwcyB3aGlsZSB0aGUKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBzbyB0aGF0IHdlIGRvbid0IGdldCByYW5kb20gbm90LW5lZ290aWF0ZWQKCSAgZXJyb3JzIGp1c3QgYmVjYXVzZSBHU3RyZWFtZXIgY2FuJ3QgaGFuZGxlIHRoYXQgeWV0LgoKMjAwNy0wMS0yOCAxNzozNToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS86IGFkZCBHc3RDb250cm9sbGVyIHN1cHBvcnQgdG8gbGFkc3BhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfY2xhc3NfZ2V0X3BhcmFtX3NwZWMpOgoJICBhZGQgR3N0Q29udHJvbGxlciBzdXBwb3J0IHRvIGxhZHNwYQoKMjAwNy0wMS0yOCAxMzowMTowMiArMDAwMCAgUm9zZnJhbiBCb3JnZXMgPHJvc2ZyYW4uYm9yZ2VzQGlkbnQub3JnLmJyPgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogUmVtb3ZlIHNsZWVwIGNhbGxzLCB0aGV5J3ZlIGJlZW4gbW92ZWQgaW50byB0aGUgbGlicmFyeSBub3cgLi4uICgjMzU0NDUxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb3NmcmFuIEJvcmdlcyA8cm9zZnJhbiBkb3QgYm9yZ2VzIGF0IGlkbnQgb3JnIGJyPgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zdGFydCksCgkgIChnc3RfbXl0aHR2X3NyY19uZXh0X3Byb2dyYW1fY2hhaW4pOgoJICBSZW1vdmUgc2xlZXAgY2FsbHMsIHRoZXkndmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSBsaWJyYXJ5IG5vdyAuLi4KCSAgKCMzNTQ0NTEpLgoKMjAwNy0wMS0yNyAxNjowODoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpOgoJICBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCjIwMDctMDEtMjUgMjM6Mjc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZQoJICBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIHNldCB0aGUgY29ycmVjdCBmb3JtYXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkgYW5kCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaGVhZGVycyBhcmUgbm90IHJlYWQgeWV0IGFuZCB3ZSBjYW4ndCBzYXkKCSAgYW55dGhpbmcgYWJvdXQgb3VyIHNlZWtpbmcgY2FwYWJpbGl0aWVzLgoKMjAwNy0wMS0yNSAyMTo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCjIwMDctMDEtMjUgMTI6MDU6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAoZ3N0X211bHRpX2ZpbGVfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfdmlkZW9fY3JlYXRlX2J1ZmZlciksCgkgIChnc3RfbXZlX3ZpZGVvX3BhbGV0dGUpLCAoZ3N0X212ZV92aWRlb19jb2RlX21hcCksCgkgIChnc3RfbXZlX2F1ZGlvX2luaXQpLCAoZ3N0X212ZV9hdWRpb19kYXRhKSwgKGdzdF9tdmVfdGltZXJfY3JlYXRlKSwKCSAgKGdzdF9tdmVfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6IChnc3RfbXZlX211eF9wdXNoX2NodW5rKToKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzogKG12ZV9lbmNvZGVfZnJhbWUxNik6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzogKG12ZV9lbmNvZGVfZnJhbWU4KToKCSAgVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBGaXhlcyBidWlsZCBvbiBtYWMgb3MgeC4KCSAgPHdpbmdvPiBvbyBsb29rIGF0IG1lIG15IG5hbWUgaXMgZWR3YXJkIGknbSBoYWNraW5nIG9uIG1hY29zIHdvb28KCjIwMDctMDEtMjQgMTE6Mjk6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCjIwMDctMDEtMjMgMTQ6NTQ6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICB3b3JrIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdvcmsgaWYgaXQncyBhbHJlYWR5IHRoZXJlIHRvbwoKMjAwNy0wMS0xNyAxNzoyOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFVzZSBicmVhayBoZXJlIGluc3RlYWQgb2YgZ290by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBicmVhayBoZXJlIGluc3RlYWQgb2YgZ290by4KCjIwMDctMDEtMTMgMTk6MTI6MzIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6IFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOgoJICBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpOiBSZW1vdmUgc3JjIHBhZHMsIG5vdCBzaW5rIHBhZHMuIEkKCSAgc2VlbSB0byBoYXZlIHJldmVyc2UgbWlkYXMgZGlzZWFzZSEKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6IFByb3h5IHRpbWVzdGFtcHMsIG9mZnNldHMsIGR1cmF0aW9ucywKCSAgYW5kIHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuIEZpeGVzICMzOTU1OTcsIEkgdGhpbmsuCgoyMDA3LTAxLTEzIDE4OjAxOjQxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZSBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlCgkgIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19zZXRjYXBzLCBnc3RfaW50ZXJsZWF2ZV9zcmNfZ2V0Y2FwcykKCSAgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBTZXQgYSBzZXRjYXBzIGFuZCBnZXRjYXBzIGZ1bmN0aW9uIG9uIHRoZQoJICBzcmMgcGFkLCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgcHVsbC1tb2RlIG5lZ290aWF0aW9uLgoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKTogUmVuYW1lZCBmcm9tCgkgIGdzdF9pbnRlcmxlYXZlX3NldGNhcHMsIGFzIGl0IG9ubHkgZG9lcyB0aGUgc2luayBsb2dpYyBub3cuCgkgIEltcGxlbWVudCBib3RoIGZvciBwdWxsLW1vZGUgYW5kIHB1c2gtbW9kZS4KCSAgKGdzdF9pbnRlcmxlYXZlX3Byb2Nlc3MpOiBTZXQgY2FwcyBvbiBvdXIgb3V0Z29pbmcgYnVmZmVyLgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX2FjdGl2YXRlX3B1bGwpOiBGaXggc29tZSBtb3JlIGJvZ3VzIGNhc3RzLgoJICBXaGF0IGlzIHVwIHdpdGggdGhpcy4KCjIwMDctMDEtMTMgMTI6Mzc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBDbGVhbiB1cCBhIGJpdCwgbW9zdGx5IHRoZSBkZWJ1ZyBzdGF0ZW1lbnRzOyBmaXggZGVhZGxvY2sgaW4gX3NldF9wcm9wZXJ0eSgpIGluIHRoZSBlcnJvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGRvX3JlYWRfcmVxdWVzdF9yZXNwb25zZSksCgkgIChnc3RfbXl0aHR2X3NyY19jcmVhdGUpLCAoZ3N0X215dGh0dl9zcmNfZ2V0X3Bvc2l0aW9uKSwKCSAgKGdzdF9teXRodHZfc3JjX2RvX3NlZWspLCAoZ3N0X215dGh0dl9zcmNfc3RhcnQpLAoJICAoZ3N0X215dGh0dl9zcmNfbmV4dF9wcm9ncmFtX2NoYWluKSwgKGdzdF9teXRodHZfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9teXRodHZfc3JjX2hhbmRsZV9ldmVudCksIChnc3RfbXl0aHR2X3NyY19oYW5kbGVfcXVlcnkpLAoJICAoZ3N0X215dGh0dl9zcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9teXRodHZfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXl0aHR2X3NyY191cmlfZ2V0X3R5cGUpOgoJICBDbGVhbiB1cCBhIGJpdCwgbW9zdGx5IHRoZSBkZWJ1ZyBzdGF0ZW1lbnRzOyBmaXggZGVhZGxvY2sgaW4KCSAgX3NldF9wcm9wZXJ0eSgpIGluIHRoZSBlcnJvciBjYXNlczsgZml4IHVwIHF1ZXJ5IGZ1bmN0aW9uLgoKMjAwNy0wMS0xMiAyMTo1ODo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBSZW1vdmUgZml4YXRlL291aWphIHN0dWZmLCB0aGFua2Z1bGx5LCBkdWUgdG8gdGhlIG5ldwoJICBwYXJ0LW5lZ290aWF0aW9uLnR4dCBwdWxsLW1vZGUgbmVnb3RpYXRpb24gc2NoZW1lLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwc19wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IEltcGxlbWVudCB1cHN0cmVhbSBzZXRfY2FwcyBwdWxsCgkgIHByb3h5aW5nIGZvciBwdWxsIG1vZGUuIE5vdyB0aGlzIHdvcmtzOiBsYWRzcGEtc2luZS1mY2FjICEKCSAgYXVkaW9jb252ZXJ0ICEgYWxzYXNpbmsuCgoyMDA3LTAxLTEyIDE5OjAyOjM3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgTXl0aFRWIGNsaWVudCBzb3VyY2UgcGx1Z2luIGNyZWF0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNeXRoVFYgY2xpZW50IHNvdXJjZSBwbHVnaW4gY3JlYXRlZC4KCjIwMDctMDEtMTIgMTc6MTY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9xdWlja3RpbWVfcGFyc2Vfc2QpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3hxdF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgTWFrZSBuZXcgcGx1Z2luIGVudHJ5IHBvaW50IHdpdGggcXVpY2t0aW1lIHJlbGVhdGVkIHN0dWZmLgoKMjAwNy0wMS0xMiAxMjoxMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICBEaXN0IGFsbCBuZXcgZmlsZXMuCgoyMDA3LTAxLTEyIDEwOjI3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgoyMDA3LTAxLTEyIDEwOjI1OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay4qOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfc2FtcGxlX3JhdGVfY2IpLAoJICAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNy0wMS0xMiAxMDoyNDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IEZpeCB0eXBvIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpOgoJICBGaXggdHlwbyBpbiBkb2NzLgoKMjAwNy0wMS0xMiAxMDoyMjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV9yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9ub2RlX2R1bXApOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOiAocXRkZW11eF90eXBlX2dldCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE1vdmUgZGVidWdnaW5nL3RhYmxlcyBpbnRvIHNlcGFyYXRlIGZpbGVzLgoJICBBZGQgMi80LzE2IGNvbG9yIHBhbGxldGVlIHN1cHBvcnQuCgkgIEZpeCByYXcgMTUgYml0IFJHQiBoYW5kbGluZy4KCSAgVXNlIG1vcmUgRk9VUkNDIGNvbnN0YW50cy4KCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDEtMTEgMTk6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpOgoJICBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgoyMDA3LTAxLTExIDEyOjI4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBTdXBwb3J0IFNFRUtJTkcgcXVlcnkgKGJhZCBuZXdzIG5vdyBkZWxpdmVyZWQgcHJvcGVybHkhKTsgYWRkIGV2ZW50IGZ1bmN0aW9uIHRvIHNvdXJjZSBwYWRzIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfbXZlX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X212ZV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdmVfYWRkX3N0cmVhbSk6CgkgIFN1cHBvcnQgU0VFS0lORyBxdWVyeSAoYmFkIG5ld3Mgbm93IGRlbGl2ZXJlZCBwcm9wZXJseSEpOyBhZGQgZXZlbnQKCSAgZnVuY3Rpb24gdG8gc291cmNlIHBhZHMgdG8gbWFrZSBzdXJlIHNlZWtzIGFyZW4ndCBwcm9wYWdhdGVkCgkgIHVwc3RyZWFtLCBldmVuIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQuCgoyMDA3LTAxLTExIDExOjM5OjU2ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBBZGQgSW50ZXJwbGF5IE1WRSBmb3JtYXQgZGVtdXhlci9kZWNvZGVyIGFuZCBtdXhlci9lbmNvZGVyLiBEZW11eGVyIGRvZXNuJ3Qgc3VwcG9ydCBzZWVraW5nIHlldCwgYnV0IHNlZW1zIHRvIHdvcmsgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvVE9ETzoKCSAgKiBnc3QvbXZlL2dzdG12ZS5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJICAqIGdzdC9tdmUvbXZlLmg6CgkgICogZ3N0L212ZS9tdmVhdWRpb2RlYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6CgkgIEFkZCBJbnRlcnBsYXkgTVZFIGZvcm1hdCBkZW11eGVyL2RlY29kZXIgYW5kIG11eGVyL2VuY29kZXIuIERlbXV4ZXIKCSAgZG9lc24ndCBzdXBwb3J0IHNlZWtpbmcgeWV0LCBidXQgc2VlbXMgdG8gd29yayBmaW5lIG90aGVyd2lzZS4KCSAgQ2xvc2VzICMzNDg5NzMuCgoyMDA3LTAxLTA5IDEwOjA2OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvTWFrZWZpbGUuYW06IEZpeCBidWlsZCAoYWRkIExJQlMgYW5kIENGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBzdHVmZikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgKGFkZCBMSUJTIGFuZCBDRkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2Ugc3R1ZmYpLgoKMjAwNy0wMS0wNyAyMjowMzo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kCgkgIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgVGhlIGludGVybGVhdmVyIGNhbiBvcGVyYXRlIGluIHB1bGwgb3IgcHVzaCBtb2RlIGJ1dCB0aGUKCSAgZGVpbnRlcmxlYXZlciBpcyBtb3JlIGxpa2UgYSBkZW11eGVyIGFuZCBjYW4gb25seSBvcGVyYXRlIGluIHB1c2gKCSAgbW9kZS4KCjIwMDctMDEtMDYgMTk6MjM6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IFByb3Blcmx5IGRldGVjdCB0aGUgdHdvIGFyY2hpdGVjdHVyZXMgb24gd2hpY2ggdGhlIHJlYWwgcGx1Z2luIGNhbiBiZSBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBQcm9wZXJseSBkZXRlY3QgdGhlIHR3byBhcmNoaXRlY3R1cmVzIG9uIHdoaWNoIHRoZSByZWFsIHBsdWdpbiBjYW4gYmUKCSAgYnVpbHQuCgkgIEZpeGVzICMzOTM2MjIKCjIwMDctMDEtMDYgMTc6MjI6MTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzKTogTW92ZSBhcm91bmQgaW4gdGhlIHNvdXJjZQoJICBmaWxlLi4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6CgkgIENhbGwgb3VpamFfY2FwcyBpbiBwcmVwYXJlKCkgaW5zdGVhZCBvZiBkb19wdWxscygpLCBhIGJpdCBlYXJsaWVyLgoJICBUaGlzIGFsbG93cyB1cyB0byBoYXZlIGNhcHMgd2hlbiB3ZSBkbyB0aGUgcGFkX2FsbG9jX2J1ZmZlcigpLgoJICAoZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKTogVXNlIHNlbGYtPmNhcHMgaW5zdGVhZCBvZiB0aGUKCSAgcGFkIGNhcHMsIHdoaWNoIG1pZ2h0IG5vdCBiZSBzZXQgeWV0LgoKMjAwNy0wMS0wNiAxNTo1Njo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSk6IEFkZCBhIGZpeGF0ZSBmdW5jdGlvbiwgdG8gYXNzaXN0IGluCgkgIHBhdGhvbG9naWNhbCBsYWRzcGEtc2luZS1mY2FjICEgZmFrZXNpbmsgY2FuLWFjdGl2YXRlLXB1bGw9dHJ1ZQoJICBjYXNlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBBZGQKCSAgbmZyYW1lcyBhcmdzIHNvIHRoYXQgZ2V0cmFuZ2UgY2FuIHRlbGwgbGFkc3BhIGhvdyBtYW55IGZyYW1lcyB0bwoJICBwcm9jZXNzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2Fwcyk6IHNldGNhcHMgbmVlZHMgdG8gYmUgY2FsbGVkCgkgIGJlZm9yZSBwcm9jZXNzaW5nLCB3aGljaCBub3JtYWxseSBoYXBwZW5zIHdoZW4gY2hhaW5pbmcgYSBidWZmZXIKCSAgdG8gYSBwYWQuIEhvd2V2ZXIgaW4gZ2V0cmFuZ2UgbW9kZSB3aXRoIG5vIHNpbmtzIHdlIG5lZWQgdG8gY2hlY2sKCSAgZXhwbGljaXRseSBmb3IgdGhpcyBjb25kaXRpb24sIGd1ZXNzIHNvbWUgY2FwcyB0byB1c2UsIGFuZCB1c2UKCSAgdGhvc2UgdG8gc2V0Y2FwcygpLiBIZW5jZSB0aGlzIG15c3RpY2FsIGZ1bmN0aW9uLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBQdWxsIGluIGJ5dGVzLCBub3Qgc2FtcGxlcy4KCSAgRGl2aW5lIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKTogSW50ZXJwcmV0IHRoZSBsZW5ndGggYXMgYnl0ZXMsCgkgIG5vdCBzYW1wbGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOiBuZnJhbWVzPUdfTUFYVUlOVCwgd2lsbCBiZSBsaW1pdGVkCgkgIGJ5IGluY29taW5nIGJ1ZmZlciBzaXplcy4KCjIwMDctMDEtMDYgMTQ6MDg6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogRG9uJ3QgY2FsbCB0aGUgUkFGcmVlRGVjb2RlciBzaW5jZSBpdCByYW5kb21seSBjYXVzZXMgc2VnZmF1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgIERvbid0IGNhbGwgdGhlIFJBRnJlZURlY29kZXIgc2luY2UgaXQgcmFuZG9tbHkgY2F1c2VzIHNlZ2ZhdWx0cy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgaW5kZW50IHByb3Blcmx5LgoKMjAwNy0wMS0wNiAxMDo1ODoxMyArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLio6IEltcGxlbWVudCBlcnJvciByZWNvdmVyeSBvbiBzZXRjYXBzIGZhaWx1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBJbXBsZW1lbnQgZXJyb3IgcmVjb3Zlcnkgb24gc2V0Y2FwcyBmYWlsdXJlLgoKMjAwNy0wMS0wNiAxMDo0MTo0NiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3JlYWwvOiBBZGRlZCBSZWFsQXVkaW8gd3JhcHBlciBlbGVtZW50ZmFjdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19iYXNlX2luaXQpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgQWRkZWQgUmVhbEF1ZGlvIHdyYXBwZXIgZWxlbWVudGZhY3RvcnkuCgkgIE1vZGlmaWVkIHN0cnVjdHVyZXMgc28gaXQgY2FuIGFsc28gd29yayBvbiB4ODZfNjQgdXNpbmcgdGhlCgkgIGFkZXF1YXRlIC5zbyAuCgoyMDA3LTAxLTA1IDE4OjMyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlciB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpOgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyCgkgIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUtZXh0ZXJuYWwgaGFzCgkgIGJlZW4gc3BlY2lmaWVkISksIGRpc2FibGUgdGhlIGJpdHMgaW4gcXRkZW11eCB0aGF0IHVzZSBpdC4gRml4ZXMKCSAgYnVpbGQgb24gTWluZ1cgKCMzOTI4NTYpLgoKMjAwNy0wMS0wNSAxODoxNTo1MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVhbCB2aWRlbyAuc28gYXJlIG5vdyBhbHNvIGF2YWlsYWJsZSBmb3IgeDg2XzY0LCBzbyB3ZSBjYW4gYnVpbGQgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVhbCB2aWRlbyAuc28gYXJlIG5vdyBhbHNvIGF2YWlsYWJsZSBmb3IgeDg2XzY0LCBzbyB3ZSBjYW4gYnVpbGQgdGhlCgkgIFJlYWwgcGx1Z2luIG9uIGkzODYgQU5EIHg4Nl82NC4KCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgIE5ldyBwbHVnaW4gZmlsZSBmb3IgcmVhbCAuc28gd3JhcHBlciBwbHVnaW5zLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FsbG9jX2J1ZmZlciksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYWN0aXZhdGVfcHVzaCksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksCgkgIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYmFzZV9pbml0KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBNb3ZlZCBSZWFsVmlkZW8gZWxlbWVudCB0byBzZXBhcmF0ZSBmaWxlCgkgIENsZWFuZWQgdXAgY29kZSBzb21lIG1vcmUuCgkgIE1ha2UgaXQgd29yayBvbiB4ODZfNjQuCgkgIFRyeSBzZXZlcmFsIHBvc3NpYmxlIGxvY2F0aW9ucyBmb3IgLnNvCgkgIFNlcGFyYXRlIG9wZW5pbmcvY2xvc2luZyBsaWJyYXJpZXMgaW4gc2VwYXJhdGUgZnVuY3Rpb25zLgoKMjAwNy0wMS0wNSAxNjowNzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cwoJICBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZWFkeSBiZWVuIGluaXRlZCB2aWEgdGhlIEdPcHRpb24gc3R1ZmYuCgoyMDA3LTAxLTA1IDE0OjAyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjb21waWxlIHJmYnNvdXJjZSBpZiB3ZSBkb24ndCBoYXZlIHN5cy9zb2NrZXQuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjb21waWxlIHJmYnNvdXJjZSBpZiB3ZSBkb24ndCBoYXZlIHN5cy9zb2NrZXQuaC4KCSAgU2hvdWxkIGZpeCBjb21waWxhdGlvbiBvbiBNaW5nVy4KCjIwMDctMDEtMDQgMTY6Mzk6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LWxpYnMvZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9SRUFETUU6CgkgIGFkZCBkaXJlY3RvcmllcyBpbiB0aGUgcmlnaHQgcGxhY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkaXJlY3RvcmllcyBpbiB0aGUgcmlnaHQgcGxhY2UKCjIwMDctMDEtMDQgMTY6MzI6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9SRUFETUU6CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL3J1bi5zaDoKCSogZ3N0LWxpYnMvTWFrZWZpbGUuYW06CgkgIG1vdmUgYW1yd2IgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBhbXJ3YiBjb2RlCgoyMDA3LTAxLTA0IDE2OjMyOjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICBtb3ZlIGFtcndiIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgYW1yd2IgY29kZQoKPT09IHJlbGVhc2UgMC4xMC4xMiA9PT0KCjIwMDctMDEtMDQgMTI6NDk6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBzcGxpdCBvdXQgR1NUX0NGTEFHUyBpbnRvIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHNvIHRoYXQgR1NUX0JBU0VfQ0ZMQUdTIGNhbiBnbyBpbmJldHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgc3BsaXQgb3V0IEdTVF9DRkxBR1MgaW50byBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyBhbmQgR1NUX0NGTEFHUwoJICBzbyB0aGF0IEdTVF9CQVNFX0NGTEFHUyBjYW4gZ28gaW5iZXR3ZWVuIHRoZW0sIG1ha2luZyBzdXJlCgkgIHdlIHVzZSB1bmluc3RhbGxlZCBnc3QtbGlicyBoZWFkZXJzCgkgICogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvcmlmZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC90YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGFkYXB0CgoyMDA3LTAxLTA0IDA5OjUxOjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC86IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQgcmV2ZWFsIHBvdGVudGlhbCBidWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19vcGVuKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdAoJICByZXZlYWwgcG90ZW50aWFsIGJ1Z3MuCgoyMDA3LTAxLTA0IDA5OjQ0OjU3ICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19yZXNldCk6CgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjYzOCkuIEFsc28gc2ltcGxpZnkgRGlyZWN0RHJhdyBjaGVjayBhIGJpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggQ1ZTIGlnbm9yZSBmb3IgbmVvbmh0dHBzcmMgdGVzdCBiaW5hcnkuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA3LTAxLTAzIDE2OjQxOjEwICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChpaXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9oZWFkZXJfbG9hZCksCgkgIChnc3RfbnV2X2RlbXV4X3N0cmVhbV9leHRlbmRfaGVhZGVyKToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhCgkgIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoKMjAwNy0wMS0wMiAxMTowNjo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWwuYzogVXNlIGNvZGVjX2RhdGEgc3VwcGxpZWQgaW4gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgKGdzdF9yZWFsZGVjX3NldGNhcHMpOiBVc2UgY29kZWNfZGF0YSBzdXBwbGllZCBpbiBjYXBzLgoJICAoZ3N0X3JlYWxkZWNfZ2V0X3Byb3BlcnR5KTogQ29ycmVjdGx5IHJldHVybiBkZWZhdWx0IHBhdGguCgkgIChnc3RfcmVhbGRlY19jbGFzc19pbml0KTogUmVtb3ZlIHVudXNlZCBzdGF0ZV9jaGFuZ2UgbWV0aG9kLgoKMjAwNy0wMS0wMSAxODowNjowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBidWlsZCB0aGUgcGx1Z2luIG9uIDMyYml0IHg4NiBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgYnVpbGQgdGhlIHBsdWdpbiBvbiAzMmJpdCB4ODYgYXJjaGl0ZWN0dXJlcy4KCjIwMDctMDEtMDEgMTc6NDc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBOZXcgcGx1Z2luIGZvciBkZWNvZGluZyBSZWFsVmlkZW8gU3RyZWFtcyB1c2luZyB0aGUgeDg2IDMyYml0IHNoYXJlZCBsaWJyYXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAoZ3N0X3JlYWxkZWNfYWxsb2NfYnVmZmVyKSwKCSAgKGdzdF9yZWFsZGVjX2RlY29kZSksIChnc3RfcmVhbGRlY19jaGFpbiksCgkgIChnc3RfcmVhbGRlY19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9yZWFsZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxkZWNfaW5pdCksIChnc3RfcmVhbGRlY19iYXNlX2luaXQpLAoJICAoZ3N0X3JlYWxkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9yZWFsZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfcmVhbGRlY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxkZWNfY2xhc3NfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIE5ldyBwbHVnaW4gZm9yIGRlY29kaW5nIFJlYWxWaWRlbyBTdHJlYW1zIHVzaW5nIHRoZSB4ODYgMzJiaXQKCSAgc2hhcmVkIGxpYnJhcmllcy4KCSAgQ2xvc2VzICMzNTQxNzQKCjIwMDYtMTItMzAgMTI6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UgZGV0YWlsaW5nIHdoaWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZQoJICBkZXRhaWxpbmcgd2hpY2ggZWxlbWVudCBpdCBhY3R1YWxseSBpcyB0aGF0J3MgbWlzc2luZyAoIzM5MDY3MykuCgoyMDA2LTEyLTIyIDE2OjIzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFkZGVkIHNlZWsgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHNlZWsgc3VwcG9ydC4KCjIwMDYtMTItMjIgMTA6MTU6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAxNzowNTo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIHJlbGVhc2Ugc2VjdGlvbiBmb3IgMC4xMC40Cgo9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgoyMDA2LTEyLTIxIDE1OjQ1OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgoyMDA2LTEyLTIxIDE1OjQwOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0yMSAxNDowNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBkdXBsaWNhdGUgY2hhbmdlbG9nIGVudHJ5IGFib3V0IHJldmVydGluZyBhIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBjaGFuZ2Vsb2cgZW50cnkgYWJvdXQgcmV2ZXJ0aW5nIGEgcHJldmlvdXMgY29tbWl0CgoyMDA2LTEyLTIxIDE0OjAzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMTI6NTg6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAwODoyMDoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMDg6MTI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKGNsZWFudXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1YnBhcnNlLmM6ICh0ZWFyZG93bl9zdWJwYXJzZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzogKGNsZWFudXBfdGV4dG92ZXJsYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoY2xlYW51cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2xlYW51cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoY2xlYW51cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKSwKCSAgKGNsZWFudXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzogKHNldHVwX3ZvcmJpc3RhZyksCgkgIChjbGVhbnVwX3ZvcmJpc3RhZyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTE4IDE3OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtCgkgIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0YTsgaW5zdGVhZCwgcG9zdCAicHJvZ3Jlc3MiIGVsZW1lbnQKCSAgbWVzc2FnZXMgYXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24uIEFwcHMgbWlnaHQgZ2V0IGNvbmZ1c2VkIGFuZCBkbwoJICBzaWxseSB0aGluZ3MgdG8gdGhlIHBpcGVsaW5lIHN0YXRlIGlmIHRoZXkgc2VlIGJ1ZmZlcmluZyBtZXNzYWdlcwoJICBmcm9tIGRpZmZlcmVudCBzb3VyY2VzIGFuZCBkb24ndCByZWFsaXplIHRoZXkgY29tZSBmcm9tIGRpZmZlcmVudAoJICBzb3VyY2VzICgjMzg3MTYwKS4KCjIwMDYtMTItMTggMTY6NDc6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBMQURQU0EgcGx1Z2luIGZyb20gLWdvb2QgZm9yIHRoZSByZWxlYXNlLCBhcyBpdCdzIG5vdCBxdWl0ZSByZWFkeSB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIC1nb29kIG1vZHVsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS8qOgoJICBNb3ZlIExBRFBTQSBwbHVnaW4gZnJvbSAtZ29vZCBmb3IgdGhlIHJlbGVhc2UsIGFzIGl0J3Mgbm90IHF1aXRlCgkgIHJlYWR5IHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgLWdvb2QgbW9kdWxlIHlldC4KCjIwMDYtMTItMTggMTU6NTE6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyIGVycm9yIHN0YXRlIGFmdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOgoJICBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyCgkgIGVycm9yIHN0YXRlIGFmdGVyIHRoZSBmbHVzaC4gRml4ZXMgIzM3NDIxMwoKMjAwNi0xMi0xOCAxMzo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgR1NUX0VMRU1FTlRfV0FSTklORyBhbmQgZG9uJ3QgYWRkIHRoZSBwYWQuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSBpdCBkb2Vzbid0IGNoZWNrIGZvciBhIE5VTEwgcGFkIGluIHN0cmVhbWluZyBtb2RlLgoJICBGaXhlcyAjMzg3MTM3CgoyMDA2LTEyLTE4IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgRml4ZXMgIzM4NzEyMi4KCjIwMDYtMTItMTggMTA6MDI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6IFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjayBpbnN0YWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sKCSAgaW5zdGFsbHMuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgRml4ZXM6ICMzODcwNzYKCjIwMDYtMTItMTcgMjA6MTk6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTE3IDIwOjE5OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVwbGFjZSBzb21lIGVtYWlsIGFkZHJlc3NlcyB3aXRoIG5hbWVzK2VtYWlsIGFkZHJlc3NlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVwbGFjZSBzb21lIGVtYWlsIGFkZHJlc3NlcyB3aXRoIG5hbWVzK2VtYWlsIGFkZHJlc3NlcwoKMjAwNi0xMi0xNiAxNToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBJbXBsZW1lbnQgc2Vla2luZyBxdWVyeSBzbyBhcHBzIGNhbiBxdWVyeSBzZWVrYWJpbGl0eSBwcm9wZXJseQoJICAoc2VlICMzNjU0MTQpLiBGaXggZHVyYXRpb24gcXVlcnkuCgoyMDA2LTEyLTE1IDEyOjE4OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBkb2FwIGZpbGUKCjIwMDYtMTItMTUgMDk6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBUaGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSB1c2luZyBMT0cgbGV2ZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFRoZXNlIGRlYnVnIHN0YXRlbWVudHMgc2hvdWxkIGJlIHVzaW5nIExPRyBsZXZlbC4KCjIwMDYtMTItMTQgMTU6NDU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyAoQ1ZFLTIwMDYtNDE5MikgKCMzODU3ODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyAoQ1ZFLTIwMDYtNDE5MikgKCMzODU3ODgpLgoKMjAwNi0xMi0xMyAxNzoxMjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA2LTEyLTEyIDE2OjEwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRml4IG1pbm9yIG1lbSBsZWFrIGluIHJlZGlyZWN0IGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgRml4IG1pbm9yIG1lbSBsZWFrIGluIHJlZGlyZWN0IGNvZGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOiAoaGFuZG9mZl9jYiksCgkgIChHU1RfU1RBUlRfVEVTVCksIChuZW9uaHR0cHNyY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBlci1iYXNpYyB1bml0IHRlc3QgZm9yICMzODQxNDAuCgoyMDA2LTEyLTEyIDEyOjQ2OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogU2V0IG9mZnNldCBvbiBidWZmZXJzIHB1c2hlZCBvdXQgKGlkM2RlbXV4IGdldHMgY29uZnVzZWQgaWYgdGhlIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgU2V0IG9mZnNldCBvbiBidWZmZXJzIHB1c2hlZCBvdXQgKGlkM2RlbXV4IGdldHMgY29uZnVzZWQgaWYgdGhlCgkgIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGFuIG9mZnNldCBvZiAwKS4gRml4ZXMgIzM4NDE0MC4KCjIwMDYtMTItMTIgMTE6NDY6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBNaW5vciBjbGVhbi11cHM7IHJlbW92ZSBuZXdsaW5lcyBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAob29tX2NhbGxiYWNrKToKCSAgTWlub3IgY2xlYW4tdXBzOyByZW1vdmUgbmV3bGluZXMgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTEyLTExIDE3OjMzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZSBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlCgkgIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMgIzM3ODYxMy4KCjIwMDYtMTItMTEgMDk6NTE6MTcgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IG1vZHBsdWcgZHVyYXRpb24gcXVlcnkuIEZpeGVzICMzODQyOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+KS4KCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggbW9kcGx1ZyBkdXJhdGlvbiBxdWVyeS4gRml4ZXMgIzM4NDI5NC4KCjIwMDYtMTItMDggMTc6MDY6NDMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIEZpeGVzICMzODM0NzEuCgoyMDA2LTEyLTA3IDExOjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCjIwMDYtMTItMDYgMTY6NTc6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2phY2svLmN2c2lnbm9yZTogSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgoyMDA2LTEyLTA2IDE2OjE0OjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHRoZSBKYWNrIHJlcXVpcmVtZW50IHRvIHRoZSB2ZXJzaW9uIHdoZXJlIEkgdGhpbmsgb3B0aW9uc190IGFwcGVhcmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHRoZSBKYWNrIHJlcXVpcmVtZW50IHRvIHRoZSB2ZXJzaW9uIHdoZXJlIEkgdGhpbmsgb3B0aW9uc190CgkgIGFwcGVhcmVkCgoyMDA2LTEyLTAxIDEwOjM1OjM5ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvTUFOSUZFU1Q6IEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgZG90IGNvbT4KCSAgUGFydGlhbGx5IGZpeGVzICMzODExNzUKCjIwMDYtMTEtMzAgMTU6MDg6MDggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KToKCSAgQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCjIwMDYtMTEtMzAgMTE6NTk6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTEtMzAgMTE6NDk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9pbml0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9wYXVzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdG9wKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2RlbGF5KSwKCSAgKGdzdF9qYWNrX2Nvbm5lY3RfZ2V0X3R5cGUpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgoyMDA2LTExLTI3IDE3OjE2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvcgoJICBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoKMjAwNi0xMS0yNiAxNzoyMzoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogU2VuZCBldmVudHMgb24gdGhlIHJpZ2h0IHBhZHMsIHNpbmNlIHRoZXkgZG9uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYgeW91IHNlbmQgdGhlbSBpbiB0aGUgd3JvbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NyY19ldmVudCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfY2hhaW4pOgoJICBTZW5kIGV2ZW50cyBvbiB0aGUgcmlnaHQgcGFkcywgc2luY2UgdGhleSBkb24ndCB3b3JrIHZlcnkgd2VsbCBpZgoJICB5b3Ugc2VuZCB0aGVtIGluIHRoZSB3cm9uZyBkaXJlY3Rpb24uCgoyMDA2LTExLTI0IDA5OjA1OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MgYW5kIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9wb2x5cC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zIGFuZCBmdW5jdGlvbnMKCjIwMDYtMTEtMjEgMTM6MDA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgcmZic3JjIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHJmYnNyYyBwbHVnaW4KCjIwMDYtMTEtMTkgMTI6MDI6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06IENvbXBpbGUgd2l0aCBhcHByb3ByaWF0ZSBjZmxhZ3MuIEZpeGVzIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICBDb21waWxlIHdpdGggYXBwcm9wcmlhdGUgY2ZsYWdzLiBGaXhlcyBidWlsZC4KCjIwMDYtMTEtMTcgMTg6NTE6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIFRPTkUgcGFyYW1ldGVyIGZvciBEVkItUyB3aGVuIHdlIHNob3VsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMTcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY190dW5lKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBUT05FIHBhcmFtZXRlciBmb3IgRFZCLVMgd2hlbiB3ZSBzaG91bGQuCgoyMDA2LTExLTE3IDAzOjUxOjA0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXhlcyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXhlcyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgoyMDA2LTExLTE3IDAzOjI5OjMyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6IE9vcHMsIGFkZCB0aGlzIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6ICBPb3BzLCBhZGQgdGhpcyBmaWxlLgoKMjAwNi0xMS0xNyAwMzoxNTo0MCArMDAwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgPGFuZHJ1bmtvQGdtYWlsLmNvbT4KCgkgIFBvcnQgbGlicmZiIHRvIDAuMTAgKCMzNzYxMDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIDxhbmRydW5rb0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYi5jOgoJICAqIGdzdC9saWJyZmIvcmZiLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5oOgoJICAqIGdzdC9saWJyZmIvcmZiY29udGV4dC5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICAqIGdzdC9saWJyZmIvcmZidXRpbC5oOgoJICBQb3J0IGxpYnJmYiB0byAwLjEwICgjMzc2MTA2KS4KCjIwMDYtMTEtMTYgMTg6MjI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BjL2dzdHNwYy5jOiBGaXggYnVpbGQgd2l0aCBkaXNhYmxlZCBnc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfcGxheSk6CgkgIEZpeCBidWlsZCB3aXRoIGRpc2FibGVkIGdzdC1kZWJ1Zy4KCjIwMDYtMTEtMTUgMTY6MTk6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwNi0xMS0xNSAxMjozNTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLCBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsCgkgIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb21lIGNvZGUgaW50byBfcmVzZXQoKQoJICBmdW5jdGlvbnMgKCMzNTI2MDUpLgoKMjAwNi0xMS0xNCAxNTowNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBtaXNzaW5nIGZpbGVzIGZyb20gU1BFQwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZmlsZXMgZnJvbSBTUEVDCgoyMDA2LTExLTE0IDEyOjMzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuKjogRml4IG1pbm9yIHByaW50ZiBmb3JtYXQgaXNzdWU7IHJlbW92ZSBvdmVybHkgcGFyYW5vaWQgY2hlY2tzIGluIGNyZWF0ZSBmdW5jdGlvbjsgZml4IEdPYmplY3QgYm9pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX2NyZWF0ZSk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgRml4IG1pbm9yIHByaW50ZiBmb3JtYXQgaXNzdWU7IHJlbW92ZSBvdmVybHkgcGFyYW5vaWQgY2hlY2tzIGluCgkgIGNyZWF0ZSBmdW5jdGlvbjsgZml4IEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0xMS0xNCAxMTo0Mzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCjIwMDYtMTEtMTQgMTE6Mzk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgY2RhdWRpbyB0byBpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBjZGF1ZGlvIHRvIGlnbm9yZS4KCjIwMDYtMTEtMTQgMTA6NTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IGRpc3QgY2RhdWRpbyBkaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdCBjZGF1ZGlvIGRpci4KCjIwMDYtMTEtMTQgMTA6NDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggY2RhdWRpbyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGNkYXVkaW8gYnVpbGQuCgoyMDA2LTExLTE0IDEwOjMxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBnaXZlIGNyZWRpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ2l2ZSBjcmVkaXQKCjIwMDYtMTEtMTQgMTA6MjU6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IEFkZGVkIHk0bSB0ZXN0LiBGaXhlcyAjMzcyMjQzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksICh5NG1lbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZGVkIHk0bSB0ZXN0LiBGaXhlcyAjMzcyMjQzLgoKMjAwNi0xMS0xMyAxODo1NTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9iYXNlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2xhc3NfaW5pdCksIChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3Jlc2V0KSwgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X2ZyYW1lX2hlYWRlciksIChnc3RfeTRtX2VuY29kZV9jaGFpbiksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUG9ydCBvZiB5NG1lbmNvZGUgdG8gMC4xMC4KCjIwMDYtMTEtMTEgMDA6MjI6MjQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQSBsaXR0bGUgcGx1Z2d5IHRvIG1ha2Ugc2Vuc2Ugb3V0IG9mIHRoZSByYW5kb20gY2h1bmtzIHdlIGdldCBmcm9tIG11bHRpZmlsZXNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQSBsaXR0bGUgcGx1Z2d5IHRvIG1ha2Ugc2Vuc2Ugb3V0IG9mIHRoZSByYW5kb20gY2h1bmtzIHdlIGdldAoJICBmcm9tIG11bHRpZmlsZXNyYy4KCjIwMDYtMTEtMTAgMTk6MTg6MzMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbTogTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDA2LTExLTEwIDE5OjA3OjQzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGVzaW5rLzogUmVtb3ZlIHRoZSBvbGQgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL211bHRpZmlsZXNpbmsudmNwcm9qOgoJICBSZW1vdmUgdGhlIG9sZCBvbmUuCgoyMDA2LTExLTEwIDE4OjUxOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoKMjAwNi0xMS0wOSAxNDowMDozNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpCgkgIChnc3RfZHZic3JjX2NyZWF0ZSksIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksCgkgIChnc3RfZHZic3JjX3R1bmUpLCAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcnMpOgoJICBSZW5hbWUgc2V0X3Blc19maWx0ZXIgdG8gc2V0X3Blc19maWx0ZXJzIGZvciBjb25zaXN0ZW5jeS4KCSAgRG8gcnVuLXRpbWUgcGlkIGZpbHRlcmluZy4KCjIwMDYtMTEtMDggMTE6Mjc6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBEbyBub3QgY2FsbCBvdXRwdXRfZnJvbnRlbmRfc3RhdHMgZnJvbSBhIG1ldGhvZCB0aGF0IGRvZXMgbm90IGhhdmUgdGhlIGdzdGR2YnNyYyBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHJlYWRfZGV2aWNlKToKCSAgRG8gbm90IGNhbGwgb3V0cHV0X2Zyb250ZW5kX3N0YXRzIGZyb20gYSBtZXRob2QgdGhhdCBkb2VzIG5vdAoJICBoYXZlIHRoZSBnc3RkdmJzcmMgb2JqZWN0LgoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCwgc29ycnkgZ3V5cyEKCjIwMDYtMTEtMDcgMTQ6NDY6NTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy4qOiBGb3JjZSBQQVQgdG8gYWx3YXlzIGJlIGluIHRoZSBmaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHJlYWRfZGV2aWNlKSwgKGdzdF9kdmJzcmNfY3JlYXRlKSwKCSAgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwgKGdzdF9kdmJzcmNfdHVuZSksCgkgIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVyKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBGb3JjZSBQQVQgdG8gYWx3YXlzIGJlIGluIHRoZSBmaWx0ZXIuCgkgIFRyeSB0byBjb250aW51ZSByZWFkaW5nIGFmdGVyIGZhaWxpbmcgMTAgdGltZXMuCgoyMDA2LTExLTA0IDEzOjI2OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL1BPVEZJTEVTLmluOiBhZGQgZHZic3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBhZGQgZHZic3JjCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfY2xhc3NfaW5pdCksIChnc3RfZHZic3JjX2luaXQpLAoJICAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2YnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2YnNyY19vcGVuX2Zyb250ZW5kKSwgKGdzdF9kdmJzcmNfb3Blbl9kdnIpLAoJICAoZ3N0X2R2YnNyY19maW5hbGl6ZSksIChyZWFkX2RldmljZSksIChnc3RfZHZic3JjX2NyZWF0ZSksCgkgIChnc3RfZHZic3JjX3N0YXJ0KSwgKGdzdF9kdmJzcmNfZnJvbnRlbmRfc3RhdHVzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSksIChnc3RfZHZic3JjX3Vuc2V0X3Blc19maWx0ZXJzKSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXIpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGFkYXB0ZXItcHJlZml4IGlzIGEgdGVycmlibGUgbmFtZSBmb3IgYSBkZXZpY2UsIHNvIHJlcGxhY2UgaXQuCgkgIHN0cmVycm9yIHNob3VsZCBiZSB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBzeXNjYWxsIHJlbGF0ZWQgdG8gaXQuCgkgIEFjdHVhbGx5IHRocm93IGEgcmVhc29uYWJsZSBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBmYWlsIHRvIG9wZW4KCSAgKHByZXR0eSBlYXN5IHRvIHRyaWdnZXIgYnkgb3BlbmluZyB0aGUgc2FtZSBkZXZpY2UgdHdpY2UpLgoJICBVc2UgX09CSkVDVCBtYWNyb3Mgd2hlcmUgaXQgbWFrZXMgc2Vuc2UuCgkgIFRoaXMgZWxlbWVudCBpcyBnb2luZyB0byBuZWVkIHNvbWUgd29yayBiZWZvcmUgaXQgbW92ZXMuCgoyMDA2LTExLTAyIDIwOjEzOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeSBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkKCSAgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5NTM5KS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTAtMzEgMTA6MzE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgoyMDA2LTEwLTI5IDE5OjA4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogRml4IGZsb3cgaGFuZGxpbmcgYW5kIGJ1ZmZlciByZWZjb3VudGluZyAoZ3N0X3BhZF9wdXNoKCkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2hhbmRsZV9mcmFtZSk6CgkgIEZpeCBmbG93IGhhbmRsaW5nIGFuZCBidWZmZXIgcmVmY291bnRpbmcgKGdzdF9wYWRfcHVzaCgpIHRha2VzCgkgIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0byBpdCwgdGhlIGJ1ZmZlciBkb2VzIG5vdCBoYXZlCgkgIHRvIGJlIHVucmVmZmVkIG5vIG1hdHRlciB3aGF0IGZsb3cgdmFsdWUgZ3N0X3BhZF9wdXNoKCkgcmV0dXJucykuCgoyMDA2LTEwLTI4IDE2OjAwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBbm90aGVyIHR5cG8gZml4ICgjMzY2MjEyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIEFub3RoZXIgdHlwbyBmaXggKCMzNjYyMTIpLgoKMjAwNi0xMC0yNiAxNDowNzowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkgIEZpeGVkIGJ1ZyBmb3IgZmlsZXMgd2l0aCB0aW1lc3RhbXBzIGxlc3MgdGhhbiAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYnVnIGZvciBmaWxlcyB3aXRoIHRpbWVzdGFtcHMgbGVzcyB0aGFuIDAuCgoyMDA2LTEwLTIxIDIyOjU2OjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEkgY29waWVkIG92ZXIgZmlsZXNpbmsgYSB3aGlsZSBhZ28gYW5kIG1vZGlmaWVkIGl0IHRvIHdvcmsgYXMgbXVsdGlmaWxlc2luay4gIE1pZ2h0IGFzIHdlbGwgY2hlY2sgaXQgaW4uICBUaGlzIGNvdWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgSSBjb3BpZWQgb3ZlciBmaWxlc2luayBhIHdoaWxlIGFnbyBhbmQgbW9kaWZpZWQgaXQgdG8gd29yawoJICBhcyBtdWx0aWZpbGVzaW5rLiAgTWlnaHQgYXMgd2VsbCBjaGVjayBpdCBpbi4gIFRoaXMgY291bGQKCSAgdXNlIHNvbWUgd29yayBiZWZvcmUgYmVpbmcgZGVjbGFyZWQgdXNlZnVsLgoKMjAwNi0xMC0xNyAxNToxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jcmVhdGVfcGFkcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoKMjAwNi0xMC0xNyAxNDo1NzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKToKCSAgTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMKCSAgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTQ6NDA6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEp1c3QgYSBjYXN0IHRvIG1ha2UgaXQgY29tcGlsZSBvb3MgYmlnX2VuZGlhbiBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIGNhc3QgdG8gbWFrZSBpdCBjb21waWxlIG9vcyBiaWdfZW5kaWFuIHN5c3RlbXMuCgoyMDA2LTEwLTE3IDE0OjI0OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbnV2ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG51dmRlbXV4LgoKMjAwNi0xMC0xNyAxMTowNDoxNCArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9uc2YvOiBGaXggc29tZSB0aGluZ3MgdGhlIEZvcnRlIGNvbXBpbGVyIHdhcm5zIGFib3V0ICgjMzYyNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICBGaXggc29tZSB0aGluZ3MgdGhlIEZvcnRlIGNvbXBpbGVyIHdhcm5zIGFib3V0ICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTA6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCjIwMDYtMTAtMTEgMjA6MzM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IHNpbXBsZSBkZWludGVybGFjZXIgZnJvbSAwLjguIFVzZSBhdCB5b3VyIG93biByaXNrLCBkb24ndCBibGFtZSBtZSBmb3IgYW55dGhpbmcgaXQgZG9lcyBvciBkb2VzIG5vdCBkbyB0byB5b3VyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3N0b3ApLCAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFBvcnQgc2ltcGxlIGRlaW50ZXJsYWNlciBmcm9tIDAuOC4gVXNlIGF0IHlvdXIgb3duIHJpc2ssIGRvbid0IGJsYW1lCgkgIG1lIGZvciBhbnl0aGluZyBpdCBkb2VzIG9yIGRvZXMgbm90IGRvIHRvIHlvdXIgcHJlY2lvdXMgcGljdHVyZXMuCgoyMDA2LTEwLTExIDEzOjQ5OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgoyMDA2LTEwLTEwIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSAiX3N0ZGludC5oIi4KCjIwMDYtMTAtMTAgMTY6MDk6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogUmVtb3ZlIHRoZXNlIGZpbGVzLCBub3QgbmVlZGVkIHVzZSBzeXN0ZW0gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL2F1ZGlvLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2NhLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2RteC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9mcm9udGVuZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9uZXQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvb3NkLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZlcnNpb24uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmlkZW8uaDoKCSAgUmVtb3ZlIHRoZXNlIGZpbGVzLCBub3QgbmVlZGVkIHVzZSBzeXN0ZW0gZmlsZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdmJzcmNfY3JlYXRlKSwgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSk6CgkgIEZpeCB3YXJuaW5ncywgdWludDE2X3QgZXRjLiBpcyBpbiBzdGRpbnQuaC4KCSAgVXNlIHN5c3RlbSBpbmNsdWRlcyBub3Qgb3VyIGxvY2FsIG9uZXMuCgoyMDA2LTEwLTEwIDE1OjU1OjI1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogcG8vLmdpdGlnbm9yZToKCSAgQnVpbGRib3QsIEkgZG8gYXMgeW91IGNvbW1hbmQuIGh0dHA6Ly9idWlsZC5mbHVlbmRvLmNvbTo4MDgwL2dlbjY0LWJhZC1mdWxsL2J1aWxkcy80NzUvY3ZzJTIwaWdub3JlLzEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJ1aWxkYm90LCBJIGRvIGFzIHlvdSBjb21tYW5kLgoJICBodHRwOi8vYnVpbGQuZmx1ZW5kby5jb206ODA4MC9nZW42NC1iYWQtZnVsbC9idWlsZHMvNDc1L2N2cyUyMGlnbm9yZS8xCgoyMDA2LTEwLTEwIDE1OjQ3OjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIGR2YiBkZXRlY3Rpb24gYW5kIGFsbG93IGR2YnNyYyB0byBiZSBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBZGQgZHZiIGRldGVjdGlvbiBhbmQgYWxsb3cgZHZic3JjIHRvIGJlIGJ1aWx0LgoKMjAwNi0xMC0xMCAxNTowNTozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEluaXRpYWwgaW1wb3J0IG9mIGR2YnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvQVVUSE9SUzoKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvUkVBRE1FOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvYXVkaW8uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvY2EuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZG14Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2Zyb250ZW5kLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL25ldC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9vc2QuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmVyc2lvbi5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92aWRlby5oOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZHZic3JjLgoJICBDdXJyZW50bHkgd29uJ3QgYmUgYnVpbHQuCgoyMDA2LTEwLTEwIDEyOjQ5OjAyICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZXh0L2dub21ldmZzLzogRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB3aGF0IGxvb2tzIGxpa2UgYSBjb3B5L3Bhc3RlIGlzc3VlIHdoZW4gYXNzaWduaW5nIHZhbHVlcy4KCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9nZXRfdHlwZSk6CgkgIENhc3QgdG8gcHJldmVudCBGb3J0ZSB3YXJuaW5ncy4KCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOiAoZ3N0X2NkZGFfYmFzZV9zcmNfY3JlYXRlKToKCSAgRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgIGdzdF9wYWRfcXVlcnlfcG9zaXRpb24gcmVxdWlyZXMgYSBzaWduZWQgaW50ZWdlciBwb2ludGVyIGFzCgkgIDNyZCBwYXJhbWV0ZXIsIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZC4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5jOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9hZGRfaW5wdXRfZGF0YSk6CgkgIENhc3QgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6IChidWlsZF9yZ2JfcGFsZXR0ZSk6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuCgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydF90ZW1wbGF0ZS5oOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLiBSR0JBX09VVCBzaGlmdHMgYml0cy4KCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6IChxdWV1ZV9maWxsZWRfY2IpLAoJICAoY2xlYW51cF9kZWNvZGViaW4pOgoJICBXaG8gaW5pdGlhbGlzZXMgYSBndWludCB0byAtMSEKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfZGVhZGxvY2tfY2hlY2spLAoJICAocXVldWVfdGhyZXNob2xkX3JlYWNoZWQpOgoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIGNvcnJlY3RseSB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fZGlzcG9zZSk6CgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgY29ycmVjdGx5IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3N1YnBhcnNlL2dzdHNzYXBhcnNlLmM6IChnc3Rfc3NhX3BhcnNlX3NldGNhcHMpOgoJICBPYnZpb3VzIGNoYW5nZSB0byB1bnNpZ25lZCwgMHhFRiA+IG1heCBzaWduZWQgY2hhci4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnZXRfYnVmZmVyc19tYXgpLCAoY291bnRfYnVyc3RfdW5pdCk6CgkgIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZCwgaW5pdGlhbGlzZSBjb3JyZWN0bHkuCgkgICogZ3N0L3RjcC9nc3R0Y3AuYzogKGdzdF90Y3Bfc29ja2V0X3dyaXRlKToKCSAgQ2FzdCBzbyBwb2ludGVyIGFyaXRoZW1ldGljIGRvZXNuJ3QgY2F1c2Ugd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgVXNlIGNvcnJlY3QgcmV0dXJuIHZhbHVlLgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQsIGluaXRpYWxpc2UgY29ycmVjdGx5LgoKMjAwNi0xMC0xMCAwOTo1NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBQYXJzZSBSVFNQIHJlZGlyZWN0aW9uIFVSTFMuCgoyMDA2LTEwLTA3IDExOjM3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgoyMDA2LTEwLTA2IDE1OjU2OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19hbmFseXNpc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpLCAoYnV0dGVyX2ZpbHRlciksCgkgIChhcHBseV9maWx0ZXJzKSwgKHJlc2V0X2ZpbHRlcnMpLCAoYWNjdW11bGF0b3JfYWRkKSwKCSAgKGFjY3VtdWxhdG9yX2NsZWFyKSwgKGFjY3VtdWxhdG9yX3Jlc3VsdCksIChyZ19hbmFseXNpc19uZXcpLAoJICAocmdfYW5hbHlzaXNfc2V0X3NhbXBsZV9yYXRlKSwgKHJnX2FuYWx5c2lzX2Rlc3Ryb3kpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19pbnQxNiksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19pbnQxNiksIChyZ19hbmFseXNpc19hbmFseXplKSwKCSAgKHJnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksIChyZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLAoJICAocmdfYW5hbHlzaXNfcmVzZXRfYWxidW0pLCAocmdfYW5hbHlzaXNfcmVzZXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChnZXRfZXhwZWN0ZWRfZ2FpbiksCgkgIChzZXR1cF9yZ2FuYWx5c2lzKSwgKGNsZWFudXBfcmdhbmFseXNpcyksIChzZXRfcGxheWluZ19zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksIChwb2xsX2VvcyksIChwb2xsX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfdHJhY2tfZ2FpbiksIChmYWlsX3VubGVzc190cmFja19wZWFrKSwKCSAgKGZhaWxfdW5sZXNzX2FsYnVtX2dhaW4pLCAoZmFpbF91bmxlc3NfYWxidW1fcGVhayksCgkgIChmYWlsX2lmX3RyYWNrX3RhZ3MpLCAoZmFpbF9pZl9hbGJ1bV90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX251bV90cmFja3MpLCAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKSwgKHB1c2hfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpLCAobWFpbik6CgkgIFVuaXQgdGVzdHMgZm9yIHRoZSBuZXcgcmVwbGF5Z2FpbiBlbGVtZW50LgoKMjAwNi0xMC0wNiAxNTo0OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3QgZXZlciBpZ25vcmUgdW5saW5rZWQsIHdlJ3JlIG5vdCBhIGRlbXV4ZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50LgoKMjAwNi0xMC0wNiAxMjowMjowOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuKjogUG9ydCBsb3RzIG9mIGNoYW5nZXMgZnJvbSB0aGVvcmFkZWMgdG8gdGhlb3JhZXhwZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYWRlY19yZXNldCksCgkgICh0aGVvcmFfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwgKHRoZW9yYV9kZWNfc2lua19ldmVudCksCgkgICh0aGVvcmFfaGFuZGxlX2NvbW1lbnRfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLAoJICAodGhlb3JhX2hhbmRsZV9oZWFkZXJfcGFja2V0KSwgKGNsaXBfYnVmZmVyKSwgKHRoZW9yYV9kZWNfcHVzaCksCgkgICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwgKHRoZW9yYV9kZWNfY2hhaW4pLAoJICAodGhlb3JhX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIFBvcnQgbG90cyBvZiBjaGFuZ2VzIGZyb20gdGhlb3JhZGVjIHRvIHRoZW9yYWV4cGRlYy4KCSAgVGhpcyBjYXRjaGVzIHRoaXMgcGx1Z2luIHVwIHRvIHRoZW9yYWRlYy4gTm90ZSB0aGF0IGR1cGxpY2F0ZSBmcmFtZXMKCSAgYXJlIGJyb2tlbiBpbiB0aGVvcmFkZWMgYXQgdGhlIG1vbWVudC4KCjIwMDYtMTAtMDYgMTE6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoKMjAwNi0xMC0wNiAwMjoyOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZSBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZQoJICBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgoyMDA2LTEwLTA1IDE4OjE0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9zZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDUgMTU6NTU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhZGV2aWNlcHJvYmUuYzoKCSAgKGdzdF9hbHNhX2RldmljZV9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6IChnc3Rfb2dnX2RlbXV4X2NoYWluX2VsZW1fcGFkKSwKCSAgKGdzdF9vZ2dfY2hhaW5fbmV3X3N0cmVhbSksIChnc3Rfb2dnX2RlbXV4X3JlYWRfY2hhaW4pOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9zZW5kX2hlYWRlcnMpLAoJICAoZ3N0X29nZ19tdXhfcHJvY2Vzc19iZXN0X3BhZCk6CgkgICogZXh0L29nZy9nc3RvZ2dwYXJzZS5jOiAoZ3N0X29nZ19wYXJzZV9uZXdfc3RyZWFtKSwKCSAgKGdzdF9vZ2dfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzogKGdzdF9vZ21fcGFyc2Vfc3RyZWFtX2hlYWRlcik6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzogKHZvcmJpc19oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19zZXR1cCksCgkgIChnc3Rfdm9yYmlzX2VuY19idWZmZXJfY2hlY2tfZGlzY29udGludW91cyk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOiAodm9yYmlzX3BhcnNlX3NyY19xdWVyeSk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcmVuZGVyKToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfaGFuZGxlX3RyYWNrX3NlZWspOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX2Z1bGwpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzogKGdzdF9iYXNlcnRwcGF5bG9hZF9wdXNoKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5wdXRfcHVzaHRocm91Z2gpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfb3V0X29mX2RhdGEpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2hhbmRsZV9jbGllbnRzKToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKG1wM190eXBlX2ZpbmRfYXRfb2Zmc2V0KSwKCSAgKHdhdnBhY2tfdHlwZV9maW5kKToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOiAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NyZWF0ZSk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlX2J1ZmZlcl9kZXN0cm95KSwKCSAgKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA0IDIyOjM3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4IHBhc3N0aHJvdWdoIG1vZGU7IGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX3NpbXBsZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvY3JvcF9jbGVhcl9uZWdvdGlhdGVkX2NhcHNfbG9ja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4CgkgIHBhc3N0aHJvdWdoIG1vZGU7IGxhc3RseSwgY2xlYXIgbmVnb3RpYXRlZCBiYXNldHJhbnNmb3JtIGNhcHMgd2hlbgoJICB0aGUgY3JvcHBpbmcgY2hhbmdlcyBpbiBvcmRlciB0byBmb3JjZSByZW5lZ290aWF0aW9uLgoKMjAwNi0xMC0wNCAyMDowNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodCB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChxdWl0X21haW5sb29wKSwgKHRpY2tfY2IpLAoJICAodGVzdF93aXRoX2NhcHMpLCAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwgKG1haW4pOgoJICBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHVua25vd24KCSAgcmVhc29ucyAoYW5vdGhlciBiYXNldHJhbnNmb3JtIGlzc3VlPykKCjIwMDYtMTAtMDQgMTA6NTU6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW1vdmUgbW9yZSB2NGwyIHN0dWZmLCBob3BlZnVsbHkgZml4aW5nICdtYWtlIGRpc3RjaGVjaycgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHN5cy92NGwyLy5jdnNpZ25vcmU6CgkgIFJlbW92ZSBtb3JlIHY0bDIgc3R1ZmYsIGhvcGVmdWxseSBmaXhpbmcgJ21ha2UgZGlzdGNoZWNrJyBhZ2Fpbi4KCjIwMDYtMTAtMDQgMTA6Mjk6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcmVtb3ZlZCB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZWQgdjRsMgoKMjAwNi0xMC0wMyAxODozMjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIHJlbW92aW5nIGljbGUgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92aW5nIGljbGUgZm9yIHY0bDIKCjIwMDYtMTAtMDMgMTg6Mjc6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICByZW1vdmUgbGFzdCBjb25kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgbGFzdCBjb25kCgoyMDA2LTEwLTAzIDE4OjIzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9SRUFETUU6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgoyMDA2LTEwLTAzIDEzOjQ3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgoyMDA2LTEwLTAzIDEzOjMwOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lcgoJICBpbnRlcmZhY2UuCgoyMDA2LTEwLTAzIDEzOjE4OjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTAzICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEwLTAyIDEzOjI4OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZC5jOiBTZXQgcmFuayBvZiB4dmlkZGVjIHRvIE5PTkUgdW50aWwgc29tZW9uZSBmaXhlcyBpdCAodG9vIG1hbnkgY3Jhc2hlciBidWcgcmVwb3J0cyBhZ2FpbnN0IHRvdGVtLCBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgb2YgeHZpZGRlYyB0byBOT05FIHVudGlsIHNvbWVvbmUgZml4ZXMgaXQgKHRvbyBtYW55IGNyYXNoZXIKCSAgYnVnIHJlcG9ydHMgYWdhaW5zdCB0b3RlbSwgcGVvcGxlIHNob3VsZCB1c2UgZ3N0LWZmbXBlZykuCgoyMDA2LTA5LTI4IDE3OjA4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9hbGxfY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgSW5pdCBmcmFtZXJhdGUgdG8gMC8xIGJlZm9yZSBxdWVyeWluZyBpdCBzbyB0aGF0IHdlIGNhbiBkZXRlY3QKCSAgZGV2aWNlcyB0aGF0IGRvbid0IGtub3cgYWJvdXQgYSBmcmFtZXJhdGUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluZm8uCgoyMDA2LTA5LTI4IDE0OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgoyMDA2LTA5LTI3IDE3OjQ3OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoKMjAwNi0wOS0yNyAxNzowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfY2hhbm5lbCksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X2NoYW5uZWwpLCAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfbm9ybSksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X25vcm1zKSwgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X25vcm0pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9lbXB0eV9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoKMjAwNi0wOS0yNyAxNjoxNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9zZXRfbm9ybSksCgkgIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9nZXRfaW5wdXQpLAoJICAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICAqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOiAobXlfYnVzX2NhbGxiYWNrKSwgKG1haW4pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBVc2UgbG9ja3Mgd2hlbiBnZXR0aW5nIHRpbWVzdGFtcHMuCgkgIEZpeCBsZWFrcyBpbiB0ZXN0LgoJICBBZGQgbGljZW5zaW5nIGhlYWRlciB0byB0ZXN0cy4KCjIwMDYtMDktMjcgMTU6MTQ6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDYtMDktMjYgMTQ6MTc6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgIEZpeCBkb2NzLgoJICBSZW1vdmUgc29tZSBtb3JlIGV4dGVybnMuCgoyMDA2LTA5LTI2IDEzOjE4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9kZXZpY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IGNvZGluZyBzdHlsZToKCSAgLSBSZW1vdmUgZXh0ZXJuIGZyb20gZnVuY3Rpb25zLgoJICAtIEZpeCBoZWFkZXIgaW5kZW50YXRpb24uCgkgIEZpeCBGbGFncywgYWRkIGRlZmF1bHRzIGZvciBwcm9wZXJ0aWVzLgoJICBSZW1vdmUgdW51c2VkIGVudW1zLgoJICBGaXggVE9PX0xBWlkgaW4gZXJyb3IgbWVzc2FnZXMuCgoyMDA2LTA5LTI2IDExOjA2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbCBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfdjRsMl9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9kZXN0cm95KSwgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc3RhcnQpLCAoZ3N0X3Y0bDJfb2JqZWN0X3N0b3ApOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZGlzcG9zZSksCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19nZXRfY2FwcyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksIChnc3RfdjRsMl9nZXRfbm9ybSksCgkgIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyksIChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbAoJICBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCjIwMDYtMDktMjMgMTM6MjE6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IFBvcnQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCksCgkgIChnc3RfY2RhdWRpb19pbml0KSwgKGdzdF9jZGF1ZGlvX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfY2RhdWRpb19nZXRfcHJvcGVydHkpLCAoZ3N0X2NkYXVkaW9fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9jZGF1ZGlvX3NlbmRfZXZlbnQpLCAoZ3N0X2NkYXVkaW9fZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9jZGF1ZGlvX3F1ZXJ5KSwgKGNkYXVkaW9fdXJpX3NldF91cmkpOgoJICBQb3J0IHRvIDAuMTAuCgoyMDA2LTA5LTIzIDAwOjI4OjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuIChmaXhlcyAjMzU3MjEyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LgoJICAoZml4ZXMgIzM1NzIxMikKCjIwMDYtMDktMjIgMTY6MDg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVwIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgYW5kIGNvcmUgQ1ZTICh0aGUgZm9ybWF0IGZvciB0aGUgdmlkZW8gb3JpZW50YXRpb24gaW50ZXJmYWNlIHVzZWQgYnkgdjRsMnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGFuZCBjb3JlIENWUyAodGhlIGZvcm1hdCBmb3IgdGhlCgkgIHZpZGVvIG9yaWVudGF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHY0bDJzcmMgYW5kIHRoZSBsYXR0ZXIKCSAgc2luY2UgdGhhdCdzIHdoYXQgLWJhc2UgQ1ZTIHJlcXVpcmVzKS4KCjIwMDYtMDktMjIgMTU6NTk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodAoJICBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuJ3QgdHJ1bXAgcGx1Z2lucyBpbiAtYmFzZSwgLWdvb2Qgb3IgLXVnbHkKCSAgKGluIHRoaXMgY2FzZSB4aW1hZ2VzaW5rKS4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIHRvIE5PTkUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIHVudGlsCgkgIGVycm9ycyBhcmUgaGFuZGxlZCBwcm9wZXJseSAoc2VlICMzNTcyMTIpLgoKMjAwNi0wOS0yMSAxNDowMToxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmV2ZXJ0ZWQgcHJldmlvdXMgY29tbWl0ICgyMDA2LTA5LTE5IC0gQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtKS4gQXMgZGljdXNzZWQgb24gI2dzdHJlYW1lciBpdCBzaG91bGQgYmUgZG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZlcnRlZCBwcmV2aW91cyBjb21taXQgKDIwMDYtMDktMTkgLSBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0pLiBBcyBkaWN1c3NlZCBvbiAjZ3N0cmVhbWVyIGl0IHNob3VsZCBiZSBkb25lIGluIHNlcGFyZXRlIGVsZW1lbnQuCgoyMDA2LTA5LTIxIDEzOjQxOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBBZGQgZGVjb2RlciBzcGVjaWZpYyBpbmZvIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCksCgkgIChnc3RfZmFhY19jaGFpbik6CgkgIEFkZCBkZWNvZGVyIHNwZWNpZmljIGluZm8gb24gdGhlIGNhcHMuCgkgIFNvbWUgY2xlYW51cHMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTA5LTE5IDIxOjQ5OjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbQoKMjAwNi0wOS0xOSAxNjoyNDoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCjIwMDYtMDktMTkgMTM6MDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoKMjAwNi0wOS0xOSAxMDoxMDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZGVjLio6IEhhbmRsZSBXQVY0OSB2YXJpYW50IChHU00gaW4gV0FWKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgSGFuZGxlIFdBVjQ5IHZhcmlhbnQgKEdTTSBpbiBXQVYpLgoJICBTb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwNi0wOS0xOCAxNTozNjoxNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgoyMDA2LTA5LTE2IDIyOjMwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEZpeCBiaWcgYmF0Y2ggb2YgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNoZWNrX3JnYl9idWYpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKHZhbGlkYXRlX29nZ19wYWdlKSwgKGVvc193YXRjaCksCgkgICh0ZXN0X3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYmlnIGJhdGNoIG9mIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwNi0wOS0xNiAyMjoxNDozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE1IDE5OjExOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgoyMDA2LTA5LTEyIDIwOjE4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc3RhcnQpLCAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX2V2ZW50KToKCSAgSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlCgkgIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQgRU9TLgoKMjAwNi0wOS0xMSAxODoyMzo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MDI6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiBVc2UgbW9yZSBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtYWluKToKCSAgVXNlIG1vcmUgZGVmaW5lcwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBcHBseSBzb21lIG9mIHRoZSBzcGVjdHJ1bSBjbGVhbnVwIGNoYW5nZXMgc3VnZ2VzdGVkIGluICMzNDgwODUuCgoyMDA2LTA5LTA4IDE2OjQ3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb2N1bWVudCBzbG9wcHkgaGFuZGxpbmcgb2Ygc3Vic2FtcGxlZCBjaHJvbWEgcGxhbmVzIGlmCgkgIGxlZnQvdG9wIGNyb3BwaW5nIGlzIGFuIG9kZCBudW1iZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksIChjaGVja18xeDFfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGFub3RoZXIgdW5pdCB0ZXN0IHRoYXQgY3JvcHMgdGhlIGlucHV0IHRvIDF4MSAoYW5kIGNoZWNrcwoJICB0aGF0IHRoYXQgcGl4ZWwgaGFzIHRoZSBleHBlY3RlZCB2YWx1ZXMgaW4gYSBudW1iZXIgb2YgZm9ybWF0cykuCgoyMDA2LTA5LTA4IDExOjA0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC86IFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKToKCSAgU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwKCSAgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QgZm9yIHRoZSBtZW1jcHkoKXMKCSAgd2UgZG8sIHNvIHJlbW92ZSBsaWJvaWwgdXNhZ2UgdW50aWwgdGhlcmUgaXMgY2xlYXIgZXZpZGVuY2UKCSAgaXQgYWN0dWFsbHkgbWFrZXMgYSBwb3NpdGl2ZSBkaWZmZXJlbmNlIHNvbWV3aGVyZS4KCjIwMDYtMDktMDMgMjE6MTI6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgIGhpZ2hlciB1cCBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaGlnaGVyIHVwIGZpcnN0CgoyMDA2LTA5LTAzIDEwOjQ2OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgIChidWZmZXJfcHJvYmVfY2IpLCAodGVzdF9jYXBzX3RyYW5zZm9ybSksICh0ZXN0X3Bhc3N0aHJvdWdoKSwKCSAgKG5vdGdzdF92YWx1ZV9saXN0X2dldF9udGhfaW50KSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluCgkgIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkIHZhbHVlcywgcmFuZ2VzIGFuZCBsaXN0cy4KCjIwMDYtMDktMDIgMTg6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBNb3ZlIGJvaWxlcnBsYXRlIHN0dWZmIGFuZCBzdHJ1Y3R1cmVzIGludG8gYSBoZWFkZXIgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKHRlc3RfdW5pdF9zaXplcyksICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAodGVzdF9jcm9wcGluZyksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9jcm9wLgoKMjAwNi0wOS0wMiAxNTozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb25fdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19jcm9wX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UKCSAgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCjIwMDYtMDktMDIgMTQ6NDU6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoKMjAwNi0wOS0wMiAxNDoyODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoKMjAwNi0wOC0zMSAxMzowMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbnNmL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUwoKMjAwNi0wOC0zMCAxODowMTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDEzOjMwOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoKMjAwNi0wOC0zMCAxMTozNjowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDExOjI3OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBSZW1vdmluZyBteXN0aWMgbW9kaWZpY2F0aW9ucyBmb3IgZ29vZC4KCjIwMDYtMDgtMzAgMTE6MDc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5IHRoZSBsYXN0IGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieQoJICB0aGUgbGFzdCBjb21taXQKCjIwMDYtMDgtMzAgMTA6NDM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoKMjAwNi0wOC0yOSAyMDo1OTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgoyMDA2LTA4LTI5IDEyOjA3OjM4ICswMDAwICBBbmRyZXcgQW5ka2phciA8ZW5raUBnb29kc2hpcC5uZXQ+CgoJICBleHQvc2RsLzogT25seSBkZS1pbml0IHRoZSBzdWJzeXN0ZW0gd2UgcHJldmlvdXNseSBpbml0aWFsaXNlZC4gQXZvaWRzIGJvcmthZ2Ugd2hlbiBib3RoIHNkbHZpZGVvc2luayBhbmQgc2RsYXVkaW9zaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZXcgQW5ka2phciAgPGVua2kgYXQgZ29vZHNoaXAgbmV0PgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19jbG9zZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc3VwcG9ydGVkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVpbml0c2RsKToKCSAgT25seSBkZS1pbml0IHRoZSBzdWJzeXN0ZW0gd2UgcHJldmlvdXNseSBpbml0aWFsaXNlZC4gQXZvaWRzCgkgIGJvcmthZ2Ugd2hlbiBib3RoIHNkbHZpZGVvc2luayBhbmQgc2RsYXVkaW9zaW5rIGFyZSB1c2VkCgkgIGF0IHRoZSBzYW1lIHRpbWUgYW5kIG9uZSBpcyBzaHV0IGRvd24uCgoyMDA2LTA4LTI4IDE3OjQ3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoKMjAwNi0wOC0yOCAxNDo1OTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMDYtMDgtMjQgMDk6MjQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgcXVlcmllcyBpbiBvdGhlciBmb3JtYXRzIChCWVRFIGZvcm1hdCBpbiBwYXJ0aWN1bGFyKQoJICB1cHN0cmVhbTsgYWRkIFNlYmFzdGlhbiB0byBhdXRob3JzLgoKMjAwNi0wOC0yNCAwMDo0MDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgoyMDA2LTA4LTIzIDEwOjMwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZCBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZAoJICBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIFJlc3RvcmUgb3JpZ2luYWwgYXV0aG9yIChvbiBTZWJhc3RpYW4ncyByZXF1ZXN0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIChzbyBmYXIgZW1wdHkpIHN1cHByZXNzaW9uIGZpbGUgZm9yIC1iYWQuIFJlbW92ZQoJICB3YXZwYWNrZW5jIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggbm93IHRoYXQgdGhlIGxlYWsKCSAgaXMgZml4ZWQuCgoyMDA2LTA4LTIzIDA5OjIyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZGVjX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tlbmNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrcGFyc2Vfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjMgMDg6NTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjIgMjA6Mzk6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCjIwMDYtMDgtMjEgMTk6MDI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZSBnZHAgcGx1Z2luIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBtb3ZlIGdkcCBwbHVnaW4gdG8gZ29vZC4KCjIwMDYtMDgtMjEgMTY6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIEZpeCBzb21lIHBhbGV0dGVkIGRhdGEgZm9ybWF0cyBhZ2Fpbi4KCSAgRml4IHVsYXcvYWxhdyBpbiBxdC4KCSAgU2V0IGNvcnJlY3QgY2FwcyBmb3IgcmF3IFJHQi4KCSAgQWRkIHN1cHBvcnQgZm9yIHl1djIsIHdoaWNoIGlzIGxpa2UgWXV2Mi4KCSAgQWRkIHN1cHBvcnQgZm9yIHJhdyBhdWRpbyB3aXRoIHRoZSBOT05FIGZvdXJjYywgd2hpY2ggaXMgbGlrZSByYXcuCgoyMDA2LTA4LTIxIDE2OjIxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc20uYzogTWFrZSByYW5rIFBSSU1BUlkgbm93IHRoYXQgR1NNIHNlZW1zIHRvIHdvcmsgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSByYW5rIFBSSU1BUlkgbm93IHRoYXQgR1NNIHNlZW1zIHRvIHdvcmsgZmluZS4KCjIwMDYtMDgtMjEgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay86IE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0bwoJICByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0aCAnR3N0JyB0byBtYWtlIGl0IGNsZWFyZXIKCSAgd2hlcmUgdGhleSBjb21lIGZyb20uCgoyMDA2LTA4LTIxIDEzOjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgIEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKQoJICBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYzKTsgdXNlIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkc7IHNpbXBsaWZ5IHB1c2hfYmxvY2soKTsgZG8gc29tZSBzbWFsbAoJICBjbGVhbi11cHMgaGVyZSBhbmQgdGhlcmU7IGZpeCBtZW1sZWFrICgjMzUxNjYzKS4KCjIwMDYtMDgtMjAgMTM6MDU6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6IExvd2VyIGRlYnVnLCB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2dldF91bml0X3NpemUpLCAoc2V0X3N0cnVjdHVyZV93aWR0aHMpOgoJICBMb3dlciBkZWJ1ZywgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgIChnc3RfZmZtcGVnY3NwX2dldF91bml0X3NpemUpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9nZXRfdW5pdF9zaXplKToKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgoyMDA2LTA4LTE4IDIxOjM5OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluZF9tYXJrZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlcik6CgkgIEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkCgkgIHplcm9lczsgc2tpcCBnYXJiYWdlIGJldHdlZW4gZnJhbWVzIGluIHB1bGwgbW9kZSBhcyB3ZWxsIGlmCgkgIG5lY2Vzc2FyeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpOyBwdXNoIEVPUyBhbmQKCSAgTkVXU0VHTUVOVCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24gKCMzNTE2NTkpLgoKMjAwNi0wOC0xNiAxNjo1MDowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5keSBXaW5nbyA8d2luZ28gYXQgcG9ib3ggZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgoyMDA2LTA4LTE2IDE1OjMzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUgbmFtZXMgYXMgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6CgkgIENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlCgkgIG5hbWVzIGFzIHBvc3NpYmxlLgoKMjAwNi0wOC0xNiAxNDo0Nzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlIHBlbiBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKToKCSAgQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUKCSAgcGVuIGFueW1vcmUuCgoyMDA2LTA4LTE2IDEwOjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdCAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QKCSAgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kZXJzY29yZXMgaW4KCSAgR09iamVjdCBwcm9wZXJ0eSBuYW1lcy4KCjIwMDYtMDgtMTUgMjA6Mjk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7IHNvbWUgc21hbGwgY2xlYW4tdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7CgkgIHNvbWUgc21hbGwgY2xlYW4tdXBzIGFsb25nIHRoZSB3YXk7IGFkZCBzdXBwb3J0IGZvciBTRUVLSU5HIHF1ZXJ5CgkgIGFuZCBxdWVyeSB0eXBlcyBmdW5jdGlvbi4gKCMzNTE0OTUpLgoKMjAwNi0wOC0xNSAxOToyOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBsZWFrcyAoIzM1MTUwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19nZXRfcHJvcGVydHkpOgoJICBGaXggbGVha3MgKCMzNTE1MDIpLgoKMjAwNi0wOC0xNCAxMDowNjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlCgkgIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pbXVtIHJlcXVpcmVkCgkgIGJpdHJhdGUgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLiAoIzM1MDM5OSkKCjIwMDYtMDgtMTAgMTc6MDk6MTAgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogQml0cmF0ZSBpbiB0aGUgZmFhYyBzdHJ1Y3R1cmUgaXMgcGVyIG91dHB1dCBjaGFubmVsLCBub3QgdG90YWwgYml0cmF0ZSAoIzM1MDc0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsLmJlbmVzIGF0IGl0b25pcyB0dj4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCk6CgkgIEJpdHJhdGUgaW4gdGhlIGZhYWMgc3RydWN0dXJlIGlzIHBlciBvdXRwdXQgY2hhbm5lbCwKCSAgbm90IHRvdGFsIGJpdHJhdGUgKCMzNTA3NDEpLgoKMjAwNi0wOC0wOSAxNzo0MToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogRml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jaGFpbik6CgkgIEZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZS4KCjIwMDYtMDgtMDkgMTA6NDU6MzIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXhlZCB1cCBhbmQgY2xlYW5lZCB1cCB0aGUgLWJhZCBzcGVjIGZpbGUgdG8gaGF2ZSBwcm9wZXIgdGVzdHMgZm9yIHdoYXRzIGluc3RhbGxlZCBhbmQgaXRlbXMgcHV0IGluIGNvcnJlY3QgY2F0ZWdvcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeGVkIHVwIGFuZCBjbGVhbmVkIHVwIHRoZSAtYmFkIHNwZWMgZmlsZSB0byBoYXZlIHByb3BlciB0ZXN0cyBmb3Igd2hhdHMgaW5zdGFsbGVkIGFuZCBpdGVtcyBwdXQgaW4gY29ycmVjdCBjYXRlZ29yaWVzLgoKMjAwNi0wOC0wOCAxNDo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBzaWxseSB0eXBvLgoKMjAwNi0wOC0wOCAxMzo1NzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgTm93IGluY2x1ZGVzICJjb25maWcuaCIKCjIwMDYtMDgtMDggMTM6NDU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgoyMDA2LTA4LTA0IDIxOjA0OjU1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFsbG93IEhUVFAgcmVkaXJlY3QgKEhUVFAgc3RhdHVzIGNvZGUgMzAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsbG93IEhUVFAgcmVkaXJlY3QgKEhUVFAgc3RhdHVzIGNvZGUgMzAyKS4KCjIwMDYtMDgtMDQgMTM6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoKMjAwNi0wOC0wNCAxMTozODo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZwoJICB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvciBrZWVwaW5nCgkgIHRyYWNrIG9mIGl0cyBzdGF0ZS4gQ2hhbmdlIHRoZSBGbG93UmV0dXJuIGluc3RhbmNlIHZhcmlhYmxlIGZyb20KCSAgInN0YXRlIiB0byAiZmxvd19zdGF0ZSIsIGFsbCBjYWxsZXJzIGNoYW5nZWQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCwgZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApOiBOZXcgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUKCSAgcHJvY2Vzc29yJ3Mgc3RhdGUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogc3RhcnQoKSBhcyB3ZWxsIGFzIHNldHVwKCkgaGVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOiBSZXNwZWN0IENBTl9QUk9DRVNTX0lOX1BMQUNFLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogU3RvcCBhbmQgY2xlYW51cCB0aGUKCSAgcHJvY2Vzc29yIGFzIHdlIGdvIHRvIE5VTEwuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYyAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOiBSZXVzZSBidWZmZXJzIGlmCgkgIElOUExBQ0VfQlJPS0VOIGlzIG5vdCBzZXQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIERvIHRoZSBhbGxvY19idWZmZXIgaW4gYnl0ZXMsIG5vdCBmcmFtZXMuCgoyMDA2LTA4LTA0IDA5OjIwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBCUEIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6IEJQQgoKMjAwNi0wOC0wNCAwOTowNTo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdXBkYXRlX2lucHV0cykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogUmVtb3ZlIHRoZSBsYXN0IG9mIHRoZSBjb2RlCgkgIHRoYXQgYXNzdW1lcyB0aGF0IHdlIHByb2Nlc3Mgd2hvbGUgYnVmZmVycyBhdCBhIHRpbWUuIEZpeCBzb21lCgkgIGRlYnVnZ2luZy4gU2VlbXMgdG8gd29yayBub3cgaW4gc29tZSBjYXNlcy4KCjIwMDYtMDgtMDMgMTQ6NDg6MjIgKzAwMDAgIGNhc2NhcmRvIGF0IGhvbG9zY29waW8gZG90IGNvbSA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IFVzZSByaWdodCB2YXJpYWJsZXMgd2hlbiBVU0VfU1BDIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogIGNhc2NhcmRvIGF0IGhvbG9zY29waW8gZG90IGNvbQoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgVXNlIHJpZ2h0IHZhcmlhYmxlcyB3aGVuIFVTRV9TUEMgaXMgZGVmaW5lZC4KCjIwMDYtMDgtMDIgMTY6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERpc2FibGUgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfZGVwYXlfc3JjX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIFNtYWxsIGNsZWFudXBzLgoJICBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBDbGVhciBjYXBzIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX3BheV9maW5hbGl6ZSksIChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc3JjX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgUmVzZXQgcGF5bG9hZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIEZpeCBsZWFrZWQgYnVmZmVycyBpbiAtPnF1ZXVlIG9uIHB1c2ggZXJyb3JzLgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIENvZGUgY2xlYW51cHMuCgkgIENyZWF0ZSBwYWNrZXRpemVyIGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCjIwMDYtMDctMzEgMjI6Mjc6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IEluaXQgcGVuZGluZ19pbiBhbmQgcGVuZGluZ19vdXQuCgoyMDA2LTA3LTMxIDIyOjAzOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8gbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vCgkgIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhdCB0aGUgc2FtcGxlCgkgIHJhdGUgYWN0dWFsbHkgZ2V0cyBzZXQuIFNvbWV0aGluZyBmb3IgdGhlIGZ1dHVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBTb21lIHJlZmNvdW50IGZpeGVzLCBmbG93IGZpeGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOiBSZWZjb3VudCBmaXhlbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBQdWxsIHRoZSBudW1iZXIgb2YgZnJhbWVzIHRvCgkgIHByb2Nlc3MgZnJvbSB0aGUgc2l6ZXMgb2YgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlucHV0IHBlbnMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKTogUmVtb3ZlIGFuIGluY29ycmVjdCBGSVhNRSA6KQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBBZGQgYW4gbmZyYW1lcyBhcmd1bWVudCwgYW5kIHVzZQoJICBpdCBpbnN0ZWFkIG9mIGJ1ZmZlcl9mcmFtZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IFJlZmNvdW50IGZpeGVuLCBwYXNzIG5mcmFtZXMgb24KCSAgdG8gZG9fcHVsbHMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogIFJlZmNvdW50IGZpeGVuLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IE5vIG1vcmUgYnVmZmVyX2ZyYW1lcywgeWF5LgoKMjAwNi0wNy0zMSAxOTo0NDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLAoJICB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkxODkpCgoyMDA2LTA3LTMxIDE3OjI5OjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0zMSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogUG9zdCBhbiBlcnJvciBtZXNzYWdlLgoKMjAwNi0wNy0zMSAxNjo1MDoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IERvbid0IHRyeSBhbGxvY2F0aW5nIGlmIHdlIGFyZSBub3Qgc2V0dXAgeWV0LiBGYWlsIGNoYW5naW5nIHN0YXRlIGlmIHNldHVwIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0zMSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogRG9uJ3QgdHJ5IGFsbG9jYXRpbmcgaWYgd2UgYXJlCgkgIG5vdAoJICBzZXR1cCB5ZXQuIEZhaWwgY2hhbmdpbmcgc3RhdGUgaWYgc2V0dXAgZmFpbHMuCgoyMDA2LTA3LTMxIDA4OjQ4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20KCSAgdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMzNDkyMDQKCjIwMDYtMDctMjkgMTY6MzI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgRklYTUUgY29tbWVudHMsIGZpbGVkICMzNDkxODkKCjIwMDYtMDctMjggMTc6MTc6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgdG8gdGhlIGluY29taW5nIGNhcHMuIENsZWFuIHRoZW0gdXAgd2hlbiBzdG9wcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoYXVkaW9yZXNhbXBsZV9zdG9wKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc2V0X2NhcHMpOgoJICBEb24ndCBsZWFrIHJlZmVyZW5jZXMgdG8gdGhlIGluY29taW5nIGNhcHMuIENsZWFuIHRoZW0gdXAgd2hlbgoJICBzdG9wcGluZy4KCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fc2NhbGVfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIG91ciB0ZW1wb3JhcnkgcGl4ZWwgYnVmZmVyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IChydW5fcGlwZWxpbmUpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgIEZpeCBsZWFrcyBhbmQgcmUtZW5hYmxlIHRoZSB0ZXN0IGZvciB2YWxncmluZCBjaGVja2luZy4KCjIwMDYtMDctMjggMTI6MTQ6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLio6IENsZWFuLXVwcyBhbmQgY29kZSByZWZsb3dzLiBQYXNzIHJldHVybiB2YWx1ZSBmcm9tIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgdXBzdHJlYW0gYW1vbmcgb3RoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfaW5pdCksIChnc3RfeHZpZGRlY19yZXNldCksCgkgIChnc3RfeHZpZGRlY191bnNldCksIChnc3RfeHZpZGRlY19oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfeHZpZGRlY19zZXR1cCksIChnc3RfeHZpZGRlY19uZWdvdGlhdGUpLCAoZ3N0X3h2aWRkZWNfY2hhaW4pLAoJICAoZ3N0X3h2aWRkZWNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGRlY19zcmNfZ2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19zZXRjYXBzKSwgKGdzdF94dmlkZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICBDbGVhbi11cHMgYW5kIGNvZGUgcmVmbG93cy4gUGFzcyByZXR1cm4gdmFsdWUgZnJvbQoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIHVwc3RyZWFtIGFtb25nIG90aGVyIHRoaW5ncy4gQWxzbyBjaGVjawoJICBmb3IgTlVMTCBHVmFsdWUgYmVmb3JlIHVzaW5nIEdTVF9WQUxVRV9UWVBFIG1hY3JvICgjMzQ4OTc2KS4KCSAgTWFzcyByZW5hbWUgb2YgeHZpZGRlYyAtPiBkZWMgdmFyaWFibGUgZm9yIGJldHRlcgoJICBjb2RlIHJlYWRhYmlsaXR5LgoKMjAwNi0wNy0yOCAxMDoxOTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWQuYzogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIEk0MjAvWVYxMi4gRml4ZXMgIzM0ODk3Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAoZ3N0X3h2aWRfaW1hZ2VfZmlsbCk6CgkgIEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBJNDIwL1lWMTIuIEZpeGVzICMzNDg5NzYuCgoyMDA2LTA3LTI3IDEwOjUwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS86IEZpeCBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpLCAoZ3N0X2dzbWVuY19zZXRjYXBzKToKCSAgRml4IG5lZ290aWF0aW9uLgoKMjAwNi0wNy0yNiAxMDo1MjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseSBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KToKCSAgcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5CgkgIGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudGFsbHkKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICByZW1vdmUgZGVjbGFyYXRpb24gb2YgYnVmZmVycywgaXQncyBhbHJlYWR5IGRvbmUgaW4gZ3N0Y2hlY2suaAoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNy0yMyAxMTo1MjozNCArMDAwMCAgQ2hyaXMgTGVlIDxjbGVlQGtkZS5vcmc+CgoJICBBZGQgbGlib3BlbnNwYy1iYXNlZCBTUEMgZGVjb2RlciBlbGVtZW50ICgjMzQ4MjIwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDaHJpcyBMZWUgIDxjbGVlIGF0IGtkZSBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfbmVnb3RpYXRlKSwgKGdzdF9zcGNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19jbGFzc19pbml0KSwgKGdzdF9zcGNfZGVjX2luaXQpLCAoZ3N0X3NwY19kZWNfY2hhaW4pLAoJICAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksIChnc3Rfc3BjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5KSwgKHNwY19wbGF5KSwgKHNwY19zZXR1cCksCgkgIChnc3Rfc3BjX2RlY19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIEFkZCBsaWJvcGVuc3BjLWJhc2VkIFNQQyBkZWNvZGVyIGVsZW1lbnQgKCMzNDgyMjApLgoKMjAwNi0wNy0xOSAxNDozNjowMCArMDAwMCAgTWFydGluIFN6dWxlY2tpIDxjb21waXpAc3VraW1hc2hpdGEuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3Qgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFydGluIFN6dWxlY2tpCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpOgoJICBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3QKCSAgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0YWluIHRoaXMKCSAgaW5mb3JtYXRpb24gKCMzNDI0OTQpLgoKMjAwNi0wNy0xOSAxMTo0NzoyMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDctMTkgMTE6NDM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL25zZi5jOiBSZWFsbHkgZml4IGNvbXBpbGF0aW9uLiBBcHBhcmVudGx5IGl0J3Mgbm90IGVub3VnaCB0byBqdXN0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgZm9yIGVycm9ycywgYnV0IHdlIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuYzogKG5zZl9sb2FkKToKCSAgUmVhbGx5IGZpeCBjb21waWxhdGlvbi4gQXBwYXJlbnRseSBpdCdzIG5vdCBlbm91Z2ggdG8KCSAganVzdCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGZvciBlcnJvcnMsIGJ1dCB3ZSBuZWVkIHRvCgkgIGNoZWNrIGZvciBzaG9ydCByZWFkcyBhcyB3ZWxsIChub3cgaWYgb25seSB3ZSBoYW5kbGVkCgkgIHRoZW0gdG9vIC4uLikuIEZpeGVzICMzNDc5MzUuCgoyMDA2LTA3LTE4IDE4OjA1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBRdWV1ZSBpbmNvbWluZyBldmVudHMgaWYgdGhlcmUncyBubyBzb3VyY2UgcGFkIHlldCBhbmQKCSAgc2VuZCB0aGVtIGRvd25zdHJlYW0gbGF0ZXIgd2hlbiB0aGUgcGFkIGlzIHRoZXJlLgoKMjAwNi0wNy0xOCAxNjo0NzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0CgkgIHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHV0IHNhbXBsZXMgd2l0aCAyMS0yNCBiaXQgZGVwdGgKCSAgd2l0aCAzMiBiaXQgd2lkdGggKG1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIHVzKS4KCjIwMDYtMDctMTggMTU6NTM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbgoJICBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlciBnZXRzIGltcGxlbWVudGVkIGEgbG90IG9mIHN0dWZmCgkgIHdpbGwgaGF2ZSB0byBiZSByZXdyaXR0ZW4gYW55d2F5OyByZWRvIGNoYWluIGZ1bmN0aW9uLCBtb3ZlCgkgIGVycm9ycyB0byBlbmQsIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0KClpbmcuIEFsc28gcmVuYW1lCgkgIG92ZXJseSBsb25nIHZhcmlhYmxlICd3YXZwYWNrZGVjJyB0byBqdXN0ICdkZWMnOyBtaXNjZWxsYW5lb3VzCgkgIG90aGVyIHNtYWxsIHN0dWZmLgoKMjAwNi0wNy0xOCAxNDowODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmCgkgIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19yZWFkX2hlYWRlciksCgkgIChnc3Rfd2F2cGFja19yZWFkX21ldGFkYXRhKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19kZWNfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgUG9ydCB0byBuZXcvb2ZmaWNpYWwgd2F2cGFjayBBUEksIGRvbid0IHVzZSBBUEkgdGhhdCB3YXMgZXhwb3J0ZWQKCSAgaW4gd2F2cGFjayBoZWFkZXIgZmlsZXMgYW5kIGluIHRoZSBsaWIgYnV0IG1lYW50IHRvIGJlIHByaXZhdGUsIGF0CgkgIGxlYXN0IG5vdCBmb3IgcmVjZW50IHdhdnBhY2sgdmVyc2lvbnM7IG1pc2MuICdjbGVhbnVwcycgKCMzNDc0NDMpLgoKMjAwNi0wNy0xOCAwOTozNjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvbnNmLmM6IEZpeCBjb21waWxhdGlvbiBieSBub3QgaWdub3JpbmcgcmV0dXJuIHZhbHVlcyBvZiBmcmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuYzogKG5zZl9sb2FkKToKCSAgRml4IGNvbXBpbGF0aW9uIGJ5IG5vdCBpZ25vcmluZyByZXR1cm4gdmFsdWVzIG9mIGZyZWFkLgoKMjAwNi0wNy0xNyAxNTowOTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IGFkZGluZyBtb3JlIGluc3BlY3QgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgIGFkZGluZyBtb3JlIGluc3BlY3QgZG9jcwoKMjAwNi0wNy0xNyAxNDo0Mzo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDogYWN0dWFsbHkgY29tbWl0IGluc3BlY3RhdGlvbiBvZiBnZHAgZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgYWN0dWFsbHkgY29tbWl0IGluc3BlY3RhdGlvbiBvZiBnZHAgZWxlbWVudAoKMjAwNi0wNy0xNyAxNDoxNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMgZml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDYtMDctMTcgMTA6MjU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgV2hlbiB3ZSBkbyBhIGtleWZyYW1lIHNlZWsgYW5kIHRoZSByZXF1ZXN0ZWQgdGltZSBpcyBhdCB0aGUKCSAga2V5ZnJhbWUsIGRvbid0IHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXlmcmFtZS4KCSAgRml4ZXMgIzM0NzQzOS4KCjIwMDYtMDctMTYgMTQ6NDY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IGNyYXNoIG9uIHNtYWxsIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfc3luYyk6CgkgIERvbid0IGNyYXNoIG9uIHNtYWxsIGJ1ZmZlcnMuCgoyMDA2LTA3LTE1IDExOjU3OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IFJlc2V0IGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9zaW5rX2FjdGl2YXRlKToKCSAgUmVzZXQgYWRhcHRlci4KCjIwMDYtMDctMTUgMTE6NTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoKMjAwNi0wNy0xNCAxMDozNDozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgoyMDA2LTA3LTE0IDA5OjExOjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi86IFJlbW92ZSBjcmFjayBtYWxsb2MvZnJlZSByZXBsYWNlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgUmVtb3ZlIGNyYWNrIG1hbGxvYy9mcmVlIHJlcGxhY2VtZW50LgoKMjAwNi0wNy0xMyAxNToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgZml4IHNlZ2ZhdWx0cyBkdWUgdG8gd3JvbmcgZ19mcmVlCgkgIGFkZCBleGFtcGxlCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIGV4YW1wbGUKCjIwMDYtMDctMTMgMTU6MjI6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDctMTMgMTU6MjI6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCjIwMDYtMDctMTMgMTU6MDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBOU0YgZGVjb2RlciBwbHVnaW4uIEZpeGVzIDE1MTE5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoZXMgYnk6IEpvaGFuIERhaGxpbiA8am9oYW4gYXQgZ25vbWUgZG90IG9yZz4KCSAgUm9uYWxkIEJ1bHRqZSA8cmJ1bHRqZSBhdCByb25hbGQgZG90IGJpdGZyZWFrIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9kaXM2NTAyLmg6CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9mZHNfc25kLmg6CgkgICogZ3N0L25zZi9mbW9wbC5jOgoJICAqIGdzdC9uc2YvZm1vcGwuaDoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L25zZi9sb2cuYzoKCSAgKiBnc3QvbnNmL2xvZy5oOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSAgKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgKiBnc3QvbnNmL25lczY1MDIuaDoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgICogZ3N0L25zZi9vc2QuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBBZGRlZCBOU0YgZGVjb2RlciBwbHVnaW4uIEZpeGVzIDE1MTE5Mi4KCjIwMDYtMDctMTMgMTI6NDI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogT25seSBydW4gbXBlZzJlbmMgdW5pdCB0ZXN0IGlmIHdlIGJ1aWx0IHRoZSBtcGVnMmVuYyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBPbmx5IHJ1biBtcGVnMmVuYyB1bml0IHRlc3QgaWYgd2UgYnVpbHQgdGhlIG1wZWcyZW5jIHBsdWdpbi4KCjIwMDYtMDctMTMgMTI6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGVycm9yIG91dCBpbiBjb25maWd1cmUgaWYgbWpwZWd0b29scyBkZXYgaXMgbm90IHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGVycm9yIG91dCBpbiBjb25maWd1cmUgaWYgbWpwZWd0b29scyBkZXYgaXMgbm90IHRoZXJlLgoKMjAwNi0wNy0xMyAxMTowNjo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFBvcnQgbXBlZzJlbmMgdG8gMC4xMCAoIzM0MzE4NCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJICBQb3J0IG1wZWcyZW5jIHRvIDAuMTAgKCMzNDMxODQpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgbXBlZzJlbmMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIHBpdGNoLXRlc3QuCgoyMDA2LTA3LTEyIDA5OjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoKMjAwNi0wNy0xMCAxNDo0OTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoKMjAwNi0wNy0xMCAxNDo0MzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKgoKMjAwNi0wNy0xMCAxNDo0MjoxNSArMDAwMCAgTWF0aGlzIEhvZmVyIDxtYXRoaXMuaG9mZXJAZHJlYW1sYWIubmV0PgoKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hdGhpcyBIb2ZlciA8bWF0aGlzIGRvdCBob2ZlciBhdCBkcmVhbWxhYiBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0X2NhcHMpLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9kaXNwb3NlKSwgKGdzdF9paXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2luaXQpLCAoaWlyX3NldF9jYXBzKSwKCSAgKGlpcl90cmFuc2Zvcm1faXApLCAoaWlyX3NldF9wcm9wZXJ0eSksIChpaXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldF9jYXBzKSwgKGxwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNi0wNy0xMCAwOTo1NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCjIwMDYtMDctMTAgMDk6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKToKCSAgRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoKMjAwNi0wNy0wNyAxNDozMDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCjIwMDYtMDctMDcgMTE6NDQ6MDUgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IFJlbW92ZSB1bmxvY2sgZnVuY3Rpb24uIHN0YXJ0L3N0b3Agd2lsbCBkbyBldmVyeXRoaW5nIG5lZWRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19maW5hbGl6ZSksCgkgIChyZXF1ZXN0X2Rpc3BhdGNoKSwgKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0b3ApLCAoc2V0X3Byb3h5KSwgKHNldF91cmkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSksIChzaXplX2hlYWRlcl9oYW5kbGVyKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZW1vdmUgdW5sb2NrIGZ1bmN0aW9uLiBzdGFydC9zdG9wIHdpbGwgZG8gZXZlcnl0aGluZyBuZWVkZWQKCSAgUmVtb3ZlZCBjb2RlIHRoYXQgd2FzIG5ldmVyIGNhbGxlZC4KCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyLiBEb24ndCBzZW5kIEVPUyAtIHBhcmVudCBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBEbyBub3QgZXNjYXBlIHBhdGguIEZpeGVzICMzNDY3MjMuCgkgIEFkZGl0aW9uYWwgY29kZSBjbGVhbnVwcy4KCjIwMDYtMDctMDMgMjA6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBJVjQxIGZvdXJjYyAoc2VlIGJ1ZyAjMTcxMTExKTsgZG9uJ3Qgb3V0cHV0IGNvbmZ1c2luZwoJICBkZWJ1ZyBtZXNzYWdlIHdoZW4gc2tpcHBpbmcgYXRvbXMuCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNi0yMiAxMDoxMDo1MSArMDAwMCAgQ29keSBSdXNzZWxsIDxicmF0c2NoZUBnbm9tZS5vcmc+CgoJICBnc3QvOiBBdm9pZCB1bm5lY2Vzc2FyeSBjbGFzcyBjYXN0IGNoZWNrIGluIGNsYXNzX2luaXQgZnVuY3Rpb25zICgjMzM3NzQ3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDb2R5IFJ1c3NlbGwgPGJyYXRzY2hlIGF0IGdub21lIG9yZz4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzoKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICBBdm9pZCB1bm5lY2Vzc2FyeSBjbGFzcyBjYXN0IGNoZWNrIGluIGNsYXNzX2luaXQKCSAgZnVuY3Rpb25zICgjMzM3NzQ3KS4KCjIwMDYtMDYtMjAgMTE6MDc6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOiBGaXggbW9kcGx1ZyBvbiBBTUQ2NC4gRml4ZXMgIzM0NTMzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSAgRml4IG1vZHBsdWcgb24gQU1ENjQuIEZpeGVzICMzNDUzMzYuCgoyMDA2LTA2LTE5IDE0OjA3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggY2hlY2sgc28gdGhhdCBmdXR1cmUgbGlibmVvbiBBUEkgY2hhbmdlcyB3b24ndCBicmVhayB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNoZWNrIHNvIHRoYXQgZnV0dXJlIGxpYm5lb24gQVBJIGNoYW5nZXMgd29uJ3QgYnJlYWsgdGhlIGJ1aWxkLgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEZpeCBidWlsZCB3aXRoIGxpYm5lb24tMC4yNi54ICgjMzQ1MTgyKS4KCjIwMDYtMDYtMTkgMTM6MTc6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2lucwoKMjAwNi0wNi0xNyAxNTowOTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LCAjMzQzNjAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksCgkgICMzNDM2MDIpLgoKMjAwNi0wNi0xNiAxNTo0MzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHRlc3QgY2FzZSBmb3IgYnVnICMzNDI3ODkgZml4ZWQgYmVsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHRlc3RfcmV1c2UpLAoJICAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB0ZXN0IGNhc2UgZm9yIGJ1ZyAjMzQyNzg5IGZpeGVkIGJlbG93LgoKMjAwNi0wNi0xNiAxNToxNzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSW1wbGVtZW50IEdzdEJhc2VUcmFuc2Zvcm06OnN0YXJ0IGFuZCA6OnN0b3Agc28gdGhhdCBhdWRpb3Jlc2FtcGxlIGNhbiBjbGVhciBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV9zdGFydCksIChhdWRpb3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSk6CgkgIEltcGxlbWVudCBHc3RCYXNlVHJhbnNmb3JtOjpzdGFydCBhbmQgOjpzdG9wIHNvIHRoYXQgYXVkaW9yZXNhbXBsZQoJICBjYW4gY2xlYXIgaXRzIGludGVybmFsIHN0YXRlIHByb3Blcmx5IGFuZCBiZSByZXVzZWQgaW5zdGVkIG9mCgkgIGNhdXNpbmcgbm9uLW5lZ290aWF0ZWQgZXJyb3JzIHdpdGggcGxheWJpbiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMKCSAgKCMzNDI3ODkpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgTmVlZCB0byBzZXQgZWxlbWVudCBzdGF0ZSBoZXJlIHNvIHRoYXQgOjpzdGFydCBhbmQgOjpzdG9wIGFyZQoJICBjYWxsZWQuCgoyMDA2LTA2LTE2IDEyOjM1OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA2LTE2IDA5OjQ5OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl93aW5kb3dfZGVzdHJveSksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgcG9ydCB0byBkZXJpdmUgZnJvbSBiYXNldHJhbnNmb3JtIGFuZCBzZW5kIHJlc3VsdHMgdmlhIG1lc3NhZ2VzCgkgIChsaWtlIGxldmVsIGVsZW1lbnQpCgoyMDA2LTA2LTE1IDE1OjU4OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoKMjAwNi0wNi0xNSAwODo1MDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBGaXhlcyAjMzQ0OTQ0LgoKMjAwNi0wNi0xNCAxODowNzo1MSArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBleHQvc291bmR0b3VjaC86IE1ha2UgcGl0Y2ggZWxlbWVudCBjb250cm9sbGFibGUgdmlhIEdzdENvbnRyb2xsZXIgaW50ZXJmYWNlICgjMzQ0ODIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuICA8d291dGVyIGF0IGthbmdhcm9vdCBuZXQ+CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIE1ha2UgcGl0Y2ggZWxlbWVudCBjb250cm9sbGFibGUgdmlhIEdzdENvbnRyb2xsZXIgaW50ZXJmYWNlCgkgICgjMzQ0ODIxKS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwIGNvcmUgcmVxdWlyZW1lbnRzIHRvIDAuMTAuOC4xL0NWUyBiZWNhdXNlIGVhcmxpZXIKCSAgR3N0Q29udHJvbGxlcnMgY2FuJ3QgaGFuZGxlIGZsb2F0IHByb3BlcnRpZXMgY29ycmVjdGx5LgoJICBDaGVjayBmb3IgR3N0Q29udHJvbGxlciBDRkxBR1MgYW5kIExJQlMuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOiAobWFpbik6CgkgIEFkZCBzbWFsbCB0ZXN0IHByb2dyYW0gZm9yIHRoZSBhYm92ZSAod2VsY29tZSB0byB0aGUgODBzISkuCgoyMDA2LTA2LTE0IDA5OjMyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3CgkgIGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90aGVyIHN0dWZmLiBTZXQgZHVyYXRpb24KCSAgdG8gJ3Vua25vd24nIGluIGluaXRpYWwgaGVhZGVyIGFuZCByZXNlbmQgaGVhZGVyIHdpdGggcHJvcGVyCgkgIGR1cmF0aW9uIG9uIEVPUzsgdXBkYXRlIFNlYmFzdGlhbidzIGUtbWFpbCBhZGRyZXNzLgoKMjAwNi0wNi0xMiAxMTozMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4LzogI2RlZmluZSByZWQgZ3JlZW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvLmN2c2lnbm9yZToKCSAgKiBleHQvZGlyZWN0ZmIvLmN2c2lnbm9yZToKCSAgI2RlZmluZSByZWQgZ3JlZW4KCjIwMDYtMDYtMTIgMTE6MDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTExIDIyOjM3OjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0wNi0xMSAxMzo1NzoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiByZXF1aXJlIGFtMTcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgcmVxdWlyZSBhbTE3CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgY2xlYW4gdXAgYnVpbGQgZnVydGhlcgoKMjAwNi0wNi0xMCAxNTozMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgoyMDA2LTA2LTA5IDE3OjM4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMsIGZpeGVzIGJ1aWxkIG9uIGN5Z3dpbiAoIzM0Mzg2NikuCgoyMDA2LTA2LTA2IDE2OjI2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCjIwMDYtMDYtMDYgMTY6MTQ6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGdkcCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBnZHAgcGx1Z2lucwoKMjAwNi0wNi0wNiAxNToxNjoxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDYtMDYgMTQ6Mzk6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBhZGQgdmVyc2lvbiAxLjAKCjIwMDYtMDYtMDIgMTc6MDE6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogRG9uJ3QgYnVzeS13YWl0IGluIHRlc3RzOyB0aGlzIHdhcyBjYXVzaW5nIHRlc3QgdGltZW91dHMgdmVyeSBmcmVxdWVudGx5IHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6IChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ2V0X2Zsb2F0X21jX2NhcHMpLCAoZ2V0X2ludF9tY19jYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBidXN5LXdhaXQgaW4gdGVzdHM7IHRoaXMgd2FzIGNhdXNpbmcgdGVzdCB0aW1lb3V0cyB2ZXJ5CgkgIGZyZXF1ZW50bHkgd2hlbiBydW5uaW5nIHVuZGVyIHZhbGdyaW5kLgoKMjAwNi0wNi0wMiAxNjo0NTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIHNtYWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBmaXhlcwoKMjAwNi0wNi0wMiAxMzo0MzoyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogVGhlb3JhIDQ6NDo0IHBpeGVsIGZvcm1hdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDQ0X2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICBUaGVvcmEgNDo0OjQgcGl4ZWwgZm9ybWF0IHN1cHBvcnQuCgoyMDA2LTA2LTAyIDEwOjI4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMKCSAgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCksIChnZHBwYXlfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3IgY3JjCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDYtMDEgMTk6MTk6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5oOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcm9wdGlvbnMuaDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5oOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuaDoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYWRlYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhZW5jLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFwYXJzZS5oOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9jbG9jay5oOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlci5oOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGF1ZGlvcGF5bG9hZC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmg6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5oOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5oOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmg6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuaDoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmg6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuaDoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5oOgoJICAqIHN5cy92NGwvZ3N0djRsanBlZ3NyYy5oOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5oOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmg6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmg6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuaDoKCSAgKiB0ZXN0cy9vbGQvdGVzdHN1aXRlL2Fsc2Evc2luZXNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTMxIDE5OjI2OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5oOiBGb3Jnb3QgdG8gY29tbWl0IHRoZSBoZWFkZXIgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCB0aGUgaGVhZGVyIGZpbGUgdG9vLgoKMjAwNi0wNS0zMSAxMzozNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkZWQgR3N0U2VnbWVudCB0byBjb250cm9sIHNlZ21lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jbGFzc19pbml0KSwgKGdzdF9mYWFkX2luaXQpLAoJICAoZ3N0X2ZhYWRfZGlzcG9zZSksIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGNsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZGVkIEdzdFNlZ21lbnQgdG8gY29udHJvbCBzZWdtZW50cy4KCSAgQWRkZWQgY2xpcHBpbmcvZHJvcHBpbmcgb2Ygb3V0Z29pbmcgYnVmZmVycyBpbiBvcmRlciB0byBoYXZlIGFjY3VyYXRlCgkgIHNlZWtpbmcgd29ya2luZyBwcm9wZXJseS4KCjIwMDYtMDUtMjggMTc6MDg6MTcgKzAwMDAgIEx1dHogTcO8bGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9iejIvOiBVc2UgZ3N0X3R5cGVfZmluZF9oZWxwZXJfKiBmdW5jdGlvbnMgZm9yIHR5cGVmaW5kaW5nOyB1c2UgY29ycmVjdCBjYXBzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgYWRkIHN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTcO8bGxlciAgPGx1dHogYXQgdG9wZnJvc2UgZGU+CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAoZ3N0X2J6MmRlY19jaGFpbiksIChnc3RfYnoyZGVjX2luaXQpLAoJICAoZ3N0X2J6MmRlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2J6MmRlY19jbGFzc19pbml0KToKCSAgVXNlIGdzdF90eXBlX2ZpbmRfaGVscGVyXyogZnVuY3Rpb25zIGZvciB0eXBlZmluZGluZzsgdXNlCgkgIGNvcnJlY3QgY2FwcyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IGFkZCBzdGF0ZSBjaGFuZ2UKCSAgZnVuY3Rpb24gYW5kIHJlc2V0IGRlY29kZXIgaW4gaXQ7IGRvbid0IHVucmVmIGJ1ZmZlciBpZgoJICBwYWRfcHVzaCBmYWlsczsgdXNlIGZpeGVkIGNhcHMgb24gc291cmNlIHBhZC4gKCMzNDE1MjQpLgoKMjAwNi0wNS0yNiAyMjozNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX2ZyZXF1ZW5jeV9jaGFuZ2VkKSwKCSAgKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGZpeCB0eXBvCgoyMDA2LTA1LTI2IDEzOjE2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcAoJICB0aW1lLgoKMjAwNi0wNS0yNiAxMTo0ODo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgoyMDA2LTA1LTI0IDExOjU2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCjIwMDYtMDUtMjIgMTg6MDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHBvL1BPVEZJTEVTLmluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLCAocGx1Z2luX2luaXQpOgoJICBwby9QT1RGSUxFUy5pbjoKCSAgVGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgZmlsZSBpcyBlbmNyeXB0ZWQuIE1vdmUgcGx1Z2luX2luaXQgc3R1ZmYKCSAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSwgYWRkIHN0dWZmIGZvciBpMThuLCBtYWtlIGRlYnVnIGNhdGVnb3J5CgkgIHN0YXRpYy4KCjIwMDYtMDUtMjIgMTY6MjQ6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHNpZ2gsIHJlYWxseSBkb24ndCBidWlsZCB0aGVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2lnaCwgcmVhbGx5IGRvbid0IGJ1aWxkIHRoZXNlCgoyMDA2LTA1LTIyIDE2OjA4OjM0ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIE5ldyBwbHVnaW46IGgyNjRwYXJzZSAoIzM0MDYzOCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IHhlcmlzIGRvdCBjej4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9oMjY0X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfaW5pdCksIChnc3RfaDI2NF9wYXJzZV9jaGFpbiksCgkgIChnc3RfaDI2NF9wYXJzZV9oYW5kbGVfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIE5ldyBwbHVnaW46IGgyNjRwYXJzZSAoIzM0MDYzOCkKCjIwMDYtMDUtMjIgMTU6NTM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcGF5X2NoYWluKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucwoJICBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGNsZWFuIHVwIG1vcmUKCjIwMDYtMDUtMjIgMTQ6Mzc6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgoyMDA2LTA1LTIyIDEzOjQwOjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoKMjAwNi0wNS0yMiAxMzoyNTo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2dkcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX3BheV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2Rpc3Bvc2UpLCAoZ3N0X2dkcF9zdGFtcF9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZ2RwX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSksIChnZHBkZXBheV9wdXNoX3Blcl9ieXRlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlciksIChnZHBkZXBheV9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcHBheV9zdWl0ZSksCgkgIChtYWluKToKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbAoJICBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCjIwMDYtMDUtMjEgMTY6NDE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCjIwMDYtMDUtMjEgMTY6MjM6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogTGluayB0byBiYXNlIGxpYnJhcmllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICB1c2UgbmV3IHRocmVzaGhvbGQgcHJvcGVydHkKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKSwKCSAgKGdzdF9zcGVjdHJ1bV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgZ3N0X2FkYXB0ZXIsIHN1cHBvcnQgbXVsdGlwbGUtY2hhbm5lbHMsIGFkZCB0aHJlc2hvbGQgcHJvcGVydHkgZm9yCgkgIHJlc3VsdCwgYWRkIGRvY3MsIGZpeCByZXN1bHRpbmcgc3BlY3RydW0gcmFuZ2UgKHdhcyBpbmNsdWRpbmcgbWlycm9yZWQKCSAgcmVzdWx0cykKCjIwMDYtMDUtMjAgMjI6NDI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiAoZ3N0X3NwZWN0cnVtX2ZpeF9kb3QpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2dldF90eXBlKSwKCSAgKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCjIwMDYtMDUtMTkgMTg6NTg6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoKMjAwNi0wNS0xOSAxODozMToyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTkgMTQ6MTc6MDQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay4qOiBVc2Ugc2FtcGxpbmcgcmF0ZSBmcm9tIHNldF9jYXBzLiBDb21tZW50IG91dCBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19iYXNlX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19jbGFzc19pbml0KSwgKGFsc2FzcGRpZnNpbmtfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2Rpc3Bvc2UpLCAoYWxzYXNwZGlmc2lua19zZXRfcHJvcGVydHkpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfcHJvcGVydHkpLCAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX2Nsb3NlKSwgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKSwKCSAgKGFsc2FzcGRpZnNpbmtfd3JpdGVfZnJhbWUpLCAoYWxzYXNwZGlmc2lua19ldmVudCksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lcyksIChhbHNhc3BkaWZzaW5rX2N1cnJlbnRfZGVsYXkpLAoJICAoZ2VuZXJhdGVfaWVjOTU4X3plcm9fZnJhbWUpLCAoYWxzYXNwZGlmc2lua19yZW5kZXIpLAoJICAoaWdub3JlX2Fsc2FfZXJyKSwgKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgVXNlIHNhbXBsaW5nIHJhdGUgZnJvbSBzZXRfY2Fwcy4gQ29tbWVudCBvdXQgc29tZSBtb3JlIHVudXNlZCBjb2RlLgoKMjAwNi0wNS0xOCAxOTozNDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWDExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFgxMQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pZmFjZV9zdXBwb3J0ZWQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBDb2RlIGNsZWFudXBzLCBmaXggZGVidWcgbWFjcm9zCgoyMDA2LTA1LTE4IDEzOjEyOjE5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0Y2hlY2s/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGRpc3RjaGVjaz8KCjIwMDYtMDUtMTggMTI6NTE6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhbiBhbHNhIHBsdWdpbiB0byBvdXRwdXQgSUVDOTU4IGZyYW1lcyBvdmVyIFMvUERJRgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2Jhc2VfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2NsYXNzX2luaXQpLCAoYWxzYXNwZGlmc2lua19pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfZGlzcG9zZSksIChhbHNhc3BkaWZzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChhbHNhc3BkaWZzaW5rX2dldF9wcm9wZXJ0eSksIChhbHNhc3BkaWZzaW5rX3Byb3ZpZGVfY2xvY2spLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19jbG9zZSksIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSksCgkgIChhbHNhc3BkaWZzaW5rX3dyaXRlX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfZXZlbnQpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZXMpLCAoYWxzYXNwZGlmc2lua19jdXJyZW50X2RlbGF5KSwKCSAgKGdlbmVyYXRlX2llYzk1OF96ZXJvX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfcmVuZGVyKSwKCSAgKGlnbm9yZV9hbHNhX2VyciksIChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgIEFkZCBhbiBhbHNhIHBsdWdpbiB0byBvdXRwdXQgSUVDOTU4IGZyYW1lcyBvdmVyIFMvUERJRgoKMjAwNi0wNS0xNyAwOTozOTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogUmVtb3ZlIHVudXNlZCBjYXBzIGNydWZ0IGZyb20gY2hhaW4gZnVuY3Rpb24gYWx0b2dldGhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBSZW1vdmUgdW51c2VkIGNhcHMgY3J1ZnQgZnJvbSBjaGFpbiBmdW5jdGlvbiBhbHRvZ2V0aGVyLgoKMjAwNi0wNS0xNyAwOToxNTo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCBjYXBzIHdhcyBzZXQgdG8gc29tZXRoaW5nLCBhbmQgaWYgaXQgZGlkLCB0aGUgZnVuY3Rpb24gY2FsbGVkIHRvIGZpbGwgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgY2FwcyB3YXMgc2V0IHRvIHNvbWV0aGluZywgYW5kIGlmIGl0IGRpZCwgdGhlCgkgIGZ1bmN0aW9uIGNhbGxlZCB0byBmaWxsIHRoYXQgdmFyaWFibGUgYWN0dWFsbHkgc2V0cyB0aGUgY2FwcyBvbiB0aGUKCSAgc291cmNwYWQsIHNvIHdlIGNhbGwgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdXNpbmcKCSAgR1NUX1BBRF9DQVBTKGZhYWQtPnNyY3BhZCkuCgoyMDA2LTA1LTE1IDEwOjEwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgY2hhbmdlcyB3aXRoIGFkZGl0aW9ucyBhbmQgcmVtb3ZhbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCBjaGFuZ2VzIHdpdGggYWRkaXRpb25zIGFuZCByZW1vdmFscwoKMjAwNi0wNS0xMyAxODozOToxMyArMDAwMCAgWW91bmctSG8gQ2hhIDxnYW5hZGlzdEBjaG9sbGlhbi5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IElmIHdlIGVuY291bnRlciBhIGRlY29kaW5nIGVycm9yLCBkb24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHksIGJ1dCB0cnkgdG8gcmVzeW5jIChvciBzZWUgaWYgd2UgaGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZy1IbyBDaGEgIDxnYW5hZGlzdCBjaG9sbGlhbiBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgSWYgd2UgZW5jb3VudGVyIGEgZGVjb2RpbmcgZXJyb3IsIGRvbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSwKCSAgYnV0IHRyeSB0byByZXN5bmMgKG9yIHNlZSBpZiB3ZSBoYXZlIGJldHRlciBsdWNrIHdpdGggdGhlIG5leHQKCSAgYnVmZmVyIGluIGNhc2Ugb2YgZnJhbWVkIGlucHV0KS4gT25seSBlcnJvciBvdXQgYWZ0ZXIgZml2ZQoJICBjb25zZWN1dGl2ZSBlcnJvcnMuIEZpeGVzICMzNDE1NjMuCgoyMDA2LTA1LTEyIDEwOjQzOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBDb21waWxlIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jbGFzc19pbml0KSwKCSAgKGdzdF94dmlkZW5jX2luaXQpLCAoZ3N0X3h2aWRlbmNfZmluYWxpemUpLAoJICAoZ3N0X3h2aWRlbmNfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3h2aWRlbmNfc2V0dXApLAoJICAoZ3N0X3h2aWRlbmNfc2V0Y2FwcyksIChnc3RfeHZpZGVuY19lbmNvZGUpLCAoZ3N0X3h2aWRlbmNfY2hhaW4pLAoJICAoZ3N0X3h2aWRlbmNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGVuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgQ29tcGlsZSBmaXhlcy4KCjIwMDYtMDUtMTIgMDk6Mjg6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBleHQveHZpZC86IHh2aWQgcGx1Z2luIHRvIHN1cHBvcnQgbW9yZSBjYXBhYmlsaXRpZXMgb2YgWHZpRCBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChnc3RfeHZpZF9pbml0KSwgKGdzdF94dmlkX3N0cnVjdHVyZV90b19jc3ApLAoJICAoZ3N0X3h2aWRfY3NwX3RvX2NhcHMpLCAoZ3N0X3h2aWRfaW1hZ2VfZ2V0X3NpemUpLAoJICAoZ3N0X3h2aWRfaW1hZ2VfZmlsbCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3h2aWRkZWNfaW5pdCksIChnc3RfeHZpZGRlY19yZXNldCksIChnc3RfeHZpZGRlY191bnNldCksCgkgIChnc3RfeHZpZGRlY19oYW5kbGVfc2lua19ldmVudCksIChnc3RfeHZpZGRlY19zZXR1cCksCgkgIChnc3RfeHZpZGRlY19hZGRfcGFyKSwgKGdzdF94dmlkZGVjX25lZ290aWF0ZSksCgkgIChnc3RfeHZpZGRlY19kZWNvZGUpLCAoZ3N0X3h2aWRkZWNfY2hhaW4pLAoJICAoZ3N0X3h2aWRkZWNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGRlY19zcmNfZ2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19zcmNfbGluayksIChnc3RfeHZpZGRlY19zZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX3Byb2ZpbGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3h2aWRlbmNfcXVhbnRfdHlwZV9nZXRfdHlwZSksIChnc3RfeHZpZGVuY19wYXNzX2dldF90eXBlKSwKCSAgKGdzdF94dmlkZW5jX2dldF90eXBlKSwgKGdzdF94dmlkZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfeHZpZGVuY19jbGFzc19pbml0KSwgKGdzdF94dmlkZW5jX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfZmluYWxpemUpLCAoZ3N0X3h2aWRlbmNfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3h2aWRlbmNfc2V0dXApLCAoZ3N0X3h2aWRlbmNfc2V0Y2FwcyksIChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfY2hhaW4pLCAoZ3N0X3h2aWRlbmNfZmx1c2hfYnVmZmVycyksCgkgIChnc3RfeHZpZGVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94dmlkZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkIHBsdWdpbiB0byBzdXBwb3J0IG1vcmUgY2FwYWJpbGl0aWVzIG9mIFh2aUQgY29kZWMuCgkgIEZpeGVzICMzMzk0NjIuCgkgIFNvbWUgbW9yZSBjbGVhbnVwcyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDUtMTEgMjA6NDc6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBwdXQgYmFjayAtbm8tdW5kZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwdXQgYmFjayAtbm8tdW5kZWZpbmVkCgoyMDA2LTA1LTExIDE3OjU5OjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xMSAwOTowOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlCgkgIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb25hbCBlc2RzIGJveC4gUHJvbW90ZSB0aGUKCSAgZGVmYXVsdCBBQUMgdG8gbXAzIHdoZW4gaW5kaWNhdGVkLiBGaXhlcyAjMzMwNjMyLgoKMjAwNi0wNS0xMCAxNzo0NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9kdW1wX3Vua25vd24pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIERvbid0ICNkZWZpbmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSwgdXNlIHNvbWV0aGluZyBtb3JlCgkgIHNwZWNpZmljIGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwNi0wNS0wOCAxOToyMToxOCArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgoyMDA2LTA1LTA4IDE1OjIwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAocXRkZW11eF9kdW1wX212aGQpOgoJICBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIEFsc28gcmVwb3J0IGR1cmF0aW9uIGluIHB1c2ggbW9kZSBzaW5jZSB3ZSBjYW4uCgoyMDA2LTA1LTA4IDExOjU1OjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgYXV0b2dlbi5zaDogbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOiAoQ09ORklHVVJFX0RFRl9PUFQpOgoJICBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplCgoyMDA2LTA1LTA2IDAwOjE1OjU5ICswMDAwICBNYWNpZWogS2F0YWZpYXN6IDxtYXRocmlja0BtYXRocmljay5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgoyMDA2LTA1LTA1IDIwOjEyOjU5ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24uCgoyMDA2LTA1LTA1IDE1OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogVXNlIChOVUxMKSBpbnN0ZWFkIG9mIGp1c3QgTlVMTCBpbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX3ByZXBhcmUpOgoJICBVc2UgKE5VTEwpIGluc3RlYWQgb2YganVzdCBOVUxMIGluIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvLgoKMjAwNi0wNS0wNCAxNTozMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMyA9PT0KCjIwMDYtMDUtMDQgMTU6Mjg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoKMjAwNi0wNS0wNCAxNTowOToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgUGVyZm9ybSB2ZXJzaW9uIG51bWJlciBzdXJnZXJ5IHRvIGNvcnJlY3RseSByZWxlYXNlIHRhcmJhbGxzIG9mIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGVyZm9ybSB2ZXJzaW9uIG51bWJlciBzdXJnZXJ5IHRvIGNvcnJlY3RseSByZWxlYXNlIHRhcmJhbGxzIG9mIDAuMTAuMwoKMjAwNi0wNS0wNCAxNDo1Mjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCjIwMDYtMDUtMDQgMTQ6NTE6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDQgMDk6Mjk6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoKMjAwNi0wNS0wMyAyMTo0ODoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDUtMDMgMTY6NTQ6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06IEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1MgZm9yIGdzdC90YWcvdGFnLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIGZvciBnc3QvdGFnL3RhZy5oCgoyMDA2LTA1LTAzIDE0OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYSBkZWFkIGNvZGUgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEKCSAgZGVhZCBjb2RlIGJsb2NrLgoKMjAwNi0wNS0wMyAxMzoyMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEV2ZXJ5Ym9keSBsb3ZlcyBkb2NzIC0gYWRkIGRvY3MgZm9yIG11c2ljYnJhaW56IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgRXZlcnlib2R5IGxvdmVzIGRvY3MgLSBhZGQgZG9jcyBmb3IgbXVzaWNicmFpbnogcGx1Z2luLgoKMjAwNi0wNS0wMyAxMjowMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIG11c2ljYnJhaW56IGRpciB0byBESVNUX1NVQkRJUlMgYXMgd2VsbCAoZml4ZXMgZGlzdGNoZWNrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgbXVzaWNicmFpbnogZGlyIHRvIERJU1RfU1VCRElSUyBhcyB3ZWxsIChmaXhlcyBkaXN0Y2hlY2spLgoKMjAwNi0wNS0wMyAxMTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRm9yZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGb3Jnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoKMjAwNi0wNS0wMyAxMToyNzo0MiArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBNdXNpY0JyYWlueiBUUk0gcGx1Z2luICgjMzM2ODk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX2Jhc2VfaW5pdCksCgkgIChnc3RfdHJtX2NsYXNzX2luaXQpLCAoZ3N0X3RybV9pbml0KSwgKGdzdF90cm1fc2V0Y2FwcyksCgkgIChnc3RfdHJtX2NoYWluKSwgKGdzdF90cm1fZW1pdF9zaWduYXR1cmUpLCAoZ3N0X3RybV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3RybV9nZXRfcHJvcGVydHkpLCAoZ3N0X3RybV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgUG9ydCBNdXNpY0JyYWlueiBUUk0gcGx1Z2luICgjMzM2ODk4KS4KCjIwMDYtMDUtMDMgMTA6MjU6NDYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4ICMzMzQ3NDg6IHVzZSBmYWtlX2NvZGVjX2RhdGEgaWYgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBmaXJzdCBidWZmZXIgd2UgcHJvY2VzcyBkb2Vzbid0IGxvb2sgbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGxvb2tzX2xpa2VfdmFsaWRfaGVhZGVyKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgRml4ICMzMzQ3NDg6IHVzZSBmYWtlX2NvZGVjX2RhdGEgaWYgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBmaXJzdAoJICBidWZmZXIgd2UgcHJvY2VzcyBkb2Vzbid0IGxvb2sgbGlrZSBwbGF1c2libGUgQUFDIGRhdGEgKGUuZy4KCSAgcmVzZXJ2ZWQgdmFsdWVzIGZvciByYXRlLCBvciBjaGFubmVscykuIEZpeGVzIHBsYXliYWNrIG9mIEFwcGxlJ3MKCSAgbW92aWUgdHJhaWxlcnMuCgoyMDA2LTA1LTAyIDIxOjUyOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgoyMDA2LTA1LTAxIDIxOjM3OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCjIwMDYtMDUtMDEgMTc6NTg6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZWQgdG8gZ29vZC4gIENsb3NlcyAjMzM2MTEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgbW92ZWQgdG8gZ29vZC4gIENsb3NlcyAjMzM2MTEwCgoyMDA2LTA0LTMwIDE2OjE2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMzAgMTU6MzI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzCgoyMDA2LTA0LTMwIDE1OjEzOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgdXBkYXRlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIHNpZ25hbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzCgoyMDA2LTA0LTMwIDE1OjExOjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBpZ25vcmUgbW9yZTsgYWRkIG5ldyBpbnNwZWN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZTsgYWRkIG5ldyBpbnNwZWN0IGZpbGVzCgoyMDA2LTA0LTMwIDE0OjU5OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICByZW1vdmUgZmlsZXMgdGhhdCBzaG91bGQgbm90IGJlIGluIGN2cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGZpbGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBjdnMKCjIwMDYtMDQtMzAgMTQ6NTg6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogRml4IHVwIGRvY3MgZm9yIHRhZ2xpYiBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIEZpeCB1cCBkb2NzIGZvciB0YWdsaWIgcGx1Z2luCgkgIEFsc28gc2NhbiAuY2MgZmlsZXMKCjIwMDYtMDQtMzAgMTQ6NTU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgoyMDA2LTA0LTI5IDE4OjQ2OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KSBjYXNlIG9mIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpCgkgIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA0LTI5IDE4OjE4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8gaXRzIG93biBzdWJjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvCgkgIGl0cyBvd24gc3ViY2xhc3MuCgoyMDA2LTA0LTI5IDE1OjM2OjE2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBhZGRlZCBpcmFkaW8tbW9kZSBzdXBwb3J0IGFzIGluIGdub21ldmZzc3JjIHRvIGVuYWJsZSBjb25uZWN0aW9ucyB3aXRoIGljeWRlbXV4IHRoYXQgd2lsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBhZGRlZCBpcmFkaW8tbW9kZSBzdXBwb3J0IGFzIGluIGdub21ldmZzc3JjIHRvIGVuYWJsZQoJICBjb25uZWN0aW9ucyB3aXRoIGljeWRlbXV4IHRoYXQgd2lsbCBzZW5kIHRpdGxlIHRhZyBtZXNzYWdlcyBvbgoJICBzaG91dGNhc3QvaWNlY2FzdCBzdHJlYW1zLiBJJ3ZlIGFsc28gYWRkZWQgaXJhZGlvIHByb3BlcnRpZXMKCSAgaXJhZGlvLW5hbWUsIGlyYWRpby1nZW5yZSwgaXJhZGlvLXVybC4KCSAgYWRkZWQgdXNlci1hZ2VudCBwcm9wZXJ0eSBiZWNhdXNlIHNvbWUgc2hvdXRjYXN0IHN0cmVhbXMgZG9uJ3QgcmV0dXJuCgkgIGRhdGEgaWYgdGhlIEdFVCByZXF1ZXN0cyBkb24ndCBoYXZlIGEgVXNlci1BZ2VudC4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0bmVvbi5kc3A6CgkgIHVzZSBkZWJ1ZyB2ZXJzaW9uIG9mIGxpYm5lb24gaW4gZGVidWcgbW9kZQoKMjAwNi0wNC0yOCAyMTo0MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBlbGVtZW50IHJlbmFtZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVsZW1lbnQgcmVuYW1lZAoKMjAwNi0wNC0yOCAxOTo0NjozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgbWFrZSBHc3RFbGVtZW50RGV0YWlscyBjb25zdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dwYXJzZS5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bGpwZWdzcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICBtYWtlIEdzdEVsZW1lbnREZXRhaWxzIGNvbnN0CgoyMDA2LTA0LTI4IDE5OjI0OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICByZW1vdmVkIHBsdWdpbiBkb2MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgcGx1Z2luIGRvYwoKMjAwNi0wNC0yOCAxOToyMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIG1vdmVkIHhpbWFnZXNyYyB0byBnb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlZCB4aW1hZ2VzcmMgdG8gZ29vZAoKMjAwNi0wNC0yOCAxNjo1MTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICBib3JnaWZ5IG5hbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBuYW1pbmcKCjIwMDYtMDQtMjggMTY6NDY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgZG9jIHR3ZWFrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHR3ZWFrcwoKMjAwNi0wNC0yOCAxNjoxNToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCjIwMDYtMDQtMjggMTU6MzM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIHBlZGFudGljIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoKMjAwNi0wNC0yOCAxNDoxNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQWRkIHN1cHBvcnQgZm9yIG90aGVyIGZvcm1hdHMgYXVkaW9yZXNhbXBsZSBjYW4gaGFuZGxlIHN1Y2ggYXMgMzIgYml0cyBpbiBhbmQgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKHJlc2FtcGxlX3NldF9zdGF0ZV9mcm9tX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3Igb3RoZXIgZm9ybWF0cyBhdWRpb3Jlc2FtcGxlIGNhbiBoYW5kbGUgc3VjaCBhcwoJICAzMiBiaXRzIGluIGFuZCBmbG9hdCBhbmQgNjQgYml0cyBmbG9hdC4gRml4ZXMgIzMwMTc1OQoKMjAwNi0wNC0yOCAxMTowNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogSWYgd2UgcnVuIGludG8gYSBkZWNvZGluZyBlcnJvciwgdHJ5IHJlLW9wZW5pbmcgdGhlIGRlY29kZXIgd2l0aCBmYWFjRGVjSW5pdDIoKSB1c2luZyBmYWtlIGNvZGVjIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGFhY19yYXRlX2lkeCksCgkgIChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX29wZW5fZGVjb2RlciksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBJZiB3ZSBydW4gaW50byBhIGRlY29kaW5nIGVycm9yLCB0cnkgcmUtb3BlbmluZyB0aGUgZGVjb2RlcgoJICB3aXRoIGZhYWNEZWNJbml0MigpIHVzaW5nIGZha2UgY29kZWMgZGF0YSBjcmVhdGVkIGZyb20gdGhlCgkgIGRhdGEgdGhlIGRlbXV4ZXIgZ2F2ZSB1cy4gU2hvdWxkIGZpeCBhIHdob2xlIGJ1bmNoIG9mCgkgIEdTdHJlYW1lci1mYWFkIHByb2JsZW1zIGluY2wuICdjaGFubmVsIGNvdXBsaW5nIG5vdAoJICBpbXBsZW1lbnRlZCcsICdtYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCcKCSAgZXRjLiAoIzE3MzAwNywgIzMzMjg5MikuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjAgMTg6MDI6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA2LTA0LTIwIDE3OjI5OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCjIwMDYtMDQtMjAgMDk6NDg6MDUgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBBZGQgcXRkcncgbWltZSB0eXBlLgoJICBGaXhlcyAjMzM5MDQxCgoyMDA2LTA0LTE5IDA5OjI3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIEZpeGVzICMzMzg5MzUuCgoyMDA2LTA0LTE3IDE5OjQzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgoyMDA2LTA0LTE3IDE4OjQ0OjQ4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy4qOiBBcHBseSBmaXggZnJvbSBqXiBmb3IgQVBJIGNoYW5nZSBpbiBsaWJ0aGVvcmFkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQXBwbHkgZml4IGZyb20gal4gZm9yIEFQSSBjaGFuZ2UgaW4gbGlidGhlb3JhZGVjLgoJICBJbXBsZW1lbnQgNDoyOjIgcGl4ZWwgZm9ybWF0LiBVbnRlc3RlZCBhdCB0aGUgbW9tZW50LgoKMjAwNi0wNC0xNCAxMzoxMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBGaXggdHJhY2svYWxidW0gcGVhayB0YWcgdmFsdWVzOyB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCk6CgkgIEZpeCB0cmFjay9hbGJ1bSBwZWFrIHRhZyB2YWx1ZXM7IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQKCSAgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKS4KCjIwMDYtMDQtMTMgMjE6NDU6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgoyMDA2LTA0LTEyIDIxOjU3OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoKMjAwNi0wNC0xMSAxNjoxODoxMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCB2ZXJzaW9uaW5nIG1hY3JvIGFuZCBhZGQgdHJhbnNsYXRpb24gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2ZXJzaW9uaW5nIG1hY3JvIGFuZCBhZGQgdHJhbnNsYXRpb24gZmlsZXMKCjIwMDYtMDQtMTAgMTc6MTY6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCjIwMDYtMDQtMTAgMTQ6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCjIwMDYtMDQtMTAgMTM6NTg6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBGaXggYnVpbGQgKGNsYXNzX2luaXQgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtaXNtYXRjaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgKGNsYXNzX2luaXQgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtaXNtYXRjaCkuCgoyMDA2LTA0LTEwIDA4OjMxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCjIwMDYtMDQtMDkgMTg6MzA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkb25lIHNvbWUgY2xlYW5zIGluIHNvdXJjZXMKCSAgKiB3aW4zMi92czY6CgkgIGFkZCBwcm9qZWN0IGZpbGVzIGZvciBuZW9uLCBxdGRlbXV4CgoyMDA2LTA0LTA5IDE3OjE0OjIyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOiByZXBsYWNlIGRlYnVnIG1hY3JvcyB3aXRoIHZhcmlhYmxlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGJ5IGEgc2ltcGxlIGFsaWFzIHRvIGdzdHJlYW1lciBzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgcmVwbGFjZSBkZWJ1ZyBtYWNyb3Mgd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgcGFyYW1ldGVycwoJICBieSBhIHNpbXBsZSBhbGlhcyB0byBnc3RyZWFtZXIgc3RhbmRhcmQgZGVidWcgbWFjcm9zCgkgICgjZGVmaW5lIFJFU0FNUExFX0VSUk9SIEdTVF9FUlJPUiwgX19WQV9BUkdTX18gaXMgbm90CgkgIHN1cHBvcnRlZCBieSBNU1ZDIDYuMCBhbmQgNy4xKQoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIGRlZmluZSBNX1BJIGFuZCByaW50IGZvciBXSU4zMgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RhdWRpby5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJpZmYuZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3R0YWcuZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3R2aWRlby5kZWY6CgkgIGFkZCBuZXcgZXhwb3J0ZWQgZnVuY3Rpb25zCgkgICogd2luMzIvdnM2OgoJICB1cGRhdGUgcHJvamVjdCBmaWxlcwoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNDowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6NDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjI1OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX3N0c3opLAoJICAocXRkZW11eF9kdW1wX3N0Y28pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgRml4IHRpbWVzdGFtcHMgZm9yIEFNUiBhbmQgSU1BNC4gIEZpeGVzICgjMzM3NDM2KS4KCSAgQ3JlYXRlIGEgZHVtbXkgc2VnbWVudCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gZWRpdCBsaXN0LgoKMjAwNi0wNC0wNyAxNjo1OToxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDogVXBkYXRlcy4KCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIGV4YW1wbGUgcmVzb3VyY2UgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDYtMDQtMDcgMTU6NTM6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8gMjVmcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8KCSAgMjVmcHMKCjIwMDYtMDQtMDcgMTU6NDc6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAobWFpbik6CgkgIEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoKMjAwNi0wNC0wNyAxNToyNzo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGNvbXBvc2l0ZV9waXhlbCksIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0wNiAxOToxNjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2ZpbmRfaW5kZXgpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgQXZvaWQgb3ZlcmZsb3dzIGluIHByb2xvZ3VlIGltYWdlIGRldGVjdGlvbiBjb2RlLgoJICBBdm9pZCByb3VuZG9mZiBlcnJvcnMgaW4gdGltZXN0YW1wIGNhbGN1bGF0aW9ucy4KCjIwMDYtMDQtMDYgMTQ6MjA6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgbW9yZSBkaXN0Y2hlY2sgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgZGlzdGNoZWNrIGZpeGVzCgoyMDA2LTA0LTA2IDE0OjA4OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogY2xlYW4gdXAgc28gcmVwb3J0IHByb3Blcmx5IG9uIG1pc3Npbmcgc3R1ZmYgZml4IG1vZHBsdWcgZGV0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgY2xlYW4gdXAgc28gcmVwb3J0IHByb3Blcmx5IG9uIG1pc3Npbmcgc3R1ZmYKCSAgZml4IG1vZHBsdWcgZGV0ZWN0aW9uCgoyMDA2LTA0LTA2IDEyOjUyOjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC86IGRvbid0IGRpc3QgYW1yIHdiIHNvdXJjZSBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgZGlzdCBhbXIgd2Igc291cmNlIGNvZGUKCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDYgMDk6Mzc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBBZGQgYmFjayAidXJpIiBwcm9wZXJ0eSBhbmQgbWFyayBpdCBhcyBkZXByZWNhdGVkOyB1bmRvZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBiYWNrICJ1cmkiIHByb3BlcnR5IGFuZCBtYXJrIGl0IGFzIGRlcHJlY2F0ZWQ7IHVuZG9lcwoJICBBUEkvQUJJIGJyZWFrYWdlIGZyb20gMjAwNi0wMi0yNC4KCjIwMDYtMDQtMDUgMDg6MzY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCk6CgkgIFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcwoJICBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIEFsc28gcGVyZm9ybSBFT1Mgd2hlbiB3ZSBydW4gcGFzdCB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNi0wNC0wNCAxMToyMDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgTWFyayBkaXNjb250aW51aXRpZXMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgUG9zdCBiZXR0ZXIgZXJyb3JzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIEhhbmRsZSBFT1MgYW5kIHNlZ21lbnQgZW5kIHByb3Blcmx5LgoKMjAwNi0wNC0wNCAwODo0MDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWFyayBsYXRlc3QgY2hhbmdlIGFzIGZpeGluZyBhIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcmsgbGF0ZXN0IGNoYW5nZSBhcyBmaXhpbmcgYSBidWcuCgoyMDA2LTA0LTA0IDA4OjMxOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgSW1wbGVtZW50IGNvcnJlY3QgYWNjdXJhdGUgYW5kIGtleWZyYW1lIHNlZWtpbmcuCgkgIFVzZSBfREVCVUdfT0JKRUNUIHdoZW4gcG9zc2libGUuCgoyMDA2LTA0LTAzIDExOjA4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IE9ubHkgcnVuIHRoZSBpZDN2Mm11eCBjaGVjayBpZiB0YWdsaWIgaXMgYXZhaWxhYmxlIGFuZCB0aGUgdGFnbGliIHBsdWdpbiBoYXMgYmVlbiBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE9ubHkgcnVuIHRoZSBpZDN2Mm11eCBjaGVjayBpZiB0YWdsaWIgaXMgYXZhaWxhYmxlIGFuZAoJICB0aGUgdGFnbGliIHBsdWdpbiBoYXMgYmVlbiBidWlsdC4KCjIwMDYtMDQtMDMgMTA6NTc6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3dmZGVjL01ha2VmaWxlLmFtOiBEb24ndCBzZXQgcGx1Z2luZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICBEb24ndCBzZXQgcGx1Z2luZGlyLgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQyBpc24ndCBhIGdvb2QgaWRlYSBmb3IgaW5zdGFsbGVkIHBsdWdpbnMuCgoyMDA2LTA0LTAzIDEwOjUxOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgQVhfQ1JFQVRFX1NURElOVF9IIHRvIGNyZWF0ZSBfc3RkaW50LmgsIG5lZWRlZCBieSB0aGUgZHRzIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgQVhfQ1JFQVRFX1NURElOVF9IIHRvIGNyZWF0ZSBfc3RkaW50LmgsIG5lZWRlZCBieQoJICB0aGUgZHRzIHBsdWdpbi4KCjIwMDYtMDQtMDMgMTA6MzQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBHU1RfT1JJR0lOID0+IEdTVF9QQUNLQUdFX09SSUdJTgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEdTVF9PUklHSU4gPT4gR1NUX1BBQ0tBR0VfT1JJR0lOCgkgIEdTVF9QQUNLQUdFID0+IEdTVF9QQUNLQUdFX05BTUUKCjIwMDYtMDQtMDIgMTA6NDI6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgYWRkIG1vcmUgcGx1Z2lucyB0byBkb2NzCgoyMDA2LTA0LTAyIDA5OjMzOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdGhlIGFscGhhYmV0LCBhIHRyaWNreSBjb25jZXB0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0aGUgYWxwaGFiZXQsIGEgdHJpY2t5IGNvbmNlcHQKCjIwMDYtMDQtMDIgMDk6MTc6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBhZGQgbGlib2lsIGNoZWNrLCBkdHMgdXNlcyBpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpYm9pbCBjaGVjaywgZHRzIHVzZXMgaXQKCjIwMDYtMDQtMDEgMTY6NTA6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoKMjAwNi0wNC0wMSAxNTozNjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgdXNlIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCB1c2UgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsKCjIwMDYtMDQtMDEgMTA6MTY6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogZG9jcy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA0LTAxIDEwOjE1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCjIwMDYtMDQtMDEgMTA6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHJlbmFtZSB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgdGVzdAoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3Yi5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbi5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmM6CgkqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAzLTMxIDE3OjUyOjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6ICh0ZXJtaW5hdGVfcGxheWJhY2spLCAobWFpbik6CgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNjozMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNToyMTozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMvOiBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8geWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubwoJICB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCjIwMDYtMDMtMzEgMTQ6MjY6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGF1dG9jb25mZXJ5IGZvciB0aGVvcmFkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGF1dG9jb25mZXJ5IGZvciB0aGVvcmFkZWMuCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgdGhlb3JhIGRpcmVjdG9yeS4KCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfdGhlb3JhZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3RoZW9yYWRlY19pbml0KSwKCSAgKGdzdF90aGVvcmFkZWNfcmVzZXQpLCAoaW5jX2dyYW51bGVwb3MpLCAodGhlb3JhX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3RfdGhlb3JhZGVjX2dyYW51bGVfY2xvY2t0aW1lKSwgKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2RlY19zaW5rX2NvbnZlcnQpLCAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zaW5rX3F1ZXJ5KSwgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwKCSAgKHRoZW9yYV9kZWNfc2lua19ldmVudCksICh0aGVvcmFfaGFuZGxlX2NvbW1lbnRfcGFja2V0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV9oZWFkZXJfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfcHVzaCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwgKHRoZW9yYV9kZWNfY2hhaW4pLAoJICAodGhlb3JhX2RlY19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIEFkZCB0aGVvcmEgcGx1Z2luIGZvciB0aGVvcmEtZXhwIGRlY29kZXIuIFZlcnkgaGVhdmlseSBiYXNlZCBvbiB0aGUKCSAgZXhpc3RpbmcgdGhlb3JhIGRlY29kZXIgcGx1Z2luLgoKMjAwNi0wMy0yOSAxNjo1NDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vOiBDbGVhbnVwcywgZml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19jbGFzc19pbml0KSwgKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX2ZpbmFsaXplKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCksIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2dzbWVuY19pbml0KSwKCSAgKGdzdF9nc21lbmNfZmluYWxpemUpLCAoZ3N0X2dzbWVuY19jaGFpbik6CgkgIENsZWFudXBzLCBmaXggbGVha3MuCgkgIEhhbmRsZSBldmVudHMgYW5kIERJU0NPTlQuCgkgIFVzZSBhZGFwdGVyIGluIHRoZSBkZWNvZGVyLgoKMjAwNi0wMy0yOSAxNjo1MDowOCArMDAwMCAgUmVuYXRvIEFyYXVqbyBPbGl2ZWlyYSBGaWxobyA8cmVuYXRveEBnbWFpbC5jb20+CgoJICBBZGRlZCBuZXcgcGx1Z2luIGFtcndiIHBhcnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbmF0byBBcmF1am8gT2xpdmVpcmEgRmlsaG8gPHJlbmF0b3ggYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvUkVBRE1FOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL3J1bi5zaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZGVjX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX3NldGNhcHMpLCAoZ3N0X2FtcndiZGVjX2V2ZW50KSwgKGdzdF9hbXJ3YmRlY19jaGFpbiksCgkgIChnc3RfYW1yd2JkZWNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZW5jX2luaXQpLAoJICAoZ3N0X2FtcndiZW5jX2ZpbmFsaXplKSwgKGdzdF9hbXJ3YmVuY19zZXRjYXBzKSwKCSAgKGdzdF9hbXJ3YmVuY19jaGFpbiksIChnc3RfYW1yd2JlbmNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndicGFyc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9xdWVyeXR5cGVzKSwgKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2NoYWluKSwgKGdzdF9hbXJ3YnBhcnNlX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2xvb3ApLCAoZ3N0X2FtcndicGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYW1yd2JwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2FtcndicGFyc2Vfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBBZGRlZCBuZXcgcGx1Z2luIGFtcndiIHBhcnNlLgoJICBSZW5hbWVkIGF1ZGlvL0FNUiB0byBhdWRpby9BTVItV0IgYXMgcGVyIHNwZWMuCgkgIEZpeGVzICMzMzMzMDcKCjIwMDYtMDMtMjcgMTc6MDY6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCjIwMDYtMDMtMjcgMTA6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBDWFggdGFnIGZyb20gQVNfTElCVE9PTF9UQUdTLCBqdXN0IGxpa2Ugd2UgZGlkIGZvciAtZ29vZCBhbmQgLXVnbHkuIEZpeGVzIGJ1aWxkIG9uIHNvbWUgc3lzdGVtcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgQ1hYIHRhZyBmcm9tIEFTX0xJQlRPT0xfVEFHUywganVzdCBsaWtlIHdlCgkgIGRpZCBmb3IgLWdvb2QgYW5kIC11Z2x5LiBGaXhlcyBidWlsZCBvbiBzb21lIHN5c3RlbXMKCSAgYW5kIGRvZXNuJ3Qgc2VlbSB0byBiZSByZXF1aXJlZCBmb3IgQysrIGNvZGUuCgoyMDA2LTAzLTI2IDE5OjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuKjogRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8gY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvCgkgIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIGNhbid0CgkgIGFkanVzdCBvZmZzZXRzIHlldCB3aGVuIHdlIGdldCBpdCwgYXMgd2UgZG9uJ3QKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgdGFnIHlldCBmb3Igc3VyZSBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGRvIHNvbWUgbWlub3IgY2xlYW5pbmcgdXAgaGVyZSBhbmQgdGhlcmUgYW5kIGFkZAoJICBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTAzLTI1IDIxOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91cgoJICBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaWQzIGNhcHM7IGFsc28sCgkgIGRvbid0IHVzZSBhbHJlYWR5LWZyZWVkIHN0cmluZ3MgaW4gZGVidWcgbWVzc2FnZXM7CgkgIGZpbmFsbHksIGFkanVzdCBidWZmZXIgb2Zmc2V0cyBvbiBidWZmZXJzIHNlbnQgb3V0LgoKMjAwNi0wMy0yNSAxMzowMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LCBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwKCSAgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGZpeGVkIHByb3Blcmx5IChhbmQgbWFrZQoJICBidWlsZGJvdHMgaGFwcHkpLgoKMjAwNi0wMy0yNSAwNTozMToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCjIwMDYtMDMtMjMgMDk6MTU6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFBhdGNoIHRvIG1hcmsgb3V0Z29pbmcgZW5jb2RlZCBidWZmZXJzIGFzIGRlbHRhLXVuaXRzIChvciBub3QpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpLCAoZ3N0X3h2aWRlbmNfc2V0dXApLAoJICAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBQYXRjaCB0byBtYXJrIG91dGdvaW5nIGVuY29kZWQgYnVmZmVycyBhcyBkZWx0YS11bml0cyAob3Igbm90KS4KCSAgTm90ZSB0aGF0IHRoaXMgcGF0Y2ggYWxzbyBwYXRjaGVzOgoJICAtIHRoZSBzZXR0aW5nIG9mIGZpbmNyIGFuZCBmYmFzZSBpbiB4dmlkLWVuY29kZXIgY3JlYXRpb24gYmFzZWQgb24KCSAgY2FwcyBmcmFtZXJhdGUKCSAgLSBtYWtlcyAwLCByYXRoZXIgdGhhbiAyLCB0aGUgZGVmYXVsdCBtYXhfYl9mcmFtZXMsIGFzIHRoZSBjdXJyZW50CgkgIHh2aWRlbmMgZG9lcyBub3Qgc2VlbSAiZnVsbHkgcHJlcGFyZWQiIHRvIGhhbmRsZSBiLWZyYW1lCgkgICJlZmZlY3RzIiwgc3VjaCBhcyBlbmNvZGVyIHJldHVybmluZyAwIGVuY29kZWQgYnl0ZXMsIGV0Yy4KCSAgRml4ZXMgIzMzNTU4NQoKMjAwNi0wMy0yMiAxOTo1MToyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2lucyBhZGRpdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2lucyBhZGRpdGlvbnMKCjIwMDYtMDMtMjIgMTc6MTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnLzogVHJ5IHRoYXQgYWdhaW4gKG5vdCBvbmx5IHNob3VsZCBpdCBiZSBNT0RQTFVHXyBpbnN0ZWFkIG9mIE1PREZJTEUsIGFsc28gdGhhdCBkZWZpbmUgaXMgYWxyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJICBUcnkgdGhhdCBhZ2FpbiAobm90IG9ubHkgc2hvdWxkIGl0IGJlIE1PRFBMVUdfIGluc3RlYWQKCSAgb2YgTU9ERklMRSwgYWxzbyB0aGF0IGRlZmluZSBpcyBhbHJlYWR5IHNldCBpbiBzdGRhZnguaDsKCSAgd2hhdCB3ZSByZWFsbHkgbmVlZCBpcyBzb21lIG1vcmUgI2lmbmRlZnMpLgoKMjAwNi0wMy0yMiAxNTowMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06IE1vcmUgZ2NjLTQuMSBmaXhlcyAod2UgZG9uJ3QgbmVlZCBmaWxlIHNhdmluZywgc28ganVzdCBkZWZpbmUgTU9EUExVR19OT19GSUxFU0FWRS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICBNb3JlIGdjYy00LjEgZml4ZXMgKHdlIGRvbid0IG5lZWQgZmlsZSBzYXZpbmcsIHNvIGp1c3QKCSAgZGVmaW5lIE1PRFBMVUdfTk9fRklMRVNBVkUuIFRoYXQgd2F5LCB0aGUgY29tcGlsZXIgd29uJ3QKCSAgY29tcGxhaW4gYWJvdXQgbW9kcGx1ZyBpZ25vcmluZyB0aGUgcmV0dXJuIHZhbHVlIG9mIGZ3cml0ZQoJICBhbnkgbG9uZ2VyIGFuZCB3ZSBtaWdodCBldmVuIHNhdmUgYSBmZXcgYnl0ZXMgYXMgd2VsbCkuCgoyMDA2LTAzLTIyIDE0OjMxOjQ3ICswMDAwICBXb3V0ZXIgUGFlc29uIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIEFkZCBuZXcgbGlic291bmR0b3VjaC1iYXNlZCBwaXRjaCBwbHVnaW4gKCMzMzEzMzUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzb24gIDx3b3V0ZXIgYXQga2FuZ2Fyb290IGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgQWRkIG5ldyBsaWJzb3VuZHRvdWNoLWJhc2VkIHBpdGNoIHBsdWdpbiAoIzMzMTMzNSkuCgoyMDA2LTAzLTIxIDE2OjAyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjEgYW5kIC1XZXJyb3IgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMSBhbmQgLVdlcnJvciAoIzMyNzM1NSkuCgoyMDA2LTAzLTIwIDA4OjU5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgoyMDA2LTAzLTE3IDE2OjM0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgoyMDA2LTAzLTE1IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSk6CgkgIExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoKMjAwNi0wMy0xNSAxNDozOToyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaW5pdCksIChnc3RfcXRkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIC0gVW5yZWYgdGhlIEdzdEFkYXB0ZXIgaW4gZmluYWxpemUuCgkgIC0gVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCksIHNob3J0ZXIgYW5kIHNhZmVyLgoJICAtIEZyZWUgdW51c2VkIFF0RGVtdXhTdHJlYW0gd2hlbiBub3QgdXNlZC4KCjIwMDYtMDMtMTQgMTc6MjQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLCBtb3ZpbmcgaXQgZnJvbSBfY2xhc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwKCSAgbW92aW5nIGl0IGZyb20gX2NsYXNzX2luaXQoKSB0byBiZWdpbm5pbmcgb2YgX2Jhc2VfaW5pdCgpLgoKMjAwNi0wMy0xMyAxNzoyMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkCgkgIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSBvZiB0aGUgcGx1Z2luICh0YWdsaWJtdXggPT4gdGFnbGliKQoKMjAwNi0wMy0xMyAxMjoxNDoxOCArMDAwMCAgTWlraGFpbCBaYWJhbHVldiA8bWh6QGFsdGxpbnV4Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IERvbid0IGNoZWNrIGZvciBmaWxlIHRoYXQgb25seSBleGlzdHMgaW4gQ1ZTIGJ1dCBpc24ndCBkaXN0ZWQgKCMzMzQ0MTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWlraGFpbCBaYWJhbHVldiAgPG1oeiBhbHRsaW51eCBvcmc+CgkgICogYXV0b2dlbi5zaDoKCSAgRG9uJ3QgY2hlY2sgZm9yIGZpbGUgdGhhdCBvbmx5IGV4aXN0cyBpbiBDVlMgYnV0IGlzbid0CgkgIGRpc3RlZCAoIzMzNDQxNykKCjIwMDYtMDMtMTMgMTA6MDU6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoKMjAwNi0wMy0xMiAyMzo1Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGRpc3RjaGVjay4KCjIwMDYtMDMtMTIgMTU6MzM6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2ZyZWUpOgoJICBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0CgkgIGluc3RlYWQuCgoyMDA2LTAzLTEyIDE1OjI1OjUxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMKCSAgYnVpbGRib3QgaGFwcHkuCgkgIEkgd2lsbCBqdXN0IHVzZSB0aGUgc2FtZSBjb21tZW50IFJvbmFsZCB1c2VkIHdoZW4gaGUgYWRkZWQgdGhlc2UgbGluZXM6CgkgIFlldCBBbm90aGVyIEhhY2sgKHRtKSBmb3Iga2VybmVsIGhlYWRlciBib3JrZWRuZXNzLgoKMjAwNi0wMy0xMiAxNTowMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoKMjAwNi0wMy0xMiAxNDo0Mzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgUFBDLWJ1aWxkYm90IGhhcHB5LgoKMjAwNi0wMy0xMSAyMjo1MDowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgoyMDA2LTAzLTExIDE3OjA4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGNvbXBpbGUgdGhlIHRhZ2xpYiBwbHVnaW4gaWYgYSBDKysgY29tcGlsZXIgaXMgcHJlc2VudC4gVXNlIEdTVF9ERUZBVUxUX0VMRU1FTlRTIG1hY3JvIGZyb20gY29tbW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBjb21waWxlIHRoZSB0YWdsaWIgcGx1Z2luIGlmIGEgQysrIGNvbXBpbGVyIGlzCgkgIHByZXNlbnQuIFVzZSBHU1RfREVGQVVMVF9FTEVNRU5UUyBtYWNybyBmcm9tIGNvbW1vbi8KCSAgZm9yIGFsbCB0aGUgZGVmYXVsdHMgc3R1ZmYuCgoyMDA2LTAzLTExIDExOjEyOjMwICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgYWRkZWQgbmV3IGVsZW1lbnQgdG8gYWRkIFhpbmcgaGVhZGVycyB0byBNUDMgZmlsZXMgKHRoaXMgYWxsb3dzIGRlY29kZXIgdG8gZmlndXJlIG91dCB0aGUgbGVuZ3RoIG9mIFZCUiBmaWxlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOiBhZGRlZCBuZXcgZWxlbWVudCB0byBhZGQgWGluZyBoZWFkZXJzCgkgIHRvIE1QMyBmaWxlcyAodGhpcyBhbGxvd3MgZGVjb2RlciB0byBmaWd1cmUgb3V0IHRoZSBsZW5ndGggb2YgVkJSCgkgIGZpbGVzKQoKMjAwNi0wMy0xMSAxMDo1ODowOCArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyCgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGZpeCB3cml0aW5nIG9mIFRQT1MgdGFncyAoYWxidW0gbnVtYmVyKSwKCSAgYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgoyMDA2LTAzLTEwIDIyOjQxOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tb2RwbHVnLzogRml4IG1vZHBsdWcgY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IG1vZHBsdWcgY29tcGlsYXRpb24uCgoyMDA2LTAzLTEwIDE3OjEwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzogKiBjb25maWd1cmUuYWM6ICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06ICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6ICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDogKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDogbW9kcGx1ZyBwbHVnaW4gcG9ydGVkIHRvIDAuMTAgKCMzMzI1OTgsIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4pLgoKMjAwNi0wMy0xMCAxMzo0OToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLio6IFNvbWUgY2xlYW4tdXBzOyBtb3JlIGRlYnVnIG91dHB1dDsgdXNlIGJsb2Nrc2l6ZSBwcm9wZXJ0eSBvZiBHc3RCYXNlU3JjIGluc3RlYWQgb2YgcmUtcmVnaXN0ZXJpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc191cmloYW5kbGVyX2luaXQpLAoJICAoZ3N0X21tc19iYXNlX2luaXQpLCAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfaW5pdCksCgkgIChnc3RfbW1zX2ZpbmFsaXplKSwgKGdzdF9tbXNfY3JlYXRlKSwgKGdzdF9tbXNfc3RhcnQpLAoJICAoZ3N0X21tc19zZXRfcHJvcGVydHkpLCAoZ3N0X21tc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21tc191cmlfZ2V0X3VyaSk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgU29tZSBjbGVhbi11cHM7IG1vcmUgZGVidWcgb3V0cHV0OyB1c2UgYmxvY2tzaXplIHByb3BlcnR5CgkgIG9mIEdzdEJhc2VTcmMgaW5zdGVhZCBvZiByZS1yZWdpc3RlcmluZyBvdXIgb3duOyBtYWtlIGRlYnVnCgkgIGNhdGVnb3J5IGFjdHVhbGx5IGJlIHVzZWQuCgoyMDA2LTAzLTA5IDIwOjAyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCk6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoKMjAwNi0wMy0wOSAxNzo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDkgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICByZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgoyMDA2LTAzLTA4IDEyOjE2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UKCSAgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciBmb3IgdGhhdAoJICAoZml4ZXMgIzMzMjA2NikuCgoyMDA2LTAzLTA2IDEzOjE1OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrLzogRm9yZ290IHRob3NlIHR3by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6IChnc3RfbXVzZXBhY2tfcmVhZGVyX3BlZWspOgoJICBGb3Jnb3QgdGhvc2UgdHdvLgoKMjAwNi0wMy0wNiAxMzoxMzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBTb21lIGNsZWFudXBzOyBwYXVzZSB0YXNrIHdoZW4gcHVzaCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLAoJICAoZ3N0X211c2VwYWNrZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIFNvbWUgY2xlYW51cHM7IHBhdXNlIHRhc2sgd2hlbiBwdXNoIGZhaWxzLgoKMjAwNi0wMy0wNSAxMzowMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgoyMDA2LTAzLTA0IDIwOjA0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGQgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uL2R1cmF0aW9uIHF1ZXJ5aW5nIChtb3N0bHkgZm9yIHJhdyBBQUMgc3RyZWFtcyk7IG1ha2Ugc2Vla2luZyBpbiByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfc2VuZF90YWdzKSwKCSAgKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfZG9fcmF3X3NlZWspLCAoZ3N0X2ZhYWRfc3JjX2V2ZW50KSwKCSAgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWRfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2ZhYWRfc3JjX3F1ZXJ5KSwgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24vZHVyYXRpb24gcXVlcnlpbmcgKG1vc3RseSBmb3IKCSAgcmF3IEFBQyBzdHJlYW1zKTsgbWFrZSBzZWVraW5nIGluIHJhdyBBQUMgc3RyZWFtcyB3b3JrOyBwb3N0CgkgIHRhZ3Mgd2l0aCBjb2RlYyBuYW1lIGlmIHRoaXMgaXMgYSByYXcgQUFDIHN0cmVhbS4KCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDMtMDMgMTg6MTA6MTIgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogRGVjbGFyZSB2YXJpYWJsZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBhbmQgbWFrZSBnY2MtMi45eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jaGFpbik6CgkgIERlY2xhcmUgdmFyaWFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgYW5kIG1ha2UgZ2NjLTIuOXgKCSAgaGFwcHkgKGZpeGVzICMzMzMyODM7IHBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlcikuCgoyMDA2LTAzLTAzIDExOjA3OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMgd2hlbiBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcwoJICB3aGVuIHBhcnNpbmcuCgkgIEFsc28gbGV0J3MgYmUgYSBiaXQgbGVzcyB2dWxnYXIgaW4gb3VyIHdhcm5pbmcgbWVzc2FnZXMgOikKCjIwMDYtMDMtMDIgMTg6MjM6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYXVkaW9yZXNhbXBsZSB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBhdWRpb3Jlc2FtcGxlIHRvIGRvY3MuCgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgQWRkIHJldmlzaW9uIGRhdGUuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9kaXNwb3NlKSwKCSAgKGF1ZGlvcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHJlc2FtcGxlX3NldF9zdGF0ZV9mcm9tX2NhcHMpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChhdWRpb3Jlc2FtcGxlX3NldF9jYXBzKSwgKGF1ZGlvcmVzYW1wbGVfZXZlbnQpLAoJICAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoYXVkaW9yZXNhbXBsZV9wdXNodGhyb3VnaCksIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgIEFkZGVkIGRvY3MuCgkgIFNtYWxsIGNvZGUgY2xlYW51cHMuCgoyMDA2LTAyLTI4IDExOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2Ygc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZgoJICBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpIChzZWUgIzMyNzA4MykKCjIwMDYtMDItMjUgMjE6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCjIwMDYtMDItMjQgMTk6NDk6MzIgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIHBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCjIwMDYtMDItMjQgMTc6MTU6MzUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFsbG93IGF1dG9tYWtlIDEuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBbGxvdyBhdXRvbWFrZSAxLjkKCjIwMDYtMDItMjQgMTc6MDI6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBuYW1lIGZyb20gInVyaSIgdG8gImxvY2F0aW9uIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgcHJvcGVydHkgbmFtZSBmcm9tICJ1cmkiIHRvICJsb2NhdGlvbiIuCgoyMDA2LTAyLTIyIDE0OjM3OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgTWVyZ2UgcGF0Y2ggZnJvbSAjMzE3MDQ4IGZvciBidWlsZGluZyBvbiBDeWd3aW4uIFBhdGNoIGJ5CgkgIEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgTW92ZSBub3JtYWwgZGVidWcgb3V0cHV0IHRvIExPRyBsZXZlbCBub3QgRVJST1IuCgoyMDA2LTAyLTIyIDA5OjMzOjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5IDogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBBZGQgaW1hZ2UvcG5nIGZvciBmb3VyY2MgJ3BuZyAnCgoyMDA2LTAyLTIxIDE1OjQ0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTdXJlbHkgdGhpcyBpcyBzdXBwb3NlZCB0byBiZSA+PSBhLmIsIG5vdCA9PSBhLmIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTdXJlbHkgdGhpcyBpcyBzdXBwb3NlZCB0byBiZSA+PSBhLmIsIG5vdCA9PSBhLmIKCjIwMDYtMDItMjAgMjE6MTk6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZXR1cm5fYnVmKSwKCSAgKGdzdF94aW1hZ2VzcmNfb3Blbl9kaXNwbGF5KSwgKGdzdF94aW1hZ2VzcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZXNyY19zdG9wKSwgKGdzdF94aW1hZ2VzcmNfdW5sb2NrKSwKCSAgKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwgKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLAoJICAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19jbGVhcl9idWZwb29sKSwgKGdzdF94aW1hZ2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZGlzcG9zZSksIChnc3RfeGltYWdlc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19zZXRfY2FwcyksCgkgIChnc3RfeGltYWdlc3JjX2ZpeGF0ZSksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9oYW5kbGVfeGVycm9yKSwKCSAgKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyksICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCksCgkgICh4aW1hZ2V1dGlsX3hjb250ZXh0X2NsZWFyKSwKCSAgKHhpbWFnZXV0aWxfY2FsY3VsYXRlX3BpeGVsX2FzcGVjdF9yYXRpbyksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfeGltYWdlX2J1ZmZlcl9mcmVlKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2luaXQpLCAoZ3N0X3hpbWFnZXNyY19idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9nZXRfdHlwZSksIChnc3RfeGltYWdldXRpbF94aW1hZ2VfbmV3KSwKCSAgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9kZXN0cm95KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgoyMDA2LTAyLTIwIDIwOjUyOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgZXZlbnQgaGFuZGxpbmcgYWRkZWQgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoyMDA2LTAyLTIwIDE5OjEzOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMgbmFubwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTIG5hbm8KCj09PSByZWxlYXNlIDAuMTAuMSA9PT0KCjIwMDYtMDItMjAgMTk6MTI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgoyMDA2LTAyLTIwIDEzOjA4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QKCSAgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLCBidXQgaXQgaGVscHMgbWUgd2luIHRoZSBmZWF0dXJlLWNvdW50CgkgIGNvbXBldGl0aW9ucyBvb2ggeWVhaC4KCjIwMDYtMDItMTkgMjM6NDU6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWxlYXNlIDAuMTAuMC4zIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4wLjMgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgoyMDA2LTAyLTE5IDIwOjAwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2J6Mi86IEFkZCBwcm9wZXIgY29weXJpZ2h0IGhlYWRlcnMgaWRlbnRpZnlpbmcgTHV0eiBNw7xsbGVyIGFzIHRoZSBhdXRob3IgYW5kIGNvcHlyaWdodCBob2xkZXIgKCMzMzE2MDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYnoyL2dzdGJ6Mi5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgIEFkZCBwcm9wZXIgY29weXJpZ2h0IGhlYWRlcnMgaWRlbnRpZnlpbmcgTHV0eiBNw7xsbGVyCgkgIGFzIHRoZSBhdXRob3IgYW5kIGNvcHlyaWdodCBob2xkZXIgKCMzMzE2MDApLgoKMjAwNi0wMi0xNyAxODoyNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXggZW50cmllcyAoIzMzMTU4MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleAoJICBlbnRyaWVzICgjMzMxNTgyKS4KCjIwMDYtMDItMTcgMTY6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0LgoJICBGaXhlcyAjMzMxNTQzLgoKMjAwNi0wMi0xNyAxNjowMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbGVhc2UgMC4xMC4wLjIgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjAuMiAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCjIwMDYtMDItMTcgMTU6MDM6MTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IHVwZGF0ZXMKCjIwMDYtMDItMTYgMTQ6MDI6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA2LTAyLTE1IDEyOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgoyMDA2LTAyLTE1IDA5OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcwoJICBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwNi0wMi0xNCAxODo1MDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBEb24ndCBhbnN3ZXIgZHVyYXRpb24gcXVlcnkuIFRoaXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8gcmVwbHlpbmcKCSAgRkFMU0UgdG8gc2VlayBldmVudHMuCgoyMDA2LTAyLTE0IDEyOjI2OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCBvbiBFT1MsIG5vdCBGTE9XX0VSUk9SLiBBbHNvLCBubyBuZWVkIHRvIHB1c2ggb3VyIG93biBFT1MgZXZlbnQgb24gRU9TLCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19jcmVhdGUpLAoJICAoZ3N0X21tc19zdGFydCk6CgkgIFJldHVybiBGTE9XX1VORVhQRUNURUQgb24gRU9TLCBub3QgRkxPV19FUlJPUi4gQWxzbywgbm8gbmVlZCB0bwoJICBwdXNoIG91ciBvd24gRU9TIGV2ZW50IG9uIEVPUywgdGhlIGJhc2UgY2xhc3Mgd2lsbCBkbyB0aGF0IGZvciB1czsKCSAgZml4IGJvZ3VzIHF1ZXJ5IGNvZGU7IHBvc3Qgc2VtaS1kZWNlbnQgZXJyb3JzIG9uIHRoZSBidXMgd2hlbiBhbgoJICBlcnJvciBvY2N1cnMgaW4gOjpzdGFydCgpLCBvdGhlcndpc2UgdGhlIHVzZXIgd2lsbCBnZXQgdG8gc2VlCgkgIHdoYXRldmVyIGNyeXB0aWMgZGVmYXVsdCBtZXNzYWdlIEdzdEJhc2VTcmMgY29tZXMgdXAgd2l0aC4KCjIwMDYtMDItMTQgMTE6MzY6MzAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbiBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uCgkgIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoKMjAwNi0wMi0xNCAxMToyNDo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgRXJyb3JzIG91dCBncmFjZWZ1bGx5LgoKMjAwNi0wMi0xMyAyMjowNDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLCAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZSksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgSXQgc3RpbGwgbmVlZHMgc29tZSBsb3ZlIGZvciBzZWVraW5nLgoKMjAwNi0wMi0xMyAxNzowMjowOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV6ZS9GQVE6CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZyZWV6ZSBwbHVnaW4gcG9ydGVkIHRvIDAuMTAgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoyMDA2LTAyLTEwIDE3OjQxOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBjZHhhcGFyc2UsIG1ha2VzIFZDRCBwbGF5YmFjayB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgIFBvcnQgY2R4YXBhcnNlLCBtYWtlcyBWQ0QgcGxheWJhY2sgd29yay4KCjIwMDYtMDItMTAgMTM6MTY6NDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTAyLTA3IDE4OjMxOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgoyMDA2LTAyLTA3IDE4OjAxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZQoJICB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBidWcsIGFuZCBtYWtlcwoJICB0aGUgZHVtcCBvZiBvZmZzZXRzIGNvbXBhcmFibGUgdG8gb3RoZXIgdG9vbHMKCjIwMDYtMDItMDcgMTc6NTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICBkb2MgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHVwZGF0ZXMKCjIwMDYtMDItMDcgMTc6NTQ6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZyBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcKCSAgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgoyMDA2LTAyLTA2IDIwOjUxOjQ5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgTm93IGl0IHVzZXMgbGlibmVvbiAwLjI1LjUgdGhhdCBzdXBwb3J0cyBzaG91dGNhc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaXQgdXNlcyBsaWJuZW9uIDAuMjUuNSB0aGF0IHN1cHBvcnRzIHNob3V0Y2FzdC4KCjIwMDYtMDItMDYgMTg6MjE6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvYnoyL2dzdGJ6MmVuYy5jOiBBY2NlcGQgIkFOWSIgY2Fwcy4gVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YgIngtYnoyIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogQWNjZXBkICJBTlkiIGNhcHMuIFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mCgkgICJ4LWJ6MiIuCgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YgIngtYnoyIi4gSW5pdGlhbAoJICBjYXBzIGFyZSAiQU5ZIi4KCSAgKGdzdF9iejJkZWNfY2hhaW4pOiBDb25maWd1cmUgdGhlIHNvdXJjZSBwYWQgaWYgd2UgY2FuIGZpZ3VyZSBvdXQKCSAgdGhlIG1pbWUgdHlwZSBvZiB0aGUgZGVjb21wcmVzc2VkIGRhdGEuCgkgIChnc3RfYnoyZGVjX1tnZXQsc2V0XV9wcm9wZXJ0eSk6CgkgIChnc3RfYnoyZGVjX2NsYXNzX2luaXQ6IE5ldyBwcm9wZXJ0eSAiZmlyc3RfYnVmZmVyX3NpemUiLgoKMjAwNi0wMi0wNiAxNTo0MToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBIYW5kbGUgc2Vla2luZyBpbiBhIGxlc3MgYnJva2VuIHdheS4KCSAgRml4IEFNUiBjYXBzIHRvIG1hdGNoIHRoZSBBTVIgZGVjb2Rlci4KCSAgU2V0IGZpcnN0IHRpbWVzdGFtcCBvbiBBTVIgc2FtcGxlcyB0byAwIGZvciBub3cuCgkgIFJlbW92ZSBzb21lIFxuIGluIERFQlVHIHN0cmluZ3MuCgkgIFVzZSBfc2NhbGVfaW50IGZvciBtYXhpbXVtIHByZWNpc2lvbi4KCjIwMDYtMDItMDYgMTI6NTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnLzogUmVtb3ZlIG9sZCBmaWxlcywgYXBldGFnIGlzIGluIGdzdC1wbHVnaW5zLWdvb2Qgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9hcGV0YWcuYzoKCSAgUmVtb3ZlIG9sZCBmaWxlcywgYXBldGFnIGlzIGluIGdzdC1wbHVnaW5zLWdvb2Qgbm93LgoKMjAwNi0wMi0wNiAwOTo1NDo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2J6Mi86IE5vIG5lZWQgdG8gaW5pdCBwYXJlbnRfY2xhc3MsIHRoZSBib2lsZXJwbGF0ZSBkb2VzIGl0IGZvciB5b3UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmMgKGdzdF9iejJlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYyAoZ3N0X2J6MmRlY19jbGFzc19pbml0KTogTm8gbmVlZCB0byBpbml0CgkgIHBhcmVudF9jbGFzcywgdGhlIGJvaWxlcnBsYXRlIGRvZXMgaXQgZm9yIHlvdS4KCjIwMDYtMDItMDYgMDk6NDA6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIEhvb2sgaXQgdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA1ICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgIHJldmlld2VkIGJ5OiBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbTogSG9vayBpdCB1cC4KCSAgKiBleHQvYnoyL2dzdGJ6Mi5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IE5ldyBwbHVnaW4sIGltcGxlbWVudHMgYnoyIGVuY29kaW5nIGFuZAoJICBkZWNvZGluZyAoIzMwMzE2NykuCgoyMDA2LTAyLTAzIDEwOjEzOjIyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgb3BlbmdsIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG9wZW5nbCBwbHVnaW4KCjIwMDYtMDEtMzAgMTU6NDc6NDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0NGTEFHUyk6IEFkZCBQTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLgoKMjAwNi0wMS0yOSAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19zZXRjYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZwoJICBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUmV3cml0ZSBhIGJpdCwgbW9zdGx5IHRvIGZpeCBmbG93IGxvZ2ljIGFuZCB0byBtYWtlIHNlZWtpbmcgd29yay4KCSAgRml4IGJ1ZmZlci9ldmVudCByZWZjb3VudGluZy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4gQWRkCgkgIHdpZHRoIG9mIDMyIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4gVXNlIGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDEtMjggMTI6NDU6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCjIwMDYtMDEtMjggMDQ6Mzk6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCjIwMDYtMDEtMjcgMTI6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSAnZnJhbWVkJyBmaWVsZCBpbiBjYXBzOyBQb3J0IHN5bmNpbmcgZm9yIHJhdyBzdHJlYW1zIGZyb20gMC44IGJyYW5jaCAoZm9yIEFBQysgcmFkaW8gc3RyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksIChnc3RfZmFhZF9zeW5jKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgSGFuZGxlICdmcmFtZWQnIGZpZWxkIGluIGNhcHM7IFBvcnQgc3luY2luZyBmb3IgcmF3IHN0cmVhbXMKCSAgZnJvbSAwLjggYnJhbmNoIChmb3IgQUFDKyByYWRpbyBzdHJlYW1zKSAoIzMyODcyMikuCgoyMDA2LTAxLTI3IDAxOjMxOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IEZpeCBvdXRwdXQgc3RyaWRlIGNvcHlpbmcsIHNvIHRoYXQgaXQgZGlzcGxheXMgY29ycmVjdGx5IG9uIGZyYW1lYnVmZmVyIGRldmljZXMgdGhhdCBkb24ndCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zdXBwb3J0ZWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua194b3ZlcmxheV9zZXRfeHdpbmRvd19pZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2RlaW5pdHNkbCksIChnc3Rfc2Rsdl9wcm9jZXNzX2V2ZW50cyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZXN0cm95KSwgKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEZpeCBvdXRwdXQgc3RyaWRlIGNvcHlpbmcsIHNvIHRoYXQgaXQgZGlzcGxheXMgY29ycmVjdGx5IG9uCgkgIGZyYW1lYnVmZmVyIGRldmljZXMgdGhhdCBkb24ndCBtYXRjaCBvdXIgaW1wbGljdCBHU3RyZWFtZXIgc3RyaWRlCgkgIGFycmFuZ2VtZW50LgoJICBGaXggbG9ja2luZyB0aGluZ3MuIE9mZmVyIFhPdmVybGF5IG9ubHkgd2hlbiBTREwgaXMgcnVubmluZyBhZ2FpbnN0CgkgIFguIE1ha2Ugbm9uLXNjYWxlZCAoYW5kIHVnbHkpIGVtYmVkZGluZyB3b3JrIHZpYSBYIE92ZXJsYXkuIEl0IGNhbid0CgkgIGFjdHVhbGx5IG1hdGNoIHRoZSBlbWJlZGRlZCB3aW5kb3cgc2l6ZSBiZWNhdXNlIHRoZXJlJ3Mgbm8gd2F5IHRvCgkgIGZpZ3VyZSBvdXQgd2hhdCBzaXplIHRoYXQgc2hvdWxkIGJlIGZyb20gdGhlIFhPdmVybGF5IGludGVyZmFjZS4KCSAgU2VlIGNvbW1lbnQgaW4gc2RsdmlkZW9zaW5rLmMKCjIwMDYtMDEtMjYgMTY6MjM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgoyMDA2LTAxLTI1IDE0OjQ0OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEp1c3QgY2hhaW4gdXAgZmluYWxpemUgY2FsbHMgKGNhbGxpbmcgcGFyZW50X2NsYXNzLT5maW5hbGl6ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGNoYWluIHVwIGZpbmFsaXplIGNhbGxzIChjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZmluYWxpemUpLgoKMjAwNi0wMS0yNSAxNDoyMDowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBGaW5hbGl6ZSBtZXRob2QgaGFzIGJlZW4gY3JlYXRlZCBhbmQgb3RoZXJzIHNtYWxsIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaW5hbGl6ZSBtZXRob2QgaGFzIGJlZW4gY3JlYXRlZCBhbmQgb3RoZXJzIHNtYWxsIGNoYW5nZXMuCgoyMDA2LTAxLTI0IDIxOjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrLzogRml4IHNlZWtpbmcgaW4gbXVzZXBhY2sgZmlsZXMgKGl0J3Mgc3RpbGwgaW5jcmVkaWJseSBzbG93LCBidXQgSSBkb24ndCB0aGluayB0aGF0IGlzIG91ciBwbHVnaW4ncyBmYXVsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfY2xhc3NfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tkZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKSwgKGdzdF9tdXNlcGFja2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOiAoZ3N0X211c2VwYWNrX3JlYWRlcl9wZWVrKSwKCSAgKGdzdF9tdXNlcGFja19yZWFkZXJfc2VlayksIChnc3RfbXVzZXBhY2tfcmVhZGVyX3RlbGwpLAoJICAoZ3N0X211c2VwYWNrX3JlYWRlcl9nZXRfc2l6ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIEZpeCBzZWVraW5nIGluIG11c2VwYWNrIGZpbGVzIChpdCdzIHN0aWxsIGluY3JlZGlibHkgc2xvdywgYnV0IEkKCSAgZG9uJ3QgdGhpbmsgdGhhdCBpcyBvdXIgcGx1Z2luJ3MgZmF1bHQpLiBDbGVhbiB1cCBjb2RlIGFuZCBnZXQKCSAgcmlkIG9mIG9sZCBjcnVmdC4gUG9zdCB0YWdzIHdpdGggYWxsIGtpbmQgb2YgbmVhdCBpbmZvcm1hdGlvbiBsaWtlCgkgIHJlcGxheSBnYWluIGFuZCBzdWNoIG9uIHRoZSBidXMsIGlmIGl0IGlzIGF2YWlsYWJsZS4gQWRkIGEKCSAgJ211c2VwYWNrZGVjJyBkZWJ1ZyBjYXRlZ29yeS4KCjIwMDYtMDEtMjQgMTE6NTg6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIElmIHNhbXBsZV9zaXplIGlzIGF2YWlsYWJsZSwgdXNlIHRoYXQgZm9yIHRoZSBzYW1wbGVzJyBkdXJhdGlvbiBpbgoJICB0aGUgaW5kZXguIFRoaXMgZW5hYmxlcyBzaW5nbGUgZnJhbWUgc3RyZWFtcyB0byB3b3JrIChhbmQgSSBpbWFnaW5lCgkgIGZpeGVzIHNvbWUgb3RoZXIgY2FzZXMpLgoJICBUZXN0ZWQgb24gdGVzdHN1aXRlLCBubyByZWdyZXNzaW9uLgoKMjAwNi0wMS0yMyAxNToxMDo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOiBfIFZQMzEgOiB2aWRlby94LXZwMyBfIEFWREogOiBpbWFnZS9qcGVnIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjoKCSAgXyBWUDMxIDogdmlkZW8veC12cDMKCSAgXyBBVkRKIDogaW1hZ2UvanBlZwoJICBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWR2LCBzeXN0ZW1zdHJlYW09KGJvb2xlYW4pZmFsc2UKCSAgXyAweDZkNzMwMDE3IDogYXVkaW8veC1hZHBjbSwgbGF5b3V0PShzdHJpbmcpcXVpY2t0aW1lCgoyMDA2LTAxLTIxIDE4OjM1OjI5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFVwZGF0ZSBmcm9tIHN3ZmRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IFVwZGF0ZSBmcm9tIHN3ZmRlYy4KCjIwMDYtMDEtMjEgMTE6NDM6NTMgKzAwMDAgIEZhYnJpemlvIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIEZpeCA4Yml0IGNhc2UgKCMzMjcxMzMsIGJhc2VkIG9uIHBhdGNoIGJ5OiBGYWJyaXppbwoJICBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCSAgQWxzbywgIkdfTElUVExFX0VORElBTiIgYW5kICJHX0JJR19FTkRJQU4iIGFyZSBub3QKCSAgdmFsaWQgbGl0ZXJhbHMgZm9yIGVuZGlhbm5lc3MgaW4gY2FwcyBzdHJpbmdzLAoJICBvbmx5ICJMSVRUTEVfRU5ESUFOIiBhbmQgIkJJR19FTkRJQU4iIGFyZSB2YWxpZC4KCjIwMDYtMDEtMjAgMTc6MDQ6MzggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEZpeGVkIHN0YXRlIHRyYW5zaWN0aW9ucyBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc3RhdGUgdHJhbnNpY3Rpb25zIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcuCgoyMDA2LTAxLTE5IDE2OjQ5OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgU29tZSBtaW5vciBpbXByb3ZlbWVudHMgb24gbG9nIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBtaW5vciBpbXByb3ZlbWVudHMgb24gbG9nIG1lc3NhZ2VzLgoKMjAwNi0wMS0xOCAxODo1NDowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCjIwMDYtMDEtMTcgMTY6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlCgkgIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoKMjAwNi0wMS0xNyAxMzoxNDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeGluZyB2ZXJzaW9uaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXhpbmcgdmVyc2lvbmluZwoKMjAwNi0wMS0xNiAxMjozMDo0MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBSZW1vdmVkIGdzdF9iYXNlX3NyY19zZXRfbGl2ZSBmcm9tIG1tcyBhbmQgbmVvbiwgYW5kIG5vdyBjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZGlzcG9zZSBpbiBkaXNwb3NlIG9uIHNkbGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBnc3RfYmFzZV9zcmNfc2V0X2xpdmUgZnJvbSBtbXMgYW5kIG5lb24sIGFuZCBub3cgY2FsbGluZyBwYXJlbnRfY2xhc3MtPmRpc3Bvc2UgaW4gZGlzcG9zZSBvbiBzZGxhdWRpby4KCjIwMDYtMDEtMTEgMjA6NTk6MzkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgTm93IGltcGxlbWVudGluZyBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgdXNpbmcgR1NUX0JPSUxFUl9QTEFURV9GVUxMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGltcGxlbWVudGluZyBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgdXNpbmcgR1NUX0JPSUxFUl9QTEFURV9GVUxMLgoKMjAwNi0wMS0xMSAxNTozNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bm1peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5taXhlci5oOgoJICByZW1vdmUgb2xkIChicm9rZW4pIHN1bmF1ZGlvIHBsdWdpbiBmcm9tIGJhZCBhcyB0aGVyZSBpcyBhIG5ldyB3b3JraW5nIG9uZSBpbiAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCAoYnJva2VuKSBzdW5hdWRpbyBwbHVnaW4gZnJvbSBiYWQgYXMgdGhlcmUgaXMgYSBuZXcgd29ya2luZyBvbmUKCSAgaW4gLWdvb2QKCjIwMDYtMDEtMTEgMTQ6NDE6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgUmVwbGFjZWQgd3Jvbmcgc3R5bGUgY29kZSBieSBHU1RfQk9JTEVSUExBVEUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXBsYWNlZCB3cm9uZyBzdHlsZSBjb2RlIGJ5IEdTVF9CT0lMRVJQTEFURS4KCjIwMDYtMDEtMTEgMTE6MDQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIENsb3NlcyAjMzI2NTI0CgoyMDA2LTAxLTA5IDE4OjIwOjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50LCBzZGxhdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50LCBzZGxhdWRpb3NpbmsuCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA2LTAxLTA1IDE3OjAzOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChwbHVnaW5faW5pdCk6CgkgIGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoKMjAwNi0wMS0wNCAxOTozOToxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBTb21lIGltcHJvdmVtZW50cyBpbiBjYW5jZWxsYXRpb24gYW5kIGRlYnVnIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBpbXByb3ZlbWVudHMgaW4gY2FuY2VsbGF0aW9uIGFuZCBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDYtMDEtMDQgMTM6MjY6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZW1vdmVkIG5vdCBuZWVkIHRocmVhZCBhbmQgY2hhbmdlZCB0byBwdXNoIG91dCBibG9ja3NpemUgYnl0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIG5vdCBuZWVkIHRocmVhZCBhbmQgY2hhbmdlZCB0byBwdXNoIG91dCBibG9ja3NpemUgYnl0ZXMuCgo9PT0gcmVsZWFzZSAwLjEwLjIgPT09CgoyMDA2LTAxLTAzIDE3OjMzOjE2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOiBBcyBiZWZvcmUsIGJ1dCBmb3Igb19idWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgQXMgYmVmb3JlLCBidXQgZm9yIG9fYnVmCgoyMDA2LTAxLTAzIDE3OjI3OjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOiBEZWNsYXJlIHN0cnVjdCBfUmVzYW1wbGVTdGF0ZS5idWZmZXIgYXMgdW5zaWduZWQgY2hhciAqLCBub3Qgdm9pZCAqLCBzaW5jZSB3ZSBkbyBhcml0aG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgRGVjbGFyZSBzdHJ1Y3QgX1Jlc2FtcGxlU3RhdGUuYnVmZmVyIGFzIHVuc2lnbmVkIGNoYXIgKiwgbm90IHZvaWQgKiwKCSAgc2luY2Ugd2UgZG8gYXJpdGhtZXRpYyBvbiBpdC4KCjIwMDYtMDEtMDIgMTU6MDU6MDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbmVvbiBwbHVnaW4gdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbmVvbiBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDA1LTEyLTMwIDE1OjQxOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zbW9vdGh3YXZlLy5naXRpZ25vcmU6CgkqIGV4dC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGV4dC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICBtb3ZlIHNtb290aHdhdmUgdG8gZ3N0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHNtb290aHdhdmUgdG8gZ3N0CgoyMDA1LTEyLTI4IDIxOjA3OjE3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBuZW9uaHR0cHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbmVvbmh0dHBzcmMuCgoyMDA1LTEyLTE5IDE1OjE5OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2hhaW4pLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICBHZXQgc29tZXRoaW5nIGZyb20gdGhlIHBlZXIgcGFkIG9uY2Ugd2UndmUgY2hlY2tlZCBpZiB0aGVyZSBpcyBhIHBlZXIgcGFkLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIENvdXBsZSBvZiBmaXhlcwoKMjAwNS0xMi0xOSAxNDo1ODo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAganVzdCBhIHNtYWxsIGZpeC4gSSBoYXZlIHRvIHBheSBtb3JlIGF0dGVudGlvbiB3aGVuIGNvbW1pdGluZyA7LSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGp1c3QgYSBzbWFsbCBmaXguIEkgaGF2ZSB0byBwYXkgbW9yZSBhdHRlbnRpb24gd2hlbiBjb21taXRpbmcgOy0pCgoyMDA1LTEyLTE5IDE0OjQwOjIyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICBkaXZ4ZGVjIGFuZCBkaXZ4ZW5jIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXZ4ZGVjIGFuZCBkaXZ4ZW5jIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTE4IDIxOjA2OjQ3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFNvbWUgbW9yZSByZWZhY3RvcmluZywgaGFuZGxlIGV4b3RpYyBEaXJlY3RGQiByb3cgc3RyaWRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCk6IFNvbWUKCSAgbW9yZSByZWZhY3RvcmluZywgaGFuZGxlIGV4b3RpYyBEaXJlY3RGQiByb3cgc3RyaWRlLgoKMjAwNS0xMi0xOCAxMDo1ODo0NCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgcGl4ZWwtYXNwZWN0LXJhdGlvLgoJICBUaGlzIHNob3VsZCB3b3JrIGJvdGggZm9yIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHNjYWxpbmcgYW5kCgkgIHJldmVyc2UgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIGEgc2NhbGluZyBlbGVtZW50LgoKMjAwNS0xMi0xNyAxNzo0ODozOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOiBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCB2ZXJ0aWNhbCBzeW5jIGFuZAoJICBjb2xvciBiYWxhbmNlIGludGVyZmFjZS4KCjIwMDUtMTItMTYgMjE6NTU6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvbid0IHVzZSBkb2MgY29tbWVudHMgZm9yIG5vbi1kb2NzIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChzb2NrZXRfcmVjZWl2ZV9maWxlX3RvX2J1ZmYpOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5oOgoJICAqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmM6CgkgICogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJICBkb24ndCB1c2UgZG9jIGNvbW1lbnRzIGZvciBub24tZG9jcwoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoKMjAwNS0xMi0xNiAxNDo0Nzo1OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IEFsd2F5cyBwcmVmZXIgdGhlIHByaW1hcnkgbGF5ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpOiBBbHdheXMgcHJlZmVyIHRoZSBwcmltYXJ5IGxheWVyLgoKMjAwNS0xMi0xNiAxMjoyNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgoyMDA1LTEyLTE2IDA5OjU5OjIxICswMDAwICBnY29jYXRyZUBnbWFpbC5jb20gPGdjb2NhdHJlQGdtYWlsLmNvbT4KCgkgIGV4dC93YXZwYWNrLzogV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZQoJICBjYXBzIChmaXhlcyAjMzIyOTczOyBwYXRjaCBieTogZ2NvY2F0cmVAZ21haWwuY29tKS4gQWxzbwoJICByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGdvbmUgaW4gMC4xMC4KCjIwMDUtMTItMTUgMTQ6Mzk6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICBGaXhlZCBzb21lIG1lbS1sZWFrcyBpbiB4dmlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW0tbGVha3MgaW4geHZpZC4KCjIwMDUtMTItMTUgMTA6MzA6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycyB0byBhdWRpb3Jlc2FtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMgdG8gYXVkaW9yZXNhbXBsZS4KCjIwMDUtMTItMTUgMDg6NTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkb2Vzbid0IHVzZSBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvZXNuJ3QgdXNlIGxpYm9pbAoKMjAwNS0xMi0xNCAyMjo0MTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZGRlYyBhbmQgeHZpZGVlbmMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHh2aWRkZWMgYW5kIHh2aWRlZW5jIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTE0IDIwOjU0OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGR0c2RlYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xMiAxMDo0MDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfbG9vcCk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfc3JjX3F1ZXJ5KSwgKGdzdF9tbXNfY3JlYXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX3ZpZGVvX2xpbmspLAoJICAoZ3N0X3N3ZmRlY19zcmNfcXVlcnkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpYi0yLjYgdXNlcnMuCgoyMDA1LTEyLTEyIDA5OjI5OjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciB0aGF0IHdyYXBzIFN3ZmRlY0J1ZmZlcnMuICBGaXggYSBtYXNzaXZlIG1lbWxlYWsgYmVjYXVzZSB0aGUgdmlkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3N3ZmRlY2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3Rfc3dmZGVjX2J1ZmZlcl9mcm9tX3N3ZiksIChnc3Rfc3dmZGVjX3JlbmRlcik6IEFkZCBhIHN1YmNsYXNzCgkgIG9mIEdzdEJ1ZmZlciB0aGF0IHdyYXBzIFN3ZmRlY0J1ZmZlcnMuICBGaXggYSBtYXNzaXZlIG1lbWxlYWsKCSAgYmVjYXVzZSB0aGUgdmlkZW8gYnVmZmVycyBwcmV2aW91c2x5IG5ldmVyIGdvdCBmcmVlZC4KCjIwMDUtMTItMTEgMjM6NTQ6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgSnVzdCByZW1vdmVkIGEgd2VpcmQgcHJpbnRmIDstKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCByZW1vdmVkIGEgd2VpcmQgcHJpbnRmIDstKQoKMjAwNS0xMi0xMSAyMzowOToyMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZGVkIHN1cG9ydCB0byBtbXNoLiBUaGVyZSdzIHN0aWxsIGEgc3Vja3MgbXNnICJFUlJPUjogUGlwZWxpbmUgY2FudCBQUkVST09MLi4uIiB0byBiZSBmaXhlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHN1cG9ydCB0byBtbXNoLiBUaGVyZSdzIHN0aWxsIGEgc3Vja3MgbXNnICJFUlJPUjogUGlwZWxpbmUgY2FudCBQUkVST09MLi4uIiB0byBiZSBmaXhlZC4KCjIwMDUtMTItMDkgMTU6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzCgkgIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIGVycm9yaW5nLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIGUuZy4ganBlZyBzdHJlYW1zIHdpdGggMCBkdXJhdGlvbiBmcmFtZXMgYXMgaGF2aW5nIDAgZnJhbWVyYXRlLgoJICBEZWJ1ZyBmaXhlcy4gU29tZSA2NCBiaXQgdmFyaWFibGUgZml4ZXMKCjIwMDUtMTItMDkgMDQ6MTU6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgIHN3ZmRlYyBQb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN3ZmRlYyBQb3J0ZWQgdG8gMC4xMC4KCjIwMDUtMTItMDcgMTE6NDY6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1lbWxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBNZW1sZWFrIGZpeGVzLgoJICBTZW5kIG91dCBFT1MgZm9yIHZhbGlkIHJlYXNvbnMgKGNvdWxkbid0IHB1bGxfcmFuZ2UoKSBmcm9tIHVwc3RyZWFtCgkgIGZvciBleGFtcGxlKS4KCjIwMDUtMTItMDYgMTk6NTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJKiBleHQveGluZS9nc3R4aW5lLmg6CgkqIGV4dC94aW5lL3hpbmVjYXBzLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJKiBnc3QvYXBldGFnL2FwZWRlbXV4Lmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5jOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmg6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9pdF9kZWZzLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L21wZWcxc3lzL3N5c3RlbXMuYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmg6CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC90dGEvdHRhZGVjLmg6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJKiBzeXMvcWNhbS9kYXJrLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDQ6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDI6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA1IDE4OjExOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuMTAuMCA9PT0KCjIwMDUtMTItMDUgMTg6MDE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDEzOjA0OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOiAoZ3N0X3hpbmVfaW5wdXRfZ2V0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9jaGFpbik6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTM6MDI6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA0IDIyOjQ2OjM0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNS0xMi0wMiAxMTozNDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogRml4IGF1ZGlvcmVzYW1wbGUsIHNlZWsgdG9ydHVyZSwgbmV3IHNlZ21lbnRzLCByZXZlcnNlIG5lZ290aWF0aW9uIGV0Yy4uIHdvcmsgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmM6IChhdWRpb3Jlc2FtcGxlX2J1ZmZlcl9xdWV1ZV9mbHVzaCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5wdXRfZmx1c2gpLAoJICAocmVzYW1wbGVfaW5wdXRfcHVzaHRocm91Z2gpLCAocmVzYW1wbGVfaW5wdXRfZW9zKSwKCSAgKHJlc2FtcGxlX2dldF9vdXRwdXRfc2l6ZV9mb3JfaW5wdXQpLAoJICAocmVzYW1wbGVfZ2V0X2lucHV0X3NpemVfZm9yX291dHB1dCksIChyZXNhbXBsZV9nZXRfb3V0cHV0X3NpemUpLAoJICAocmVzYW1wbGVfZ2V0X291dHB1dF9kYXRhKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOiAocmVzYW1wbGVfc2NhbGVfcmVmKToKCSAgRml4IGF1ZGlvcmVzYW1wbGUsIHNlZWsgdG9ydHVyZSwgbmV3IHNlZ21lbnRzLCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIGV0Yy4uIHdvcmsgZmluZS4KCjIwMDUtMTItMDIgMDk6MzI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nICQoV0FWUEFDS19ESVIpICgjMzIyOTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyAkKFdBVlBBQ0tfRElSKSAoIzMyMjk2MikuCgoyMDA1LTEyLTAxIDE5OjE3OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS43ID09PQoKMjAwNS0xMi0wMSAxOToxMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3JhbmRvbS9MSUNFTlNFOgoJKiBkb2NzL3JhbmRvbS9QT1JURURfMDk6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTExLTI5IDAyOjU1OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgbGlibW0gcG9ydGVkIHRvIDAuOS4gSXQgd29ya3MgZmluZSwgYnV0IHByaW50IHNvbWUgZXJyb3IgbWVzc2FnZXMuIEknbGwgZml4IHRoZW0gc29vbi4gVGVzdGVkIHdpdGggIG1tc3NyYyBsb2NhdGlvbj1tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsaWJtbSBwb3J0ZWQgdG8gMC45LiBJdCB3b3JrcyBmaW5lLCBidXQgcHJpbnQgc29tZSBlcnJvciBtZXNzYWdlcy4gSSdsbCBmaXggdGhlbSBzb29uLiBUZXN0ZWQgd2l0aCAgbW1zc3JjIGxvY2F0aW9uPW1tczovLyAhIGZpbGVzaW5rLgoKMjAwNS0xMS0yOCAyMToyMjozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgZml4IGhlYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlcgoKMjAwNS0xMS0yOCAxNzo0NzoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBmaXggaW5jbHVkZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGluY2x1ZGUKCjIwMDUtMTEtMjggMTU6NDM6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc3JjZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IKCSAgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHRzIGluIDAgY2hhbm5lbHMgd2l0aCBzYW1wbGVyYXRlcyBvZiAwLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIHVwd2FyZCB0cmFuc2l0aW9ucywgdGhlbiBjYWxsIHBhcmVudCBzdGF0ZV9jaGFuZ2UsIHRoZW4gZG8KCSAgZG93bndhcmQgdHJhbnNpdGlvbnMuCgoyMDA1LTExLTI4IDE1OjE5OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZml4IG1ha2VmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbWFrZWZpbGUKCjIwMDUtMTEtMjggMTQ6NTA6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBhbHBoYWJldHMsIHNvIGhhcmQgdG8gbWFzdGVyLiAgU2hvdWxkIGZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWxwaGFiZXRzLCBzbyBoYXJkIHRvIG1hc3Rlci4gIFNob3VsZCBmaXggZGlzdGNoZWNrLgoKMjAwNS0xMS0yNyAxNDozNToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCjIwMDUtMTEtMjUgMTk6NTg6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCjIwMDUtMTEtMjUgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3d2Y2xpbmspLCAoZ3N0X3dhdnBhY2tfZGVjX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2V0dXBfY29udGV4dCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZGVjX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZmluZF9oZWFkZXIpLCAoZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VlayksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgoyMDA1LTExLTIzIDIxOjI3OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjA6MDY6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNiA9PT0KCjIwMDUtMTEtMjMgMTk6NTc6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxODowNToxNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBVc2UgZnJhY3Rpb24gZm9yIGZyYW1lcmF0ZSwgdmFyaW91cyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6IChtYWluKToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdGltZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJwb29sX2NsZWFyKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBVc2UgZnJhY3Rpb24gZm9yIGZyYW1lcmF0ZSwKCSAgdmFyaW91cwoJICBmaXhlcy4KCjIwMDUtMTEtMjMgMTU6MzY6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogVXBkYXRlcyBmb3IgZnJhY3Rpb25hbCBmcmFtZXJhdGVzIGFuZCBYT3ZlcmxheSBpbnRlcmZhY2UgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X3NkbHZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgVXBkYXRlcyBmb3IgZnJhY3Rpb25hbCBmcmFtZXJhdGVzIGFuZCBYT3ZlcmxheSBpbnRlcmZhY2UgY2hhbmdlcwoKMjAwNS0xMS0yMyAxMTo1Nzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCjIwMDUtMTEtMjMgMDA6Mjg6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogRml4IGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgIEZpeCBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgoyMDA1LTExLTIyIDE1OjA5OjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBNdXNlcGFja2RlYyBwb3J0ZWQgdG8gMC45LiBUaGVyZSBpcyBzdGlsbCBhIHNtYWxsIHByb2JsZW0gdG8gYmUgc29sdmVkLCBhZnRlciB0aGUgZW5kIG9mIGZpbGUsIHRoZSBwaXBlbGluZSBkb2Vucyd0IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11c2VwYWNrZGVjIHBvcnRlZCB0byAwLjkuIFRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcHJvYmxlbSB0byBiZSBzb2x2ZWQsIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSwgdGhlIHBpcGVsaW5lIGRvZW5zJ3Qgc3RvcC4KCjIwMDUtMTEtMjIgMTE6NTc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKQoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jIChzcGVlZF9zaW5rX2V2ZW50KQoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYyAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMSAxODo0NTo1NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCB0YWtlIFNUUkVBTV9MT0NLIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfZXZlbnQpOgoJICBEb24ndCB0YWtlIFNUUkVBTV9MT0NLIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IG1vcmUuCgoyMDA1LTExLTIxIDE4OjA5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbG9vcCksCgkgIChnc3RfZmxhY2RlY19zcmNfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19zaW5rX2V2ZW50X2hhbmRsZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2Vlayk6CgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZwoJICBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQ0sKCSAgdG8gR1NUX1BBRF9TVFJFQU1fTE9DSy4gRG9uJ3QgbGVhayByZWZlcmVuY2VzIGluIGZseGRlYyBldmVudAoJICBmdW5jdGlvbnMuCgoyMDA1LTExLTIxIDE3OjM3OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCk6CgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCjIwMDUtMTEtMjEgMTc6MTQ6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBTZWdtZW50IHVwZGF0ZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2Jhc2VfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcHJvdmlkZV9jbG9jayksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3NldF9jbG9jayksIChnc3RfYmFzZV9hdWRpb19zaW5rX3JlbmRlciksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBTZWdtZW50IHVwZGF0ZSBmaXguCgoyMDA1LTExLTIxIDE2OjQ1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIERYNTAsIERJVlggYW5kIERJVjMgZm91cmNjcyAocGF0Y2ggYnkKCSAgakBib290bGFiLm9yZywgIzMyMTkwMykuCgoyMDA1LTExLTIxIDE2OjM3OjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICAqLio6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogKi5oOgoJICAqICouYzogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoKMjAwNS0xMS0yMSAxNDozOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2Fwcyk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfdHlwZV9nZXQpLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfZHJlZiksIChxdGRlbXV4X2R1bXBfc3RzZCksCgkgIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDAzOjIxOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgTm93IGl0IHdvcmtzIGluIHB1c2gtbW9kZS4gVGVzdGVkIHdpdGggZ25vbWV2ZnNzcmMgbG9jYXRpb249aHR0cDovLy4uICAhIHRyZW1vciAhIGFsc2FzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGl0IHdvcmtzIGluIHB1c2gtbW9kZS4gVGVzdGVkIHdpdGggZ25vbWV2ZnNzcmMgbG9jYXRpb249aHR0cDovLy4uICAhIHRyZW1vciAhIGFsc2FzaW5rLgoJICBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OgoJICAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgkgIDItIHNlZWsgaXMgZm9yY2VkIHRvIGRpc2FibGVkIGluIHB1bGwtbW9kZQoKMjAwNS0xMS0xNiAxNzoyNjoxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbWFrZSBpdCB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWtlIGl0IHdvcmsKCjIwMDUtMTEtMTUgMTY6NTA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFNldCBwcm9wZXIgY2FwcyBvbiBzb3VyY2UgcGFkICgjMzIwNTMyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KSwgKGdzdF9mYWFjX2luaXQpLAoJICAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwgKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKSwKCSAgKGdzdF9mYWFjX2NoYWluKToKCSAgU2V0IHByb3BlciBjYXBzIG9uIHNvdXJjZSBwYWQgKCMzMjA1MzIpLgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3IgY29tbWVudCBibG9jay4KCjIwMDUtMTEtMTUgMDg6Mzg6MTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJICBzZXQgcmFuayB0byBzZWNvbmRhcnkgYXMgeW91IG5ldmVyIHdhbnQgdGhpcyB0byBiZSB1c2VkIGluc3RlYWQgb2Ygbm9ybWFsIG9nZ2RlbXV4IGV0Yy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCByYW5rIHRvIHNlY29uZGFyeSBhcyB5b3UgbmV2ZXIgd2FudCB0aGlzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBub3JtYWwgb2dnZGVtdXggZXRjLgoKMjAwNS0xMS0xNCAxNzoxMTo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiAtbm8tdW5kZWZpbmVkIGZvciBiZXR0ZXIgZGVidWdnaW5nLCBhbGxvd3MgZGxsIGJ1aWxkcyBvbiB3aW5kb3dzLiBGaXhlcyAjMzE2MDc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IC1uby11bmRlZmluZWQgZm9yIGJldHRlcgoJICBkZWJ1Z2dpbmcsIGFsbG93cyBkbGwgYnVpbGRzIG9uIHdpbmRvd3MuIEZpeGVzICMzMTYwNzYuCgoyMDA1LTExLTE0IDAyOjEzOjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoKMjAwNS0xMS0xMSAxOTozOToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS41ID09PQoKMjAwNS0xMS0xMSAxOTozODoxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuOS41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjUKCjIwMDUtMTEtMTEgMTg6NTQ6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBGaXggY29tcGlsZSBvbiBzeXN0ZW1zIHdpdGggYnJva2VuIGZhYWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBjb21waWxlIG9uIHN5c3RlbXMgd2l0aCBicm9rZW4gZmFhZCBoZWFkZXJzLgoKMjAwNS0xMS0xMSAxODoxNzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBDYWxsIGZ1bmN0aW9ucyB3aXRoIHRoZSBjb3JyZWN0IEFQSS4gVW5mb3J0dW5hdGVseSwgdW5sZXNzIHlvdXIgZGlzdHJpYnV0aW9uIHBhdGNoZXMgdXBzdHJlYW0sIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBDYWxsIGZ1bmN0aW9ucyB3aXRoIHRoZSBjb3JyZWN0IEFQSS4gVW5mb3J0dW5hdGVseSwgdW5sZXNzIHlvdXIKCSAgZGlzdHJpYnV0aW9uIHBhdGNoZXMgdXBzdHJlYW0sIHRoZSBwdWJsaWMgaGVhZGVyIGZpbGUgZm9yIEZBQUQKCSAgZG9lc24ndCBhY3R1YWxseSBkZWNsYXJlIHRoZSBBUEkgYWNjdXJhdGVseS4gU28sIHNvbWUgbmFzdGluZXNzCgkgIGVuc3Vlcy4uLgoKMjAwNS0xMS0xMCAxMjozNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgoyMDA1LTExLTA5IDAxOjA0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3Igbm9ybWFsIGNvbW1lbnRzLiBGaXggZ3RrLWRvYyBmb3JtYXR0aW5nIHdoZXJlIHJlcXVpcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFya2luL3dhdmVsZXQuYzoKCSAgKiBleHQvdGFya2luL3dhdmVsZXQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5oOgoJICAqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkgICogc3lzL3FjYW0vZGFyay5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBub3JtYWwgY29tbWVudHMuIEZpeAoJICBndGstZG9jIGZvcm1hdHRpbmcgd2hlcmUgcmVxdWlyZWQuCgoyMDA1LTExLTA4IDE0OjIwOjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgcmVtb3ZlIHdyb25nIG1wZWdzdHJlYW0gYWRkaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB3cm9uZyBtcGVnc3RyZWFtIGFkZGl0aW9uCgoyMDA1LTExLTA4IDE0OjE3OjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgdHJlbW9yIHBsdWdpbnMgdG8gbmVlZGVkIGJ1aWxkc2NyaXB0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRyZW1vciBwbHVnaW5zIHRvIG5lZWRlZCBidWlsZHNjcmlwdHMKCjIwMDUtMTEtMDggMTM6NTU6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgUG9ydGVkIHRvIDAuOS4gU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDogMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcyAyLSBzZWcgZmF1bHQgd2hlbiBlb3MgMy0gc2VlayBpcyBub3cgZGlzYWJsZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCB0byAwLjkuIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6CgkgIDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCSAgMi0gc2VnIGZhdWx0IHdoZW4gZW9zCgkgIDMtIHNlZWsgaXMgbm93IGRpc2FibGVkCgoyMDA1LTExLTA2IDIyOjI4OjMzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBDbGVhbnVwIG5vbiBleGlzdGluZyBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogQ2xlYW51cCBub24gZXhpc3RpbmcKCSAgZXhhbXBsZXMuCgoyMDA1LTExLTA2IDIyOjIzOjA3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDogQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA1LTExLTA2IDIyOjE5OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBNYWtlIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBNYWtlIGJ1aWxkYm90IGhhcHB5LgoKMjAwNS0xMS0wNiAyMjoxNjoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogZXhhbXBsZXMgaW4gZGlzdCBzdWJkaXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIE1ha2VmaWxlLmFtOiBleGFtcGxlcyBpbiBkaXN0IHN1YmRpcnMuCgkgICogY29uZmlndXJlLmFjOiBlbmFibGUgcGFyYW1ldGVyIGZvciBidWlsZGluZwoJICBleGFtcGxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogVXBkYXRlcy4KCjIwMDUtMTEtMDYgMjE6NTU6MDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRW5hYmxlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogTWFrZWZpbGUuYW06CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46IEVuYWJsZSBkb2N1bWVudGF0aW9uLgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IChteWNsb2NrKSwgKGR5bmFtaWNfbGluayksCgkgIChzaXplX2NoYW5nZWQpLCAoc2V0dXBfZHluYW1pY19saW5rKSwgKG1haW4pOiBBZGQgYW4gZXhhbXBsZQoJICBhcHBsaWNhdGlvbiBmb3IgRGlyZWN0RkIuCgoyMDA1LTExLTA1IDIzOjM2OjIwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoJICAqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOiAoZ2V0X21lX291dCksIChtYWluKToKCSAgSGVyZSBpcyBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIHRoYXQgcnVucyB2aWRlb3Rlc3RzcmMgZm9yIDIwCgkgIHNlY29uZHMuIEl0J3MgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTW9yZSBmaXhlcywgY2FsY3VsYXRlIG5ldyBzaXplIG9mIHRoZSBidWZmZXIgd2hlbiByZW5lZ290aWF0aW5nLgoJICBUaGlzIGNvbXBsZXRlbHkgYnJlYWtzIGZmbXBlZ2NvbG9yc3BhY2UgYnV0IGkgbmVlZCB0byBkaXNjdXNzCgkgIHRoYXQgd2l0aCBXaW0gb24gbW9uZGF5LiBBZGQgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMTEtMDUgMTk6NTU6MTIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBNYWtlIGFjY2VsZXJhdGlvbiBkZXRlY3Rpb24gd29yaywgYmV0dGVyLCBhZGQgc2FmZXR5IGNoZWNrcyBhbmQgQVJHQiBzdXBwb3J0IGZvciBjYXJkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKTogTWFrZSBhY2NlbGVyYXRpb24gZGV0ZWN0aW9uIHdvcmssCgkgIGJldHRlciwgYWRkIHNhZmV0eSBjaGVja3MgYW5kIEFSR0Igc3VwcG9ydCBmb3IgY2FyZHMgdGhhdAoJICBzdXBwb3J0IGl0LgoKMjAwNS0xMS0wNCAxODoyODo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLio6IE5vdyBkb2VzIGNsaXBwaW5nIHdoZW4gc3VyZmFjZSBpcyB0b28gc21hbGwsIGhhbmRsZXMgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCBhcmUgbm90IGNhbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IE5vdyBkb2VzIGNsaXBwaW5nIHdoZW4gc3VyZmFjZQoJICBpcyB0b28gc21hbGwsIGhhbmRsZXMgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCBhcmUgbm90IGNhbGxpbmcKCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIsIGZpeGVzIGEgbG90IG9mIGJ1Z3MuCgoyMDA1LTExLTAzIDIyOjM2OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogUHJlcGFyZSBmb3IgbGlib2lsIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogUHJlcGFyZSBmb3IgbGlib2lsIHVzYWdlLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6ICBQcmVwYXJlIGZvciBsaWJvaWwsIGhhbmRsZQoJICByZW5kZXJpbmcgaW4gZXh0ZXJuYWwgc3VyZmFjZSBjb3JyZWN0bHkuIFdpbGwgY29tbWl0IGEgbmVhdAoJICBleGFtcGxlIHNvb24uCgoyMDA1LTExLTAzIDE2OjU5OjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEFkZCBzdXBwb3J0IHRvIGV4aXQgd2hlbiAnRXNjJyBrZXkgaXMgcHJlc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzdXBwb3J0IHRvIGV4aXQgd2hlbiAnRXNjJyBrZXkgaXMgcHJlc3NlZC4KCjIwMDUtMTEtMDIgMTc6MTI6MzEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlcyBEaXJlY3RGQiAwLjkuMjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IFJlcXVpcmVzIERpcmVjdEZCIDAuOS4yNAoKMjAwNS0xMS0wMiAxMjo1MzowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBhZGQgZGlyZWN0ZmIgdG8gZGlzdGRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRpcmVjdGZiIHRvIGRpc3RkaXIKCjIwMDUtMTEtMDIgMTI6NDM6MDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQ29tcGxldGUgcmV3cml0ZS9wb3J0IG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X25hbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9jYXBzX2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2VudGVyX3JlY3QpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVycG9vbF9jbGVhciksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZic3VyZmFjZV9pbml0KSwgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2dldF90eXBlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmg6IENvbXBsZXRlIHJld3JpdGUvcG9ydCBvZgoJICBEaXJlY3RGQiB2aWRlbyBzaW5rIHRvIDAuOS4gSGFuZGxlcyByZXZlcnNlIG5lZ290aWF0aW9uLAoJICBoYXJkd2FyZQoJICBzY2FsaW5nLCBuYXZpZ2F0aW9uLCBidWZmZXIgYWxsb2NhdGlvbiBmcm9tIHZpZGVvIG1lbW9yeSBldGMuLi4KCjIwMDUtMTAtMzEgMjA6NTc6NDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBmdWxsLXNjcmVlbiB0byBmdWxsc2NyZWVuLCB1c2luZyBTRExfU1dTVVJGQUNFIGluc3RlYWQgb2YgU0RMX0hXU1VSRkFDRSB3aGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHByb3BlcnR5IGZ1bGwtc2NyZWVuIHRvIGZ1bGxzY3JlZW4sIHVzaW5nIFNETF9TV1NVUkZBQ0UgaW5zdGVhZCBvZiBTRExfSFdTVVJGQUNFIHdoZW4gaW4gZnVsbCBzY3JlZW4gbW9kZS4KCjIwMDUtMTAtMzEgMTg6MDc6MzAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBBZGRlZCBhIHByb3BlcnR5IHRoYXQgYWxsb3dzIGZ1bGwtc2NyZWVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBwcm9wZXJ0eSB0aGF0IGFsbG93cyBmdWxsLXNjcmVlbi4KCjIwMDUtMTAtMjggMTU6MTE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBGaXggSTQyMCBvdXRwdXQgb24gc29tZSBtYWNoaW5lcyAobm90IHZlcnkgbmljZSwgYnV0IHNob3VsZCB3b3JrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF9zZGxfZnJvbV9mb3VyY2MpLCAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgRml4IEk0MjAgb3V0cHV0IG9uIHNvbWUgbWFjaGluZXMgKG5vdCB2ZXJ5IG5pY2UsIGJ1dCBzaG91bGQgd29yaykuCgkgIEFkZCBhbiAnc2RsdmlkZW9zaW5rJyBkZWJ1ZyBjYXRlZ29yeS4gRGlzYWJsZSBmb3JtYXRzIHRoYXQgZG8KCSAgbm90IHdvcmsuIEZpeCBzb21lIHZhcmFyZyBmdW5jdGlvbiBpc3N1ZXMuCgoyMDA1LTEwLTI3IDIwOjE2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogRml4IFNETCB2aWRlb3NpbmsgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19maW5hbGl6ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF90aW1lcyksIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19pbml0KSwgKGdzdF9zZGx2aWRlb3NpbmtfbG9jayksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpLCAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IFNETCB2aWRlb3NpbmsgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoKMjAwNS0xMC0yNyAxOTozNjoxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBUcnlpbmcgdG8gZml4IHZpZGVvcyBvdXQgb2Ygc3luYyAobm90IGZpeGVkIHlldCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRyeWluZyB0byBmaXggdmlkZW9zIG91dCBvZiBzeW5jIChub3QgZml4ZWQgeWV0KQoKMjAwNS0xMC0yNyAxNjoxNjowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZWQgdW51c2VkIGxhbmd1YWdlIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIHVudXNlZCBsYW5ndWFnZSBzdHVmZgoKMjAwNS0xMC0yNyAxMjo0OTo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCBkbyBwbyB1bnRpbCBzb21ldGhpbmcgd2FudHMgdG8gYmUgdHJhbnNsYXRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgZG8gcG8gdW50aWwgc29tZXRoaW5nIHdhbnRzIHRvIGJlIHRyYW5zbGF0ZWQKCjIwMDUtMTAtMjcgMTE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6IFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgoyMDA1LTEwLTI3IDExOjI1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZSBvbiB0aGUgYnVzIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyBpbnN0ZWFkLgoKMjAwNS0xMC0yNiAxNTo0NToxMSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIEZpeGluZyBzdHVmZiBhcyB3aW5nbyBwb2ludGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGluZyBzdHVmZiBhcyB3aW5nbyBwb2ludGVkIG91dC4KCjIwMDUtMTAtMjYgMTM6NDA6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3RjaGVjawoKMjAwNS0xMC0yNiAxMzowMToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIGRvbid0IHB1dCBjcmFwIGluIHVzZXItdmlzaWJsZSBzdHJpbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBwdXQgY3JhcCBpbiB1c2VyLXZpc2libGUgc3RyaW5ncwoKMjAwNS0xMC0yNSAxNjoxMjowMyArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIE92ZXItd3JpdGluZyBXaW0ncyBnc20gcGx1Z2lucyAoY3VycmVudGx5IG5vdCB3b3JraW5nKSB3aXRoIHRoYXQgZnJvbSB0aGUgZmFyc2lnaHQgcmVwby4gQWxzbyBtYWRlIHN1cmUgdGhhdCB0aGV5IHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT3Zlci13cml0aW5nIFdpbSdzIGdzbSBwbHVnaW5zIChjdXJyZW50bHkgbm90IHdvcmtpbmcpIHdpdGggdGhhdCBmcm9tIHRoZSBmYXJzaWdodCByZXBvLiBBbHNvIG1hZGUgc3VyZSB0aGF0IHRoZXkgd29yayB3aXRoIHRoZSBSVFAgKGRlKXBheWxvYWRlci4KCjIwMDUtMTAtMjUgMTM6MzE6MDkgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBGaXhlZCBldmVudCBoYW5kbGluZyBpbiBnc21lbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBldmVudCBoYW5kbGluZyBpbiBnc21lbmMuCgoyMDA1LTEwLTI0IDEzOjAyOjMyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoKMjAwNS0xMC0yMyAyMzowNzowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS40ID09PQoKMjAwNS0xMC0yMyAyMjo0Njo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNAoKMjAwNS0xMC0yMyAxNDozODowMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IFNUT1BQRUQtPkZBSUxFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2xvb3ApOiBTVE9QUEVELT5GQUlMRUQuCgoyMDA1LTEwLTIxIDE2OjExOjUzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCB1cGRhdGVzCgoyMDA1LTEwLTIwIDE1OjA4OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBEbyBzb21lIHRpbWVzdGFtcCBzbW9vdGhpbmcgKG1hdHJvc2thZGVtdXggYXBwYXJlbnRseSBzZW5kcyBtdWx0aXBsZSBidWZmZXJzIGluIGEgcm93IHdpdGggdGhlIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2Jhc2VfaW5pdCksIChnc3RfZmFhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfc3JjZ2V0Y2FwcyksIChnc3RfZmFhZF9ldmVudCksCgkgIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgRG8gc29tZSB0aW1lc3RhbXAgc21vb3RoaW5nIChtYXRyb3NrYWRlbXV4IGFwcGFyZW50bHkgc2VuZHMKCSAgbXVsdGlwbGUgYnVmZmVycyBpbiBhIHJvdyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCk7IGZpeAoJICBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzOyBmaXggY2hhbmdlIHN0YXRlIGZ1bmN0aW9uOyB1c2UKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHBhZCBmdW5jdGlvbnMuCgoyMDA1LTEwLTE5IDE1OjU4OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9nZXRfcXVlcnlfdHlwZXMpLCAoc3BlZWRfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX2dldF9xdWVyeV90eXBlcyksIChnc3RfdHRhX3BhcnNlX3F1ZXJ5KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDEyOjQxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBbGwgdGhlIGNvb2wga2lkcyB1c2UgR1NUX0RPQ0JPT0tfQ0hFQ0sgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsbCB0aGUgY29vbCBraWRzIHVzZSBHU1RfRE9DQk9PS19DSEVDSyBub3cuCgoyMDA1LTEwLTE4IDA4OjM5OjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9zcGVlZC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHNwZWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHNwZWVkLgoKMjAwNS0xMC0xNyAyMDo0ODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBGaXhlZCBTcGVlZCAtIFJlY292ZXJlZCBmZWF0dXJlZCBtaXNzZWQgc2luY2UgdmVyc2lvbiAxLjM3LCBhbmQgY2hhbmdlZCBvdGhlciBtaW5vciB0aGluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBTcGVlZCAtIFJlY292ZXJlZCBmZWF0dXJlZCBtaXNzZWQgc2luY2UgdmVyc2lvbiAxLjM3LCBhbmQgY2hhbmdlZCBvdGhlcgoJICBtaW5vciB0aGluZ3MuCgoyMDA1LTEwLTE2IDE3OjA4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggZ2xpYiBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBnbGliIGNoZWNrCgoyMDA1LTEwLTE2IDEzOjU0OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICByZXN0cnVjdHVyZSBjb25maWd1cmUuYWMsIHVzZSBjb3JyZWN0IGxpYnRvb2wgTERGTEFHUywgZml4IHVwIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlc3RydWN0dXJlIGNvbmZpZ3VyZS5hYywgdXNlIGNvcnJlY3QgbGlidG9vbCBMREZMQUdTLCBmaXggdXAgZGVmaW5lcwoKMjAwNS0xMC0xMyAxNTozMToyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXgvOiBhbmQgbW9yZSB0eXBvcyBmaXhlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgKiBleHQvdGFya2luL3Rhcmtpbi5jOiAodGFya2luX2FuYWx5c2lzX2ZyYW1laW4pLAoJICAodGFya2luX3N5bnRoZXNpc19wYWNrZXRpbik6CgkgIGFuZCBtb3JlIHR5cG9zIGZpeGVkCgoyMDA1LTEwLTEzIDExOjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBHc3QwOS1pemUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZTogdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCksIG1vdmUgZXZlbnQgaGFuZGxpbmcgZnJvbSBjaGFpbiBmdW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCksCgkgIChnc3RfZmFhY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZhYWNfc3JjX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbiksIChnc3RfZmFhY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZhYWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9mYWFjX2NoYW5nZV9zdGF0ZSk6CgkgIEdzdDA5LWl6ZSBjb2RlIGEgbGl0dGxlIGJpdCBtb3JlOiB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSwKCSAgbW92ZSBldmVudCBoYW5kbGluZyBmcm9tIGNoYWluIGZ1bmN0aW9uIGludG8gYW4gZXZlbnQgZnVuY3Rpb24sCgkgIGFkZCBzb21lIGxvY2tzIGhlcmUgYW5kIHRoZXJlLCBkbyBzb21lIGNsZWFudXBzOyBkaXNhYmxlIDMyLWJpdAoJICBpbnRlZ2VyIGFuZCBmbG9hdCBpbnB1dCBmb3JtYXRzIHVudGlsIHdlJ3JlIHN1cmUgdGhhdCB0aG9zZQoJICBhY3R1YWxseSB3b3JrIChjb3VsZG4ndCBwbGF5IGJhY2sgdGhlIHByb2R1Y2VkIGZpbGVzIHdpdGgKCSAgYW55dGhpbmcpLgoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDEzOjU0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggZGVwdGgvd2lkdGggaGFuZGxpbmcgZm9yIGZsb2F0IGF1ZGlvICgjMzE4NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKToKCSAgRml4IGRlcHRoL3dpZHRoIGhhbmRsaW5nIGZvciBmbG9hdCBhdWRpbyAoIzMxODY1OSkuCgoyMDA1LTEwLTEyIDEyOjUzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBSZWZjb3VudCBmaXhlcyAoIzMxODY1OSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mYWFjX3NyY19zZXRjYXBzKSwgKGdzdF9mYWFjX2NoYWluKToKCSAgUmVmY291bnQgZml4ZXMgKCMzMTg2NTkpCgoyMDA1LTEwLTEyIDA5OjE1OjQwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogbGlidmlzdWFsIGFuZCBzbmFwc2hvdCBhcmUgbm90IGhlcmUgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IGxpYnZpc3VhbCBhbmQgc25hcHNob3QgYXJlIG5vdCBoZXJlIGFueW1vcmUuCgkgIE1ha2VzCgkgIGF1dG9tYWtlLTEuNyBoYXBweSBhZ2Fpbi4KCjIwMDUtMTAtMTEgMjM6MDM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9ldmVudCk6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZQoKMjAwNS0xMC0xMSAxNjozNDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0wNyAxNToyNDoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QKCSAgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCjIwMDUtMTAtMDQgMTU6NDk6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYyBmaWxlCgoyMDA1LTEwLTAzIDE4OjAwOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjMgPT09CgoyMDA1LTEwLTAzIDE3OjUwOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzZSB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNlIHRpbWUKCjIwMDUtMDktMjggMTM6Mzg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgIE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoKMjAwNS0wOS0yNiAxNzo1Nzo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkCgoyMDA1LTA5LTI2IDE1OjE5OjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICBzb21lIGRpc3RpbmcgYW5kIGJ1aWxkIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzb21lIGRpc3RpbmcgYW5kIGJ1aWxkIGZpeGVzCgoyMDA1LTA5LTIzIDE3OjA1OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgR3NtZGVjIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBnc21kZWMgISBhbHNhc2luayBhbmQgb3Nzc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzbWRlYyBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgZ3NtZGVjICEgYWxzYXNpbmsgYW5kIG9zc3NpbmsuCgoyMDA1LTA5LTIzIDE2OjQwOjI3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogQ29udmVydCB0byB1c2luZyBnc3QgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IENvbnZlcnQgdG8gdXNpbmcgZ3N0IGRlYnVnZ2luZwoKMjAwNS0wOS0yMyAwNDoyMjo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCjIwMDUtMDktMjIgMTE6MTc6MjYgKzAwMDAgIEFyd2VkIHYuIE1lcmthdHogPHYubWVya2F0ekBnbXgubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICB0dGEgcGx1Z2luIHBvcnRlZCB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHR0YSBwbHVnaW4gcG9ydGVkIHRvIDAuOQoKMjAwNS0wOS0yMSAyMDozMzo0MiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIFNldHRpbmcgY2FwcyBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldHRpbmcgY2FwcyBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDUtMDktMjAgMTk6MjU6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgZml4IE1ha2VmaWxlLmFtICB1Z2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBNYWtlZmlsZS5hbSAgdWdoCgoyMDA1LTA5LTIwIDE4OjQ5OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICBGaXhlZCBjb25maWd1cmUuYWMgYW5kIGV4dC9zZGwvTWFrZWZpbGUuYW0gZm9yIHNkbCBwb3J0IHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGNvbmZpZ3VyZS5hYyBhbmQgZXh0L3NkbC9NYWtlZmlsZS5hbSBmb3Igc2RsIHBvcnQgdG8gMC45LgoKMjAwNS0wOS0xOSAyMTo1MTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgoyMDA1LTA5LTE5IDIxOjQ3OjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgoyMDA1LTA5LTE5IDE2OjQ0OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCjIwMDUtMDktMDkgMTc6NTM6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY2hlY2svOiBBZGQgZXh0cmEgdGVzdHMgZm9yIGJhc2V0cmFuc2Zvcm0gYmFzZWQgY29tcG9uZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogY2hlY2svcGlwZWxpbmVzL3NpbXBsZV9sYXVuY2hfbGluZXMuYzogKHNldHVwX3BpcGVsaW5lKSwKCSAgKHJ1bl9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCksIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgQWRkIGV4dHJhIHRlc3RzIGZvciBiYXNldHJhbnNmb3JtIGJhc2VkIGNvbXBvbmVudHMuCgkgIENvbW1lbnQgb3V0IHRoZSB0ZXN0X2VsZW1lbnRfbmVnb3RpYXRpb24gdGVzdCB1bnRpbCB3ZSBkZWNpZGUKCSAgaWYgaXQncyB0ZXN0aW5nIGNvcnJlY3QgYmVoYXZpb3VyLgoJICAqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLmM6IChnc3RfdmlzdWFsX2luaXQpLCAoZ2V0X2J1ZmZlciksCgkgIChnc3RfdmlzdWFsX2NoYWluKSwgKGdzdF92aXN1YWxfY2hhbmdlX3N0YXRlKToKCSAgU2xpZ2h0bHkgbW9yZSBjb3JyZWN0IGJ1dCBzdGlsbCBib2d1cyB0aW1lc3RhbXBpbmcuCgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgIChnc3RfZmZtcGVnY3NwX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb3NjYWxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvc2NhbGVfcHJlcGFyZV9zaXplKSwgKGdzdF92aWRlb3NjYWxlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb3NjYWxlX3ByZXBhcmVfaW1hZ2UpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpLAoJICAodm9sdW1lX3RyYW5zZm9ybV9pcCk6CgkgIEJhc2V0cmFuc2Zvcm0gdXBkYXRlcy4gRW5hYmxlIHBhc3N0aHJvdWdoIG1vZGVzLgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZV9idWZmZXJfaW5pdCksCgkgIChnc3RfeGltYWdlc2lua19yZW5lZ290aWF0ZV9zaXplKSwgKGdzdF94aW1hZ2VzaW5rX3hjb250ZXh0X2dldCksCgkgIChnc3RfeGltYWdlc2lua19zZXRjYXBzKSwgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE5lZ290aWF0aW9uIGZpeCB0aGF0IGFsbG93cyB0aGUgd2luZG93IHRvIHJldHVybiB0byB0aGUgb3JpZ2luYWwKCSAgc2l6ZSBhbmQgcmVuZWdvdGlhdGUgcGFzc3Rocm91Z2ggdXBzdHJlYW0uIEV4dHJhIGRlYnVnIG91dHB1dC4KCjIwMDUtMDktMDggMTU6NTY6MzggKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgUG9ydGVkIHNwZWVkIFBsdWdpbiB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgc3BlZWQgUGx1Z2luIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDYgMTQ6MDY6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjEgPT09CgoyMDA1LTA5LTA2IDE0OjA1OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIE5FV1M6CgkqIFJFQURNRToKCSogUkVMRUFTRToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLnNwZWMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjEKCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDktMDUgMTU6MTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgY2xlYW5pbmcgdXAgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbmluZyB1cCBiYWQKCjIwMDUtMDktMDUgMTM6NDk6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGRvY3MvcmFuZG9tL0NoYW5nZUxvZy0wLjg6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgY3JlYXRlZCBnc3QtcGx1Z2lucy1iYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNyZWF0ZWQgZ3N0LXBsdWdpbnMtYmFkCgo9PT0gcmVsZWFzZSAwLjkuMiA9PT0KCjIwMDUtMDktMDQgMTA6Mzg6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hazoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0Y2hlY2sKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOgoJICBmaXggd3JvbmcgZG9jc3RyaW5nCgoyMDA1LTA5LTAyIDIwOjIxOjE3ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgUG9ydGVkIEdTTSBFbmNvZGVyIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCBHU00gRW5jb2RlciB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTAyIDE1OjQ0OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDIgMTU6NDM6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDEgMTk6NTM6MTIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogUE9SVEVEXzA5OgoJICB1cGRhdGUgUE9SVEVEXzA5IGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBQT1JURURfMDkgZmlsZQoK